AITCでは、医療やライフサイエンス領域においても積極的にAI活用を推進しており、特に動画を入力データとした、人の動作解析に強みを持っています。 本記事では、AIを用いた人の動作解析についてイメージを深めてもらうべく、顔の表情解析を題材に、表情解析による瞬き検出の解析事例についてご紹介していきます。 顔の表情には、痛みや不快感、リラックス度合いなど、非言語的な反応が現れます。そのため、顔の表情を解析することで、患者さまの症状に関する有用な情報を取得し、より良い診断、治療、ケアの提供につなげることが期待できます。 本記事では、顔の表情解析に焦点を当てていますが、人の動作解析といっても、その対象となる部位は顔の表情以外にも様々考えられます。例えば、手や指の動きを取得することもありますし、腕や足も含めた体全体の動きを取得することもあります。 このような体の様々な部位に着目し動作解析を実施できるAIソリューションの一つに「MediaPipe」があります。
MediaPipeは、Google社が開発した顔や手、骨格全体など、人に関連するリアルタイム画像認識の機能を包括的に提供するオープンソースのフレームワークです。*1 本記事では、MediaPipeが提供するFaceMeshを使用して、468の特徴点(ランドマーク)からなる顔全体の3Dメッシュをリアルタイムで取得します。 FaceMeshは、468点という他のソリューションと比べてもかなり多くの点を扱うことができるため、顔の高精度な表現が可能という強みがあります。 それでは、筆者自身を撮影した動画から、瞬きの検出を実際に実施してみます。 まずは、目を開いている瞬間(左)と閉じている瞬間(右)のFaceMeshによる推定結果を可視化します。
目の周りの特徴点に着目すると、しっかりと目を閉じている/開いている様子をとらえることができていることが確認できます。 あとは、目の周りの特徴点の座標情報から「目の開き具合」を算出し、その時間経過による変化を見ることで、瞬きの様子が捉えられそうです。 そこで、実際に目の開き具合(ここでは左目に注目)を時系列的に算出した結果が以下になります。 時間経過による変化を見てみると、目の開き具合がガクッと小さくなり、元に戻る様子に瞬きの動作が良く表れており、瞬きを正確に認識できていることが分かります。*2 上記の例のように瞬きを検出することで、その頻度や強さから、例えばその時の疲労やストレス、眠さについての分析が可能になるかもしれません。今回は「目」の動作を扱いましたが、「口」の動作も同様に多くの情報を提供します。例えば、口の開き具合や口角の上がり具合といった情報は、その時の集中度合いや感情状態の検出にも役立つと考えられます。 もちろん顔以外にも、手、腕、足、体全体(姿勢)というようにあらゆる側面からの人の動作は解析が可能であり、それぞれが冒頭で述べた「患者さまの症状に関する有用な情報を取得し、より良い診断、治療、ケアの提供」につながっていきます。 AITCは、患者さま自身や医療関係者の助けとなるシステムの社会実装を目指し、ライフサイエンスAIの活用び推進をご支援しています。ご興味を持った頂いた場合はお気軽にお問い合わせください。 執筆 *1:MediaPipe | Google for Developers *2:より厳密に、高い精度で瞬きの検出を行うにはこの「ガクッ」という部分を突き詰めて、別途閾値を設定した判定や個別のAIによる判定を実施するなど、もう1ステップ必要になります。はじめに
MediaPipe FaceMesh
顔動画から瞬きを検出してみる
まとめ
AIコンサルティンググループ
田辺 佑太