AKBで一番可愛いのはだれなのか?AIに判定させてみた
お久しぶりです。せり沢です。
このところフリーター生活が順調すぎて、ブログもTwitterも全然触る気が起きませんでした。
なんというか、吐き出したい心の澱が全然ない、というような状態ですかね。
まあ、せっかくはじめたブログだし、ちょくちょくは更新していきたいっすね。
てなわけで、今日は僕が最近バイトで使っていることに絡めて記事を書いていきます。
ーーーーーーーーーーーーーー
私はバイト先で主にAIを開発している。
メインは昨今流行りのディープラーニングである。
こう書くと難しそうに聞こえるが、ある程度他人が作ったものを流用するので、そんなに知識は必要ない。
しかし、中々自分の手で機械を教育するというのは楽しいもので、夢中になっているうちにいつのまにか
私自身が家と職場を往復するマシーンと化していた。
そんなある日。
なにか面白いことないかなあ……。
ぼーっとしながらテレビを観ていると、衝撃的なニュースが飛び込んできた。
なんと、阪大の大学院を出た元エリートのおっさんが、AKBにストーカーをして捕まったという。
そのニュースでは、単に皆でおっさんを気持ち悪がるだけで終わっていたが、
その時なぜか私の脳裏にあるひらめきが生じた。
AKBの顔面偏差値判定してランキング作るAI作れんじゃね??(ストーカー関係なし)
ーーーーーーーーーーーーーー
てことでやってみる
ーーーーーーーーーーーーーー
思いついたら即行動に移してみる。
とはいっても、そんなに大変なことはない。
ディープラーニングとは言っても、一からAIの脳の部分を自分で設計する必要はない。
他人が作ったものをパクればいいのだ(その方が楽なうえ、多くの場合自分で頑張って作るより性能がいい)。
幸い世の中には二次利用をかなり許す形で自分の研究成果を公開している人がめっちゃいる。
ということで今回は
https://github.com/ArunMichaelDsouza/tensorflow-image-detection
を利用することにした。
これは画像を与えると、その画像にどんな人物が移っているか判定するAIのようだ。
AIの設計はそのままに、AIの学習に使う画像だけ差し替えればいいという寸法だ。
全体の流れはこうである。
①美人の画像と、一般的な女性の画像をたくさん集める
②それを使い、美人の特徴と、一般的な女性の特徴をAIに学ばせる
③AKBの画像をAIに判定させる。
それぞれのメンバーについて結果は美人度〇%、一般的な女性度〇%、のように出てくる。
そして美人度が一番高かった人物がAKB一の美人というわけだ。
ーーーーーーーーーーーーー
【苦行】データ集め
ーーーーーーーーーーーーー
AI開発ではだいたいそうだが、データを集めるのが一番手間である。
今回も、美人画像2000枚と一般女性画像2000枚をネットから収集した。
自分は一体なにをやっているのか。
雑念を振り払い作業に集中する。
マウスをクリックしすぎて人差し指がクソ痛い。
……ちなみに、美人画像として使うのは、女優やモデルさんなどの明らかに外見が職業上大きなウェイトをしめている女性たち。
一般人画像として使ったのは政治家やスポーツ選手など、そんなに外見が重視されないであろう人たち。
(女優の画像などネットにわんさか転がっているが、一般人画像を集めるのはマジで大変だった。)
データ集めの性質上、いろいろなバイアスが入っていることは間違いない(私の主観とか)。
細かいことはいいのだ。
そもそも美しさに絶対的な基準などないのだから。
次に画像の水増しを行う。
(画像系のAI作成では半ばお約束となっているが、集めたデータは特殊な技法を用いて水増しすることができるのだ!)
ということで、私もその技法を用い、データを4倍に水増しした。
これで美人画像と一般人画像がそれぞれ約8000枚ずつ集まったことになる。
ーーーーーーーーーーーーーーー
学習
ーーーーーーーーーーーーーーー
意外かもしれないが、AIに学習させるのは楽である(他人のものを流用するときは)。
先述のサイトで指示されているようにディレクトリに画像をセットし、
train.sh
ファイルを実行して待っとくだけだ(osはubuntuを使っている)。
つまり現代ではAIを使うなど誰でもできるという話なのだ(pythonをインストールしてるなら)。
ーーーーーーーーーーーーーー
結果
ーーーーーーーーーーーーーー
学習が終わったので、AKBの公式サイトへ行き、メンバーの画像を取ってこよう。
そしてそれを一気に判定するようにコードを少し書き換える。
続々とAIがメンバー一人一人のルックスを採点していく。
結構不謹慎だなあ、と思ってみているとすぐに全員分の処理が完了した。
そして結果はというと……
一番美人と判定されたのはこの人!!!!
どうやらこの人物はIZ*ONE専任活動中という状態らしい。
このように、画像にテロップのようなものが入るとAIの仕様上正しく判定できない可能性がある。
よって本当の一位は二位のこの人かもしれない。
てことで美人度上位陣は以下のような顔ぶれになった。
1本田 仁美
2茂木 忍
3矢作 萌夏
4高岡 薫
5岡部 麟
6長友 彩海
以上をもって「AKBで誰が一番かわいいかAIに判定させるとどうなるか」という問いの答えを得た。
答えは「本田仁美(もしくは茂木 忍)」である。
そしてこの実験をやってみた私の感想は、「前田敦子とか篠田麻里子ってAKB辞めてたのか」である。
結論:最近捕まった阪大出のストーカーおじさんみたいのって東大とかにウヨウヨいるからマジで気を付けた方がいいよ。
※集めるデータや採用するCNNの種類などによって結果は変わります
※あと結果の解釈は正直微妙です(クラス分類のconfidence scoreの優劣を比較することは何を意味するのか、は色々考える余地ありかな)。