(57)【要約】【課題】外乱の多い環境下でも少ない計算量でノイズとなる不要な特徴の悪影響を回避し、瞳孔または虹彩だけを高精度に検出することが可能な画像処理装置を提供すること。【解決手段】瞳孔または虹彩の詳細な位置を検出するパーティクルフィルタが処理対象とするエッジ画像を生成する際に階調の勾配の大きさ及び正負の符号を保持する。３次元モデルの表面位置に割り当てたサンプリング曲線が前記エッジ画像に投影された状態で、前記サンプリング曲線を構成する複数点それぞれに対応する前記エッジ画像中の位置毎に前記勾配の大きさ及び正負をサンプリングする。前記サンプリング曲線を構成する複数点のうち、瞳孔または虹彩の右端側境界を検知する第１の点群と左端側境界を検知する第２の点群では、尤度評価の対象とするサンプリング値の正負が異なるように処理する。尤度が最大となる前記サンプリング曲線を瞳孔または虹彩として検出する。【選択図】図９
2018088236.tif 000002
【特許請求の範囲】
【請求項１】
顔を含むように撮影された顔画像に対してデータ処理を行うデータ処理部を備える画像処理装置であって、
前記データ処理部は、
ある走査方向にてエッジを検出するフィルタ処理を前記顔画像に施して、勾配の大きさ及び正負が情報として保持されたエッジ画像を生成し、
３次元モデルの表面に仮想的に位置する、円弧状の曲線を含むサンプリング曲線が、前記エッジ画像に投影された状態において、前記サンプリング曲線を構成する複数点それぞれに対応する前記エッジ画像中の位置ごとに、前記勾配の大きさ及び正負をサンプリング値として抽出し、
前記サンプリング曲線を構成する複数点のうちの前記走査方向の前方側に位置する第１の点群においては、前記勾配が正であるものを尤度評価の対象とし、前記サンプリング曲線を構成する複数点のうちの前記走査方向の後方側に位置する第２の点群においては、前記勾配が負であるものを尤度評価の対象として、前記サンプリング曲線に対する尤度を算出し、
複数の前記サンプリング曲線のうち、尤度が最大となる前記サンプリング曲線を瞳孔または虹彩として検出する、
画像処理装置。
【請求項２】
前記データ処理部が前記フィルタ処理によってエッジを検出する前記走査方向は、前記顔画像における目が並ぶ方向である、
請求項１に記載の画像処理装置。
【請求項３】
前記サンプリング曲線は円弧形状であって、最も膨らんだ円弧の底が前記３次元モデルにおける下方を向いた状態で前記エッジ画像に投影される、
請求項２に記載の画像処理装置。
【請求項４】
前記データ処理部は、前記第１の点群においては前記勾配が正である点の前記勾配の大きさを加算し、前記第２の点群においては前記勾配が負である点の前記勾配の大きさを加算することにより、前記サンプリング曲線に対する尤度を算出する、
請求項１に記載の画像処理装置。
【請求項５】
顔を含むように撮影された顔画像に対してデータ処理を行うデータ処理部を備える画像処理方法であって、
前記顔画像に対してある走査方向にてエッジを検出するフィルタによって、勾配の大きさ及び正負が情報として保持されたエッジ画像を生成するステップと、
３次元モデルの表面に仮想的に位置する、円弧状の曲線を含むサンプリング曲線が、前記エッジ画像に投影された状態において、前記サンプリング曲線を構成する複数点それぞれに対応する前記エッジ画像中の位置ごとに、前記勾配の大きさ及び正負をサンプリング値として抽出するステップと、
前記サンプリング曲線を構成する複数点のうちの前記走査方向の前方側に位置する第１の点群においては、前記勾配が正であるものを尤度評価の対象とし、前記サンプリング曲線を構成する複数点のうちの前記走査方向の後方側に位置する第２の点群においては、前記勾配が負であることを尤度評価の対象として、前記サンプリング曲線に対する尤度を算出するステップと、
複数の前記サンプリング曲線のうち、尤度が最大となる前記サンプリング曲線を瞳孔または虹彩として検出するステップと、
を有する画像処理方法。
【請求項６】
コンピュータに、請求項５に記載の画像処理方法の各ステップを実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関し、特に、人の顔などを撮影した画像に基づき目の特徴である視線などを推定するために利用可能な技術に関する。
【背景技術】
【０００２】
従来より、人物の顔をカメラで撮影して得た画像のデータを処理して目の特徴を特定する画像処理装置が知られている（例えば特許文献１）。特許文献１の技術は、正確に瞳の領域を検出することを目的としている。
【０００３】
また、特許文献１に示された画像処理装置においては、顔画像の目がある目領域を、少なくとも目における縦方向に微分して輝度勾配を求める第２微分部４１と、目領域について、輝度勾配を２値化しエッジ点を抽出する２値化部４２と、目頭点および目尻点を両端点とし、該両端点と制御点とによって表現される曲線であって、かつ、上記エッジ点に適合する曲線を、上瞼または下瞼の輪郭を表す曲線として特定する瞼輪郭特定部４４とを備えている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１９０３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
人の顔を撮影した動画から、画像処理によりその人の視線を推定するような装置においては、画像中から黒目、すなわち虹彩の領域または瞳孔の領域の中心座標を高精度に検出できることが望ましい。
【０００６】
例えば、特許文献１に示された画像処理における黒目検出手法では、画像中のエッジを検出特徴として用いている。具体的にはソーベル（Sobel）フィルタに代表される微分フィルタを利用し、このフィルタ処理の結果の絶対値を特徴量として用いている。
【０００７】
しかし、このような手法では、瞼や眉、眼球に映りこんだ光の反射など、検出対象以外のオブジェクトに対しても一様にエッジを生成するため、検出精度の低下や、誤検出を引き起こす場合がある。そして、黒目の検出位置がずれると、視線を推定する際に誤差が発生する。
【０００８】
また、特許文献１の技術ではハフ変換を用いているので、高精度化する際には処理量増加が避けられず、コンピュータのハードウェアに高い処理能力が要求される。また、画像に対して２値化や３値化の処理を行う場合には、閾値が問題となり、撮影時の環境光の影響を受けやすい。また、楕円検出のアルゴリズムを用いる場合には、例えば目が横を向き、二次元画像上での黒目の形状が大きくつぶれた状態になると、検出自体が困難になる。
【０００９】
本発明は、上述した事情に鑑みてなされたものであり、その目的は、瞳孔または虹彩を高精度に検出することが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
前述した目的を達成するために、本発明に係る画像処理装置は、下記（１）〜（４）を特徴としている。
（１）  顔を含むように撮影された顔画像に対してデータ処理を行うデータ処理部を備える画像処理装置であって、
前記データ処理部は、
ある走査方向にてエッジを検出するフィルタ処理を前記顔画像に施して、勾配の大きさ及び正負が情報として保持されたエッジ画像を生成し、
３次元モデルの表面に仮想的に位置する、円弧状の曲線を含むサンプリング曲線が、前記エッジ画像に投影された状態において、前記サンプリング曲線を構成する複数点それぞれに対応する前記エッジ画像中の位置ごとに、前記勾配の大きさ及び正負をサンプリング値として抽出し、
前記サンプリング曲線を構成する複数点のうちの前記走査方向の前方側に位置する第１の点群においては、前記勾配が正であるものを尤度評価の対象とし、前記サンプリング曲線を構成する複数点のうちの前記走査方向の後方側に位置する第２の点群においては、前記勾配が負であるものを尤度評価の対象として、前記サンプリング曲線に対する尤度を算出し、
複数の前記サンプリング曲線のうち、尤度が最大となる前記サンプリング曲線を瞳孔または虹彩として検出する。
（２）  前記データ処理部が前記フィルタ処理によってエッジを検出する前記走査方向は、前記顔画像における目が並ぶ方向である、上記（１）に記載の画像処理装置。
（３）  前記サンプリング曲線は円弧形状であって、最も膨らんだ円弧の底が前記３次元モデルにおける下方を向いた状態で前記エッジ画像に投影される、上記（２）に記載の画像処理装置。
（４）  前記データ処理部は、前記第１の点群においては前記勾配が正である点の前記勾配の大きさを加算し、前記第２の点群においては前記勾配が負である点の前記勾配の大きさを加算することにより、前記サンプリング曲線に対する尤度を算出する、上記（１）に記載の画像処理装置。
【００１１】
上記（１）の構成の画像処理装置によれば、外乱の多い環境下であっても、少ない計算量で、ノイズとなる不要な特徴の悪影響を回避し、瞳孔または虹彩を高精度に検出することが可能になる。画像認識においてエッジ情報を利用する場合には、絶対値を用いて符号を取り除くことが一般的である。しかし、検出対象が瞳孔または虹彩である場合に限定すれば、周辺のノイズ（光の映り込み等）と検出対象の瞳孔または虹彩とを分離するために、画像中の各エッジにおける勾配の大きさだけでなく正負の違いを利用することで検出精度を上げることができる。例えば、眼球の画像領域を左から右に向かって順次に走査する場合に、白目と虹彩との境界における虹彩の右側輪郭位置、または虹彩と瞳孔との境界における瞳孔の右側輪郭位置では、前記第１の点群において前記勾配が正である点が多くなり、虹彩の左側輪郭位置、または瞳孔の左側輪郭位置では、前記第２の点群において前記勾配が負である点が多くなる。したがって、前記サンプリング曲線の位置が瞳孔または虹彩の輪郭位置と一致する状態で、尤度が最大になる。こうして、瞳孔または虹彩を高精度に検出することが可能になる。
上記（２）の構成の画像処理装置によれば、虹彩の位置を高精度で認識するために必要な情報を効率よく取得できる。エッジを検出する前記走査方向を目の上下方向にする場合を想定すると、虹彩の輪郭と隣接する境界が上まぶた、又は下まぶたになる場合がある。また、まぶたは環境光や化粧の影響を受けて変化しやすいので、虹彩との境界をエッジ画像上で検出することが困難になる。しかし、エッジを検出する前記走査方向を前記顔画像における目が並ぶ方向、例えば水平方向に定めることで、上まぶた、下まぶたの影響はほとんどなくなる。このため、虹彩の検出精度が向上する。
上記（３）の構成の画像処理装置によれば、虹彩の位置を高精度で認識するために必要な情報を効率よく取得できる。一般的な顔画像では、目の領域において、虹彩の上端部が上まぶたと隣接していたり、上まぶたで虹彩の一部分が覆われているような場合が多いため、虹彩の上端側の輪郭は検出しにくい。一方、虹彩の左右側方および下端部については、白目との境界が明確に現れる場合が多いので、虹彩の輪郭を検出しやすい。したがって、最も膨らんだ円弧の底が下方を向いた状態の円弧形状を採用することにより、虹彩の輪郭部位の検出が容易になる。
上記（４）の構成の画像処理装置によれば、走査方向において虹彩から白目に切り替わる境界または瞳孔から虹彩に切り替わる境界のエッジの特徴を前記勾配が正である点の前記勾配の大きさとして検出し、走査方向において白目から虹彩に切り替わる境界または虹彩から瞳孔に切り替わる境界のエッジの特徴を前記勾配が負である点の前記勾配の大きさとして検出し、これらの特徴に基づき尤度を算出できる。
【００１２】
前述した目的を達成するために、本発明に係る画像処理方法は、下記（５）を特徴としている。
（５）  顔を含むように撮影された顔画像に対してデータ処理を行うデータ処理部を備える画像処理方法であって、
前記顔画像に対してある走査方向にてエッジを検出するフィルタによって、勾配の大きさ及び正負が情報として保持されたエッジ画像を生成するステップと、
３次元モデルの表面に仮想的に位置する、円弧状の曲線を含むサンプリング曲線が、前記エッジ画像に投影された状態において、前記サンプリング曲線を構成する複数点それぞれに対応する前記エッジ画像中の位置ごとに、前記勾配の大きさ及び正負をサンプリング値として抽出するステップと、
前記サンプリング曲線を構成する複数点のうちの前記走査方向の前方側に位置する第１の点群においては、前記勾配が正であるものを尤度評価の対象とし、前記サンプリング曲線を構成する複数点のうちの前記走査方向の後方側に位置する第２の点群においては、前記勾配が負であることを尤度評価の対象として、前記サンプリング曲線に対する尤度を算出するステップと、
複数の前記サンプリング曲線のうち、尤度が最大となる前記サンプリング曲線を瞳孔または虹彩として検出するステップと、
を有する。
【００１３】
上記（５）の構成の画像処理方法によれば、上記（１）の画像処理装置の場合と同様に、外乱の多い環境下であっても、少ない計算量で、ノイズとなる不要な特徴の悪影響を回避し、瞳孔または虹彩を高精度に検出することが可能になる。
【００１４】
前述した目的を達成するために、本発明に係る画像処理プログラムは、下記（６）を特徴としている。
（６）  コンピュータに、上記（５）に記載の画像処理方法の各ステップを実行させるための画像処理プログラム。
【００１５】
上記（６）の構成の画像処理プログラムによれば、この画像処理プログラムを所定のコンピュータで実行することにより、上記（１）の画像処理装置の場合と同様に、外乱の多い環境下であっても、少ない計算量で、ノイズとなる不要な特徴の悪影響を回避し、瞳孔または虹彩を高精度に検出することが可能になる。
【発明の効果】
【００１６】
本発明の画像処理装置、画像処理方法および画像処理プログラムによれば、瞳孔または虹彩を高精度に検出することが可能になる。本発明は、検出誤差の原因になる外乱の多い環境下であっても、少ない計算量で、ノイズとなる不要な特徴の悪影響を回避することができるため、有用である。
【００１７】
以上、本発明について簡潔に説明した。更に、以下に説明される発明を実施するための形態（以下、「実施形態」という。）を添付の図面を参照して通読することにより、本発明の詳細は更に明確化されるであろう。
【図面の簡単な説明】
【００１８】
【図１】図１は、車両に搭載した画像処理装置の配置状態の具体例を示す斜視図である。
【図２】図２は、本発明に係る実施形態の画像処理装置が実施する視線検出アルゴリズムの概要を示すフローチャートである。
【図３】図３は、眼球の三次元モデルおよび二次元画像の関係を示す模式図である。
【図４】図４は従来の視線検出アルゴリズムにおける、画像から虹彩を探索する処理の流れおよびデータの具体例である。
【図５】図５は、図２に示したステップＳ１８の詳細を示すフローチャートである。
【図６】図６は、図５に示した処理を実行する場合の処理データの具体例を示す模式図である。
【図７】図７は、従来の視線検出アルゴリズムによって虹彩の検出位置ずれが発生する過程を説明する図である。
【図８】図８（ａ）は、画像のエッジを検出するソーベルフィルタの走査方向と、処理前後の各データの状態の例を示す図であり、図８（ｂ）は、処理後のエッジ画像のデータの例を示す図である。
【図９】図９は、図５に示したステップＳ１８ｄに関する詳細な内容を示すフローチャートである。
【図１０】図１０は、虹彩を検出するために用いるパーティクルフィルタのパターン形状の具体例を示す模式図である。
【図１１】図１１（ａ）、（ｂ）は、図９に示した処理を実行する場合の処理データの具体例を示す模式図である。
【図１２】図１２は、第２実施形態におけるパーティクルフィルタのパターン形状を示す模式図である。
【図１３】図１３（ａ）、（ｂ）は、図１２のパーティクルフィルタのパターン形状を適用した場合の処理データの具体例を示す模式図である。
【図１４】図１４は、本発明の適用の有無と検出誤差との関係の例を表すグラフである。
【図１５】図１５は、第３実施形態におけるパーティクルフィルタのパターン形状を示す模式図である。
【図１６】図１６（ａ）、（ｂ）は、図１５のパーティクルフィルタのパターン形状を適用した場合の処理データの具体例を示す模式図である。
【発明を実施するための形態】
【００１９】
本発明の画像処理装置、画像処理方法および画像処理プログラムに関する具体的な実施の形態について、各図を参照しながら以下に説明する。
【００２０】
＜本発明が適用される環境の具体例＞
車両に搭載した画像処理装置の配置状態の具体例を図１に示す。
図１に示した例では、車両の車室内１０にカメラ１２および処理部１３が設置されている。具体的には、運転席に着座している人物１１、すなわち運転者の目の領域１１ａを含む顔などをカメラ１２で撮影できるように、運転席前方のメータユニット内、あるいはコラムカバーの箇所にカメラ１２が設置されている。
【００２１】
処理部１３は、カメラ１２が人物１１の顔を撮影した得られる二次元画像データを処理して、目の領域１１ａのデータから視線１１ｂの方向を示す情報を推定する。処理部１３が推定した視線１１ｂの情報は、代表例として、車両を運転する運転者が安全確認のための視線移動をしているかどうかを車載装置が認識するために利用できる。勿論、このような視線の情報は様々な用途に利用可能である。したがって、本発明の画像処理装置は、例えば図１中の処理部１３、あるいはその一部として構成することが想定される。
【００２２】
＜視線検出アルゴリズムの概要＞
本発明に係る実施形態の画像処理装置が実施する視線検出アルゴリズムの概要を説明する。図２は、本発明に係る実施形態の画像処理装置が実施する視線検出アルゴリズムの概要を示すフローチャートである。画像処理装置のコンピュータが所定のプログラムを実行することにより、図２に示した視線検出アルゴリズムに従った動作が順次に行われる。
【００２３】
カメラ１２は、人物１１の顔を含む領域の映像を一定の周期で常時撮影し、映像の信号を出力する。画像処理装置のコンピュータは、ステップＳ１２でカメラ１２から映像の信号を１フレーム分取り込む。
【００２４】
そして次のステップＳ１３で、グレースケール化を含む、画像のデータ形式の変換、すなわち「下処理」を行う。例えば、１フレーム内の各画素位置毎に、輝度を「０〜２５５」の範囲の階調で表す８ビットデータを、撮影時のフレーム内走査方向に合わせて縦方向及び横方向に並べた二次元（２Ｄ）配列の画像データを生成する。
【００２５】
次のステップＳ１４では、例えば「Viola-Jones法」を用いて顔検出を行い、１フレームの二次元画像データの中から顔を含む領域を矩形の領域として抽出する。すなわち、顔の陰影差を特徴とし「Boosting」を用いた学習によって作成された検出器を使って顔の領域を抽出する。「Viola-Jones法」の技術は、例えば以下の文献に示されている。
「P.viola and M.J.Jones,"Rapid Object Detection Using a Boosted Cascade of Simple Features," IEEE CVPR(2001).」
【００２６】
次のステップＳ１５では、Ｓ１４で抽出した顔の矩形領域のデータの中から、例えば「Viola-Jones法」を用いて目の領域を検出する。
【００２７】
また、本実施形態では後述する眼球３Ｄモデルを用いるモデルベース手法によって視線を検出する場合を想定しているので、眼球中心を特定する必要がある。この眼球中心をステップＳ１６で推定する。ここでは、ステップＳ１５で検出した目の矩形領域の中心座標を眼球中心と仮定する。なお、例えば目尻、目頭位置に基づき眼球中心を決定する方法や、顔の特徴点より骨格を推定し同時に眼球中心位置を算出する方法を利用することも想定される。
【００２８】
ステップＳ１７では、Ｓ１５で検出した目の矩形領域のデータについて、テンプレートマッチングの手法を適用して、瞳孔または虹彩の粗探索を行う。具体的には、目周辺を切り出した目画像を二値化した画像に対して、テンプレートとして黒丸画像をマッチングさせて最も尤度の大きかった黒丸画像の画像中心（黒丸の中心）の座標を目画像中の瞳孔または虹彩の中心位置とし、最も尤度の大きかった黒丸画像の半径を目画像中の瞳孔または虹彩の半径とする。なお、ステップＳ１７の処理は、目画像中の瞳孔または虹彩の中心位置及び半径に関しておおよその目処をつけるために行うものである。
【００２９】
ステップＳ１８では、Ｓ１７で探索した瞳孔または虹彩の中心位置及び半径を利用し、パーティクルフィルタの手法を適用して、より精度の高い瞳孔または虹彩の中心位置及び半径を検出する。ステップＳ１８には本発明の特徴的な処理が含まれているので、この内容については後で詳細に説明する。
【００３０】
ステップＳ１３〜Ｓ１８の処理により、１フレームの画像について、眼球中心座標や瞳孔または虹彩の中心位置の座標のデータが得られるので、その数値データをステップＳ１９で出力する。眼球中心座標および瞳孔または虹彩の中心位置の座標により視線の方向を特定できる。また、カメラ１２が出力する映像が途切れるまで、ステップＳ１１〜Ｓ２０のループ状の処理を繰り返すことで、リアルタイムでの視線検出を実現する。
【００３１】
＜眼球３Ｄモデルの説明＞
眼球の３Ｄ（三次元）モデルおよび２Ｄ（二次元）画像の関係を図３に示す。
図３に示した眼球３Ｄモデル３０において、この眼球は眼球中心３１と、半径Ｒとで表される球体である。また、この眼球の表面に円形形状の虹彩３２があり、虹彩３２の中央に円形形状の瞳孔３３がある。
【００３２】
したがって、視線の方向は、眼球中心３１から虹彩３２または瞳孔３３の中央に向かう方向として特定でき、水平面内の基準方向に対する回転角度ヨー（yaw） 、および上下方向の基準方向に対する回転角度ピッチ（pitch）により表すことができる。また、虹彩３２または瞳孔３３の中心座標は、眼球中心３１を基準とした場合、眼球半径Ｒ、ヨー（yaw）、およびピッチ（pitch）により表すことができる。
【００３３】
一方、カメラ１２が撮影する映像は特定の２次元平面を表している。したがって、カメラ１２の撮影で得た二次元画像３４を眼球３Ｄモデル３０に適用する場合には、二次元／三次元の相互変換を行う必要がある。そこで、例えば次の計算式を用いて変換する。
【００３４】
Ｘ＝−Ｒ×ｃｏｓ（ｐｉｔｃｈ）×ｓｉｎ（ｙａｗ）    ・・・（１）
Ｙ＝Ｒ×ｓｉｎ（ｐｉｔｃｈ）                         ・・・（２）
Ｘ：二次元画像平面上での眼球中心３１からのｘ方向の距離
Ｙ：二次元画像平面上での眼球中心３１からのｙ方向の距離
【００３５】
＜画像から虹彩を探索する処理の具体例＞
以降では、まず、画像から虹彩を探索する処理の具体例を説明する。
【００３６】
＜従来の視線検出アルゴリズムの処理の説明＞
＜処理の流れ＞
本発明に係る実施形態の画像処理装置が実施する視線検出アルゴリズムの詳細を説明するに先立ち、従来の視線検出アルゴリズムの詳細についてまず説明する。図４は、従来の視線検出アルゴリズムにおける、画像から虹彩を探索する処理の流れおよびデータの具体例である。
図４のステップＳ４１では、図２中のステップＳ１５の結果を利用して、１フレーム全体の二次元画像データの中から目およびその周辺の矩形領域を切り出して、データＤ４１を取得する。
【００３７】
図４のステップＳ４２では、Ｓ４１で取得したデータＤ４１を画素毎の階調が黒／白の二値のみになるように二値化したデータＤ４２を生成した後で、このデータＤ４２に対して図２のステップＳ１７のテンプレートマッチングを実施する。すなわち、虹彩の形状に似た黒丸形状の画像Ｄ４ｔをテンプレートとして利用し、このテンプレートをデータＤ４２の画像上で走査しながら、特徴が尤も似ているおおよその虹彩の位置Ｐ４１を探索し、その位置および虹彩の半径または直径を特定する。
【００３８】
また、図４のステップＳ４３では、Ｓ４１で取得した目のデータＤ４１に対してソーベルフィルタの処理を施す。具体的には、目のデータＤ４１を左から右に向かって水平方向に順次に走査し、輝度変化のない部分では黒（階調値：０）を出力し、輝度変化の勾配が大きいほど白（階調値：２５５）に近づくようにして、エッジを検出する。これにより、エッジを抽出した目画像のデータＤ４３が得られる。
【００３９】
図４のステップＳ４４では、Ｓ４２の結果得られたおおよその虹彩の位置を起点として、Ｓ４３の結果得られた目画像のデータＤ４３に対してパーティクルフィルタの処理を実行する。
【００４０】
＜パーティクルフィルタによる虹彩検出の処理＞
図４に示したステップＳ４４の詳細を図５に示す。すなわち、パーティクルフィルタを用いて虹彩位置を検出するための処理が図５に示されている。また、図５に示した処理を実行する場合の処理データの具体例を図６に示す。
【００４１】
図６中の二値化したデータＤ９１に対してステップＳ４２の粗探索を実行することにより、円形の虹彩の領域９１が検出される。図５のステップＳ１８ａでは、ステップＳ１７またはＳ４２の粗探索で得られた虹彩の中心位置を、第（１）式および第（２）式に基づき眼球３Ｄモデル３０の座標系（Ｒ、Ｐｐ、Ｐｙ）に変換し、虹彩の中心位置を表す眼球回転角（Ｐｐ、Ｐｙ）を得る。
Ｒ：眼球半径
Ｐｐ：回転角ｐｉｔｃｈを表す変数
Ｐｙ：回転角ｙａｗ表す変数
【００４２】
したがって、粗探索で得た円形の虹彩の領域９２の位置を、図６に示すように眼球３Ｄモデル３０Ａ上の眼球表面位置に反映することができる。
【００４３】
図５のステップＳ１８ｂでは、実際の虹彩位置の候補を見つけるために必要な複数のパーティクルを粗探索で得た虹彩の中心位置（Ｐｐ、Ｐｙ）の近傍に散布する。具体的には、乱数を用いて、例えば１００セットのサンプリング円９３を作成する。これらのサンプリング円９３は、図６に示すように眼球３Ｄモデル３０Ｂ上の眼球表面位置に反映することができる。各々のサンプリング円９３は、虹彩の中心位置（Ｐｐ、Ｐｙ）に、それぞれ異なる乱数成分（Ｐpd、Ｐyd）を加算した位置を中心とする円形の領域である。
Ｐpd：回転角ｐｉｔｃｈに加算される乱数成分
Ｐyd：回転角ｙａｗに加算される乱数成分
【００４４】
１００セットのサンプリング円９３を作成する際には、正規分布に従ってランダムノイズを加えるように各乱数成分（Ｐpd、Ｐyd）を生成する。したがって、図６に示した眼球３Ｄモデル３０Ｂのように、虹彩の領域９２の近傍の様々な位置に、サンプリング円９３がランダムに形成される。
【００４５】
図５のステップＳ１８ｃでは、１００セットのサンプリング円９３のそれぞれを、図６に示したエッジ画像Ｄ９２（図４中のデータＤ４３に相当）の平面に投影する。なお、虹彩の領域９２や各サンプリング円９３の形状は円形であるが、各円の位置がカメラ１２の正面を向いている状態でない限り、眼球３Ｄモデル３０上の各円を二次元画像の平面に投影すると、傾斜した状態で投影されるため、二次元平面上では楕円形になる。そのため、便宜上、二次元平面上に投影されたサンプリング円９３をサンプリング楕円９４と称する。サンプリング楕円９４は、弧上の各位置に均等に割り当てられた複数点によって構成されている。
【００４６】
図５のステップＳ１８ｄでは、次に説明する「サンプリング処理」を実施する。すなわち、サンプリング楕円９４毎に、楕円を構成する各点（この例では総数が１２０点）のエッジ画像のエッジ強度（勾配の大きさ）を足し合わせ、その結果を一つのサンプリング楕円９４の尤度とする。
【００４７】
１００セットの全てのサンプリング楕円９４についてステップＳ１８ｃ、Ｓ１８ｄの処理を繰り返し、全ての処理が終了すると、ステップＳ１８ｅからＳ１８ｆに進む。ステップＳ１８ｆでは、１００セットのサンプリング楕円９４の中で、ステップＳ１８ｄで検出した尤度が最大の１つのサンプリング楕円９４を特定し、その位置および形状を実際の虹彩の位置および形状として検出する。以上が、従来の視線検出アルゴリズムにおけるパーティクルフィルタによる虹彩検出の処理である。
【００４８】
＜従来の視線検出アルゴリズムによる検出位置ずれの説明＞
図７は、従来の視線検出アルゴリズムによって虹彩の検出位置ずれが発生する過程を説明する図である。上述のような処理を実施する画像処理装置を例えば屋外環境で使用する場合を想定すると、環境光の影響により検出精度が低下する。
【００４９】
例えば、図７に示した目画像のデータＤ５１に基づき生成される二値化したデータＤ５２に対して、二値化探索Ｓ５１（Ｓ１７、Ｓ４２に相当）を実行すると、虹彩の位置Ｐ５１が誤った位置に検出される場合が起こり得る。その結果、前述のパーティクルフィルタの処理Ｓ５２をエッジ画像Ｄ５３に対して適用する際に、パーティクルの散布基点がずれることになり、尤度評価の際に、虹彩以外のエッジ情報を拾いやすくなり、最終的に検出精度を低下させることとなる。
【００５０】
これは、太陽光によって上まぶたが照らされた結果として、二値化した画像において上まぶたに黒色部分が生じるためである。この画像に対して二値化テンプレートマッチングを実施すると、目画像中の虹彩が上まぶたの箇所に位置すると判定されてしまう。そして、その位置をベースとして各サンプリング円が作成されるため、１００セットのサンプリング円が全体として上まぶた側に寄った位置に形成される。そして、パーティクルフィルタの処理の結果にも大きな位置ずれが発生する。
【００５１】
図７に示した画像データＤ５４においては、実際の虹彩の位置がＰ５３であるが、この位置から大きくずれた位置Ｐ５２がパーティクルフィルタの処理Ｓ５２の結果として検出される。こうして、従来の視線検出アルゴリズムによって虹彩検出をした場合には、上述したように虹彩の検出位置がずれてしまう場合があった。
【００５２】
＜第１実施形態の処理＞
図７に示したような虹彩の検出位置ずれを抑制するために、本実施形態の画像処理装置においては、以下の＜構成Ａ＞および＜構成Ｂ＞を備えている。
【００５３】
＜構成Ａ＞ある走査方向にてエッジを検出するフィルタ処理を顔画像に施して、勾配の大きさ及び正負の符号が情報として保持されたエッジ画像を生成する。例えば、図４に示したステップＳ４３でエッジを抽出し、データＤ４３を生成する際に、勾配の大きさ及び正負の符号が情報として保持された特別なエッジ画像を生成する。
【００５４】
＜構成Ｂ＞サンプリング曲線を構成する複数点のうちの前記走査方向の前方側に位置する第１の点群においては、前記勾配が正であるものを尤度評価の対象とし、前記サンプリング曲線を構成する複数点のうちの前記走査方向の後方側に位置する第２の点群においては、前記勾配が負であるものを尤度評価の対象として、前記サンプリング曲線に対する尤度を算出する。
【００５５】
＜「構成Ａ」の具体例＞
画像のエッジを検出するソーベルフィルタの走査方向と、処理前後の各データの状態の例を図８（ａ）に、処理後のエッジ画像のデータの例を図８（ｂ）に示す。図８に示した例では、目の領域の左右方向の境界の特徴を正確に検出することを目的として、画像の左から右に向かう水平方向、あるいは両眼の並ぶ方向に向かって、ソーベルフィルタの位置を画像上で走査する場合を想定している。
【００５６】
図８に示した処理前のデータＤ７１においては、横方向の境界Ｄ７１ａと境界Ｄ７１ｂとの間の輝度が虹彩のように黒レベルであり、それ以外の領域の輝度が白目のように白レベルである場合を想定している。
【００５７】
したがって、図８に示した処理前のデータＤ７１をソーベルフィルタで処理すると、各境界Ｄ７１ａ、Ｄ７１ｂの位置で輝度変化のエッジが検出され、このエッジ情報を含む処理後のデータＤ７２が得られる。但し、通常のソーベルフィルタを適用した場合と異なり、この処理後のデータＤ７２は、勾配の大きさ（エッジ強度）の他に、勾配の正負の符号の情報も保持している。
【００５８】
すなわち、処理後のデータＤ７２において、エッジＤ７２ａの箇所では「−２５５〜−１」の範囲内の黒の値が保持され、エッジＤ７２ｂの箇所では「１〜２５５」の範囲内の白の値が保持され、それ以外の領域ではグレーを表す「０」の値が保持される。
【００５９】
つまり、処理前のデータＤ７１の境界Ｄ７１ａ、Ｄ７１ｂのように、輝度（階調）が白から黒に変化する虹彩の始まり位置の境界と、輝度が黒から白に変化する虹彩の終端位置の境界とをそれぞれ区別できる形で、処理後のデータＤ７２に正負の符号が保持される。こうして、図８（ｂ）に示すエッジ画像Ｄ７３のデータを得ることができる。このエッジ画像Ｄ７３のデータは、走査方向（図８の場合は横方向）について虹彩と白目との境界の特徴を検出するのに適したものである。
【００６０】
＜「構成Ｂ」の具体例＞
図５に示したステップＳ１８ｄの「サンプリング処理」について、特徴的な内容を含む詳細な手順を図９に示す。また、虹彩を検出するために用いるパーティクルフィルタのパターン形状の具体例を図１０に示す。また、図９に示した処理を実行する場合の処理データの具体例を示す模式図を図１１（ａ）、（ｂ）に示す。
【００６１】
図１０に示したパターン形状は、図１１（ａ）、（ｂ）に示したサンプリング円９３Ａ、およびサンプリング楕円９４Ａに対応し、図９に示した「サンプリング処理」において、各サンプリング楕円９４Ａの位置で適切な尤度を算出するために利用される。尚、図１１（ａ）は、エッジ画像Ｄ９２がエッジ画像Ｄ７３である点を除き図６と同様であるため、ここでの詳細な説明を省略する。また、図１１（ｂ）は、エッジ画像Ｄ５３がエッジ画像Ｄ７３である点を除き図７と同様であるため、ここでの詳細な説明を省略する。
【００６２】
図１０に示したフィルタパターンＦＰ０は、全体として円形（又は楕円形）の環状に形成されており、その円周上に均等な間隔で並べて配置された多数のサンプリング点１０１を備えている。フィルタパターンＦＰ０上のサンプリング点１０１の総数は例えば１２０点とする。
【００６３】
また、フィルタパターンＦＰ０は円形の中央で左右に区分してあり、左側の半円に相当するパターン左側領域ＦＰＬと、右側の半円に相当するパターン右側領域ＦＰＲとを有している。そして、パターン左側領域ＦＰＬ内にあるサンプリング点１０１は、左側グループの点ＰＧＬとし、パターン右側領域ＦＰＲ内にあるサンプリング点１０１は、右側グループの点ＰＧＲとしてそれぞれ区分してある。
【００６４】
図９に示した「サンプリング処理」において、ステップＳ１０１〜Ｓ１０８の間では、選択された１つのサンプリング楕円９４Ａを構成する「ｉ」個のサンプリング点１０１のそれぞれについて順番に以下に説明する処理を実行する。
【００６５】
ステップＳ１０２では、該当するサンプリング点１０１が楕円の中心座標よりも左側か否か、つまりサンプリング点１０１が左側グループの点ＰＧＬか否かを識別する。サンプリング点１０１が左側グループの点ＰＧＬである場合はステップＳ１０３に進み、右側グループの点ＰＧＲである場合はステップＳ１０５に進む。
【００６６】
ステップＳ１０３では、現在選択している１つのサンプリング点１０１の位置で、図１１（ｂ）に示すエッジ画像Ｄ７３上の１つの画素の値を取得（サンプリング）し、サンプリングした値の符号の正負を識別する。そして、サンプリング値の符号が「負」であればステップＳ１０３からＳ１０４に進み、「正」であればＳ１０７に進む。
【００６７】
ステップＳ１０４では、Ｓ１０３で得た今回のサンプリング値に、「−１」を掛けた結果を変数Ｘの値に足し合わせる。つまり、この場合はサンプリング点１０１が左側グループの点ＰＧＬであって、前記第２の点群に属しているので、前記勾配が負である当該画素のサンプリング値を尤度評価の対象とする。また、計算時のサンプリング値の符号を「正」に揃えるためにＳ１０４で「−１」を掛ける。
【００６８】
ステップＳ１０５では、現在選択している１つのサンプリング点１０１の位置で、図１１（ｂ）に示すエッジ画像Ｄ７３上の１つの画素の値を取得（サンプリング）し、サンプリングした値の符号の正負を識別する。そして、サンプリング値の符号が「正」であればステップＳ１０５からＳ１０６に進み、「負」であればＳ１０７に進む。
【００６９】
ステップＳ１０６では、Ｓ１０５で得た今回のサンプリング値を、そのまま変数Ｘの値に足し合わせる。つまり、この場合はサンプリング点１０１が右側グループの点ＰＧＲであって、前記第１の点群に属しているので、前記勾配が正である当該画素のサンプリング値を尤度評価の対象とする。
【００７０】
ステップＳ１０７では、楕円円周上の今回処理対象のサンプリング点１０１の選択位置を表す変数（ｉ）の値を次の位置に更新する。
【００７１】
図９に示したステップＳ１０１〜Ｓ１０８で全てのサンプリング点１０１に対する処理が完了した時には、変数Ｘには、各サンプリング点１０１で得た尤度評価値の総和が保持される。つまり、変数Ｘの値は、現在選択している１つのサンプリング楕円９４Ａ（図１１（ｂ）参照。）に対する尤度を表す。
【００７２】
図９に示した「サンプリング処理」を「構成Ａ」で生成したエッジ画像Ｄ７３のデータに対して実行することにより、虹彩の両側の境界においてエッジ強度が正負反転する箇所の特徴を精度よく検出することができる。つまり、楕円の中央よりも右側のエッジ強度が正、左側のエッジ強度が負となるサンプリング楕円程、尤度が高く算出される。
【００７３】
こうして、ステップＳ１０１からステップＳ１０８までの処理を、全てのサンプリング円９３Ａに対して行い、尤度が最大となるサンプリング円９３Ａが虹彩として検出される。以上、本発明の実施形態の画像処理装置によれば、白目と虹彩との境界における虹彩の右側輪郭位置では、エッジ強度が正である点が多くなり、虹彩の左側輪郭位置では、エッジ強度が負である点が多くなるため、虹彩の輪郭位置に近い箇所に散布されたサンプリング円９３Ａが際だって尤度が高くなる。この結果、外乱の多い環境下において、二値化テンプレートマッチングを実施して目画像中の虹彩が上まぶたの箇所に位置すると誤って判定されても、その位置をベースとして散布された各サンプリング円の尤度は極めて低いため、上まぶた側に寄った位置に配置されたサンプリング円は虹彩の候補から除外される。こうして、少ない計算量で、ノイズとなる不要な特徴の悪影響を回避し、虹彩を高精度に検出することが可能になる。
【００７４】
なお、上述のように、二値化テンプレートマッチングを実施して目画像中の虹彩が上まぶたの箇所に位置すると誤って判定されたとしても上まぶた側に寄った位置に配置されたサンプリング円を虹彩の候補から除外するには次の点に留意する必要が有る。すなわち、サンプリング円９３Ａを散布するにあたって、各サンプリング円９３Ａの中心を定めるための乱数成分（Ｐpd、Ｐyd）には、乱数成分として取り得る乱数の数値範囲にある程度の幅が求められる。この幅が小さければ、局所的にサンプリング円９３Ａが散布されることになるが、誤った位置に局所的に多数のサンプリング円９３Ａが散布されたとしても虹彩の検出精度を向上することは難しい。よって、目画像中の虹彩が上まぶたの箇所に位置すると誤って判定されたとしても、その誤った位置を中心にサンプリング円９３Ａを散布したときに、虹彩が位置する正しい箇所にサンプリング円９３Ａが散布されている程度に、乱数成分及びサンプリング円の総数を調整することが望ましい。乱数成分及びサンプリング円の総数を適正に調整することにより、図２に示すステップＳ１７の処理は必須のものではなくなる。
【００７５】
また、図９に示した「サンプリング処理」では、図８（ａ）に示したように左から右に向かって走査しながら生成したエッジ画像のデータ（Ｄ７２）を処理する場合を想定している。エッジ画像を生成する場合の走査方向が違う場合には、エッジ強度が正負反転する箇所の位置および正／負が変化するので、走査方向の違いに合わせて、図９のステップＳ１０２〜Ｓ１０６の内容を変更する必要がある。
【００７６】
エッジ画像を生成する場合のフィルタの走査方向については、両眼の並び方向や水平方向に限らず、例えば斜め方向に変更することも考えられる。しかしながら、エッジを検出するフィルタ処理を施す方向は水平方向または両眼の並び方向にする方が、例えば垂直方向に走査する場合に比べて、白目と虹彩との境界のエッジを検出し易く、検出精度が向上し易いため好適である。
【００７７】
ところで、ここまでの虹彩の検出は１画像（１フレーム目）に対して実施されるものであったが、２フレーム目の画像に対して同様の検出を行う場合、図２に示すステップＳ１７の処理をキャンセルすることができる。これは、１フレーム目で検出された虹彩の位置座標が既に定まっているので、２フレーム目における虹彩の位置座標を算出するにあたってこの１フレーム目の位置座標をベースとすればよいためである。つまり、２フレーム目の虹彩の検出を行う際には、１フレーム目で得られた虹彩の中心位置（Ｐｐ、Ｐｙ）の近傍にサンプリング円９３Ａを散布すればよい。同様に、３フレーム目以降においても、前フレームで検出された虹彩の中心位置の近傍にサンプリング円９３Ａを散布すればよい。こうして、虹彩の検出に伴うデータ処理を軽減することも可能である。
【００７８】
＜第２実施形態の処理＞
第２実施形態におけるパーティクルフィルタのパターン形状の例を図１２に示す。また、図１２のパーティクルフィルタのパターン形状を適用した場合の処理データの具体例を示す模式図を図１３（ａ）、（ｂ）に示す。
【００７９】
第２実施形態では、図１２に示した半円形状のフィルタパターンＦＰを用いて図１３（ａ）、（ｂ）に示した「サンプリング処理」を実施する。つまり、フィルタパターンの形状が異なる以外は第１実施形態と同様の処理を実施する。図１３（ａ）は、エッジ画像Ｄ９２がエッジ画像Ｄ７３である点を除き図６と同様であるため、ここでの詳細な説明を省略する。また、図１３（ｂ）は、エッジ画像Ｄ５３がエッジ画像Ｄ７３である点を除き図７と同様であるため、ここでの詳細な説明を省略する。
【００８０】
図１２に示したフィルタパターンＦＰは、下向きに膨らんだ半円形状の円弧のパターンであって、例えば図１３（ｂ）に示したように二次元平面上のエッジ画像Ｄ７３に投影される。
【００８１】
このフィルタパターンＦＰは、図１０に示したフィルタパターンＦＰ０と同様に、円周上に均等な間隔で配置された多数のサンプリング点１０１を有している。これらのサンプリング点１０１は、フィルタパターンＦＰの中心ＦＰａを境界として、左側領域ＦＰｂ、および右側領域ＦＰｃに区分されている。つまり、左側領域ＦＰｂに属するサンプリング点１０１は図１０に示した左側グループの点ＰＧＬと同様に扱われ、右側領域ＦＰｃに属するサンプリング点１０１は右側グループの点ＰＧＲと同様に扱われる。
【００８２】
複数のパーティクルを粗探索で得た虹彩位置の近傍に散布するにあたっては、虹彩の領域９２の中心位置（Ｐｐ、Ｐｙ）に対してそれぞれ異なる乱数成分（Ｐpd、Ｐyd）を加算した位置が半円形状の中心となるよう、各々のサンプリング円９３Ｂを配置する。また、このとき、フィルタパターン形状において最も膨らんだ円弧の底が眼球３Ｄモデル３０における下方を向いた状態となるように配置する。
【００８３】
この半径形状のフィルタパターンＦＰは、図１３（ｂ）に示したように二次元平面上のエッジ画像Ｄ７３にサンプリング楕円９４Ｂとして投影されるので、虹彩の下側半分の領域の輪郭箇所について、この形状の特徴を効率的に評価することができる。
【００８４】
一般的に、虹彩と白目との境界は、虹彩の右側、左側、および下側に現れる傾向にあり、虹彩の上側は上まぶたとの境界になり易い。したがって、図１２に示した半円形状のフィルタパターンＦＰを採用することにより、虹彩の境界を精度よく検出可能な虹彩の右側、左側、および下側のそれぞれの箇所に対してサンプリング曲線とのマッチングを試みることができる。逆に言えば、虹彩の境界の検出精度を下げる虹彩の上側をマッチング対象から除外することができる。そのため、精度よく虹彩を検出できる。
【００８５】
なお、フィルタパターンＦＰの形状は半円に限らず、各種の円弧を適用することができる。また、円環の一部が欠損したＣ字形状であってもよい。このとき、フィルタパターン形状において最も膨らんだ円弧の底が眼球３Ｄモデル３０における下方を向いた状態となることが好ましい。
【００８６】
＜画像から瞳孔を探索する処理の具体例＞
続いて、画像から瞳孔を探索する処理について説明する。上述した＜画像から虹彩を探索する処理の具体例＞では、図４のステップＳ４２において、虹彩の形状に似た黒丸形状の画像Ｄ４ｔをテンプレートとして利用し、このテンプレートをデータＤ４２の画像上で走査しながら、特徴が尤も似ているおおよその虹彩の位置Ｐ４１を探索し、その位置および虹彩の半径または直径を特定する、とした。画像から瞳孔を探索する処理にあたっては、基本的には、上述した＜画像から虹彩を探索する処理の具体例＞で説明した処理と同等の処理によって瞳孔を探索する。すなわち、瞳孔の形状に似た黒丸形状の画像（瞳孔の形状に似た黒丸は、虹彩の形状に似た黒丸よりも小さい。）をテンプレートとして利用し、このテンプレートをデータＤ４２の画像上で走査しながら、特徴が尤も似ているおおよその瞳孔の位置を探索し、その位置および瞳孔の半径または直径を特定する。このように、テンプレートとして用いる画像に描かれた黒丸の形状を変えることによって、探索する対象を虹彩または瞳孔から選択することができる。
【００８７】
＜第３実施形態の処理＞
第３実施形態におけるパーティクルフィルタのパターン形状の例を図１５に示す。また、図１５のパーティクルフィルタのパターン形状を適用した場合の処理データの具体例を示す模式図を図１６（ａ）、（ｂ）に示す。
【００８８】
第３実施形態では、図１５に示した半円形状のフィルタパターンＦＰ２を用いて図１６（ａ）、（ｂ）に示した「サンプリング処理」を実施する。つまり、フィルタパターンの形状が異なる以外は第１実施形態と同様の処理を実施する。図１６（ａ）は、エッジ画像Ｄ９２がエッジ画像Ｄ７３である点を除き図６と同様であるため、ここでの詳細な説明を省略する。また、図１６（ｂ）は、エッジ画像Ｄ５３がエッジ画像Ｄ７３である点を除き図７と同様であるため、ここでの詳細な説明を省略する。
【００８９】
図１５に示したフィルタパターンＦＰ２は、半径の異なる３つの円Ｃ１、Ｃ２、Ｃ３が同一の位置を中心点とする円形のパターンであって、例えば図１６（ｂ）に示したように二次元平面上のエッジ画像Ｄ７３に投影される。
【００９０】
このフィルタパターンＦＰ２は、各円Ｃ１、Ｃ２、Ｃ３毎に、円周上に均等な間隔で配置された多数のサンプリング点２０１、２０２、２０３を有している。また、各円Ｃ１、Ｃ２、Ｃ３毎のサンプリング点２０１、２０２、２０３は、同数のサンプリング点が設定されており、径方向に並ぶよう放射状に配置されている。
【００９１】
粗探索で得た虹彩位置の近傍に複数のパーティクルを散布するにあたっては、虹彩の領域９２の中心位置（Ｐｐ、Ｐｙ）に対してそれぞれ異なる乱数成分（Ｐpd、Ｐyd）を加算した位置が３つの円に共通する中心点となるよう、各々のサンプリング円９３Ｃを配置する。
【００９２】
この３つの円から構成されるフィルタパターンＦＰ２は、図１６（ｂ）に示したように二次元平面上のエッジ画像Ｄ７３にサンプリング楕円９４Ｃとして投影される。
【００９３】
虹彩または瞳孔を撮影した画像を生成した場合、一般的に、その画像における虹彩または瞳孔の寸法（縦横の画素数）は、撮影対象として同一の虹彩または瞳孔を撮影していたしても変化する。光量に応じて瞳孔径が変化することにより、撮影された画像における虹彩または瞳孔の寸法が変化することは言うに及ばず、頭部がカメラに対して近づく方向または遠ざかる方向に移動することによっても、たとえ虹彩径または瞳孔径が変化しなくても撮影された画像における虹彩または瞳孔の寸法は変化する。このように、虹彩径または瞳孔径の変化に対応しつつ、虹彩または瞳孔を探索することも重要である。
【００９４】
その点、第３実施形態のフィルタパターンＦＰ２では、３重に形成された各円によって、虹彩径または瞳孔径の変化に対応することができる。すなわち、ある時点ｔ１の画像フレームにおいて撮影された虹彩または瞳孔が、次の時点ｔ２の画像フレームにおいて虹彩径または瞳孔径が変化したとしても、時点ｔ１で虹彩または瞳孔を捉えていた円Ｃ１、Ｃ２、Ｃ３よりも大きいまたは小さい円Ｃ１、Ｃ２、Ｃ３が時点ｔ２における虹彩または瞳孔を捉えることができる。このように、本発明の第３実施形態によれば、虹彩径または瞳孔径の変化に対応しつつ、虹彩または瞳孔を精度よく探索することができる。
【００９５】
尚、本発明の第３実施形態は、第１実施形態または第２実施形態で説明したフィルタパターンに適用することができるとともに、図６を参照して説明したフィルタパターンにも適用することができる。
【００９６】
本発明の第３実施形態に係る画像処理装置を端的に表現すると次のようになる。
顔を含むように撮影された顔画像に対してデータ処理を行うデータ処理部を備える画像処理装置であって、
前記データ処理部は、
ある走査方向にてエッジを検出するフィルタ処理を前記顔画像に施して、勾配の大きさが情報として保持されたエッジ画像を生成し、
３次元モデルの表面に仮想的に位置する、半径の異なる複数の円を同一の位置を中心点として配したサンプリング曲線が、前記エッジ画像に投影された状態において、前記サンプリング曲線を構成する複数点それぞれに対応する前記エッジ画像中の位置ごとに、前記勾配の大きさをサンプリング値として抽出して尤度評価の対象とし、
複数の前記サンプリング曲線のうち、尤度が最大となる前記サンプリング曲線を瞳孔または虹彩として検出する、
ことを特徴とする画像処理装置。
【００９７】
＜画像処理装置の技術の応用＞
なお、本発明の画像処理装置の技術については、目を検出する以外にも様々な応用が考えられる。具体例としては、頭部運動追従、瞼の検出、口の検出等が想定される。実際の適用を考えた場合、頭部運動の追従に関しては、パーティクルフィルタの散布形状サイズを画像内の頭部サイズへ調整することで対応できる。また、瞼や口の検出においては、ソーベルフィルタを垂直方向にかけ、サンプリング特徴の符号分割を縦方向にすることで対応できる。
【００９８】
なお、図２、図４、図５、図９等に示した各動作については、専用の論理回路等のハードウェアで実現することもできるし、制御用の様々なコンピュータが読み込んで実行可能なプログラムやデータで構成されるソフトウェアとして実現することもできる。
【００９９】
＜精度の向上＞
本発明の適用の有無と検出誤差との関係の例を図１４に示す。すなわち、環境光の影響により精度が低下する条件において、本発明を適用した手法と、従来手法との検出誤差の違いが図１４に示されている。
【０１００】
図１４において、「改善後」が本発明を適用した手法の検出結果に相当し、「改善前」が本発明を適用しない場合の検出結果に相当する。図１４を参照すると、従来手法では真値との誤差平均が1.6pixelであったのに対し、本発明の手法では、0.5pixelへ改善されていることが分かる。
【０１０１】
ここで、上述した本発明に係る画像処理装置、画像処理方法および画像処理プログラムの実施形態の特徴をそれぞれ以下［１］〜［６］に簡潔に纏めて列記する。
［１］  顔を含むように撮影された顔画像に対してデータ処理を行うデータ処理部（処理部１３）を備える画像処理装置であって、
前記データ処理部は、
ある走査方向にてエッジを検出するフィルタ処理を前記顔画像に施して、勾配の大きさ及び正負が情報として保持されたエッジ画像（Ｄ７３）を生成し、
３次元モデル（眼球３Ｄモデル３０）の表面に仮想的に位置する、円弧状の曲線を含むサンプリング曲線（サンプリング円９３Ａ、９３Ｂ）が、前記エッジ画像に投影された状態（サンプリング楕円９４Ａ、９４Ｂ）において、前記サンプリング曲線を構成する複数点（サンプリング点１０１）それぞれに対応する前記エッジ画像中の位置ごとに、前記勾配の大きさ及び正負をサンプリング値として抽出し（Ｓ１０３，Ｓ１０５）、
前記サンプリング曲線を構成する複数点のうちの前記走査方向の前方側に位置する第１の点群（右側グループの点ＰＧＲ）においては、前記勾配が正であるものを尤度評価の対象とし（Ｓ１０５，Ｓ１０６）、前記サンプリング曲線を構成する複数点のうちの前記走査方向の後方側に位置する第２の点群（左側グループの点ＰＧＬ）においては、前記勾配が負であるものを尤度評価の対象として、前記サンプリング曲線に対する尤度を算出し（Ｓ１０３，Ｓ１０４）、
複数の前記サンプリング曲線のうち、尤度が最大となる前記サンプリング曲線を瞳孔または虹彩として検出する（Ｓ１８ｆ）、
画像処理装置。
【０１０２】
［２］  前記データ処理部が前記フィルタ処理によってエッジを検出する前記走査方向は、前記顔画像における目が並ぶ方向である（図８参照）、
上記［１］に記載の画像処理装置。
【０１０３】
［３］  前記サンプリング曲線（フィルタパターンＦＰ）は円弧形状であって、最も膨らんだ円弧の底が前記３次元モデルにおける下方を向いた状態で前記エッジ画像に投影される（図１２参照）、
上記［２］に記載の画像処理装置。
【０１０４】
［４］  前記データ処理部は、前記第１の点群においては前記勾配が正である点の前記勾配の大きさを加算し（Ｓ１０５，Ｓ１０６）、前記第２の点群においては前記勾配が負である点の前記勾配の大きさを加算する（Ｓ１０３，Ｓ１０４）ことにより、前記サンプリング曲線に対する尤度を算出する、
上記［１］に記載の画像処理装置。
【０１０５】
［５］  顔を含むように撮影された顔画像に対してデータ処理を行うデータ処理部を備える画像処理方法であって、
前記顔画像に対してある走査方向にてエッジを検出するフィルタによって、勾配の大きさ及び正負が情報として保持されたエッジ画像（Ｄ７３）を生成するステップ（Ｓ４３）と、
３次元モデルの表面に仮想的に位置する、円弧状の曲線を含むサンプリング曲線（サンプリング円９３Ａ、９３Ｂ）が、前記エッジ画像に投影された状態（サンプリング楕円９４Ａ、９４Ｂ）において、前記サンプリング曲線を構成する複数点それぞれに対応する前記エッジ画像中の位置ごとに、前記勾配の大きさ及び正負をサンプリング値として抽出するステップ（Ｓ１０３，Ｓ１０５）と、
前記サンプリング曲線を構成する複数点のうちの前記走査方向の前方側に位置する第１の点群においては、前記勾配が正であるものを尤度評価の対象とし（Ｓ１０５）、前記サンプリング曲線を構成する複数点のうちの前記走査方向の後方側に位置する第２の点群においては、前記勾配が負であることを尤度評価の対象として（Ｓ１０３）、前記サンプリング曲線に対する尤度を算出するステップ（Ｓ１０４，Ｓ１０６）と、
複数の前記サンプリング曲線のうち、尤度が最大となる前記サンプリング曲線を瞳孔または虹彩として検出するステップ（Ｓ１８ｆ）と、
を有する画像処理方法。
【０１０６】
［６］  コンピュータに、上記［５］に記載の画像処理方法の各ステップを実行させるための画像処理プログラム。
【符号の説明】
【０１０７】
１０  車両の車室内
１１  人物
１１ａ  目の領域
１１ｂ  視線
１２  カメラ
１３  処理部
３０  眼球３Ｄモデル
３１  眼球中心
３２  瞳孔または虹彩
３３  瞳孔
３４  二次元画像
９１，９２  粗探索で得た瞳孔または虹彩の領域
９３  サンプリング円
９４  サンプリング楕円
１０１  サンプリング点
ＦＰ，ＦＰ０  フィルタパターン
ＦＰＬ  パターン左側領域
ＦＰＲ  パターン右側領域
ＰＧＬ  左側グループの点
ＰＧＲ  右側グループの点
【図１】
2018088236.tif 000003
【図２】
2018088236.tif 000004
【図３】
2018088236.tif 000005
【図４】
2018088236.tif 000006
【図５】
2018088236.tif 000007
【図６】
2018088236.tif 000008
【図７】
2018088236.tif 000009
【図８】
2018088236.tif 000010
【図９】
2018088236.tif 000011
【図１０】
2018088236.tif 000012
【図１１】
2018088236.tif 000013
【図１２】
2018088236.tif 000014
【図１３】
2018088236.tif 000015
【図１４】
2018088236.tif 000016
【図１５】
2018088236.tif 000017
【図１６】
2018088236.tif 000018