Top > Search of Japanese Patents > (In Japanese)瞳孔検出方法、角膜反射検出方法、顔姿勢検出方法及び瞳孔追尾方法 > Specification

Specification :(In Japanese)瞳孔検出方法、角膜反射検出方法、顔姿勢検出方法及び瞳孔追尾方法

Country (In Japanese)日本国特許庁(JP)
Gazette (In Japanese)特許公報(B2)
Patent Number P6083761
Date of registration Feb 3, 2017
Date of issue Feb 22, 2017
Title of the invention, or title of the device (In Japanese)瞳孔検出方法、角膜反射検出方法、顔姿勢検出方法及び瞳孔追尾方法
IPC (International Patent Classification) G06F   3/0346      (2013.01)
G06F   3/01        (2006.01)
G06T   1/00        (2006.01)
A61B   3/113       (2006.01)
FI (File Index) G06F 3/0346 422
G06F 3/0346 423
G06F 3/01 510
G06F 3/01 570
G06T 1/00 315
G06T 1/00 340A
A61B 3/10 B
Number of claims or invention 13
Total pages 48
Application Number P2014-516870
Date of filing May 24, 2013
International application number PCT/JP2013/064511
International publication number WO2013/176265
Date of international publication Nov 28, 2013
Application number of the priority 2012120312
Priority date May 25, 2012
Claim of priority (country) (In Japanese)日本国(JP)
Date of request for substantive examination May 16, 2016
Patentee, or owner of utility model right (In Japanese)【識別番号】304023318
【氏名又は名称】国立大学法人静岡大学
Inventor, or creator of device (In Japanese)【氏名】海老澤 嘉伸
Representative (In Japanese)【識別番号】100088155、【弁理士】、【氏名又は名称】長谷川 芳樹
【識別番号】100108257、【弁理士】、【氏名又は名称】近藤 伊知良
【識別番号】100124800、【弁理士】、【氏名又は名称】諏澤 勇司
【識別番号】100177633、【弁理士】、【氏名又は名称】土居 猛
Examiner (In Japanese)【審査官】間野 裕一
Document or reference (In Japanese)特開2007-58507(JP,A)
特開2009-267729(JP,A)
特開2010-67104(JP,A)
Field of search G06F 3/033 - 3/039
G06F 3/01
A61B 3/113
G06T 1/00
Scope of claims (In Japanese)【請求項1】
第1カメラにより対象者の顔を撮影して第1画像を取得する第1ステップと、
第2カメラにより前記対象者の顔を撮影して第2画像を取得する第2ステップと、
前記第1画像から前記対象者の瞳孔の候補となる1個以上の第1画像内候補点を抽出する第3ステップと、
前記第2画像から前記対象者の瞳孔の候補となる1個以上の第2画像内候補点を抽出する第4ステップと、
前記第1画像内候補点のうち1点及び前記第2画像内候補点のうち1点からなる組み合わせについて、当該組み合わせが3次元空間における同一の点に対応するか否かを判定する第5ステップと、
3次元座標における同一の点に対応すると判定された前記第1画像内候補点と前記第2画像内候補点との組み合わせについて、当該組み合わせに対応する3次元空間における点を空間内候補点とすることにより、2個以上の空間内候補点を抽出する第6ステップと、
前記抽出された空間内候補点の中から2個の空間内候補点の対を選択し、選択された2個の空間内候補点の対の間の距離を算出する演算を、複数の空間内候補点の対について行う第7ステップと、
前記算出された空間内候補点の対の間の距離が所定範囲内にない空間内候補点の対を除外する第8ステップと、
前記除外されなかった空間内候補点の対の中から、一以上の空間内候補点の対を決定し、決定された一以上の空間内候補点の対の位置に前記対象者の瞳孔の対が存在すると決定する第9ステップと、
を備える瞳孔検出方法。
【請求項2】
前記第5ステップは、
前記第1画像及び前記第2画像に基づいて、前記第1画像内候補点のうち1点及び前記第2画像内候補点のうち1点からなる組み合わせから、ステレオマッチングにより3次元座標を算出する第10ステップと、
前記算出された3次元座標の値が所定の範囲にない場合に、前記組み合わせを、3次元座標における同一の点に対応しないものとして除外する第11ステップと、
を含む請求項1に記載の瞳孔検出方法。
【請求項3】
前記第5ステップは、
第1画像における第1画像内候補点の座標に基づいて、第1画像内候補点と第1カメラとを結ぶ第1直線を決定する第12ステップと、
第2画像における第2画像内候補点の座標に基づいて、第2画像内候補点と第2カメラとを結ぶ第2直線を決定する第13ステップと、
前記第1直線と前記第2直線との共通垂線を決定する第14ステップと、
前記共通垂線の長さが所定の閾値より小さく、かつ前記共通垂線の中点の3次元座標の値が所定の範囲内にない場合に、前記組み合わせを、3次元座標における同一の点に対応しないものとして除外する第15ステップと、
を有する請求項1又は2に記載の瞳孔検出方法。
【請求項4】
少なくとも3個のカメラによって対象者の顔を撮影する第16ステップと、
前記少なくとも3個のカメラの中から、少なくとも2組の第1カメラ及び第2カメラの組を選択する第17ステップと、
前記選択された第1カメラ及び第2カメラの組のそれぞれを用いて、請求項1~3のいずれか一項に記載の瞳孔検出方法により対象者の瞳孔を検出する第18ステップと、を備える瞳孔検出方法。
【請求項5】
請求項1~4のいずれか一項に記載の瞳孔検出方法により、複数人の瞳孔対を検出する瞳孔検出方法。
【請求項6】
少なくとも3個のカメラのうち2個のカメラの組み合わせであるカメラペアを少なくとも3組決定するステップと、
前記決定された少なくとも3組のカメラペアのそれぞれについて、前記カメラペアの一方のカメラを第1カメラとし、前記カメラペアの他方のカメラを第2のカメラとして、請求項1~3のいずれか一項に記載の瞳孔検出方法により対象者の瞳孔の対を瞳孔対の候補として決定するステップと、
前記少なくとも3組のカメラペアにより決定された瞳孔対の候補のそれぞれについて、前記瞳孔対の候補の一方と他方とを結ぶ方向ベクトルを求めるステップと、
一のカメラペアにより決定された瞳孔対の候補について前記求められた方向ベクトルの向きが、他の複数のカメラペアで決定された瞳孔対の候補について前記求められた方向ベクトルの向きと所定の閾値以上の角度をなす場合に、前記一のカメラペアにより決定された瞳孔対の候補を除去するステップと、
前記除去するステップにより除去されずに残った対象者の瞳孔対の候補について座標の平均値をとり、前記平均値を最終的な瞳孔の位置として決定するステップと、を備える瞳孔検出方法。
【請求項7】
請求項1~3のいずれか一項に記載の瞳孔検出方法により対象者の瞳孔を検出する第19ステップと、
前記第1画像から前記対象者の角膜反射の候補となる1個以上の第1画像内角膜反射候補点を抽出する第20ステップと、
前記第2画像から前記対象者の角膜反射の候補となる1個以上の第2画像内角膜反射候補点を抽出する第21ステップと、
前記抽出された第1画像内角膜反射候補点及び第2画像内角膜反射候補点からそれぞれ1点ずつを選択する第22ステップと、
前記第1画像における前記選択された第1画像内角膜反射候補点の画像内座標及び前記第2画像における前記選択された第2画像内角膜反射候補点の画像内座標に基づいて、前記選択された第1画像内角膜反射候補点及び第2画像内角膜反射候補点の組み合わせに対応する3次元座標を計算する第23ステップと、
前記計算された3次元座標と前記検出された瞳孔の3次元座標との位置が所定の範囲内にある場合に、前記計算された3次元座標を前記対象者の角膜反射であると判定する第24ステップと、を備える角膜反射検出方法。
【請求項8】
請求項1~6のいずれか一項に記載の瞳孔検出方法により検出された対象者の一対の瞳孔の3次元座標に基づいて前記対象者の顔姿勢を検出する、顔姿勢検出方法。
【請求項9】
請求項1~6のいずれか一項に記載の瞳孔検出方法により、対象者の一対の瞳孔対を検出する第25ステップと、
前記第1カメラ及び前記第2カメラのそれぞれによって対象者の顔を撮影して画像を取得する第26ステップと、
前記一対の瞳孔対を検出するステップが実行された後の第1の時刻、及び前記第1の時刻より後の第2の時刻における前記対象者の一対の瞳孔対を検出する第27ステップと、
前記第1の時刻及び前記第2の時刻において検出された前記一対の瞳孔対の絶対位置及び相対位置を計算する第28ステップと、
前記計算された前記第1の時刻及び前記第2の時刻における一対の瞳孔対の絶対位置及び相対位置に基づいて、前記第2の時刻より後の第3の時刻における一対の瞳孔対の絶対位置及び相対位置を推定する第29ステップと、
前記推定された前記第3の時刻における一対の瞳孔対の絶対位置及び相対位置に基づいて、前記第3の時刻における一対の瞳孔対の各々の瞳孔の画像内座標を推定する第30ステップと、
前記第3の時刻における前記第1カメラ及び前記第2カメラにより撮影された画像のそれぞれにおいて、前記推定された瞳孔の画像内座標の周囲に小領域を設定する第31ステップと、
前記第3の時刻における前記第1カメラ及び前記第2カメラにより撮影された画像のそれぞれにおいて、前記設定された小領域において所定の画像処理により瞳孔の位置を決定して、前記第3の時刻における瞳孔の画像内座標を算出する第32ステップと、
を備える瞳孔追尾方法。
【請求項10】
請求項1~6のいずれか一項に記載の瞳孔検出方法により一対の瞳孔対を検出する第33ステップと、
前記第33ステップが実行された後の一の時刻に、前記第1カメラ及び前記第2カメラの両方により対象者の第1の瞳孔を検出するとともに、前記第1カメラ又は前記第2カメラのいずれか一方のカメラにより前記対象者の第2の瞳孔を検出する第34ステップと、
前記第1カメラ及び前記第2カメラのそれぞれにおける前記第1の瞳孔の画像内座標に基づいて前記第1の瞳孔の3次元座標を計算する第35ステップと、
前記一方のカメラにより取得した前記第2の瞳孔の画像内座標に基づいて、前記一方のカメラ及び前記第2の瞳孔を通る直線を計算する第36ステップと、
前記計算された直線上に存在し、かつ前記第1の瞳孔との3次元空間における距離が、瞳孔間距離に基づいて与えられる所定の値となる点を、対象者の第2の瞳孔として決定する第37ステップと、
を備える瞳孔追尾方法。
【請求項11】
請求項1~6のいずれか一項に記載の瞳孔検出方法により、対象者の一対の瞳孔対を検出する第38ステップと、
前記第1カメラ及び前記第2カメラのそれぞれによって対象者の顔を撮影して画像を取得する第39ステップと、
前記第38ステップが実行された後の第1の時刻、及び前記第1の時刻より後の第2の時刻における前記対象者の一対の瞳孔対を検出する第40ステップと、
前記第1の時刻及び前記第2の時刻において検出された前記一対の瞳孔対の絶対位置及び相対位置を計算する第41ステップと、
前記計算された前記第1の時刻及び前記第2の時刻における一対の瞳孔対の絶対位置及び相対位置に基づいて、前記第2の時刻より後の第3の時刻における一対の瞳孔対の絶対位置及び相対位置を推定する第42ステップと、
前記推定された前記第3の時刻における一対の瞳孔対の絶対位置及び相対位置に基づいて、前記第3の時刻における一対の瞳孔対の各々の瞳孔の3次元座標を推定する第43ステップと、
前記第3の時刻に、前記第1カメラ又は前記第2カメラのいずれか一方のカメラにより前記対象者の第1の瞳孔を検出するとともに、前記一方のカメラと異なる他方のカメラにより前記対象者の第2の瞳孔を検出する第44ステップと、
前記第3の時刻に前記一方のカメラにより検出した前記第1の瞳孔の画像内座標に基づいて、前記一方のカメラ及び前記第1の瞳孔を通る第3直線を計算する第45ステップと、
前記第2の時刻に前記他方のカメラにより検出した前記第2の瞳孔の画像内座標に基づいて、前記他方のカメラ及び前記第2の瞳孔を通る第4直線を計算する第46ステップと、
前記第1の時刻における第1の瞳孔と第2の瞳孔とを結ぶ第5直線を計算する第47ステップと、
前記第3直線と前記第5直線との両方に接近する接近点を、前記第2の時刻における前記第1の瞳孔として決定する第48ステップと、
前記第4直線と前記第5直線との両方に接近する接近点を、前記第2の時刻における前記第2の瞳孔として決定する第49ステップと、
を備える瞳孔追尾方法。
【請求項12】
請求項1~5のいずれか一項に記載の瞳孔検出方法により一対の瞳孔対を検出する第50ステップと、
前記第1カメラ及び前記第2カメラのそれぞれによって対象者の顔を撮影して画像を取得する第51ステップと、
前記第50ステップが実行された後の第1の時刻における前記対象者の一対の瞳孔対のそれぞれの3次元座標を取得する第52ステップと、
前記第1の時刻における前記一対の瞳孔対の相対位置を計算する第53ステップと、
前記第1の時刻より後の第2の時刻において、対象者の第1の瞳孔又は第2の瞳孔のいずれか一方を前記第1カメラ及び前記第2カメラのいずれによっても検出できなかった場合に、前記第1カメラ及び前記第2カメラのそれぞれにおける前記一方と異なる他方の瞳孔の画像内座標に基づいて前記第2の時刻における前記他方の瞳孔の3次元座標を計算する第54ステップと、
前記第53ステップで計算した前記第1の時刻における前記一対の瞳孔対の相対位置及び前記第54ステップで計算した前記第2の時刻における前記他方の瞳孔の3次元座標に基づいて前記第2の時刻における前記一方の瞳孔の3次元座標を計算する第55ステップと、
を備える瞳孔追尾方法。
【請求項13】
請求項1~6のいずれか一項に記載の瞳孔検出方法により一対の瞳孔対を検出する第56ステップと、
前記第56ステップが実行された後の一の時刻に前記第1カメラ及び前記第2カメラのそれぞれによって対象者の顔を撮影して画像を取得する第57ステップと、
前記第57ステップにおいて取得した画像から前記対象者の角膜反射の候補となる画像内角膜反射候補点を抽出する第58ステップと、
前記第58ステップにおいて取得した画像内角膜反射候補点に基づいて前記対象者の左右の角膜球中心の3次元座標を計算する第59ステップと、
前記第59ステップにおいて計算された前記対象者の左右の角膜球中心の3次元座標の位置に基づいて、前記第1カメラ及び前記第2カメラのそれぞれによって取得された画像内に小領域を設定する第60ステップと、
前記第60ステップにおいて設定された小領域において所定の画像処理により瞳孔の位置を決定して、瞳孔の画像内座標を算出する第61ステップと、を備える瞳孔追尾方法。
Detailed description of the invention (In Japanese)【技術分野】
【0001】
本発明は、撮影した画像によって対象者の瞳孔、角膜反射及び顔姿勢を検出するための瞳孔検出方法、角膜反射検出方法、顔姿勢検出方法及び、対象者の瞳孔を追尾するための瞳孔追尾方法に関するものである。
【背景技術】
【0002】
対象者の瞳孔を検出する技術は、例えば、医療検査やマンマシンインターフェースのための視線検知(下記特許文献1参照)、自動車を運転中の対象者の眠気検知(下記特許文献2参照)や顔方向検出(下記特許文献3、4参照)、対象者の瞳孔の動きによって指を用いることなくコンピュータやゲーム機器への入力を行う瞳孔マウス(下記特許文献5参照)などに活用され得る。本発明者は、カメラによって撮影した画像から瞳孔を検出する技術を開発してきた。
【0003】
特許文献1~5に記載の技術においては、瞳孔の検出には、カメラにより撮影した明瞳孔画像と暗瞳孔画像を差分することで、瞳孔部分を周囲画像から区別する方法を用いている。カメラの開口近くに近赤外線等の光源を設け、カメラの光軸に沿うようにして光を対象者の顔に照射して撮影すると、光は瞳孔から網膜に達して反射し、水晶体、角膜を通ってカメラの開口に戻る。このときの画像は、瞳孔が明るく撮影されており、この画像を明瞳孔画像という。一方、カメラの開口から離した光源による光を対象者の顔に照射して撮影すると、網膜から反射した光はカメラの開口にはほとんど入射しないために、瞳孔は暗く撮影され、この画像を暗瞳孔画像という。瞳孔は周囲の明るさで大きさが変化し、特に明るい場所では小さくなって検出し難くなる。また、対象者が眼鏡着用者である場合には、瞳孔近傍の眼鏡の一部が反射を起こし、眼鏡反射が映り込むことから、瞳孔の検出を単独の画像から行うことは、明瞳孔画像又は暗瞳孔画像のいずれを用いても困難を伴う。しかし、明瞳孔画像から暗瞳孔画像を差し引く差分を行うと、瞳孔部以外の周囲部分は両画像においてほぼ同じような明るさであることから、互いに相殺して、明るさに差がある瞳孔部だけが浮き彫りになる。これによって、瞳孔を容易に検出することができる。
【0004】
ただし、一般のカメラを使用した場合には、明瞳孔画像と暗瞳孔画像を取得する時刻に差があるため、二枚の画像を取得する間に顔が高速に移動した場合には、明瞳孔画像と暗瞳孔画像との間に位置のずれが生じ、画像差分の効果が十分に得られない場合があった。特に、このような現象は対象者が眼鏡を着用している場合に顕著であり、眼鏡のレンズやフレームによって反射された光の像である眼鏡反射が、画像の差分処理後にも残りやすく、残った眼鏡反射像と瞳孔との区別がつきにくい場合があった。
【0005】
そこで、上記の眼鏡反射に起因する瞳孔の誤検出を防止するため、いったん瞳孔を検出したら、その後に撮影された画像においては、検出された瞳孔を含む小領域に解析ウィンドウを与え、その小領域内のみから瞳孔を探索することにより瞳孔を追尾することにより、瞳孔の誤検出率の低下を図った(例えば特許文献6参照)。
【0006】
また、明瞳孔画像と暗瞳孔画像の取得時間差により瞳孔の位置がずれて瞳孔検出が難しくなる問題への対策として、鼻孔の移動量を利用した差分位置補正法(例えば特許文献7参照)、及び角膜反射の移動量を利用した差分位置補正法(例えば特許文献8参照)を提案し、その有効性を示した。
【0007】
さらに、鼻孔の移動量を利用した差分位置補正法において、対象者の頭部を前後方向に貫通する軸の周りに対象者の頭部が回転する場合には、鼻孔の移動量と瞳孔の移動量が必ずしも一致せず、瞳孔の検出精度が不十分な場合があった。そこで、本発明者は、顔姿勢を利用した差分位置補正法を提案した(例えば特許文献9参照)。
【先行技術文献】
【0008】

【特許文献1】特許第4517049号公報
【特許文献2】特許第4899059号公報
【特許文献3】特許第4431749号公報
【特許文献4】特許第4765008号公報
【特許文献5】特許第4839432号公報
【特許文献6】特許第4568836号公報
【特許文献7】特許第4452832号公報
【特許文献8】特許第4452836号公報
【特許文献9】国際公開2010/010926号
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上記の技術は、いずれも、カメラに対象者の鼻孔が映ることを前提としている。一般に、人間の鼻孔は、人間の顔の下方に向かって開口している。このため、カメラは対象者の顔に対して下方に設置することが好適である。また、カメラを下側に設置することは、眼鏡反射が画像に入り込むことを避けるためにも好適である。
【0010】
一方で、瞳孔と角膜反射との相対位置に基づいて視線や注視点を検出する場合、視線や注視点の検出範囲がカメラを中心に0~30度程度の範囲に限られる。従って、対象者の正面の広い範囲で注視点等を検出したい場合に、カメラの位置を対象者の顔に対して極度に下方にすることはできない。このため、視線検出や注視点検出を行う場合には、カメラの位置を下方にすることができないことが原因で、鼻孔を検出しにくく、また、同時に眼鏡反射が現れやすい。
【0011】
また、瞳孔マウスのように、ユーザが頭部を大きく回転させる応用分野においては、ユーザの頭部の向きによって、鼻孔が検出できない状況や、眼鏡レンズ反射が瞳孔に重なる状況が発生しやすい。
【0012】
さらに、対象者が瞬きを行うことにより画像から瞳孔が消失した場合、画像内に眼鏡反射像が存在すると、この眼鏡反射像を瞳孔として誤検出してしまう場合がある。いったん誤検出が行われると、誤検出された眼鏡反射像を追尾してしまい、瞳孔を正しく検出することができなくなってしまう。
【0013】
本発明は、これらの問題を解決するためになされたものであり、ユーザの頭部の回転状態及びカメラ位置に制約を与えることなく、ロバスト性及び精度を向上できる瞳孔の検出方法及び追尾方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記の課題を解決するために、本発明の一側面に係る瞳孔検出方法は、第1カメラにより対象者の顔を撮影して第1画像を取得する第1ステップと、第2カメラにより対象者の顔を撮影して第2画像を取得する第2ステップと、第1画像から対象者の瞳孔の候補となる1個以上の第1画像内候補点を抽出する第3ステップと、第2画像から対象者の瞳孔の候補となる1個以上の第2画像内候補点を抽出する第4ステップと、第1画像内候補点のうち1点及び第2画像内候補点のうち1点からなる組み合わせについて、当該組み合わせが3次元空間における同一の点に対応するか否かを判定する第5ステップと、3次元座標における同一の点に対応すると判定された第1画像内候補点と第2画像内候補点との組み合わせについて、当該組み合わせに対応する3次元空間における点を空間内候補点とすることにより、2個以上の空間内候補点を抽出する第6ステップと、抽出された空間内候補点の中から2個の空間内候補点の対を選択し、選択された2個の空間内候補点の対の間の距離を算出する演算を、複数の空間内候補点の対について行う第7ステップと、算出された空間内候補点の対の間の距離が所定範囲内にない空間内候補点の対を除外する第8ステップと、除外されなかった空間内候補点の対の中から、一以上の空間内候補点の対を決定し、決定された一以上の空間内候補点の対の位置に対象者の瞳孔の対が存在すると決定する第9ステップと、を備える。
【0015】
本発明の一側面に係る瞳孔検出方法によれば、第1カメラ及び第2カメラにより第1画像及び第2画像をそれぞれ取得し、第1画像から第1画像内候補点を抽出し、第2画像から第2画像内候補点を抽出する。そして、第1画像内候補点と第2画像内候補点の組み合わせについて、当該組み合わせが3次元空間における同一の点に対応するか否かを判定し、同一の点に対応すると判定された第1画像内候補点と第2画像内候補点との組み合わせについて、当該組み合わせに対応する3辞典空間における点を空間内候補点とする。さらに、抽出された空間内候補点の中から2個の空間内候補点の対を選択し、選択された対の間の距離を算出する演算を行い、算出された距離が所定範囲内に無い対を除外して、除外されなかった対の中から一以上の空間内候補点の対を選択する。従って、2個のカメラで取得した画像に瞳孔が映っていれば、瞳孔の検出を行うことができるため、ユーザの頭部の回転状態及びカメラ位置に制約を与えることなく、ロバスト性及び精度を向上できる。
【0016】
また、本発明の一側面に係る角膜反射検出方法は、上記の瞳孔検出方法により対象者の瞳孔を検出する第19ステップと、第1画像から対象者の角膜反射の候補となる1個以上の第1画像内角膜反射候補点を抽出する第20ステップと、第2画像から対象者の角膜反射の候補となる1個以上の第2画像内角膜反射候補点を抽出する第21ステップと、抽出された第1画像内角膜反射候補点及び第2画像内角膜反射候補点からそれぞれ1点ずつを選択する第22ステップと、第1画像における選択された第1画像内角膜反射候補点の画像内座標及び第2画像における選択された第2画像内角膜反射候補点の画像内座標に基づいて、選択された第1画像内角膜反射候補点及び第2画像内角膜反射候補点の組み合わせに対応する3次元座標を計算する第23ステップと、計算された3次元座標と検出された瞳孔の3次元座標との位置が所定の範囲内にある場合に、計算された3次元座標を対象者の角膜反射であると判定する第24ステップと、を備える。
【0017】
また、本発明の一側面に係る顔姿勢検出方法は、上記の瞳孔検出方法により検出された対象者の一対の瞳孔の3次元座標に基づいて対象者の顔姿勢を検出する。
【0018】
また、本発明の一側面に係る瞳孔追尾方法は、上記の瞳孔検出方法により、対象者の一対の瞳孔対を検出する第25ステップと、第1カメラ及び第2カメラのそれぞれによって対象者の顔を撮影して画像を取得する第26ステップと、一対の瞳孔対を検出するステップが実行された後の第1の時刻、及び第1の時刻より後の第2の時刻における対象者の一対の瞳孔対を検出する第27ステップと、第1の時刻及び第2の時刻において検出された一対の瞳孔対の絶対位置及び相対位置を計算する第28ステップと、計算された第1の時刻及び第2の時刻における一対の瞳孔対の絶対位置及び相対位置に基づいて、第2の時刻より後の第3の時刻における一対の瞳孔対の絶対位置及び相対位置を推定する第29ステップと、推定された第3の時刻における一対の瞳孔対の絶対位置及び相対位置に基づいて、第3の時刻における一対の瞳孔対の各々の瞳孔の画像内座標を推定する第30ステップと、第3の時刻における第1カメラ及び第2カメラにより撮影された画像のそれぞれにおいて、推定された瞳孔の画像内座標の周囲に小領域を設定する第31ステップと、第3の時刻における第1カメラ及び第2カメラにより撮影された画像のそれぞれにおいて、設定された小領域において所定の画像処理により瞳孔の位置を決定して、第3の時刻における瞳孔の画像内座標を算出する第32ステップと、を備える。
【発明の効果】
【0019】
本発明によれば、ユーザの頭部の回転状態及びカメラ位置に制約を与えることなく、ロバスト性及び精度を向上できる瞳孔の検出方法及び追尾方法を提供することができる。
【図面の簡単な説明】
【0020】
【図1】本発明の好適な一実施形態を実行するための瞳孔検出装置を示す平面図である。
【図2】世界座標系、カメラ座標系及び撮像座標系の関係を示す図である。
【図3】世界座標系、左カメラ座標系、右カメラ座標系及び撮像座標系の関係を示す図である。
【図4】左右のカメラ及びカメラに映る物体の位置関係を示す図である。
【図5】左右のカメラ及びカメラに映る物体の位置関係を示す図である。
【図6】左右のカメラで異なる瞳孔を撮影した場合の位置関係を示す図である。
【図7】左右のカメラ及びカメラに映る物体の位置関係を示す図である。
【図8】瞳孔間距離及び座標に基づく左右の瞳孔対の検出方法を示す図である。
【図9】本実施形態の瞳孔検出方法による瞳孔検出結果を示す図である。
【図10】従来の瞳孔検出方法による瞳孔検出結果と本実施形態の瞳孔検出方法による瞳孔検出結果を比較して示す図である。
【図11】従来の瞳孔検出方法による瞳孔検出結果と本実施形態の瞳孔検出方法による瞳孔検出結果を比較して示す図である。
【図12】従来の瞳孔検出方法による瞳孔検出率と本実施形態の瞳孔検出方法による瞳孔検出率を比較して示すグラフである。
【図13】従来の瞳孔検出方法による瞳孔検出率と本実施形態の瞳孔検出方法による瞳孔検出率を比較して示すグラフである。
【図14】本実施形態の瞳孔検出方法による2人の瞳孔対の検出結果を示す図である。
【図15】本実施形態の角膜検出方法を示す図である。
【図16】3個又は4個のカメラの配置方法の例を示す図である。
【図17】3個のカメラによる2人の瞳孔対の検出結果を示す図である。
【図18】瞳孔間距離に基づく本実施形態の瞳孔追尾方法を示す図である。
【図19】両方のカメラでそれぞれ両方の瞳孔を検出できた場合の瞳孔追尾方法を示す図である。
【図20】一方のカメラで一方の瞳孔のみを検出できた場合の瞳孔追尾方法を示す図である。
【図21】一方のカメラで一方の瞳孔のみを検出できた場合の瞳孔追尾方法を示す図である。
【図22】一方のカメラで一方の瞳孔のみを検出できた場合の瞳孔追尾方法を示す図である。
【図23】一方のカメラで一方の瞳孔のみを検出でき、他方のカメラで他方の瞳孔のみを検出できた場合の瞳孔追尾方法を示す図である。
【図24】一方のカメラで一方の瞳孔のみを検出でき、他方のカメラで他方の瞳孔のみを検出できた場合の瞳孔追尾方法を示す図である。
【図25】一方の瞳孔のみを2個のカメラで検出できた場合の瞳孔追尾方法を示す図である。
【図26】従来の瞳孔追尾方法による瞳孔追尾結果と本実施形態の瞳孔追尾方法による瞳孔追尾結果を比較して示す図である。
【図27】従来の瞳孔追尾方法による瞳孔追尾結果と本実施形態の瞳孔追尾方法による瞳孔追尾結果を比較して示すグラフである。
【図28】本実施形態の顔姿勢検出方法を示す図である。
【発明を実施するための形態】
【0021】
以下、図面を参照しつつ本発明に係る瞳孔検出方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一又は相当部分には同一符号を付し、重複する説明を省略する。

【0022】
(瞳孔検出方法を実行するための瞳孔検出装置)
まず、本発明にかかる瞳孔検出方法を実行するための瞳孔検出装置の構成について、図面を参照しながら説明する。本瞳孔検出装置は、瞳孔移動を検出することによってパーソナルコンピュータのモニター画面上のカーソルを移動させるポインティングデバイスや、瞳孔の動きを監視して運転者の眠気を検知する眠気検知システム等として利用される。

【0023】
図1は、本発明の好適な一実施形態である瞳孔検出装置10を示す平面図である。同図に示すように、瞳孔検出装置10は、対象者Aの頭部画像を撮影する2台のカメラである左カメラ2A及び右カメラ2Bと、左カメラ2Aの前面2aの撮像レンズの近傍に設けられた光源3aと、左カメラ2Aの前面2aから離れた位置に設けられた光源3bと、右カメラ2Bの前面2bの撮像レンズの近傍に設けられた光源3cと、右カメラ2Bの前面2bから離れた位置に設けられた光源3dと、左カメラ2A、右カメラ2B及び光源3a~3dと接続された画像処理装置1とを備えている。

【0024】
左カメラ2A及び右カメラ2Bは、対象者Aの顔画像を生成できる撮像手段であれば特定の種類の物には限定されないが、画像データをリアルタイム性が高く処理できるという点で、CCD、CMOS等の撮像素子を内蔵するデジタルカメラを用いる。左カメラ2A又は右カメラ2Bのいずれか一方が、第1カメラとして機能し、第1画像を取得する。そして、左カメラ2A又は右カメラ2Bのうち他方が第2カメラとして機能し、第2画像を取得する。

【0025】
光源3aは、左カメラ2Aの光軸L1に沿って、光軸L1上に位置する対象者Aをカバーする範囲に向けて、近赤外光成分を有する照明光を照射可能に構成されている。光源3bは、光軸L1からの距離が光源3aよりも離れた位置に固定され、光軸L1に沿って対象者Aをカバーする範囲に向けて、近赤外光成分を有する照明光を照射可能に構成されている。ここで、2つの光源3a、3bから照射される照明光が同じ波長成分であってもよいし、光源3aから照射される照明光が光源3bから照射される照明光よりも瞳孔を明るくするような異なる波長成分(例えば、光源3aの中心波長が850nmで光源3bの中心波長が950nm)を有するように設定すれば、より良く、かつ、光源3bは光軸L1からの距離が光源3aと等しい位置に固定されていてもよい。この場合は、瞳孔の部分に輝度差を生じさせながら、光源の構成を簡略化及び小型化することができる。光源3c及び光源3dの、右カメラ2B及びその光軸L2に対する位置関係は、光源3a及び光源3bの、左カメラ2A及びその光軸L1に対する位置関係と同様である。

【0026】
なお、左カメラ2A、右カメラ2B及び光源3a~3dは、対象者Aが眼鏡をかけていたときの顔画像における反射光の写り込みを防止しやすくする目的で、対象者Aの顔の高さよりも低い位置(例えば、光軸L1又は光軸L2の水平面に対する傾斜角が20~35度となり、光軸L1又は光軸L2が対象者Aの方向を向くような位置)に設けられることが好ましい。

【0027】
画像処理装置1は、左カメラ2A及び右カメラ2Bによる撮像、及び光源3a~3dによる照明光の照射を制御するとともに、左カメラ2A及び右カメラ2Bによって取得された対象者Aの頭部画像に基づいて、対象者Aの瞳孔を検出及び追尾する処理を実行する(詳細は後述する。)。

【0028】
(瞳孔検出方法及び瞳孔追尾方法)
次に、上述した瞳孔検出装置10の動作について説明するとともに、瞳孔検出装置10を用いた瞳孔検出方法及び瞳孔追尾方法について説明する。

【0029】
(世界座標系とカメラ座標系)
まず、本実施形態において使用される座標系に関して説明する。図2に示すように、世界座標系において、1台のカメラが存在する場合を考える。同図では、カメラ座標系と世界座標系とは平行とされているが、これらの座標系は平行でなくてもよい。

【0030】
世界座標系の原点からカメラ座標系の原点へのベクトルをtとし、座標系の相対的な回転を示す3行3列の回転行列をRとすると、各カメラ座標系における座標やベクトルCは、次式(1)により、世界座標系における座標又はベクトルWに変換できる。
【数1】
JP0006083761B2_000002t.gif

【0031】
一方、Tsaiのカメラ較正方法では、次式(2)における3行3列の回転行列R及び3行1列の並進ベクトルTが、カメラパラメータとして求められる。
【数2】
JP0006083761B2_000003t.gif

【0032】
回転行列R及び並進ベクトルTは、外部パラメータと呼ばれ、カメラの姿勢を表す。この他、Tsaiのカメラ較正方法によれば、カメラのひずみ等を表す内部パラメータが得られる。

【0033】
ここで、回転行列Rの逆行列をR-1とすると、式(2)から、次式(3)が得られる。
【数3】
JP0006083761B2_000004t.gif

【0034】
ここで、T及びR-1を、それぞれ次式(4)、(5)とする。
【数4】
JP0006083761B2_000005t.gif
【数5】
JP0006083761B2_000006t.gif

【0035】
すると、式(3)より、次式(6)が得られる。
【数6】
JP0006083761B2_000007t.gif

【0036】
この式(6)は、式(1)と同じ式となっている。

【0037】
図2に示すカメラ座標系は直交座標系であり、その原点はOCである。また、カメラ座標系のX軸、Y軸及びZ軸は、それぞれXC軸、YC軸及びZC軸で表される。このピンホールモデルでは、原点OCがピンホール位置であり、ZC軸がカメラの光軸であり、原点から焦点距離fの位置に撮像面が存在すると仮定する。撮像座標系のX軸はXI軸で表され、Y軸はYI軸で表される。撮像座標系のXI軸及びYI軸は、それぞれカメラ座標系のXC軸及びYC軸に平行である。また、撮像座標系の原点OIは、カメラ座標系の光軸上、すなわちZC軸上に存在する。

【0038】
このピンホールモデルにおいて、カメラで撮影される3次元空間内の撮影対象Pは、撮影対象Pとカメラ座標の原点OCとを結ぶ直線POCと撮像面との交点Pu(Xu,Yu,f)に投影される。Puの位置は、撮像座標系では(Xu,Yu)に相当する。

【0039】
なお、実際には、カメラには画像歪みが存在する。この画像歪みのため、撮像座標系において、Pは、理想的な位置Pu(Xu,Yu)ではなく、Puと異なる点Pd(Xd,Yd)に投影される。ただし、Tsaiのカメラ較正によって求められた歪み値により、Pd(Xd,Yd)を補正してPu(Xu,Yu)を計算することが可能である。このカメラの歪み補正に関する記述は省略する。

【0040】
次に、カメラの台数を2台に増やした場合を考える。図3に、カメラを2台とした場合の座標系の関係を示す。世界座標系における表現の場合には、記号の右肩に添字としてWを付する。Wを添え字として付していない表記は、右カメラ座標系、もしくは、左カメラ座標系の表記である。

【0041】
式(2)より、図2における右カメラ座標系の原点ORは、世界座標系における右カメラ座標系の原点ORWを用いて次式(7)で表される。
【数7】
JP0006083761B2_000008t.gif

【0042】
ここで、RRは、世界座標系から右カメラ座標系に変換する場合の回転行列である。TRは、世界座標系から右カメラ座標系に変換する場合の並進ベクトルである。投影点の座標PRuも同様に次式(8)で世界座標系に変換できる。
【数8】
JP0006083761B2_000009t.gif

【0043】
よって、右カメラ原点ORから撮像面の投影点PRuへ向かうベクトルORPRuは、式(3)及び式(4)より、世界座標系のベクトルORWPRuWを用いて次式(9)で表される。
【数9】
JP0006083761B2_000010t.gif

【0044】
したがって、式(9)から、ORWPRuWは、式(10)で表される。
【数10】
JP0006083761B2_000011t.gif

【0045】
同様に、左カメラについて、OLWPLuWは、式(11)で表される。
【数11】
JP0006083761B2_000012t.gif

【0046】
一方で、式(3)から、右カメラに関して、次の式(12)が成り立ち、左カメラに関して式(13)が成り立つ。
【数12】
JP0006083761B2_000013t.gif
【数13】
JP0006083761B2_000014t.gif

【0047】
式(12)及び式(13)から、世界座標系における左カメラ座標系原点OLWから右カメラ座標系原点ORWへ向かうベクトルOLWORWは、次式(14)で求まる。
【数14】
JP0006083761B2_000015t.gif

【0048】
ここで、式(4)及び式(5)より、式(14)の第1項と第2項は、それぞれ図3中の世界座標系原点から各カメラ座標系原点に向かうベクトルtR及びtLに相当し、式(15)及び式(16)が成立する。
【数15】
JP0006083761B2_000016t.gif
【数16】
JP0006083761B2_000017t.gif

【0049】
したがって、式(15)及び式(16)から、式(14)は、次式(17)のように表せる。
【数17】
JP0006083761B2_000018t.gif

【0050】
(瞳孔検出方法)
次に、本実施形態に係る瞳孔検出方法を説明する。本実施形態に係る瞳孔検出方法は、第1カメラにより対象者の顔を撮影して第1画像を取得する第1ステップと、第2カメラにより上記対象者の顔を撮影して第2画像を取得する第2ステップと、上記第1画像から上記対象者の瞳孔の候補となる1個以上の第1画像内候補点を抽出する第3ステップと、上記第2画像から上記対象者の瞳孔の候補となる1個以上の第2画像内候補点を抽出する第4ステップと、上記第1画像内候補点のうち1点及び上記第2画像内候補点のうち1点からなる組み合わせについて、当該組み合わせが3次元空間における同一の点に対応するか否かを判定する第5ステップと、3次元座標における同一の点に対応すると判定された上記第1画像内候補点と上記第2画像内候補点との組み合わせについて、当該組み合わせに対応する3次元空間における点を空間内候補点とすることにより、2個以上の空間内候補点を抽出する第6ステップと、上記抽出された空間内候補点の中から2個の空間内候補点の対を選択し、選択された2個の空間内候補点の対の間の距離を算出する演算を、複数の空間内候補点の対について行う第7ステップと、上記算出された空間内候補点の対の間の距離が所定範囲内にない空間内候補点の対を除外する第8ステップと、上記除外されなかった空間内候補点の対の中から、一以上の空間内候補点の対を決定し、決定された一以上の空間内候補点の対の位置に上記対象者の瞳孔の対が存在すると決定する第9ステップと、を備えている。

【0051】
このうち、第1画像から第1画像内候補点を抽出する第3ステップについては、例えば、特許文献1~5に記載されるように、第1画像として、明瞳孔画像と暗瞳孔画像の画素値の差分を計算して得た差分画像を用いて、この差分画像において画素値が大きい点を第1画像内候補点とすることにより、実行することができる。ただし、第3ステップについては、他の手法で実行してもよく、要は、第1画像内において、瞳孔に特有の大きさ、明るさ等の画像的特徴に基づいて、瞳孔の候補となりうる点を抽出すればよい。第2画像から第2画像内候補点を抽出する第4ステップについても同様である。

【0052】
以下、上記第1画像内候補点のうち1点及び上記第2画像内候補点のうち1点からなる組み合わせについて、当該組み合わせが3次元空間における同一の点に対応するか否かを判定する第5ステップと、3次元座標における同一の点に対応すると判定された上記第1画像内候補点と上記第2画像内候補点との組み合わせについて、当該組み合わせに対応する3次元空間における点を空間内候補点とすることにより、2個以上の空間内候補点を抽出する第6ステップについて説明する。第5ステップ及び第6ステップの処理方法として、以下で3通りの方法を説明するが、瞳孔検出処理においては、この3通りの方法のうち一部の方法を組み合わせて実行してもよいし、3通りの方法の全てを適宜組み合わせて実行してもよい。

【0053】
ここで、以下の説明において用いるステレオマッチングという語について説明する。一般に、カメラ較正を済ませた2台のカメラで撮影対象点の3次元座標を求めるとき、各カメラで撮影された画像内のどの点が撮影対象点に対応するかをカメラごとに求める。求められた画像内の点を画像内候補点と呼ぶ。そして、2台のカメラのそれぞれで撮影された画像における画像内候補点を互いに対応付けする。この2台のカメラでの画像内候補点の対応づけのことをステレオマッチングと定義する。したがって、2台のカメラで求められた画像内候補点がいずれも同一の撮影対象点に対応するものである場合、ステレオマッチングが正しく行われたことになる。

【0054】
(空間内候補点の抽出)
まず、図4を参照して、空間内候補点を抽出する第1の方法を説明する。図4は、図3を簡略化した図である。ここでは、すべて世界座標系で表現されているものとする。いま、左右のカメラのそれぞれに写る物体の位置をPL、PRとすると、各カメラの原点からそれらに向かうベクトルOLPL、ORPRと同方向のベクトルOLPLu、ORPRuが求まる。

【0055】
いま、式(11)により得られるベクトルOLPLuと式(17)で得られるベクトルOLWORWとの外積により、三角形OLPLORの法線ベクトルnLが式(19)で求められる。
【数18】
JP0006083761B2_000019t.gif

【0056】
同様に、三角形OLPRORの法線ベクトルnRも次式(19)で求められる。
【数19】
JP0006083761B2_000020t.gif

【0057】
ここで、もしPL=PRである、すなわち、左右のカメラで同一の物体を捉えていたとしたら、nL=nRとなる。左カメラと右カメラが別の物体を捉えていたらnL≠nRとなる。左カメラと右カメラが同一の物体を撮影しているのか否かを判定するために、nLとnRの内積により、平面OLPLORと平面OLPRORのなす角度θを、次式(20)によって求める。
【数20】
JP0006083761B2_000021t.gif

【0058】
実際には、カメラ画像からの対象物の座標算出精度やカメラ較正の精度などの限界により、左右のカメラで同一の物体を捉えていても、PL≠PRとなりnL≠nRとなる。したがって、実際には、閾値Thを設けて、次式(21)が満たされる場合に、左右のカメラで同一の対象を捉えていると判定する。
【数21】
JP0006083761B2_000022t.gif

【0059】
Thの値は、例えば、0.9995とすることが好適である。この場合、θ=±1.812°の範囲に相当し、80.00cm先の物体について、25.31mmの位置ずれに相当する。

【0060】
この第1の方法は、2台のカメラを結ぶ直線を軸とした軸周りのPLとPRのずれに関して感度が高く、特に有効である。

【0061】
しかし、逆に、nL=nRで平面OLPLORと平面OLPRORとが平行だとしても、PL=PRとは限らない。その例を図5の(a)及び(b)に示す。ここでは、平面OLPLORと平面OLPRORは平行である。しかし、PL=PRではない。したがって、カメラを水平に並べてあれば、上下方向のPLとPRのずれは検出できるが、左右方向のPLとPRのずれは検出できない。ただし、左右方向のずれは、PLとPRのステレオマッチングの結果、奥行き方向(Z方向)のずれとなって反映される。

【0062】
図6に、図5の内容を別の表現にして示す。図6(a)は図5(a)に対応し、図6(b)は図5(b)に対応している。図5(a)及び図6(a)は、左カメラ2Aで左瞳孔PLを検出しており、右カメラ2Bで右瞳孔PRを検出している場合である。これらをステレオマッチングすれば、算出される対象の3次元座標は、対象者の顔よりもはるかに後ろに誤検出されるはずである。図5(b)及び図6(b)は、左カメラ2Aで右瞳孔PRを検出しており、右カメラ2Bで左瞳孔PLを検出している場合である。この場合、算出される対象の3次元画像は、顔よりも前方に誤検出されるはずである。しかし、上述の第1の方法のみでは、この奥行き方向の座標のずれを検出することはできない。

【0063】
しかしながら、上述の第1の方法は、画像内において対象の撮像座標系における座標を求めた後の演算が容易である。したがって、左カメラ2A及び右カメラ2Bにおいて検出された画像内候補点が多数存在する場合、対象者の瞳孔に対応しない画像内候補点を除外するためには、上述の第1の方法は有効な方法である。

【0064】
具体的には、左右のカメラでそれぞれ得られる画像内候補点の数をそれぞれNL、NRとする。これらの画像内候補点について、総当たりで組み合わせて、上述の第1の方法の一連の演算を行う。組み合わせの数はNL×NR通りある。このうち、演算の結果、同一の対象を撮影したものでないと判定された画像内候補点の組み合わせは除外される。そして、除外されずに残った組み合わせにおける画像内候補点の座標が、有効な候補点として両カメラの画像上の座標として記憶される。

【0065】
次に、空間内候補点を抽出するための第2の方法について説明する。

【0066】
一般に、ステレオマッチングした後に、ステレオマッチングにより求まった画像内候補点の座標から、撮影対象点の3次元座標を求める方法は、次のようになる。この方法は、Tsaiのカメラ較正によって算出される回転行列Rと並進ベクトルT(式(2))を利用して求める方法(3次元復元)である。

【0067】
いま、世界座標系のZ軸を、カメラから見て奥行き方向にとる。また、RとTはそれぞれ次の式(22)及び式(23)で表されるとする。
【数22】
JP0006083761B2_000023t.gif
【数23】
JP0006083761B2_000024t.gif

【0068】
一般に、対象Pのカメラ座標系における座標を(XC,YC,ZC)と表現したとき(図1参照)、ピンホールカメラモデルの基本式として次式(24)が成立する。
【数24】
JP0006083761B2_000025t.gif

【0069】
これらをもとに、対象Pの世界座標系における座標をMとし、このMについて、A・M=Bという形の式に当てはまるように変形すると、カメラ1台について次の2式が得られる。なお、途中の式変形については記載を省略している。
【数25】
JP0006083761B2_000026t.gif

【0070】
いま、第1カメラにより取得された第1画像から抽出された第1画像内候補点のうち1点を選択する。また、第2カメラにより取得された第2画像から抽出された第2画像内候補点のうち1点を選択する。すると、選択された第1画像内候補点と第2画像内候補点のそれぞれについて、式(25)と同様の2式が得られる。したがって、Mに関して3つの未知数に対して4本の式(過剰方程式)が得られる。このため、Mの値を次のように最小自乗法により求める。ここで、Aが正方行列であれば、A・M=Bの両辺に、Aの逆行列A-1を乗ずればよいが、Aは正方行列ではないので、Aには逆行列が存在しない。そこで、Aの一般逆行列(擬似逆行列)であるA=(ATA)-1ATを求めて、このAを使用して、次式(26)によりMが求まる。
【数26】
JP0006083761B2_000027t.gif

【0071】
第2の方法によれば、具体的に対象候補点の3次元座標が求まる。第1の方法では、左右のカメラの画像内候補点の組み合わせに間違いがあっても、この間違った組み合わせを除外することができない場合があった。しかし、このような間違った組み合わせから第2の方法によって対象点の3次元座標を求めると、求まる対象のカメラからの奥行き方向への距離が適正な範囲にあるかを判定すること、すなわちZ座標が適正な範囲にあるか否かを判定することによって、図5に示したような左右の瞳孔を取り違えた場合が判定できる。それには、世界座標系において、式(27)のように、被験者の瞳孔の存在する範囲を、閾値として与えればよい。
【数27】
JP0006083761B2_000028t.gif

【0072】
また、2台のカメラの向きは、それらの光軸が適当な一点で交わるのが望ましいが、その交点をSとし、2台のカメラの位置をOR、OLとしたときに、ORとOLの中点とSを結ぶ軸をZ軸とする直交座標系を定義し、その座標系におけるMの座標を求め、式(27)を適用してもよい。

【0073】
特に眼鏡反射は、反射像であるが故に、3次元空間内の1点に実在する物ではない。したがって、一般に、2台のカメラから見たときに、同一の撮影対象点が存在せず、異なる点にある物のように見える。このため、眼鏡反射を画像内候補点とした場合に第2の方法を実行して対象点の3次元座標を計算すると、Z座標の値が適正な範囲にない値となり、眼鏡反射が瞳孔ではないことがわかる。そのため、計算された3次元座標の値が所定の適正な範囲にない場合には、選択された第1画像内候補点と、第2画像内候補点を、3次元座標における同一の点に対応しないものとして除外すればよい。

【0074】
次に、空間内座標点を抽出するための第3の方法について説明する。

【0075】
第1の方法は、カメラ2台を結ぶ直線を軸とする軸周りの方向のステレオマッチングの間違いを検出するのに有効であった。眼球反射を瞳孔と区別するとなると、眼鏡反射が瞳孔のすぐそばに現われる場合が多いため、厳密さが要求される。しかし、第1の方法では、ずれの大きさを軸周りの角度として表現しており、上述の軸から対象者の顔までの距離を考慮できない。例えば、瞳孔と眼鏡反射との間の距離が実寸で同じでも、軸から距離に応じて、閾値にすべき値を変えるべきであるが、第1の方法ではZ軸方向の距離を求めていないので、それができない。

【0076】
第3の方法では、第2の方法で求めることができたZ軸方向の距離だけでなく、その距離における各カメラで得られる対象候補点間の距離がわかる。これを利用して、ステレオマッチングが正しいか否かを判定する。次に、計算方法を説明する。

【0077】
以下、すべて世界座標系における説明である。図7には、カメラが2台あり、ここでは、点O1、O2にカメラが設置されているとする。点O1のカメラでは対象候補点P1を撮影し、点O2のカメラでは対象候補点P2を撮影している。そして、点O1と対象候補点P1とを結ぶ直線をg1(第1直線)とし、点O2と対象候補点P2とを結ぶ直線をg2(第2直線)とする。2直線g1、g2の方向ベクトルをそれぞれu1=(L1,M1,N1)、u2=(L2,M2,N2)とする。これらは、図2におけるベクトルOCPuに相当する。また、点O1、O2の座標をそれぞれO1=(x1,y1,z1)、O2=(x2、y2、z2)とする。

【0078】
2直線g1、g2の式は、それぞれ次式(28)、(29)で表される。
【数28】
JP0006083761B2_000029t.gif
【数29】
JP0006083761B2_000030t.gif

【0079】
このとき、g1、g2の両方に垂直な直線(共通垂線)h12を次式(30)で置く。
【数30】
JP0006083761B2_000031t.gif

【0080】
ここで、点(a1,b1,c1)は、共通垂線上の点であると同時に、直線g1上の点であるとし、この点をH1とする。ここで、式(28)の値をtとおくと、次式(31)が成り立つ。
【数31】
JP0006083761B2_000032t.gif

【0081】
式(31)を式(30)に代入すると、式(30)は、次式(32)と表せる。
【数32】
JP0006083761B2_000033t.gif

【0082】
一般に、式(28)、(29)で表される2直線g1、g2が交わる条件は、次式(33)が成立することである。
【数33】
JP0006083761B2_000034t.gif

【0083】
したがって、式(29)で表される直線g2と式(32)で表される直線h12が交わる条件は、次式(34)が成立することである。
【数34】
JP0006083761B2_000035t.gif

【0084】
ここで、t=t1とし、かつ、次式(35)とおく。
【数35】
JP0006083761B2_000036t.gif

【0085】
式(34)と式(35)から、t1について解くと、次式(36)が得られる。
【数36】
JP0006083761B2_000037t.gif

【0086】
このt1を、式(31)のtに代入すると、H1の座標(a1,b1,c1)が次式(37)のように求まる。
【数37】
JP0006083761B2_000038t.gif

【0087】
同様に、今度は、直線g2(式(29))と共通垂線h12との交点をH2=(a2,b2,c2)とおくと、式(35)~(37)に相当する式として、次式(38)~(40)が得られる。
【数38】
JP0006083761B2_000039t.gif
【数39】
JP0006083761B2_000040t.gif
【数40】
JP0006083761B2_000041t.gif

【0088】
最後に、H1とH2の間の距離|H1H2|、すなわち2直線g1、g2の最短距離は、式(35)~(37)、式(38)~(40)及び次式(41)の演算から算出できる。
【数41】
JP0006083761B2_000042t.gif

【0089】
さらに、H1とH2の中点Mを次式(42)で容易に求めることができる。
【数42】
JP0006083761B2_000043t.gif

【0090】
ステレオマッチングが正しければ、距離|H1H2|は小さな値になり、中点MのZ座標も、対象者が存在する範囲内に入る。したがって、この第3の方法によって、対象候補点P1、P2が瞳孔であるか否かを判定することができる。具体的には、計算された|H1H2|が所定の閾値以下であること、若しくは中点MのZ座標が所定の下限値と所定の上限値との間にあること、又はこれらの両方を条件として、ステレオマッチングが正しいことを判定することができる。

【0091】
なお、第1の方法は、第1の方法の説明において、カメラを水平に並べたときに、上下方向のPLとPRのずれは検出できるが、左右方向のPLとPRのずれは検出できないと述べたが、この問題は、第3の方法においても同じく存在する。

【0092】
(2点間距離に基づき空間内候補点を選択する方法)
次に、抽出された空間内候補点の中から2個の空間内候補点の対を選択し、選択された2個の空間内候補点の対の間の距離を算出する演算を、複数の空間内候補点の対について行う第7ステップと、上記算出された空間内候補点の対の間の距離が所定範囲内にない空間内候補点の対を除外する第8ステップを実行する方法について説明する。なお、本明細書において、この方法を第4の方法と称することがある。

【0093】
これまでに述べた第5・6ステップを実行するための第1~第3の方法は、画像内候補点一個ごとについてステレオマッチングが正しくされているかの判定が主要な目的であった。そして、2個のカメラで選択された画像内候補点から計算される空間内候補点が、本当に対象者の瞳孔を撮影した点であることを確実にするため、本方法の2個の空間内候補点のペアリングを行い、ペアリングされた1対の空間内候補点の距離が人間の瞳孔間距離として妥当な範囲の値であるか否かを判定することにより、瞳孔対候補が本当の瞳孔対であるか判定する。また、この方法は、2人以上の対象者を撮影した場合において、個々の対象者の瞳孔対を検出したり、個々の対象者を区別したりするのに有効である。

【0094】
いま、第6ステップまでの処理により、複数の空間内候補点が抽出されているものとする。これらの複数の空間内候補点を2個選択して組み合わせを作る。そして、この組み合わせられた1対の空間内候補点の間の距離lを、1対の空間内候補点の3次元座標に基づいて計算する。そして、このような距離lの計算を、組み合わせ得る全ての組み合わせについて行う。距離lは式(43)で表される。ここで、P1及びP2は、組み合わせた2個の空間内候補点の3次元座標であり、P1とP2とは異なる点である。
【数43】
JP0006083761B2_000044t.gif

【0095】
瞳孔対候補として組み合わせ得る空間内候補点の数は、空間内候補点の数をNとしたとき、式(44)で与えられる。
【数44】
JP0006083761B2_000045t.gif

【0096】
計算された距離lが、人間の瞳孔間距離として妥当でない値となる空間内候補点の対については、瞳孔対ではないと判定し、その瞳孔対(両瞳孔候補とも)を瞳孔対候補から除外する。距離lが適当な空間内候補点の対については、真の瞳孔対であると判定し、その瞳孔対を形成する瞳孔候補を瞳孔と判定する。一般に、人間の瞳孔間距離は約65mmである。したがって、個人差や輻輳による瞳孔間距離の変化等を考慮すると、距離lとして適当な範囲は、65mmを含んだ所定の範囲とすればよい。例えば、距離lが55mm~70mmでない場合に、選択された空間内候補点の対を真の瞳孔対でないものとして、瞳孔対候補から除外することができる。

【0097】
なお、ここまで説明した処理を行った後、なお、空間内候補点の対が2対以上残っている場合には、例えば人間の行動特性に基づいて空間内候補点の対を対象者の瞳孔であるとして決定してもよい。例えば、人間が大きく首をかしげる等により2つの瞳孔を結んだ直線が水平面に対して大きく傾斜することはないものと仮定し、空間内候補点の対を結んだ直線が水平面に対してなす角度が小さい対を瞳孔対として決定してもよい。また、元の画像の特徴から、大きさや輝度等が瞳孔と似ているものを画像処理により選択するようにしてもよい。

【0098】
(瞳孔検出方法の実験)
次に、以上で説明した方法を組み合わせた瞳孔検出方法による瞳孔検出実験の結果について説明する。

【0099】
実験環境及び方法は次の通りである。蛍光灯がついた室内にて、眼鏡を装着した被験者を、カメラから約80cm離れた位置に座らせ、電球により被験者の顔に光を照射した状況で実験を行った。電球による照射を行った理由は、瞳孔を縮小させて眼鏡反射に近い大きさとし、誤検出を発生させやすくするためである。被験者の目の付近での照度は、366~751lxであった。

【0100】
被験者の頭部は特に固定せず、300フレームの間、目を数回開閉するように指示し、その間の画像を撮影し、従来の瞳孔検出方法と、本実施形態の瞳孔検出方法とで瞳孔検出を行った。

【0101】
本実験における、本実施形態の瞳孔検出方法の具体的な処理を、図8を参照しながら説明する。まず、2個のカメラのそれぞれで、5個の画像内候補点までを画像処理により検出した。次に、検出された2つのカメラでの画像内候補点を1個ずつ組み合わせてペアリングを行い、ペアリングされた画像内候補点の対を用いて第2の方法によりステレオマッチングを行い、画像内候補点の対に対応する空間内候補点の3次元座標を計算した。被験者の顔はカメラから約80cm離れた位置にあるとして、3次元座標のうち、カメラから離れる方向に延びるZ軸に沿ったZ座標が70cm~90cmの範囲内にない場合には、画像内候補点のペアリングが間違っていると判定し、その画像内候補点のペアを除外した。その後、Z軸方向の距離の妥当性を満たした空間内候補点において、2つの空間内候補点の間の距離が63~70mmの間である空間内候補点の対を、真の瞳孔であるとして決定した。

【0102】
図9は、本実験において撮影された画像及びその画像に対して各種の処理を行った結果を示す写真である。図9は、大きく分けて、左下部分、右下部分、左上部分、右上部分に分けられ、また、右上部分がその上半分と下半分とに分けられる。図9の左下部分は、対象者の瞳孔が明るく映し出された明瞳孔画像である。図9の右下部分は、対象者の瞳孔が暗く映し出された暗瞳孔画像である。図9の左上部分は、明瞳孔画像と暗瞳孔画像の画素値の差分をとって作成した差分画像である。図9の右上部分のうち上半分は、対象者の瞳孔部を拡大して高解像度化した明瞳孔画像である。図9の右上部分のうち下半分は、図9の右上部分の上半分の高解像度した明瞳孔画像を2値化した画像である。なお、以下の図10、図11及び図26においても、各画像は同様に配置されている。

【0103】
図9の左下部分の明瞳孔画像及び右下部分の暗瞳孔画像には、眼鏡のレンズにより反射された光の映り込みである眼鏡反射や、眼鏡のフレームにより反射された光の映り込みである眼鏡フレーム反射が映っている。これらの眼鏡反射は、差分画像ではある程度ほぼ除去されている。また、明瞳孔画像と暗瞳孔画像では、対象者の瞳孔の明るさが大きく異なるため、図9の左上部分の差分画像では、対象者の瞳孔に相当する部分が明るくなっている。

【0104】
そして、画像処理装置1が、この明るくなった部分の明るさや大きさ等の画像的特徴に基づいて、この部分に瞳孔があることを検出し、小ウィンドウ(小領域)を瞳孔部分に表示させている。この小ウィンドウは、後述する瞳孔追尾処理を行う際に、瞳孔の位置を推定し、瞳孔を探索する対象領域を限定するためのものである。画像処理装置1は、この小ウィンドウ内において、瞳孔であると考えられる図形を探索することにより、瞳孔追尾処理を行う。図9の右上部分では、対象者の明瞳孔に重なる位置に略円形の図形が表示されている。なお、図9の右上部分において、小さな四角形が表示されているが、この四角形は、対象者の角膜による光の反射像である角膜反射を示す。角膜反射の検出処理については後述する。

【0105】
図10は、対象者が目を閉じたときの処理画像である。図10(a)は、従来の瞳孔検出方法による処理画像であり、図10(b)は、本実施形態の方法による処理画像である。図10(a)、(b)とも、眼鏡の右目レンズ部分による眼鏡反射が差分画像において白い点として残っている。図10(a)では、この眼鏡反射による白い点が瞳孔として誤って検出されており、この部分に小さな四角形が表示されている。これに対し、図10(b)では、眼鏡反射による白い点を瞳孔として検出せず、未検出となっている。

【0106】
図11は、図10よりも後の時刻の、対象者が目を開いた直後の処理画像である。図11(a)は、従来の瞳孔検出方法による処理画像であり、図11(b)は、本実施形態の方法による処理画像である。図11(a)では、図10(a)と同様に、眼鏡反射を瞳孔として誤って検出している。これに対し、図11(b)では、対象者が目を開いたことによって、カメラで撮影できるようになった瞳孔を正しく検出できている。

【0107】
図12は、対象者の閉眼時における、左カメラにおける瞳孔の検出率を示す図である。図12(a)は、従来の瞳孔検出方法による瞳孔検出率を示す。図12(b)は、本実施形態の瞳孔検出方法による瞳孔検出率を示す。図12(a)、図12(b)のいずれも、5人の被験者を対象者としたときの左右それぞれの瞳孔の検出率を示している。正検出率は、瞳孔を正しく検出できた場合の割合を示す。非検出率は、瞳孔の位置を検出しなかった場合の割合を示す。誤検出率は、瞳孔以外のもの、例えば眼鏡反射を瞳孔であるとして誤って検出した場合の割合を示す。誤検出をいったん行ってしまうと、後述の瞳孔追尾方法を用いて瞳孔を追尾しようとした場合に、誤って検出した眼鏡反射を瞳孔であると誤認識したまま、眼鏡反射を追尾してしまい、長時間にわたって瞳孔を検出できなくなるため、誤検出を行うことは好ましくない。

【0108】
対象者が閉眼している場合には、カメラには瞳孔が映らない。したがって、瞳孔は検出されないのが正しい。このため、対象者の閉眼時には、正検出率が0%、非検出率が100%、誤検出率が0%となることが好ましい。図12(a)に示す従来の瞳孔検出方法による場合では、多くの被験者で誤検出が生じている。これに対し、図12(b)に示す本実施形態の場合では、全ての被験者において誤検出が生じていない。なお、右カメラにおいても、左カメラとほぼ同様の瞳孔検出率が得られる。

【0109】
図13は、対象者の開眼時における、左カメラにおける瞳孔の検出率を示す図である。図13(a)は、従来の瞳孔検出方法による瞳孔検出率を示す。図13(b)は、本実施形態の瞳孔検出方法による瞳孔検出率を示す。対象者の開眼時においても、被験者によっては、従来の瞳孔検出方法によれば誤検出がある程度の割合で生じていたのに対し、本実施形態の瞳孔検出方法によれば誤検出はほぼ生じていない。

【0110】
(複数人の瞳孔対を検出する方法)
次に、複数人の瞳孔対を検出する場合について説明する。
複数の対象者の瞳孔対を検出する場合にも、前述の第1~第3の方法により空間内候補点を抽出した後、2点間距離に基づき空間内候補点を選択する方法によって、複数の対象者の瞳孔対を検出することができる。例えば、第1の方法により不適切な画像内候補点を除去し、次に、除去されなかった画像内候補点に対して第2の方法により不適切な画像内候補点を判定して除去し、さらに残った画像内候補点に対して、その画像内候補点に対応する3次元座標を計算し、計算された2点の3次元座標が所定範囲内にあるものを選択することにより判定を行って、複数人の瞳孔対を検出することができる。

【0111】
図14に、2人の被験者を対象者として、第1、第2の方法を順に実行した後、2点間距離に基づき空間内候補点を選択する方法を実行することにより瞳孔検出を行った場合の実験結果を示す。図14(a)は、左カメラで撮影した画像を示す。図14(b)は、右カメラで撮影した画像を示す。図14(a)、図14(b)とも、4個の画像からなる。左下の画像は、対象者を撮影して取得した明瞳孔画像である。右下の画像は、対象者を撮影して取得した暗瞳孔画像である。左上の画像は、明瞳孔画像と暗瞳孔画像の画素値を差分して生成した差分画像である。左上の画像において、白い十字型の図形は、瞳孔検出処理によって検出した瞳孔の位置を示す。右上の画像は、同一人の左右の瞳孔対を検出した結果を示す。右上の画像において、白い十字型の図形は、瞳孔検出処理によって検出した瞳孔の位置を示す。また、白い十字型の図形を結ぶ白い直線は、同一人の左右の瞳孔対として検出された点を結んで示す。

【0112】
なお、多数の対象者の瞳孔を検出する場合には、全ての対象者がカメラから同程度の奥行きの位置に並んでいるとは限らない。したがって、第2の方法によってZ座標が一定範囲に無い瞳孔候補点を除外したり、第3の方法によって、中点MのZ座標が一定範囲に無い瞳孔候補点を除外したりすると、対象者全員の瞳孔対を検出できない場合がある。このため、このような場合には、第1の方法、第3の方法のうち2直線間の最短距離を用いた処理を行って空間内候補点を抽出し、さらに2点間距離に応じて空間内候補点を選択する処理を順に実行することにより、対象者の瞳孔対を決定する。この場合、第1の方法、第3の方法のいずれかを省略してもよい。

【0113】
(角膜反射検出方法)
次に、本実施形態に係る角膜反射検出方法について説明する。

【0114】
図15は、本実施形態に係る角膜反射検出方法を実行するための装置と対象者の眼球とを模式的に示す図である。この角膜反射検出方法においては、左カメラ2Aと右カメラ2Bと、光源3(3a,3c)とを用いる。また、角膜を検出するのに先立ち、予め、左カメラ2A及び右カメラ2Bを用いて前述の瞳孔検出方法を実行しておき、瞳孔の3次元座標を検出しておく。以下、左カメラ2A、右カメラ2B及び光源3(3a,3c)の位置に応じて場合分けして説明する。

【0115】
まず、図15(a)の場合について説明する。この場合においては、光源3aをカメラ2Aの近傍に設ける。また、光源3cをカメラ2Bの近傍に設ける。

【0116】
光源3aで眼球を照射しながら左カメラ2Aで第1画像を取得する。また、光源3cで眼球を照射しながら右カメラ2Bで第2画像を取得する。このようにすると、第1画像には、光源3aの光が角膜で反射された角膜反射が映り、第2画像には、光源3cの光が角膜で反射された角膜反射が映る。ここで、角膜の形状は、角膜球と呼ばれる球面状となっている。このため、第1画像、第2画像のそれぞれに映る角膜反射は、見かけ上、角膜球中心にある光源により発光されたように映る。

【0117】
したがって、第1画像から対象者の角膜反射の候補となる1個以上の第1画像内角膜反射候補点を抽出し、第2画像から対象者の角膜反射の候補となる1個以上の第2画像内角膜反射候補点を抽出し、これらの第1及び第2画像内角膜反射候補点からそれぞれ1点を選択し、選択された点の画像内座標を用いて、前述した第2の方法や第3の方法を用いて3次元座標を計算すると、ちょうど角膜球中心の位置に光源があるかのように求まる。このようにして、角膜反射の候補となる3次元座標を求めた後、求まった角膜反射候補の3次元座標が、予め検出された瞳孔の3次元座標と所定の範囲内、例えば数mmの範囲内にある場合に、求まった角膜反射候補が本当の角膜反射であると判定する。

【0118】
図15(b)の場合、光源3a及び光源3bの配置は図15(a)の場合と同様である。ただし、撮影時に使用する光源が図15(a)の場合と異なる。すなわち、光源3cで眼球を照射しながら左カメラ2Aで第1画像を取得し、光源3aで眼球を照射しながら右カメラ2Bで第2画像を取得する。後は図15(a)の場合と同様にして角膜反射の候補となる3次元座標を求める。すると、求められる3次元座標は、角膜球の表面上となる。この場合も、角膜反射候補の3次元座標と瞳孔の3次元座標との距離が数mmの範囲内にあるときに、求まった角膜反射候補が本当の角膜反射であると判定することができる。

【0119】
図15(c)、図15(d)の場合、光源3a及び光源3bに代えて、1個の光源3を用いる。そして、左カメラ2Aで第1画像を取得する時と、右カメラ2Bで第2画像を取得する時のいずれにおいても、光源3により対象者の眼球を照射しておく。この場合、光源3の位置によって、求められる角膜反射の位置が異なる。ただし、いずれの場合も、角膜反射候補の3次元座標と瞳孔の3次元座標との距離が数mmの範囲内にあるときに、求まった角膜反射候補が本当の角膜反射であると判定することができる。

【0120】
(3個以上のカメラを用いて瞳孔を検出する方法)
これまで、2個のカメラのみを用いて瞳孔を検出する方法について説明を行った。しかし、少なくとも3個のカメラを用いて対象者の顔を撮影し、これらのカメラの中から少なくとも2組の第1カメラ及び第2カメラの組を選択し、選択された第1カメラ及び第2カメラの組のそれぞれを用いて、これまでに説明した2個のカメラを用いた瞳孔検出方法を実行してもよい。

【0121】
前述した第1~第4の方法を実行するためには、左カメラ2A及び右カメラ2Bの両方によって、瞳孔の画像内候補点を検出できていることが必要である。しかしながら、一方のカメラで撮影された画像において、瞳孔と眼鏡反射が重なっている場合、当該カメラで撮影された画像では瞳孔が画像内候補点として検出できず、前述の第1~第4の方法をうまく実施できない場合がありうる。そこで、3個以上のカメラを使用することがより好適である。3個のカメラを使用した場合、そのうち1個のカメラで撮影された画像によって瞳孔の画像内候補点を検出できなかった場合にも、他の2個のカメラで撮影された画像を用いて瞳孔の画像内候補点が検出されていれば、前述の第1~第4の方法を実行することができるため、より確実に瞳孔検出を行うことが可能となる。

【0122】
図16に、3個以上のカメラの配置の例を示す。図16(a)は、3個のカメラ2A~2Cの配置の例である。第3カメラ2Cは、第1カメラ2Aと第2カメラ2Bとを結ぶ直線から離れた位置に配置されることが好適である。前述の第1の方法又は第3の方法を用いた場合、2個のカメラを結ぶ直線を軸として、この軸を含む平面上に位置する異なる2点をそれぞれ別のカメラで撮影していた場合を除外することが難しかった。例えば、第1カメラ2Aと第2カメラ2Bを水平方向に並べて配置した場合、第1カメラ2Aと第2カメラ2Bが、水平面内で離れた異なる2点をそれぞれ画像内候補点として検出していた場合、このような画像内候補点の組を除外することが難しかった。そこで、第3カメラ2Cを第1カメラ2Aと第2カメラ2Bとを結ぶ直線から離れた位置に配置することにより、不適当な画像内候補点の組をより除外しやすくなる。3個のカメラ2A~2Cは、正三角形の各頂点の位置に配置することが好ましい。また、特に眼鏡反射と瞳孔が画像内において重なる問題を考えた場合には、3個のカメラ2A~2Cは、対象者から見た角度で、少なくとも10度程度は離して設置することが好ましい。

【0123】
図16(b)は、4個のカメラ2A~2Dの配置の例である。4個のカメラを配置する場合も、第3カメラ2C及び第4カメラ2Dは、第1カメラ2Aと第2カメラ2Bとを結ぶ直線から離れた位置に配置することが好ましい。カメラ2A~2Dを長方形の4頂点の位置に配置することがより好ましい。特に、カメラ2A~2Dを正方形の4頂点の位置に配置すると、一層好ましい。

【0124】
なお、この場合、2個のカメラの組ごとに、瞳孔検出結果が得られる。そこで、カメラの組ごとに瞳孔検出結果に対し、例えば座標値の算術平均を計算するなどの演算をすることにより、一の瞳孔検出結果を得るようにしてもよい。

【0125】
上述のように3個のカメラを使用した場合、次のようにして、対象者の瞳孔対の位置をより正確に求めることもできる。3個のカメラをカメラ1~3とする。この3個のカメラのうち2個のカメラの組み合わせ(カメラペア)を決定する。これによりカメラペアが3組得られる。カメラ1とカメラ2との組み合わせをカメラペア1-2とし、カメラ2とカメラ3との組み合わせをカメラペア2-3とし、カメラ3とカメラ1との組み合わせをカメラペア3-1とする。なお、使用されるカメラの数は3個には限定されず、少なくとも3個であればよい。また、カメラペアの数も3組には限定されず、少なくとも3組決定すればよい。

【0126】
この方法では、まずカメラペアごとに瞳孔対の候補を決定する。具体的には、決定された少なくとも3組のカメラペアのそれぞれについて、カメラペアの一方のカメラを第1カメラとし、カメラペアの他方のカメラを第2カメラとし、上述した第1~第9のステップを備えた瞳孔検出方法により、対象者の瞳孔の対を瞳孔対の候補として決定する。より具体的には、空間内候補点を取得し、第1の方法により、角度θ(式(20)参照)が式(21)を満たす空間内候補点を残し、さらに第2の方法又は第3の方法により、空間内候補点の3次元座標を計算する。そして、第4の方法により、2つの空間内候補点の間の距離が人間の瞳孔間距離として妥当でない値となるような2つの空間内候補点の対を、対象者の瞳孔対でないと判断して除外する。除外されずに残った空間内候補点の対を、対象者の瞳孔対の候補として残す。

【0127】
例として、図17に示すように、対象者1及び対象者2の2人の対象者の瞳孔対を検出する場合、カメラペア1-2により対象者1の左目の瞳孔候補PL112、対象者1の右目の瞳孔候補PR112、対象者2の左目の瞳孔候補PL212、対象者2の右目の瞳孔候補PR212が求められたとする。また、カメラペア2-3により対象者1の左目の第1の瞳孔候補PL123、対象者1の左目の第2の瞳孔候補R123、対象者1の右目の瞳孔候補PR123、対象者2の左目の瞳孔候補PL223、対象者2の右目の瞳孔候補PR223が求められたとする。また、カメラペア3-1により対象者1の左目の瞳孔候補PL131、対象者1の右目の瞳孔候補PR131、対象者2の左目の瞳孔候補PL231、対象者2の右目の瞳孔候補PR231が求められたとする。なお、カメラペア2-3により求められた対象者1の左目の第2の瞳孔候補R123は、実際には対象者1の眼鏡反射像であって、実際の対象者1の瞳孔とは異なる。他の各瞳孔候補は、実際の対象者1の瞳孔に対応する。

【0128】
次に、決定された瞳孔対の候補のそれぞれについて、両瞳孔(すなわち瞳孔対の候補の一方と他方)を結ぶベクトルの方向ベクトルと両瞳孔の中点とを求める。図17では、瞳孔候補PL112,PR112を結ぶベクトルの方向ベクトルはm112で、中点はG112である。瞳孔候補PL123,PR123を結ぶベクトルの方向ベクトルはm123で、中点はG123である。瞳孔候補R123,PR123を結ぶベクトルの方向ベクトルはmE123で、中点はGE123である。瞳孔候補PL131,PR131を結ぶベクトルの方向ベクトルはm131で、中点はG131である。瞳孔候補PL212,PR212を結ぶベクトルの方向ベクトルはm212で、中点はG212である。瞳孔候補PL223,PR223を結ぶベクトルの方向ベクトルはm223で、中点はG223である。瞳孔候補PL231,PR231を結ぶベクトルの方向ベクトルはm231で、中点はG231である。

【0129】
ここで、同じ対象者の瞳孔対については、3組のカメラペアのそれぞれにより得られた方向ベクトルは、それぞれ互いになす角度がほぼ0となる性質を有する。また、3組のカメラペアのそれぞれにより得られた中点は、互いに近接した位置にあるという性質を有する。このような性質を利用することにより、複数の対象者の瞳孔対について、どの瞳孔対の候補がどの対象者の瞳孔に対応するかを区別することができ、また、誤検出された瞳孔候補を排除して正しい瞳孔対を求めることができる。すなわち、一のカメラペアにより決定された瞳孔対の候補について求められた方向ベクトルの向きが、他の複数のカメラペアで決定された瞳孔対の候補について求められた方向ベクトルの向きと所定の閾値以上の角度をなす場合に、上記一のカメラペアにより決定された瞳孔対の候補を除去する。

【0130】
図17の例では、中点G112,G123,G131,GE123は近接した位置にある。中点G212,G223,G231は、互いに近接した位置にあり、かつ中点G112,G123,G131,GE123とは遠く離れた位置にある。このことから、中点G112,G123,G131,GE123は1人の対象者(すなわち対象者1)の瞳孔候補の対の中点であり、中点G212,G223,G231は別の1人の対象者(すなわち対象者2)の瞳孔候補の対の中点であることが判定できる。

【0131】
また、方向ベクトルmE123は、方向ベクトルm112,m123,m131となす角度が大きい。これにより、方向ベクトルmE123を求めるために用いられた瞳孔候補R123が、対象者の真の瞳孔に対応しないことが判定できる。

【0132】
このような性質から、方向ベクトルの向きにより除去されずに残った瞳孔対の候補について座標の平均値をとり、この平均値を最終的な瞳孔の位置として決定することで、瞳孔の位置をより正しく推定することができる。具体的には、3つのカメラを使用した場合には、例えば、中点がより近接しており方向ベクトルのなす角度が小さくなる2対のカメラペアを選択し、選択されたカメラペアに含まれる2つのカメラに基づいて求められる瞳孔候補の座標の平均値をとり、この平均値を最終的な瞳孔の位置として決定することにより、瞳孔の位置を正しく推定することができる。このようにして瞳孔の位置を正しく推定した後には、推定された瞳孔の位置をカメラ画像に投影することにより、瞳孔追尾の際に瞳孔を探索する対象領域を限定するためのウィンドウを与えることもできる。

【0133】
なお、図17において、異なるカメラペアにより検出される瞳孔位置がずれるのは、カメラ較正(ステレオ較正)の誤差による。しかしながら、多くの場合では、瞳孔候補が実際の瞳孔に対応するものであれば、異なるカメラペアで求められる瞳孔候補を結ぶ直線の向き(すなわち方向ベクトルの向き)はほぼ平行となる。これに対し、眼鏡反射像を誤って瞳孔候補として検出した場合には、眼鏡反射を含む瞳孔ペアを結ぶ直線の向き(すなわち方向ベクトルの向き)は平行とならない。

【0134】
また、カメラが3台しかない場合において、3台のうち1台のカメラで眼鏡反射像が瞳孔像に重なってしまい、これにより瞳孔が検出できない場合がある。この場合、当該1台のカメラを除く2台のカメラからなる1組のカメラペアにおいてしか、瞳孔対を得ることができない。したがって、瞳孔対を1組しか得ることができないため、上述した3組のカメラペアにより求められる瞳孔対の中点及び瞳孔対を結ぶ方向ベクトルを用いて正しい瞳孔対を選択する方法が使用できない。このため、1台のカメラで眼鏡反射像と瞳孔像が重なることを想定した場合には、カメラの台数を少なくとも4台とすることが望ましい。ここで、カメラが3台のみのシステムにおいて、上述の方法(すなわち瞳孔間距離、瞳孔間方向ベクトルの方向、瞳孔間中点を用いて瞳孔対の候補を抽出する方法)を用いて、瞳孔対の候補が1組しか得られない場合には、その瞳孔対の候補は、対象者の真の瞳孔対である可能性が高い。そこで、瞳孔対の候補が1組しか得られなかった場合には、この瞳孔対の候補が真の瞳孔対であるとして信頼してもよい。しかしながら、3台のカメラのうちの1組のカメラペアにおいて、どちらかのカメラにおいて真の瞳孔でない点(例えば眼鏡反射像)を瞳孔候補点として検出する誤検出があった場合には、この真の瞳孔でない瞳孔候補点を含む瞳孔対の候補と、真の瞳孔である瞳孔候補点を含む瞳孔対の候補との、2組の瞳孔対の候補が検出され、2組の瞳孔対の候補のうちどちらの瞳孔対が真の瞳孔対であるかを判断することができない。このため、2組の瞳孔対の候補の両方を除外することとなり、瞳孔対を1組も検出できない結果に終わる。すなわち、誤検出は防げるが、検出率は低下する。カメラ2台の場合についても、同様のことが言える。

【0135】
なお、図17において、実際は、瞳孔候補点として空間内候補点を抽出しただけの時点では、ある瞳孔候補点が対象者1の瞳孔である、又は対象者2の瞳孔であると区別することはできず、2つの瞳孔候補点の対が対象者1の瞳孔対又は対象者2の瞳孔対であると区別することもできない。したがって、本来は、例えば瞳孔候補PL112と瞳孔候補PR212との対や瞳孔候補PR123とPL223との対も、瞳孔対の候補として検出されることになる。これらの瞳孔対の候補については、第4の方法を利用して、瞳孔候補の間の距離が瞳孔間距離として妥当でない値となるものを除外することができる。また、次のようにして、真の瞳孔対となり得ない瞳孔対の候補を除外することもできる。

【0136】
すなわち、前段階までの処理を行った後に残っている瞳孔候補点の間で、総当たりで、相互間の距離を計算する。そして、計算された距離が所定の閾値以下となる瞳孔候補点を一つのグループとするようにグルーピングする。ここで、所定の閾値は、各カメラペアによるステレオ較正の精度に応じて任意に決定し得るが、人間の瞳孔間距離となり得る値よりも小さい値とする必要がある。所定の閾値は、例えば4.5cmとし得る。このようにグルーピングを行うことにより、図17の例の場合には、瞳孔候補点を、例えば対象者1の右瞳孔の候補点、対象者1の左瞳孔の候補点、対象者2の右瞳孔の候補点、対象者2の左瞳孔の候補点の4つのグループに分ける。このとき、前段階までの処理の結果、眼鏡反射像等の誤検出による候補点を除去することができず、誤検出による候補点がいずれかのグループに含まれている場合がある。この場合、誤検出による候補点を除去するために、上述した瞳孔間距離及び瞳孔間方向ベクトル(さらに瞳孔間中点を利用してもよい)を利用した方法により、誤検出による候補点を除外して瞳孔対を検出することになる。しかしながら、グルーピングを先に行うことにより、瞳孔間距離、瞳孔間方向ベクトルを利用する方法において、候補点間の距離、候補点を結ぶ方向ベクトル、及び候補点間の中点を算出する演算の対象となる瞳孔対の候補の数を大きく減らすことができる。また、カメラの数が3台以上であり、かつ各カメラペアのステレオ較正が正確にできている場合には、前段階までの処理で眼鏡反射の誤検出を極力なくすことができる。このため、グルーピングにより、瞳孔対ではなく片方の瞳孔を独立して検出することができる。

【0137】
(瞳孔追尾方法)
次に、これまで説明した瞳孔検出方法で対象者の一対の瞳孔の位置を検出した後に、検出された瞳孔を追尾するための瞳孔追尾方法について説明する。

【0138】
被験者の両目の3次元瞳孔間距離が一定であることを拘束条件として、2個の瞳孔を一つの塊として追尾するために、次のような方法をとる。いま、3次元瞳孔間距離をlとし、このlを既知とする。ただし、実際には、いったん瞳孔検出処理を行い、両瞳孔の3次元座標が検出されれば、検出された瞳孔の3次元座標に基づいてlを決定できる。以後の瞳孔追尾処理においては、このようにして決定されたlの値を使用すればよい。

【0139】
図18は、カメラ較正が済んだカメラを複数配置した中で、ユーザの頭部移動により、2個の瞳孔が移動している状態を表す。左瞳孔PL及び右瞳孔PRの3次元座標は、一般には、カメラ較正を行った2台以上のカメラでステレオマッチングすることにより求め、求められた左瞳孔PL及び右瞳孔PRの3次元座標に基づいて以下の瞳孔追尾処理を行うものとする。図18においては、2台のカメラだけを示して、それぞれ左カメラ及び右カメラとし、点OLを原点とする左カメラ座標系と、点ORを原点とする右カメラ座標系とを示している。ただし、後述のように、一方のカメラでは瞳孔が検出できない場合でも、ステレオマッチング以外の方法で、両瞳孔の3次元座標が推定できるため、その場合にも、推定された左瞳孔PL及び右瞳孔PRの3次元座標に基づいて、同様の瞳孔追尾処理を行うことができる。

【0140】
今、現在(t)のフレームから一つ前(t-1)のフレームで決定した左瞳孔3次元位置、右瞳孔3次元位置、それらの重心位置を、それぞれ、PL、PR、Gとし、PLからGへ向かう単位ベクトルをmとすると、両瞳孔重心Gおよび瞳孔間単位方向ベクトルmは次の式(45)、式(46)のようになる。
【数45】
JP0006083761B2_000046t.gif
【数46】
JP0006083761B2_000047t.gif

【0141】
この両瞳孔重心G、瞳孔間単位方向ベクトルm及び瞳孔間距離lにより、瞳孔対の絶対位置と相対位置とが求まる。両瞳孔重心G及び瞳孔間単位方向ベクトルmは、それぞれ3個の要素からなる((Gx,Gy,Gz)及び(mx,my,mz))。これら6個の要素のそれぞれについて、次式(47)、(48)で表される予測モデルを適用させる。なお、ここでは、各要素が一定速度で変化することを仮定している。
【数47】
JP0006083761B2_000048t.gif
【数48】
JP0006083761B2_000049t.gif

【0142】
ここで、ΔTはフレーム間の時間、tは現フレームの時刻、t-1は1つ前のフレーム、t-2は2つ前のフレームを表す。

【0143】
なお、予測モデルとしてカルマンフィルターを用いてもよい。仮に、さらに、画像の取りこぼしがあった場合や、不定期に画像を取得する場合を想定すると、次のような方法は有効である。いま、2フレーム前と1フレーム前の時刻(実際の時刻)をそれぞれt-2、t-1とし、現在のフレームの時刻をt0としたとき、各要素が一定速度で変化すると仮定するならば、次式が成り立つ。
【数49】
JP0006083761B2_000050t.gif

【0144】
ここで、w(t-2)、w(t-1)、w(t0)は、それぞれの時刻の各要素の値である。式(49)を変形して、現在の時刻の各要素の値は、次式(50)で与えられる。
【数50】
JP0006083761B2_000051t.gif

【0145】
さらに、厳密には、単位方向ベクトルmに関しては、その各要素が独立して、一定速度で変化するというよりも、mが一定速度で一定方向に回転することを仮定したほうが、さらに適切である。すなわち、2フレーム前と1フレーム前の単位方向ベクトルmをそれぞれm(t-2)、m(t-1)とし、それらが同一の平面上で回転するとする。m(t-2)とm(t-1)の内積からm(t-2)とm(t-1)のなす角度ξがわかる。角度ξの符号すなわちmの回転方向は、m(t-2)とm(t-1)の両方を含む平面をx-y平面とする直交座標系において、m(t-2)とm(t-1)の外積のz座標の符号からわかる。したがって、現在のフレームのmであるm(t0)は、mの等速回転を仮定して、m(t-2)からm(t-1)への回転角速度ω(t-1)がm(t-1)からm(t0)への回転角速度ω(t0)と一致するという条件(次式(51))により求めることができる。
【数51】
JP0006083761B2_000052t.gif

【0146】
式(47)及び式(48)によって、2フレーム前と1フレーム前のG及びベクトルmから、現フレームの両瞳孔重心G及び瞳孔間単位方向ベクトルmを予測する(それぞれG’、m’とおく)。両瞳孔重心G及び瞳孔間単位方向ベクトルmの予測に際しては、式(47)及び式(48)に代えて式(49)及び式(50)を使用してもよく、式(51)を使用してもよい。さらに、予測された両瞳孔重心G’及び瞳孔間単位方向ベクトルm’を用いて、現フレームにおける左右の瞳孔の3次元座標P’L及びP’Rを次式(52)、(53)で求める。
【数52】
JP0006083761B2_000053t.gif
【数53】
JP0006083761B2_000054t.gif

【0147】
上述の方法と同じ方法で、1フレーム前においても、瞳孔の3次元座標が得られているとすると、それらを各カメラ画像面に投影した点が、画像中の瞳孔に相当する。すなわち、得られた瞳孔の3次元座標をカメラ画像面に投影することにより、瞳孔の画像内座標が得られる。この画像内座標を用いて、1フレーム前の瞳孔部分の画像(小ウィンドウ内の画像)を現フレームの推測される位置にずらしてから差分をする。

【0148】
ただし、ここで、式(52)、(53)で与えた瞳孔間距離lは、実際には一定ではないし、カメラ較正の精度が低いと、瞳孔間距離lは少し変化しうる。このため、lについても式(47)及び式(48)の予測モデルを用いて、前のフレームの瞳孔間距離からl’を予測して、式(54)及び式(55)としてもよい。なお、瞳孔間距離lの予測についても、式(47)及び式(48)の予測モデルに代えて式(49)及び式(50)の予測モデルを用いてもよいし、式(51)の予測モデルを用いてもよい。
【数54】
JP0006083761B2_000055t.gif
【数55】
JP0006083761B2_000056t.gif

【0149】
また、式(47)と式(48)による予測モデルでは、頭部の急激な並進移動や回転の加速・減速には、対応が難しいため、特許文献8に記載の角膜反射の移動量を利用した差分位置補正法を、行うほうが望ましい。式(49)及び式(50)を用いた予測モデルや式(51)を用いた予測モデルを用いた場合についても、同様に、特許文献8に記載の角膜反射の移動量を利用した差分位置補正法を行うほうが望ましい。ただし、角膜反射は視線の角度によって、いつも存在するとは限らないので、角膜反射が存在しない場合は、そのまま、上記の瞳孔間距離を利用した差分位置補正法により差分位置補正を行う。このように各カメラの画像において、瞳孔の2次元座標が求まったら、ステレオマッチングにより、現フレームにおける瞳孔の3次元座標を求め、あとは繰り返しとなる。

【0150】
角膜反射検出方法については、既に図15を参照して説明したが、ここでは角膜反射を検出するための他の方法を説明する。図15(a)~(d)のどの場合にも、2台の両カメラから得られる角膜反射の3次元座標が、本当の角膜反射の3次元座標であれば、対象者の左右2個の角膜反射間距離は、2個の瞳孔間距離と同様に、ほぼ常に一定の値となる。そこで、本実施形態の瞳孔検出方法と同様の手法を用いて角膜反射を検出することもできる。

【0151】
具体的な手順は、次の通りである。まず、左右それぞれのカメラによって対象者の顔を撮影して画像を取得する。次に、取得した画像から対象者の角膜反射の候補となる画像内角膜反射候補点を抽出する。このとき、一般に閉眼等により瞳孔が検出できないときは、たいてい角膜反射も検出できないので、すでに検出された瞳孔を中心にした小ウインドウ(小領域)のなかから角膜反射候補点を抽出したほうが効率的である。そして、左右それぞれのカメラにより取得された画像から画像内角膜反射候補点を1点ずつ選択して組み合わせ、この組み合わせに対して、前述の空間内候補点の抽出方法及び2点間距離に基づき空間内候補点を選択する方法を適用することにより対象者の左右の角膜反射の3次元位置を計算する。

【0152】
そして、計算された角膜反射の3次元座標の位置に基づいて、この角膜反射から数mmの範囲内に瞳孔が存在することを仮定して、角膜球中心から数mmの範囲内に対応する画像内の領域に小ウィンドウ(小領域)を設定する。そして、この小ウィンドウ内において差分処理を行うことにより、瞳孔の位置を決定して、瞳孔の画像内座標を算出する。

【0153】
また、角膜反射による差分位置補正を行うことで、頭部が移動しても瞳孔検出のロバスト性と位置検出精度が維持できる。以上のように、角膜反射間距離一定の条件により角膜反射を検出すれば、角膜反射検出のロバスト性及び位置検出精度を高めることができるため、画像全体から瞳孔を検出する場合にも、また、角膜反射の移動量を利用した差分位置補正をした瞳孔検出を行う場合に、瞳孔検出のロバスト性及び位置検出精度を高めることができる。

【0154】
また、瞳孔間距離一定の条件により検出された瞳孔対に関して、例えば、一方の瞳孔のすぐそばに眼鏡反射が存在するときに、2つの瞳孔対が得られることがある。例えば、1つは左眼の本当の瞳孔と右眼の本当の瞳孔からなる瞳孔対で、もう1つは左眼の本当の瞳孔と右眼のそばの眼鏡反射)。このような場合に、両方の瞳孔対を構成する画像中の瞳孔候補点に小ウィンドウを与え、その中について、角膜反射対を得る。角膜反射においても、複数の対が得られる場合がある。そのとき、左眼、右眼のそれぞれにおいて、得られた角膜反射対候補と瞳孔対候補を構成する瞳孔と角膜反射の3次元距離が最も近いものどうしを本当の瞳孔と本当の角膜反射と判断する。

【0155】
このように、瞳孔間距離を一定とした瞳孔検出と角膜反射間距離を一定にした角膜反射検出を組み合わせることで、瞳孔検出と角膜反射検出の両方のロバスト性と位置検出精度を高めることができる。

【0156】
次に、瞳孔検出結果を基に、各カメラで左右の瞳孔が検出できたどうかによって場合分けして、さらに次のフレームの瞳孔3次元位置を推定するための方法を示す。

【0157】
まず、2個の瞳孔ともが2台以上のカメラによって検出できている場合について説明する。図19のように、カメラ較正を行った2台のカメラOL、ORがあるとする。ここでは、左瞳孔PL及び右瞳孔PRの2個の瞳孔がいずれも、2台のカメラの両方によって検出できた場合を考える。

【0158】
この場合には、先述の方法を用いる。過去の2フレームにおいて、すでに明らかになっている両瞳孔重心G及び瞳孔間単位方向ベクトルmから、式(45)~式(53)を使用して、現フレームの瞳孔3次元位置を推定する。それに基づき、各カメラにおいて、現フレームの画像内の各瞳孔の瞳孔位置を推定する。すでに算出されている前のフレームでの瞳孔位置周辺(小ウィンドウ内)の画像を、推定された現フレームの画像内の瞳孔位置にずらしてから、差分を行い、2個の瞳孔の2次元位置を算出する。

【0159】
その後、画像中の瞳孔検出および瞳孔の3次元位置を算出する。さらに、それらから両瞳孔重心G及び瞳孔間単位方向ベクトルmを求め、式(52)と式(53)、又は式(54)と式(55)により、左右の瞳孔の3次元位置を再算出する。それらの情報を次のフレームにおいて、一つ前のフレームにおける左右の瞳孔3次元位置や両瞳孔重心G、瞳孔間単位方向ベクトルmとして使用する。このように、2個の瞳孔がいずれも2台のカメラの両方によって検出できている場合は、両瞳孔の位置情報が対等に扱われる。

【0160】
次に、2個の瞳孔のうち、1個は2台以上のカメラで検出されており、もう1個は1台のカメラのみによって検出できた場合について説明する。ここでは、上記の、2個の瞳孔がいずれも2台以上のカメラで検出できた場合の説明で述べたように、現フレームにおける左右の瞳孔3次元位置推定の後、差分位置補正を行い、瞳孔検出を行った結果、図20に示すように,一方のカメラでは両瞳孔が検出でき、もう一方のカメラでは片方の瞳孔が検出できた場合について述べる。図20の例では、左カメラOLでは左瞳孔PLと右瞳孔PRの両方が検出できており,右カメラORでは,左瞳孔PLのみ検出できている場合を示している。

【0161】
この場合、左瞳孔PLは両方のカメラで検出できているので、右カメラ画像上の特定の像と左カメラ画像上の特定の像がPLであると仮定して、ステレオマッチングにより左瞳孔PLの3次元位置を算出する。それに対し、右カメラORでは右瞳孔PRが検出できていないため、PRの3次元位置は未知である。但し、左カメラOLでは右瞳孔PRが検出できているため、右瞳孔PRは直線OLPR上に存在することになる。そこで、右瞳孔PRが直線OLPR上に存在するという条件と、線分PLPRの長さが瞳孔間の三次元距離lに等しいという条件とからPRの三次元位置を算出する。

【0162】
すなわち、図21に示すように、PRは、PLを中心とした半径lの球面上に存在すると仮定する。以下、具体的に、PRを算出する方法を述べる。今、世界座標系におけるPLの三次元位置を(Px,Py,Pz)とおくと、PLを中心とする半径lの球面の式は、次式(56)で表せる。
【数56】
JP0006083761B2_000057t.gif

【0163】
また,世界座標系において、カメラOL(x0,y0,z0)と右瞳孔PRを結ぶ直線OLPRの式は、OLからPRへ向かう単位方向ベクトルuLR(ux,uy,uz)を用いて次式(57)で与えられる。
【数57】
JP0006083761B2_000058t.gif

【0164】
式(57)の値をパラメータtとし、このパラメータtを用いてx、y及びzの値を表すと、次式(58)になる。
【数58】
JP0006083761B2_000059t.gif

【0165】
式(58)を式(56)へ代入すると、次式(59)となる。
【数59】
JP0006083761B2_000060t.gif

【0166】
式(59)をtについて解くと、tの解によって次の3つの場合に分かれる。第1の場合は、式(59)の解が1つの場合、すなわち式(59)が重解を持つ場合である。第2の場合は、式(59)の解が2つの共役複素数となる場合である。第3の場合は、式(59)の解が2つの異なる実数となる場合である。

【0167】
第1の場合、すなわち式(59)が重解を持つ場合、図21(a)のように、左瞳孔PLを中心とする半径lの球と直線OLPRとの交点が1つの場合を表しており(図21(a))、式(59)で重解として求まったtを式(58)へ代入してPRの三次元座標が求まる。ここで求まるPRと、すでに求まっているPLとそれらから求まるG、ベクトルmも求まり、さらに、次のフレームで使用する。

【0168】
第2の場合、すなわち式(59)の解が共役複素数になる場合(図21(b))は、左瞳孔PLを中心とする半径lの球と直線OLPRとが交点を持たないことになる。そこで、次に述べるように、直線OLPR上でPLからの最近傍点をPRとして求める。

【0169】
今、PRを直線OLPR上の任意の点とすると、式(58)から、ベクトルPLPRは、tについての1次式である式(60)で与えられる。
【数60】
JP0006083761B2_000061t.gif

【0170】
ここで、直線OLPRとPLの間の距離が最短になるのは、PLPRと直線の方向ベクトルuLRが直交する場合で、次式(61)のように、ベクトルPLPRとベクトルuLRとの内積は0となる。
【数61】
JP0006083761B2_000062t.gif

【0171】
式(61)をtについて解くと、tは次式(62)の通りに求まる。
【数62】
JP0006083761B2_000063t.gif

【0172】
求まったtを式(58)に代入してPRの3次元座標を求める。また、求まったtを式(60)に代入すると、2つの瞳孔間距離は、ベクトルPLPRの長さ|PLPR|で求まる。このように、式(59)の解が共役複素数となる場合、瞳孔間距離|PLPR|は、式(63)となる。
【数63】
JP0006083761B2_000064t.gif

【0173】
そこで、次式(64)のように適当な制限を設ける。
【数64】
JP0006083761B2_000065t.gif

【0174】
式(64)のように、右瞳孔候補と左瞳孔との距離が所定の閾値未満であるとすることにより、画像から得られる右瞳孔候補像が偽りの瞳孔のときに、誤って真の瞳孔と判断しないようにする。ここで、lmaxは、最大瞳孔間距離であり、あらかじめ設定する。

【0175】
以上、式(59)が重解を持つ場合と同様に、求まったPRと、すでに求まっているPLとそれらからも求まるG、ベクトルmを求め、これらの値を次のフレームで使用する。なお、式(59)の解が共役複素数となる場合は、得られた左瞳孔PLと右瞳孔PRとの間の距離が、予め求められていた両瞳孔間距離lと異なる値となる。これを補正するために、さらに、Gとmが求まった後に、式(52)と式(53)、又は式(54)と式(55)を使用して、再度、左瞳孔PLと右瞳孔PRを計算し、それらを次のフレームで使用する。

【0176】
第3の場合、すなわち式(59)の解が2つの異なる実数となる場合は、式(59)で求めたtを式(58)へ代入することにより、PRの候補として、2つの3次元座標が求まる(図21(c)中のPRとPR’)。よって、求まった2つの候補のうち、どちらが真の右瞳孔かを推定する必要がある。2つの候補のうちどちらが真の右瞳孔位置であるかを判定するには、求まった候補のうちどちらが式(52)と式(53)(又は式(54)と式(52))により予測されている現フレームにおけるPRの3次元瞳孔位置に距離が近いかを判定し、2つの候補のうち現フレームのPRの位置に距離が近い方を真の瞳孔位置と判定する。

【0177】
その上で、式(59)が重解を持つ場合や共役複素数解をもつ場合と同様に、ここで求まったPRと、すでに求まっているPLとそれらからも求まるG、ベクトルmを求め、次のフレームで使用する。

【0178】
なお、上記したような、右瞳孔PRが左瞳孔PLを中心とする半径lの球面上にあることを仮定する方法に代えて、右瞳孔PRが左瞳孔PLを中心とする半径lminの球面上にあると仮定して計算してもよい。ここで、lminは、予め決定された瞳孔間距離lよりも小さい、瞳孔間距離として考えられる最小値であり、例えば、最初、計測した瞳孔間距離の75%などにするとよい。なお、近くの対象を見たりすると、輻輳眼球運動により、瞳孔間距離は近づくので瞳孔間距離には一定の許容範囲が必要である。

【0179】
この方法では、正しく右瞳孔PRが検出されるときには、右瞳孔PRと左瞳孔PLとの間の距離lはlminよりも大きいことから、直線OLPRと、左瞳孔PLを中心とする半径lminの球面とは交点を持たない。このため、式(59)のlをlminに置き換えたtの2次方程式は、共役複素数解を持つ。したがって、前述の第2の場合、すなわち式(59)が共役複素数解を持つ場合と同様に、図22のように、単に左瞳孔PLから直線OLPRに対して垂線を下ろしたときの交点を右瞳孔PRとする。垂線を下ろしたとき、線分PLPRは最短となる。

【0180】
この場合、瞳孔間距離|PLPR|を求め、それがlmaxより小さいときに右瞳孔PRが検出されたとする。そのとき、G、mを求めて、式(52)と式(53)、又は式(54)と式(55)を使用して、再度、左瞳孔PLと右瞳孔PRを計算し、それらを次のフレームで使用する。なお、|PLPR|<lmin、又は|PLPR|>lmaxとなった場合は、右瞳孔PRは閉眼等で存在しないとする。

【0181】
最後に、以上のどの場合でも、2台の両方のカメラで検出された方の瞳孔3次元位置がまず決定され、この両カメラで検出された方の瞳孔の位置に基づいて、1台のカメラのみによって検出された方が従属的に検出される。この理由は、1台のカメラによってのみ検出された方が検出される3次元位置の信頼性が低いと考えられるからである。

【0182】
また、以上説明した例では、左カメラOLでは左瞳孔PLと右瞳孔PRの両方が検出できており、右カメラORでは、左瞳孔PLのみ検出できている場合を示した。右カメラORと左瞳孔PLと右瞳孔PRの両方が検出できており,左カメラOLでは、右瞳孔PRのみ検出できている場合も、同様にして、まず右瞳孔PRの3次元座標を求め、次いで左瞳孔PLの3次元座標を求める。

【0183】
次に、各瞳孔が別のカメラで検出できている場合について説明する。すなわち、図23(a)のように、左カメラで左瞳孔が検出でき、右カメラで右瞳孔が検出できた場合、又は、図23(b)のように、左カメラで右瞳孔、右カメラで左瞳孔が検出できた場合について、次に述べる。

【0184】
図23(a)に示した場合について、まず述べる。ここでは、図24に示したように、左瞳孔は、左カメラ画像から検出された2次元瞳孔位置から導かれるように、OLを通り単位方向ベクトルがuLLである直線(第3直線)上に存在し、右瞳孔は、右カメラ画像からORを通り単位方向ベクトルがuRRである直線(第4直線)上に存在する。しかし、いずれの瞳孔も、2台のカメラの両方によって検出されてはいないので、ステレオマッチングでは、それらの三次元位置は推定できない。そこで、左瞳孔PLについては、式(52)と式(53)、又は式(54)と式(55)で予測された現フレームにおける左瞳孔P’Lと右瞳孔P’Rを結ぶ直線P’LP’R(第5直線)と、OLを通り単位方向ベクトルがuLLである直線との共通垂線を求める。次いで、求まった共通垂線と、OLを通り単位方向ベクトルがuLLである直線との交点を求め、求まった交点を左瞳孔PLの3次元座標として求める。この求まった交点は、第3直線と第5直線の両方に接近する接近点である。また、右瞳孔PRについては、上記と同様の方法で予測された現フレームにおける左瞳孔P’Lと右瞳孔P’Rを結ぶ直線P’LP’Rと、ORを通り単位方向ベクトルがuRRである直線との共通垂線を求める。次いで、求まった共通垂線と、ORを通り単位方向ベクトルがuRRである直線との交点を求め、求まった交点を右瞳孔PRの3次元座標として求める。この求まった交点は、第4直線と第5直線の両方に接近する接近点である。このようにして求められた左瞳孔及び右瞳孔の3次元座標を元に、Gとmを求めた後に、式(52)と式(53)、又は式(54)と式(55)を使用して、左瞳孔PLと右瞳孔PRを計算し、それらを次のフレームで使用する。なお、このように、各瞳孔がそれぞれ別のカメラ1台のみによって検出されている状態は、一般に不安定であり、連続してこのような状態が続くと、正しく瞳孔の3次元座標が推定できなくなる。そのような状況の中で、この方法を一定時間以上連続して、例えば1秒間実行し続けると、差分位置補正自体が不正確になるか、全くできなくなる。そこで、このような状態が一定時間以上継続した場合にはこのような処理を止めて、瞳孔に小ウィンドウを与えず、画像全体もしくは瞳孔がありそうな範囲で画像差分をするようにすべきである。

【0185】
図23(b)の左カメラで右瞳孔、右カメラで左瞳孔が検出できた場合においても、同様である。

【0186】
次に、図25に示すように、1個の瞳孔のみが2台以上のカメラで検出できている場合について説明する。今、2台のカメラで右瞳孔が検出されており、左瞳孔は、どちらのカメラでも検出できなかったとする。このような場合は、例えば、瞳孔マウスなどの応用分野で、ウインクによりマウスクリックの代わりとなる入力操作をする場合に生じる。

【0187】
このように、1個の瞳孔がどちらのカメラでも検出できていない場合、これまでに、たびたび述べてきたGとmの連続性を利用する方法では、この場合、非常に不安定となりやすい。もちろん、数フレームだけは追尾処理を実行して、その後、ウィンドウを解除する方法も考えられる。しかしながら、このような場合、通常、対象者はカーソルを画面上のある位置に停止させるために、頭部を静止させてから、片眼を閉じる。したがって、そのときには、瞳孔の移動はないと考えられる。

【0188】
そこで、式(52)と式(53)、又は式(54)と式(55)において、m’=m、l’=lとし、また、P’Rを、ステレオマッチングにより求めた右瞳孔の位置PRに等しいとして、P’LとP’Rを決定するのが望ましい。なお、後の処理は同様である。ただし、ここでのlは前のフレームで求まった瞳孔間距離を表す。

【0189】
(瞳孔追尾方法の実験結果)
次に、ここまでで説明した本実施形態の瞳孔追尾方法の実験結果を説明する。

【0190】
本実験は、図1に示す瞳孔検出装置10と同様の装置を用いて行った。より具体的には、本装置は、カメラ(ステレオ)構成された2組の光学系、発光回路、パーソナルコンピュータ等で構成される。光学系は、それぞれ、ノンインターレース方式デジタルカメラ、16mmレンズ、可視光カットフィルタ、2重リング状近赤外線LED光源からなる。カメラの取得画像は60fpsグレースケール画像で、1フレームのサイズは640×480ピクセルとした。

【0191】
このような装置を用いて、リング状LED光源の内側LED及び外側LEDをカメラのストロボ信号により交互に点滅させて明瞳孔画像と暗瞳孔画像をそれぞれ取得し、これらから差分画像を得た。このとき、片方の光源から照射された光が他のカメラに干渉しないように、2台のカメラ間の同期を650マイクロ秒ずらした。

【0192】
実験は、眼鏡装着者4名をカメラから約80cm離れた位置に座らせ、電球により被験者の顔に光を照射した状況で行った。ここで、電球は、電球により眼鏡反射を生じさせるというよりも、被験者に電球を眩しく感じさせることによって被験者の瞳孔を小さくさせ、瞳孔と眼鏡反射との区別がつきにくくするために用いた。瞳孔周りの照度は262~345lxであった。被験者には、カメラ画像中の瞳孔と眼鏡反射が重なる時間帯が生じるように顔を左右に振らせて、各被験者について画像をそれぞれ300フレーム撮影した。解析では、撮影された画像を1フレームごとに確認した。

【0193】
図26に、顔を左右に動かした場合の従来法および本実施形態の、右カメラにおける処理画像を示す。図26(a)~(c)は、従来法による処理画像である。図26(d)~(f)は、本実施形態の瞳孔追尾方法による処理画像である。従来法では被験者の顔が(a)に示す状態から(c)に示す状態に動いた際、(b)に示すように瞳孔と眼鏡反射が重なると、(c)に示すタイミングでは瞳孔ではなく眼鏡反射の追跡が始まった。ここで、従来法では、左右のカメラ毎に、左右の瞳孔毎に追尾をしており、角膜反射の差分位置補正を行って瞳孔検出を行う方法である。これに対し、本実施形態の瞳孔追尾方法では、顔が(d)に示す状態から(f)に示す状態に動き、(e)に示すように瞳孔と眼鏡反射が重なっても、(f)に示すタイミングでは瞳孔を追跡し続けた。

【0194】
図27には、右カメラにおける左右の瞳孔の検出率を示した。ここで、正検出率とは、正しく瞳孔を瞳孔と検出した場合で、非検出は、何も検出できなかった場合で、誤検出は、瞳孔以外を瞳孔として誤って検出したことを意味する。

【0195】
被験者4名のうち3名については、従来法でも正検出率が高かったため、本実施形態の瞳孔追尾方法においても、さらに100%に近づいた程度の差であった。しかし、残り1名の被験者KMにおいては、従来法では誤検出率が非常に高かったのに対し、図27の右側のグラフに示すように、本実施形態の瞳孔追尾方法によれば、誤検出率が0に減少した。本実施形態の瞳孔追尾方法においても、非検出率は大きい。しかしながら、非検出となったフレームでは瞳孔に眼鏡反射が重なってカメラに写っていたため、当該フレームで非検出となったことは妥当である。このことは、従来法における非検出率と提案法における非検出率がほぼ同じ値であることからもわかる。なお、左カメラについても同様の結果が得られた。

【0196】
(顔姿勢検出方法)
次に、本実施形態の顔姿勢検出方法について説明する。この顔姿勢検出方法は、上記の瞳孔検出方法により検出された対象者の一対の瞳孔の3次元座標に基づいて対象者の顔姿勢を検出する方法である。

【0197】
次の方法により、対象者の頭部の左右の回転と、前後の軸周りの回転を検出できる。今、図28(a)のような世界座標系において、一人の対象者の左瞳孔PL及び右瞳孔PRの2個の瞳孔が存在するとする。ここで、世界座標系のYw軸を鉛直軸とし、Yw軸の正の方向を鉛直方向上向きとする。すなわち、Yw軸の正の向きが対象者の標準的な頭部姿勢において上向きとなるとする。また、Zw軸が対象者の頭部を前後に貫く軸である前後軸で、正の方向が対象者の頭部の後方を向く方向とする。図28(b)は、対象者の頭部の前後軸を中心とした頭部回転のおよその傾きの算出の方法を示している。この図で破線は、Xw-Zw平面に平行な直線である。この図での角度γは、瞳孔間単位方向ベクトルmの水平面からの傾きを示している。角度γは、ベクトルmの成分を用いて次式(65)で表せる。
【数65】
JP0006083761B2_000066t.gif

【0198】
また、2個の瞳孔を頭部上方向から見た顔の水平方向の角度αは、図28(c)のように示せる。図中の矢印Fは、顔の正面方向を示す。角度αは、ベクトルmの成分を用いて次式(66)で表現できる。
【数66】
JP0006083761B2_000067t.gif

【0199】
さらに、対象者の標準的な頭部姿勢における前方(Zw軸の負方向)から見た角度として顔の前後軸周りの回転角度δは、図28(d)のように示せる。その角度δは、次式(67)で計算できる。
【数67】
JP0006083761B2_000068t.gif

【0200】
なお、これらすべてにおいて、両瞳孔重心Gを顔の位置として定義することで、上下方向の回転を除いた、顔姿勢が検出できる。

【0201】
なお、本方式では、瞳孔位置のみを使用して顔姿勢を検出しており、鼻孔を検出しないため、顔方向は正確に検出できない。しかし、カメラが被験者の顔正面よりかなり下に設置した場合は、鼻孔が画像に写る場合が多く生じるので、鼻孔を画像処理で検出して、特許文献3、4及び9に記載の方法で、鼻孔の位置を使用して顔方向を検出することもできる。鼻孔が検出できた場合とできなかった場合で、顔姿勢検出方法を切り替えて使用することも考えられる。

【0202】
本明細書では、差分位置補正をすることを主体に述べてきたが、2波長の光源による光の顔からの反射光を波長分離して、明瞳孔画像と暗瞳孔画像の取得タイミングを同時にすることで、差分位置補正が必要がなくなる。そのような場合は、差分位置補正は必要なくなるが、本発明においては、差分位置補正をして差分をする前に、前のフレームで得られた情報から、現フレームの瞳孔の3次元座標を予測し、それを各カメラの現フレーム上の画像上の座標に変換しているので、それを中心とした小ウィンドウを与えることが、本発明の方法と同様の方法で可能である。小ウィンドウを与えることで、眼鏡反射等の誤検出をしにくくなる効果が得られる。ここで述べたことは、非常に短い時間(例えば、0.5マイクロ秒)毎に、明瞳孔画像と暗瞳孔画像を得た場合も、ほぼ同様のことが言える。

【0203】
追尾することの利点は、瞳孔検出では、左右の瞳孔の区別がつきにくいことである。これまで、瞳孔マウスでは、対象者の右ウインク動作と左ウインク動作を、一般的な手で操作するマウスにおける右クリック操作と左クリック操作に対応させた。その場合、一度、瞳孔を両瞳孔が検出された時点で、右瞳孔と左瞳孔を特定し、その後、一方が非検出になったときも、検出がされ続けている瞳孔が右瞳孔であるか左瞳孔であるかは、追尾に伴う連続性から特定した。もし、追尾をしておらず、フレーム毎に画像全体から瞳孔を検出している場合は、フレーム間の関連づけがされないため、片方の瞳孔が検出できないフレームでは、検出できている瞳孔が右瞳孔か左瞳孔か区別がつかない。

【0204】
また、車載用では、瞳孔が小さく差分画像においても、瞳孔は暗く、眼鏡反射がなくても検出が難しい。そのような場合、片方の瞳孔が何らかの理由で、検出されなくなった場合、検出できている側の瞳孔が右瞳孔か左瞳孔かが特定されているので、検出できていない方の目のあたりに比較的大きなウィンドウを与えて、その中だけを探索することもした。その場合でも、検出し続けられている瞳孔が左右のどちらかが特定できていることは重要である。

【0205】
(瞳孔間距離について)
上述したいくつかの実施形態においては、瞳孔間距離を求める工程があった。瞳孔間距離は、対象者の瞳孔対を決定するためには、本来、正確さを要する値である。特に、対象者の眼鏡反射像が瞳孔像と近い位置にある場合には、眼鏡反射像と瞳孔像とを区別するために、瞳孔間距離を正確に求める必要がある。

【0206】
ここで、特に、2個のカメラを用いる場合において、カメラの較正(ステレオ較正)が正しくできていない場合には、計算により求められた瞳孔間距離は、カメラと対象者との間の距離に応じて、実際の瞳孔間距離との誤差が大きくなる傾向がある。したがって、対象者の頭部がある特定の位置にある場合において、対象者の2個の瞳孔を正しくステレオマッチングして両瞳孔の3次元座標を算出して瞳孔間距離を求めたとしても、対象者の頭部が移動すると、算出される瞳孔間距離が変化する。このため、対象者の眼鏡反射像と瞳孔像との区別がしにくくなる。また、カメラの較正には、常に誤差が伴う。そのため、カメラの較正に誤差があっても、正しい瞳孔対を検出できるようにすることは有益である。

【0207】
さらに、瞳孔間距離は、対象者の両眼の輻輳角によっても変化する。したがって、瞳孔間距離は常に一定の値をとるものではない。一例として、対象者がディスプレイを見ており、このディスプレイにカメラが取り付けられている場合を想定する。この場合に、対象者の顔がディスプレイに近い場合には、対象者の両眼が内側に寄るため、瞳孔間距離は短くなる。一方、対象者の顔がディスプレイから遠い場合には、対象者の両眼の視軸が平行に近づくため、瞳孔間距離は長くなる。

【0208】
このため、カメラと対象者の頭部との距離に応じて瞳孔間距離を正しく計算することが望ましい。しかしながら、対象者が眼鏡を使用している場合、対象者の眼鏡反射像を誤って瞳孔像として検出してしまうことがあり、これにより瞳孔間距離を正しく計算することが困難となる場合がある。そこで、仮に瞳孔対を誤検出することがあっても、正しい瞳孔間距離を求めることができる方法について次に述べる。

【0209】
この方法では、撮像された最新の画像に基づいて瞳孔間距離を計算することを常時継続し、求められた瞳孔間距離の度数分布(ヒストグラム)を作成し、この度数分布を随時更新しながら、度数分布のピークに相当する瞳孔間距離の値(すなわち瞳孔間距離の最頻値(モード))を、最終的な瞳孔間距離の値として決定する。最新の画像に基づいて計算される瞳孔間距離は、誤ったものであってもよい。瞳孔間距離の分解能(すなわち度数分布の各区間の幅)は、例えば0.1mmとすることができる。度数分布の度数の合計は、例えば50とする。すなわち、常時、最近の50フレームの画像のそれぞれに基づく瞳孔間距離の値を計算し、計算された50個の瞳孔間距離の値によりヒストグラムを作成する。この場合、最近の50フレームのうち、何らかの理由で(例えば対象者が瞬きをしたことにより瞳孔像を検出できない場合を含む)瞳孔間距離が計算できないフレームがある場合には、最近の50フレーム分の時間に相当する期間のうち、瞳孔間距離が計算可能なフレームで計算された瞳孔間距離のみに基づいてヒストグラムを作成し、このヒストグラムで度数のピークを示す瞳孔間距離を、最終的な瞳孔間距離として決定することが好ましい。最近の50フレーム分の時間に相当する期間から時間をさかのぼって、瞳孔間距離の値が計算可能であった50個のフレームに基づいて瞳孔間距離を計算して、計算された瞳孔間距離の値に基づいてヒストグラムを作成することも考えられる。しかしながら、対象者の頭部が移動する状況下では、古い時刻のフレームで計算される瞳孔間距離の値は信頼性が低い。このため、最近の50フレーム分の時間のみの画像を用いて瞳孔間距離のヒストグラムを作成することがより好ましい。

【0210】
このようにヒストグラムを利用して瞳孔間距離を決定する方法の利点は、一部の時刻の画像に基づいて誤った瞳孔間距離が計算されたとしても、ヒストグラムを作成して最頻値を採用することにより、誤った瞳孔間距離の値に影響を受けることが非常に少ないという点である。なお、最頻値に代えて、ヒストグラムの度数を瞳孔間距離の最小値又は最大値のいずれかの側から順番に加算し、加算結果が全体の度数の50%になる値(すなわち瞳孔間距離の中央値(メジアン))を最終的な瞳孔間距離として選択するようにしてもよい。

【0211】
ここで、上述した実施形態において、第5ステップは、第1画像及び第2画像に基づいて、第1画像内候補点のうち1点及び第2画像内候補点のうち1点からなる組み合わせから、ステレオマッチングにより3次元座標を算出する第10ステップと、算出された3次元座標の値が所定の範囲にない場合に、組み合わせを、3次元座標における同一の点に対応しないものとして除外する第11ステップと、を含むこととしてもよい。

【0212】
また、第5ステップは、第1画像における第1画像内候補点の座標に基づいて、第1画像内候補点と第1カメラとを結ぶ第1直線を決定する第12ステップと、第2画像における第2画像内候補点の座標に基づいて、第2画像内候補点と第2カメラとを結ぶ第2直線を決定する第13ステップと、第1直線と第2直線との共通垂線を決定する第14ステップと、共通垂線の長さが所定の閾値より小さく、かつ共通垂線の中点の3次元座標の値が所定の範囲内にない場合に、組み合わせを、3次元座標における同一の点に対応しないものとして除外する第15ステップと、を有することとしてもよい。

【0213】
また、本発明の瞳孔検出方法において、少なくとも3個のカメラによって対象者の顔を撮影する第16ステップと、少なくとも3個のカメラの中から、少なくとも2組の第1カメラ及び第2カメラの組を選択する第17ステップと、選択された第1カメラ及び第2カメラの組のそれぞれを用いて、上記のいずれかの瞳孔検出方法により対象者の瞳孔を検出する第18ステップと、を備えることとしてもよい。

【0214】
また、上記の瞳孔検出方法により、複数人の瞳孔対を検出することとしてもよい。

【0215】
また、本発明の瞳孔検出方法において、少なくとも3個のカメラのうち2個のカメラの組み合わせであるカメラペアを少なくとも3組決定するステップと、決定された少なくとも3組のカメラペアのそれぞれについて、カメラペアの一方のカメラを第1カメラとし、カメラペアの他方のカメラを第2のカメラとして、上記の瞳孔検出方法により対象者の瞳孔の対を瞳孔対の候補として決定するステップと、少なくとも3組のカメラペアにより決定された瞳孔対の候補のそれぞれについて、瞳孔対の候補の一方と他方とを結ぶ方向ベクトルを求めるステップと、一のカメラペアにより決定された瞳孔対の候補について求められた方向ベクトルの向きが、他の複数のカメラペアで決定された瞳孔対の候補について求められた方向ベクトルの向きと所定の閾値以上の角度をなす場合に、一のカメラペアにより決定された瞳孔対の候補を除去するステップと、除去するステップにより除去されずに残った対象者の瞳孔対の候補について座標の平均値をとり、平均値を最終的な瞳孔の位置として決定するステップと、を備えていてもよい。

【0216】
また、上述した実施形態の瞳孔追尾方法において、上記のいずれかの瞳孔検出方法により一対の瞳孔対を検出する第33ステップと、第33ステップが実行された後の一の時刻に、第1カメラ及び第2カメラの両方により対象者の第1の瞳孔を検出するとともに、第1カメラ又は第2カメラのいずれか一方のカメラにより対象者の第2の瞳孔を検出する第34ステップと、第1カメラ及び第2カメラのそれぞれにおける第1の瞳孔の画像内座標に基づいて第1の瞳孔の3次元座標を計算する第35ステップと、一方のカメラにより取得した第2の瞳孔の画像内座標に基づいて、一方のカメラ及び第2の瞳孔を通る直線を計算する第36ステップと、計算された直線上に存在し、かつ第1の瞳孔との3次元空間における距離が、瞳孔間距離に基づいて与えられる所定の値となる点を、対象者の第2の瞳孔として決定する第37ステップと、を備えていてもよい。

【0217】
また、上記の瞳孔追尾方法において、上記のいずれかの瞳孔検出方法により、対象者の一対の瞳孔対を検出する第38ステップと、第1カメラ及び第2カメラのそれぞれによって対象者の顔を撮影して画像を取得する第39ステップと、第38ステップが実行された後の第1の時刻、及び第1の時刻より後の第2の時刻における対象者の一対の瞳孔対を検出する第40ステップと、第1の時刻及び第2の時刻において検出された一対の瞳孔対の絶対位置及び相対位置を計算する第41ステップと、計算された第1の時刻及び第2の時刻における一対の瞳孔対の絶対位置及び相対位置に基づいて、第2の時刻より後の第3の時刻における一対の瞳孔対の絶対位置及び相対位置を推定する第42ステップと、推定された第3の時刻における一対の瞳孔対の絶対位置及び相対位置に基づいて、第3の時刻における一対の瞳孔対の各々の瞳孔の3次元座標を推定する第43ステップと、第3の時刻に、第1カメラ又は第2カメラのいずれか一方のカメラにより対象者の第1の瞳孔を検出するとともに、一方のカメラと異なる他方のカメラにより対象者の第2の瞳孔を検出する第44ステップと、第3の時刻に一方のカメラにより検出した第1の瞳孔の画像内座標に基づいて、一方のカメラ及び第1の瞳孔を通る第3直線を計算する第45ステップと、第2の時刻に他方のカメラにより検出した第2の瞳孔の画像内座標に基づいて、他方のカメラ及び第2の瞳孔を通る第4直線を計算する第46ステップと、第1の時刻における第1の瞳孔と第2の瞳孔とを結ぶ第5直線を計算する第47ステップと、第3直線と第5直線との両方に接近する接近点を、第2の時刻における第1の瞳孔として決定する第48ステップと、第4直線と第5直線との両方に接近する接近点を、第2の時刻における第2の瞳孔として決定する第49ステップと、を備えていてもよい。

【0218】
また、上記の瞳孔追尾方法において、上記のいずれかの瞳孔検出方法により一対の瞳孔対を検出する第50ステップと、第1カメラ及び第2カメラのそれぞれによって対象者の顔を撮影して画像を取得する第51ステップと、第50ステップが実行された後の第1の時刻における対象者の一対の瞳孔対のそれぞれの3次元座標を取得する第52ステップと、第1の時刻における一対の瞳孔対の相対位置を計算する第53ステップと、第1の時刻より後の第2の時刻において、対象者の第1の瞳孔又は第2の瞳孔のいずれか一方を第1カメラ及び第2カメラのいずれによっても検出できなかった場合に、第1カメラ及び第2カメラのそれぞれにおける一方と異なる他方の瞳孔の画像内座標に基づいて第2の時刻における他方の瞳孔の3次元座標を計算する第54ステップと、第53ステップで計算した第1の時刻における一対の瞳孔対の相対位置及び第54ステップで計算した第2の時刻における他方の瞳孔の3次元座標に基づいて第2の時刻における一方の瞳孔の3次元座標を計算する第55ステップと、を備えていてもよい。

【0219】
また、上記のいずれかの瞳孔検出方法により一対の瞳孔対を検出する第56ステップと、第56ステップが実行された後の一の時刻に第1カメラ及び第2カメラのそれぞれによって対象者の顔を撮影して画像を取得する第57ステップと、第57ステップにおいて取得した画像から対象者の角膜反射の候補となる画像内角膜反射候補点を抽出する第58ステップと、第58ステップにおいて取得した画像内角膜反射候補点に基づいて対象者の左右の角膜球中心の3次元座標を計算する第59ステップと、第59ステップにおいて計算された対象者の左右の角膜球中心の3次元座標の位置に基づいて、第1カメラ及び第2カメラのそれぞれによって取得された画像内に小領域を設定する第60ステップと、第60ステップにおいて設定された小領域において所定の画像処理により瞳孔の位置を決定して、瞳孔の画像内座標を算出する第61ステップと、を備えていてもよい。
【産業上の利用可能性】
【0220】
本発明は、瞳孔検出方法、角膜反射検出方法、顔姿勢検出方法および瞳孔追尾方法を使用用途とし、ユーザの頭部の回転状態及びカメラ位置に制約を与えることなく、ロバスト性及び精度を向上させることができる。
【符号の説明】
【0221】
1…画像処理装置、2A…左カメラ、2B…右カメラ、3,3a,3b,3c,3d…光源、10…瞳孔検出装置。
Drawing
(In Japanese)【図1】
0
(In Japanese)【図2】
1
(In Japanese)【図3】
2
(In Japanese)【図5】
3
(In Japanese)【図6】
4
(In Japanese)【図7】
5
(In Japanese)【図8】
6
(In Japanese)【図12】
7
(In Japanese)【図13】
8
(In Japanese)【図15】
9
(In Japanese)【図16】
10
(In Japanese)【図17】
11
(In Japanese)【図18】
12
(In Japanese)【図19】
13
(In Japanese)【図20】
14
(In Japanese)【図21】
15
(In Japanese)【図22】
16
(In Japanese)【図23】
17
(In Japanese)【図24】
18
(In Japanese)【図25】
19
(In Japanese)【図27】
20
(In Japanese)【図28】
21
(In Japanese)【図4】
22
(In Japanese)【図9】
23
(In Japanese)【図10】
24
(In Japanese)【図11】
25
(In Japanese)【図14】
26
(In Japanese)【図26】
27