017_顔偏差値

顔の偏差値を判定するLINE BOTのプログラミング解説~API&LINE BOT③~

今回はLINEのトークで顔写真を送ると「顔の『偏差値』がわかっちゃう」アプリ(bot)を作ってみようと思います(^_-)-☆

いきなり言われると『?』ってなるかも知れませんが、仕組みとしては人工知能が最近話題の顔認識を自動で行うというものです。その為『美しさ』の精度は何とも言えないところですし、無論悪用は禁物ですが、友達同士で盛り上がるには面白いアプリです(^^♪

こんな方におススメ(*´▽`*)
・Web APIを利用したアプリを作ってみたい
・人工知能(機械学習やディープラーニング)を使ったアプリを作ってみたい
・友達と遊べるアプリを作りたい

概要

今話題の人工知能(機械学習やディープラーニング)のアプリを作ってみたいという方に特におすすめです!

機械学習やディープラーニングのライブラリーを使う場合、たくさん変数を決めて調整していかなければならないので、通常は初心者には結構難しい開発とされています( ゚Д゚)

そこで、今回も人工知能は無料のAPIを利用します。APIを使って実装すれば、実装方法としては通常のWeb APIの実装と変わらないからです。各APIが指定する『仕様』に気を付けていればそれほど難しくありませんので、まずは、こういったシンプルなプロダクトを作るところから始めるとよいでしょう。

加えて、今回APIへの入力・出力はLINEを利用しますので、レストラン検索や空室検索アプリの記事を読まれた方はその点問題ないと思います(^^♪よりシンプルだと言って良いかも知れません。

Face++について

さて、人工知能のWeb APIですが、顔認証画像解析の分野では最先端といわれている会社MegviiのサービスであるFace++を使います。

Megvii TechnologyのFace++とは?
Megviiは、顔認証に人工知能を初めて実装したともいわれている中国の企業で、今なお顔認証画像解析では世界最先端企業の一つ! 2011年に北京で創業され、その後破竹の勢いで成長していった”ユニコーン企業”です。

MegviiのメインのテクノロジーであるFace++は同社が提供する顔認証プラットフォームのことで、2012年にリリースされました。80以上の顔のポイントからデータを抽出して顔認識をしている、すごい技術だよ( ゚Д゚)
既に1億人以上の顔がこのプラットフォームに登録されているようなので、このデータ量と独自に開発したディープラーニングのアルゴリズムが有名(^_-)-☆
中国では警察や銀行、アリババなど多くの大手企業がFace++を導入しており、海外企業でもUberなどがクライアントです。

興味がある人はメグビーの記事も読んでみてください。

完成したアプリのイメージ

前置きはこれくらいにしてアプリの話に戻ります('ω')
いつものように、コードの前に完成したアプリを実際に見てみましょう。この画像のようにトークで写真を送ると、性別、年齢、顔の偏差値を表示してくれます(*^^)v

画像1

ご覧のように、『性別』『年齢』そして『顔の偏差値』がAPIを通じて返ってきます。なお先頭に『1人目の情報』とありますが、後述するように、1枚の画像内で最大5人までの顔を認識することが出来るため、複数人写っている場合は『2人目…』『3人目…』と続いていきます。
このアプリで自分の顔は年齢の割に若いのか?年相応なのか??相対的に偏差値は高いのか?などがわかっちゃいます!
なお、偏差値は0~100までの間の数値で表されますが、高いほうが美しい!とはFace++が言っているものの、何を基準に判定しているかは不明...。

国や文化によって美人の定義も変わるので、日本人が感じるカワイイorカッコイイとは基準が違うのかもしれません((+_+)) もちろん男性の顔も判定出来ます。

それでは、解説していきます!

プログラムの全体像を決める

今回もLINE BOTということや、APIから取得するデータが少し複雑になりそうなので、①「LINEのメッセージ関係の処理」(LINE Messaging API)と②「顔認証関係の処理」(Face++API)2つに分けたいと思います。

Face++のAPIを利用して、顔認証プログラムを作る(face_detect.py)

まずは、顔認証のプログラムを先に作ります。そのため、Face++のAPI仕様を確認しましょう。

ここから先は

13,476字

¥ 1,200

期間限定!PayPayで支払うと抽選でお得

この記事が気に入ったらチップで応援してみませんか?