(57)【要約】【課題】眼球中心位置の検出精度を向上させ、それにより視線計測精度を高めることが可能な車載器を提供すること。【解決手段】カメラで撮影したユーザの顔画像データに基づき、顔正面度および視線正面度を算出する。顔の向きが正面で、且つ視線の向きが正面である場合に、眼球中心座標を新たに計算して３次元眼球モデルの中心座標に反映し自動的に校正する。顔の向きが正面で、且つ視線の向きが正面である場合に、黒目中心位置を算出し、前記黒目中心位置と顔画像の中央線との距離に基づいて視線角度を算出し、前記黒目中心位置と前記視線角度に基づき、３次元眼球モデルにおける前記眼球中心座標を算出する。眼球中心座標の算出処理を繰り返し、平均化した座標値を利用して３次元眼球モデルの眼球中心座標を更新する。ノイズの影響を抑制できる。【選択図】図４
2018101211.tif 000002
【特許請求の範囲】
【請求項１】
顔を含むように撮影された顔画像から、該顔画像に含まれる眼球がモデル化された３次元眼球モデルにおける中心が位置する眼球中心座標を算出するデータ処理部を備える車載器。
【請求項２】
前記データ処理部は、
前記顔画像に含まれる黒目の中心が、前記３次元眼球モデル上に位置する黒目中心位置を算出し、
前記黒目中心位置と前記顔画像における中央線との距離に基づいて視線角度を算出し、
前記黒目中心位置と前記視線角度に基づき、前記３次元眼球モデルにおける前記眼球中心座標を算出する
請求項１に記載の車載器。
【請求項３】
前記データ処理部は、
前記顔画像に含まれる顔が正面を向いているか否かを判定し、
前記顔画像に含まれる黒目位置に基づく視線が正面を向いているか否かを判定し、
顔及び視線が正面を向いていると判定した場合に、前記３次元眼球モデルにおける前記眼球中心座標を算出する
請求項１または２に記載の車載器。
【請求項４】
前記データ処理部は、
前記眼球中心座標の算出処理を繰り返し行うと共に、算出結果を保存し、複数の算出結果を平均化した結果を出力する
請求項１乃至３のいずれか１項に記載の車載器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔を含むように撮影された顔画像を利用する車載器に関し、特にキャリブレーションの技術に関する。
【背景技術】
【０００２】
車両においては、運転者の視線の方向を検知し、この視線の情報を安全運転などのために役立てることが望まれている。視線を検出する代表的な手法としては、従来より「角膜反射法」、「瞳孔−角膜反射法」（例えば特許文献１）、および「モデルベース手法」（例えば特許文献２）が知られている。
【０００３】
「角膜反射法」および「瞳孔−角膜反射法」の場合は、目に赤外線を当てることで生じる角膜反射光（プルキニエ像）を基準点とし、瞳孔の位置関係に基づいて視線を検出する。「モデルベース手法」の場合は、顔の特徴点群や３次元顔モデルと３次元眼球モデルを利用して視線を算出する。
【０００４】
「角膜反射法」および「瞳孔−角膜反射法」はキャリブレーションなしで視線計測をすることはできない。一方、「モデルベース手法」は、キャリブレーションなしでも計測することができる。また、キャリブレーションを実施することによって個人差を解消することができるため視線の検出精度を向上させることができる。
【０００５】
例えば、特許文献３の技術では、校正時にヘッドアップディスプレイを用いて運転者が視認可能なターゲットを前方に虚像として表示し、ターゲットの位置を注視している状態の運転者の視線方向を検出することでキャリブレーションを実施している。
【０００６】
また、例えば特許文献４は、運転者による特別な操作が不要なキャリブレーションの技術を示している。例えば、自車両と他車両との車間距離、ブレーキ踏み込みの状態などに基づいて特定の状態を検知し、運転者の視線が他車両の方向を向いている可能性が高いと考えられる時に、カメラで撮影した（他車両を含む）画像を利用してキャリブレーションを自動的に実施する。また、ＯＤＯメータリセットボタンが操作されたときに、運転者の視線が特定の方向にあるものとしてカメラで撮影した画像を用いてキャリブレーションを行っている（段落［００５５］参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−４９２６０号公報
【特許文献２】特開２００８−１９４１４６号公報
【特許文献３】特開２００９−１８３４７３号公報
【特許文献４】特開２０１２−２０１２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、視線検出のために上記「角膜反射法」又は「瞳孔−角膜反射法」を採用する場合には、計測のためのシステム規模が大きくなるため、車内空間への適用が難しい。他方、上記「モデルベース手法」を採用する場合には、カメラ一台で実現できるため、車内空間への適用に向いている。
【０００９】
しかし、「モデルベース手法」は、「角膜反射法」よりも視線計測精度が悪い。すなわち、視線の検出に用いられるパラメータ、例えば眼球中心位置などの誤差が大きいため、検出精度が低下する。
【００１０】
そのため、キャリブレーションが必要になる。しかし、特許文献３に示されたような方法では、キャリブレーションを実施する際のユーザの負担が非常に大きいので車両への適用は難しい。また、特許文献４に示されたような方法では、高精度でキャリブレーションすることは難しい。
【００１１】
本発明は、上述した事情に鑑みてなされたものであり、その目的は、眼球中心位置の検出精度を向上させ、それにより視線計測精度を高めることが可能な車載器を提供することにある。
【課題を解決するための手段】
【００１２】
前述した目的を達成するために、本発明に係る車載器は、下記（１）〜（４）を特徴としている。
（１）  顔を含むように撮影された顔画像から、該顔画像に含まれる眼球がモデル化された３次元眼球モデルにおける中心が位置する眼球中心座標を算出するデータ処理部を備える車載器。
（２）  前記データ処理部は、
前記顔画像に含まれる黒目の中心が、前記３次元眼球モデル上に位置する黒目中心位置を算出し、
前記黒目中心位置と前記顔画像における中央線との距離に基づいて視線角度を算出し、
前記黒目中心位置と前記視線角度に基づき、前記３次元眼球モデルにおける前記眼球中心座標を算出する
上記（１）に記載の車載器。
（３）  前記データ処理部は、
前記顔画像に含まれる顔が正面を向いているか否かを判定し、
前記顔画像に含まれる黒目位置に基づく視線が正面を向いているか否かを判定し、
顔及び視線が正面を向いていると判定した場合に、前記３次元眼球モデルにおける前記眼球中心座標を算出する
上記（１）または（２）に記載の車載器。
（４）  前記データ処理部は、
前記眼球中心座標の算出処理を繰り返し行うと共に、算出結果を保存し、複数の算出結果を平均化した結果を出力する
上記（１）乃至（３）のいずれかに記載の車載器。
【００１３】
上記（１）の構成の車載器によれば、眼球中心位置を校正（キャリブレーション）するアルゴリズムが車載器に設けられたため、車載器による眼球中心位置の検出精度が向上し、それにより視線計測精度が高まる。また、撮影された画像に基づき校正するので、特別な校正機材を用意する必要もなく、また、車載器の使用者が校正のために特別な操作をする必要がない。
上記（２）の構成の車載器によれば、簡便な処理にて眼球中心座標を算出することができる。したがって、データ処理部の処理の負担が小さくなり、演算性能が低いコンピュータでも実用に耐え得る。データ処理部の処理の負担が小さいことは、小型化がますます求められる車載器において好適である。
上記（３）の構成の車載器によれば、眼球中心座標の測定精度が向上する。すなわち、顔及び黒目が撮影するカメラの方向に向いている状態で計算を実行するので、顔の向きの違いの影響による計算誤差や、視線の向きの違いの影響による計算誤差を減らすことができる。また、上記（２）及び（３）を組み合わせた構成の場合には、顔中心と画像中心が同一でない場合であっても、眼球中心座標を測定することができる。このような校正に際しては、一般的な手法としてカメラの撮影方向０度の方向に顔が位置した状態で撮影されることが望まれるが、本構成によればカメラの撮影方向０度の方向でなくても撮影方向０度に顔が位置する状態と同様の処理で校正することができる。
上記（４）の構成の車載器によれば、ノイズにより明らかな外れ値が一時的に算出された場合でも、その影響を平均化により低減できるので検出精度が向上する。特に、同じ運転者を長時間監視するような用途で望ましい結果が得られる。
【発明の効果】
【００１４】
本発明の車載器によれば、眼球中心位置の検出精度を向上させ、それにより視線計測精度を高めることが可能である。すなわち、眼球中心位置を校正するアルゴリズムが車載器に設けられたため、車載器による眼球中心位置の検出精度が向上し、それにより視線計測精度が高まる。また、撮影された画像に基づき校正するので、特別な校正機材を用意する必要もなく、また、車載器の使用者が校正のために特別な操作をする必要がない。
【００１５】
以上、本発明について簡潔に説明した。更に、以下に説明される発明を実施するための形態（以下、「実施形態」という。）を添付の図面を参照して通読することにより、本発明の詳細は更に明確化されるであろう。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施形態の車載器の配置状態の具体例を示す斜視図である。
【図２】図２は、３次元眼球モデルを利用して視線検出する場合の処理手順の概要を示すフローチャートである。
【図３】図３は、二次元の入力画像と３次元眼球モデルとの関係の例を示す模式図である。
【図４】図４は、眼球中心位置を自動的に校正するための処理手順の概要を示すフローチャートである。
【図５】図５は、顔正面度を計算するための２種類の処理手順の各々を示すフローチャートである。
【図６】図６は、顔画像と検出された特徴点群との位置関係の具体例を示す正面図である。
【図７】図７は、顔画像と顔の中心との位置関係の具体例を示す正面図である。
【図８】図８は、顔画像における顔の中心線と左右の黒目位置との関係の具体例を示す正面図である。
【図９】図９は、３次元眼球モデルの眼球中心、黒目中心、視角の位置関係の例を示す平面図である。
【図１０】図１０は、顔の中心と画像の中心とが等しい場合の中心線と左右の黒目中心との位置関係の例を示す正面図である。
【図１１】図１１は、顔の中心と画像の中心とが等しい場合の視角、距離、左右の黒目中心の位置関係の例を示す平面図である。
【図１２】図１２は、顔の中心と画像の中心とが同一でない場合の中心線と左右の黒目中心との位置関係の例を示す正面図である。
【図１３】図１３は、顔の中心と画像の中心とが同一でない場合の視角、距離、左右の黒目中心の位置関係の例を示す平面図である。
【図１４】図１４は、眼球中心位置の補正値と３次元眼球モデルおよび入力画像との関係の例を示す模式図である。
【図１５】図１５は、眼球中心位置の補正値を車載器の動作に反映するための処理の具体例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
本発明の車載器に関する具体的な実施の形態について、各図を参照しながら以下に説明する。
【００１８】
＜本発明が適用される環境の具体例＞
本発明の実施形態における車載器の配置状態の具体例を図１に示す。
図１に示した例では、車両の車室内１０にカメラ１２および処理部１３が設置されている。具体的には、運転席に着座している人物１１、すなわち運転者の目の領域１１ａを含む顔などをカメラ１２で撮影できるように、運転席前方のメータユニット内、あるいはコラムカバーの箇所にカメラ１２が設置されている。
【００１９】
処理部１３は、カメラ１２が人物１１の顔を撮影した得られる二次元画像データを処理し、主に目の領域１１ａのデータから視線１１ｂの方向を示す情報を推定する。処理部１３が推定した視線１１ｂの情報は、代表例として、車両を運転する運転者が安全確認のための視線移動をしているかどうかを車載装置が認識するために利用できる。勿論、このような視線の情報は様々な用途に利用可能である。したがって、本発明の車載器は、例えば図１中の処理部１３、あるいはその一部として構成することが想定される。
【００２０】
なお、本実施形態の車載器は、後述するように、カメラ１２が撮影した二次元画像データに基づいて、眼球中心位置を自動的に校正する機能を搭載している。したがって、車載器の視線検出機能を校正するために、図１に示した構成以外に、特別な校正機材を用意する必要はない。また、人物１１も校正のために特別な調整の操作を実施する必要がない。
【００２１】
＜視線検出アルゴリズムの概要＞
３次元眼球モデルを利用して、顔画像に基づき視線検出する場合の処理手順の概要を図２に示す。すなわち、車載器のコンピュータが所定のプログラムを実行することにより、図２に示した視線検出アルゴリズムに従った動作が順次に行われる。
【００２２】
カメラ１２は、人物１１の顔を含む領域の映像を一定の周期で常時撮影し、映像の信号を出力する。車載器のコンピュータは、ステップＳ１１でカメラ１２から映像の信号を１フレーム分取り込む。また、実際にはグレースケール化を含む、画像のデータ形式の変換などの「下処理」をＳ１１で行う。例えば、１フレーム内の各画素位置毎に、輝度を「０〜２５５」の範囲の階調で表す８ビットデータを、撮影時のフレーム内走査方向に合わせて縦方向（ｙ）及び横方向（ｘ）に並べた二次元（２Ｄ）配列の画像データを生成する。
【００２３】
ステップＳ１２では、コンピュータがＳ１１で入力された１フレームまたは複数フレームの二次元画像データを処理して、人物１１の顔を検出する。具体例としては、「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）により表すことができる。
【００３０】
一方、カメラ１２が撮影する映像は特定の２次元平面を表している。したがって、入力画像として例えば図３に示した目の領域の二次元画像３５が入力された場合には、３次元眼球モデル３０を利用するために二次元／三次元の相互変換を行う必要がある。
【００３１】
具体的には、目の領域の二次元画像３５の中で黒目中心３２ａの位置、および眼球中心３１の位置の二次元座標をそれぞれ検出し、これらの二次元座標を３次元眼球モデル３０の三次元座標上に投影する。これにより視線１１ｂのベクトルを算出することができる。視線１１ｂのベクトルと、各方向の回転角度ｙａｗ、ｐｉｔｃｈとの関係は次式で表される。
【００３２】
Ｘ＝−Ｒ×ｃｏｓ（ｐｉｔｃｈ）×ｓｉｎ（ｙａｗ）  ・・・（１）
Ｙ＝Ｒ×ｓｉｎ（ｐｉｔｃｈ）                       ・・・（２）
Ｘ：二次元画像平面上での眼球中心３１からのｘ方向の距離
Ｙ：二次元画像平面上での眼球中心３１からのｙ方向の距離
【００３３】
＜特徴的な処理の説明＞
＜処理の概要＞
３次元眼球モデル３０における眼球中心３１の位置を自動的に校正するための処理手順の概要を図４に示す。例えば、処理部１３内部のコンピュータが、図２に示したステップＳ１４として図４に示した処理を実行することにより、眼球中心３１の位置が自動的に校正される。これにより、眼球中心３１の位置精度が向上するので、視線検出精度も上がる。校正のために運転者等のユーザが特別な操作を行う必要もない。
【００３４】
図４のステップＳ１０１では、入力画像に映っている人物１１の顔の正面度、すなわち「顔が正面を向いている度合」をコンピュータが計算する。そして、Ｓ１０１の計算結果に基づき、「顔が正面を向いている」とみなせる状態であれば、ステップＳ１０２からＳ１０３に進む。
【００３５】
ステップＳ１０３では、入力画像に映っている人物１１の視線の正面度、すなわち「視線の方向が正面を向いている度合」をコンピュータが計算する。そして、Ｓ１０３の計算結果に基づき、「視線の方向が正面を向いている」とみなせる状態であれば、ステップＳ１０４からＳ１０５に進む。
【００３６】
ステップＳ１０５では、入力画像に映っている人物１１の現在の特徴に基づいて、最新の眼球中心位置を算出し、眼球中心位置を更新するために必要な補正値を求める。この補正値を次のステップＳ１０６で、３次元眼球モデル３０の眼球中心３１の座標に反映し校正を実行する。
【００３７】
＜「顔正面度」の計算の詳細＞
「顔正面度」は、入力画像上において「顔が正面を向いている度合」を表す。「顔正面度」を計算するための２種類の処理手順の各々を図５に示す。これらの処理手順のいずれか一方を図４に示したステップＳ１０１で実行する。図５に示した「顔正面度計算１」、「顔正面度計算２」のそれぞれについて以下に説明する。
【００３８】
＜「顔正面度計算１」＞
顔画像と検出された特徴点群６１との位置関係の具体例を図６に示す。
図５のステップＳ２１では、図２のＳ１２で検出された顔領域の画像データＦを処理対象として入力する。この顔領域の画像データＦに対して、ステップＳ２２では、コンピュータが所定の画像処理を施し、特徴点の検出を実行する。これにより、例えば図６に示すように、眉毛、左右の目、鼻、唇、顎などの各部位について輪郭などを表す特徴点群６１が検出される。
【００３９】
次のステップＳ２３では、コンピュータはステップＳ２２で得られた特徴点群６１に基づき、これらの顔特徴点群の重心位置を次の第（３）式により計算する。この計算を実行する際には、「特徴点群６１が顔の中心に対して左右対称に設定されている」条件を満たしていることを前提として処理する。
【００４０】
【数１】
2018101211.tif 000003
ｇ（ｘ，ｙ）：座標（ｘ，ｙ）で表される重心位置
Ｐ：顔特徴点の総数
ｆ（ｐ）：ｐ番目の顔特徴点の位置情報
【００４１】
したがって、ステップＳ２３で計算される重心位置ｇ（ｘ，ｙ）のｘ座標は、左右方向の顔の向きに影響される。すなわち、顔が正面向き（顔の向きが０）の場合には、重心位置ｇ（ｘ，ｙ）のｘ座標「ｇ．ｘ」が顔の中心（ｆａｃｅｃｅｎ．ｘ，ｆａｃｅｃｅｎ．ｙ）のｘ座標と等しくなり、顔が正面向きでない場合は重心位置ｇ（ｘ，ｙ）が顔の中心からずれた状態になる。
【００４２】
なお、顔の中心位置を表すｘ座標の値（ｆａｃｅｃｅｎ．ｘ）およびｙ座標の値（ｆａｃｅｃｅｎ．ｙ）は、それぞれ顔領域の画像データＦにおける横（ｘ）方向の中央値、および縦（ｙ）方向の中央値として算出できる。
したがって、顔正面度Ｄｘは次式により算出できる。
【００４３】
【数２】
2018101211.tif 000004
Ｄｘ：顔正面度（ｘ方向）
ｆａｃｅｃｅｎ．ｘ：顔の中心のｘ座標
ｇ．ｘ：重心位置のｘ座標
αｘ：顔向きが正面か否かを識別するための閾値
【００４４】
上記第（４−１）式により算出した顔正面度Ｄｘを用いる場合には、図４のステップＳ１０２でこの顔正面度Ｄｘを閾値αｘと比較することにより、顔向きが正面か否かを識別できる。なお、閾値αｘの大きさについては、カメラ１２の撮影条件を表すパラメータや個人差などを考慮して最適な値を採用することが想定される。
【００４５】
顔正面度は横方向の向きだけでなく、縦方向の向きも考慮することが可能である。しかし、人間の顔の構造は、上下方向に対称な構造ではないため、あらかじめ、縦方向で正面を向いているときに、特等点群の重心位置のｙ座標ｇ．ｙと、顔の中心位置のｙ座標「ｆａｃｅｃｅｎ．ｙ」とのズレ量ｄｙを求めておく必要が在る。なお、ｄｙ値は検出器の特徴点配置によって決められるものであり、固定値として求まる。縦方向の顔正面度Ｄｙは次式（４―２）のようになる。
【数３】
2018101211.tif 000005
【００４６】
＜「顔正面度計算２」＞
顔画像と顔の中心（ｆａｃｅｃｅｎ．ｘ，ｆａｃｅｃｅｎ．ｙ）との位置関係の具体例を図７に示す。
【００４７】
図５のステップＳ３１では、図２のＳ１２で検出された顔領域の画像データＦを処理対象として入力する。
【００４８】
図５のステップＳ３２では、Ｓ３１で入力した顔領域の画像データＦを処理して、顔画像におけるｘ軸の中央（ｆａｃｅｃｅｎ．ｘ）に対して左右を反転した反転画像データＦＬをコンピュータが作成する。そして、次のステップＳ３３では、画像データＦと反転画像データＦＬとの相関値を顔正面度Ｄとしてコンピュータが算出する。この場合の顔正面度Ｄは次式により算出される。
【００４９】
【数４】
2018101211.tif 000006
Ｄ：顔正面度
Ｎ：顔画像のｘ方向画素数
Ｍ：顔画像のｙ方向画素数
Ｆ（ｉ，ｊ）：画像データＦの座標（ｉ，ｊ）の画素の輝度値（階調）
ＦＬ（ｉ，ｊ）：反転画像データＦＬの座標（ｉ，ｊ）の画素の輝度値（階調）
α：顔向きが正面か否かを識別するための閾値
【００５０】
つまり、顔の特徴が顔の中央（ｆａｃｅｃｅｎ．ｘ）に対して左右対称である場合を想定すれば、顔の中央から左側の特徴と右側の特徴とが等しい。したがって、画像データＦと反転画像データＦＬとの相関の逆数を表す顔正面度Ｄは、顔向きが正面に近い状態で非常に小さくなり、顔向きが正面からずれると大きくなる。
【００５１】
上記第（５）式により算出した顔正面度Ｄを用いる場合には、図４のステップＳ１０２でこの顔正面度Ｄを閾値αと比較することにより、顔向きが正面か否かを識別できる。なお、閾値αの大きさについては、カメラ１２の撮影条件を表すパラメータや個人差などを考慮して最適な値を採用することが想定される。
【００５２】
＜「視線正面度」の計算の詳細＞
顔画像における顔の中心線と左右の黒目位置との関係の具体例を図８に示す。
視線正面度ＦＤは、入力画像に映っている人物１１の視線の方向が正面を向いている度合、つまり、左右それぞれの目に３次元眼球モデル３０を適用して得られた回転角度より計算される視線方向θ（ｙａｗ，ｐｉｔｃｈ）が０度である度合を表す。
【００５３】
本実施形態では、図４の通り「顔の向きが正面である」という条件を満たしていることを前提として、次式によりコンピュータが視線正面度ＦＤを算出する。
【００５４】
【数５】
2018101211.tif 000007
ＦＤ：視線正面度
ｉｒｉｓＲ．ｘ：右側の黒目の中心位置のｘ座標
ｉｒｉｓＬ．ｘ：左側の黒目の中心位置のｘ座標
ｆａｃｅｃｅｎ．ｘ：顔の中心のｘ座標
β：視線の向きが正面か否かを識別するための閾値
【００５５】
なお、本実施形態では、両眼などの左右の位置関係は、人物１１に対する左右ではなく、カメラ１２側から視た左右や、撮影により得られた二次元画像上の左右を表すものとして説明する。
【００５６】
つまり、上記第（６）式で表される視線正面度ＦＤは、ｘ軸方向について、左右の黒目中心の間の中央位置と、顔の中心線の位置（ｆａｃｅｃｅｎ．ｘ）との差分を表している。したがって、例えば中心線の位置（ｆａｃｅｃｅｎ．ｘ）から右側の黒目の中心位置までの距離と、左側の黒目の中心位置までの距離とが等距離であれば、視線の方向が正面を向いていると判定できる。また、ｘ軸方向の位置関係に基づき視線の方向が正面を向いていると判断できる状況であれば、同時にｙ軸方向についても視線の方向が正面を向いていると考えることができる。
【００５７】
また、視線正面度ＦＤは、視線の方向が正面を向いている時に０になり、視線の方向が正面からずれるに従って大きくなる。したがって、上記第（６）式により算出した視線正面度ＦＤを用いる場合には、図４のステップＳ１０４でこの視線正面度ＦＤを閾値βと比較することにより、視線の向きが正面か否かを識別できる。なお、閾値βの大きさについては、カメラ１２の撮影条件を表すパラメータや個人差などを考慮して最適な値を採用することが想定される。
【００５８】
＜眼球中心位置の算出＞
図４に示したステップＳ１０５で最新の眼球中心位置を算出するための処理について以下に説明する。
【００５９】
＜ｘ軸方向の顔の中心と画像の中心とが等しい場合＞
３次元眼球モデルの眼球中心、黒目中心、視角の水平面（又はｘ，ｚ軸と平行な面）内における位置関係の例を図９に示す。また、ｘ軸方向の顔の中心と画像の中心とが等しい場合の中心線と左右の黒目中心との位置関係の例を図１０に示す。また、ｘ軸方向の顔の中心と画像の中心とが等しい場合の視角、距離、左右の黒目中心の水平面内における位置関係の例を図１１に示す。
【００６０】
左右の目のそれぞれについてほぼ同じ方法で計算できるので、以下の説明では右側の目のみを計算対象として処理する場合を想定している。
例えば、図９に示した状態においては、次の第（７）式の関係が成立する。
【００６１】
Ｘｅｙｅｒ＝ｉｒｉｓＲ．ｘ−Ｒｏ・ｓｉｎθＲｙａｗ      ・・・（７）
Ｘｅｙｅｒ：右側の眼球中心のｘ座標
ｉｒｉｓＲ．ｘ：右側の黒目中心のｘ座標
Ｒｏ：眼球の半径（例えば定数）
θＲｙａｗ：右側の目の視線角度（ｙａｗ方向）
【００６２】
つまり、黒目中心の位置「ｉｒｉｓＲ．ｘ」および視線角度「θＲｙａｗ」が既知であれば、上記第（７）式から眼球中心のｘ座標「Ｘｅｙｅｒ」を算出できる。
【００６３】
また、図１０に示すように画像中の顔中心位置のｘ座標「ｆａｃｅｃｅｎ．ｘ」と、カメラで撮影した画像の中心のｘ座標「Ｉｃｅｎｔｅｒ．ｘ」とが等しく、且つ図１１に示すような状況であることを想定すると、視線角度「θＲｙａｗ」は次の第（８）式で算出できる。
ｔａｎθＲｙａｗ＝（ｉｒｉｓＲ．ｘ−Ｉｃｅｎｔｅｒ．ｘ）／Ｄｆ  ・・・（８）
Ｄｆ：カメラと顔の間の距離
【００６４】
距離Ｄｆについては、例えば適当な距離センサを利用して計測すれば、既知情報として扱うことができる。また、例えば「特開２０１５−２０６７６４号公報」に開示されている技術を利用すれば、距離センサは不要になる。また、前述のように顔画像から黒目を検出できるので、黒目中心の位置「ｉｒｉｓＲ．ｘ」も既知情報として利用できる。更に、画像の中心のｘ座標「Ｉｃｅｎｔｅｒ．ｘ」としては例えば事前に定めた定数を利用することができる。
【００６５】
したがって、上記第（８）式から視線角度「θＲｙａｗ」を算出できる。また、この視線角度「θＲｙａｗ」と、黒目中心の位置「ｉｒｉｓＲ．ｘ」と、眼球の半径Ｒｏを前記第（７）式に代入することにより、右側の眼球中心のｘ座標Ｘｅｙｅｒを算出できる。
【００６６】
また、右側の眼球中心のｙ座標Ｙｅｙｅｒについても、以下の第（９）式及び第（１０）式を利用することにより同様に算出できる。
Ｙｅｙｅｒ＝ｉｒｉｓＲ．ｙ−Ｒｏ・ｓｉｎθＲｐｉｔｃｈ      ・・・（９）
Ｙｅｙｅｒ：右側の眼球中心のｙ座標
ｉｒｉｓＲ．ｙ：右側の黒目中心のｙ座標
Ｒｏ：眼球の半径（例えば定数）
θＲｐｉｔｃｈ：右側の目の視線角度（ｐｉｔｃｈ方向）
【００６７】
ｔａｎθＲｐｉｔｃｈ＝（ｉｒｉｓＲ．ｙ−Ｉｃｅｎｔｅｒ．ｙ）／Ｄｆ・・（１０）
Ｉｃｅｎｔｅｒ．ｙ：画像の中心のｙ座標
Ｄｆ：カメラと顔の間の距離
【００６８】
＜ｘ軸方向の顔の中心と画像の中心とがずれている場合＞
顔の中心と画像の中心とが同一でない場合の中心線と左右の黒目中心との位置関係の例を図１２に示す。また、顔の中心と画像の中心とが同一でない場合の視角、距離、左右の黒目中心の水平面（ｘ，ｚ軸と平行な面）内における位置関係の例を図１３に示す。
【００６９】
例えば、図１２に示すように顔の中心線のｘ座標「ｆａｃｅｃｅｎ．ｘ」が、画像の中心のｘ座標「Ｉｃｅｎｔｅｒ．ｘ」からずれている場合であっても、図１３に示すように顔はカメラ１２を中心とし、半径が距離Ｄｆで表される円周上に存在する。また、顔の中心位置「ｆａｃｅｃｅｎ．ｘ」と、画像の中心「Ｉｃｅｎｔｅｒ．ｘ」とは顔回転角度「ｆａｃｅｒａｄ」だけずれている。しかし、カメラ１２に対して顔が正面を向き、且つ両眼の各々の視線がカメラ１２に向いている状態であれば、右側の目の視線角度「θＲｙａｗ」は、図１３のように画像の中心「Ｉｃｅｎｔｅｒ．ｘ」に対する目の位置の回転角度として表すことができる。
【００７０】
したがって、ｘ軸方向の顔の中心と画像の中心とがずれている場合であっても、前記第（８）式を用いて視線角度「θＲｙａｗ」を算出できる。また、この視線角度「θＲｙａｗ」と前記第（７）式とに基づき、眼球中心のｘ座標「Ｘｅｙｅｒ」を算出できる。
【００７１】
一方、左側の目について眼球中心の座標を算出する場合であっても、以下に示す各計算式を用いることにより上記と同様に計算できる。
Ｘｅｙｅｌ＝ｉｒｉｓＬ．ｘ−Ｒｏ・ｓｉｎθＬｙａｗ      ・・・（１１）
Ｘｅｙｅｌ：左側の眼球中心のｘ座標
ｉｒｉｓＬ．ｘ：左側の黒目中心のｘ座標
Ｒｏ：眼球の半径（例えば定数）
θＬｙａｗ：左側の目の視線角度（ｙａｗ方向）
ｔａｎθＬｙａｗ＝（ｉｒｉｓＬ．ｘ−Ｉｃｅｎｔｅｒ．ｘ）／Ｄｆ  ・・・（１２）
Ｄｆ：カメラと顔の間の距離
【００７２】
Ｙｅｙｅｌ＝ｉｒｉｓＬ．ｙ−Ｒｏ・ｓｉｎθＬｐｉｔｃｈ      ・・・（１３）
Ｙｅｙｅｌ：左側の眼球中心のｙ座標
ｉｒｉｓＬ．ｙ：左側の黒目中心のｙ座標
Ｒｏ：眼球の半径（例えば定数）
θＬｐｉｔｃｈ：左側の目の視線角度（ｐｉｔｃｈ方向）
ｔａｎθＬｐｉｔｃｈ＝（ｉｒｉｓＬ．ｙ−Ｉｃｅｎｔｅｒ．ｙ）／Ｄｆ・・（１４）
Ｉｃｅｎｔｅｒ．ｙ：画像の中心のｙ座標
Ｄｆ：カメラと顔の間の距離
【００７３】
＜眼球中心位置の補正＞
３次元眼球モデル３０における眼球中心３１の位置座標に誤差がある場合であっても、上述の計算により得られる最新の眼球中心位置を用いて補正することで誤差が小さくなるように校正することができる。補正値は例えば以下に示す式により算出できる。
【００７４】
ｄＸｅｙｅ＝Ｘｅｙｅ−Ｘｅｙｅｍｏｄｅｌ    ・・・（１５）
ｄＹｅｙｅ＝Ｙｅｙｅ−Ｙｅｙｅｍｏｄｅｌ    ・・・（１６）
ｄＸｅｙｅ：ｘ座標の補正値（右又は左）
ｄＹｅｙｅ：ｙ座標の補正値（右又は左）
Ｘｅｙｅ：算出した最新の眼球中心位置のｘ座標（右又は左）
Ｙｅｙｅ：算出した最新の眼球中心位置のｙ座標（右又は左）
Ｘｅｙｅｍｏｄｅｌ：３次元眼球モデルにおける補正前の眼球中心ｘ座標（右又は左）
Ｙｅｙｅｍｏｄｅｌ：３次元眼球モデルにおける補正前の眼球中心ｙ座標（右又は左）
【００７５】
＜眼球中心位置補正１＞
眼球中心位置の補正値ｄＸｅｙｅと３次元眼球モデルおよび入力画像との関係の例を図１４に示す。
【００７６】
図４に示したステップＳ１０５においては、顔正面度Ｄが閾値α以下であり、且つ視線正面度ＦＤが閾値β以下であるので、最新の眼球中心位置の座標（Ｘｅｙｅ，Ｙｅｙｅ）を左右の目のそれぞれについて算出する。
【００７７】
そして、上記第（１５）式、第（１６）式により補正値ｄＸｅｙｅ、ｄＹｅｙｅを左右の目のそれぞれについて算出する。更に、誤差が小さくなるように、補正値ｄＸｅｙｅ、ｄＹｅｙｅを用いて図１４に示すように、３次元眼球モデル３０における眼球中心３１の位置座標を左右の目のそれぞれについて更新する。
【００７８】
＜眼球中心位置補正２＞
眼球中心位置の補正値を車載器の動作に反映するための処理の具体例を図１５に示す。
図４に示した処理を車載器に適用する場合には、人物１１が正面を向き、且つ視線も正面に向いた状態が検出される毎に、ステップＳ１０５が繰り返し実行される。したがって、車載器に電源が投入されてから動作が終了するまでの間に、新たな補正値を用いて眼球中心位置の更新を繰り返すことができる。
【００７９】
そこで、より適切な更新処理を行うために、例えば図１５に示した「眼球中心位置補正２」の処理をコンピュータが実行する。なお、図１５においてはｘ軸方向の座標のみを処理しているが、ｙ軸方向の座標についても同様に処理できる。図１５に示した処理により、眼球中心位置の座標を一定の値に収束させることができる。
【００８０】
図１５のステップＳ４１では、上述の第（７）式、第（８）式、第（１５）式に基づき、眼球中心位置の補正値ｄＸｅｙｅをコンピュータが算出する。また、ノイズの影響により生じる可能性のある明らかな外れ値を排除するために、次のステップＳ４２で、補正値ｄＸｅｙｅを所定の閾値と比較する。
【００８１】
補正値ｄＸｅｙｅが明らかな外れ値でない場合には、ステップＳ４３で更新回数値Ｎに１を加算する（Ｎの初期値は０）。また、次のステップＳ４４では今回の補正値ｄＸｅｙｅのデータを更新回数値Ｎに対応付けたメモリ位置に保存する。
【００８２】
ステップＳ４５では、コンピュータはメモリに保存されているＮ個の補正値ｄＸｅｙｅのデータを読み出して、これらを平均化した結果ｄＸｅｙｅ_Ｔを出力する。なお、平均化の具体的な方法については、単純な平均値、重み付けを行った平均値、移動平均値などの計算手法を適用可能である。
【００８３】
図１５に示したような処理を適用することにより、ノイズの影響による明らかな外れ値を更新対象から除外することができる。また、平均化により眼球中心位置の急激な変化を避けることができる。すなわち、ノイズに対してロバストになる。したがって、運転者の視線を監視する車載器のように、同一のユーザを対象とする動作を長時間にわたって行う環境においては、有効な眼球中心が随時更新されることによって高い視線検出精度が期待できる。
【００８４】
＜車載器の利点＞
上述の車載器においては、図４に示した処理を実行することにより、眼球中心３１の位置を自動的に校正することができる。しかも、この校正を行うためにユーザが特別な操作を実施する必要がなく、特別な校正機材を用意する必要もない。また、図１５に示した処理を繰り返し実行することにより、ノイズの影響を排除したり、急激な変化を防止できるので、車載器の誤動作を避けることが可能になる。
【００８５】
したがって、上述の技術は、車載カメラを用いた運転者の視線検出、わき見検出などに利用できる。また、例えばデジタルサイネージ（電子看板）の視認確認にも利用できる。
【００８６】
ここで、上述した本発明に係る車載器の実施形態の特徴をそれぞれ以下［１］〜［４］に簡潔に纏めて列記する。
［１］  顔を含むように撮影された顔画像から、該顔画像に含まれる眼球がモデル化された３次元眼球モデル（３次元眼球モデル３０）における中心（眼球中心３１）が位置する眼球中心座標を算出する（Ｓ１０５）データ処理部（処理部１３）を備える車載器。
［２］  前記データ処理部は、
前記顔画像に含まれる黒目の中心が、前記３次元眼球モデル上に位置する黒目中心位置を算出し、
前記黒目中心位置と前記顔画像における中央線との距離に基づいて視線角度を算出し、
前記黒目中心位置と前記視線角度に基づき、前記３次元眼球モデルにおける前記眼球中心座標を算出する（第（７）式参照）
上記［１］に記載の車載器。
［３］  前記データ処理部は、
前記顔画像に含まれる顔が正面を向いているか否かを判定し（Ｓ１０２）、
前記顔画像に含まれる黒目位置に基づく視線が正面を向いているか否かを判定し（Ｓ１０４）、
顔及び視線が正面を向いていると判定した場合に、前記３次元眼球モデルにおける前記眼球中心座標を算出する（Ｓ１０５）
上記［１］または［２］に記載の車載器。
［４］  前記データ処理部は、
前記眼球中心座標の算出処理を繰り返し行うと共に、算出結果を保存し、複数の算出結果を平均化した結果を出力する（Ｓ４５）
上記［１］乃至［３］のいずれかに記載の車載器。
【符号の説明】
【００８７】
１０  車両の車室内
１１  人物
１１ａ  目の領域
１１ｂ  視線
１２  カメラ
１３  処理部
３０  ３次元眼球モデル
３１  眼球中心
３２  黒目（虹彩）
３２ａ  黒目中心（瞳孔）
３５  目の領域の二次元画像
Ｄ  顔正面度
【図１】
2018101211.tif 000008
【図２】
2018101211.tif 000009
【図３】
2018101211.tif 000010
【図４】
2018101211.tif 000011
【図５】
2018101211.tif 000012
【図６】
2018101211.tif 000013
【図７】
2018101211.tif 000014
【図８】
2018101211.tif 000015
【図９】
2018101211.tif 000016
【図１０】
2018101211.tif 000017
【図１１】
2018101211.tif 000018
【図１２】
2018101211.tif 000019
【図１３】
2018101211.tif 000020
【図１４】
2018101211.tif 000021
【図１５】
2018101211.tif 000022