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

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

▶ 国立大学法人静岡大学の特許一覧

<>
  • 特開-瞳孔検出装置および瞳孔検出方法 図1
  • 特開-瞳孔検出装置および瞳孔検出方法 図2
  • 特開-瞳孔検出装置および瞳孔検出方法 図3
  • 特開-瞳孔検出装置および瞳孔検出方法 図4
  • 特開-瞳孔検出装置および瞳孔検出方法 図5
  • 特開-瞳孔検出装置および瞳孔検出方法 図6
  • 特開-瞳孔検出装置および瞳孔検出方法 図7
  • 特開-瞳孔検出装置および瞳孔検出方法 図8
  • 特開-瞳孔検出装置および瞳孔検出方法 図9
  • 特開-瞳孔検出装置および瞳孔検出方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023125652
(43)【公開日】2023-09-07
(54)【発明の名称】瞳孔検出装置および瞳孔検出方法
(51)【国際特許分類】
   G06T 7/73 20170101AFI20230831BHJP
   G06T 7/00 20170101ALI20230831BHJP
【FI】
G06T7/73
G06T7/00 660A
G06T7/00 350C
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022029876
(22)【出願日】2022-02-28
(71)【出願人】
【識別番号】304023318
【氏名又は名称】国立大学法人静岡大学
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100124800
【弁理士】
【氏名又は名称】諏澤 勇司
(72)【発明者】
【氏名】海老澤 嘉伸
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096AA09
5L096CA05
5L096CA17
5L096EA13
5L096EA35
5L096FA62
5L096FA66
5L096FA67
5L096FA69
5L096GA19
5L096HA05
5L096HA11
5L096KA04
(57)【要約】
【課題】簡易な装置構成により演算効率及び検出精度を高めること。
【解決手段】視線検出装置1は、対象者Aの顔を撮像することにより顔画像を連続したタイミングで取得するカメラ10と、対象者Aの顔に向けて光を照射する光源13と、光の照射タイミングでカメラ10によって取得された顔画像を処理する画像処理装置20とを備え、画像処理装置20は、顔画像上で対象者Aの瞳孔の位置を検出する視線検出部23と、顔画像上で閉眼状態における目の特徴部の位置を探索することにより、対象者Aの閉眼中の瞳孔の位置を予測する瞳孔位置予測部25と、を有し、視線検出部23は、瞳孔位置予測部25によって予測された瞳孔の位置を利用して瞳孔を追尾することにより、瞳孔の位置を検出する。
【選択図】図4

【特許請求の範囲】
【請求項1】
対象者の顔を撮像することにより顔画像を連続したタイミングで取得するカメラと、
前記対象者の顔に向けて光を照射する光源と、
前記光の照射タイミングで前記カメラによって取得された顔画像を処理する演算装置とを備え、
前記演算装置は、
前記顔画像上で対象者の瞳孔の位置を検出する瞳孔位置検出部と、
前記顔画像上で閉眼状態における前記顔の特徴部の位置を探索することにより、対象者の閉眼中の瞳孔の位置を予測する瞳孔位置予測部と、を有し、
前記瞳孔位置検出部は、前記瞳孔位置予測部によって予測された前記瞳孔の位置を利用して前記瞳孔を追尾することにより、前記瞳孔の位置を検出する、
瞳孔検出装置。
【請求項2】
前記顔の特徴部は、前記対象者の目の特徴部である、
請求項1記載の瞳孔検出装置。
【請求項3】
前記瞳孔位置予測部は、ニューラルネットワークを用いた機械学習モデルにより前記瞳孔の位置を予測する、
請求項1又は2に記載の瞳孔検出装置。
【請求項4】
前記瞳孔位置予測部は、前記顔画像を切り出した部分画像を入力データとして前記機械学習モデルに入力し、前記機械学習モデルを用いて、前記顔の特徴部が含まれる部分画像の位置を探索することにより、前記瞳孔の位置を予測する、
請求項3に記載の瞳孔検出装置。
【請求項5】
前記瞳孔位置予測部は、部分画像を前記顔の特徴部の全体を含むサイズで切り出す、
請求項4に記載の瞳孔検出装置。
【請求項6】
前記演算装置は、前記機械学習モデルを学習させるモデル学習部をさらに有し、
前記モデル学習部は、前記対象者の閉眼時に取得された前記顔画像を、前記対象者の閉眼直前に前記瞳孔位置検出部によって検出された前記瞳孔の位置を基準に切り出し、切り出した前記顔画像をトレーニングデータとして用いて、前記機械学習モデルを学習させる、
請求項4又は5に記載の瞳孔検出装置。
【請求項7】
前記演算装置は、前記カメラから前記瞳孔までの距離を検出する瞳孔距離検出部をさらに有し、
前記瞳孔位置予測部は、前記入力データとしての前記部分画像の切り出しのサイズを、前記瞳孔の距離に応じて可変に設定する、
請求項4又は5に記載の瞳孔検出装置。
【請求項8】
前記演算装置は、前記カメラから前記瞳孔までの距離を検出する瞳孔距離検出部をさらに有し、
前記モデル学習部は、トレーニングデータとしての前記顔画像の切り出しのサイズを、前記瞳孔の距離に応じて可変に設定する、
請求項6に記載の瞳孔検出装置。
【請求項9】
前記モデル学習部は、切り出した前記顔画像の中から前記顔の特徴部の存在する領域を特定し、特定した前記領域を基にトレーニングデータとしての前記顔画像の切り出しのサイズを設定する、
請求項6に記載の瞳孔検出装置。
【請求項10】
前記モデル学習部は、切り出した前記顔画像の中から前記顔の特徴部の存在する領域を特定し、特定した前記領域が画像の中央に位置するようにトレーニングデータとしての前記顔画像の切り出しの位置を設定する、
請求項6又は9に記載の瞳孔検出装置。
【請求項11】
前記機械学習モデルは、前記対象者の閉眼直前に前記瞳孔位置検出部によって検出された前記瞳孔の位置を基準に切り出した前記顔画像に対する、前記顔の特徴部が含まれる部分画像の位置のずれ量を予測するモデルであり、
前記モデル学習部は、前記切り出した前記顔画像をずらしながらシフト画像を生成し、前記シフト画像と当該シフト画像のずれ量とをトレーニングデータとして用いて、前記学習モデルを学習させる、
請求項6又は8に記載の瞳孔検出装置。
【請求項12】
前記瞳孔位置検出部は、連続したフレームの前記顔画像上で検出された前記瞳孔の位置を用いて前記瞳孔の位置を追尾することにより、前記瞳孔の位置を検出し、直前のフレームの前記顔画像上で前記瞳孔の位置の検出が失敗した場合、前記瞳孔位置予測部によって予測された前記瞳孔の位置を利用して前記瞳孔の位置を追尾する、
請求項1~11のいずれか1項に記載の瞳孔検出装置。
【請求項13】
前記瞳孔位置検出部は、前記対象者が閉眼した後に再度開眼した際に、前記対象者の閉眼したタイミングで前記瞳孔位置予測部によって予測された前記瞳孔の位置を基に前記顔画像上のウィンドウを設定することにより、前記瞳孔の位置を検出する、
請求項12に記載の瞳孔検出装置。
【請求項14】
対象者の顔を撮像することにより顔画像を連続したタイミングで取得するカメラと、前記対象者の顔に向けて光を照射する光源と、前記光の照射タイミングで前記カメラによって取得された顔画像を処理する演算装置とを用いた瞳孔検出方法であって、
前記演算装置が、前記顔画像上で対象者の瞳孔の位置を検出する瞳孔位置検出ステップと、
前記演算装置が、前記顔画像上で閉眼状態における前記顔の特徴部の位置を探索することにより、対象者の閉眼中の瞳孔の位置を予測する瞳孔位置予測ステップと、を有し、
前記瞳孔位置検出ステップでは、前記瞳孔位置予測ステップによって予測された前記瞳孔の位置を利用して前記瞳孔を追尾することにより、前記瞳孔の位置を検出する、
瞳孔検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象者の画像から瞳孔の位置を検出する瞳孔検出装置および瞳孔検出方法に関する。
【背景技術】
【0002】
従来から、対象者の目を含む顔の画像を取得して、その画像を基に対象者の瞳孔の位置を検出する装置が用いられている(例えば、下記特許文献1参照。)。この装置は、瞳孔が明るく写った明瞳孔画像と瞳孔が暗く写った暗瞳孔画像との差分により求まる差分画像を基に瞳孔の位置を検出している。その際、演算効率及び演算精度を高めるために、前のフレームの画像上で検出された瞳孔の位置から次のフレームの画像上において瞳孔の位置と予測される部分にウィンドウを設定し、そのウィンドウ内で瞳孔を探索している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-268026号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した特許文献1に記載の装置では、対象者が瞬き等によって目を閉じた(以下、「閉眼した」ともいう。)場合に、画像上に設定するウィンドウの位置が現実の瞳孔の位置から外れてしまい、瞳孔の検出ができなくなる傾向にあった。ウィンドウを大きく設定すればそのような事態を回避できるが演算効率が低下する。
【0005】
本発明は、上記課題に鑑みて為されたものであり、演算効率及び検出精度を高めることが可能な瞳孔検出装置及び瞳孔検出方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一形態にかかる瞳孔検出装置は、対象者の顔を撮像することにより顔画像を連続したタイミングで取得するカメラと、対象者の顔に向けて光を照射する光源と、光の照射タイミングでカメラによって取得された顔画像を処理する演算装置とを備え、演算装置は、顔画像上で対象者の瞳孔の位置を検出する瞳孔位置検出部と、顔画像上で閉眼状態における顔の特徴部の位置を探索することにより、対象者の閉眼中の瞳孔の位置を予測する瞳孔位置予測部と、を有し、瞳孔位置検出部は、瞳孔位置予測部によって予測された瞳孔の位置を利用して瞳孔を追尾することにより、瞳孔の位置を検出する。
【0007】
また、本発明の他の形態にかかる瞳孔検出方法は、対象者の顔を撮像することにより顔画像を連続したタイミングで取得するカメラと、対象者の顔に向けて光を照射する光源と、光の照射タイミングでカメラによって取得された顔画像を処理する演算装置とを用いた瞳孔検出方法であって、演算装置が、顔画像上で対象者の瞳孔の位置を検出する瞳孔位置検出ステップと、演算装置が、顔画像上で閉眼状態における顔の特徴部の位置を探索することにより、対象者の閉眼中の瞳孔の位置を予測する瞳孔位置予測ステップと、を有し、瞳孔位置検出ステップでは、瞳孔位置予測ステップによって予測された瞳孔の位置を利用して瞳孔を追尾することにより、瞳孔の位置を検出する。
【0008】
上記一形態の瞳孔検出装置、あるいは、上記他の形態の瞳孔検出方法によれば、カメラによって連続したタイミングで取得された顔画像上で瞳孔の位置が検出され、その顔画像から閉眼状態における顔の特徴部の位置が探索されることにより、その顔画像上において閉眼中の瞳孔の位置が予測される。そして瞳孔の位置の検出の際には、顔画像上で予測された瞳孔の位置を利用して瞳孔が追尾される。これにより、対象者が閉眼した場合であっても瞳孔を追尾することによって瞳孔の位置を検出でき、高い演算効率で、高精度の瞳孔検出処理が実現できる。
【0009】
ここで、顔の特徴部は、対象者の目の特徴部であってよい。この場合、顔画像における目の特徴部の位置を探索してその位置から瞳孔の位置が予測されることにより、瞳孔の位置の予測精度を高めることができ、より高精度の瞳孔検出処理が実現される。
【0010】
また、瞳孔位置予測部は、ニューラルネットワークを用いた機械学習モデルにより瞳孔の位置を予測する、こととしてもよい。この場合、顔画像上の瞳孔の位置の予測精度を簡易な学習手法によって確実に高めることができ、安定した瞳孔検出処理が実現される。
【0011】
また、瞳孔位置予測部は、顔画像を切り出した部分画像を入力データとして機械学習モデルに入力し、機械学習モデルを用いて、顔の特徴部が含まれる部分画像の位置を探索することにより、瞳孔の位置を予測する、こととしてもよい。この場合、顔画像を切り出した部分画像を入力データとして用いることにより、簡易な処理によって顔画像上の瞳孔の位置を予測することができる。その結果、瞳孔検出処理の演算効率をより高めることができる。
【0012】
また、瞳孔位置予測部は、部分画像を顔の特徴部の全体を含むサイズで切り出す、こととしてもよい。この場合、顔画像を切り出した部分画像に顔の特徴部の全体を収めることができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0013】
また、演算装置は、機械学習モデルを学習させるモデル学習部をさらに有し、モデル学習部は、対象者の閉眼時に取得された顔画像を、対象者の閉眼直前に瞳孔位置検出部によって検出された瞳孔の位置を基準に切り出し、切り出した顔画像をトレーニングデータとして用いて、機械学習モデルを学習させる、こととしてもよい。こうすれば、適切なトレーニングデータを作成することができ、そのトレーニングデータを用いて学習させることにより瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0014】
また、演算装置は、カメラから瞳孔までの距離を検出する瞳孔距離検出部をさらに有し、瞳孔位置予測部は、入力データとしての部分画像の切り出しのサイズを、瞳孔の距離に応じて可変に設定する、こととしてもよい。この場合には、入力データとして用いる部分画像のサイズを適切に設定することができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0015】
また、演算装置は、カメラから瞳孔までの距離を検出する瞳孔距離検出部をさらに有し、モデル学習部は、トレーニングデータとしての顔画像の切り出しのサイズを、瞳孔の距離に応じて可変に設定する、こととしてもよい。こうすれば、トレーニングデータとして用いる顔画像の切り出しのサイズを適切に設定することができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0016】
また、モデル学習部は、切り出した顔画像の中から顔の特徴部の存在する領域を特定し、特定した領域を基にトレーニングデータとしての顔画像の切り出しのサイズを設定する、こととしてもよい。こうすれば、トレーニングデータとして用いる顔画像の切り出しのサイズを顔の特徴部の領域に応じて適切に設定することができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0017】
また、モデル学習部は、切り出した顔画像の中から顔の特徴部の存在する領域を特定し、特定した領域が画像の中央に位置するようにトレーニングデータとしての顔画像の切り出しの位置を設定する、こととしてもよい。こうすれば、トレーニングデータとして用いる顔画像の切り出しの位置を顔の特徴部の領域に応じて適切に設定することができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0018】
また、機械学習モデルは、対象者の閉眼直前に瞳孔位置検出部によって検出された瞳孔の位置を基準に切り出した顔画像に対する、顔の特徴部が含まれる部分画像の位置のずれ量を予測するモデルであり、モデル学習部は、切り出した顔画像をずらしながらシフト画像を生成し、シフト画像と当該シフト画像のずれ量とをトレーニングデータとして用いて、学習モデルを学習させる、こととしてもよい。この場合には、入力データとして用いる複数の部分画像間の顔画像上におけるずれ量の大きさに関わらず、顔画像上の瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0019】
また、瞳孔位置検出部は、対象者が閉眼した後に再度開眼した際に、対象者の閉眼したタイミングで瞳孔位置予測部によって予測された瞳孔の位置を基に顔画像上のウィンドウを設定することにより、瞳孔の位置を検出する、こととしてもよい。従来では、閉眼状態の後に開眼状態になった後は、数フレームの画像の間では瞳孔を検出できない状態になる傾向にあった。このような構成によれば、開眼した直後のフレームから、遅れなく、安定して瞳孔検出を再開することができる。
【0020】
また、瞳孔位置検出部は、連続したフレームの顔画像上で検出された瞳孔の位置を用いて瞳孔の位置を追尾することにより、瞳孔の位置を検出し、直前のフレームの顔画像上で瞳孔の位置の検出が失敗した場合、瞳孔位置予測部によって予測された瞳孔の位置を利用して瞳孔の位置を追尾する、こととしてもよい。かかる構成によれば、連続して瞳孔の位置を検出する際に対象者が瞬き等により閉眼して画像上に瞳孔の像が現れなくなっても安定して瞳孔の位置を追尾することができ、対象者が開眼して画像上に再度瞳孔の像が現れた際に安定して瞳孔の位置を検出することができる。
【発明の効果】
【0021】
本発明によれば、簡易な装置構成により瞳孔検出処理の演算効率及び検出精度を高めることができる。
【図面の簡単な説明】
【0022】
図1】実施形態に係る視線検出装置を示す斜視図である。
図2】カメラのレンズ部分を示す平面図である。
図3】実施形態に係る画像処理装置のハードウェア構成を示す図である。
図4】実施形態に係る視線検出装置の機能構成を示すブロック図である。
図5図4の部分画像作成部24によって作成される部分画像のイメージを示す図である。
図6】瞳孔位置予測部25によって用いられる機械学習モデル1の層構成を示す図である。
図7】瞳孔位置予測部25によって用いられる機械学習モデル2の層構成を示す図である。
図8】顔画像GF2を対象に学習用画像作成部26によって作成された左右の瞳孔の閉眼画像GPL1,GPR1の一例を示す図である。
図9】顔画像GF2を対象に学習用画像作成部26によって作成された学習データ「学習画像3」の一例を示す図である。
図10】視線検出装置1の動作手順を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、図面を参照しつつ本発明に係る瞳孔検出装置及び瞳孔検出方法の好適な実施形態について詳細に説明する。なお、図面の説明においては、同一又は相当部分には同一符号を付し、重複する説明を省略する。
【0024】
[視線検出装置の構成]
まず、図1~4を用いて、実施形態に係る瞳孔検出装置である視線検出装置1の構成を説明する。視線検出装置1は、対象者の顔を撮像することで対象者の瞳孔及び角膜反射を検出し、その検出結果を利用して対象者の視線方向を検出するコンピュータシステムであり、この装置により、本実施形態に係る瞳孔検出方法が実施される。対象者とは、視線方向を検出する対象となる人であり、被験者ともいうことができる。視線検出装置1および瞳孔検出方法の利用目的は何ら限定されず、例えば、よそ見運転の検出、運転者のサイドミラーやルームミラーの安全確認動作の確認、運転者の眠気の検出、商品の興味の度合いの調査、アミューズメント装置等に利用されるコンピュータへのデータ入力、乳幼児の自閉症診断等の診断用装置、遠隔地間で利用されるコミュニケーションシステム、遠隔で事象を観察する観察装置などに視線検出装置1を利用することができる。
【0025】
図1に模式的に示すように、視線検出装置1は、ステレオカメラとして機能する一対のカメラ10と画像処理装置(演算装置)20とを備える。以下では、必要に応じて、一対のカメラ10を、対象者Aの左側にある左カメラ10と、対象者Aの右側にある右カメラ10とに区別する。本実施形態では、視線検出装置1は、対象者Aが見る対象であるディスプレイ装置30をさらに備えるが、視線検出装置1の利用目的は上記のように限定されないので、対象者Aの視線の先にある物はディスプレイ装置30に限定されず、例えば自動車のフロントガラスでもあり得る。したがって、ディスプレイ装置30は視線検出装置1における必須の要素ではない。それぞれのカメラ10は画像処理装置20と無線または有線により接続され、カメラ10と画像処理装置20との間で各種のデータまたは命令が送受信される。各カメラ10に対しては予めカメラ較正が行われる。
【0026】
カメラ10は、対象者Aの左右の目を含む顔部分を撮影して顔画像を取得する。一対のカメラ10は水平方向に沿って所定の間隔をおいて配され、かつ、対象者Aが眼鏡をかけているときの顔画像における反射光の写り込みを防止する目的で対象者Aの顔より低い位置に設けられる。水平方向に対するカメラ10の仰角は、瞳孔の確実な検出と対象者Aの視野範囲の妨げの回避との双方を考慮して、例えば20~35度の範囲に設定される。個々のカメラ10に対しては予めカメラ較正が行われる。
【0027】
本実施形態では、カメラ10は、連続した定期的なタイミングで複数のフレームの顔画像を取得可能なカメラである。カメラ10は、画像処理装置20からの命令に応じて対象者Aを撮像し、顔画像を画像処理装置20に出力する。
【0028】
カメラ10のレンズ部分を図2に模式的に示す。この図に示すように、カメラ10では、対物レンズ11が円形状の開口部12に収容され、開口部12の外側に光源13が取り付けられている。光源13は、対象者Aの顔に向けて照明光を照射するための機器であり、複数の発光素子13aと複数の発光素子13bとから成る。発光素子13aは、出力光の中心波長が850nmの半導体発光素子(LED)であり、開口部12の縁に沿って等間隔でリング状に配される。発光素子13bは、出力光の中心波長が940nmの半導体発光素子であり、発光素子13aの外側に等間隔でリング状に配される。したがって、カメラ10の光軸から発光素子13bまでの距離は、該光軸から発光素子13aまでの距離よりも大きい。それぞれの発光素子13a,13bは、カメラ10の光軸に沿って照明光を出射するように設けられる。なお、光源13の配置は図2に示す構成に限定されず、カメラをピンホールモデルとみなすことができれば他の配置であってもよい。光源13は、画像処理装置20からの命令に応じたタイミングで照明光を出射する。
【0029】
画像処理装置20は、カメラ10、及び光源13の制御と、対象者Aの顔画像を用いた視線方向の検出とを実行するコンピュータ(演算装置)である。画像処理装置20は、据置型または携帯型のパーソナルコンピュータ(PC)により構築されてもよいし、ワークステーションにより構築されてもよいし、他の種類のコンピュータにより構築されてもよい。あるいは、画像処理装置20は複数台の任意の種類のコンピュータを組み合わせて構築されてもよい。複数台のコンピュータを用いる場合には、これらのコンピュータはインターネットやイントラネットなどの通信ネットワークを介して接続される。
【0030】
画像処理装置20の一般的なハードウェア構成を図3に示す。画像処理装置20は、オペレーティングシステムまたはアプリケーションプログラムなどを実行するCPU(プロセッサ)101と、ROMおよびRAMで構成される主記憶部102と、ハードディスクあるいはフラッシュメモリなどで構成される補助記憶部103と、ネットワークカードあるいは無線通信モジュールで構成される通信制御部104と、キーボードやマウスなどの入力装置105と、ディスプレイあるいはプリンタなどの出力装置106とを備える。
【0031】
後述する画像処理装置20の各機能要素は、CPU101または主記憶部102の上に所定のソフトウェアを読み込ませ、CPU101の制御の下で通信制御部104、入力装置105、又は出力装置106などを動作させ、主記憶部102または補助記憶部103におけるデータの読み出しおよび書き込みを行うことで実現される。処理に必要なデータあるいはデータベースは主記憶部102または補助記憶部103内に格納される。
【0032】
図4に示すように、画像処理装置20は機能的構成要素として点灯制御部21、画像取得部22、視線検出部(瞳孔位置検出部、瞳孔距離検出部)23、部分画像作成部24、瞳孔位置予測部25、学習用画像作成部26、及びモデル学習部27を備える。点灯制御部21は、光源13の点灯タイミングを制御する。画像取得部22は、カメラ10の撮影タイミングに光源13の点灯タイミングを同期させるように制御することで、カメラ10から点灯タイミングでの顔画像のデータを取得する機能要素である。視線検出部23は、顔画像から得られる視線ベクトルに基づいて視軸(視線ともいう)の方向を検出する機能要素である。視軸(視線)とは、対象者の瞳孔中心と該対象者の注視点(対象者が見ている点)とを結ぶ線である。なお、「視軸」という用語は、起点、終点、および方向の意味(概念)を含む。また、「視線ベクトル」とは、対象者の視軸の方向をベクトルで表したもので、「視軸の方向」を表す一形態である。画像処理装置20の検出結果の視軸の方向の出力先は何ら限定されない。例えば、画像処理装置20は判定結果を画像、図形、またはテキストでモニタに表示してもよいし、メモリあるいはデータベースなどの記憶装置に格納してもよいし、通信ネットワーク経由で他のコンピュータシステムに送信してもよい。
【0033】
ここで、画像処理装置20による視線検出の基本動作について説明する。
【0034】
まず、点灯制御部21が、光源13に含まれる発光素子13a及び発光素子13bがカメラ10の撮影タイミングに同期させて交互に点灯するようにそれらの点灯タイミングを制御し、その交互の点灯タイミングに合わせて画像取得部22が、それぞれのカメラ10から、瞳孔が比較的明るく写った明瞳孔画像(顔画像)および瞳孔が比較的暗く写った暗瞳孔画像(顔画像)を取得する。続いて、視線検出部23が、それぞれのカメラ10からの明瞳孔画像及び暗瞳孔画像の差分画像(あるいは除算画像)を対象にして、それぞれのカメラ10の顔画像中の瞳孔中心の位置及び角膜反射の位置を検出する。そして、視線検出部23は、2つのカメラ10の顔画像から検出された瞳孔中心の位置を用いてステレオ法によって計算することによって、対象者Aの左右の瞳孔中心の3次元座標、及びそれぞれのカメラ10から左右の瞳孔までの距離を取得する。さらに、視線検出部23は、算出したいずれかのカメラ10の顔画像における瞳孔中心及び角膜反射の位置、及び左右の瞳孔の3次元座標を基に、左右の目の視軸(視線ベクトル)を算出する。さらに、視線検出部23は、算出した視軸を参照して所定の視対称平面上の注視点を算出してもよい。以上の処理は、交互に得られる明瞳孔画像及び暗瞳孔画像のペアを対象に繰り返し実行される。
【0035】
ここで、視線検出部23による明瞳孔画像及び暗瞳孔画像を対象にした、瞳孔中心の位置及び角膜反射の位置の検出は、明瞳孔画像及び暗瞳孔画像中に設定された所定の大きさのウィンドウの範囲内の画像を対象に実行される。このウィンドウの位置は、検出対象の顔画像の前のフレームで検出された瞳孔の3次元位置を少なくとも用いて予測された現フレーム上の瞳孔の位置を基に、その瞳孔の位置を含むように設定される(例えば、特開2007-268026号公報に記載の手法を採用する。)。すなわち、ウィンドウの位置は、連続したフレーム間で瞳孔の位置を追尾するように設定される。ただし、前のフレームの顔画像を対象として視線検出部23によって瞳孔中心の位置の検出に失敗した場合には、後述する瞳孔位置予測部25によって予測される瞳孔の3次元位置を利用して、現フレームの顔画像上のウィンドウの位置が設定される。ここで、視線検出部23による瞳孔中心の位置の検出の失敗の判断(瞬きなどによる閉眼の判断)は、明瞳孔画像及び暗瞳孔画像の差分画像(あるいは除算画像)上で検出された瞳孔の面積(例えば、閾値を用いた二値化画像の瞳孔領域の画素数)がゼロに近くなって瞳孔が存在しないと認識することにより行われる。一般的に、瞬きなどによる閉眼は瞬時にして起こるため、あるフレームで突然に瞳孔が検出できなくなる。したがって、閉眼直前と閉眼直後の間で頭部が動いていなければ、閉眼直前と閉眼直後で同じ位置に目あるいは瞳孔が存在する。よって、閉眼画像と瞳孔位置を対応づけることができる。視線検出部23による瞳孔の位置の検出と、瞳孔位置予測部25による瞳孔の位置の予測とは、連続して取得される顔画像を対象に並列に実行されてよい。この場合、視線検出部23において、前のフレームでの検出が失敗したと判断された場合に、瞳孔位置予測部25による予測結果が利用されて現フレームにおけるウィンドウの位置が設定される。一方で、あるフレームで視線検出部23による瞳孔の位置の検出が失敗した場合に、そのフレームを対象とした瞳孔位置予測部25による予測処理を実行させることもできる。この場合、視線検出部23において、瞳孔位置予測部25による予測結果が利用されて次のフレームにおけるウィンドウの位置が設定される。
【0036】
次に、画像処理装置20の他の構成要素の機能について説明する。なお、以下に説明する部分画像作成部24、瞳孔位置予測部25、学習用画像作成部26、及びモデル学習部27による処理は、2つのカメラ10毎に連続的に取得される明瞳孔画像及び暗瞳孔画像を対象に別々に実行される。
【0037】
部分画像作成部24は、画像取得部22によってそれぞれのカメラ10から取得された顔画像から、所定のサイズの矩形領域の部分画像を切り出す。例えば、顔画像が、横150ピクセル×縦80ピクセルのサイズであり、この部分画像が、横30ピクセル×縦20ピクセルのサイズである。この部分画像のサイズは、対象者Aの顔における目の特徴部である睫毛全体が含まれるようなサイズに設定される。このとき、部分画像作成部24は、処理対象の顔画像の直前のフレームに関して視線検出部23あるいは瞳孔位置予測部25によって検出あるいは予測されたカメラ10から瞳孔までの距離を基に、目の特徴部の全体が含まれるように部分画像の切り出しサイズを可変に設定し、切り出した部分画像を所定サイズ(例えば、8ピクセル×5ピクセル)の画像データに変換してもよい。そして、部分画像作成部24は、顔画像中において部分画像の切り出し領域を二次元的な方向に繰り返しシフト(例えば、横方向に10ピクセルずつ、縦方向に5ピクセルずつシフト)させ、互いに横方向及び縦方向にオーバーラップさせた複数の部分画像を作成する。
【0038】
図5には、部分画像作成部24によって作成される部分画像のイメージを示している。例えば、切り出し対象の顔画像GF1が、横150ピクセル×縦80ピクセルのサイズであり、部分画像の切り出しサイズが横30ピクセル×縦20ピクセルであり、横方向のシフト量が10ピクセルであり、縦方向のシフト量が5ピクセルである場合、部分画像作成部24は、1フレームの顔画像GF1を対象に合計169枚の部分画像GPF1を作成する。
【0039】
また、部分画像作成部24は、処理対象のフレームの直前のフレームにおいて瞳孔位置予測部25によって顔画像上の瞳孔の位置が予測されている場合には、その位置を中心とした矩形領域のウィンドウを設定し、そのウィンドウ内から部分画像を切り出すように機能する。例えば、部分画像作成部24は、予測された位置を中心にして、横60ピクセル、縦40ピクセルのウィンドウを設定し、そのウィンドウ内から横40ピクセル、縦20ピクセルのサイズで縦横5ピクセルずつシフトさせながら部分画像を切り出す。
【0040】
また、部分画像作成部24は、処理対象のフレームの1つ前及び2つ前のフレームにおいて瞳孔位置予測部25によって瞳孔の3次元位置が予測されている場合には、瞳孔が等速で3次元空間内を動いているとの仮定の下で等速モデルを用いて処理対象のフレームにおける瞳孔の位置を予測する。この場合は、3次元空間愛の位置を二次元画像である顔画像上に投影することによって瞳孔の位置を予測する。そして、部分画像作成部24は、予測した位置を中心とした矩形領域のウィンドウを設定し、そのウィンドウ内から部分画像を切り出すように機能する。例えば、部分画像作成部24は、予測した位置を中心にして、横60ピクセル、縦40ピクセルのウィンドウを設定し、そのウィンドウ内から横40ピクセル、縦20ピクセルのサイズで縦横5ピクセルずつシフトさせながら部分画像を切り出す。
【0041】
瞳孔位置予測部25は、部分画像作成部24によってそれぞれのカメラ10の顔画像を対象にして作成された複数の部分画像を基に、顔画像上の閉眼状態における目の特徴部(本実施形態では睫毛部分)の位置を探索することにより、対象者Aの閉眼中の顔画像上の瞳孔の位置を予測する。この瞳孔の位置の予測は、左右の目のそれぞれについて行われる。
【0042】
すなわち、瞳孔位置予測部25は、CNN(畳み込みニューラルネットワーク)を用いた機械学習モデルによって瞳孔の位置の予測を実行する。まず、瞳孔位置予測部25は、モデル学習部27によって予め学習された機械学習モデル1を用いて、複数の部分画像の中から、閉眼状態における目の特徴部(睫毛部分)が含まれる画像(以下、単に「閉眼画像」ともいう。)としての尤度の高い部分画像を予測する。図6には、瞳孔位置予測部25によって用いられる機械学習モデル1の層構成の一例を示す。ただし、図6に示す層構成は一例であり、この構成以外の他の層構成が採用されてもよい。機械学習モデル1は、畳み込み層および畳み込み層の出力を変換するReLU(Rectified Linear Unit)関数等の活性化関数を有する前処理部と、平滑化層、全結合層、全結合層の出力を変換するReLU関数等の活性化関数、および全結合層をこの順に有する後処理部とによって構成され、入力画像を処理して閉眼画像に関する尤度を算出する。ここで、入力される部分画像はカメラ10から瞳孔までの距離を基に目の特徴部の全体が含まれるように部分画像を所定サイズの画像データに変換されているので、機械学習モデル1による演算において処理対象の画像の大きさの変化が生じにくいため、機械学習モデル1において、画像を縮小することなく特徴抽出処理で大小の特徴を維持できるため、前処理部におけるプーリング層を省略することができる。また、プーリング層の役割の1つである、入力画像における特徴部の位置ずれの影響を低減させる機能は、部分画像作成部24による複数の部分画像を特徴部全体が含まれるようにオーバーラップさせながら作成する機能によって実現できる。
【0043】
さらに、瞳孔位置予測部25は、上記のようにして予測された部分画像を、モデル学習部27によって予め学習された機械学習モデル2に入力し、その機械学習モデル2の出力値を基に、部分画像の閉眼画像からの二次元的な位置のずれ量を予測する。例えば、瞳孔位置予測部25は、画像の横方向をx軸、画像の縦方向をy軸として、二次元的な位置のずれ量として、x軸方向のずれ量Δxとy軸方向のずれ量Δyとをサブピクセルの単位で予測する。図7には、瞳孔位置予測部25によって用いられる機械学習モデル2の層構成の一例を示す。ただし、図7に示す層構成は一例であり、この構成以外の他の層構成が採用されてもよい。機械学習モデル2は、畳み込み層およびプーリング層を有する前処理部と、平滑化層、3つの全結合層、全結合層の出力を変換するReLU関数等の活性化関数、および全結合層の出力を変換するリニア関数を有する後処理部とによって構成される。この機械学習モデル2は、入力画像を処理して閉眼画像に対する二次元的なずれ量(Δx,Δy)毎に尤度を算出する。
【0044】
加えて、瞳孔位置予測部25は、上記のようにして予測された閉眼画像に対するずれ量(Δx,Δy)を基に、予め画像処理装置20内に記憶された閉眼画像と瞳孔の位置との関係のデータを参照して、そのずれ量を相殺するように部分画像中の瞳孔の位置を計算する。ここで、予め画像処理装置20内に記憶される瞳孔の位置に関する関係データは、左右の瞳孔毎に別々の値とされている。これにより、瞳孔位置予測部25は、閉眼中の顔画像上の瞳孔の位置を予測する。そして、瞳孔位置予測部25は、2つのカメラ10によって同時に取得された2つの顔画像を対象に予測された顔画像上の左右の瞳孔の位置を基に、ステレオ法を用いて左右の瞳孔の3次元位置を計算する。瞳孔位置予測部25は、このような左右の瞳孔の位置の予測を、連続するフレームの顔画像毎に繰り返し実行する。
【0045】
学習用画像作成部26は、上述した機械学習モデル1および機械学習モデル2の事前学習用の学習データ(トレーニングデータ)を作成する。この学習用画像作成部26による学習データの作成は、特開2005-230049号公報等に開示された視線方向の検出のための較正処理が終わった直後に実行されることが好ましい。
【0046】
すなわち、学習用画像作成部26は、較正処理において画像処理装置20による対象者Aに対する指示出力に応じて対象者Aが目を閉じた前後に、それぞれのカメラ10から連続した複数フレームの顔画像を取得し、それらの顔画像を基に最後に視線検出部23によって検出された瞳孔の位置を特定する。そして、学習用画像作成部26は、瞳孔の位置が特定されたフレームの直後における対象者Aが目を閉じたタイミングのフレームの顔画像を取得し、瞳孔の位置を基準として所定のサイズの矩形領域の画像を、閉眼画像として切り出す。例えば、顔画像が横150ピクセル×縦80ピクセルのサイズである場合、閉眼画像のサイズは横30ピクセル×縦20ピクセルである。この閉眼画像のサイズは、対象者Aの顔における目の特徴部である睫毛全体が含まれるようなサイズに設定される。また、瞳孔の位置と閉眼画像の切り出し位置との関係は、左右の瞳孔で異なる関係に予め設定され、それらの関係は、画像処理装置20内に記憶され、瞳孔位置予測部25による瞳孔の位置の予測時に参照される。さらに、学習用画像作成部26は、同様な処理を繰り返して左右の瞳孔の閉眼画像を複数フレーム分作成し、これらをポジティブ(正解)の学習データ「学習画像1」として画像処理装置20内に記憶する。このとき、学習用画像作成部26は、画像処理装置20からの指示情報の出力(例えばディスプレイ装置30への出力)により対象者Aの顔を複数の方向に向けさせて対象者Aに目を閉じさせ(例えば、ディスプレイ装置30に対する正面方向、右30度方向、左30度方向)、それぞれの方向で左右の瞳孔の閉眼画像をポジティブ(正解)の学習データ「学習画像1」として作成することもできる。
【0047】
図8には、顔画像GF2を対象に学習用画像作成部26によって作成された左右の瞳孔の閉眼画像GPL1,GPR1の一例を示す。このように、顔画像GF2から、閉眼直前に検出された瞳孔の位置PL1,PR1を基準に、睫毛全体が含まれるような閉眼画像が自動的に作成される。
【0048】
また、学習用画像作成部26は、上述した複数フレーム分のポジティブの学習データ「学習画像1」の作成と同時に、ネガティブ(不正解)の学習データ「学習画像2」の作成も行う。すなわち、学習用画像作成部26は、顔画像中においてポジティブの学習データである閉眼画像の基準位置から2次元方向に所定幅でシフトした画像をネガティブの学習データとして複数フレーム分作成する。例えば、1つの閉眼画像に対して、縦方向に±5ピクセル、および横方向に±5ピクセルの範囲で、5ピクセルずつ2次元方向に8パターンでシフトした画像を、ネガティブの学習データとして作成する。加えて、縦方向に±10ピクセル、および横方向に±10ピクセルの範囲で、20ピクセルずつ2次元方向に4パターンでシフトした画像を、ネガティブの学習データとして作成する。ただし、学習用画像作成部26は、ネガティブの学習データをポジティブの学習データとは異なる画像サイズで作成してもよい。学習用画像作成部26は、作成したネガティブの学習データ「学習画像2」を画像処理装置20内に記憶する。
【0049】
なお、学習用画像作成部26は、部分画像作成部24と同様にして、処理対象の顔画像の直前のフレームに関して視線検出部23によって検出されたカメラ10から瞳孔までの距離を基に、目の特徴部(本実施形態では睫毛)の全体が含まれるように学習データの切り出しサイズを可変に設定し、切り出した学習データを所定サイズ(例えば、8ピクセル×5ピクセル)の画像データに変換してもよい。
【0050】
加えて、学習用画像作成部26は、上述した複数フレーム分のポジティブの学習データ「学習画像1」の作成と同時に、瞳孔位置決定のための機械学習モデル2用の学習データ「学習画像3」の作成も行う。詳細には、学習用画像作成部26は、顔画像中においてポジティブの学習データである閉眼画像の基準位置から2次元方向に所定幅でシフトした画像(シフト画像)を「学習画像3」として複数フレーム分作成する。ただし、「学習画像3」のシフト幅は、「学習画像2」のシフト幅よりも小さい値に設定される。例えば、1つの閉眼画像に対して、縦方向に±2ピクセル、および横方向に±2ピクセルの範囲で、1ピクセルずつ2次元方向に25パターンでシフトした複数の画像を、学習データ「学習画像3」として作成する。ただし、学習用画像作成部26は、学習データ「学習画像3」を学習データ「学習画像1」より大きな画像サイズで作成してもよい。学習用画像作成部26は、作成した複数の学習データ「学習画像3」を、それぞれの学習画像の閉眼画像に対する、x軸方向のずれ量Δx及びy軸方向のずれ量Δyとともに、画像処理装置20内に記憶する。
【0051】
図9には、対象者Aが閉眼時に取得した顔画像GF2を対象に学習用画像作成部26によって作成された学習データ「学習画像3」の一例を示す。このように、顔画像GF2から、睫毛全体が含まれるような閉眼画像が縦方向に±2ピクセル、および横方向に±2ピクセルの範囲でシフトされた学習画像GPR2~GPR4が自動的に作成される。
【0052】
モデル学習部27は、学習用画像作成部26によって作成された学習データを用いて、瞳孔位置予測部25が用いる機械学習モデル1および機械学習モデル2を学習させる。すなわち、モデル学習部27は、画像処理装置20内に記憶された、複数枚のポジティブの学習データ「学習画像1」、及び複数枚のネガティブの学習データ「学習画像2」を用いて、機械学習モデル1を学習させる。また、モデル学習部27は、画像処理装置20内に記憶された、複数枚の学習データ「学習画像3」と、それぞれの学習画像のずれ量Δx,Δyとの組み合わせをポジティブ画像のトレーニングデータとして用いて、機械学習モデル2を学習させる。
【0053】
次に、視線検出装置1の動作手順を説明するとともに、本実施形態に係る瞳孔検出方法のステップについて説明する。図10は、視線検出装置1の動作手順を示すフローチャートである。
【0054】
まず、対象者Aを対象とした視線方向の検出処理が開始されると、画像処理装置20の点灯制御部21及び画像取得部22によって、光源13の点灯タイミングの制御、及びカメラ10からの画像取得の制御が開始される(ステップS101)。その後、画像処理装置20の学習用画像作成部26により、視線方向検出のための較正処理中に、学習データである、「学習画像1」、「学習画像2」、および「学習画像3」が、それぞれ複数枚取得される(ステップS102)。次に、画像処理装置20のモデル学習部27によって、学習データを用いて、機械学習モデル1および機械学習モデル2が学習される(ステップS103)。
【0055】
そして、画像処理装置20の視線検出部23によって、カメラ10から連続して取得されるフレームの顔画像を対象にした視線方向の検出処理(瞳孔位置の検出も含む。)が実行される(ステップS104;瞳孔位置検出ステップ)。それに並行して、画像処理装置20の部分画像作成部24によって、顔画像中から複数の部分画像が取得される(ステップS105)。その後、画像処理装置20の瞳孔位置予測部25によって、複数の部分画像を基に、瞳孔位置の予測処理が実行される(ステップS106;瞳孔位置予測ステップ)。さらに、画像処理装置20において、次のフレームの顔画像が存在するか否かが判定され(ステップS107)、次のフレームの顔画像が存在する場合にはステップS104~S106の処理が繰り返される。ここで、ステップS104における顔画像中のウィンドウの設定においては、処理対象の顔画像の前のフレームを対象にステップS106の処理によって予測された瞳孔の3次元位置を追尾するように設定される。
【0056】
本開示の実施形態の視線検出装置1及びそれを用いた瞳孔検出方法の作用効果について説明する。
【0057】
視線検出装置1によれば、カメラ10によって連続したタイミングで取得された顔画像上で瞳孔の位置が検出され、その顔画像から閉眼状態における目の特徴部の位置が探索されることにより、その顔画像上において閉眼中の瞳孔の位置が予測される。そして瞳孔の位置の検出の際には、顔画像上で予測された瞳孔の位置を利用してウィンドウが設定されることによって瞳孔が追尾される。これにより、対象者Aが閉眼した場合であっても瞳孔を追尾することによって瞳孔の位置を検出できるのでウィンドウサイズを比較的小さくすることができ、高い演算効率で、高精度の瞳孔検出処理が実現できる。加えて、複雑な光学系を必要としないので、簡易な装置構成によって瞳孔検出処理を実現することができる。
【0058】
従来の特開2017-102731号公報に記載された視線検出装置は、対象者の頭部の3次元位置を検出する対象者検出装置と、狭視野カメラと、狭視野カメラの姿勢を調整するパンチルト機構とを備えていた。この装置では、対象者検出装置によって検出された対象者の頭部の3次元位置を基に狭視野カメラの姿勢及びズーム値が制御され、姿勢及びズーム値が制御された狭視野カメラによって得られた明瞳孔画像及び暗瞳孔画像を用いて、対象者の瞳孔の位置が検出される。一方で、この従来の装置においては、検出光学系が2種類必要となり装置構成が複雑化する傾向にある。これに対して、本実施形態の視線検出装置1の構成によれば、複雑な光学系を必要としないので、簡易な装置構成によって瞳孔検出処理を実現することができる。
【0059】
ここで、本実施形態においては、瞳孔位置の予測には、ニューラルネットワークを用いた機械学習モデルが用いられている。この場合、顔画像上の瞳孔の位置の予測精度を簡易な学習手法によって確実に高めることができ、安定した瞳孔検出処理が実現される。
【0060】
さらに、本実施形態では、顔画像を切り出した部分画像を入力データとして機械学習モデルに入力し、機械学習モデルを用いて、目の特徴部が含まれる部分画像の位置を探索することにより、瞳孔の位置が予測されている。この場合、顔画像を切り出した部分画像を入力データとして用いることにより、簡易な処理によって顔画像上の瞳孔の位置を予測することができる。その結果、瞳孔検出処理の演算効率をより高めることができる。
【0061】
このとき、機械学習モデルの入力データとして用いる部分画像が、目の特徴部の全体を含むサイズで切り出されている。この場合、顔画像を切り出した部分画像に目の特徴部の全体を収めることができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0062】
また、画像処理装置20は、機械学習モデルを学習させるモデル学習部27をさらに有し、モデル学習部27は、対象者Aの閉眼時に取得された顔画像を、対象者Aの閉眼直前に検出された瞳孔の位置を基準に切り出し、切り出した顔画像をトレーニングデータとして用いて、機械学習モデルを学習させている。こうすれば、切り出した顔画像と瞳孔の位置との関係が適切に設定されたトレーニングデータを作成することができ、そのトレーニングデータを用いて学習させることにより瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。また、本実施形態では、トレーニングデータを較正処理時に自動的に取得する自動アノテーションを可能としている。これにより、マニュアルによるトレーニングデータの取得が不要となり、学習時のユーザの作業負担を軽減することができる。
【0063】
また、画像処理装置20は、カメラ10から瞳孔までの距離を検出する機能を有し、入力データとしての部分画像の切り出しのサイズを、瞳孔の距離に応じて可変に設定している。このような機能により、入力データとして用いる部分画像のサイズを適切に設定することができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。また、瞳孔位置の予測に用いる機械学習モデルにおいて、画像サイズに変化があっても予測できるようにするために設けるプーリング層を省略することができる。よって、学習時及び予測時の演算を高速化することができる。
【0064】
また、画像処理装置20は、カメラ10から瞳孔までの距離を検出する機能を有し、トレーニングデータとしての顔画像の切り出しのサイズを、瞳孔の距離に応じて可変に設定している。このような機能により、トレーニングデータとして用いる顔画像の切り出しのサイズを適切に設定することができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0065】
また、画像処理装置20で用いられる機械学習モデル2は、目の特徴部が含まれる部分画像の位置の二次元的なずれ量を予測するモデルであり、モデル学習部27は、切り出した顔画像を二次元的にずらしながらシフト画像を生成し、シフト画像と当該シフト画像の二次元的なずれ量とをトレーニングデータとして用いて、学習モデルを学習させている。この場合、予測時に入力データとして用いる複数の部分画像間の顔画像上におけるずれ量の大きさに関わらず、顔画像上の瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0066】
また、画像処理装置20の視線検出部23は、連続したフレームの顔画像上で検出された瞳孔の位置を用いて瞳孔の位置を追尾することにより、瞳孔の位置を検出し、直前のフレームの顔画像上で瞳孔の位置の検出が失敗した場合、瞳孔位置予測部25によって予測された瞳孔の位置を利用して瞳孔の位置を追尾する、こととしてもよい。かかる構成によれば、連続して瞳孔の位置を検出する際に対象者Aが瞬き等により閉眼して画像上に瞳孔の像が現れなくなっても安定して瞳孔の位置を追尾することができ、対象者Aが開眼して画像上に再度瞳孔の像が現れた際に、閉眼時に追尾していた瞳孔位置をウィンドウ設定に利用することにより、開眼直後より、遅れなく、安定して瞳孔の位置を検出することができる。
【0067】
本発明は、上述した実施形態に限定されるものではない。上記実施形態の構成は様々変更されうる。
【0068】
例えば、上記実施形態に係る画像処理装置20は学習用画像作成部26及びモデル学習部27を備えていたが、学習用画像作成部26及びモデル学習部27のいずれかあるいは両方の機能は、画像処理装置20とは別のコンピュータ内に実装され、トレーニングデータの作成、及び、機械学習モデルの学習のいずれか一方あるいは両方は、別のコンピュータによって実行されてもよい。
【0069】
また、本実施形態において探索の対象とされている目の特徴部は、睫毛の代わりに、瞼、眉毛、等とされてもよい。また、探索対象は、目の特徴部の代わりに、鼻孔等の顔の特徴部とされてもよい。鼻孔等の顔の特徴部を探索の対象とする場合には、画像処理装置20は、予め、瞳孔と顔の特徴部との間の相対的な3次元位置の情報を記憶しておき、さらに瞳孔と顔の特徴部から求まる頭部の回転状態と移動状態の情報を基に瞳孔の位置を予測することが好ましい。
【0070】
また、視線検出装置1は、予測した瞳孔の位置を用いて瞳孔を追尾して顔画像上に設定するウィンドウの位置を設定して瞳孔の位置を検出していたが、特開2017-102731号公報に記載の構成と同様に、狭視野カメラの姿勢及びズーム値が制御可能な構成が採用されてもよい。この場合、視線検出装置1は、予測した瞳孔の3次元位置を用いて、狭視野カメラの姿勢及びズーム値を制御することによって、瞳孔を追尾するように構成される。このような変形例によっても、対象者Aが閉眼したときも瞳孔を追尾することができ、高い演算効率で、高精度の瞳孔検出処理が実現できる。
【0071】
また、視線検出装置1の画像処理装置20は、ニューラルネットワークを用いた機械学習モデルによって瞳孔位置を予測していたが、テンプレートマッチング等の他の画像処理によって瞳孔位置を予測するように動作してもよい。このような動作によっても、顔画像中から目の特徴部の位置を探索でき、この位置を基に瞳孔の位置を予測することができる。
【0072】
また、画像処理装置20は、ステレオ法によって瞳孔の3次元位置を計算する代わりに、特開2007-268164号公報に記載の手法を用いて、画像上の瞳孔の位置、鼻孔の位置、その他の顔の特徴部の位置、あるいは顔に付したマーカの位置等を用いて、瞳孔の3次元位置を求めるように機能してもよい。また、画像処理装置20は、顔にドットパターンを与え、このドットパターンによって顔全体の形状を把握しながら同時に瞳孔を検出することにより、顔全体の構造(形状)に対する瞳孔の3次元位置を求めるように機能してもよい。また、画像処理装置20は、TOF(Time Of Flight)カメラを用いて画素毎に顔までの距離を求めることにより、顔の構造に対する瞳孔の3次元位置を求めるように機能してもよい。
【0073】
上述した実施形態に係る画像処理装置20による学習データの作成においては、目の特徴部である睫毛全体が含まれるような閉眼画像が生成されている。この閉眼画像のサイズが小さすぎると睫毛が画像からはみ出てしまい、機械学習モデルによる瞳孔位置の予測精度が低下する。逆に閉眼画像のサイズが大きすぎると睫毛以外の特徴部(例えば、眉毛、髪の毛等)が画像に含まれるため、その特徴部の影響により機械学習モデルによる瞳孔位置の予測精度が低下する。画像処理装置20では、閉眼画像のサイズに起因した瞳孔位置の予測精度の低下を防止するために、閉眼画像のサイズの適正化を自動で行う機能を有していてもよい。例えば、画像処理装置20の学習用画像作成部26は、最初に閉眼画像を比較的大きなサイズで取得した後に、取得した閉眼画像の中から画像解析によって睫毛の存在する領域を特定し、部分画像のシフト量よりも大きな隙間が睫毛の周辺に確保されるようなサイズに閉眼画像のサイズを設定する。このような機能により、トレーニングデータとして用いる顔画像の切り出しのサイズを睫毛の領域に応じて適切に設定することができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0074】
また、閉眼画像において閉眼直前の瞳孔位置と睫毛の位置とがずれてしまっている場合、睫毛の位置が閉眼画像の領域の端に位置してしまい、機械学習モデルによる瞳孔位置の予測精度が低下することも考えられる。つまり、閉眼画像の中央付近に睫毛が位置することが瞳孔位置の予測精度の向上には好ましいと考えられる。この場合は、閉眼画像が比較的小さなサイズに設定することができ、瞳孔位置の予測の演算時間を短くすることもできる。閉眼画像における睫毛の位置ずれに起因した瞳孔位置の予測精度の低下を防止するために、画像処理装置20の学習用画像作成部26は、いったん取得した閉眼画像の中から画像解析によって睫毛の存在する領域を特定し、閉眼画像中の中央に睫毛が位置するように閉眼画像の切り出し領域を変更するように設定する。この場合も、学習用画像作成部26は、瞳孔の位置と閉眼画像の切り出し位置との関係を示すデータを、画像処理装置20内に記憶する。このような機能により、トレーニングデータとして用いる顔画像の切り出しの位置を睫毛の領域に応じて適切に設定することができ、瞳孔の位置の予測精度を高めることができる。その結果、より安定した瞳孔検出処理が実現される。
【0075】
また、本実施形態の画像処理装置20の視線検出部23は、瞳孔の位置検出時のウィンドウの設定を次のように行ってもよい。具体的には、視線検出部23は、対象者Aが閉眼して再度開眼した場合は、瞳孔位置予測部25により追尾されていた閉眼時の瞳孔位置の予測結果を用いて、視線検出部23において所定の大きさのウィンドウを設定して、明瞳孔画像と暗瞳孔画像の差分画像を基にした瞳孔検出を再開することができる。従来の瞳孔検出装置では、閉眼後に開眼状態になってからの数フレームの間は瞳孔を検出できない状態になる傾向にあった。上記の視線検出部23の機能により、対象者Aが閉眼後に再度開眼した直後のフレームから、遅れなく、安定して瞳孔検出を再開することができる。
【0076】
また、本実施形態に係る画像処理装置20の瞳孔位置予測部25は、機械学習モデル1と機械学習モデル2との2つのネットワークを使用して瞳孔の位置を予測している。一方で、変形例として、画像処理装置20は、2つのネットワークの予測機能を統合した1つのネットワークを用いて瞳孔の位置を予測してもよいし、3つ以上のネットワークを用いて瞳孔の位置を予測してもよい。例えば、3つのネットワークとして、顔画像のウィンドウ内から切り出された複数の部分画像を用いて閉眼画像を予測する「機械学習モデル1」と、部分画像の閉眼画像からのずれ量を予測する「機械学習モデル2」と、顔画像の全体から切り出された複数の部分画像を用いて閉眼画像を予測する「機械学習モデル3」とを用いてもよい。
【符号の説明】
【0077】
1…視線検出装置(瞳孔検出装置)、10…カメラ、13…光源、20…画像処理装置(演算装置)、23…視線検出部(瞳孔位置検出部、瞳孔距離検出部)、24…部分画像作成部、25…瞳孔位置予測部、27…モデル学習部、A…対象者、GF1,GF2…顔画像、GPF1…部分画像、GPL1,GPR1…閉眼画像、PL1,PR1…瞳孔位置。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10