読者です 読者をやめる 読者になる 読者になる

INPUTしたらOUTPUT!

忘れっぽいんでメモっとく

RでMicrosoft Face APIsを実行する(3)

R

間が大分開いたけど

estrellita.hatenablog.com

の続き。FindSimilarFaces APIで自分と似ている芸能人を探す。


作業の流れは以下の通り。

  1. タレント名鑑-maniken.infoをクローリングして10,285人のタレントの名前を取得
  2. 1で取得した名前をYahoo!検索(人物)で検索して顔写真のURL、生年月日、職業をスクレイピング
  3. 以下の条件に合致するタレントの顔写真(1,909人)でDetection APIを実行しfaceIdを取得
    • 顔写真のURLがある(ジャニーズ系は取れない)
    • 職業に女優を含まない
    • 年齢が25〜45歳
  4. FindSimilarFaces APIで自分と似た顔探し


以下はRからFindSimilarFaces APIを実行するサンプル

FindSimilarFaces APIのサンプル


似ている顔があるとfaceIdが返ってくる。(ない場合は長さ0のリストが返ってくる)

> content(res)
[[1]]
[[1]]$faceId
[1] "ac49a590-4671-4cdb-bf95-0e6727298ac7"


>


1,909人と似ている顔を探した結果、以下の3人が該当した。


Validation APIのconfidence順で並べると

> talents.sub %>%
+   filter(faceId %in% c('ac49a590-4671-4cdb-bf95-0e6727298ac7',
+                        '8b88d5ef-f062-4793-b538-59311356c37e',
+                        '509990ba-189d-4638-86a3-1f3b77073ab7')
+          ) %>%
+   select(nm, confidence, identical) %>%
+   arrange(desc(confidence))
            nm confidence identical
1 つるの 剛士    0.58867      TRUE
2 森山 直太朗    0.53103      TRUE
3   藤本 隆宏    0.52037      TRUE
> 

となり、つるの剛士氏に一番似ているということが分かった!





以下おまけ

  • Microsoft Face APIの結果としてご査収ください
  • Yahoo!人物検索に掲載されている写真が撮影された時期などは考慮していません


老け顔Top 10

> talents.sub %>%
+   mutate(diff = age - age.estimate) %>%
+   arrange(diff) %>% 
+   select(nm, gender, age, age.estimate, diff) %>%
+   head(10)
             nm gender age age.estimate diff
1    平尾 勇気   male  34           72  -38
2      市川 源   male  44           72  -28
3    斉藤 洋介   male  30           54  -24
4  荒川 大三郎   male  45           68  -23
5      ウド鈴木   male  45           66  -21
6    谷山 紀章 female  40           56  -16
7    上木 彩矢 female  30           44  -14
8      両國 宏   male  44           58  -14
9      小林 俊 female  31           44  -13
10   松本 麻希 female  41           54  -13
>
  • Yahoo!人物検索の写真に問題がある気が・・・


若作りTop10

> talents.sub %>%
+   mutate(diff = age - age.estimate) %>%
+   arrange(desc(diff)) %>% 
+   select(nm, gender, age, age.estimate, diff) %>%
+   head(10)
               nm gender age age.estimate diff
1      三浦 聡子 female  44            3   41
2        石津 彩 female  43            6   37
3      吉村 美紀 female  44           10   34
4  だいた ひかる female  40            7   33
5    関戸 めぐみ female  45           13   32
6      真弓 倫子 female  44           12   32
7      増田 未亜 female  43           12   31
8    安室 奈美恵 female  38            8   30
9      梶原 阿貴 female  42           12   30
10     桜井 和寿 female  45           15   30
> 
  • 子供が一緒に写っている場合、子供の顔を認識してしまっている場合がある・・・