美人測定器

OVERVIEW

pythonのOoenCVを利用した機械学習


大学三年前期にプロジェクト演習という授業で友人とペアでOpenCVを用いた人工知能を作成しました。最初はアニメ「サイコパス」に登場するシビラシステムという人の犯罪指数を図る人工知能を作成しようとしました。しかし、材料不足等の問題があり作成を諦め、撮影した人の美人度を測る、「美人測定器」をテーマに作成しました。

[テーマ]

美人測定器

[判定方法と基準]

k-NNで判定を行う。

判定基準は以下の二つにしました。

① 美人とされる黄金比での判定

 顔の黄金比は多数存在するが、今回はそのうち二つを選択した。

  a) 顎先から鼻下、鼻下から眉頭、眉頭から前髪の生え際の比率が1:1:1

  b) 左目の幅、右目の幅、両目の間隔の比率が1:1:1

 

② 美形芸能人とそうでない芸能人の黄金比を測定し機械に学習させる

 ①の黄金比で芸能人の画像を判別し学習データとした。

[結果]

 下の図のようにPCのカメラで顔を作成すると、学習データをもとに、撮影者が美人かどうかが判定される。

 判定結果は以下のようなグラフで表示される。

 実際に判定してみた結果、美人かそうでないかは判定されるが、外れ値がでてしまったり、世の中で美人とされている芸能人が美人でないと判定されてしまったりなどのエラーが起きてしまっていた。

[反省]

 撮影者を判定する際の学習データが少なかった。今回は黄金比をもとに判断を使用としていたが、美人芸能人の画像を多数加工して、膨大な量のデータを学習させ、そのデータをもとに判定したほうがより判定が精密になると考えられる。

URL:https://github.com/EndoYuma/project11