【what is this】Googleの顔認識(主要486点)や指の認識(主要関節21点)の学習モデルが、PythonやJavaScriptなどで使えるようになっています[1]。本記事は、これに基づいた顔認識モデルFacemeshに関する小生独自の簡単な説明です。
■顔のキーポイント(全486点)のリアルタイム認識
Facemeshによる顔のキーポイントの検出例を図1に示します。人間の実写の他、写真や肖像画でもOKのようです。福沢諭吉と平賀源内の肖像画(何故かこのお二人)、および大学HPの広報(女子学生)写真で試しました。顔認識や感情分析に重要な、口や鼻や目の付近のメッシュは当然ながら細かくなっています。
■唇と瞼の開き具合の認識
主要点番号とその位置の対応は、mesh mapにありますので、その番号を指定して、必要な点の検出ができます。一例として、唇と瞼の開き具合を見るため、図2のように、8点(唇4点と瞼4点)を赤色に着色してみました。
これら8点のマップは図3のとおりです。鼻や頬や顎についてのキーポイントも同様に得られます。(キーポイント番号は、その後改訂にともない、図3とは異なるかも知れません。)これらを利用すれば、例えば口の開き具合で、何かの動作を制御する等、自分なりの顔認識関係アプリを(簡単なものであれば)作れそうな気になります!
図4は、日本語母音の発話時の口形の検出例です。なかなか面白そうですが、これですぐに読唇ができるわけではありません。実際の機械読唇技術に関しては、宮崎剛教授らの論文[2]等を参考にして深く検討する必要があるでしょう。
■口の開閉でオンオフを制御してみる
→この項はその後修正し、こちらにまとめました。
■感想
(1)プログラミングの容易化
図3を改めて眺めてみました。このようにランドマーク(キーポイント)がリアルタイムに検出されるのであれば、この後は顔の表情を認識することは格段に容易になります。(情報系が苦手な学生を含む)より幅広い人々が、AI技術発展の恩恵を受けられると思います。
(2)スマホなどGPU無しでも推論ができる
以前は、上記例題のようなリアルタイム顔認識には、GPU付きの高性能PCが必要でしたが、今はこのような認識(推論)は普通のスマホで十分できてしまう。アイディアと工夫次第で、思いもつかぬアプリケーションも生まれそうに思われます。
参考文献・資料
[1] Face and hand tracking in the browser with MediaPipe and TensorFlow.js, https://blog.tensorflow.org/2020/03/face-and-hand-tracking-in-browser-with-mediapipe-and-tensorflowjs.html
[2] 宮崎 剛、中島豊四郎:[推薦論文]日本語の発話映像における初口形の検出方法提案、情報処理学会論文誌、Vol.53、No.3、pp.1472-1479、2012.
0 件のコメント:
コメントを投稿