(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023168081
(43)【公開日】2023-11-24
(54)【発明の名称】訓練データ生成プログラム、訓練データ生成方法及び訓練データ生成装置
(51)【国際特許分類】
G06T 7/20 20170101AFI20231116BHJP
G06T 7/00 20170101ALI20231116BHJP
G06V 10/774 20220101ALI20231116BHJP
【FI】
G06T7/20 300A
G06T7/00 350C
G06V10/774
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022079723
(22)【出願日】2022-05-13
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】内田 昭嘉
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096DA01
5L096EA03
5L096EA13
5L096EA35
5L096FA09
5L096FA67
5L096GA34
5L096HA02
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
【課題】顔画像上のマーカの動きおよびラベルの対応関係が歪んだ訓練データが生成されるのを抑制すること。
【解決手段】訓練データ生成プログラムは、マーカが付された人物の顔を含む撮像画像を取得し、取得した撮像画像から抽出された人物の顔画像の画像サイズを変更し、取得した撮像画像に含まれるマーカの位置を特定し、人物の顔の表情を構成する単位から成るとともに前記マーカの位置に対応するアクションユニットの発生強度を示すラベルを生成し、撮像画像の撮影時の人物の撮影位置または撮像画像上の人物の顔サイズに基づいて、生成されたラベルを補正し、画像サイズが変更された顔画像からマーカが削除された訓練用顔画像に、補正されたラベルを付与することによって機械学習用の訓練データを生成する、処理をコンピュータに実行させる。
【選択図】
図5
【特許請求の範囲】
【請求項1】
マーカが付された人物の顔を含む撮像画像を取得し、
取得した前記撮像画像から抽出された前記人物の顔画像の画像サイズを変更し、
取得した前記撮像画像に含まれる前記マーカの位置を特定し、
前記人物の顔の表情を構成する単位から成るとともに前記マーカの位置に対応するアクションユニットの発生強度を示すラベルを生成し、
前記撮像画像の撮影時の前記人物の撮影位置または前記撮像画像上の前記人物の顔サイズに基づいて、生成された前記ラベルを補正し、
前記画像サイズが変更された前記顔画像から前記マーカが削除された訓練用顔画像に、補正された前記ラベルを付与することによって機械学習用の訓練データを生成する、
処理をコンピュータに実行させることを特徴とする訓練データ生成プログラム。
【請求項2】
前記補正する処理は、基準の撮影位置に対する前記人物の撮影位置の比、または、基準の顔サイズに対する前記人物の顔サイズの比に基づいて前記ラベルを補正する処理を含む、
ことを特徴とする請求項1に記載の訓練データ生成プログラム。
【請求項3】
前記取得する処理は、前記人物の顔が異なるカメラポジションまたは異なるカメラアングルで撮影された第1の撮像画像および第2の撮像画像を取得する処理を含み、
前記補正する処理は、前記第1の撮像画像に対応する前記マーカの移動量から生成されたラベルを補正し、前記第2の撮像画像の撮影時の前記人物の撮影位置または前記第2の撮像画像上の前記人物の顔サイズに基づいて、前記第2の撮像画像から切り出された顔画像の画像サイズが正規化された顔画像の画像サイズを補正する処理を含み、
前記訓練データを生成する処理は、前記第1の撮像画像に前記人物の顔画像の切出し、前記画像サイズの正規化および前記マーカの削除が実行されることにより得られた第1の訓練用顔画像に前記補正する処理で補正された前記ラベルを付与することにより第1の訓練データを生成し、前記補正する処理で前記画像サイズが補正された顔画像から前記マーカが削除された第2の訓練用顔画像に、前記第1の訓練データに付与されたラベルと同一のラベルを付与することにより第2の訓練データを生成する処理を含む、
ことを特徴とする請求項1に記載の訓練データ生成プログラム。
【請求項4】
前記補正する処理は、補正後の画像サイズが機械学習モデルの入力サイズよりも大きい場合、補正後の顔画像から前記機械学習モデルの入力サイズに対応する領域を切り出し、補正後の画像サイズが機械学習モデルの入力サイズよりも小さい場合、前記機械学習モデルの入力サイズに不足する分の余白部を補正後の顔画像に追加する処理を含む、
ことを特徴とする請求項3に記載の訓練データ生成プログラム。
【請求項5】
前記第1の撮像画像は、カメラポジションがアイレベルであり、かつカメラアングルが水平アングルで撮影された画像に対応し
前記第2の撮像画像は、カメラポジションがアイレベル以外であるか、あるいはカメラアングルが水平アングル以外で撮影された画像に対応する、
ことを特徴とする請求項3に記載の訓練データ生成プログラム。
【請求項6】
マーカが付された人物の顔を含む撮像画像を取得し、
取得した前記撮像画像から抽出された前記人物の顔画像の画像サイズを変更し、
取得した前記撮像画像に含まれる前記マーカの位置を特定し、
前記人物の顔の表情を構成する単位から成るとともに前記マーカの位置に対応するアクションユニットの発生強度を示すラベルを生成し、
前記撮像画像の撮影時の前記人物の撮影位置または前記撮像画像上の前記人物の顔サイズに基づいて、生成された前記ラベルを補正し、
前記画像サイズが変更された前記顔画像から前記マーカが削除された訓練用顔画像に、補正された前記ラベルを付与することによって機械学習用の訓練データを生成する、
処理をコンピュータが実行することを特徴とする訓練データ生成方法。
【請求項7】
マーカが付された人物の顔を含む撮像画像を取得し、
取得した前記撮像画像から抽出された前記人物の顔画像の画像サイズを変更し、
取得した前記撮像画像に含まれる前記マーカの位置を特定し、
前記人物の顔の表情を構成する単位から成るとともに前記マーカの位置に対応するアクションユニットの発生強度を示すラベルを生成し、
前記撮像画像の撮影時の前記人物の撮影位置または前記撮像画像上の前記人物の顔サイズに基づいて、生成された前記ラベルを補正し、
前記画像サイズが変更された前記顔画像から前記マーカが削除された訓練用顔画像に、補正された前記ラベルを付与することによって機械学習用の訓練データを生成する、
処理を実行する制御部を含む訓練データ生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、訓練データ生成技術に関する。
【背景技術】
【0002】
ノンバーバルコミュニケーションにおいて、表情は重要な役割を果たしている。人を理解し、センシングするためには、表情推定技術は重要である。表情推定のためのツールとしてAU(Action Unit:アクションユニット)と呼ばれる手法が知られている。AUは、表情を顔の部位と表情筋に基づいて分解して定量化する手法である。
【0003】
AU推定エンジンは、大量の訓練データに基づく機械学習がベースにあり、訓練データとして、顔表情の画像データと、各AUのOccurrence(発生の有無)やIntensity(発生強度)とが用いられる。また、訓練データのOccurrenceやIntensityは、Coder(コーダ)と呼ばれる専門家によりAnnotation(アノテーション)される。
【0004】
このように、訓練データの生成をコーダ等によるアノテーションに委ねたのでは、費用及び時間のコストがかかるため、訓練データを大量に生成することが困難な側面がある。このような側面から、AU推定の訓練データを生成する生成装置が提案されている。
【0005】
例えば、生成装置は、顔を含む撮像画像に含まれるマーカの位置を特定し、初期状態、例えば無表情状態におけるマーカ位置からの移動量に基づいてAUの強度を判定する。その一方で、生成装置は、撮像画像から顔領域を切り出して画像サイズを正規化することにより顔画像を生成する。そして、生成装置は、生成された顔画像にAUの強度などを含むラベルを付与することによって機械学習用の訓練データを生成する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2012-8949号公報
【特許文献2】国際公開第2022/024272号
【特許文献3】米国特許出願公開第2021/0271862号明細書
【特許文献4】米国特許出願公開第2019/0294868号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の生成装置では、同一のマーカの移動量が撮影される場合、撮像画像に対する切り出しおよび正規化などの加工により、加工後の顔画像の間でマーカの動きにギャップが生じる一方で、各顔画像には、同一のAUの強度のラベルが付与される。このように、顔画像上のマーカの動きおよびラベルの対応関係が歪んだ訓練データが機械学習に用いられる場合、同様の表情変化が撮影された撮像画像が入力された機械学習モデルが出力するAUの強度の推定値にばらつきが生じるので、AU推定の精度が低下する。
【0008】
1つの側面では、本発明は、顔画像上のマーカの動きおよびラベルの対応関係が歪んだ訓練データが生成されるのを抑制できる訓練データ生成プログラム、訓練データ生成方法及び訓練データ生成装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
1つの側面にかかる訓練データ生成プログラムは、人物の顔を含む撮像画像を取得し、前記撮像画像から前記人物の顔画像を切り出して画像サイズを正規化し、前記撮像画像に含まれるマーカの位置を特定し、アクションユニットに対応する前記マーカの基準位置と、特定された前記マーカの位置とから得られる前記マーカの移動量に基づいて、前記アクションユニットの発生強度に対応するラベルを生成し、前記撮像画像の撮影時の前記人物の撮影位置または前記撮像画像上の前記人物の顔サイズに基づいて前記ラベルを補正し、正規化された顔画像から前記マーカが削除された訓練用顔画像に、補正された前記ラベルを付与することによって機械学習用の訓練データを生成する、処理をコンピュータに実行させる。
【発明の効果】
【0010】
一実施形態によれば、顔画像上のマーカの動きおよびラベルの対応関係が歪んだ訓練データが生成されるのを抑制できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、システムの動作例を示す模式図である。
【
図3】
図3は、撮像画像の加工例を示す模式図である。
【
図5】
図5は、訓練データ生成装置の機能構成例を示すブロック図である。
【
図6】
図6は、マーカの移動の一例について説明する図である。
【
図7】
図7は、発生強度の判定方法を説明する図である。
【
図8】
図8は、発生強度の判定方法の一例を説明する図である。
【
図9】
図9は、マスク画像の作成方法の一例を説明する図である。
【
図10】
図10は、マスク画像の作成方法の一例を説明する図である。
【
図15】
図15は、全体処理の手順を示すフローチャートである。
【
図16】
図16は、判定処理の手順を示すフローチャートである。
【
図17】
図17は、画像加工処理の手順を示すフローチャートである。
【
図18】
図18は、補正処理の手順を示すフローチャートである。
【
図19】
図19は、カメラユニットの一例を示す模式図である。
【
図25】
図25は、基準カメラ以外に適用する補正処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本願に係る訓練データ生成プログラム、訓練データ生成方法及び訓練データ生成装置の実施例について説明する。各実施例には、あくまで1つの例や側面を示すに過ぎず、このような例示により数値や機能の範囲、利用シーンなどは限定されない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例0013】
<システム構成>
図1は、システムの動作例を示す模式図である。
図1に示すように、システム1には、撮像装置31と、測定装置32と、訓練データ生成装置10と、機械学習装置50とが含まれ得る。
【0014】
撮像装置31は、あくまで一例として、RGB(Red、Green、Blue)カメラなどにより実現され得る。測定装置32は、あくまで一例として、IR(infrared:赤外線)カメラなどにより実現され得る。このように、撮像装置31は、あくまで一例として、可視光に対応する分光感度を有する一方で、赤外光に対応する分光感度を有する。これら撮像装置31及び測定装置32は、マーカが付された人物の顔に向けた状態で配置され得る。以下、マーカが顔に付された人物が撮影対象とされることとし、このように撮影対象とされる人物のことを「被験者」と記載する場合がある。
【0015】
これら撮像装置31による撮影および測定装置32による測定が行われる際、被験者は表情を変化させていく。これにより、訓練データ生成装置10は、時系列に沿って表情が変化していく様子を撮像画像110として取得することができる。また、撮像装置31は、撮像画像110として動画を撮像してもよい。このような動画も、時系列に並べられた複数の静止画とみなすことができる。また、被験者は、自由に表情を変化させてもよいし、あらかじめ定められたシナリオに沿って表情を変化させてもよい。
【0016】
マーカは、あくまで一例として、IR反射(再帰性反射)マーカにより実現される。このようなマーカによるIR反射を利用して、測定装置32は、モーションキャプチャを行うことができる。
【0017】
図2は、カメラの配置例を示す図である。
図2に示すように、測定装置32は、複数のIRカメラ32A~32Eを用いるマーカトラッキングシステムにより実現される。このようなマーカトラッキングシステムによれば、ステレオ撮影によりIR反射マーカの位置を測定することができる。これらIRカメラ32A~32Eのそれぞれの間の相対位置関係は、カメラキャリブレーションによりあらかじめ補正することができる。なお、
図2には、IRカメラ32A~32Eの5つのカメラユニットがマーカトラッキングシステムに用いられる例を示すが、マーカトラッキングシステムに用いられるIRカメラの個数は任意であってよい。
【0018】
また、被験者の顔には、対象とするAU(例:AU1からAU28)をカバーするように、複数のマーカが付される。マーカの位置は、被験者の表情の変化に応じて変化する。例えば、マーカ401は、眉の根元付近に配置される。また、マーカ402及びマーカ403は、豊麗線の付近に配置される。マーカは、1つ以上のAU及び表情筋の動きに対応した皮膚の上に配置されてもよい。また、マーカは、しわの寄り等により、テクスチャ変化が大きくなる皮膚の上を避けて配置されてもよい。なお、AUは、人物の顔の表情を構成する単位である。
【0019】
さらに、被験者には、基準点マーカが付された器具40が装着される。被験者の表情が変化しても、器具40に付された基準点マーカの位置は変化しないものとする。このため、訓練データ生成装置10は、基準点マーカからの相対的な位置の変化により、顔に付されたマーカの位置の変化を測定することができる。このような基準マーカの数を3つ以上にすることで、訓練データ生成装置10は、3次元空間におけるマーカの位置を特定することができる。
【0020】
器具40は、例えばヘッドバンドであり、顔の輪郭外に基準点マーカを配置する。また、器具40は、VRヘッドセット及び固い素材のマスク等であってもよい。その場合、訓練データ生成装置10は、器具40のリジッド表面を基準点マーカとして利用することができる。
【0021】
これらIRカメラ32A~32Eや器具40を用いて実現されるマーカトラッキングシステムによれば、マーカの位置を高精度に特定することができる。例えば、3次元空間上のマーカの位置を0.1mm以下の誤差で測定できる。
【0022】
このような測定装置32によれば、測定結果120として、マーカの位置などを始め、被験者の頭部の3次元空間上の位置なども得ることができる。以下、3次元空間上の座標位置のことを「3D位置」と記載する場合がある。
【0023】
訓練データ生成装置10は、被験者の顔が撮像された撮像画像110から生成される訓練用顔画像113にAUの発生強度などを含むラベルが付与された訓練データを生成する訓練データ生成機能を提供する。あくまで一例として、訓練データ生成装置10は、撮像装置31により撮像された撮像画像110及び測定装置32により測定された測定結果120を取得する。そして、訓練データ生成装置10は、測定結果120として得られたマーカの移動量に基づいて当該マーカに対応するAUの発生強度121を判定する。
【0024】
ここで言う「発生強度」は、あくまで一例として、各AUが発生している強度をAからEの5段階評価で表現し、「AU1:2、AU2:5、AU4:1、…」のようにアノテーションが行われたデータであってよい。なお、発生強度は、5段階評価で表現されるものに限られるものではなく、例えば2段階評価(発生の有無)によって表現されても良い。この場合、あくまで一例として、5段階評価のうち評価が2以上である場合、「有」と表現される一方で、評価が2未満である場合、「無」と表現されることとしてもよい。
【0025】
AUの発生強度121の判定と共に、訓練データ生成装置10は、撮像装置31により撮像された撮像画像110に、顔領域の切り出しや画像サイズの正規化、画像中のマーカの除去などの加工を実行する。これにより、訓練データ生成装置10は、撮像画像110から訓練用顔画像113を生成する。
【0026】
図3は、撮像画像の加工例を示す模式図である。
図3に示すように、撮像画像110に顔検出が実行される(S1)。これにより、縦1920×横1080ピクセルの撮像画像110から縦726×横726ピクセルの顔領域110Aが検出される。このように検出された顔領域110Aに対応する部分画像が撮像画像110から切り出される(S2)。これにより、縦726×横726ピクセルの切出し顔画像111が得られる。
【0027】
このように切出し顔画像111を生成するのは、次の点で有効であるからである。1つの側面として、マーカは、あくまで訓練データに付与するラベルであるAUの発生強度を判定するためものであり、機械学習モデルmによるAUの発生強度の判定に影響を与えないように撮像画像110から削除される。マーカの削除時には、画像上に存在するマーカの位置が探索されるが、撮像画像110全体が探索領域とされる場合に比べて、探索領域を顔領域110Aに絞り込む場合、計算量を数倍から数十倍にわたって削減できる。他の側面として、訓練データTRのデータセットが格納される場合、顔領域110A以外の無駄な領域を格納せずともよくなる。例えば、
図3に示す訓練サンプルの例で言えば、縦1920×横1080ピクセルの撮像画像110から縦726×横726ピクセルの切出し顔画像111まで画像サイズを削減できる。
【0028】
その後、切出し顔画像111は、機械学習モデルm、例えばCNN(Convolved Neural Network)の入力層のサイズ以下となる幅および高さの入力サイズにリサイズされる。例えば、機械学習モデルmの入力サイズが縦512×横512ピクセルであるとしたとき、縦726×横726ピクセルの切出し顔画像111は、縦512×横512ピクセルの画像サイズに正規化される(S3)。これにより、縦512×横512ピクセルの正規化顔画像112が得られる。さらに、正規化顔画像112からマーカが削除される(S4)。これらステップS1~ステップS4の結果、縦512×横512ピクセルの訓練用顔画像113が得られる。
【0029】
その上で、訓練データ生成装置10は、訓練用顔画像113と、正解ラベルとするAUの発生強度121とが対応付けられた訓練データTRを含むデータセットを生成する。そして、訓練データ生成装置10は、訓練データTRのデータセットを機械学習装置50へ出力する。
【0030】
機械学習装置50は、訓練データ生成装置10から出力された訓練データTRのデータセットを用いて機械学習を実行する機械学習機能を提供する。例えば、機械学習装置50は、訓練用顔画像113を機械学習モデルmの説明変数とし、正解ラベルとするAUの発生強度121を機械学習モデルmの目的変数とし、ディープラーニング等の機械学習のアルゴリズムに従って機械学習モデルmを訓練する。これにより、撮像画像から得られる顔画像を入力としてAUの発生強度の推定値を出力する機械学習モデルMが生成される。
【0031】
<課題の一側面>
上記の背景技術で説明した通り、上記の撮像画像に対する加工が行われる場合、顔画像上のマーカの動きおよびラベルの対応関係が歪んだ訓練データが生成されるという側面がある。
【0032】
このように対応関係が歪められる事例として、被験者の顔のサイズに個人差がある場合、同一の被験者が異なる撮影位置で撮影される場合などが挙げられる。これらの事例では、同一のマーカの移動量が観測される場合であっても、撮像画像110から異なる画像サイズの切出し顔画像111が切り出される。
【0033】
図4は、課題の一側面を示す模式図である。
図4には、同一のマーカの移動量d1が撮影された2つの撮像画像から切り出された切出し画像111aおよび切出し顔画像111bが示されている。なお、切出し画像111aおよび切出し顔画像111bは、撮像装置31の光学中心および被験者の顔の間の距離で撮影されたこととする。
【0034】
図4に示すように、切出し画像111aは、大顔の被験者aが撮像された撮像画像から縦720×横720ピクセルの顔領域が切り出された部分画像である。一方、切出し顔画像111bは、小顔の被験者bが撮像された撮像画像から縦360×横360ピクセルの顔領域が切り出された部分画像である。
【0035】
これら切出し画像111aおよび切出し顔画像111bは、機械学習モデルmの入力層のサイズである縦512×横512ピクセルの画像サイズに正規化される。これにより、正規化顔画像112aでは、マーカの移動量がd1からd11(<d1)へ縮小される。一方、正規化顔画像112bでは、マーカの移動量がd1からd12(>d1)へ拡大される。このように、正規化顔画像112aおよび正規化顔画像112bの間でマーカの移動量にギャップが生じる。
【0036】
その一方で、被験者aおよび被験者bのいずれにおいても、測定装置32により同一のマーカの移動量d1が測定結果120として得られるので、正規化顔画像112aおよび正規化顔画像112bには、同一のAUの発生強度121がラベルとして付与される。
【0037】
この結果、正規化顔画像112aに対応する訓練用顔画像では、当該訓練用顔画像上のマーカの移動量が測定装置32による実測値d1よりも小さいd11に縮小される一方で、正解のラベルには、実測値d1に対応するAUの発生強度が付与される。加えて、正規化顔画像112bに対応する訓練用顔画像では、当該訓練用顔画像上のマーカの移動量が測定装置32による実測値d1よりも大きいd12に拡大される一方で、正解のラベルには、実測値d1に対応するAUの発生強度が付与される。
【0038】
このように、正規化顔画像112aおよび正規化顔画像112bからは、顔画像上のマーカの動きおよびラベルの対応関係が歪められた訓練データが生成され得る。なお、ここでは、被験者の顔のサイズに個人差がある場合を例に挙げたが、撮像装置31の光学中心からの距離が異なる撮影位置で同一の被験者が撮影される場合も同様の課題が生じ得る。
【0039】
<課題解決アプローチの一側面>
そこで、本実施例に係る訓練データ生成機能は、撮像装置31の光学中心及び被験者の頭部の間の距離または撮像画像上の顔サイズに基づいて測定装置32により測定されたマーカ移動量に対応するAUの発生強度のラベルを補正する。
【0040】
これにより、顔領域の切出しや画像サイズの正規化などの加工により変動する顔画像上のマーカの動きに合わせてラベルを補正することができる。
【0041】
したがって、本実施例に係る訓練データ生成機能によれば、顔画像上のマーカの動きおよびラベルの対応関係が歪んだ訓練データが生成されるのを抑制できる。
【0042】
<訓練データ生成装置10の構成>
図5は、訓練データ生成装置10の機能構成例を示すブロック図である。
図5には、訓練データ生成装置10が有する機械学習機能に関連するブロックが模式化されている。
図5に示すように、訓練データ生成装置10は、通信制御部11と、記憶部13と、制御部15とを有する。なお、
図1には、上記の訓練データ生成機能に関連する機能部が抜粋して示されているに過ぎず、図示以外の機能部が訓練データ生成装置10に備わることとしてもよい。
【0043】
通信制御部11は、他の装置、例えば撮像装置31や測定装置32、機械学習装置50などとの間で通信制御を行う機能部である。例えば、通信制御部11は、LAN(Local Area Network)カードなどのネットワークインタフェイスカードにより実現されてよい。1つの側面として、通信制御部11は、撮像装置31により撮像された撮像画像110及び測定装置32により測定された測定結果120を受け付けたりする。他の側面として、通信制御部11は、訓練用顔画像113および正解ラベルとするAUの発生強度121とが対応付けられた訓練データのデータセットを機械学習装置50へ出力する。
【0044】
記憶部13は、各種のデータを記憶する機能部である。あくまで一例として、記憶部13は、訓練データ生成装置10の内部、外部または補助のストレージにより実現される。例えば、記憶部13は、マーカとAUの対応関係を表すAU情報13Aなどの各種のデータを記憶することができる。このようなAU情報13A以外にも、記憶部13は、撮像装置31のカメラパラメータやキャリブレーション結果などの各種のデータを記憶することができる。
【0045】
制御部15は、訓練データ生成装置10の全体制御を行う処理部である。例えば、制御部15は、ハードウェアプロセッサにより実現される。この他、制御部15は、ハードワイヤードロジックにより実現されてもよい。
図5に示すように、制御部15は、特定部15Aと、判定部15Bと、画像加工部15Cと、補正係数算出部15Dと、補正部15Eと、生成部15Fとを有する。
【0046】
特定部15Aは、撮像画像に含まれるマーカの位置を特定する処理部である。特定部15Aは、撮像画像に含まれる複数のマーカのそれぞれの位置を特定する。さらに、時系列に沿って複数の画像が取得された場合、特定部15Aは、各画像についてマーカの位置を特定する。このように撮像画像上のマーカの位置を特定すると共に、特定部15Aは、器具40に付された基準マーカとの位置関係を基に、各マーカの平面上又は空間上の座標、例えば3D位置を特定することができる。なお、特定部15Aは、マーカの位置を、基準座標系から定めてもよいし、基準面の投影位置から定めてもよい。
【0047】
判定部15Bは、AUの判定基準と複数のマーカの位置とに基づいて、複数のAUのそれぞれの発生の有無を判定する処理部である。判定部15Bは、複数のAUのうち発生している1以上のAUについて、発生強度を判定する。このとき、判定部15Bは、複数のAUのうちマーカに対応するAUが、判定基準とマーカの位置とに基づいて発生していると判定された場合に、当該マーカに対応するAUを選択することができる。
【0048】
例えば、判定部15Bは、判定基準に含まれる第1のAUに対応付けられた第1のマーカの基準位置と、特定部15Aによって特定された第1のマーカの位置との距離に基づいて算出した第1のマーカの移動量を基に、第1のAUの発生強度を判定する。なお、第1のマーカは、特定のAUに対応する1つ、あるいは複数マーカということができる。
【0049】
AUの判定基準は、例えば、複数のマーカのうち、AU毎にAUの発生強度を判定するために使用される1又は複数のマーカを示す。AUの判定基準は、複数のマーカの基準位置を含んでもよい。AUの判定基準は、複数のAUのそれぞれについて、発生強度の判定に使用されるマーカの移動量と発生強度との関係(換算ルール)を含んでもよい。なお、マーカの基準位置は、被験者が無表情な状態(いずれのAUも発生していない)の撮像画像における複数のマーカの各位置に応じて定められてもよい。
【0050】
ここで、
図6を用いて、マーカの移動について説明する。
図6は、マーカの移動の一例について説明する図である。
図6の符号110-1~符号110-3は、撮像装置31の一例に対応するRGBカメラによって撮像された撮像画像である。また、撮像画像は、符号110-1、符号110-2、符号110-3の順で撮像されたものとする。例えば、撮像画像110-1は、被験者が無表情であるときの画像である。訓練データ生成装置10は、撮像画像110-1のマーカの位置を、移動量が0の基準位置とみなすことができる。
【0051】
図6に示すように、被験者は、眉を寄せるような表情を取っている。このとき、表情の変化に従い、マーカ401の位置は下方向に移動している。その際、マーカ401の位置と、器具40に付された基準マーカとの間の距離は大きくなっている。
【0052】
また、マーカ401の基準マーカからのX方向及びY方向の距離の変動値は、
図7のように表される。
図7は、発生強度の判定方法を説明する図である。
図7に示すように、判定部15Bは、変動値を発生強度に換算することができる。なお、発生強度は、FACS(Facial Action Coding System)に準じて5段階に量子化されたものであってもよいし、変動量に基づく連続量として定義されたものであってもよい。
【0053】
判定部15Bが変動量を発生強度に換算するルールとしては、様々なものが考えられる。判定部15Bは、あらかじめ定められた1つのルールに従って換算を行ってもよいし、複数のルールで換算を行い、最も発生強度が大きいものを採用するようにしてもよい。
【0054】
例えば、判定部15Bは、被験者が最大限表情を変化させたときの変動量である最大変動量をあらかじめ取得しておき、変動量の最大変動量に対する割合に基づいて発生強度を換算してもよい。また、判定部15Bは、従来手法によりコーダがタグ付けしたデータを用いて最大変動量を定めておいてもよい。また、判定部15Bは、変動量を発生強度にリニアに換算してもよい。また、判定部15Bは、複数の被験者の事前測定から作成された近似式を用いて換算を行ってもよい。
【0055】
また、例えば、判定部15Bは、判定基準としてあらかじめ設定された位置と、特定部15Aによって特定された第1のマーカの位置とに基づいて算出した第1のマーカの移動ベクトルを基に発生強度を判定することができる。この場合、判定部15Bは、第1のマーカの移動ベクトルと、第1のAUに対してあらかじめ規定された規定ベクトルとの合致度合いを基に、第1のAUの発生強度を判定する。また、判定部15Bは、既存のAU推定エンジンを使って、ベクトルの大きさと発生強度の対応を補正してもよい。
【0056】
図8は、発生強度の判定方法の一例を説明する図である。例えば、AU4に対応するAU4規定ベクトルが(-2mm,-6mm)のようにあらかじめ定められているものとする。このとき、判定部15Bは、マーカ401の移動ベクトルとAU4規定ベクトルの内積を計算し、AU4規定ベクトルの大きさで規格化する。ここで、内積がAU4規定ベクトルの大きさと一致すれば、判定部15Bは、AU4の発生強度を5段階中の5と判定する。一方、内積がAU4規定ベクトルの半分であれば、例えば、前述のリニアな換算ルールの場合は、判定部15Bは、AU4の発生強度を5段階中の3と判定する。
【0057】
また、例えば、
図8に示すように、AU11に対応するAU11ベクトルの大きさが3mmのようにあらかじめ定められているものとする。このとき、判定部15Bは、マーカ402とマーカ403の間の距離の変動量がAU11ベクトルの大きさと一致すれば、判定部143は、AU11の発生強度を5段階中の5と判定する。一方、距離の変動量がAU4ベクトルの半分であれば、例えば、前述のリニアな換算ルールの場合は、判定部15Bは、AU11の発生強度を5段階中の3と判定する。このように、判定部15Bは、特定部15Aによって特定された第1のマーカの位置及び第2のマーカの位置との間の距離の変化を基に、発生強度を判定することができる。
【0058】
画像加工部15Cは、撮像画像を訓練用画像へ加工する処理部である。あくまで一例として、画像加工部15Cは、撮像装置31により撮像された撮像画像110に、顔領域の切り出しや画像サイズの正規化、画像中のマーカの除去などの加工を実行する。
【0059】
図3を用いて説明した通り、画像加工部15Cは、撮像画像110に顔検出を実行する(S1)。これにより、縦1920×横1080ピクセルの撮像画像110から縦726×横726ピクセルの顔領域110Aが検出される。そして、画像加工部15Cは、顔検出で検出された顔領域110Aに対応する部分画像を撮像画像110から切り出す(S2)。これにより、縦726×横726ピクセルの切出し顔画像111が得られる。その後、画像加工部15Cは、縦726×横726ピクセルの切出し顔画像111を、機械学習モデルmの入力サイズに対応する縦512×横512ピクセルの画像サイズに正規化する(S3)。これにより、縦512×横512ピクセルの正規化顔画像112が得られる。さらに、画像加工部15Cは、正規化顔画像112からマーカを削除する(S4)。これらステップS1~ステップS4の結果、縦1920×横1080ピクセルの撮像画像110から縦512×横512ピクセルの訓練用顔画像113が得られる。
【0060】
このようなマーカの削除について補足する。あくまで一例として、マスク画像を用いてマーカを削除することができる。
図9は、マスク画像の作成方法の一例を説明する図である。
図9の符号112は、正規化顔画像の一例である。まず、画像加工部15Cは、あらかじめ意図的に付けられたマーカの色を抽出して代表色として定義する。そして、
図9に示す符号112dのように、画像加工部15Cは、代表色近傍の色の領域画像を生成する。さらに、
図9に示す符号112Dのように、画像加工部15Cは、代表色近傍の色の領域に対し収縮、膨張等の処理を行い、マーカ削除用のマスク画像を生成する。また、マーカの色を顔の色としては存在しにくい色に設定しておくことで、マーカの色の抽出精度を向上させてもよい。
【0061】
図10は、マーカの削除方法の一例を説明する図である。
図10に示すように、まず、画像加工部15Cは、動画から取得した静止画から生成される正規化顔画像112に対し、マスク画像を適用する。さらに、画像加工部15Cは、マスク画像を適用した画像を例えばニューラルネットワークに入力し、処理済みの画像として訓練用顔画像113を得る。なお、ニューラルネットワークは、被験者のマスクありの画像及びマスクなしの画像等を用いて学習済みであるものとする。なお、動画から静止画を取得することにより、表情変化の途中データが得られることや、短時間で大量のデータが得られることがメリットとして生じる。また、画像加工部15Cは、ニューラルネットワークとして、GMCNN(Generative Multi-column Convolutional Neural Networks)やGAN(Generative Adversarial Networks)を用いてもよい。
【0062】
なお、画像加工部15Cがマーカを削除する方法は、上記のものに限られない。例えば、画像加工部15Cは、あらかじめ定められたマーカの形状を基にマーカの位置を検出し、マスク画像を生成してもよい。また、IRカメラ32とRGBカメラ31の相対位置のキャリブレーションを事前に行うようにしてもよい。この場合、画像加工部15Cは、IRカメラ32によるマーカトラッキングの情報からマーカの位置を検出することができる。
【0063】
また、画像加工部15Cは、マーカにより異なる検出方法を採用してもよい。例えば、鼻上のマーカは動きが少なく、形状を認識しやすいため、画像加工部15Cは、形状認識により位置を検出してもよい。また、口横のマーカは動きが大きく、形状を認識しにくいため、画像加工部15Cは、代表色を抽出する方法で位置を検出してもよい。
【0064】
図5の説明に戻り、補正係数算出部15Dは、訓練用顔画像に付与されるラベルの補正に用いる補正係数を算出する処理部である。
【0065】
1つの側面として、補正係数算出部15Dは、被験者の顔サイズに応じてラベルを補正する側面からラベルに乗算される「顔サイズ補正係数」を算出する。
図11及び
図12は、被験者の撮影例を示す模式図である。
図11及び
図12には、撮像装置31の一例として、被験者の顔の正面に配置されるRGBカメラが基準カメラ31Aとして示されると共に、基準被験者e0および被験者aの両者が基準位置で撮影される様子が示されている。なお、ここで言う「基準位置」は、基準カメラ31Aの光学中心からの距離がL0である位置のことを指す。
【0066】
図11に示すように、実寸の顔サイズの幅および高さが基準サイズS0である基準被験者e0が基準カメラ31Aにより撮影される場合の撮像画像上の顔サイズを幅P0×高さP0ピクセルとする。ここで言う「撮像画像上の顔サイズ」は、撮像画像に顔検出が実行されることにより得られる顔領域のサイズに対応する。このような撮像画像上の基準被験者e0の顔サイズP0は、あらかじめキャリブレーションを実行しておくことにより設定値として獲得できる。
【0067】
一方、
図12に示すように、ある被験者aが基準カメラ31Aにより撮影された場合の撮像画像上の顔サイズが幅P1×高さP1ピクセルであるとしたとき、基準被験者e0に対する被験者aの撮像画像上の顔サイズの比を顔サイズ補正係数C1として算出できる。すなわち、
図12に示す例に従えば、補正係数算出部15Dは、顔サイズ補正係数C1を「P0/P1」と算出することができる。
【0068】
このような顔サイズ補正係数C1をラベルに乗算することで、被験者の顔サイズに個人差等のばらつきがある場合でも、被験者aの撮像画像が正規化される画像サイズに合わせてラベルを補正できる。例えば、被験者aおよび基準被験者e0の間で共通のAUに対応する同一のマーカの移動量が撮影される事例を挙げる。このとき、被験者aの顔サイズが基準被験者e0の顔サイズよりも大きい場合、すなわち「P1>P0」である場合、被験者aの訓練用顔画像上のマーカの移動量は、正規化処理が一因となって基準被験者e0の訓練用顔画像上のマーカの移動量に比べて小さくなる。このような場合においても、被験者aの訓練用顔画像に付与するラベルに顔サイズ補正係数C1=(P0/P1)<1を乗算することにより、ラベルを小さく補正できる。
【0069】
他の側面として、補正係数算出部15Dは、被験者の頭部位置に応じてラベルを補正する側面からラベルに乗算される「位置補正係数」を算出する。
図13は、被験者の撮影例を示す模式図である。
図13には、撮像装置31の一例として、被験者aの顔の正面に配置されるRGBカメラが基準カメラ31Aとして示されると共に、被験者aが基準位置を含む異なる位置で撮影される様子が示されている。
【0070】
図13に示すように、撮影位置k1で被験者aが撮影される場合、基準位置に対する撮影位置k1の比を位置補正係数C2として算出できる。例えば、測定装置32は、マーカの位置のみならず、被験者aの頭部の3D位置もモーションキャプチャで測定可能であるので、このような頭部の3D位置を測定結果120から参照できる。このため、測定結果120として得られる被験者aの頭部の3D位置に基づいて基準カメラ31Aおよび被験者aの間の距離L1を算出できる。このような撮影位置k1に対応する距離L1および基準位置に対応する距離L0から、位置補正係数C2を「L1/L0」と算出できる。
【0071】
このような位置補正係数C2をラベルに乗算することで、被験者aの撮影位置にばらつきがある場合でも、被験者aの撮像画像が正規化される画像サイズに合わせてラベルを補正できる。例えば、基準位置および撮影位置k1の間で共通のAUに対応する同一のマーカの移動量が撮影される事例を挙げる。このとき、撮影位置k1に対応する距離L1が基準位置に対応する距離L0よりも小さい場合、すなわちL1<L0である場合、撮影位置k1の訓練用顔画像上のマーカの移動量は、正規化処理が一因となって基準位置の訓練用顔画像上のマーカの移動量に比べて小さくなる。このような場合においても、撮影位置k1の訓練用顔画像に付与するラベルに位置補正係数C2=(L1/L0)<1を乗算することにより、ラベルを小さく補正できる。
【0072】
更なる側面として、補正係数算出部15Dは、上記の「顔サイズ補正係数C1」および上記の「位置補正係数C2」が統合された「統合補正係数C3」を算出することもできる。
図14は、被験者の撮影例を示す模式図である。
図14には、撮像装置31の一例として、被験者aの顔の正面に配置されるRGBカメラが基準カメラ31Aとして示されると共に、被験者aが基準位置を含む異なる位置で撮影される様子が示されている。
【0073】
図14に示すように、撮影位置k2で被験者aが撮影される場合、測定結果120として得られる被験者aの頭部の3D位置に基づいて、補正係数算出部15Dは、基準カメラ31Aの光学中心からの距離L1を算出できる。このような基準カメラ31Aの光学中心からの距離L1に応じて、補正係数算出部15Dは、位置補正係数C2を「L1/L0」と算出できる。
【0074】
さらに、補正係数算出部15Dは、被験者aの撮像画像に対する顔検出の結果として得られる撮像画像上の被験者aの顔サイズP1、すなわち幅P1×高さP1ピクセルを取得できる。このような撮像画像上の被験者aの顔サイズP1に基づいて、補正係数算出部15Dは、基準位置における被験者aの顔サイズの推定値P1′を算出できる。例えば、基準位置および撮影位置k2の比から、P1′は、下記の式(1)の導出に従って「P1/(L1/L0)」と算出できる。さらに、補正係数算出部15Dは、被験者aおよび基準被験者e0の間の基準位置の顔サイズの比から、顔サイズ補正係数C1を「P0/P1′」と算出できる。
【0075】
P1′=P1×(L0/L1)
=P1/(L1/L0)・・・(1)
【0076】
これら位置補正係数C2および顔サイズ補正係数C1を統合することにより、補正係数算出部15Dは、統合補正係数C3を算出する。すなわち、統合補正係数C3は、下記の式(2)の導出に従って「(P0/P1)×(L1/L0)」と算出できる。
【0077】
C3=P0/P1′
=P0÷{P1/(L1/L0)}
=P0×(1/P1)×(L1/L0)
=(P0/P1)×(L1/L0)・・・(2)
【0078】
図5の説明に戻り、補正部15Eは、ラベルを補正する処理部である。あくまで一例として、補正部15Eは、下記の式(3)に示す通り、判定部15Bにより判定されたAUの発生強度、すなわちラベルに補正係数算出部15Dにより算出された統合補正係数C3を乗算することにより、ラベルの補正を実現できる。なお、ここでは、ラベルに統合補正係数C3を乗算する例を挙げたが、これはあくまで一例であって、ラベルには、式(4)や式(5)に示す通り、顔サイズ補正係数C1を乗算することとしてもよいし、位置補正係数C2を乗算することとしてもよい。
【0079】
例1:補正後ラベル=Label×C3
=Label×(P0/P1)×(L1/L0)・・・(3)
例2:補正後ラベル=Label×C1
=Label×(P0/P1)・・・(4)
例3:補正後ラベル=Label×C2
=Label×(L1/L0)・・・(5)
【0080】
生成部15Fは、訓練データを生成する処理部である。あくまで一例として、生成部15Fは、画像加工部15Cにより生成された訓練用顔画像に補正部15Eにより補正されたラベルを付与することによって機械学習用の訓練データを生成する。このような訓練データの生成が撮像装置31により撮像される撮像画像単位で実行されることにより、訓練データのデータセットが得られる。
【0081】
例えば、訓練データのデータセットを用いて機械学習装置50が実行する際、訓練データ生成装置10によって生成された訓練データを既存の訓練データに加えて機械学習を実行してもよい。
【0082】
あくまで一例として、訓練データは、画像を入力として、発生しているAUを推定する推定モデルの機械学習に使用できる。また、推定モデルは各AUに特化したモデルであってもよい。推定モデルが特定のAUに特化したものである場合、訓練データ生成装置10は、生成した訓練データを、当該特定のAUに関する情報のみを訓練ラベルとする訓練データに変更してもよい。つまり、訓練データ生成装置10は、特定のAUと異なる他のAUが発生している画像に関しては、他のAUに関する情報を削除して、当該特定のAUは発生していない旨の情報を訓練ラベルとして付加することができる。
【0083】
本実施例によれば、必要な訓練データの見積もりを行うことができる。一般に、機械学習を実施するためには、膨大な計算コストがかかる。計算コストには、時間やGPU等の使用量が含まれる。
【0084】
データセットの質及び量が改善すると、機械学習によって得られるモデルの精度は改善する。そのため、事前に目標精度に対して必要なデータセットの質及び量の大まかな見積もりができれば、計算コストが削減される。ここで、例えば、データセットの質は、マーカの削除率及び削除精度である。また、例えば、データセットの量は、データセット数及び被験者の人数である。
【0085】
AUの組み合わせ中には、互いの相関が高い組み合わせがある。このため、あるAUに対して行った見積りは、当該AUと相関が高い他のAUに適用できると考えられる。例えば、AU18とAU22の相関は高いことが知られており、対応するマーカが共通する場合がある。このため、AU18の推定精度が目標に達する程度のデータセットの質及び量の見積もりができれば、AU22の推定精度が目標に達する程度のデータセットの質及び量の大まかな見積もりが可能になる。
【0086】
機械学習装置50により生成された機械学習モデルMは、AUの発生強度の推定を実行する推定装置(不図示)へ提供され得る。推定装置は、機械学習装置50によって生成された機械学習モデルMを用いて、実際に推定を行う。推定装置は、人物の顔が写った画像であって、各AUの発生強度が未知である画像を取得し、取得された画像を機械学習モデルMへ入力することにより機械学習モデルMが出力するAUの発生強度をAUの推定結果として任意の出力先へ出力できる。このような出力先は、あくまで一例として、AUの発生強度を用いて顔の表情を推定したり、あるいは理解度や満足度を算出したりする装置、プログラム、あるいはサービスなどであってよい。
【0087】
<処理の流れ>
次に、訓練データ生成装置10の処理の流れについて説明する。ここでは、訓練データ生成装置10により実行される(1)全体処理を説明した後に、(2)判定処理、(3)画像加工処理、(4)補正処理を説明することとする。
【0088】
(1)全体処理
図15は、全体処理の手順を示すフローチャートである。
図15に示すように、撮像装置31により撮像された撮像画像及び測定装置32により測定された測定結果が取得される(ステップS101)。
【0089】
続いて、特定部15Aおよび判定部15Bは、ステップS101で取得された撮像画像及び測定結果に基づいて、AUの発生強度を判定する「判定処理」を実行する(ステップS102)。
【0090】
そして、画像加工部15Cは、ステップS101で取得された撮像画像を訓練用画像へ加工する「画像加工処理」を実行する(ステップS103)。
【0091】
その後、補正係数算出部15Dおよび補正部15Eは、ステップS102で判定されたAUの判定強度、すなわちラベルを補正する「補正処理」を実行する(ステップS104)。
【0092】
その上で、生成部15Fは、ステップS103で生成された訓練用顔画像にステップS104で補正されたラベルを付与することにより訓練データを生成し(ステップS105)、処理を終了する。
【0093】
なお、
図15に示すステップS104の処理は、切出し顔画像が正規化された後であれば任意のタイミングで実行できる。例えば、必ずしもマーカが削除された後に限らず、マーカが削除される前にステップS104の処理が実行されることとしてもよい。
【0094】
(2)判定処理
図16は、判定処理の手順を示すフローチャートである。
図16に示すように、特定部15Aは、ステップS101で取得された撮像画像に含まれるマーカの位置をステップS101で取得された測定結果に基づいて特定する(ステップS301)。
【0095】
そして、判定部15Bは、AU情報13Aに含まれるAUの判定基準とステップS301で特定された複数のマーカの位置とに基づいて、撮像画像で発生している発生AUを判定する(ステップS302)。
【0096】
その後、判定部15Bは、ステップS302で判定された発生AUの個数Mに対応する回数の分、ステップS304およびステップS305の処理を繰り返すループ処理1を実行する。
【0097】
すなわち、判定部15Bは、ステップS301で特定したマーカの位置のうち、m番目の発生AUの推定に割り当てられたマーカの位置と基準位置を基に、マーカの移動ベクトルを計算する(ステップS304)。そして、判定部15Bは、移動ベクトルを基にm番目の発生AUの発生強度、すなわちラベルを判定する(ステップS305)。
【0098】
このようなループ処理1が繰り返されることにより、発生AUごとに発生強度を判定できる。なお、
図16に示すフローチャートでは、ステップS304およびステップS305の処理が反復として実行される例を挙げたが、これに限定されず、発生AUごとに並列して実行されることとしてもよい。
【0099】
(3)画像加工処理
図17は、画像加工処理の手順を示すフローチャートである。
図17に示すように、画像加工部15Cは、ステップS101で取得された撮像画像に顔検出を実行する(ステップS501)。そして、画像加工部15Cは、ステップS501で検出された顔領域に対応する部分画像を撮像画像から切り出す(ステップS502)。
【0100】
その後、画像加工部15Cは、ステップS502で切出された切出し顔画像を、機械学習モデルmの入力サイズに対応する画像サイズに正規化する(ステップS503)。その上で、画像加工部15Cは、ステップS503で正規化された正規化顔画像からマーカを削除し(ステップS504)、処理を終了する。
【0101】
これらステップS501~ステップS504の処理の結果、撮像画像から訓練用顔画像が得られる。
【0102】
(4)補正処理
図18は、補正処理の手順を示すフローチャートである。
図18に示すように、補正係数算出部15Dは、ステップS101で取得された測定結果として得られる被験者の頭部の3D位置に基づいて、基準カメラ31Aから被験者の頭部までの距離L1を算出する(ステップS701)。
【0103】
続いて、補正係数算出部15Dは、ステップS701で算出された距離L1に応じて位置補正係数を算出する(ステップS702)。さらに、補正係数算出部15Dは、被験者の撮像画像に対する顔検出の結果として得られる撮像画像上の被験者の顔サイズに基づいて、基準位置における被験者の顔サイズの推定値P1′を算出する(ステップS703)。
【0104】
その後、補正係数算出部15Dは、基準位置における被験者の顔サイズの推定値P1′と、被験者および基準被験者の間の基準位置の顔サイズの比とから、統合補正係数を算出する(ステップS704)。
【0105】
その上で、補正部15Eは、ステップS304で判定されたAUの発生強度、すなわちラベルにステップS704で算出された統合補正係数を乗算することにより、ラベルを補正し(ステップS705)、処理を終了する。
【0106】
<効果の一側面>
上述してきたように、本実施例に係る訓練データ生成装置10は、撮像装置31の光学中心及び被験者の頭部の間の距離または撮像画像上の顔サイズに基づいて測定装置32により測定されたマーカ移動量に対応するAUの発生強度のラベルを補正する。これにより、顔領域の切出しや画像サイズの正規化などの加工により変動する顔画像上のマーカの動きに合わせてラベルを補正することができる。したがって、本実施例に係る訓練データ生成装置10によれば、顔画像上のマーカの動きおよびラベルの対応関係が歪んだ訓練データが生成されるのを抑制できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、基準カメラ31Aは、被験者の顔の正面、いわゆるアイレベルのカメラポジションに水平のカメラアングルで配置される。また、上方カメラ31Bは、被験者の顔の正面上方にハイアングルで配置される。さらに、下方カメラ31Cは、被験者の顔の正面下方にローアングルで配置される。
このようなカメラユニットによれば、被験者が発現させる表情の変化を複数のカメラアングルで撮影できるので、同一のAUについて被験者の顔の向きが異なる複数の訓練用顔画像を生成できる。
このことから、同一のAUが異なるカメラアングルで撮影される場合、基準カメラ31A、上方カメラ31Bおよび下方カメラ31Cにより撮像される撮像画像の各々から生成される訓練用顔画像には、単一のラベルを付与するのが好ましい。
このとき、顔画像上のマーカの動きおよびラベルの対応関係を維持させるには、画像変換よりもラベル値(数値)変換の方が計算量の面などで有利である。しかしながら、複数のカメラの各々により撮像される撮像画像ごとにラベルを補正すると、カメラごとに異なるラベルが付与されるので、単一のラベルを付与することが困難な側面がある。
このような画像サイズの補正係数の算出方法について説明する。あくまで一例として、カメラユニットに含まれるカメラをN個に一般化し、基準カメラ31Aのカメラ番号を0とし、上方カメラ31Bのカメラ番号を1とし、アンダーバーに後続してカメラ番号を付すことで、カメラを識別することとする。
以下、あくまで一例として、カメラ番号を識別するインデックスn=1とし、上方カメラ31Bに対応する正規化顔画像の画像サイズを補正する補正係数の算出方法について例示するが、上方カメラ31Bに限定されない。すなわち、インデックスn=0、あるいはnが2以上である場合も同様にして画像サイズの補正係数を算出できるのは言うまでもない。
さらに、補正係数算出部15Dは、被験者aの撮像画像に対する顔検出の結果として得られる撮像画像上の被験者aの顔サイズP1_1、すなわち幅P1_1×高さP1_1ピクセルを取得できる。このような撮像画像上の被験者aの顔サイズP1に基づいて、補正係数算出部15Dは、基準位置における被験者aの顔サイズの推定値P1_1′を算出できる。例えば、P1_1′は、基準位置および撮影位置k3の比から、「P1_1/(L1_1/L0_1)」と算出できる。
そして、補正係数算出部15Dは、基準位置における被験者の顔サイズの推定値P1_1′と、被験者a及び基準被験者e0の間の基準位置の顔サイズの比とから、画像サイズの統合補正係数Kを「(P1_1/P0_1)×(L0_1/L1_1)」と算出する。
その後、補正部15Eは、画像サイズの統合補正係数K=(P1_1/P0_1)×(L0_1/L1_1)に従って、上方カメラ31Bの撮像画像から生成された正規化顔画像の画像サイズを変更する。例えば、正規化顔画像の画像サイズは、上方カメラ31Bの撮像画像から生成された正規化顔画像の幅及び高さのピクセル数の各々に画像サイズの統合補正係数K=(P1_1/P0_1)×(L0_1/L1_1)が乗算された画像サイズに変更される。このような正規化顔画像の画像サイズ変更により、補正後顔画像が得られる。
以上のような画像サイズ変更による補正は、ラベル補正に比べて計算量が大きくなる側面があるので、一部のカメラ、例えば基準カメラ31Aの撮像画像から生成される正規化画像には画像補正を実行せずにラベル補正を実行することもできる。
すなわち、補正係数算出部15Dは、ステップS101で取得された測定結果として得られる被験者の頭部の3D位置に基づいて、カメラ番号nのカメラ31nから被験者の頭部までの距離L1_nを算出する(ステップS901)。
続いて、補正係数算出部15Dは、ステップS901で算出された距離L1_nと、基準位置に対応する距離L0_nとに基づいてカメラ番号nの画像サイズの位置補正係数「L1_n/L0_n」を算出する(ステップS902)。
そして、補正係数算出部15Dは、カメラ番号nの撮像画像に対する顔検出の結果として得られる撮像画像上の被験者の顔サイズに基づいて、基準位置における被験者の顔サイズの推定値「P1_n′=P1_n/(L1_n/L0_n)」を算出する(ステップS903)。
続いて、補正係数算出部15Dは、基準位置における被験者の顔サイズの推定値P1_n′と、被験者a及び基準被験者e0の間の基準位置の顔サイズの比とから、カメラ番号nの画像サイズの統合補正係数「K=(P1_n/P0_n)×(L0_n/L1_n)」を算出する(ステップS904)。
その上で、補正部15Eは、ステップS904で算出されたカメラ番号nの画像サイズの統合補正係数Kと、ステップS905で参照された基準カメラ31Aのラベルの統合補正係数とに基づいて正規化顔画像の画像サイズを変更する(ステップS906)。例えば、正規化顔画像の画像サイズは、(P1_n/P0_n)×(L0_n/L1_n)×(P0_0/P1_0)×(L1_0/L0_0)倍に変更される。これにより、カメラ番号nの訓練用顔画像が得られる。
なお、上記の実施例では、判定部15Bが、マーカの移動量を基にAUの発生強度を判定するものとして説明した。一方で、マーカが動かなかったことも、判定部15Bによる発生強度の判定基準になり得る。
また、マーカの周囲には、検出しやすい色が配置されていてもよい。例えば、中央にIRマーカを置いた丸い緑色の粘着シールを被験者に付してもよい。この場合、訓練データ生成装置10は、撮像画像から緑色の丸い領域を検出し、当該領域をIRマーカごと削除することができる。
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
このように、訓練データ生成装置10は、プログラムを読み出して実行することで訓練データ生成方法を実行する情報処理装置として動作する。また、訓練データ生成装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施形態と同様の機能を実現することもできる。なお、この他の実施形態でいうプログラムは、訓練データ生成装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
上記のプログラムは、インターネットなどのネットワークを介して配布することができる。また、上記のプログラムは、任意の記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。例えば、記録媒体は、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などにより実現され得る。
(付記2)前記補正する処理は、基準の撮影位置に対する前記人物の撮影位置の比、または、基準の顔サイズに対する前記人物の顔サイズの比に基づいて前記ラベルを補正する処理を含む、
ことを特徴とする付記1に記載の訓練データ生成プログラム。
(付記3)前記取得する処理は、前記人物の顔が異なるカメラポジションまたは異なるカメラアングルで撮影された第1の撮像画像および第2の撮像画像を取得する処理を含み、
前記補正する処理は、前記第1の撮像画像に対応する前記マーカの移動量から生成されたラベルを補正し、前記第2の撮像画像の撮影時の前記人物の撮影位置または前記第2の撮像画像上の前記人物の顔サイズに基づいて、前記第2の撮像画像から切り出された顔画像の画像サイズが正規化された顔画像の画像サイズを補正する処理を含み、
前記訓練データを生成する処理は、前記第1の撮像画像に前記人物の顔画像の切出し、前記画像サイズの正規化および前記マーカの削除が実行されることにより得られた第1の訓練用顔画像に前記補正する処理で補正された前記ラベルを付与することにより第1の訓練データを生成し、前記補正する処理で前記画像サイズが補正された顔画像から前記マーカが削除された第2の訓練用顔画像に、前記第1の訓練データに付与されたラベルと同一のラベルを付与することにより第2の訓練データを生成する処理を含む、
ことを特徴とする付記1に記載の訓練データ生成プログラム。
(付記4)前記補正する処理は、補正後の画像サイズが機械学習モデルの入力サイズよりも大きい場合、補正後の顔画像から前記機械学習モデルの入力サイズに対応する領域を切り出し、補正後の画像サイズが機械学習モデルの入力サイズよりも小さい場合、前記機械学習モデルの入力サイズに不足する分の余白部を補正後の顔画像に追加する処理を含む、
ことを特徴とする付記3に記載の訓練データ生成プログラム。
(付記7)前記補正する処理は、基準の撮影位置に対する前記人物の撮影位置の比、または、基準の顔サイズに対する前記人物の顔サイズの比に基づいて前記ラベルを補正する処理を含む、
ことを特徴とする付記6に記載の訓練データ生成方法。
(付記8)前記取得する処理は、前記人物の顔が異なるカメラポジションまたは異なるカメラアングルで撮影された第1の撮像画像および第2の撮像画像を取得する処理を含み、
前記補正する処理は、前記第1の撮像画像に対応する前記マーカの移動量から生成されたラベルを補正し、前記第2の撮像画像の撮影時の前記人物の撮影位置または前記第2の撮像画像上の前記人物の顔サイズに基づいて、前記第2の撮像画像から切り出された顔画像の画像サイズが正規化された顔画像の画像サイズを補正する処理を含み、
前記訓練データを生成する処理は、前記第1の撮像画像に前記人物の顔画像の切出し、前記画像サイズの正規化および前記マーカの削除が実行されることにより得られた第1の訓練用顔画像に前記補正する処理で補正された前記ラベルを付与することにより第1の訓練データを生成し、前記補正する処理で前記画像サイズが補正された顔画像から前記マーカが削除された第2の訓練用顔画像に、前記第1の訓練データに付与されたラベルと同一のラベルを付与することにより第2の訓練データを生成する処理を含む、
ことを特徴とする付記6に記載の訓練データ生成方法。
(付記9)前記補正する処理は、補正後の画像サイズが機械学習モデルの入力サイズよりも大きい場合、補正後の顔画像から前記機械学習モデルの入力サイズに対応する領域を切り出し、補正後の画像サイズが機械学習モデルの入力サイズよりも小さい場合、前記機械学習モデルの入力サイズに不足する分の余白部を補正後の顔画像に追加する処理を含む、
ことを特徴とする付記8に記載の訓練データ生成方法。
(付記12)前記補正する処理は、基準の撮影位置に対する前記人物の撮影位置の比、または、基準の顔サイズに対する前記人物の顔サイズの比に基づいて前記ラベルを補正する処理を含む、
ことを特徴とする付記11に記載の訓練データ生成装置。
(付記13)前記取得する処理は、前記人物の顔が異なるカメラポジションまたは異なるカメラアングルで撮影された第1の撮像画像および第2の撮像画像を取得する処理を含み、
前記補正する処理は、前記第1の撮像画像に対応する前記マーカの移動量から生成されたラベルを補正し、前記第2の撮像画像の撮影時の前記人物の撮影位置または前記第2の撮像画像上の前記人物の顔サイズに基づいて、前記第2の撮像画像から切り出された顔画像の画像サイズが正規化された顔画像の画像サイズを補正する処理を含み、
前記訓練データを生成する処理は、前記第1の撮像画像に前記人物の顔画像の切出し、前記画像サイズの正規化および前記マーカの削除が実行されることにより得られた第1の訓練用顔画像に前記補正する処理で補正された前記ラベルを付与することにより第1の訓練データを生成し、前記補正する処理で前記画像サイズが補正された顔画像から前記マーカが削除された第2の訓練用顔画像に、前記第1の訓練データに付与されたラベルと同一のラベルを付与することにより第2の訓練データを生成する処理を含む、
ことを特徴とする付記11に記載の訓練データ生成装置。
(付記14)前記補正する処理は、補正後の画像サイズが機械学習モデルの入力サイズよりも大きい場合、補正後の顔画像から前記機械学習モデルの入力サイズに対応する領域を切り出し、補正後の画像サイズが機械学習モデルの入力サイズよりも小さい場合、前記機械学習モデルの入力サイズに不足する分の余白部を補正後の顔画像に追加する処理を含む、
ことを特徴とする付記13に記載の訓練データ生成装置。