本研究では、近年増加している独居老人に対してコミュニケーションを試み、 寂しさや不安を解消し、彼らの健康状態を把握するシステムを目指し、その 第一歩として表情変化の有無の検出を行った。将来的には有無だけではなく どのような表情であるかといった表情認識を行うことを目指している。
まず初めに入力として、顔の写った時間的に連続した2枚の画像を用いる。読み込んだ2枚の入力画像のうち時間的に早い画像をここでは入力画像1、遅い画像を入力画像2と呼ぶこととする。
そして、入力画像1について顔検出を行い顔の位置情報を取得する。本研究では顔検出の手法としてViola,Jonesらの提案した既存の手法を用いた。
オプティカルフローとは、画像全体の動きのことである。具体的には画像上の濃度分布により物体の動きを抽出するが、その際の濃度分布の速度分布に事をオプティカルフロー(見かけ速度ベクトル)という。オプティカルフローの計算にはいくつかの手法があるが、本研究では画像上の小領域(ブロック)内の移動は一定であると仮定して、勾配法を適用し計算を行った。
カメラで撮影した動画から顔の動きを抽出する際に,考えられる動きのうち大きいものとして表情変化と顔が動いてしまった場合の移動による変化が考えられる。それぞれの特徴をまとめると以下のようになる。
ここで今回は表情の変化のみを見たいので、体が動いているときの変化は無視をしたい。そこで本研究ではそれらをフローの平均値と分散値を用いて判別を行った。
ここで分散値には違いが出ているが平均値に大きな違いはないように思えるが、実際は顔のパーツの動きと体全体の動きでは動きのスケールが違うので移動の平均値の方が大きくなることが分かる。理想では分散のみで判別可能になるが、移動の際にあまりに大きな動きをしてしまうと変化が急激となり滑らかな変化を仮定している勾配法では正確なフローの検出ができなくなってしまう。そこで本研究では分散値だけでなく先に説明した平均値も用いて判別を行う。
ここで、フローの平均値の絶対値が大きいときは急激な移動として判別し表情の検出は行わない事とした。
以上の結果を以下のグラフにまとめる。グラフの横軸はフレーム数、縦軸は分散値または平均値となっている。
これは、表情変化(中)の結果である。見て分かる通り、ほとんどの変化を判別できている。しかし、変化が小さいところでの判別に失敗している点も見受けられる。
こちらは平行移動(大)の結果である。右のグラフが分散、左のグラフが平均値をあらわしている。平均値が閾値以上のところはすべて移動中と考えられる。したがってすべて移動中と考えられるので正しく判別されていると考えられる。
より精度の高い検出を行うために口端検出や瞳検出を併用しての判別や、パーツ個別の変化の検出が考えられる。また、リアルタイム化についてはより正確な判別を行うために実行時間の短縮が課題である。