In [1]:
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd

In [44]:
import _pickle

In [13]:
# import data
results = pd.read_csv('results_0305.csv')

In [45]:
with open('saliency_data/true_class_saliency_skipfc2_temp3.pkl', 'rb') as f:
    saliencies = _pickle.load(f)

In [15]:
results = results.dropna()

In [70]:
namelist = ['harmon', 'radcliffe', 'hines', 'butler', 'gomez', 'hathaway', 'cage', 'vartan', 'damon', 'aniston']

In [82]:
dic = {}
for name in namelist:
    subdict = {}
    for i in range(15):
        subdict[i] = []
    dic[name]=subdict

In [83]:
# piling data into a dictionary 
for index, row in results.iterrows():
    try:
        dic[row['Last Name'].lower()][int(row['Image #'])].append((np.array([int(row['Top (x0)']),\
                                                                            int(row['Left (y0)']),\
                                                                       int(row['Height']), int(row['Width'])]),\
                                                                  row['Label']))
    except:
        continue

In [111]:
results


Out[111]:
First Name Last Name Assignment Image # Worker ID Top (x0) Left (y0) Height Width Label
0 Angie Harmon 3ZXV7Q5FJBCKYNQ04AHQC9X0Q5OCFT 1 A03922113RU44GENR8ATX 153.0 28.0 52.0 33.0 dimple
1 Anne Hathaway 3D1UCPY6GGXN68KU330J9ECKXOY83A 1 A03922113RU44GENR8ATX 151.0 41.0 73.0 121.0 lips
2 Anne Hathaway 3ZTE0JGGCEGE403T3D0GZ36EI6FCOF 2 A03922113RU44GENR8ATX 155.0 69.0 39.0 103.0 lips
3 Cheryl Hines 3JTPR5MTZS0AFO9ZQBLFEGJV6KJ5KG 0 A03922113RU44GENR8ATX 180.0 54.0 47.0 132.0 lips
4 Cheryl Hines 3B286OTISE5CAAFY3MCKLCZ4J9KAJS 0 A03922113RU44GENR8ATX 177.0 70.0 50.0 98.0 lips
5 Anne Hathaway 3SBNLSTU6UT08WNE5I68Z7V0M7WDZD 1 A15NNYXDLCI2SR 124.0 16.0 71.0 60.0 laugh lines
6 Michael Vartan 3NFWQRSHVE2XFZ656WD920IFNTOFG5 4 A15NNYXDLCI2SR 72.0 53.0 30.0 123.0 eyes
7 Nicolas Cage 3AJA9FLWSCMBBQC0WKDCNCVV26GFIX 1 A15NNYXDLCI2SR 130.0 43.0 59.0 46.0 laugh lines
8 Nicolas Cage 3SBX2M1TKDBEU83UPBM25APQ4KJ4QK 0 A1PS9W2XS67YHE 64.0 28.0 71.0 175.0 eyes
9 Nicolas Cage 3SBX2M1TKDBEU83UPBM25APQ4KJ4QK 0 A1PS9W2XS67YHE 64.0 28.0 71.0 175.0 eyes
10 Anne Hathaway 3DQYSJDTYLZGV71Z0VT784XAFMXEXF 4 A1XD2G6NO4RPA1 8.0 62.0 44.0 98.0 forhead
11 Daniel Radcliffe 3GL25Y6843IE7VTCHTHQLC2JOOOMXC 2 A1XD2G6NO4RPA1 82.0 34.0 32.0 148.0 eyes
12 Anne Hathaway 3BCRDCM0ODI6YS9DVUVK6MXV1B26KW 3 A24JQ4DOIPM3IG 156.0 54.0 52.0 140.0 laugh lines
13 Anne Hathaway 3ECKRY5B1QKHG730XW7JQ4BDEBAIZO 1 A24JQ4DOIPM3IG 149.0 41.0 72.0 127.0 lips
14 Anne Hathaway 363A7XIFV4AL15FSKBQ3O0AYDSZAVC 2 A24JQ4DOIPM3IG 150.0 55.0 49.0 131.0 lips
15 Cheryl Hines 3Q9SPIIRWJAYGUFXALVZA2TCK11AWM 0 A24JQ4DOIPM3IG 172.0 27.0 55.0 168.0 laugh lines
16 Cheryl Hines 3NZ1E5QA6ZP9ML55KY8MFD05IMI5BV 1 A24JQ4DOIPM3IG 140.0 42.0 76.0 151.0 laugh lines
17 Cheryl Hines 391FPZIE4CA0YDY6LRQQ90VJCGGHU5 4 A24JQ4DOIPM3IG 51.0 37.0 65.0 146.0 eye
18 Michael Vartan 32FESTC2NHE9H5NQZZCPY9Y3ZOBCUR 2 A24JQ4DOIPM3IG 156.0 67.0 26.0 106.0 lips
19 Michael Vartan 3MGHRFQY2LD64MCFXKGU6T2FMNP0YK 3 A24JQ4DOIPM3IG 59.0 33.0 68.0 178.0 eyes
20 Selena Gomez 32CXT5U14GR752XDINWKWN2K9XQ8UH 3 A24JQ4DOIPM3IG 66.0 51.0 51.0 127.0 eyes
21 Jennifer Aniston 3T8DUCXY0NUSJU1YNACORNBTAK0T9P 0 A24JQ4DOIPM3IG 8.0 1.0 219.0 226.0 smiling
22 Angie Harmon 3Z33IC0JC0A7WM5NS5C3S5ZE7BY9VF 0 A289DF24X3Q8JZ 163.0 62.0 64.0 111.0 mouth
23 Anne Hathaway 3EGKVCRQFWG7O9FPV0DJQAYYDRLYB3 4 A289DF24X3Q8JZ 79.0 36.0 35.0 65.0 eyes
24 Angie Harmon 3ZXNP4Z39R90MY50Z4CDR0A6LN87LI 3 A2F0X4LN9N4O4C 72.0 40.0 35.0 150.0 eyes
25 Anne Hathaway 3ZLW647WALJCKTI5NMRIZNZHALV32K 2 A2F0X4LN9N4O4C 77.0 45.0 27.0 149.0 eyes
26 Matt Damon 30UZJB2POH04JQ1S55TGXU2TUVM35L 4 A2F0X4LN9N4O4C 57.0 39.0 26.0 161.0 eye brows
27 Nicolas Cage 3SBX2M1TKDBEU83UPBM25APQ4R54QK 4 A2F0X4LN9N4O4C 83.0 89.0 83.0 44.0 nose
28 Selena Gomez 306996CF6W8AY34MJB6ACNNO66DB1J 4 A2F0X4LN9N4O4C 74.0 35.0 30.0 165.0 eyes
29 Jennifer Aniston 3X2YVV51PUS2M62XE226Z109G1Q1W8 0 A2FZE7CARM54IG 154.0 78.0 35.0 84.0 lips
... ... ... ... ... ... ... ... ... ... ...
148 Angie Harmon 3J9L0X0VDFAKBB5SIFHZE7ISEK09WP 1 A3GNQDFPZALU92 64.0 32.0 46.0 168.0 eyes
149 Daniel Radcliffe 3B9J25CZ251T2SVMAUHPJ8GFERQCSB 3 A3GNQDFPZALU92 156.0 73.0 33.0 98.0 lips
150 Gerard Butler 3J94SKDEKID21I3PYUZSA3O5L7U5D2 3 A3GNQDFPZALU92 73.0 52.0 32.0 132.0 eyes
151 Matt Damon 3WUVMVA7OBR2APK2L8F696NU135AZC 3 A3GNQDFPZALU92 76.0 39.0 35.0 150.0 eyes
152 Nicolas Cage 341H3G5YF0269CMKT6IDK0BHSHT0ZB 2 A3GNQDFPZALU92 56.0 48.0 64.0 134.0 eyes
153 Angie Harmon 3MNJFORX8BSZZ2HLP0UIY3RQYO25FE 0 A3GNQDFPZALU92 67.0 51.0 47.0 134.0 eyes
154 Angie Harmon 3P6ENY9P79KVPM36RA1CQX78JPLHIY 1 A3GNQDFPZALU92 64.0 40.0 52.0 155.0 eyes
155 Angie Harmon 3JGHED38EDFKMXCZIJ13L8C2V5N7YS 2 A3GNQDFPZALU92 60.0 46.0 55.0 142.0 eyes
156 Angie Harmon 3LN50BUKPVZPS490VQ6URM1RMKPPLP 4 A3GNQDFPZALU92 65.0 32.0 44.0 166.0 eyes
157 Anne Hathaway 3XDSWAMB22GHPCG9IQSKO81EX7XCQN 3 A3GNQDFPZALU92 156.0 70.0 46.0 109.0 lips
158 Anne Hathaway 3BDORL6HKK1H1DV9V5HKTYBJTTZCRO 4 A3GNQDFPZALU92 69.0 37.0 47.0 153.0 eyes
159 Anne Hathaway 3K2CEDRACBP7QEKSCJGTW9HDBS0MTT 4 A3GNQDFPZALU92 69.0 35.0 49.0 162.0 eyes
160 Cheryl Hines 3E22YV8GG1UFG4CL73M94E5GRFPPNR 0 A3GNQDFPZALU92 180.0 64.0 40.0 121.0 lips
161 Cheryl Hines 3P7RGTLO6E17LULGL7CWMRZHYYKAKR 1 A3GNQDFPZALU92 146.0 51.0 64.0 128.0 lips
162 Cheryl Hines 3JU8CV4BRL0XYPCX8IMMJ35LHPUPO6 1 A3GNQDFPZALU92 153.0 59.0 57.0 118.0 lips
163 Cheryl Hines 3UQ1LLR26AWI503Y67OX1RCWNYPALU 1 A3GNQDFPZALU92 152.0 66.0 59.0 99.0 lips
164 Cheryl Hines 3B9J25CZ251T2SVMAUHPJ8GFFVICSC 2 A3GNQDFPZALU92 155.0 78.0 53.0 114.0 lips
165 Cheryl Hines 3A3KKYU7P35ZIVOM7OL4JTOCFMIMWJ 3 A3GNQDFPZALU92 164.0 65.0 51.0 103.0 lips
166 Cheryl Hines 3UL5XDRDNC7QKN7YHMOCOBA4BKP850 4 A3GNQDFPZALU92 158.0 57.0 54.0 101.0 lips
167 Daniel Radcliffe 356TQKY9XFL57RLH5F39MVO02QK87F 1 A3GNQDFPZALU92 58.0 33.0 29.0 166.0 eye brows
168 Daniel Radcliffe 3VEI3XUCZRL0V24D0A3QDYAQSCEPRF 2 A3GNQDFPZALU92 74.0 36.0 41.0 148.0 eyes
169 Anne Hathaway 3TC2K6WK9GQYLQOBZ3MEQ47SRAY82Z 1 A3HIO96PK1JA03 162.0 44.0 48.0 116.0 mouth
170 Daniel Radcliffe 3JAOYN9IHLQ15BEORM5NIX49GZV33V 2 A3LA5P3N3KI8U7 58.0 27.0 34.0 175.0 eye brows
171 Angie Harmon 3087LXLJ6M404VVKSUO6H8VZGDG0F6 1 A3UDP95JGEX3H1 71.0 37.0 37.0 160.0 eyes
172 Matt Damon 372AGES0I4T54B64M1D77BWTT8BXRS 3 A3UDP95JGEX3H1 69.0 26.0 48.0 179.0 eyes
173 Anne Hathaway 3RKHNXPHGWKR03ZERCTNMSBB4YEKU8 3 A5N6QK76RTR7R 164.0 76.0 37.0 95.0 mouth
174 Daniel Radcliffe 31S7M7DAGGENKW27C7FEWW2OAEHTLM 0 A9MK3VLKHHXJ6 64.0 34.0 25.0 167.0 eye brows
175 Johnny Depp 3R5LWXWHR0WEFLXQ6QJV87IMRTJGXM A9MK3VLKHHXJ6 76.0 49.0 45.0 105.0 eyes
176 Jennifer Aniston 3M93N4X8HKBGA61SKMYB6CTA46YJSL 0 A9MK3VLKHHXJ6 134.0 58.0 91.0 123.0 smile
177 Anne Hathaway 3EKTG13IZURJ71CN3AE2AI7WGBMLMO 4 A9WGDBDXUNLOD 76.0 38.0 29.0 145.0 eyes

178 rows × 10 columns


In [84]:
dic


Out[84]:
{'aniston': {0: [(array([  8,   1, 219, 226]), 'smiling'),
   (array([154,  78,  35,  84]), 'lips'),
   (array([154,  78,  35,  84]), 'lips'),
   (array([154,  76,  35,  85]), 'lips'),
   (array([ 78,  71,  32, 102]), 'eyes'),
   (array([134,  58,  91, 123]), 'smile')],
  1: [(array([ 69,  54,  43, 127]), 'eyes')],
  2: [(array([ 52,  33,  30, 161]), 'eye brows'),
   (array([117, 160,  53,  41]), 'cheek')],
  3: [(array([ 76,  33,  36, 162]), 'eyes'),
   (array([ 61,  29,  53, 163]), 'eyes')],
  4: [],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []},
 'butler': {0: [(array([ 69,  43,  41, 156]), 'eyes'),
   (array([ 69,  43,  41, 156]), 'eyes'),
   (array([83, 98, 81, 50]), 'nose')],
  1: [(array([203,  84,  24, 115]), 'chin'),
   (array([ 33,  58,  30, 113]), 'forehead')],
  2: [(array([197,  78,  30,  92]), 'chin'),
   (array([ 26,  39,  37, 125]), 'forehead')],
  3: [(array([ 33,  64,  35, 105]), 'forehead'),
   (array([ 73,  52,  32, 132]), 'eyes')],
  4: [],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []},
 'cage': {0: [(array([ 64,  28,  71, 175]), 'eyes'),
   (array([ 64,  28,  71, 175]), 'eyes'),
   (array([207, 103,  20, 100]), 'chin'),
   (array([  0,  31,  29, 168]), 'hairline')],
  1: [(array([130,  43,  59,  46]), 'laugh lines'),
   (array([  2,  28,  29, 188]), 'hairline')],
  2: [(array([  3,  40,  38, 144]), 'hairline'),
   (array([ 56,  48,  64, 134]), 'eyes')],
  3: [(array([  1,  27,  37, 166]), 'hairline')],
  4: [(array([83, 89, 83, 44]), 'nose')],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []},
 'damon': {0: [(array([168,  60,  45, 103]), 'lips'),
   (array([ 67,  29,  43, 163]), 'eyes'),
   (array([ 67,  29,  43, 163]), 'eyes'),
   (array([129, 169,  59,  25]), 'cheek')],
  1: [(array([166,  78,  27,  74]), 'lips')],
  2: [(array([153,  80,  29,  76]), 'lips')],
  3: [(array([ 16,  46,  42, 126]), 'forehead'),
   (array([ 76,  39,  35, 150]), 'eyes'),
   (array([ 69,  26,  48, 179]), 'eyes')],
  4: [(array([ 57,  39,  26, 161]), 'eye brows'),
   (array([ 68,  42,  44, 140]), 'eyes')],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []},
 'gomez': {0: [(array([120,  12,  96, 161]), 'mouth')],
  1: [(array([129, 157,  52,  37]), 'cheek')],
  2: [(array([79, 96, 72, 58]), 'nose')],
  3: [(array([ 66,  51,  51, 127]), 'eyes'),
   (array([ 74,  48,  35, 124]), 'eyes')],
  4: [(array([ 74,  35,  30, 165]), 'eyes')],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []},
 'harmon': {0: [(array([163,  62,  64, 111]), 'mouth'),
   (array([166,  71,  55,  94]), 'lips'),
   (array([145,  57,  78, 123]), 'lips'),
   (array([145,  57,  78, 123]), 'lips'),
   (array([ 79,  45,  30, 155]), 'eyes'),
   (array([148,  26,  62,  45]), 'cheek'),
   (array([ 67,  51,  47, 134]), 'eyes')],
  1: [(array([153,  28,  52,  33]), 'dimple'),
   (array([146, 166,  67,  36]), 'dimples'),
   (array([164,  61,  49, 114]), 'lips'),
   (array([138,  28,  59,  38]), 'cheek'),
   (array([154, 173,  52,  32]), 'dimples'),
   (array([ 64,  32,  46, 168]), 'eyes'),
   (array([ 64,  40,  52, 155]), 'eyes'),
   (array([ 71,  37,  37, 160]), 'eyes')],
  2: [(array([ 79,  52,  28, 126]), 'eyes'),
   (array([ 74,  51,  33, 133]), 'eyes'),
   (array([ 60,  46,  55, 142]), 'eyes')],
  3: [(array([ 72,  40,  35, 150]), 'eyes'),
   (array([ 60,  34,  56, 164]), 'eyes'),
   (array([135,  11,  71,  47]), 'cheek')],
  4: [(array([ 72,  46,  32, 149]), 'eyes'),
   (array([165,  80,  40,  97]), 'lips'),
   (array([ 67,  40,  40, 155]), 'eyes'),
   (array([ 76,  41,  35, 166]), 'eyes'),
   (array([164,  71,  41, 112]), 'lips'),
   (array([ 65,  32,  44, 166]), 'eyes')],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []},
 'hathaway': {0: [(array([152,  44,  66, 144]), 'lips'),
   (array([152,  44,  66, 144]), 'lips'),
   (array([166,  57,  50, 126]), 'smile'),
   (array([137,  24,  66,  34]), 'cheek')],
  1: [(array([151,  41,  73, 121]), 'lips'),
   (array([124,  16,  71,  60]), 'laugh lines'),
   (array([149,  41,  72, 127]), 'lips'),
   (array([118,  19,  57,  29]), 'cheek'),
   (array([146,  46,  74, 109]), 'smile'),
   (array([162,  44,  48, 116]), 'mouth')],
  2: [(array([155,  69,  39, 103]), 'lips'),
   (array([150,  55,  49, 131]), 'lips'),
   (array([ 77,  45,  27, 149]), 'eyes'),
   (array([154,  78,  46,  88]), 'lips'),
   (array([156,  71,  44, 109]), 'lips'),
   (array([147,  59,  60, 119]), 'lips'),
   (array([120, 161,  52,  44]), 'cheek')],
  3: [(array([156,  54,  52, 140]), 'laugh lines'),
   (array([158,  78,  41,  94]), 'lips'),
   (array([158,  84,  37,  86]), 'lips'),
   (array([141, 156,  29,  51]), 'laugh lines'),
   (array([156,  70,  46, 109]), 'lips'),
   (array([164,  76,  37,  95]), 'mouth')],
  4: [(array([ 8, 62, 44, 98]), 'forhead'),
   (array([79, 36, 35, 65]), 'eyes'),
   (array([171,  78,  36,  83]), 'lips'),
   (array([168,  79,  41,  84]), 'lips'),
   (array([ 69,  37,  47, 153]), 'eyes'),
   (array([ 69,  35,  49, 162]), 'eyes'),
   (array([ 76,  38,  29, 145]), 'eyes')],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []},
 'hines': {0: [(array([180,  54,  47, 132]), 'lips'),
   (array([177,  70,  50,  98]), 'lips'),
   (array([172,  27,  55, 168]), 'laugh lines'),
   (array([ 72,  39,  37, 155]), 'eyes'),
   (array([177,  65,  48, 116]), 'lips'),
   (array([177,  65,  48, 116]), 'lips'),
   (array([ 74, 131,  39,  67]), 'blue eyes'),
   (array([ 67,  28,  50, 177]), 'eyes'),
   (array([180,  64,  40, 121]), 'lips')],
  1: [(array([140,  42,  76, 151]), 'laugh lines'),
   (array([124, 164,  57,  41]), 'cheek'),
   (array([146,  51,  64, 128]), 'lips'),
   (array([153,  59,  57, 118]), 'lips'),
   (array([152,  66,  59,  99]), 'lips')],
  2: [(array([125, 170,  68,  37]), 'laugh lines'),
   (array([147,  92,  53,  80]), 'lips'),
   (array([155,  78,  53, 114]), 'lips')],
  3: [(array([153,  46,  61,  44]), 'laugh lines'),
   (array([ 68,  48,  43, 139]), 'eyes'),
   (array([164,  65,  51, 103]), 'lips')],
  4: [(array([ 51,  37,  65, 146]), 'eye'),
   (array([153, 149,  50,  29]), 'laugh lines'),
   (array([158,  57,  54, 101]), 'lips')],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []},
 'radcliffe': {0: [(array([ 70,  36,  38, 158]), 'eyes'),
   (array([ 70,  36,  38, 158]), 'eyes'),
   (array([ 64,  34,  25, 167]), 'eye brows')],
  1: [(array([194,  60,  33, 108]), 'chin'),
   (array([97, 89, 65, 52]), 'nose'),
   (array([ 58,  33,  29, 166]), 'eye brows')],
  2: [(array([ 82,  34,  32, 148]), 'eyes'),
   (array([ 83,  43,  26, 136]), 'eyes'),
   (array([ 53,  35,  35, 158]), 'eyebrows'),
   (array([160,  61,  31, 108]), 'mustache'),
   (array([ 74,  36,  41, 148]), 'eyes'),
   (array([ 58,  27,  34, 175]), 'eye brows')],
  3: [(array([ 69,  34,  18, 168]), 'eye brows'),
   (array([ 67,  36,  47, 159]), 'eyes'),
   (array([94, 94, 65, 54]), 'nose'),
   (array([156,  73,  33,  98]), 'lips')],
  4: [],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []},
 'vartan': {0: [(array([85, 80, 82, 59]), 'nose'),
   (array([85, 80, 82, 59]), 'nose')],
  1: [(array([84, 96, 69, 47]), 'nose'),
   (array([ 20,  56,  41, 120]), 'forehead')],
  2: [(array([156,  67,  26, 106]), 'lips'),
   (array([120, 151,  48,  32]), 'cheek')],
  3: [(array([ 59,  33,  68, 178]), 'eyes'),
   (array([ 72,  41,  40, 140]), 'eyes')],
  4: [(array([ 72,  53,  30, 123]), 'eyes')],
  5: [],
  6: [],
  7: [],
  8: [],
  9: [],
  10: [],
  11: [],
  12: [],
  13: [],
  14: []}}

In [85]:
for threshold in [0, .01, .05, .1, .2, .5, .8]:
    percentage = np.sum(saliencies['Matt Damon'][0]>=threshold)/(227*227*3)
    print('threshold: {}, percentage of pixels: {}'.format(threshold, percentage))


threshold: 0, percentage of pixels: 1.0
threshold: 0.01, percentage of pixels: 0.38783985716780844
threshold: 0.05, percentage of pixels: 0.18220807700518155
threshold: 0.1, percentage of pixels: 0.08718715027783708
threshold: 0.2, percentage of pixels: 0.0283270908938009
threshold: 0.5, percentage of pixels: 0.002238221842716399
threshold: 0.8, percentage of pixels: 0.00016819008066655024

In [107]:
label = dic['hathaway'][0][2][1]
rec = dic['hathaway'][0][2][0]
saliency = saliencies['Anne Hathaway'][0]
attention_focus = np.sum(saliency[rec[0]:rec[0]+rec[2], rec[1]:rec[1]+rec[3]])/(rec[2]*rec[3]*3)
attention_all = np.sum(saliency)/(227*227*3)
print(attention_focus/attention_all)
print(label)


2.39321915369
smile

In [110]:
label = dic['hathaway'][0][3][1]
rec = dic['hathaway'][0][3][0]
saliency = saliencies['Anne Hathaway'][0]
attention_focus = np.sum(saliency[rec[0]:rec[0]+rec[2], rec[1]:rec[1]+rec[3]])/(rec[2]*rec[3]*3)
attention_all = np.sum(saliency)/(227*227*3)
print(attention_focus/attention_all)
print(label)


0.840896002539
cheek

In [109]:
label = dic['hathaway'][0][1][1]
rec = dic['hathaway'][0][1][0]
saliency = saliencies['Anne Hathaway'][0]
attention_focus = np.sum(saliency[rec[0]:rec[0]+rec[2], rec[1]:rec[1]+rec[3]])/(rec[2]*rec[3]*3)
attention_all = np.sum(saliency)/(227*227*3)
print(attention_focus/attention_all)
print(label)


2.08666494248
lips

In [98]:
label = dic['aniston'][0][4][1]
rec = dic['aniston'][0][4][0]
saliency = saliencies['Jennifer Aniston'][0]
attention_focus = np.sum(saliency[rec[0]:rec[0]+rec[2], rec[1]:rec[1]+rec[3]])/(rec[2]*rec[3]*3)
attention_all = np.sum(saliency)/(227*227*3)
print(attention_focus/attention_all)
print(label)


1.6323128782
eyes

In [99]:
label = dic['aniston'][0][5][1]
rec = dic['aniston'][0][5][0]
saliency = saliencies['Jennifer Aniston'][0]
attention_focus = np.sum(saliency[rec[0]:rec[0]+rec[2], rec[1]:rec[1]+rec[3]])/(rec[2]*rec[3]*3)
attention_all = np.sum(saliency)/(227*227*3)
print(attention_focus/attention_all)
print(label)


1.05847330635
smile

In [104]:
plt.imshow(saliency*(saliency>0.2))


Out[104]:
<matplotlib.image.AxesImage at 0x7f97dcbb3e10>

In [105]:
label = dic['aniston'][2][1][1]
rec = dic['aniston'][2][1][0]
saliency = saliencies['Jennifer Aniston'][2]
attention_focus = np.sum(saliency[rec[0]:rec[0]+rec[2], rec[1]:rec[1]+rec[3]])/(rec[2]*rec[3]*3)
attention_all = np.sum(saliency)/(227*227*3)
print(attention_focus/attention_all)
print(label)


0.395239525085
cheek

In [106]:
label = dic['aniston'][2][0][1]
rec = dic['aniston'][2][0][0]
saliency = saliencies['Jennifer Aniston'][2]
attention_focus = np.sum(saliency[rec[0]:rec[0]+rec[2], rec[1]:rec[1]+rec[3]])/(rec[2]*rec[3]*3)
attention_all = np.sum(saliency)/(227*227*3)
print(attention_focus/attention_all)
print(label)


0.993833387062
eye brows

In [ ]: