😺
android ML Kitでリアルタイム顔検証やってみた
ML Kitとは
簡潔にいうとGoogleが提供しているモバイル向けの機械学習系ライブラリです。
今回はその中の顔検証機能の使い方を簡単に説明していきます。
顔検証機能について
具体的に何ができるのというところですが
- 静止画やカメラを使ってリアルタイムで人物の顔の認識ができる
- 顔がどの方向に向いてるかや、目・口・耳・鼻の座標を取得できる
- 顔の表情を取得することができる
- 動画フレーム間で顔の追跡ができる
というような感じで様々なことを行うことが可能です。
使い方
Google自身がサンプルアプリを作ってくれているので
こちらを使って説明していきます。
- 起動するとjavaかkotlinか出るので自分が馴染みのある方を選んでください。
- CameraXLivePreviewActivityを選びましょう
(LivePreviewActivitでも出来ますが基本的にCameraXを使わない理由はないと思います) - 開いた画面の右上の歯車アイコンを押してメニュー画面に遷移し、
Face Detaction欄のLandmark modeを『All landmarks』に変えましょう
- トップに戻り、フッターを選択すると『Face Detaction』という項目があるのでそれを選択します
- そしてこのモードの状態で人物を映すと顔検証が出来ます
詳細
リアルタイム顔検証ですが上記の画像の通り認識した顔の情報が画面に表示されます。
- ID
- 1画面内に複数人がいてもIDを付与しているので人物を見分けることができます(精度不明)
- Euler
- x,y,zで顔の傾きを表しています
- Eye
- そのままの通り目ですね。他の項目も設定すれば画像のように表示されるようになるはずです。
より詳しい情報は公式を確認してみてください
コード
- CameraXLivePreviewActivity
- Face Detactionの処理を行っているclass
- 設定画面
- https://github.com/googlesamples/mlkit/blob/master/android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/preference/LivePreviewPreferenceFragment.java
- https://github.com/googlesamples/mlkit/blob/master/android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/preference/PreferenceUtils.java
この辺追えば色々わかると思います。
0から作る場合はこちらを参照
やってみた感想
普段の開発ではやったことないようなアプリができるので中々面白かったです!
今回は顔検証のみの説明ですが、
他にも文字認識や人体の姿勢検出など様々なことが出来るので
一度触ってみることをお勧めします!!
Discussion