LoginSignup
10
8

More than 3 years have passed since last update.

○○に似てると言われ困ったので、AIに判定させてみた

Last updated at Posted at 2019-08-27

概要

皆さんも一度は○○さん(有名人)に似てると言われたことがあるのではないでしょうか。
私も初対面の人のうち、7回に1回くらいは星○源に似ていると言われることがあります。
自分では似てないと思うのですが、毎回否定するのも面倒なので、
AzureのCustom Visionを使って、AIに定量的に判断してもらうことにしました。

システム

構成

・macOS Mojave
・Python 3.6.5
・Custom Vision(Azure)

概念図

①スクレイピングで画像を集める
②集めた画像を分類する
③AzureのCustom Visionにアップし、学習させる
④自分の画像をアップし、評価を返す

スクリーンショット 2019-08-28 0.30.39.png

画像収集/スクレイピング

学習用のデータを集めることにします。
PythonでGoogleの画像を大量スクレープする
こちらを参考に、Pythonで画像をスクレイピング。

python scraping.py -s hoshinogen  -n 70

scraping.pyで70枚ほど画像を集めて、複数人で写っている画像や関連性の低い画像は手動で省いていきます。
スクリーンショット 2019-08-27 23.18.28.png

これを繰り返し、同じような系統の顔の有名人の画像をいくつかピックアップします。
塩顔っぽい系統だと思うので、関連性の高い有名人を探します。
高橋一生さん、綾野剛さん、森山未來さん など。

Custom Visionを使用

Custom Vision

使い方はこのあたりが参考になります。
Microsoft Custom Vision Service を使用して画像を分類する

タグ付け

先ほど分類した画像とタグを紐付けて、画像をCustom Visionにアップしていきます。
スクリーンショット 2019-08-27 23.37.20.png

今回は10人ほど有名人ピックアップしています。
スクレイピングした画像を精査した結果、それぞれ50枚程度になりました。

アップが終わったら、右上のボタンからトレーニングさせます。
スクリーンショット 2019-08-28 0.03.04.png

自分の画像を用意(自撮り)

いよいよ学習させたモデルから自分が似ているかどうかを判定させます。
と、その前に自分の画像を用意しましょう。

カメラデータを確認したが、自分の画像がなかったため急いで自撮りしました。

結果判定

右上にあるQuick testから自分の画像をアップし、返ってくる評価を確認します。
スクリーンショット 2019-08-28 0.07.13.png

ローカルファイルをアップしたときの結果がこちら。
スクリーンショット 2019-08-27 23.43.51.png

……星野源75.8%になりました。

結論、比較的似ていると言えるだろうという温度感ですね。

ちなみにメガネありでやった場合も用意していたのですが、
サンプルデータが少なく高い数字が出たので、ここはもう少し学習精度上げる必要がありそうです。
スクリーンショット 2019-08-28 0.14.07.png

まとめ

Azureのサービスを使うのは2回目だが、使いやすかった。
けっこう応用もできそうで捗りそう。

以前、Google Cloud PlatformでNatural Languageを使って、
機械学習(テキスト解析)×LINE Botを作ってみたのでよろしければこちらもどうぞ
悩める恋心を助けるためのLINE BOTを作ってみた

番外編
AIに自分の顔を判定させたら失敗した話(番外編)

ネクストアクション

今回作ったCustom Visionの画像認識とIoT機器を組み合わせる

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8