(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-08-01
(45)【発行日】2024-08-09
(54)【発明の名称】視線推定装置、視線推定方法及び視線推定プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240802BHJP
G06T 7/70 20170101ALI20240802BHJP
【FI】
G06T7/00 660A
G06T7/70 B
(21)【出願番号】P 2024533064
(86)(22)【出願日】2023-11-17
(86)【国際出願番号】 JP2023041528
【審査請求日】2024-06-03
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(73)【特許権者】
【識別番号】000176730
【氏名又は名称】三菱プレシジョン株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】井手 美優
(72)【発明者】
【氏名】木村 直哉
(72)【発明者】
【氏名】長坂 学
(72)【発明者】
【氏名】中島 和成
【審査官】松浦 功
(56)【参考文献】
【文献】米国特許出願公開第2015/0277553(US,A1)
【文献】中国特許出願公開第111966219(CN,A)
【文献】特開2001-008197(JP,A)
【文献】佐竹純二 外6名,インタラクティブな情報提示システムのための非装着・非拘束な視線推定,情報処理学会研究報告,社団法人情報処理学会,2007年09月28日,Vol. 2007, No. 99,pp. 9-16
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06T 1/00
G06V 10/00 -20/90
G06V 40/16 -40/19
(57)【特許請求の範囲】
【請求項1】
複数のカメラそれぞれを対象のカメラとして、前記対象のカメラによって撮影された画像データから対象者の視線を推定する視線推定部と、
前記視線推定部によって前記複数のカメラそれぞれを前記対象のカメラとして推定された視線を、
前記対象者が正面から撮影された前記画像データから推定された視線ほど重視して統合して、前記対象者の視線を特定する視線統合部と
、
前記対象のカメラによって撮影された前記画像データに写った前記対象者が顔を遮蔽する遮蔽物を装着している場合に、前記遮蔽物を装着している前記対象者が写った画像データである装着画像から、前記遮蔽物の3次元モデルで表現された遮蔽物情報を利用して前記遮蔽物を除去した非装着画像を生成する画像生成部と
を備え
、
前記視線推定部は、前記画像生成部によって生成された前記非装着画像から前記視線を推定する
視線推定装置。
【請求項2】
前記視線統合部は、前記対象者が近い距離から撮影された前記画像データから推定された視線ほど重視して統合する
請求項
1に記載の視線推定装置。
【請求項3】
前記視線統合部は、前記対象者の虹彩のサイズと形状との少なくともいずれかに応じて統合する
請求項
1に記載の視線推定装置。
【請求項4】
前記視線統合部は、前記対象者の両目の位置とカメラの位置との間の距離に応じて統合する
請求項
1に記載の視線推定装置。
【請求項5】
前記視線推定部は、キャリブレーション用の点を注視した場合に特定される注視位置を、実際の注視位置と一致させる射影変換行列を用いて、前記画像データから推定された前記視線を補正する
請求項
1に記載の視線推定装置。
【請求項6】
前記射影変換行列は、視線の方向に応じて複数用意されており、
前記視線推定部は、前記画像データから推定された前記対象者の視線の方向に対応する前記射影変換行列を用いて、前記視線を補正する
請求項
5に記載の視線推定装置。
【請求項7】
前記視線推定装置は、さらに、
前記対象者がいる空間の3次元モデルを用いて、前記視線統合部によって特定された前記視線の先に存在する注視位置を推定する注視位置推定部
を備える請求項
1に記載の視線推定装置。
【請求項8】
前記画像生成部は、遮蔽物が装着されていない顔画像である非装着学習画像と、前記非装着学習画像に遮蔽物を装着した装着学習画像との組を学習データとして学習させることにより得られた遮蔽物除去モデルであって、遮蔽物が装着された顔画像を入力として遮蔽物を除去した画像データを出力する遮蔽物除去モデルに対して、前記装着画像を入力することにより前記非装着画像を生成する
請求項
1に記載の視線推定装置。
【請求項9】
コンピュータが、複数のカメラそれぞれを対象のカメラとして、前記対象のカメラによって撮影された画像データから対象者の視線を推定し、
コンピュータが、前記複数のカメラそれぞれを前記対象のカメラとして推定された視線を、
前記対象者が正面から撮影された前記画像データから推定された視線ほど重視して統合して、前記対象者の視線を特定
し、
コンピュータが、前記対象のカメラによって撮影された前記画像データに写った前記対象者が顔を遮蔽する遮蔽物を装着している場合に、前記遮蔽物を装着している前記対象者が写った画像データである装着画像から、前記遮蔽物の3次元モデルで表現された遮蔽物情報を利用して前記遮蔽物を除去した非装着画像を生成し、
コンピュータが、前記非装着画像から前記視線を推定する視線推定方法。
【請求項10】
複数のカメラそれぞれを対象のカメラとして、前記対象のカメラによって撮影された画像データから対象者の視線を推定する視線推定処理と、
前記視線推定処理によって前記複数のカメラそれぞれを前記対象のカメラとして推定された視線を、
前記対象者が正面から撮影された前記画像データから推定された視線ほど重視して統合して、前記対象者の視線を特定する視線統合処理と
、
前記対象のカメラによって撮影された前記画像データに写った前記対象者が顔を遮蔽する遮蔽物を装着している場合に、前記遮蔽物を装着している前記対象者が写った画像データである装着画像から、前記遮蔽物の3次元モデルで表現された遮蔽物情報を利用して前記遮蔽物を除去した非装着画像を生成する画像生成処理と
を行う視線推定装置としてコンピュータを機能させ、
前記視線推定処理では、前記画像生成処理によって生成された前記非装着画像から前記視線を推定する視線推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像データに写った人の視線を推定する技術に関する。
【背景技術】
【0002】
人の視線は、人の行動意図を理解するための重要な情報の1つである。そのため、人の視線を推定する技術は、様々な場面で利用されている。
【0003】
従来の視線を推定する技術は、静止している人の顔が写っているカラー画像からその人の視線方向を推定する技術である。特許文献1には、従来の視線を推定する技術が記載されている。
【0004】
特に、特許文献1には、顔の向き及び照明の明るさ等が特定の条件である場合において、視線の推定の精度が低下する可能性があるという課題を解決するための技術が記載されている。
特許文献1では、単一の顔画像に対し、視線が複数の推定器で推定される。そして、顔画像撮影時のカメラと人物との間の距離とカメラの画角と事前に収集されたデータとの比較に基づく加重平均等により、複数の推定器の結果を統合して視線が決定される。これにより、様々な条件下における視線推定精度の向上が図られている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の視線を推定する技術は、以下の(1)(2)のケースのように、視線推定の対象者が静止しており、かつ、カメラの近くにいることを前提とすることが多い。(1)表示装置に取り付けたカメラで撮影された画像データから、コンピュータの操作者の視線を推定するケース。(2)車載カメラで撮影された画像データから、車両の運転手の視線を推定するケース。
特許文献1に記載された技術も、視線推定の対象者が静止しており、かつ、カメラの近くにいる場合には有効に機能する可能性がある。しかし、視線推定の対象者が街中等を行き来し、広範囲を移動するような場合には、適切に視線を推定することが難しい。
本開示は、視線推定の対象者が、広範囲を移動するような場合であっても、適切に視線を推定可能にすることを目的とする。
【課題を解決するための手段】
【0007】
本開示に係る視線推定装置は、
複数のカメラそれぞれを対象のカメラとして、前記対象のカメラによって撮影された画像データから対象者の視線を推定する視線推定部と、
前記視線推定部によって前記複数のカメラそれぞれを前記対象のカメラとして推定された視線を、前記対象のカメラによって撮影された前記画像データにおける前記対象者の写り具合に応じて統合して、前記対象者の視線を特定する視線統合部と
を備える。
【発明の効果】
【0008】
本開示では、画像データにおける対象者の写り具合に応じて視線を統合して、対象者の視線を特定する。これにより、視線推定の対象者が広範囲を移動するような場合であっても、適切に視線を推定可能である。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1に係る視線推定装置10の構成図。
【
図2】実施の形態1に係る視線推定装置10の動作を示すフローチャート。
【
図3】実施の形態2に係る視線推定装置10の動作を示すフローチャート。
【
図6】実施の形態3に係る視線推定装置10の構成図。
【
図7】実施の形態3に係るカメラ32及び注視位置推定処理の説明図。
【
図8】実施の形態3に係る視線推定装置10の動作を示すフローチャート。
【
図9】実施の形態4に係る視線推定装置10の構成図。
【
図10】実施の形態4に係る視線推定装置10の動作を示すフローチャート。
【
図11】実施の形態4に係る遮蔽物除去モデルの生成処理を示すフローチャート。
【
図12】変形例3に係る視線推定装置10の構成図。
【発明を実施するための形態】
【0010】
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る視線推定装置10の構成を説明する。
視線推定装置10は、コンピュータである。
視線推定装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0011】
プロセッサ11は、プロセッシングを行うICである。ICはIntegrated Circuitの略である。プロセッサ11は、具体例としては、CPU、DSP、GPUである。CPUは、Central Processing Unitの略である。DSPは、Digital Signal Processorの略である。GPUは、Graphics Processing Unitの略である。
【0012】
メモリ12は、データを一時的に記憶する記憶装置である。メモリ12は、具体例としては、SRAM、DRAMである。SRAMは、Static Random Access Memoryの略である。DRAMは、Dynamic Random Access Memoryの略である。
【0013】
ストレージ13は、データを保管する記憶装置である。ストレージ13は、具体例としては、HDDである。HDDは、Hard Disk Driveの略である。また、ストレージ13は、SD(登録商標)メモリカード、CompactFlash(登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、Blu-ray(登録商標)ディスク、DVDといった可搬記録媒体であってもよい。SDは、Secure Digitalの略である。DVDは、Digital Versatile Diskの略である。
【0014】
通信インタフェース14は、外部の装置と通信するためのインタフェースである。通信インタフェース14は、具体例としては、Ethernet(登録商標)、USB、HDMI(登録商標)のポートである。USBは、Universal Serial Busの略である。HDMIは、High-Definition Multimedia Interfaceの略である。
【0015】
視線推定装置10は、通信インタフェース14を介して、複数のカメラ31と接続されている。以下の説明では、N台のカメラ31が接続されているものとする。カメラ31は、RGBカメラと、RGB-Dカメラと、ステレオカメラと等である。RGBは、Red Green Blueの略である。RGB-Dは、Red Green Blue-Depthの略である。
【0016】
視線推定装置10は、機能構成要素として、撮影部21と、顔検出部22と、視線推定部23と、視線統合部24とを備える。視線推定装置10の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ13には、視線推定装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、視線推定装置10の各機能構成要素の機能が実現される。
【0017】
***動作の説明***
図2を参照して、実施の形態1に係る視線推定装置10の動作を説明する。
実施の形態1に係る視線推定装置10の動作手順は、実施の形態1に係る視線推定方法に相当する。また、実施の形態1に係る視線推定装置10の動作を実現するプログラムは、実施の形態1に係る視線推定プログラムに相当する。
【0018】
複数のカメラ31それぞれを対象のカメラ31として、ステップS11からステップS13の処理が実行される。
【0019】
(ステップS11:撮影処理)
撮影部21は、対象のカメラ31によって撮影領域を撮影する。これにより、撮影部21は、対象のカメラ31によって撮影された画像データ41を取得する。
【0020】
(ステップS12:顔検出処理)
顔検出部22は、ステップS11で取得された画像データ41から、対象者の顔を検出する。対象者は、視線の推定が行われる人である。これにより、顔検出部22は、対象者の顔特徴点の3次元座標を取得する。なお、顔検出部22によって対象者の顔が検出されなかった場合には、対象のカメラ31についての処理を終了する。
顔の検出方法は、既存技術を用いて実現可能である。具体例としては、顔検出部22は、教師あり学習等の機械学習によって生成された顔検出モデルに対して、画像データ41を入力することにより、対象者の顔を検出することが考えられる。
【0021】
(ステップS13:視線推定処理)
視線推定部23は、画像データ41から対象者の視線を推定する。視線は、対象者の目の位置と、対象者の目の位置から注視位置への方向を示すベクトルとによって表される。対象者の目の位置は、対象者の両目を結んだ線分の中点の位置の3次元座標である。
画像データから視線を推定する方法は、既存技術を用いて実現可能である。具体例としては、視線推定部23は、教師あり学習等の機械学習によって生成された視線推定モデルに対して、画像データ41を入力することにより、対象者の視線を推定することが考えられる。なお、画像データから視線を推定する場合には、眼球内の黒目の動き方に着目して推定されることが多い。
カメラ31がRGB-Dカメラ又はステレオカメラ等の場合には深度の情報が得られる。この場合には、視線推定部23は、深度の情報を用いて、視線の起点となる対象者の目の位置を推定してもよい。深度の情報を用いることにより、対象者の目の位置の推定精度を高くすることが可能である。
【0022】
(ステップS14:視線統合処理)
視線統合部24は、複数のカメラ31それぞれを対象のカメラ31として推定された視線を統合して、対象者の視線を特定する。具体的には、視線統合部24は、対象のカメラによって撮影された画像データ41における対象者の写り具合に応じて視線を統合して、対象者の視線を特定する。
視線統合部24は、特定した視線を、通信インタフェース14を介して外部の機器に出力する。例えば、視線統合部24は、特定した視線を表示装置に出力して、表示する。このとき、視線統合部24は、ステップS12で顔を検出した際に得られた顔特徴点の3次元座標も合わせて出力してもよい。
【0023】
ステップS13で視線を推定する際、対象者の顔の撮影が正面側からされているほど、視線の検出精度が高い傾向がある。また、対象者の顔の撮影が近い位置からされているほど、視線の検出精度が高い傾向がある。そこで、視線統合部24は、対象者が正面から撮影された画像データ41から推定された視線ほど重視して統合する。また、視線統合部24は、対象者が近い距離から撮影された画像データ41から推定された視線ほど重視して統合する。
重視して統合するとは、例えば、重視する視線ほど重い重みを持たせた上で、重み付け平均を計算することにより、統合することである。具体的には、複数のカメラ31それぞれを対象のカメラ31として推定された視線に重みを乗じた値の合計値を、重みの合計値で除すことにより、視線が統合される。つまり、対象者の目の位置について、重みを乗じた値の合計値を、重みの合計値で除すことにより、対象者の目の位置が特定される。また、視線ベクトルについて、重みを乗じた値の合計値を、重みの合計値で除すことにより、視線ベクトルが特定される。
【0024】
より具体的には、実施の形態2では、視線統合部24は、以下の(1)(2)の2通りの方法の少なくともいずれかにより視線の信頼度を計算する。そして、視線統合部24は、計算された信頼度で重み付けした重み付け平均等により、視線を統合する。ここでは、信頼度が高いほど、重い重みが付されるとする。
【0025】
(1)虹彩による信頼度
視線統合部24は、対象者の虹彩がきれいに撮影されているほど、信頼度が高くなるように信頼度を計算する。虹彩がきれいか否かの評価指標は、虹彩の形状と、虹彩の領域サイズとである。虹彩の形状が円形に近いほど、虹彩がきれいであると判断される。虹彩の領域サイズが大きいほど、虹彩がきれいであると判断される。
対象者の顔の撮影が正面側からされているほど、虹彩の形状は円形に近くなる。また、対象者の顔の撮影が近い位置からされているほど、虹彩の領域サイズは大きくなる。つまり、虹彩がきれいに撮影されており、信頼度が高いほど、視線の検出精度が高い傾向がある。
【0026】
(2)カメラ31との距離による信頼度
視線統合部24は、対象者の両目の中心位置Ceyeが、対象のカメラ31の中心位置Ccamから近くなるほど、信頼度が高くなるように信頼度を計算する。例えば、視線統合部24は、事前に設定された値αを距離|Ccam-Ceye|で除したα/(|Ccam-Ceye|)を信頼度として計算する。なお、起こり難いが、距離|Ccam-Ceye|が0の場合には、重みを1に設定してもよい。
対象者の顔の撮影が正面側からされており、かつ、対象者の顔の撮影が近い位置からされているほど、距離|Ccam-Ceye|が短くなる。つまり、距離|Ccam-Ceye|が短く、信頼度が高いほど、視線の検出精度が高い傾向がある。
【0027】
視線統合部24は、信頼度(重み)が基準値未満の視線については統合対象から除外してもよい。信頼度が低い視線を統合しても、誤差が大きくなる傾向があると考えられるためである。なお、信頼度が低い場合には、重みが小さいため統合対象としても、結果に与える影響は小さいので、統合対象から除外しなくてもよい。
【0028】
ここで、視線を統合する場合には、同じタイミングで各カメラ31によって撮影された画像データ41から推定された視線を統合する必要がある。視線統合部24は、同じタイミングで各カメラ31によって撮影された画像データ41から推定された視線であることを特定する同期処理を、撮影時刻を用いて行うことが考えられる。同期処理は、画像データ41に写った周辺状況に基づき行われてもよい。また、同期処理は、同期信号を用いて行われてもよい。
【0029】
なお、ステップS14で視線統合部24は、統合の際に使用した重みを、視線とともに出力してもよい。
【0030】
***実施の形態1の効果***
以上のように、実施の形態1に係る視線推定装置10は、画像データ41における対象者の写り具合に応じて視線を統合して、対象者の視線を特定する。これにより、1台のカメラ31で撮影された画像データ41からは推定が難しい、視線推定の対象者が広範囲を移動するような場合であっても、適切に視線を推定可能である。
【0031】
特に、実施の形態1に係る視線推定装置10は、対象者が正面から撮影された画像データ41から推定された視線ほど重視して統合する。また、実施の形態1に係る視線推定装置10は、対象者が近い距離から撮影された画像データ41から推定された視線ほど重視して統合する。これにより、複数のカメラ31によって撮影された画像データ41を考慮した場合に、精度よく視線を推定することが可能である。
【0032】
また、実施の形態1に係る視線推定装置10は、虹彩とカメラ31との距離との少なくともいずれかを用いて、対象者が正面から撮影された画像データ41であるか、及び、対象者が近い距離から撮影された画像データ41であるかを特定する。これにより、容易かつ正確に、対象者が正面から撮影された画像データ41であるか、及び、対象者が近い距離から撮影された画像データ41であるかを特定可能である。
【0033】
また、実施の形態1に係る視線推定装置10は、複数のカメラ31で撮影された画像データ41から視線を特定するので、一部のカメラ31が故障した場合であっても視線を特定可能である。
【0034】
実施の形態2.
実施の形態2は、推定された視線を補正する点が実施の形態1と異なる。実施の形態2では、この異なる点を説明し、同一の点については説明を省略する。
【0035】
***動作の説明***
図3を参照して、実施の形態2に係る視線推定装置10の動作を説明する。
ステップS21からステップS23の処理は、
図2のステップS11からステップS13の処理と同じである。ステップS25の処理は、
図2のステップS14の処理と同じである。
【0036】
(ステップS24:視線補正処理)
視線推定部23は、ステップS23で推定された視線を補正する。
具体的には、視線推定部23は、事前にキャリブレーション用の射影変換行列を求めておく。そして、視線推定部23は、推定された視線を、射影変換行列により変換することにより補正する。
【0037】
図4を参照してより詳細に説明する。
視線は、眼球内の黒目の動き方に着目して推定される。注視位置が左右又は上下に遠ざかるほど、黒目の動きが大きくなる。黒目の動きが大きくなると、推定された視線は誤差が大きくなり歪んでしまう。
そこで、視線推定部23は、キャリブレーション用の点を注視した場合における視線を推定する。視線推定部23は、推定された視線から特定される注視位置を推定位置として特定する。注視したキャリブレーション用の点の実際の注視位置を実際位置と呼ぶ。視線推定部23は、推定位置が、実際位置と一致するような射影変換行列を計算する。
具体的には、視線推定部23は、
図4のように壁における矩形領域を注視領域43として、注視領域43の四隅の各点をキャリブレーション用の点に設定する。視線推定部23は、四隅の各点を対象として、対象の点を注視した場合における視線を推定し、推定位置を特定する。これにより、推定位置を繋いだ矩形領域である推定領域44が特定される。推定領域44から注視領域43への補正は、注視領域43及び推定領域44の四隅の点を用いた射影変換とみなすことができる。そこで、視線推定部23は、数1に示すように、推定領域44から注視領域43へ補正する射影変換行列を計算する。
【数1】
【0038】
例えば、ステップS25で推定された視線から特定される推定位置が、
図4の推定領域44における位置(x,y)であるとする。すると、数1の射影変換行列により、位置(x,y)が注視領域43における位置(x’,y’)に補正される。その結果、注視位置は位置(x’,y’)となり、視線の方向は、対象者の目の位置から位置(x’,y’)の方向になる。
【0039】
***実施の形態2の効果***
以上のように、実施の形態2に係る視線推定装置10は、事前に用意された射影変換行列により、推定された視線を補正する。これにより、推定された視線に含まれる誤差を小さくすることが可能である。
【0040】
***他の構成***
<変形例1>
人間の目の形状は非対称である。そのため、見ている方向により誤差の大きさが異なり、歪み方も異なる。例えば、眼球を動かして上を見ようとすると、瞼が上がり、目が大きく見開かれる。一方、眼球を動かして下を見ようとすると、瞼が下がり、目がやや閉じられる。
【0041】
そこで、視線推定部23は、視線の方向に応じて射影変換行列を複数用意しておく。具体的には、対象者の真正面の位置を基準として、視界に入る領域を複数の分割領域45に分割し、分割領域45毎に射影変換行列を用意しておく。例えば、
図5に示すように、対象者の真正面の位置を基準として、(1)左上、(2)右上、(3)左下、(4)右下の4つの分割領域45に分割し、4つの分割領域45それぞれについて射影変換行列を用意しておく。
そして、視線推定部23は、視線が入ると推定される分割領域45に対応する射影変換行列により、推定された視線を補正する。例えば、視線が(2)右上の分割領域45に入ると推定される場合には、視線推定部23は、(2)右上の分割領域45に対応する射影変換行列により視線を補正する。
【0042】
ここで、視線が入ると推定される分割領域45とは、その分割領域45を注視領域43とした場合の推定領域44に推定された視線が入るという意味である。
つまり、視線推定部23は、各分割領域45を注視領域43に設定する。視線推定部23は、注視領域43の四隅の各点等をキャリブレーション用の点に設定する。視線推定部23は、キャリブレーション用の点を注視した場合における視線を推定する。これにより、各分割領域45に対応する推定領域44が特定される。そして、視線推定部23は、ステップS23で推定された視線が入る推定領域44を特定することで、どの射影変換行列を補正に使用するかを決定する。
【0043】
以上のように、視線の方向に応じた射影変換行列を用いて視線を補正することにより、誤差をより小さくすることが可能である。
【0044】
実施の形態3.
実施の形態3は、視線の先に存在する注視位置を推定する点が実施の形態1,2と異なる。実施の形態3では、この異なる点を説明し、同一の点については説明を省略する。
実施の形態3では、実施の形態1に機能を加えた場合について説明する。しかし、実施の形態2に機能を加えることも可能である。
【0045】
***構成の説明***
図6を参照して、実施の形態3に係る視線推定装置10の構成を説明する。
視線推定装置10は、機能構成要素として、注視位置推定部25を備える点が
図1に示す視線推定装置10と異なる。注視位置推定部25の機能は他の機能構成要素と同様にソフトウェアによって実現される。
【0046】
また、視線推定装置10は、通信インタフェース14を介して、1台以上の空間把握用のカメラ32と接続されている点が
図1に示す視線推定装置10と異なる。カメラ32は、RGB-Dカメラと、ステレオカメラと等である。
ここで、カメラ31は、対象者を撮影するためのカメラである。これに対して、カメラ32は、対象者がいる空間を把握するためのカメラである。例えば、
図7に示すように、カメラ31は対象者を正面側から撮影するように設置される。一方、カメラ32は、対象者がいる空間を撮影できるように、対象者の背面側等から撮影する、あるいは俯瞰的に撮影するように設置されている。
【0047】
***動作の説明***
図8を参照して、実施の形態3に係る視線推定装置10の動作を説明する。
ステップS31からステップS34の処理は、
図2のステップS11からステップS14の処理と同じである。
【0048】
(ステップS35:注視位置推定処理)
注視位置推定部25は、ステップS34で特定された視線の先に存在する注視位置を推定する。
具体的には、注視位置推定部25は、カメラ32によって撮影された画像データから対象者がいる空間の3次元モデルを生成しておく。なお、対象者がいる空間の設計データ等の既知のデータから、対象者がいる空間の3次元モデルを生成しておいてもよい。
図7に示すように、注視位置推定部25は、ステップS34で特定された視線を3次元モデル上に設定する。つまり、注視位置推定部25は、3次元モデルに対して、視線が示す対象者の目の位置から、注視位置への方向を示すベクトルを設定する。注視位置推定部25は、設定したベクトルを伸ばし、3次元モデルにおける物体との交点を注視位置として特定する。
なお、注視位置推定部25は、3次元モデルと、各カメラ31で撮影される画像データ41との間で位置合わせをしておく必要がある。
【0049】
***実施の形態3の効果***
以上のように、実施の形態3に係る視線推定装置10は、3次元モデルに視線を設定することで、注視位置を推定可能である。
対象者が広範囲を移動するような場合には、カメラ31から見た対象者の位置関係が変化する。すると、対象者と注視対象となる物との位置関係が変化する。そのため、単純に視線を特定しただけでは、注視している位置を特定することが難しい。しかし、実施の形態3に係る視線推定装置10は、対象者がいる空間の3次元モデルを用いることにより、対象者が広範囲を移動するような場合にも注視位置を推定することが可能である。
【0050】
実施の形態4.
実施の形態4は、対象者の顔に装着された眼鏡又はマスクのような遮蔽物を除去した上で視線を推定する点が実施の形態1~3と異なる。実施の形態4では、この異なる点を説明し、同一の点については説明を省略する。
実施の形態4では、実施の形態1に機能を加えた場合について説明する。しかし、実施の形態2,3に機能を加えることも可能である。
【0051】
***構成の説明***
図9を参照して、実施の形態4に係る視線推定装置10の構成を説明する。
視線推定装置10は、機能構成要素として、画像生成部26を備える点が
図1に示す視線推定装置10と異なる。画像生成部26の機能は他の機能構成要素と同様にソフトウェアによって実現される。
【0052】
***動作の説明***
図10を参照して、実施の形態4視線推定装置10の動作を説明する。
ステップS41からステップS42の処理は、
図2のステップS11からステップS12の処理と同じである。また、ステップS46の処理は、
図2のステップS14の処理と同じである。
【0053】
(ステップS43:遮蔽物判定処理)
画像生成部26は、ステップS42で検出された対象者の顔に遮蔽物が装着されているか否かを判定する。遮蔽物は、対象者の顔を遮蔽する物である。具体例としては、遮蔽物は、眼鏡又はマスク等である。
遮蔽物が装着されているか否かの判定方法は、既存技術を用いて実現可能である。具体例としては、画像生成部26は、教師あり学習等の機械学習によって生成された遮蔽物の有無判定モデルに対して、画像データ41及び顔特徴点の三次元座標を入力することにより、対象者の顔に遮蔽物が装着されているかを判定することが考えられる。
画像生成部26は、遮蔽物が装着されている場合には、処理をステップS44に進める。一方、画像生成部26は、遮蔽物が装着されていない場合には、ステップS44をスキップして、処理をステップS45に進める。
【0054】
ここで、眼鏡が装着されている場合には、レンズによる反射又は歪み等により、視線推定の精度が低くなってしまう恐れがある。また、マスクが装着されている場合には、視線推定に必要な顔の特徴検出が適切に行われず、視線推定も適切に行われなくなってしまう恐れがある。
【0055】
(ステップS44:画像生成処理)
画像生成部26は、ステップS43で遮蔽物が装着されていると判定された画像データ41である装着画像から、遮蔽物を除去した非装着画像42を生成する。
具体的には、画像生成部26は、敵対的生成ネットワーク(GAN)を用いて、装着画像から非装着画像42を生成する。GANは、Generative Adversarial Networksの略である。敵対的生成ネットワークは、生成モデルの一種である。敵対的生成ネットワークは、データから特徴を学習することにより、入力されたデータの特徴に沿って、実在しないデータを生成することができる生成モデルである。ここでは、画像生成部26は、顔に装着された遮蔽物を除去した非装着画像42を生成する敵対的生成ネットワークである遮蔽物除去モデルを用いる。つまり、画像生成部26は、装着画像を遮蔽物除去モデルに入力として与え、遮蔽物を除去した非装着画像42を生成する。
【0056】
(ステップS45:視線推定処理)
図2のステップS13と同様に、視線推定部23は、対象者の視線を推定する。
この際、視線推定部23は、ステップS43で遮蔽物が装着されていないと判定された場合には、画像データ41から視線を推定する。一方、視線推定部23は、ステップS43で遮蔽物が装着されていると判定された場合には、非装着画像42から視線を推定する。
【0057】
図11を参照して、実施の形態4に係る遮蔽物除去モデルの生成処理を説明する。
遮蔽物除去モデルの生成処理は、
図10の処理の実行前に実行される。そのため、遮蔽物除去モデルは、
図10の処理の実行前に生成されている。
【0058】
(ステップS51:遮蔽物画像生成処理)
画像生成部26は、遮蔽物の3次元モデルを回転させて、顔の向き毎の遮蔽物の画像である遮蔽物画像を生成する。画像生成部26は、眼鏡とマスクといった遮蔽物の種類毎に3次元モデルを用意しておく。また、画像生成部26は、同一の種類の遮蔽物について、形状毎に複数の3次元モデルを用意しておいてもよい。画像生成部26は、各3次元モデルについて、顔の向き毎の遮蔽物画像を生成する。
【0059】
(ステップS52:顔向き推定処理)
画像生成部26は、遮蔽物が装着されていない複数の顔画像それぞれを処理対象に設定する。画像生成部26は、処理対象の顔画像における顔の向きを推定する。顔の向きの推定は、既存技術で実現可能である。
【0060】
(ステップS53:装着画像生成処理)
画像生成部26は、各顔画像及び各3次元モデルを処理対象に設定する。画像生成部26は、処理対象の顔画像についてステップS52で推定された顔の向きに対応する、ステップS51で処理対象の3次元モデルから生成された遮蔽物画像を特定する。画像生成部26は、処理対象の顔画像に、特定された遮蔽物画像を重畳して装着学習画像を生成する。この際、画像生成部26は、遮蔽物の種類に応じた位置に遮蔽物画像を重畳する。
なお、遮蔽物の種類が眼鏡の場合には、レンズによる反射又は歪みが発生することがある。そこで、画像生成部26は、発生し得る反射及び歪みを処理対象の顔画像に反映させてもよい。反射及び歪みが反映されるのは、顔画像のうちレンズによる影響がある部分だけである。そして、画像生成部26は、反射及び歪みを反映させた顔画像に遮蔽物画像を重畳した装着学習画像も生成する。
【0061】
(ステップS54:学習処理)
画像生成部26は、各顔画像を処理対象に設定する。画像生成部26は、処理対象の顔画像である非装着学習画像と、処理対象の顔画像から生成された各装着学習画像との組を学習データに設定する。画像生成部26は、学習データにより学習させ、遮蔽物除去モデルを生成する。
【0062】
***実施の形態4の効果***
以上のように、実施の形態4に係る視線推定装置10は、遮蔽物が装着されている場合に、遮蔽物を除去した非装着画像を生成し、非装着画像から視線を推定する。これにより、対象者が遮蔽物を装着している場合であっても、適切に視線を推定可能である。
【0063】
***他の構成***
<変形例2>
実施の形態2~4では、実施の形態1と同様に、複数のカメラ31で撮影された画像データ41から推定された視線を統合した。しかし、実施の形態2~4では、カメラ31は1台でもよい。そして、1台のカメラ31で撮影された画像データ41から視線を推定する構成としてもよい。この場合には、視線統合部24の機能は不要となる。
【0064】
<変形例3>
実施の形態1~4では、プロセッサ11は1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。
例えば、
図12に示すように、視線推定装置10は、カメラ31毎にプロセッサ11を備え、カメラ31毎に対応するプロセッサ11によって視線の推定を行ってもよい。そして、視線推定装置10は、カメラ31毎に備えるプロセッサ11とは別のプロセッサ11により、推定された視線の統合等の各カメラ31に共通の処理を行ってもよい。つまり、実施の形態1~4で説明した機能構成要素のうち、撮影部21と顔検出部22と視線推定部23と画像生成部26とが、カメラ31毎に備えるプロセッサ11によって実現される。残りの視線統合部24と注視位置推定部25とがカメラ31毎に備えるプロセッサ11とは別のプロセッサ11によって実現される。
なお、
図12では、メモリ12とストレージ13と通信インタフェース14とは省略されている。
【0065】
<変形例4>
実施の形態1~4では、各機能構成要素がソフトウェアで実現された。しかし、変形例4として、各機能構成要素はハードウェアで実現されてもよい。この変形例4について、実施の形態1~4と異なる点を説明する。
【0066】
各機能構成要素がハードウェアで実現される場合には、視線推定装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路を備える。電子回路は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
【0067】
電子回路としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAが想定される。GAは、Gate Arrayの略である。ASICは、Application Specific Integrated Circuitの略である。FPGAは、Field-Programmable Gate Arrayの略である。
各機能構成要素を1つの電子回路で実現してもよいし、各機能構成要素を複数の電子回路に分散させて実現してもよい。
【0068】
<変形例5>
変形例5として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【0069】
プロセッサ11とメモリ12とストレージ13と電子回路とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【0070】
また、以上の説明における「部」を、「回路」、「工程」、「手順」、「処理」又は「処理回路」に読み替えてもよい。
【0071】
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【0072】
10 視線推定装置、11 プロセッサ、12 メモリ、13 ストレージ、14 通信インタフェース、15 電子回路、21 撮影部、22 顔検出部、23 視線推定部、24 視線統合部、25 注視位置推定部、26 画像生成部、31 カメラ、32 カメラ、41 画像データ、42 非装着画像、43 注視領域、44 推定領域、45 分割領域。
【要約】
視線推定部(23)は、複数のカメラ(31)それぞれを対象のカメラ(31)に設定する。視線推定部(23)は、対象のカメラ(31)によって撮影された画像データ(41)から対象者の視線を推定する。視線統合部(24)は、視線推定部(23)によって複数のカメラ(31)それぞれを対象のカメラ(31)として推定された視線を、対象のカメラ(31)によって撮影された画像データ(41)における対象者の写り具合に応じて統合して、対象者の視線を特定する。