(57)【要約】【課題】撮影された顔画像中で顔の向きが正面を向いているか否かを精度よく検出すること。【解決手段】顔画像Ｆが低解像度化された第１の画像データＦｓｍａｌｌと、前記顔画像を左右反転された画像ＦＬが低解像度化された第２の画像データＦＬｓｍａｌｌの類似性を顔正面度Ｄとして算出する。顔が正面を向き、視線の向きが正面である状態で、３次元眼球モデルにおける眼球中心位置の校正を自動的に実施する。低解像度化された画像を処理することにより、計算処理量が低減される。更に顔の向きと無関係な黒子などの個人の身体的な特徴の影響が抑制されるため、顔正面度Ｄを高精度で算出できる。【選択図】図５
2018101212.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）により表すことができる。
【００３２】
一方、カメラ１２が撮影する映像は特定の２次元平面を表している。したがって、入力画像として例えば図３に示した目の領域の二次元画像３５が入力された場合には、３次元眼球モデル３０を利用するために二次元／三次元の相互変換を行う必要がある。
【００３３】
具体的には、目の領域の二次元画像３５の中で黒目中心３２ａの位置、および眼球中心３１の位置の二次元座標をそれぞれ検出し、これらの二次元座標を３次元眼球モデル３０の三次元座標上に投影する。これにより視線１１ｂのベクトルを算出することができる。視線１１ｂのベクトルと、各方向の回転角度ｙａｗ、ｐｉｔｃｈとの関係は次式で表される。
【００３４】
Ｘ＝−Ｒ×ｃｏｓ（ｐｉｔｃｈ）×ｓｉｎ（ｙａｗ）    ・・・（１）
Ｙ＝Ｒ×ｓｉｎ（ｐｉｔｃｈ）                        ・・・（２）
Ｘ：二次元画像平面上での眼球中心３１からのｘ方向の距離
Ｙ：二次元画像平面上での眼球中心３１からのｙ方向の距離
【００３５】
＜特徴的な処理の説明＞
＜処理の概要＞
３次元眼球モデル３０における眼球中心３１の位置を自動的に校正するための処理手順の概要を図４に示す。例えば、処理部１３内部のコンピュータが、図２に示したステップＳ１４として図４に示した処理を実行することにより、眼球中心３１の位置が自動的に校正される。これにより、眼球中心３１の位置精度が向上するので、視線検出精度も上がる。校正のために運転者等のユーザが特別な操作を行う必要もない。
【００３６】
図４のステップＳ１０１では、入力画像に映っている人物１１の顔の正面度、すなわち「顔が正面を向いている度合」をコンピュータが計算する。そして、Ｓ１０１の計算結果に基づき、「顔が正面を向いている」とみなせる状態であれば、ステップＳ１０２からＳ１０３に進む。
【００３７】
ステップＳ１０３では、入力画像に映っている人物１１の視線の正面度、すなわち「視線の方向が正面を向いている度合」をコンピュータが計算する。そして、Ｓ１０３の計算結果に基づき、「視線の方向が正面を向いている」とみなせる状態であれば、ステップＳ１０４からＳ１０５に進む。
【００３８】
ステップＳ１０５では、入力画像に映っている人物１１の現在の特徴に基づいて、最新の眼球中心位置を算出し、眼球中心位置を更新するために必要な補正値を求める。この補正値を次のステップＳ１０６で、３次元眼球モデル３０の眼球中心３１の座標に反映し校正を実行する。
【００３９】
＜「顔正面度」の計算の詳細＞
「顔正面度」は、入力画像上において「顔が正面を向いている度合」を表す。「顔正面度」を計算するための具体的な処理手順を図５に示す。この処理手順を図４に示したステップＳ１０１で実行する。また、顔正面度を算出する際の処理前後の顔画像の状態変化を図６に示す。図５に示した「顔正面度計算」について以下に説明する。
【００４０】
図５のステップＳ３１では、図２のＳ１２で検出された顔領域の画像データＦを処理対象として入力する。顔領域の画像データＦにおける顔の中心座標は、図６に示すようにｘ軸方向の顔の中央位置（ｆａｃｅｃｅｎ．ｘ）と、ｙ軸方向の中央位置（ｆａｃｅｃｅｎ．ｙ）とで表される。
【００４１】
図５のステップＳ３２では、Ｓ３１で入力した顔領域の画像データＦを処理して、顔画像におけるｘ軸の中央（ｆａｃｅｃｅｎ．ｘ）に対して左右を反転した左右反転画像データＦＬをコンピュータが作成する。
【００４２】
次のステップＳ３３では、画像データＦを処理することにより縮小画像データＦｓｍａｌｌをコンピュータが作成する。この処理は画像の解像度を下げることを意味している。例えば、画像データＦにおいてｘ方向に互いに隣接する２つの画素のうち１つを間引きして１画素に減らすことによりｘ方向の解像度を半分にして画素数も半分にすることができる。また間引きを行う際に、例えば隣接する２つの画素の輝度の平均値を算出して間引き後の画素の輝度に反映してもよい。同様に、画像データＦにおいてｙ方向に互いに隣接する２つの画素のうち１つを間引きして１画素に減らすことによりｙ方向の解像度を半分にして画素数も半分にすることができる。このようにして画素数を減らすと、画像全体のサイズも縮小される。
【００４３】
実際には、顔正面度の検出に適した解像度になるようにステップＳ３３で縮小画像データＦｓｍａｌｌを作成する。例えば黒子のような個人の身体的な特徴は排除し、且つ黒目の位置のように顔の向きと大きな関係のある情報が正しく残るように適切な解像度の縮小画像データＦｓｍａｌｌを作成する。図６に示した例では、縮小画像データＦｓｍａｌｌは、低解像度化により、ｘ方向の画素数Ｍが「２０」、ｙ方向の画素数Ｎが「２０」になり、総画素数（Ｍ×Ｎ）が元の画像データＦに比べて大幅に減少している。
【００４４】
次のステップＳ３４では、Ｓ３２で作成した左右反転画像データＦＬを処理することにより縮小画像データＦＬｓｍａｌｌをコンピュータが作成する。この処理は画像の解像度を下げることを意味している。例えば、左右反転画像データＦＬにおいてｘ方向に互いに隣接する２つの画素のうち１つを間引きして１画素に減らすことによりｘ方向の解像度を半分にして画素数も半分にすることができる。また間引きを行う際に、例えば隣接する２つの画素の輝度の平均値を算出して間引き後の画素の輝度に反映してもよい。同様に、左右反転画像データＦＬにおいてｙ方向に互いに隣接する２つの画素のうち１つを間引きして１画素に減らすことによりｙ方向の解像度を半分にして画素数も半分にすることができる。図６に示した例では、縮小画像データＦＬｓｍａｌｌは、低解像度化により、ｘ方向の画素数Ｍが「２０」、ｙ方向の画素数Ｎが「２０」になり、総画素数（Ｍ×Ｎ）が処理前の画像データＦＬに比べて大幅に減少している。
【００４５】
ステップＳ３５では、Ｓ３３の縮小画像データＦｓｍａｌｌと、Ｓ３４の縮小画像データＦＬｓｍａｌｌとの類似性を、コンピュータが顔正面度Ｄとして算出する。なお、この例では図６に示すように２つの縮小画像データＦｓｍａｌｌ、ＦＬｓｍａｌｌの解像度が同じ場合を想定している。この場合の顔正面度Ｄは次式により算出される。
【００４６】
【数１】
2018101212.tif 000003
Ｄ：顔正面度
Ｎ：ｘ方向の解像度を表す画素数
Ｍ：ｙ方向の解像度を表す画素数
Ｆｓｍａｌｌ（ｉ，ｊ）：縮小画像データＦｓｍａｌｌにおける座標（ｉ，ｊ）の画素の輝度値
ＦＬｓｍａｌｌ（ｉ，ｊ）：縮小画像データＦＬｓｍａｌｌにおける座標（ｉ，ｊ）の画素の輝度値
α：顔正面度を判定するための閾値
【００４７】
つまり、総画素数（Ｎ×Ｍ）が共通の第１の画像データ（Ｆｓｍａｌｌ）と、第２の画像データ（ＦＬｓｍａｌｌ）とを同じ位置の画素毎に比較し、前記第１の画像データにおける画素の輝度と、前記第２の画像データにおける画素の輝度との差分を集計して顔正面度Ｄを算出する。
【００４８】
なお、顔の中心位置を表すｘ座標の値（ｆａｃｅｃｅｎ．ｘ）およびｙ座標の値（ｆａｃｅｃｅｎ．ｙ）は、それぞれ顔領域の画像データＦにおける横（ｘ）方向の中央値、および縦（ｙ）方向の中央値として算出できる。
【００４９】
上記第（３）式により算出した顔正面度Ｄを用いる場合には、図４のステップＳ１０２でこの顔正面度Ｄを閾値αと比較することにより、顔向きが正面か否かを識別できる。なお、閾値αの大きさについては、カメラ１２の撮影条件を表すパラメータや個人差などを考慮して最適な値を採用することが想定される。
【００５０】
つまり、顔の特徴が顔の中央（ｆａｃｅｃｅｎ．ｘ）に対して左右対称である場合を想定すれば、顔の中央から左側の特徴と右側の特徴とが等しい。したがって、画像データＦと左右反転画像データＦＬとの類似性を反映した顔正面度Ｄは、顔向きが正面に近い状態で非常に小さくなり、顔向きが正面からずれると大きくなる。
【００５１】
また、上記第（３）式においては、画像データＦ、ＦＬの代わりに、これらよりも解像度が低い縮小画像データＦｓｍａｌｌ、ＦＬｓｍａｌｌの類似性を顔正面度Ｄとして算出している。これにより次の（１）、（２）の利点が得られる。
【００５２】
（１）処理対象のデータ量、すなわち画素数が少なくなるので、計算の処理量が減る。したがって、車載器に高性能のコンピュータを搭載しなくても短時間で処理を完了できる。
（２）顔の向きとは無関係な画像上の左右の局所的な差異の影響を排除することが容易になる。例えば、個人の身体的な特徴である黒子の有無やその位置は、顔の向きとは無関係であるが、画像上の左右の差異として検出され、顔正面度Ｄの値に影響を及ぼす。しかし、解像度が低い縮小画像データＦｓｍａｌｌ、ＦＬｓｍａｌｌを利用する場合には、小さい黒子の影響は無視されることになり、顔正面度Ｄの値に影響しなくなる。
【００５３】
＜「視線正面度」の計算の詳細＞
顔画像における顔の中心線と左右の黒目位置との関係の具体例を図７に示す。
視線正面度ＦＤは、入力画像に映っている人物１１の視線の方向が正面を向いている度合、つまり、左右それぞれの目に３次元眼球モデル３０を適用して得られた回転角度より計算される視線方向θ（ｙａｗ，ｐｉｔｃｈ）が０度である度合を表す。
【００５４】
本実施形態では、図４の通り「顔の向きが正面である」という条件を満たしていることを前提として、次式によりコンピュータが視線正面度ＦＤを算出する。
【数２】
2018101212.tif 000004
ＦＤ：視線正面度
ｉｒｉｓＲ．ｘ：右側の黒目の中心位置のｘ座標
ｉｒｉｓＬ．ｘ：左側の黒目の中心位置のｘ座標
ｆａｃｅｃｅｎ．ｘ：顔の中心のｘ座標
β：視線の向きが正面か否かを識別するための閾値
【００５５】
なお、本実施形態では、両眼などの左右の位置関係は、人物１１に対する左右ではなく、カメラ１２側から視た左右や、撮影により得られた二次元画像上の左右を表すものとして説明する。
【００５６】
つまり、上記第（４）式で表される視線正面度ＦＤは、ｘ軸方向について、左右の黒目中心の間の中央位置と、顔の中心線の位置（ｆａｃｅｃｅｎ．ｘ）との差分を表している。したがって、例えば中心線の位置（ｆａｃｅｃｅｎ．ｘ）から右側の黒目の中心位置までの距離と、左側の黒目の中心位置までの距離とが等距離であれば、視線の方向が正面を向いていると判定できる。また、ｘ軸方向の位置関係に基づき視線の方向が正面を向いていると判断できる状況であれば、同時にｙ軸方向についても視線の方向が正面を向いていると考えることができる。
【００５７】
また、視線正面度ＦＤは、視線の方向が正面を向いている時に０になり、視線の方向が正面からずれるに従って大きくなる。したがって、上記第（４）式により算出した視線正面度ＦＤを用いる場合には、図４のステップＳ１０４でこの視線正面度ＦＤを閾値βと比較することにより、視線の向きが正面か否かを識別できる。なお、閾値βの大きさについては、カメラ１２の撮影条件を表すパラメータや個人差などを考慮して最適な値を採用することが想定される。
【００５８】
＜眼球中心位置の算出＞
図４に示したステップＳ１０５で最新の眼球中心位置を算出するための処理について以下に説明する。
【００５９】
＜ｘ軸方向の顔の中心と画像の中心とが等しい場合＞
３次元眼球モデルの眼球中心、黒目中心、視角の水平面（又はｘ，ｚ軸と平行な面）内における位置関係の例を図８に示す。また、ｘ軸方向の顔の中心と画像の中心とが等しい場合の中心線と左右の黒目中心との位置関係の例を図９に示す。また、ｘ軸方向の顔の中心と画像の中心とが等しい場合の視角、距離、左右の黒目中心の水平面内における位置関係の例を図１０に示す。
【００６０】
左右の目のそれぞれについてほぼ同じ方法で計算できるので、以下の説明では右側の目のみを計算対象として処理する場合を想定している。
例えば、図８に示した状態においては、次の第（５）式の関係が成立する。
【００６１】
Ｘｅｙｅｒ＝ｉｒｉｓＲ．ｘ−Ｒｏ・ｓｉｎθＲｙａｗ      ・・・（５）
Ｘｅｙｅｒ：右側の眼球中心のｘ座標
ｉｒｉｓＲ．ｘ：右側の黒目中心のｘ座標
Ｒｏ：眼球の半径（例えば定数）
θＲｙａｗ：右側の目の視線角度（ｙａｗ方向）
【００６２】
つまり、黒目中心の位置「ｉｒｉｓＲ．ｘ」および視線角度「θＲｙａｗ」が既知であれば、上記第（５）式から眼球中心のｘ座標「Ｘｅｙｅｒ」を算出できる。
【００６３】
また、図９に示すように画像中の顔中心位置のｘ座標「ｆａｃｅｃｅｎ．ｘ」と、カメラで撮影した画像の中心のｘ座標「Ｉｃｅｎｔｅｒ．ｘ」とが等しく、且つ図１０に示すような状況であることを想定すると、視線角度「θＲｙａｗ」は次の第（６）式で算出できる。
ｔａｎθＲｙａｗ＝（ｉｒｉｓＲ．ｘ−Ｉｃｅｎｔｅｒ．ｘ）／Ｄｆ  ・・・（６）
Ｄｆ：カメラと顔の間の距離
【００６４】
距離Ｄｆについては、例えば適当な距離センサを利用して計測すれば、既知情報として扱うことができる。また、例えば「特開２０１５−２０６７６４号公報」に開示されている技術を利用すれば、距離センサは不要になる。また、前述のように顔画像から黒目を検出できるので、黒目中心の位置「ｉｒｉｓＲ．ｘ」も既知情報として利用できる。更に、画像の中心のｘ座標「Ｉｃｅｎｔｅｒ．ｘ」としては例えば事前に定めた定数を利用することができる。
【００６５】
したがって、上記第（６）式から視線角度「θＲｙａｗ」を算出できる。また、この視線角度「θＲｙａｗ」と、黒目中心の位置「ｉｒｉｓＲ．ｘ」と、眼球の半径Ｒｏを前記第（５）式に代入することにより、右側の眼球中心のｘ座標Ｘｅｙｅｒを算出できる。
【００６６】
また、右側の眼球中心のｙ座標Ｙｅｙｅｒについても、以下の第（７）式及び第（８）式を利用することにより同様に算出できる。
Ｙｅｙｅｒ＝ｉｒｉｓＲ．ｙ−Ｒｏ・ｓｉｎθＲｐｉｔｃｈ      ・・・（７）
Ｙｅｙｅｒ：右側の眼球中心のｙ座標
ｉｒｉｓＲ．ｙ：右側の黒目中心のｙ座標
Ｒｏ：眼球の半径（例えば定数）
θＲｐｉｔｃｈ：右側の目の視線角度（ｐｉｔｃｈ方向）
【００６７】
ｔａｎθＲｐｉｔｃｈ＝（ｉｒｉｓＲ．ｙ−Ｉｃｅｎｔｅｒ．ｙ）／Ｄｆ・・（８）
Ｉｃｅｎｔｅｒ．ｙ：画像の中心のｙ座標
Ｄｆ：カメラと顔の間の距離
【００６８】
＜ｘ軸方向の顔の中心と画像の中心とがずれている場合＞
顔の中心と画像の中心とが同一でない場合の中心線と左右の黒目中心との位置関係の例を図１１に示す。また、顔の中心と画像の中心とが同一でない場合の視角、距離、左右の黒目中心の水平面（ｘ，ｚ軸と平行な面）内における位置関係の例を図１２に示す。
【００６９】
例えば、図１１に示すように顔の中心線のｘ座標「ｆａｃｅｃｅｎ．ｘ」が、画像の中心のｘ座標「Ｉｃｅｎｔｅｒ．ｘ」からずれている場合であっても、図１２に示すように顔はカメラ１２を中心とし、半径が距離Ｄｆで表される円周上に存在する。また、顔の中心位置「ｆａｃｅｃｅｎ．ｘ」と、画像の中心「Ｉｃｅｎｔｅｒ．ｘ」とは顔回転角度「ｆａｃｅｒａｄ」だけずれている。しかし、カメラ１２に対して顔が正面を向き、且つ両眼の各々の視線がカメラ１２に向いている状態であれば、右側の目の視線角度「θＲｙａｗ」は、図１２のように画像の中心「Ｉｃｅｎｔｅｒ．ｘ」に対する目の位置の回転角度として表すことができる。
【００７０】
したがって、ｘ軸方向の顔の中心と画像の中心とがずれている場合であっても、前記第（６）式を用いて視線角度「θＲｙａｗ」を算出できる。また、この視線角度「θＲｙａｗ」と前記第（５）式とに基づき、眼球中心のｘ座標「Ｘｅｙｅｒ」を算出できる。
【００７１】
一方、左側の目について眼球中心の座標を算出する場合であっても、以下に示す各計算式を用いることにより上記と同様に計算できる。
Ｘｅｙｅｌ＝ｉｒｉｓＬ．ｘ−Ｒｏ・ｓｉｎθＬｙａｗ      ・・・（９）
Ｘｅｙｅｌ：左側の眼球中心のｘ座標
ｉｒｉｓＬ．ｘ：左側の黒目中心のｘ座標
Ｒｏ：眼球の半径（例えば定数）
θＬｙａｗ：左側の目の視線角度（ｙａｗ方向）
ｔａｎθＬｙａｗ＝（ｉｒｉｓＬ．ｘ−Ｉｃｅｎｔｅｒ．ｘ）／Ｄｆ  ・・・（１０）
Ｄｆ：カメラと顔の間の距離
【００７２】
Ｙｅｙｅｌ＝ｉｒｉｓＬ．ｙ−Ｒｏ・ｓｉｎθＬｐｉｔｃｈ      ・・・（１１）
Ｙｅｙｅｌ：左側の眼球中心のｙ座標
ｉｒｉｓＬ．ｙ：左側の黒目中心のｙ座標
Ｒｏ：眼球の半径（例えば定数）
θＬｐｉｔｃｈ：左側の目の視線角度（ｐｉｔｃｈ方向）
ｔａｎθＬｐｉｔｃｈ＝（ｉｒｉｓＬ．ｙ−Ｉｃｅｎｔｅｒ．ｙ）／Ｄｆ・・（１２）
Ｉｃｅｎｔｅｒ．ｙ：画像の中心のｙ座標
Ｄｆ：カメラと顔の間の距離
【００７３】
＜眼球中心位置の補正＞
３次元眼球モデル３０における眼球中心３１の位置座標に誤差がある場合であっても、上述の計算により得られる最新の眼球中心位置を用いて補正することで誤差が小さくなるように校正することができる。補正値は例えば以下に示す式により算出できる。
【００７４】
ｄＸｅｙｅ＝Ｘｅｙｅ−Ｘｅｙｅｍｏｄｅｌ    ・・・（１３）
ｄＹｅｙｅ＝Ｙｅｙｅ−Ｙｅｙｅｍｏｄｅｌ    ・・・（１４）
ｄＸｅｙｅ：ｘ座標の補正値（右又は左）
ｄＹｅｙｅ：ｙ座標の補正値（右又は左）
Ｘｅｙｅ：算出した最新の眼球中心位置のｘ座標（右又は左）
Ｙｅｙｅ：算出した最新の眼球中心位置のｙ座標（右又は左）
Ｘｅｙｅｍｏｄｅｌ：３次元眼球モデルにおける補正前の眼球中心ｘ座標（右又は左）
Ｙｅｙｅｍｏｄｅｌ：３次元眼球モデルにおける補正前の眼球中心ｙ座標（右又は左）
【００７５】
＜眼球中心位置補正１＞
眼球中心位置の補正値ｄＸｅｙｅと３次元眼球モデルおよび入力画像との関係の例を図１３に示す。
【００７６】
図４に示したステップＳ１０５においては、顔正面度Ｄが閾値α以下であり、且つ視線正面度ＦＤが閾値β以下であるので、最新の眼球中心位置の座標（Ｘｅｙｅ，Ｙｅｙｅ）を左右の目のそれぞれについて算出する。
【００７７】
そして、上記第（１３）式、第（１４）式により補正値ｄＸｅｙｅ、ｄＹｅｙｅを左右の目のそれぞれについて算出する。更に、誤差が小さくなるように、補正値ｄＸｅｙｅ、ｄＹｅｙｅを用いて図１３に示すように、３次元眼球モデル３０における眼球中心３１の位置座標を左右の目のそれぞれについて更新する。
【００７８】
＜眼球中心位置補正２＞
眼球中心位置の補正値を車載器の動作に反映するための処理の具体例を図１４に示す。
図４に示した処理を車載器に適用する場合には、人物１１が正面を向き、且つ視線も正面に向いた状態が検出される毎に、ステップＳ１０５が繰り返し実行される。したがって、車載器に電源が投入されてから動作が終了するまでの間に、新たな補正値を用いて眼球中心位置の更新を繰り返すことができる。
【００７９】
そこで、より適切な更新処理を行うために、例えば図１４に示した「眼球中心位置補正２」の処理をコンピュータが実行する。なお、図１４においてはｘ軸方向の座標のみを処理しているが、ｙ軸方向の座標についても同様に処理できる。図１４に示した処理により、眼球中心位置の座標を一定の値に収束させることができる。
【００８０】
図１４のステップＳ４１では、上述の第（５）式、第（６）式、第（１３）式に基づき、眼球中心位置の補正値ｄＸｅｙｅをコンピュータが算出する。また、ノイズの影響により生じる可能性のある明らかな外れ値を排除するために、次のステップＳ４２で、補正値ｄＸｅｙｅを所定の閾値と比較する。
【００８１】
補正値ｄＸｅｙｅが明らかな外れ値でない場合には、ステップＳ４３で更新回数値Ｎに１を加算する（Ｎの初期値は０）。また、次のステップＳ４４では今回の補正値ｄＸｅｙｅのデータを更新回数値Ｎに対応付けたメモリ位置に保存する。
【００８２】
ステップＳ４５では、コンピュータはメモリに保存されているＮ個の補正値ｄＸｅｙｅのデータを読み出して、これらを平均化した結果ｄＸｅｙｅ_Ｔを出力する。なお、平均化の具体的な方法については、単純な平均値、重み付けを行った平均値、移動平均値などの計算手法を適用可能である。
【００８３】
図１４に示したような処理を適用することにより、ノイズの影響による明らかな外れ値を更新対象から除外することができる。また、平均化により眼球中心位置の急激な変化を避けることができる。すなわち、ノイズに対してロバストになる。したがって、運転者の視線を監視する車載器のように、同一のユーザを対象とする動作を長時間にわたって行う環境においては、有効な眼球中心が随時更新されることによって高い視線検出精度が期待できる。
【００８４】
＜車載器の利点＞
上述の車載器においては、図５に示した処理に相当する顔正面度算出方法を適用することにより、人物１１の顔が正面を向いている度合を単純な計算処理で正確に検出できる。更に、入力画像に比べて解像度を下げた縮小画像データＦｓｍａｌｌ、ＦＬｓｍａｌｌを利用するので、計算の処理量を削減できる。また、黒子のような個人の身体的な特徴の影響による計算誤差を低減できる。
【００８５】
また、図４に示した処理を実行し、人物１１の顔が正面を向いていることを検知した状態でのみ眼球中心３１の位置を補正することにより、校正における誤差を減らすことができる。更に、図４に示した処理のように、人物１１の顔が正面を向き、且つ視線が正面を向いていることを検知した状態でのみ眼球中心３１の位置を補正することで、誤差の発生を低減できる。また、この校正を行うためにユーザが特別な操作を実施する必要がなく、特別な校正機材を用意する必要もない。また、図１４に示した処理を繰り返し実行することにより、ノイズの影響を排除したり、急激な変化を防止できるので、車載器の誤動作を避けることが可能になる。
【００８６】
したがって、上述の技術は、車載カメラを用いた運転者の視線検出、わき見検出などに利用できる。また、例えばデジタルサイネージ（電子看板）の視認確認にも利用できる。
【００８７】
ここで、上述した本発明に係る車載器及び顔正面度算出方法の実施形態の特徴をそれぞれ以下［１］〜［５］に簡潔に纏めて列記する。
［１］  顔を含むように撮影された顔画像から、前記顔が正面を向いている度合を表す顔正面度を算出するデータ処理部を備える車載器であって、
前記データ処理部（処理部１３）は、前記顔画像が低解像度化された第１の画像データ（Ｆｓｍａｌｌ）と、前記顔画像を左右反転された画像が低解像度化された第２の画像データ（ＦＬｓｍａｌｌ）を対比することによって前記顔正面度（Ｄ）を算出する（Ｓ３１〜Ｓ３５）、
ことを特徴とする車載器。
［２］  前記データ処理部は、
前記顔正面度が条件を満たす場合、前記顔画像に含まれる眼球がモデル化された３次元眼球モデル（３０）における中心が位置する眼球中心座標（眼球中心３１）を算出する（Ｓ１０５）、
ことを特徴とする上記［１］に記載の車載器。
［３］  前記データ処理部は、
前記顔正面度が条件を満たすか否かを判定し（Ｓ１０２）、
前記顔画像に含まれる黒目位置に基づく視線が正面を向いているか否かを判定し（Ｓ１０４）、
顔及び視線が正面を向いていると判定した場合に、前記３次元眼球モデルにおける前記眼球中心座標を算出する（Ｓ１０５）
ことを特徴とする上記［２］に記載の車載器。
［４］  前記データ処理部は、
総画素数が共通の前記第１の画像データと、前記第２の画像データとを同じ位置の画素毎に比較し、前記第１の画像データにおける画素の輝度と、前記第２の画像データにおける画素の輝度との差分を集計して前記顔正面度を算出する（第（３）式参照）、
ことを特徴とする上記［１］乃至［３］のいずれかに記載の車載器。
［５］  顔を含むように撮影された顔画像から、前記顔が正面を向いている度合を表す顔正面度を算出する顔正面度算出方法であって、
前記顔画像が低解像度化された第１の画像データ（Ｆｓｍａｌｌ）と、前記顔画像を左右反転された画像が低解像度化された第２の画像データ（ＦＬｓｍａｌｌ）を対比することによって前記顔正面度（Ｄ）を算出する、
ことを特徴とする顔正面度算出方法。
【符号の説明】
【００８８】
１０  車両の車室内
１１  人物
１１ａ  目の領域
１１ｂ  視線
１２  カメラ
１３  処理部
３０  ３次元眼球モデル
３１  眼球中心
３２  黒目（虹彩）
３２ａ  黒目中心（瞳孔）
３５  目の領域の二次元画像
Ｆ  画像データ
ＦＬ  左右反転画像データ
Ｆｓｍａｌｌ，ＦＬｓｍａｌｌ  縮小画像データ
α，β  閾値
【図１】
2018101212.tif 000005
【図２】
2018101212.tif 000006
【図３】
2018101212.tif 000007
【図４】
2018101212.tif 000008
【図５】
2018101212.tif 000009
【図６】
2018101212.tif 000010
【図７】
2018101212.tif 000011
【図８】
2018101212.tif 000012
【図９】
2018101212.tif 000013
【図１０】
2018101212.tif 000014
【図１１】
2018101212.tif 000015
【図１２】
2018101212.tif 000016
【図１３】
2018101212.tif 000017
【図１４】
2018101212.tif 000018