IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7311046判定プログラム、判定装置、および判定方法
<>
  • 特許-判定プログラム、判定装置、および判定方法 図1
  • 特許-判定プログラム、判定装置、および判定方法 図2
  • 特許-判定プログラム、判定装置、および判定方法 図3
  • 特許-判定プログラム、判定装置、および判定方法 図4
  • 特許-判定プログラム、判定装置、および判定方法 図5
  • 特許-判定プログラム、判定装置、および判定方法 図6
  • 特許-判定プログラム、判定装置、および判定方法 図7
  • 特許-判定プログラム、判定装置、および判定方法 図8
  • 特許-判定プログラム、判定装置、および判定方法 図9
  • 特許-判定プログラム、判定装置、および判定方法 図10
  • 特許-判定プログラム、判定装置、および判定方法 図11
  • 特許-判定プログラム、判定装置、および判定方法 図12
  • 特許-判定プログラム、判定装置、および判定方法 図13
  • 特許-判定プログラム、判定装置、および判定方法 図14
  • 特許-判定プログラム、判定装置、および判定方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-10
(45)【発行日】2023-07-19
(54)【発明の名称】判定プログラム、判定装置、および判定方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230711BHJP
   G06V 10/72 20220101ALI20230711BHJP
【FI】
G06T7/00 660A
G06V10/72
【請求項の数】 8
(21)【出願番号】P 2022532900
(86)(22)【出願日】2020-06-30
(86)【国際出願番号】 JP2020025736
(87)【国際公開番号】W WO2022003843
(87)【国際公開日】2022-01-06
【審査請求日】2022-09-12
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】内田 昭嘉
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2018-82766(JP,A)
【文献】特表2019-517693(JP,A)
【文献】特表2016-517052(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06V 10/72
(57)【特許請求の範囲】
【請求項1】
マーカを付した顔を含む撮像画像群を取得し、
前記撮像画像に含まれる前記マーカの位置に基づいて第1のベクトルを算出し、
前記第1のベクトルを、前記マーカに対応付けられた第1のアクションユニットの判定方向に応じた第2のベクトルと、前記マーカに対応付けられた第2のアクションユニットの判定方向に応じた第3のベクトルとに分割し、
前記第2のベクトルと前記第3のベクトルとに基づいて、前記第1のアクションユニットの第1の発生強度と前記第2のアクションユニットの第2の発生強度とを判定する、
処理をコンピュータに実行させることを特徴とする判定プログラム。
【請求項2】
前記分割する処理は、
前記第1のベクトルが、前記第2のベクトルと、前記第3のベクトルとの線形和であることに基づいて、前記第1のベクトルを、前記第2のベクトルと、前記第3のベクトルとに分割する、
処理を含むことを特徴とする請求項1に記載の判定プログラム。
【請求項3】
前記第1のベクトルを算出する処理は、
前記マーカの位置の歪みを補正し、
補正された前記マーカの位置に基づいて前記第1のベクトルを算出する、
処理を含むことを特徴とする請求項1に記載の判定プログラム。
【請求項4】
前記補正する処理は、
前記マーカの第1の位置と、歪みを補正した第2の位置とを対応付けた記憶部を用いて、前記マーカの位置の歪みを補正する、
処理を含むことを特徴とする請求項3に記載の判定プログラム。
【請求項5】
前記マーカに対応付けられたアクションユニットが1つの場合は、前記第1のベクトルと、当該アクションユニットの判定方向に応じたベクトルとの内積を算出し、当該アクションユニットの発生強度を判定する、
処理を前記コンピュータさらに実行させることを特徴とする請求項1に記載の判定プログラム。
【請求項6】
前記撮像画像から前記マーカを除去した画像と、前記第1の発生強度および前記第2の発生強度とに基づいて、機械学習用の訓練データを生成する、
処理を前記コンピュータにさらに実行させることを特徴とする請求項1に記載の判定プログラム。
【請求項7】
マーカを付した顔を含む撮像画像群を取得する取得部と、
前記撮像画像に含まれる前記マーカの位置に基づいて第1のベクトルを算出する算出部と、
前記第1のベクトルを、前記マーカに対応付けられた第1のアクションユニットの判定方向に応じた第2のベクトルと、前記マーカに対応付けられた第2のアクションユニットの判定方向に応じた第3のベクトルとに分割する分割部と、
前記第2のベクトルと前記第3のベクトルとに基づいて、前記第1のアクションユニットの第1の発生強度と前記第2のアクションユニットの第2の発生強度とを判定する判定部と
を備えたことを特徴とする判定装置。
【請求項8】
マーカを付した顔を含む撮像画像群を取得し、
前記撮像画像に含まれる前記マーカの位置に基づいて第1のベクトルを算出し、
前記第1のベクトルを、前記マーカに対応付けられた第1のアクションユニットの判定方向に応じた第2のベクトルと、前記マーカに対応付けられた第2のアクションユニットの判定方向に応じた第3のベクトルとに分割し、
前記第2のベクトルと前記第3のベクトルとに基づいて、前記第1のアクションユニットの第1の発生強度と前記第2のアクションユニットの第2の発生強度とを判定する
処理をコンピュータが実行することを特徴とする判定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定技術に関する。
【背景技術】
【0002】
ノンバーバルコミュニケーションにおいて、表情は重要な役割を果たしている。人を理解し人を支援するコンピュータを開発する上で、表情推定は必須の技術である。表情を推定するには、まず表情の記述方法を規定しなければならない。表情の記述方法として、AU(Action Unit:アクションユニット)が知られている。AUは、顔面筋の解剖学的知見に基づき定義された、表情表出に関与する顔面上の動作で、これまでAUを推定する技術も提案されている。
【0003】
AUを推定するAU推定エンジンの代表的な形態は、大量の訓練データに基づく機械学習をベースとし、訓練データとして、顔表情の画像データと、各AUのOccurrence(発生の有無)やIntensity(発生強度)が用いられる。また、訓練データのOccurrenceやIntensityは、Coder(コーダ)と呼ばれる専門家によりAnnotation(アノテーション)される。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2011-237970号公報
【非特許文献】
【0005】
【文献】X. Zhang, L. Yin, J. Cohn, S. Canavan, M. Reale, A. Horowitz, P. Liu, and J. M. Girard. BP4D-spontaneous: A high-resolution spontaneous 3d dynamic facial expression database. Image and Vision Computing, 32, 2014. 1
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の手法には、AU推定のための訓練データを生成することが困難な場合があるという問題がある。例えば、コーダによるアノテーションでは、費用および時間のコストがかかるため、データを大量に作成することが困難である。また、顔画像の画像処理による顔の各部位の移動計測では、小さな変化を正確に捉えるのが困難であり、コンピュータが人の判断を介さずに顔画像からAUの判定を行うことは難しい。したがって、コンピュータが人の判断を介さずに顔画像にAUのラベルを付した訓練データを生成することは困難である。
【0007】
1つの側面では、AU推定のための訓練データを生成することを目的とする。
【課題を解決するための手段】
【0008】
1つの態様において、判定プログラムは、マーカを付した顔を含む撮像画像群を取得する処理をコンピュータに実行させる。判定プログラムは、撮像画像に含まれるマーカの位置に基づいて第1のベクトルを算出する処理をコンピュータに実行させる。判定プログラムは、第1のベクトルを、マーカに対応付けられた第1のアクションユニットの判定方向に応じた第2のベクトルと、マーカに対応付けられた第2のアクションユニットの判定方向に応じた第3のベクトルとに分割する処理をコンピュータに実行させる。判定プログラムは、第2のベクトルと第3のベクトルとに基づいて、第1のアクションユニットの第1の発生強度と第2のアクションユニットの第2の発生強度とを判定する処理をコンピュータに実行させる。
【発明の効果】
【0009】
1つの側面では、AU推定のための訓練データを生成することができる。
【図面の簡単な説明】
【0010】
図1図1は、本実施形態にかかる判定システムの構成例を示す図である。
図2図2は、本実施形態にかかるカメラの配置例を示す図である。
図3図3は、本実施形態にかかるマーカ移動の一例を示す図である。
図4図4は、本実施形態にかかる発生強度の判定方法の一例を示す図である。
図5図5は、本実施形態にかかる発生強度の判定方法の一例を示す図である。
図6図6は、本実施形態にかかる規定ベクトルに対する移動ベクトルの一例を示す図である。
図7図7は、本実施形態にかかる1つのマーカに対応する複数のAUの規定ベクトルの一例を示す図である。
図8図8は、本実施形態にかかる1つのマーカに対応する、相反する複数のAUの規定ベクトルの一例を示す図である。
図9図9は、本実施形態にかかる判定装置の構成例を示すブロック図である。
図10図10は、本実施形態にかかる移動ベクトルの分割方法の一例を示す図である。
図11図11は、本実施形態にかかるマーカ位置の歪みの一例を示す図である。
図12図12は、本実施形態にかかるマーカ除去のためのマスク画像の生成方法の一例を示す図である。
図13図13は、本実施形態にかかるマーカの除去方法の一例を示す図である。
図14図14は、本実施形態にかかる判定処理の流れの一例を示すフローチャートである。
図15図15は、本実施形態にかかる判定装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本実施形態に係る判定プログラム、判定装置、および判定方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本実施形態が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【0012】
図1を用いて、本実施形態に係る判定システムの構成を説明する。図1は、本実施形態にかかる判定システムの構成を示す図である。図1に示すように、判定システム1は、RGB(Red Green Blue)カメラ31、IR(Infrared:赤外線)カメラ32、判定装置10および機械学習装置20を有する。
【0013】
図1に示すように、まず、RGBカメラ31およびIRカメラ32は、マーカが付された人物の顔に向けられる。例えば、RGBカメラ31は一般的なデジタルカメラであり、可視光を受光し画像を生成する。また、例えば、IRカメラ32は、赤外線を感知する。また、マーカは、例えばIR反射(再帰性反射)マーカである。IRカメラ32は、マーカによるIR反射を利用してモーションキャプチャを行うことができる。また、以降の説明では、撮像対象の人物を被験者と呼ぶ。
【0014】
判定装置10は、RGBカメラ31によって撮像された画像やIRカメラ32によるモーションキャプチャの結果を取得する。そして、判定装置10は、AUの発生強度121を判定し、発生強度121と、撮像画像から画像処理によりマーカを削除した画像122とを機械学習装置20に対し出力する。例えば、発生強度121は、各AUの発生強度を0~1の6段階評価で表現し、「AU1:2、AU2:5、AU4:0、…」のようにアノテーションが行われたデータであってもよい。また、発生強度121は、各AUの発生強度を、発生なしを意味する0と、AからEの5段階評価で表現し、「AU1:B、AU2:E、AU4:0、…」のようにアノテーションが行われたデータであってもよい。さらに、発生強度は、5段階評価で表現されるものに限られるものではなく、例えば2段階評価(発生の有無)によって表現されても良い。
【0015】
機械学習装置20は、判定装置10から出力された画像122およびAUの発生強度121を用いて機械学習を行い、画像からAUの発生強度の推定値を算出するためのモデルを生成する。機械学習装置20は、AUの発生強度をラベルとして用いることができる。なお、機械学習装置20の処理は、判定装置10で行ってもよい。この場合、機械学習装置20は、判定システム1に含まれなくてよい。
【0016】
ここで、図2を用いて、カメラの配置について説明する。図2は、本実施形態にかかるカメラの配置例を示す図である。図2に示すように、複数のIRカメラ32がマーカトラッキングシステムを構成していてもよい。その場合、マーカトラッキングシステムは、ステレオ撮像によりIR反射マーカの位置を検出することができる。また、複数のIRカメラ32のそれぞれの間の相対位置関係は、カメラキャリブレーションにより補正されているものとする。
【0017】
また、撮像される被験者の顔には、対象とするAU(例:AU1からAU28)をカバーするように、複数のマーカが付される。マーカの位置は、被験者の表情の変化に応じて変化する。例えば、マーカ401は、眉の根元付近に配置される。また、マーカ402およびマーカ403は、豊麗線の付近に配置される。マーカは、1つ以上のAUおよび表情筋の動きに対応した皮膚の上に配置されてもよい。また、マーカは、しわの寄りなどにより、テクスチャ変化が大きくなる皮膚の上を避けて配置されてもよい。
【0018】
さらに、被験者は、基準マーカが付された器具40を装着する。被験者の表情が変化しても、器具40に付された基準マーカの位置は変化しないものとする。このため、判定装置10は、基準マーカからの相対的な位置の変化により、顔に付されたマーカの位置の変化を検出することができる。また、判定装置10は、基準マーカとの位置関係を基に、各マーカの平面上または空間上の座標を特定することができる。なお、判定装置10は、マーカ位置を、基準座標系から定めてもよいし、基準面の投影位置から定めてもよい。また、基準マーカの数を3つ以上にすることで、判定装置10は、3次元空間におけるマーカ位置を特定することができる。
【0019】
器具40は、例えばヘッドバンドであり、顔の輪郭外に基準マーカを配置する。また、器具40は、VRヘッドセットおよび固い素材のマスクなどであってもよい。その場合、判定装置10は、器具40のリジッド表面を基準マーカとして利用することができる。
【0020】
判定装置10は、AUの判定基準と複数のマーカの位置とに基づいて、複数のAUのそれぞれの発生の有無を判定する。判定装置10は、複数のAUのうち発生している1つ以上のAUに対して、発生強度を判定する。
【0021】
例えば、判定装置10は、判定基準に含まれる第1のAUに対応付けられた第1のマーカの基準位置と、第1のマーカの位置との距離に基づいて算出した第1のマーカの移動量を基に、第1のAUの発生強度を判定する。なお、第1のマーカは、特定のAUに対応する1つ、あるいは複数マーカということができる。
【0022】
AUの判定基準は、例えば、複数のマーカのうち、AU毎にAUの発生強度を判定するために使用される1つまたは複数のマーカを示す。AUの判定基準は、複数のマーカの基準位置を含んでもよい。AUの判定基準は、複数のAUのそれぞれについて、発生強度の判定に使用されるマーカの移動量と発生強度との関係(換算ルール)を含んでもよい。なお、マーカの基準位置は、被験者が無表情な状態(いずれのAUも発生していない)の撮像画像における複数のマーカの各位置に応じて定められてもよい。
【0023】
ここで、図3を用いて、マーカの移動について説明する。図3は、本実施形態にかかるマーカの移動の一例を示す図である。図3の(a)、(b)、(c)は、RGBカメラ31によって撮像された画像である。また、画像は、(a)、(b)、(c)の順で撮像されたものとする。例えば、(a)は、被験者が無表情であるときの画像である。判定装置10は、(a)の画像のマーカの位置を、移動量が0の基準位置とみなすことができる。
【0024】
図3に示すように、被験者は、眉を寄せるような表情を取っている。このとき、表情の変化に従い、マーカ401の位置は下方向に移動している。その際、マーカ401の位置と、器具40に付された基準マーカとの間の距離は大きくなっている。
【0025】
また、マーカ401の基準マーカからのX方向およびY方向の距離の変動値は、図4のように表される。図4は、本実施形態にかかる発生強度の判定方法の一例を示す図である。図4に示すように、判定装置10は、変動値を発生強度に換算することができる。なお、発生強度は、FACS(Facial Action Coding System)に準じて5段階に量子化されたものであってもよいし、変動量に基づく連続量として定義されたものであってもよい。
【0026】
判定装置10が変動量を発生強度に換算するルールとしては、様々なものが考えられる。判定装置10は、定められた1つのルールに従って換算を行ってもよいし、複数のルールで換算を行い、最も発生強度が大きいものを採用するようにしてもよい。
【0027】
例えば、判定装置10は、被験者が最大限表情を変化させたときの変動量である最大変動量を取得しておき、変動量の最大変動量に対する割合に基づいて発生強度を換算してもよい。また、判定装置10は、従来手法によりコーダがタグ付けしたデータを用いて最大変動量を定めておいてもよい。また、判定装置10は、変動量を発生強度にリニアに換算してもよい。また、判定装置10は、複数の被験者の事前測定から作成された近似式を用いて換算を行ってもよい。
【0028】
また、例えば、判定装置10は、判定基準として設定された位置と、第1のマーカの位置とに基づいて算出した第1のマーカの移動ベクトルを基に発生強度を判定することができる。この場合、判定装置10は、第1のマーカの移動ベクトルと、第1のAUに対して対応付けられた規定ベクトルとの合致度合いを基に、第1のAUの発生強度を判定する。また、判定装置10は、既存のAU推定エンジンを使って、ベクトルの大きさと発生強度の対応を補正してもよい。
【0029】
AUの発生強度の判定方法をより具体的に説明する。図5は、本実施形態にかかる発生強度の判定方法の一例を示す図である。例えば、AU4に対応する規定ベクトルが(X,Y)=(-2mm,-6mm)のように定められているものとする。このとき、判定装置10は、マーカ401の移動ベクトルと規定ベクトルとの内積を算出し、規定ベクトルの大きさで規格化する。ここで、内積がAU4の規定ベクトルの大きさと一致すれば、判定装置10は、AU4の発生強度を5段階中の5と判定する。一方、内積がAU4の規定ベクトルの半分であれば、例えば、前述のリニアな換算ルールの場合は、判定装置10は、AU4の発生強度を5段階中の3と判定する。
【0030】
また、例えば、図5において、AU11に対応する規定ベクトルの大きさが3mmのように定められているものとする。このとき、判定装置10は、マーカ402とマーカ403の間の距離の変動量がAU11の規定ベクトルの大きさと一致すれば、AU11の発生強度を5段階中の5と判定する。一方、距離の変動量がAU11の規定ベクトルの半分であれば、例えば、前述のリニアな換算ルールの場合は、判定装置10は、AU11の発生強度を5段階中の3と判定する。このように、判定装置10は、第1のマーカの位置および第2のマーカの位置との間の距離の変化を基に、発生強度を判定することができる。
【0031】
ところで、各マーカの移動ベクトルには分散が発生し得、規定ベクトルの判定方向と完全には一致しない場合がある。図6は、本実施形態にかかる規定ベクトルに対する移動ベクトルの一例を示す図である。図6の例では、マーカ403に対応付けられたAU4の規定ベクトル411と、マーカ403の移動ベクトル421および422とが示されている。
【0032】
図6に示すように、例えば、AU4の規定ベクトル411に対し、マーカ401の移動ベクトル421や422によって示される方向にはズレが生じている。あくまでも一例であるが、このように、マーカ401の移動ベクトルは、分散範囲501内で分散し得る。
【0033】
しかしながら、移動ベクトルの分散が発生しても、移動ベクトルと規定ベクトルとの内積を算出することで、規定ベクトルに対応したAUの発生強度を判定できる。図6では、内積431が移動ベクトル421と規定ベクトル411との内積である。図5を用いて具体的に説明したように、内積431によって規定ベクトル411に対応したAU4の発生強度を判定できる。なお、図6では、内積431を便宜上、規定ベクトル411と若干ずらして示しているが、実際には重なっている。
【0034】
以上、1つのマーカに対して1つのAUが対応付けられる例を説明したが、1つのマーカに対して複数のAUが対応付けられる場合もある。つまり、表情判定を特定部位の動き(単一マーカの移動量)で推定する場合、単一のAUのみに寄与する部位と複数のAUに関連する部位とがある。複数のAUに関連する部位(マーカ)については、複数のAUの発生強度推定に用いられるため、1つのマーカに複数のAUが対応付けられる。
【0035】
図7は、本実施形態にかかる1つのマーカに対応する複数のAUの規定ベクトルの一例を示す図である。図7の例では、同一のマーカ404に対応付けられた2つのAUの規定ベクトル412および413が示されている。また、マーカ404の移動ベクトル423が示されている。移動ベクトルが規定ベクトル412もしくは規定ベクトル413のいずれか一方にのみ沿って発生した場合は、いずれか一方のAUが発生している。これに対して、移動ベクトル423は、被験者の表情によって2つのAUが同時発生した場合の移動ベクトルである。
【0036】
このように2つのAUが同時発生した場合でも、各AUの規定ベクトル412および413のそれぞれに対し、移動ベクトル423との内積432および433を算出することで、各AUの発生強度を判定できる。
【0037】
しかしながら、一部の部位の動きについて、AUの発生強度判定において相反する動きを示すことがある。つまり、同時発生したAUの規定ベクトルが相反する場合、移動ベクトルとの内積では、AUの発生強度が正しく判定できない場合がある。ここで、規定ベクトルが相反するとは、例えば、2つの規定ベクトルが、少なくともx軸またはy軸方向で、反対の成分を有することである。図8は、本実施形態にかかる1つのマーカに対応する、相反する複数のAUの規定ベクトルの一例を示す図である。図8の例では、マーカ405に対応付けられた2つのAUの規定ベクトル414および415が示されている。また、マーカ405の移動ベクトル424が示されている。移動ベクトル424は、被験者の表情によって2つのAUが同時発生した場合の移動ベクトルである。
【0038】
図8に示すように、相反する規定ベクトル414および415のそれぞれに対し、移動ベクトル424との内積434および435を算出すると、内積435が対応する規定ベクトル415に対し、マイナスになってしまう。そのため、規定ベクトル414を判定方向とするAUの発生強度は、例えば2と判定できるが、内積が0以下になる、規定ベクトル415を判定方向とするAUの発生強度は0と判定されてしまい、正しく判定できない。そこで、本実施形態にかかる判定装置10は、同一マーカに対応する規定ベクトルが相反するものであっても、それぞれのAUの発生強度を正しく判定する。
【0039】
図9を用いて、本実施形態にかかる判定装置10の機能構成を説明する。図9は、判定装置の構成例を示すブロック図である。図9に示すように、判定装置10は、入力部11、出力部12、記憶部13、および制御部14を有する。
【0040】
入力部11は、データを入力するためのインタフェースである。例えば、入力部11は、RGBカメラ31、IRカメラ32、マウス、およびキーボードなどの入力装置を介してデータの入力を受け付ける。例えば、RGBカメラ31によって撮像された画像およびIRカメラ32によるモーションキャプチャの結果を入力する。また、出力部12は、データを出力するためのインタフェースである。例えば、出力部12は、ディスプレイなどの出力装置にデータを出力する。例えば、AUの発生強度121と、撮像画像から画像処理によりマーカを削除した画像122とを出力する。
【0041】
記憶部13は、データや制御部14が実行するプログラムなどを記憶する記憶装置の一例であり、例えばハードディスクやメモリなどである。記憶部13は、AU情報131、およびAU発生強度推定モデル132を記憶する。
【0042】
AU情報131は、マーカとAUの対応関係を表す情報である。例えば、各マーカの基準位置、各マーカに対応する1つまたは複数のAU、各AUの規定ベクトルの方向と大きさを対応付けて格納する。
【0043】
AU発生強度推定モデル132は、マーカを除去した撮像画像を特徴量とし、1つのマーカに対応する複数のAUを含むAUの発生強度を正解ラベルとして機械学習により生成したモデルを格納する。
【0044】
制御部14は、判定装置10全体を司る処理部であり、取得部141、算出部142、分割部143、判定部144、および生成部145を有する。
【0045】
取得部141は、顔を含む撮像画像を取得する。例えば、取得部141は、複数のAUに対応する複数の基準位置にマーカを付した被験者の顔を含む連続で撮像された撮像画像群を取得する。取得部141によって取得される撮像画像は、上述したようにRGBカメラ31やIRカメラ32によって撮像される。
【0046】
ここで、RGBカメラ31およびIRカメラ32による撮像が行われる際、被験者は表情を変化させていく。この際、被験者は、自由に表情を変化させてもよいし、定められたシナリオに沿って表情を変化させてもよい。これにより、RGBカメラ31およびIRカメラ32は、時系列に沿って表情が変化していく様子を画像として撮像することができる。また、RGBカメラ31は、動画による撮影を行うこともできる。すなわち、動画は、時系列に並べられた複数の静止画とみなすことができる。
【0047】
算出部142は、撮像画像に含まれるマーカの位置に基づいて移動ベクトルを算出する。例えば、算出部142は、撮像画像のマーカの基準位置から、被験者の表情変化によって移動したマーカの移動量と移動方向を導出する。
【0048】
また、算出部142は、顔の皮膚や筋肉によって生じるマーカ位置の歪みを補正し、補正されたマーカ位置に基づいて移動ベクトルを算出することもできる。マーカ位置に歪み補正については後述する。
【0049】
また、算出部142は、マーカに対応付けられたAUが1つの場合、移動ベクトルと、マーカに対応付けられたAUの判定方向を示す規定ベクトルとの内積を算出する。
【0050】
分割部143は、マーカに対応付けられたAUが複数の場合、移動ベクトルを、マーカに対応付けられた各AUの判定方向に応じた複数のベクトルに分割する。図10は、本実施形態にかかる移動ベクトルの分割方法の一例を示す図である。移動ベクトル424は、図8で示したもの同様、マーカ405に対応付けられた規定ベクトル414および415を判定方向とする2つのAUが同時発生した場合の移動ベクトルである。分割部143は、移動ベクトル424を、規定ベクトル414および415のそれぞれに対応する分割ベクトル444および445に分割する。
【0051】
移動ベクトルの分割は、移動ベクトルが各規定ベクトルの線形和であることに基づいて、次式(1)を用いて算出できる。
【数1】
【0052】
ここで、式1における(X,Y)は、移動ベクトルの2次元座標、(Xa,Ya)および(Xb,Yb)は、各規定ベクトルの2次元座標であり、αおよびβは、各規定ベクトルの線形係数である。なお、マーカに対応付けられたAUが3つ以上の場合は、式(1)において加算する規定ベクトルの2次元座標を(Xc,Yc)、(Xd,Yd)、・・・と増やし、それぞれの線形係数もγ、σ・・・と増やす。
【0053】
分割部143は、式(1)を、例えば、次式(2)に変換し、線形係数αおよびβを算出できる。
【数2】
【0054】
図10の例では、規定ベクトル414の2次元座標が(0,10)、規定ベクトル415の2次元座標が(2.4,-9.7)、移動ベクトル424の2次元座標が(1.5,4.2)であったとする。この場合、分割部143は、式(1)および(2)に各値を代入し、(α,β)を(1,0.6)と算出できる。また、判定部144は、(α,β)=(1,0.6)に基づいて、規定ベクトル414の発生強度を5、規定ベクトル415の発生強度を3と判定できる。
【0055】
判定部144は、上述したように、各規定ベクトルに基づいて、それぞれに対応するAUの発生強度を判定する。また、判定部144は、発生強度のみならず、移動ベクトル、または分割ベクトルにより示されるマーカの移動量が所定の閾値を超過するかに基づいて、AUの発生の有無を判定することもできる。
【0056】
以上、移動ベクトルの算出から、AUの発生強度の判定まで説明したが、より高精度に判定を行うためには、顔の皮膚や筋肉によって生じるマーカ位置の歪みを補正するようにしてもよい。図11は、本実施形態にかかるマーカ位置の歪みの一例を示す図である。
【0057】
図11において、マーカ406-1は、被験者が無表情の時のマーカ406の位置である。図11の左側に示すように、マーカ406は、例えば、マーカ406-1からマーカ406-2を最遠位置として四角状の範囲内で移動可能である。しかしながら、実際には、マーカ406は、顔の皮膚や筋肉によって移動の制限を受け、例えば、図11の右側に示すような扇状の範囲内でしか移動できない。この場合、本来はマーカ406-2の位置になるはずのマーカ位置は、移動制限を受け、例えば、マーカ406-3の位置になってしまう。
【0058】
より具体的には、図11の中央に示すように、例えば、マーカ406は、被験者が表情を変化させると、表情筋441および442によって矢印の方向に引っ張られる。これに対し、マーカ406は、他の表情筋や皮膚であるアンカー451によって逆方向にも引っ張られ、結果的に移動が制限されてしまう。このようなマーカ位置の移動制限を、マーカ位置の歪みと呼ぶ。そこで、本実施形態にかかる判定装置10では、マーカ位置の歪みを補正した上で、補正されたマーカ位置に基づいて、移動ベクトルを算出する。これにより、判定装置10は、AUの発生強度や発生の有無をより高精度に判定できる。
【0059】
マーカ位置の歪み補正について具体的に説明する。マーカ位置の歪み補正は、例えば、歪みが発生した場合のマーカ位置と、本来のマーカ位置とのマッピングテーブルを用いて行うことができる。前者の歪み発生マーカ位置の一例は、図11で言うところのマーカ406-3の位置、後者の本来のマーカ位置の一例は、マーカ406-2の位置である。歪みが発生する部位のマーカについては、このような歪み発生マーカ位置の各位置と、それぞれの歪み発生マーカ位置に対応する本来のマーカ位置とをマッピングテーブルに設定する。そして、歪みが発生する部位のマーカについては、移動ベクトルによって示されるマーカ位置の移動量から、歪み発生マーカ位置を算出し、マッピングテーブルを検索することで、対応する本来のマーカ位置を導出できる。なお、マッピングテーブルに、歪み発生マーカ位置と同位置のデータが無い場合は、歪み発生マーカ位置に最も近い位置のデータを検索し、対応する本来のマーカ位置を導出することもできる。
【0060】
マッピングテーブルは、例えば、被験者からの実測データに基づいて作成できる。より具体的には、例えば、被験者の顔にマーカを付して、指定した表情を作ってもらい、各表情データと対応する移動量データを作成する。次に、表情データに基づいて、コーダにAUの発生強度をアノテーションしてもらう。そして、実測データから歪み発生マーカ位置を、アノテーション結果から本来のマーカ位置をそれぞれ導出し、マッピングテーブルに設定する。
【0061】
また、マーカ位置の歪み補正は、例えば、図11の中央に示すような、表情筋441および442、ならびにアンカー451のそれぞれについてばね定数を設定して生成したばねモデルを用いて行うことができる。すなわち、当該ばねモデルに対し、マーカの基準位置から本来のマーカ位置までの移動量相当の力を加えたシミュレーションを行うことで、歪み発生マーカ位置がわかる。そのため、当該ばねモデルに適当な力を加えることで、本来のマーカ位置を知りたい歪み発生マーカ位置を求めることで、その際に加えた力に基づいて本来のマーカ位置を導出できる。また、このばねモデルを用いて、本来のマーカ位置に対するシミュレーションを行うことで、上述したマッピングテーブルを作成することもできる。また、ばねモデルのばね定数は、判定装置10によるAUの発生強度の判定結果などによって適宜調整できる。
【0062】
生成部145は、撮像画像群とAUの発生強度とを対応付けたデータセットを作成する。当該データセットを用いた機械学習を行うことにより、撮像画像群からAUの発生強度の推定値を算出するためのモデルであるAU発生強度推定モデル132を生成できる。また、生成部145は、撮像画像群から画像処理によりマーカを除去する。マーカの除去について具体的に説明する。
【0063】
生成部145は、マスク画像を用いてマーカを除去することができる。図12は、本実施形態にかかるマーカ除去のためのマスク画像の生成方法を説明する説明図である。図12の(a)は、RGBカメラ31によって撮像された画像である。まず、生成部145は、意図的に付けられたマーカの色を抽出して代表色として定義する。そして、図12の(b)のように、生成部145は、代表色近傍の色の領域画像を生成する。さらに、図12の(c)のように、生成部145は、代表色近傍の色の領域に対し収縮、膨張などの処理を行い、マーカ除去用のマスク画像を生成する。また、マーカの色を顔の色としては存在しにくい色に設定しておくことで、マーカの色の抽出精度を向上させてもよい。
【0064】
図13は、本実施形態にかかるマーカの除去方法を説明する説明図である。図13に示すように、まず、生成部145は、動画から取得した静止画に対し、マスク画像を適用する。さらに、生成部145は、マスク画像を適用した画像を例えばニューラルネットワークに入力し、処理済みの画像を得る。なお、ニューラルネットワークは、被験者のマスクありの画像およびマスクなしの画像などを用いて訓練済みであるものとする。なお、動画から静止画を取得することにより、表情変化の途中データが得られることや、短時間で大量のデータが得られることがメリットとして生じる。また、生成部145は、ニューラルネットワークとして、GMCNN(Generative Multi-column Convolutional Neural Networks)やGAN(Generative Adversarial Networks)を用いてもよい。
【0065】
なお、生成部145がマーカを除去する方法は、上記のものに限られない。例えば、生成部145は、定められたマーカの形状を基にマーカの位置を検出し、マスク画像を生成してもよい。また、IRカメラ32とRGBカメラ31の相対位置のキャリブレーションを事前に行うようにしてもよい。この場合、生成部145は、IRカメラ32によるマーカトラッキングの情報からマーカの位置を検出することができる。
【0066】
また、生成部145は、マーカにより異なる検出方法を採用してもよい。例えば、鼻上のマーカは動きが少なく、形状を認識しやすいため、生成部145は、形状認識により位置を検出してもよい。また、口横のマーカは動きが大きく、形状を認識しにくいため、生成部145は、代表色を抽出する方法で位置を検出してもよい。
【0067】
次に、図14を用いて、判定装置10によるAUの発生強度の判定処理の流れを説明する。図14は、本実施形態にかかる判定処理の流れの一例を示すフローチャートである。図14に示すように、まず、取得部141は、複数のAUに対応する複数の基準位置にマーカを付した被験者の顔を含む撮像画像群を取得する(ステップS101)。
【0068】
次に、算出部142は、取得部141によって取得された撮像画像に含まれるマーカの位置に基づいて移動ベクトルを算出する(ステップS102)。なお、歪みが発生する部位のマーカについては、マーカ位置の歪みを補正した上で、移動ベクトルを算出する。
【0069】
次に、移動ベクトルの算出に用いたマーカに対応するAUが1つの場合(ステップS103:Yes)、算出部142は、移動ベクトルと、マーカに対応付けられたAUの規定ベクトルとの内積を算出する(ステップS104)。
【0070】
一方、移動ベクトルの算出に用いたマーカに対応するAUが2つ以上の場合(ステップS103:No)、分割部143は、移動ベクトルを、マーカに対応付けられた各AUのベクトルに分割する(ステップS105)。
【0071】
次に、判定部144は、ステップS104で算出されたAUの規定ベクトルとの内積、または、ステップS105で分割された各AUの分割ベクトルに基づいて、対応するAUの発生強度を判定する(ステップS106)。具体的には、移動ベクトルと規定ベクトルとの内積が算出された場合は、内積を規定ベクトルの大きさで規格化することでAUの発生強度を判定できる。一方、移動ベクトルが各AUに対応するベクトルに分割された場合は、分割されたベクトルを規定ベクトルの大きさで規格化することでAUの発生強度を判定できる。なお、移動ベクトルの算出に用いたマーカに対応するAUが2つ以上であっても、各規定ベクトルが相反しない場合は、移動ベクトルと、マーカに対応付けられたAUの規定ベクトルとの内積を算出してもよい(ステップS106ではなくステップS104を実行)。ステップS106の後、図14に示す判定処理は終了する。
【0072】
次に、AU発生強度推定モデル132に格納されたモデルを用いたAU発生強度の推定処理について説明する。当該モデルに、推定対象の人物の顔が撮像された画像を入力することで、1つまたは複数のAUの発生強度が出力される。推定対象の人物の顔にマーカは付されている必要はない。また、当該モデルは、同一マーカに複数のAUが対応付けられており、各AUの規定ベクトルが相反する場合のAUの発生強度に対しても訓練済みである。そのため、当該モデルを用いることで、規定ベクトルが相反する複数のAUが発生する表情に対しても、AUの発生強度を正しく推定できる。なお、当該モデルは、判定装置10以外の装置に格納されてAU発生強度の推定処理に用いられてもよい。
【0073】
上述したように、判定装置10は、マーカを付した顔を含む撮像画像群を取得し、撮像画像に含まれるマーカの位置に基づいて第1のベクトルである移動ベクトルを算出し、第1のベクトルを、マーカに対応付けられた第1のAUの判定方向に応じた第2のベクトルである分割ベクトルと、マーカに対応付けられた第2のAUの判定方向に応じた第3のベクトルである分割ベクトルとに分割し、第2のベクトルと第3のベクトルとに基づいて、第1のAUの第1の発生強度と第2のAUの第2の発生強度とを判定する。
【0074】
これにより、判定装置10は、同一マーカに対応する規定ベクトルが相反するものであっても、それぞれのAUの発生強度を正しく判定できる。具体的には、同一マーカに対応する規定ベクトルが相反する場合、図8に示したように、移動ベクトル424と規定ベクトル415との内積を求めると内積がマイナスになってしまい、AUの発生強度を0と判定してしまう。一方、判定装置10では、図10に示したように、移動ベクトル424を、各AUの判定方向に応じた分割ベクトル444および445に分割し、各AUの発生強度を判定できる。
【0075】
また、判定装置10により実行される、第1のベクトルを、第2のベクトルと、第3のベクトルとに分割する処理は、第1のベクトルが、第2のベクトルと、第3のベクトルとの線形和であることに基づいて、第1のベクトルを、第2のベクトルと、第3のベクトルとに分割する処理を含む。
【0076】
これにより、判定装置10は、移動ベクトルをより容易に分割できる。
【0077】
また、判定装置10により実行される第1のベクトルを算出する処理は、マーカの位置の歪みを補正し、補正されたマーカの位置に基づいて第1のベクトルを算出する処理を含む。
【0078】
これにより、判定装置10は、AUの発生強度をより高精度に判定できる。
【0079】
また、判定装置10により実行されるマーカの位置の歪みを補正する処理は、マーカの第1の位置と、歪みを補正した第2の位置とを対応付けた記憶部を用いて、マーカの位置の歪みを補正する処理を含む。
【0080】
これにより、判定装置10は、AUの発生強度をより高精度に判定できる。
【0081】
また、判定装置10はさらに、マーカに対応付けられたAUが1つの場合、第1のベクトルと、当該AUの判定方向に応じたベクトルとの内積を算出し、当該内積に基づいて、当該AUの発生強度を判定する。
【0082】
これにより、判定装置10は、AUの発生強度をより効率的に判定できる。
【0083】
また、判定装置10はさらに、撮像画像からマーカを除去した画像と、第1の発生強度および第2の発生強度とに基づいて、機械学習用のデータを生成する。
【0084】
これにより、生成されたデータを用いた機械学習を行い、同一マーカに対応する規定ベクトルが相反する場合に撮像画像からAUの発生強度の推定値を算出するためのモデルを生成できる。
【0085】
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、上記具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
【0086】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。例えば、判定装置10の算出部142を複数の処理部に分散したり、判定装置10の算出部142と分割部143とを1つの処理部に統合したりすることができる。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0087】
図15は、図15は、本実施形態にかかる判定装置のハードウェア構成例を示す図である。図15に示すように、判定装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図15に示した各部は、バスなどで相互に接続される。
【0088】
通信インタフェース10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、図9などに示した機能を動作させるプログラムやDBを記憶する。
【0089】
プロセッサ10dは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などである。また、プロセッサ10dは、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現されるようにしてもよい。プロセッサ10dは、図9などに示した各処理部と同様の処理を実行するプログラムをHDD10bなどから読み出してメモリ10cに展開することで、図9などで説明した各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、判定装置10が有する各処理部と同様の機能を実行する。
【0090】
また、判定装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、判定装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0091】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0092】
1 判定システム
10 判定装置
10a 通信インタフェース
10b HDD
10c メモリ
10d プロセッサ
11 入力部
12 出力部
13 記憶部
14 制御部
20 機械学習装置
31 RGBカメラ
32 IRカメラ
40 器具
121 発生強度
122 画像
131 AU情報
132 AU発生強度推定モデル
141 取得部
142 算出部
143 分割部
144 判定部
145 生成部
401、402、403、404、405、406 マーカ
411、412、413、414、415 規定ベクトル
421、422、423、424 移動ベクトル
431、432、433、434、435 内積
441、442 表情筋
444、445 分割ベクトル
451 アンカー
501 分散範囲



図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15