(57)【要約】【課題】注視領域の検出における処理負荷の軽減と検出精度の向上を両立させる技術を提供する。【解決手段】Ｓ１の特徴点検出処理では、画像処理装置は、撮像画像の全体から目の位置を表す複数の特徴点を検出する。Ｓ２の目判定処理では、画像処理装置は、特徴点検出処理で検出された複数の特徴点を含むように撮像画像中の判定領域を設定し、判定領域から得られる情報を用いて、複数の特徴点が目の位置を正しく表しているか否かを判定する。また、特徴点検出処理では、画像処理装置は、複数の特徴点の位置を表現した形状ベクトルの初期値を与え、撮像画像の情報を用いて算出される形状ベクトルの補正量を用いて、形状ベクトルを更新する処理を繰り返すことで、複数の特徴点を検出する。【選択図】図２
2020126573.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像の全体から目の位置を表す複数の特徴点を検出するように構成された特徴点検出部（２０：Ｓ１）と、
前記特徴点検出部で検出された前記複数の特徴点を含むように前記撮像画像中の判定領域を設定し、前記判定領域から得られる情報を用いて、前記複数の特徴点が目の位置を正しく表しているか否かを判定するように構成された判定部（２０：Ｓ２）と、
を備え、
前記特徴点検出部は、前記複数の特徴点の位置を表現したベクトルを形状ベクトルとして、前記形状ベクトルの初期値を与え、前記撮像画像の情報を用いて算出される前記形状ベクトルの補正量を用いて、前記形状ベクトルを更新する処理を繰り返すことで、前記撮像画像中の真の目の位置を表す前記複数の特徴点を検出する、
画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記特徴点検出部は、前記撮像画像から算出される特徴量と、前記形状ベクトルに対する補正量との関係を表す回帰関数を用いて、前記形状ベクトルの補正量を算出する、
画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記特徴点検出部にて使用される前記回帰関数は、勾配ブースティングによって学習される回帰木であって、木構造をとる弱仮説の集合として実現される
画像処理装置。
【請求項４】
請求項２または請求項３に記載の画像処理装置であって、
前記特徴点検出部は、前記特徴量として、前記撮像画像中から選択される二つのピクセルの差分値を用いる、
画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記特徴量の算出に使用される前記ピクセルの位置は、前記形状ベクトルによって決まる基点からの相対位置で表現される
画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記特徴点検出部は、複数の前記撮像画像における前記複数の特徴点の平均位置と個々の前記撮像画像における前記複数の特徴点の位置との位置ずれを小さくする変換行列を用い、前記変換行列で変換された相対位置を用いて前記二つのピクセルを選択する
画像処理装置。
【請求項７】
請求項１から請求項６までのいずれか１項に記載の画像処理装置であって、
前記特徴点検出部は、前記特徴点として、目尻および目頭の少なくとも一方に対応する前記撮像画像上の点を用いる
画像処理装置。
【請求項８】
請求項１から請求項７までのいずれか１項に記載の画像処理装置であって、
前記判定部にて、前記複数の特徴点が目の位置を正しく表していると判定された場合、前記特徴点検出部にて検出された前記複数の特徴点の位置を含んで設定される目周辺領域の情報を用いて、前記撮像画像中の目が注視する方向である注視方向を検出する方向検出部（２０：Ｓ４）を更に備える、
画像処理装置。
【請求項９】
請求項８に記載の画像処理装置であって、
前記方向検出部は、前記注視方向を表すベクトルを注視ベクトルとして、前記注視ベクトルの初期値を与え、前記目周辺領域の情報を用いて算出される前記注視ベクトルの修正量によって前記注視ベクトルを修正し、該修正された注視ベクトルが示す方向を、前記注視方向として検出する
画像処理装置。
【請求項１０】
撮像画像の全体から目の位置を表す複数の特徴点を検出するように構成された特徴点検出部（２０：Ｓ１）と、
前記特徴点検出部で検出された前記複数の特徴点を含むように前記撮像画像中の判定領域を設定し、前記判定領域から得られる情報を用いて、前記複数の特徴点が目の位置を正しく表しているか否かを判定するように構成された判定部（２０：Ｓ２）と、
前記判定部にて、前記複数の特徴点が目の位置を正しく表していると判定された場合、前記特徴点検出部にて検出された前記複数の特徴点の位置を含んで設定される目周辺領域の情報を用いて、前記撮像画像中の目が注視する方向である注視方向を検出する方向検出部（２０：Ｓ４）とを備え、
前記方向検出部は、前記注視方向を表すベクトルを注視ベクトルとして、前記注視ベクトルの初期値を与え、前記目周辺領域の情報を用いて算出される前記注視ベクトルの修正量によって前記注視ベクトルを修正し、該修正された注視ベクトルが示す方向を、前記注視方向として検出する
画像処理装置。
【請求項１１】
請求項９または請求項１０に記載の画像処理装置であって、
前記方向検出部は、前記撮像画像から算出される特徴量と、前記スコアベクトルに対する修正量との関係を表す回帰関数を用いて、前記注視ベクトルの修正量を算出する、
画像処理装置。
【請求項１２】
請求項１１に記載の画像処理装置であって、
前記方向検出部にて使用される前記回帰関数は、勾配ブースティングによって学習される回帰木であって、木構造をとる弱仮説の集合として実現される
画像処理装置。
【請求項１３】
請求項９から請求項１２までのいずれか１項に記載の画像処理装置であって、
前記方向検出部は、前記特徴量として、前記撮像画像中から選択される二つのピクセルの差分値を用いる、
画像処理装置。
【請求項１４】
請求項１３に記載の画像処理装置であって、
前記方向検出部にて前記特徴量の算出に使用される前記ピクセルの位置は、前記特徴点検出部にて検出された前記複数の特徴点によって決まる基点からの相対位置で表現される
画像処理装置。
【請求項１５】
請求項１４に記載の画像処理装置であって、
前記方向検出部は、前記基点として、目尻および目頭の少なくとも一方に対応する前記撮像画像上の点を用いる
画像処理装置。
【請求項１６】
請求項９から請求項１５までのいずれか１項に記載の画像処理装置であって、
前記方向検出部は、前記注視ベクトルとして、それぞれが、予め設定された複数の注視領域のいずれかに対応づけられる複数の要素を有するベクトルであって、前記視線方向に位置する前記注視領域に対応づけられた前記要素が大きな値をとり、それ以外の前記要素が小さな値をとるワンホット形式のベクトルを用い、前記修正された注視ベクトルにおいて最も大きな値を有する前記要素に対応づけられた前記注視領域が位置する方向を前記注視方向とする
画像処理装置。
【請求項１７】
請求項１６に記載の画像処理装置であって、
前記方向検出部は、前記修正された注視ベクトルにおいて最も大きな値を有する前記要素に対応づけられた前記注視領域が位置する方向を前記注視方向とする
画像処理装置。
【請求項１８】
請求項１から請求項１７までのいずれか１項に記載の画像処理装置であって、
前記判定部は、複数の弱識別器を結合した強識別器を用いて判定結果を得る、
画像処理装置。
【請求項１９】
請求項１８に記載の画像処理装置であって、
前記判定部は、前記弱識別器に入力するパラメータとして、前記判定領域から選択された二つのピクセル間の差分値を用いる、
画像処理装置。
【請求項２０】
請求項１９に記載の画像処理装置であって、
前記判定部は、前記特徴点検出部にて検出された前記複数の特徴点から推定される目の大きさが一定となるように正規化された前記判定領域を用いる、
画像処理装置。
【請求項２１】
請求項１から請求項２０までのいずれか１項に記載の画像処理装置であって、
前記撮像画像として、ドライバの顔画像が用いられる
画像処理装置。
【請求項２２】
撮像画像から画像処理によって目の位置を検出する目検出方法であって、
前記撮像画像の全体から目の位置を表す複数の特徴点を検出する特徴点検出ステップ（Ｓ１）と、
前記特徴点検出ステップで検出された前記複数の特徴点を含むように前記撮像画像中の判定領域を設定し、前記判定領域から得られる情報を用いて、前記複数の特徴点が目の位置を正しく表しているか否かを判定する判定ステップ（Ｓ２）と、
を備え、
前記特徴点検出ステップは、前記複数の特徴点の位置を表現したベクトルを形状ベクトルとして、前記形状ベクトルの初期値を与え、前記撮像画像の情報を用いて算出される前記形状ベクトルの補正量を用いて、前記形状ベクトルを更新する処理を繰り返すことで、前記撮像画像中の真の目の位置を表す前記複数の特徴点を検出する、
目検出方法。
【請求項２３】
撮像画像から画像処理によって目が注視する方向である注視方向を検出する注視方向検出方法であって、
前記撮像画像の全体から目の位置を表す複数の特徴点を検出する特徴点検出ステップ（Ｓ１）と、
前記特徴点検出ステップで検出された前記複数の特徴点を含むように前記撮像画像中の判定領域を設定し、前記判定領域から得られる情報を用いて、前記複数の特徴点が目の位置を正しく検出しているか否かを判定する判定ステップ（Ｓ２）と、
前記判定ステップにて、前記複数の特徴点が目の位置を正しく検出していると判定された場合、前記特徴点検出ステップにて検出された前記複数の特徴点の位置を含んで設定される目周辺領域の情報を用いて、前記撮像画像中の目の注視方向を検出する方向検出ステップ（Ｓ４）と、
を備え、
前記方向検出ステップは、前記注視方向を表すベクトルを注視ベクトルとして、前記注視ベクトルの初期値を与え、前記目周辺領域の情報を用いて算出される前記注視ベクトルの修正量によって前記注視ベクトルを修正し、該修正された注視ベクトルが示す方向を、前記注視方向として検出する
注視方向検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、撮像画像から撮像画像中の目が注視する方向を検出する技術に関する。
【背景技術】
【０００２】
下記特許文献１には、顔が撮像された画像から視線が向いている方向を示す注視領域を検出する装置が記載されている。具体的には、画像から顔位置を検出し、検出された顔位置から顔特徴点を検出し、検出された特徴点に基づいて瞳孔位置及び顔向きを検出し、瞳孔位置から視線方向を検出し、視線方向と顔向きとカメラ位置との幾何学的な演算により、注視領域を検出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３８１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、発明者の詳細な検討の結果、特許文献１に開示された従来技術は、効率的とは言えず、高速かつ高精度に注視領域を検出することが困難であるという課題が見出された。
【０００５】
即ち、従来技術では、顔位置の検出、顔特徴点の検出、瞳孔位置及び顔向きの検出等を行った結果を用いて、注視領域の検出が行われるため、各検出での検出誤差が蓄積され、最終的に検出される注視領域の検出精度が悪かった。
【０００６】
また、従来技術では、実行すべき検出処理の種類が単に多いだけでなく、最初に実行する顔検出に膨大な処理を必要とし処理時間も増大する。即ち、顔検出には、ウインドウ内の特定パターンに反応するように学習された検出器を、スライディングウインドウの方法で画像上の位置や大きさをずらして逐次スキャンしながらマッチングするパターンを発見することが行われている。この手法では、異なるサイズや位置で切り出されたウインドウを何度も評価する必要がある。また毎回評価すべきウインドウの大部分が前回と重複することもあり効率が悪く、速度やメモリ帯域の面からは多いに改善の余地がある。また、スライディングウインドウ方式では検出すべきオブジェクトの角度にバリエーションがあると、ある程度の角度の範囲ごとに検出器を構成する必要があり、この点でも効率は良いとは言えなかった。
【０００７】
本開示の１つの局面は、注視領域の検出における処理負荷の軽減と検出精度の向上を両立させる技術を提供することにある。
【課題を解決するための手段】
【０００８】
本開示の一態様は、画像処理装置であって、特徴点検出部（２０：Ｓ１）と、判定部（２０：Ｓ２）と、を備える。特徴点検出部は、撮像画像の全体から目の位置を表す複数の特徴点を検出する。判定部は、特徴点検出部で検出された複数の特徴点を含むように撮像画像中の判定領域を設定し、判定領域から得られる情報を用いて、複数の特徴点が目の位置を正しく表しているか否かを判定する。特徴点検出部は、複数の特徴点の位置を表現したベクトルを形状ベクトルとして、形状ベクトルの初期値を与え、撮像画像の情報を用いて算出される形状ベクトルの補正量を用いて、形状ベクトルを更新する処理を繰り返すことで、撮像画像中の真の目の位置を表す複数の特徴点を検出する。
【０００９】
このような構成によれば、撮像画像から目の位置を検出する際に、顔検出を行う必要がなく、しかも、パターンマッチングではなく、複数の特徴点の位置を表現した形状ベクトルを繰り返し補正する回帰的な手法を用いるため、処理負荷を削減できる。その結果、処理時間を短縮すること、及びメモリ効率を向上させることができる。
【００１０】
また、本開示では、特徴点検出部によって目の検出に成功したか否かを判定する判定部を備えるため、誤検出された検出結果が後段に出力されることを抑制でき、検出結果の信頼性を向上させることができる。
【００１１】
本開示の一態様は、画像処理装置であって、特徴点検出部（２０：Ｓ１）と、判定部（２０：Ｓ２）と、方向検出部（２０：Ｓ４）と、を備える。特徴点検出部は、撮像画像の全体から目の位置を表す複数の特徴点を検出する。判定部は、特徴点検出部で検出された複数の特徴点を含むように撮像画像中の判定領域を設定し、判定領域から得られる情報を用いて、複数の特徴点が目の位置を正しく表しているか否かを判定する。方向検出部は、判定部にて、複数の特徴点が目の位置を正しく表していると判定された場合、特徴点検出部にて検出された複数の特徴点の位置を含んで設定される目周辺領域の情報を用いて、撮像画像中の目が注視する方向である注視方向を検出する。また、方向検出部は、注視方向を表すベクトルを注視ベクトルとして、注視ベクトルの初期値を与え、目周辺領域の情報を用いて算出される注視ベクトルの修正量によって注視ベクトルを修正し、該修正された注視ベクトルが示す方向を注視方向として検出する。
【００１２】
このような構成によれば、目周辺領域の情報を用い、回帰的な手法によって注視方向を検出するため、頭部位置、顔向き、及び視線角度等の検出結果に基づいて検出する従来の手法と比較して、処理を高速化できる。しかも複数の検出器を直列的に使用することによる誤差の蓄積も抑制され、検出精度を向上させることができる。  
【００１３】
本開示の一態様は、目検出方法であって、特徴点検出ステップ（Ｓ１）と、判定ステップ（Ｓ２）と、を備える。特徴点検出ステップ、及び判定ステップでは、上述した１番目の画像処理装置における特徴点検出部、及び判定部と同様の処理を行う。
【００１４】
本開示の目検出方法によれば、上述した１番目の画像処理装置による効果と、同様の効果を得ることができる。
本開示の一態様は、注視方向検出方法であって、特徴点検出ステップ（Ｓ１）と、判定ステップ（Ｓ２）と、方向検出ステップ（Ｓ４）と、を備える。特徴点検出ステップ、判定ステップ、及び方向検出ステップでは、上述した２番目の画像処理装置における特徴点検出部、判定部、及び方向検出ステップと同様の処理を行う。
【００１５】
本開示の注視方向検出方法によれば、上述した２番目の画像処理装置による効果と、同様の効果を得ることができる。
【図面の簡単な説明】
【００１６】
【図１】視線検出システムの構成を示すブロック図である。
【図２】注視領域検出処理のフローチャートである。
【図３】回帰木を説明する図である。
【図４】特徴点用パラメータを生成する学習処理のフローチャートである。
【図５】特徴点検出処理のフローチャートである。
【図６】特徴点検出処理で用いられる形状パラメータ及び補正量を説明する図である。
【図７】特徴点検出処理により検出された複数の特徴点が、目の検出に成功している場合と、目の検出に失敗している場合とについて例示する図である。
【図８】弱識別器を生成する学習処理のフローチャートである。
【図９】目判定処理のフローチャートである。
【図１０】目周辺画像を説明する図である。
【図１１】複数の注視領域の設定例を示す図である。
【図１２】領域用パラメータを生成する学習処理のフローチャートである。
【図１３】領域検出処理のフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．構成］
図１に示す視線検出システム１は、カメラ１０と、画像処理装置２０と、を含むシステムである。視線検出システム１は、例えば、車両に搭載され、運転支援制御等で必要となる情報であるドライバの視線方向を検出する。
【００１８】
カメラ１０は、例えば公知のＣＣＤイメージセンサやＣＭＯＳイメージセンサなどを用いることができる。カメラ１０は、例えば、車両の運転席に着座したドライバの顔が撮像範囲に含まれるように配置される。カメラ１０は、周期的に撮像を実行し、撮像画像のデータを画像処理装置２０に出力する。
【００１９】
画像処理装置２０は、ＣＰＵ２１と、例えば、ＲＡＭ又はＲＯＭ等の半導体メモリ（以下、メモリ２２）と、を有するマイクロコンピュータを備え、視線検出処理を少なくとも実行する。
【００２０】
［２．処理］
画像処理装置２０が実行する視線検出処理について、図２のフローチャートを用いて説明する。視線検出処理は、カメラ１０から撮像画像のデータが取得される毎に起動される。
【００２１】
Ｓ１では、画像処理装置２０は、特徴点検出処理を実行する。特徴点検出処理は、取得した撮像画像から、画像中における目の位置を特定するのに必要な複数の特徴点を検出する処理である。
【００２２】
続くＳ２では、画像処理装置２０は、目判定処理を実行する。目判定処理は、Ｓ１で検出された複数の特徴点に基づいて撮像画像から検出される特徴点周辺画像から、複数の特徴点が目の位置を正しく表しているか否か、すなわち、目の検出に成功しているか否かを判定する処理である。
【００２３】
続くＳ３では、画像処理装置２０は、Ｓ２での目判定処理の結果、目の検出に成功していると判定した場合は、Ｓ４の処理に移行し、目の検出に失敗していると判定した場合は、視線検出処理を終了する。
【００２４】
Ｓ４では、画像処理装置２０は、領域検出処理を実行して、視線検出処理を終了する。領域検出処理は、Ｓ１で検出された複数の特徴点に基づいて撮像画像から検出される目の周辺画像を用い、検出された目の視線が、予め設定された複数の視線領域のうち、いずれに向いているかを検出する処理である。
【００２５】
以下、Ｓ１の特徴点検出処理、Ｓ２の目判定処理、及びＳ４の領域検出処理の詳細を、順番に説明する。
なお、Ｓ１が特徴点検出部及び特徴点検出ステップに相当し、Ｓ２が判定部及び判定ステップに相当し、Ｓ４が、方向検出部及び方向検出ステップに相当する。
【００２６】
［２−１．特徴点検出処理］
［２−１−１．概要］
特徴点検出処理において使用される、撮像画像から複数の特徴点を検出する方法について説明する。
【００２７】
特徴点は、撮像画像中において、右目と左目とが撮像されている位置の特定に有効な点が用いられる。本実施形態では、両目の目尻及び目頭の合計４点を特徴点とする。特徴点の種類及び数は、これらに限定されるものではない。
【００２８】
ここで、全ての特徴点の座標を列挙した列ベクトルを形状ベクトルＳという。形状ベクトルＳは、ｐ番目の特徴点の座標を（ｘｐ，ｙｐ）として、（１）式で表される。但し、Ｐは特徴点の数、ｐ＝１，２，…，Ｐである。（１）式中のＴは、転置行列であることを示す。
【００２９】
【数１】
2020126573.tif 000003
特徴点検出処理では、形状ベクトルＳの初期値Ｓ (0)を与え、撮像画像から得られる情報を用いて算出される補正量によって、特徴点の推定位置を繰り返し補正することで、両目の目尻及び目頭の位置を正しく表した形状ベクトルＳを回帰的に算出する。ｔ回目の回帰ステップで算出される形状ベクトルＳ (t)は（２）式で表される。ただし、Ｔは補正を繰り返す回数、ｔ＝１，２，…，Ｔとする。また、回帰ステップをＴ回繰り返すことで最終的に得られる形状ベクトルＳ (T)は（３）式で表される。但し、ｒｔはｔ回目の回帰ステップで使用される補正量であり、形状ベクトルＳと同次元のベクトルで表現される。
【００３０】
【数２】
2020126573.tif 000004
（２）式は、ｔ回目の回帰ステップでは、前回の回帰ステップで得られた形状ベクトルＳ (t-1)に、補正量ｒｔを加えることで、更新された形状ベクトルＳ (t)が算出されることを意味する。（３）式は、形状ベクトルＳ (0)の初期値に、１回目からＴ回目までの各回帰ステップで得られる補正量ｒ１〜ｒＴを全て加算した結果が、最終的な形状ベクトルＳ (T)になることを意味する。
【００３１】
補正量ｒｔは、（４）式に示すように、前回の回帰ステップで得られた形状ベクトルＳ (t-1)と撮像画像Ｉとを入力情報として、補正関数ｆKに作用させることで得られる。補正関数ｆKは、勾配ブースティングを用いた回帰関数の加法モデルを適用した関数である。
このような回帰関数は、例えば、“One Millisecond Face Alignment with an Ensemble of Regression Trees”Vahid Kazemi and Josephine Sullivan, The IEEE Conference on CVPR,2014,1867-1874（以下、参考文献１）、及び、“Greedy Function Approximation : A gradient boosting machine”Jerome H. Friedman, The Annals of Statistics Volume 29, Number 5 (2001),1189-1232（以下、参考文献２）等に示される。
【００３２】
【数３】
2020126573.tif 000005
補正関数ｆKは、予め用意されたＫ個の回帰木を用いて回帰的に値が決定される関数であり、（５）式で定義される。但し、ｆ０は補正関数ｆKの初期値、ｇｋはｋで識別される回帰木によって値が決定される回帰関数、ｋ＝１，２，…Ｋである。また、γは学習率であり、０＜γ＜１に設定される。γの値を小さくすることで、過学習となることを抑制し、特徴点の位置の多様性に対応する。
【００３３】
【数４】
2020126573.tif 000006
Ｋ個の回帰木は、いずれも同様の構造を有する。例えば、図３に示すように、回帰木４１として、ノードを順次二つに分岐させる二分木が用いられる。回帰木４１の枝の分岐点となるノードを通常ノード４２、回帰木４１の葉となるノードを末端ノード４３という。通常ノード４２が通常ノード４２を識別するノードインデックスをｅとすると、ｅ番目の通常ノードには、ピクセルペア（Ｐe1，Ｐe2）とスレッショルドθeとが対応づけられる。末端ノード４３のそれぞれには回帰量（すなわち、図３ではｒk1〜ｒk8）が対応づけられる。
【００３４】
ピクセルペア（Ｐe1，Ｐe2）は、前回の回帰ステップで得られた形状ベクトルＳ (t-1)から設定される撮像画像Ｉ上の基点（例えば、いずれか一つの特徴点の位置、または複数の特徴点の平均位置）に対する相対座標で定義される。各通常ノード４２では、ピクセルペア（Ｐe1，Ｐe2）間の差分値（例えば、輝度差）が、スレッショルドθeよりも高いか低いかに応じて、次階層のノードに至るいずれの枝を選択するかが決定される。図３では、Ｐe1，Ｐe2がそのピクセルの差分値を表すものとする。選択された枝を辿りながら同様の処理を繰り返すことで末端ノード４３に到達する。到達した末端ノード４３に対応付けられた回帰量が、回帰関数ｇｋの出力値の一部となる。
【００３５】
ところで、ピクセルペア（Ｐe1，Ｐe2）に属する各ピクセルの位置を表す相対座標は、標準画像上のベクトル（以下、標準ベクトル）として表わされる。ここでいう標準画像とは、多数の学習サンプルにより求められた平均的な画像である。
【００３６】
但し、撮像画像中の顔は、必ずしも標準画像中の顔と同じ姿勢で撮像されるとは限らず、標準ベクトルをそのまま撮像画像Ｉに適用するとずれが生じる。そこで、ピクセルペア（Ｐe1，Ｐe2）を使用するときには、撮像画像Ｉ毎に、上記ずれを小さくするSimilarity行列（以下、変換行列）Ｑを用いて、標準ベクトルで表現されピクセルの位置に修正を加えて、撮像画像Ｉ上でのピクセルの位置を決定してもよい。変換行列Ｑは、基準画像上の点に対して、どのような回転、拡大、縮小を加えれば、撮像画像Ｉ上の対応点に最も近似するかを示す行列である。なお変換行列Ｑを用いることは必須ではないが、変換行列Ｑを使用することで形状ベクトルＳの推定精度を向上させることができる。
【００３７】
このように、特徴点検出処理では、形状ベクトルＳの初期値Ｓ (0)と、回帰関数ｆＫの初期値ｆ０と、回帰木４１を定義する各パラメータとが事前に用意されている必要がある。以下では、これらのパラメータを総称して特徴点用パラメータという。
【００３８】
特徴点用パラメータは、画像処理装置２０が学習処理を実行することで生成される。但し、学習処理は、必ずしも画像処理装置２０で実行される必要は無く、画像処理装置２０以外の装置にて実行されてもよい。
【００３９】
［２−１−２．学習］
特徴点用パラメータを設定するための学習処理（以下、第１学習処理）について、図４のフローチャートを用いて説明する。第１学習処理を実行する際には、メモリ２２に学習サンプルとなる多数の学習画像が記憶される。ここでは、Ｎ個の学習画像を用意し、各学習画像における特徴点の座標があらかじめ検出されている。
【００４０】
まずＳ１１では、画像処理装置２０は、各学習画像の特徴点の座標を取得し、学習画像毎に形状ベクトルＳの正解値（以下、教師データ）Ｓ１〜ＳＮを生成する。
続くＳ１２では、画像処理装置２０は、Ｓ１１で生成された教師データＳ１〜ＳＮの平均値を、形状ベクトルＳの初期値Ｓ (0)として算出する。
【００４１】
続くＳ１３では、画像処理装置２０は、以下で説明する処理の繰返回数を表す回帰ステップｔを１に初期化する。
続くＳ１４では、画像処理装置２０は、（６）式に従って各学習画像の変換行列Ｑitを算出する。
【００４２】
【数５】
2020126573.tif 000007
（６）式は、各学習画像の現時点で得られている形状ベクトルＳ (t-1)における特徴点pの座標Ｓip(t-1)と、各学習画像の教師データＳ１〜ＳＮの平均形状ベクトルにおける特徴点ｐの座標Ｓｐに行列Ｑを作用させた結果との距離を、各特徴点pについて合計したときに、その合計値を最小にする行列Ｑを、変換行列Ｑitとすることを意味する。但し、p＝１，２，…Ｐ、ｉ＝１，２，…Ｎである。
【００４３】
続くＳ１５では、画像処理装置２０は、（７）式に従って、学習画像毎に、教師データＳｉと形状ベクトルＳ (t-1)との差分である補正残差ΔＳｉ (t)を算出する。
【００４４】
【数６】
2020126573.tif 000008
続くＳ１６では、画像処理装置２０は、補正量ｒｔの算出に用いる補正関数ｆＫの初期値ｆ0を、（８）式を用いて算出する。
【００４５】
【数７】
2020126573.tif 000009
（８）式は、各学習画像における補正残差ΔＳｉ (t)と、形状ベクトルＳと同じ次元を有する任意のベクトルＶとの距離を、全ての学習画像について合計したときに、その合計値を最小にするベクトルＶを、Ｓ１７〜Ｓ２３の処理で学習する補正関数ｆＫの初期値ｆ０とすることを意味する。
【００４６】
続くＳ１７では、画像処理装置２０は、回帰木の識別に用いる回帰木インデックスｋを１に初期化する。
続くＳ１８では、画像処理装置２０は、学習画像毎に、残り修正量ｃｋを（９）式を用いて算出する。
【００４７】
【数８】
2020126573.tif 000010
（９）式は、Ｓ１５で算出した補正残差ΔＳi (t)と学習中の補正関数fk-1によって得られる補正量との差分を、残り修正量ｃｋとすることを意味する。
【００４８】
続くＳ１９では、画像処理装置２０は、回帰木４１の生成に用いるピクセルペアを選択する。
続くＳ２０では、画像処理装置２０は、Ｓ１９で選択したピクセルペアの差分値を、学習画像を分類する際の指標とし、すべての学習画像において残り修正量ｃｋに近い値が得られるような回帰木４１を生成する。すなわち、回帰木４１によって実現される回帰関数ｇkを生成する。このようなピクセルペアの選択及び回帰木の生成には、例えば、上述した参考文献１の２．３．２項に記載される方法を用いてもよい。
【００４９】
続くＳ２１では、画像処理装置２０は、Ｓ２０で生成された回帰関数ｇｋを用いて、（１０）式により補正関数ｆｋを修正する。
【００５０】
【数９】
2020126573.tif 000011
続くＳ２２では、画像処理装置２０は、回帰木インデックスｋを１増加させる。
【００５１】
続くＳ２３では、画像処理装置２０は、ｋ＞Ｋであるか否かを判定する。Ｓ２３において否定判定された場合、処理をＳ１８に戻す。これにより、残り修正量ｃｋに対する新たな回帰木（すなわち、回帰関数ｇｋ）の生成が繰り返される。一方、Ｓ２３において肯定判定された場合、すなわち、Ｋ個の回帰関数ｇ１〜ｇＫが生成された場合、処理をＳ２４に進める。
【００５２】
Ｓ２４では、画像処理装置２０は、（４）式に示すように、Ｓ１８〜Ｓ２３の処理で得られた補正関数ｆＫの値である補正量ｒｔを用いて、（２）式に従って、形状ベクトルＳを更新する。
【００５３】
続くＳ２５では、画像処理装置２０は、回帰ステップｔを１増加させる。
続くＳ２６では、画像処理装置２０は、ｔ＞Ｔであるか否かを判定する。Ｓ２６において、否定判定された場合、処理をＳ２に戻す。これにより、回帰ステップｔに対応づけられる補正量ｒｔの算出に用いる補正関数ｆＫの生成が繰り返される。一方、Ｓ２６において肯定判定された場合、すなわち、各回帰ステップｔ＝１〜Ｔのそれぞれで使用されるＴ個の補正関数ｆＫの生成が終了した場合、特徴点用パラメータの学習処理を終了する。
【００５４】
なお、第１学習処理では、Ｔ個の回帰ステップ毎に１つの補正関数ｆＫが生成され、１つの補正関数ｆＫに対してＫ個の回帰関数ｇｋが用いられるため、合計Ｔ×Ｋ個の回帰関数ｇｋ（すなわち、回帰木４１）が生成される。また、以下では、回帰ステップｔと回帰木インデックスｋとによって識別される回帰木４１を、回帰木ＲＴtkで表す。
【００５５】
［２−１−３．処理］
画像処理装置２０が、先のＳ１にて実行する特徴点検出処理について、図５のフローチャートを用いて説明する。特徴点検出処理では、第１学習処理によって生成された特徴点用パラメータが用いられる。
【００５６】
まずＳ３１では、画像処理装置２０は、カメラ１０から撮像画像Ｉを取得する。
続くＳ３２では、画像処理装置２０は、回帰ステップｔを１に初期化する。
続くＳ３３では、画像処理装置２０は、Ｓ３１で取得した撮像画像Ｉに対する変換行列Ｑｔを、（１１）式を用いて算出する。
【００５７】
【数１０】
2020126573.tif 000012
（１１）式は、撮像画像Ｉから現時点で得られている形状ベクトルＳ (t-1)における特徴点pの座標Ｓp(t-1)と、各学習画像の教師データＳ１〜ＳＮの平均形状ベクトルにおける特徴点ｐの座標Ｓｐに行列Ｑを作用させた結果との距離を、各特徴点pについて合計したときに、その合計値を最小にする行列Ｑを、変換行列Ｑtとすることを意味する。
【００５８】
続くＳ３４では、画像処理装置２０は、回帰木インデックスｋを１に初期化する。
続くＳ３５では、画像処理装置２０は、回帰ステップｔと回帰木インデックスｋとで識別される回帰木ＲＴtkを用いて回帰関数gｋの値を取得し、（１０）式を用いて補正関数ｆｋを更新する。但し、回帰木ＲＴtkを用いる処理では、各通常ノード４２に対応づけられたピクセルペアの位置を、Ｓ３３で算出した変換行列Ｑｔで修正して使用する。
【００５９】
続くＳ３６では、画像処理装置２０は、回帰木インデックスｋを１増加させる。
続くＳ３７では、画像処理装置２０は、ｋ＞Ｋであるか否かを判定する。つまり、回帰ステップｔに対応づけられた全ての回帰木ＲＴt1〜ＲＴtKが補正関数ｆｋの算出に用いられたか否かを判定する。Ｓ３７において否定判定された場合は処理をＳ３５に戻し、Ｓ３７において肯定判定された場合は処理をＳ３８に進める。
【００６０】
Ｓ３８では、画像処理装置２０は、Ｓ３５〜Ｓ３７の処理により、最終的に得られた補正関数ｆＫの値を補正量ｒｔとし、（２）式を用いて形状ベクトルＳを更新する。つまり、形状ベクトルＳ (t)を算出する。
【００６１】
続くＳ３９では、画像処理装置２０は、回帰ステップｔを１増加させる。
続くＳ４０では、画像処理装置２０は、ｔ＞Ｔであるか否かを判定する。Ｓ４０において否定判定された場合は処理をＳ３３に戻し、Ｓ４０において肯定判定された場合は処理を終了する。
【００６２】
つまり、図６に示すように、特徴点検出処理では、形状ベクトルの初期値Ｓ (0)を起点として、回帰ステップ毎に補正量ｒｔの算出、及び更新された形状ベクトルＳ (t)の生成を繰り返すことで、最終的に算出される形状ベクトルＳ (T)が、４つの特徴点の位置の推定結果となる。
【００６３】
［２−２．目判定処理］
［２−２−１．概要］
目判定処理は、特徴点検出処理により、両目の目尻及び目頭の位置を表す形状ベクトルＳが正しく推定されたか否か、すなわち、目の検出に成功したか否かを判定する。
【００６４】
これにより、目の検出に失敗した場合に、後段の処理において、誤った注視領域が出力されることを抑制する。なお、目の検出に失敗する例としては、図７に示すように、そもそも人が映っていない場合、人は映っているが誤った点が検出される場合がある。この他にも、何等かによって目の一部又は全部が遮蔽され見えない場合もある。
【００６５】
目判定処理では、特徴点検出処理によって得られた形状ベクトルＳから、右目及び左目のそれぞれについて各目の中心座標ＳＬ，ＳＲを算出し、各中心座標ＳＬ，ＳＲを中心とする幅Ｄｗ、高さＤｈの矩形状の画像領域を、判定領域ＩＧとして設定する。判定領域ＩＧは、撮像画像Ｉ上における顔サイズの変動を吸収するために正規化されてもよい。具体的には、形状ベクトルＳから算出される目尻、目頭の幅や、各目間の幅が、同一サイズとなるように判定領域ＩＧを拡大又は縮小してもよい。
【００６６】
更に、目判定処理では、判定領域ＩＧから得られる情報を入力とする多数の弱識別器を用いて、目の検出に成功したか否かを判定する。
Ｍを弱識別器の数、ｍ＝１，２，…，Ｍとして、ｍ番目の弱識別器ｈｍ（ＩＧ）は、（１２）式で表される。Ｐｍ１，Ｐｍ２は、判定領域ＩＧから選択されるピクセルペアの輝度であり、ピクセルペアの位置は、二つの中心座標ＳＬ，ＳＲのいずれかが示す位置、又は両者の平均位置に対する相対位置で定義される。θｍは閾値、αｍＨ，αｍＬは、重みである。
【００６７】
【数１１】
2020126573.tif 000013
つまり、弱識別器ｈｍ（ＩＧ）は、ピクセルペアの差分値Ｐｍ１−Ｐｍ２が閾値θｍより大きいか否かによって、重みαｍＨ、又はαｍＬを判定結果として出力する。
【００６８】
そして、Ｍ個の弱識別器ｈｍ（ＩＧ）を結合した（１３）式に示す強識別器Ｈ（ＩＧ）の出力に従って、Ｈ（ＩＧ）＞０のときに成功、Ｈ（ＩＧ）≦０のときに失敗と判定する。なお、λは強識別器Ｈ（ＩＧ）の出力に対する閾値であり、判定の精度等を考慮して任意に設定される。
【００６９】
【数１２】
2020126573.tif 000014
このように、目判定処理では、Ｍ個の弱識別器ｈｍ（ＩＧ）が事前に用意される必要がある。
【００７０】
弱識別器ｈｍ（ＩＧ）は、画像処理装置２０が学習処理を実行することで生成される。学習には、例えば、アンサンブル学習であるRealAdaboost等が用いられてもよい。但し、学習処理は、必ずしも画像処理装置２０で実行される必要は無く、画像処理装置２０以外の装置にて実行されてもよい。
【００７１】
［２−２−２．学習］
弱識別器ｈｍ（ＩＧ）を生成するための学習処理（以下、第２学習処理）について、図８のフローチャートを用いて説明する。第２学習処理を実行する際には、メモリ２２に学習サンプルとなる多数の学習画像が記憶される。学習画像には、目が映っている正解画像の他、目が隠れていたり、そもそも人が映っていなかったりする不正解画像も含まれる。また、これら学習画像に対してＳ１の特徴検出処理を実行した結果と、検出結果が目の検出に成功しているか否かを予め判定した結果も用意される。
【００７２】
Ｓ５１では、画像処理装置２０は、各学習画像のウェイトを初期化する。ウェイトの初期値は、例えば、全ての学習画像について均一に設定されてもよい。
続くＳ５２では、画像処理装置２０は、弱識別器を識別する識別器インデックスｍを１に初期化する。これと共に、本処理によって生成する弱識別器の数の最大数をＭに設定する。
【００７３】
続くＳ５３では、画像処理装置２０は、弱識別器ｈｍ（ＩＧ）を生成する。具体的には、様々なピクセルペアについて、ピクセルペアの差分値を全ての学習画像について算出する。そして、目の検出に成功した画像（以下、成功画像）と失敗した画像（以下、失敗画像）を、最もうまく分離できるピクセルペアＰｍ１，Ｐｍ２及び閾値θｍを選択する。また、重みαｍＨ、αｍＬは、分離の精度に応じて値を変化させる。重みαｍＨ、αｍＬの設定や各学習画像のウェイトの更新方法は、例えば、Schapire, R.E. and Singer, Y.: Improved Boosting Algorithms Using Confidencerated Predictions, Machine Learning,等に示された方法を用いてもよい。
【００７４】
続くＳ５４では、画像処理装置２０は、これまでに生成されたｍ個の弱識別器ｈ１（ＩＧ）〜ｈｍ（ＩＧ）を結合した強識別器Ｈ（ＩＧ）によって、全ての学習画像を、成功画像と失敗画像とに正しく分離できたか否かを判定する。Ｓ５４において肯定判定された場合は処理をＳ５８に進め、Ｓ５４において否定判定された場合は、処理をＳ５５に進める。
【００７５】
Ｓ５８では、画像処理装置２０は、識別器インデックスｍの値を、生成された弱識別器の数Ｍに設定して、処理を終了する。
続くＳ５５では、画像処理装置２０は、識別器インデックスｍを１増加させる。
【００７６】
続くＳ５６では、画像処理装置２０は、ｍ＞Ｍを超えているか否かを判定する。Ｓ５６にて、肯定判定された場合は、処理を終了する。この場合、Ｓ５１で設定されたＭが、生成された識別器の数となる。一方、Ｓ５６にて、否定判定された場合は、処理をＳ５７に進める。
【００７７】
Ｓ５７では、画像処理装置２０は、Ｓ５４にて分離に失敗した学習画像のウェイトが増大するように、学習画像のウェイトを更新して、処理をＳ５３に戻す。つまり、分離に失敗した画像を的確に分離できる弱識別器が生成されるように、学習画像のウェイトを調整する。
【００７８】
［２−２−３．処理］
画像処理装置２０が、Ｓ２で実行する目判定処理を、図９のフローチャートを用いて説明する。目判定処理では、第２学習処理によって生成されたＭ個の弱識別器ｈｍ（ＩＧ）が用いられる。
【００７９】
Ｓ６１では、画像処理装置２０は、識別器インデックスｍを１に初期化すると共に、弱識別器ｈｍ（ＩＧ）の判定結果の積算値Ｊを０に初期化する。
続くＳ６２では、画像処理装置２０は、形状ベクトルＳに基づいて設定される判定領域ＩＧから抽出されるピクセルペアを、弱識別器ｈｍ（ＩＧ）に作用させた結果を、（１４）式に示すように積算する。この演算は、（１３）式の右辺第１項を算出することに相当する。
【００８０】
【数１３】
2020126573.tif 000015
続くＳ６３では、画像処理装置２０は、識別器インデックスｍを１増加させる。
【００８１】
続くＳ６４では、画像処理装置２０は、ｍ＞Ｍであるか否かを判定する。Ｓ６４において、肯定判定された場合は、Ｍ個の弱識別器による判定が全て終了したとして、処理をＳ６５に進める。一方、Ｓ６４において否定判定された場合は、判定が実施されていない弱識別器があるとして、処理をＳ６２に戻す。
【００８２】
Ｓ６５では、画像処理装置２０は、（１５）式に示すように、弱識別器による判定結果の積算値Ｊから重み閾値λを減算することで強識別器Ｈ（ＩＧ）による判定値Ｈを算出する。なお、（１４）（１５）式によって、先に示した（１３）式が実現される。
【００８３】
【数１４】
2020126573.tif 000016
続くＳ６６では、画像処理装置２０は、判定値Ｈが０より大きいか否かを判定する。
【００８４】
Ｓ６７において肯定判定された場合、画像処理装置２０は、処理をＳ６７に進め、目検出に成功したと判定して、処理を終了する。
Ｓ６７において否定判定された場合、画像処理装置２０は、処理をＳ６８に進め、目検出に失敗したと判定して、処理を終了する。目検出に成功したか否かの判定結果は、例えば、フラグ等を用いて、後段の処理に通知される。
【００８５】
［２−３．領域判定処理］
［２−３−１．概要］
領域判定処理において使用される、目周辺領域の画像情報からその目によって注視されている領域である注視領域を検出する方法につい説明する。
【００８６】
目周辺領域ＩＥは、目の検出に成功していると判定された形状ベクトルＳ（すなわち、複数の特徴点）に基づいて設定される。具体的には、図１０に示すように、目周辺領域ＩＥには、右目及び左目のそれぞれについて、目尻から目頭までの領域を含む、所定サイズの矩形領域が用いられる。
【００８７】
なお、目判定に用いる判定領域ＩＧと同様の領域を、目周辺領域として用いてもよい。
注視領域は、例えば、図１１に示すように、正面領域ａ１、上領域ａ２、下領域ａ３、右領域ａ４、左領域ａ５の５つの注視領域を設定する。また、閉眼状態も独立したカテゴリとして設定してもよい。注視領域の領域形状や領域数は、これに限定されるものではない。
【００８８】
ここで、注視領域の領域数Ｄと同数の要素を持つベクトルを、スコアベクトルＡという。スコアベクトルＡは、（１６）式で表され、各要素は、注視領域ａ１〜ａ５のいずれかに対応づけられる。この注視領域スコアベクトルＡは、該当する注視領域に対応する要素の値が大きく、該当しない注視領域に対応する要素の値が小さくなるようなワンホット形式をとり、最終的に一番大きな値を有する要素に対応する注視領域が検出結果とされる。スコアベクトルＡが注視ベクトルに相当する。
【００８９】
【数１５】
2020126573.tif 000017
領域判定処理では、（１７）式に示すように、スコアベクトルＡの初期値Ａ (0)を与え、目の周辺画像から得られる情報を用いて算出される修正量Ｒによって、スコアベクトルＡを修正することで、視線が注視する領域を表したスコアベクトルＡを算出する。
【００９０】
【数１６】
2020126573.tif 000018
修正量Ｒは、（１８）式に示すように、スコアベクトルの初期値Ａ (0)と、目周辺領域ＩＥとを入力情報として、修正関数ＦＫに作用させることで得られる。修正関数ＦＫは、特徴量検出処理で用いられたものと同様に、回帰関数の加法モデルを適用した関数である。
【００９１】
【数１７】
2020126573.tif 000019
修正関数ＦKは、予め用意されたＫ個の回帰木を用いて回帰的に値が決定される関数であり、（１９）式で定義される。Ｆ０は修正関数ＦKの初期値、Ｇｋはｋで識別される回帰木によって値が決定される回帰関数、ｋ＝１，２，…Ｋである。また、γは学習率であり、０＜γ＜１に設定される。γの値を小さくすることで、過学習となることを抑制する。なお、Ｋおよびγの設定値は目検出と同じ値である必要はない。
【００９２】
【数１８】
2020126573.tif 000020
回帰木の構造は、特徴点検出処理で用いる回帰木と同様であるため、説明を省略する。
【００９３】
領域検出処理では、スコアベクトルの初期値Ａ (0)が、修正関数ＦKを用いて算出される修正量Ｒによって修正され、修正されたスコアベクトルＡにおいて、最大スコアとなる要素に対応した注視領域が、注視領域の検出結果として出力される。なお、最大スコアが予め設定された閾値以下であれば、出力の信頼度が低いものとして、出力を不定としてもよい。
【００９４】
このように領域検出処理では、スコアベクトルＡの初期値Ａ (0)と、修正関数ＦＫの初期値Ｆ０と、修正関数ＦＫの生成に用いる回帰木を定義するパラメータとが事前に用意されている必要がある。以下では、これらのパラメータを総称して領域用パラメータという。
【００９５】
領域用パラメータは、画像処理装置２０が学習処理を実行することで生成される。但し、学習処理は、必ずしも画像処理装置２０で実行される必要は無く、画像処理装置２０以外の装置にて実行されてもよい。
【００９６】
［２−３−２．学習］
領域用パラメータを設定するための学習処理（以下、第３学習処理）について、図１２のフローチャートを用いて説明する。第３学習処理を実行する際には、メモリ２２に学習サンプルとなる多数の学習画像が記憶される。ここでは、Ｎ個の学習画像を用い、各学習画像における目の注視領域を手動で検出した結果が予め用意されているものとする。
【００９７】
まずＳ７１では、画像処理装置２０は、各学習画像における注視領域の検出結果を取得し、学習画像毎にスコアベクトルＡの正解値（以下、教師データ）Ａ１〜ＡＮを生成する。
【００９８】
続くＳ７２では、画像処理装置２０は、Ｓ７１で生成された教師データＡ１〜ＡＮの平均値を、スコアベクトルの初期値Ａ (0)として算出する。
続くＳ７３では、画像処理装置２０は、（２０）式に従って、学習画像毎に、教師データＡｉとスコアベクトルの初期値Ａ (0)との差分である修正残差ΔＡｉを算出する。
【００９９】
【数１９】
2020126573.tif 000021
続くＳ７４では、画像処理装置２０は、修正量Ｒの算出に用いる修正関数ＦＫの初期値f0を、（２１）式を用いて算出する。
【０１００】
【数２０】
2020126573.tif 000022
（２１）式は、各学習画像における修正残差ΔＡｉと、スコアベクトルＡと同じ次元を有する任意のベクトルＶとの距離を、全ての学習画像について合計したときに、その合計値を最小にするベクトルＶを修正関数ＦＫの初期値Ｆ０とすることを意味する。
【０１０１】
続くＳ７５では、画像処理装置２０は、回帰木の識別に用いる回帰木インデックスｋを１に初期化する。
続くＳ７６では、画像処理装置２０は、学習画像毎に、残り修正量ｃｋを（２２）式を用いて算出する。
【０１０２】
【数２１】
2020126573.tif 000023
続くＳ７７では、画像処理装置２０は、回帰木の生成に用いるピクセルペアを選択する。ピクセルの位置は、目位置を表す形状ベクトル（すなわち、複数の特徴点）によって決まる基点からの相対位置で表現される。また、基点には、目尻および目頭の少なくとも一方に対応する撮像画像上の点が用いられる。
【０１０３】
続くＳ７８では、画像処理装置２０は、Ｓ７７で選択したピクセルペアの差分値を、学習画像を分類する際の指標とし、すべての学習画像において残り修正量ｃｋに近い値が得られるような回帰木を生成する。すなわち、回帰木によって実現される回帰関数Ｇkを生成する。
【０１０４】
続くＳ７９では、画像処理装置２０は、Ｓ７８で生成された回帰関数Ｇｋを用いて、（２３）式により、修正関数Ｆｋを更新する。
【０１０５】
【数２２】
2020126573.tif 000024
続くＳ８０では、画像処理装置２０は、回帰木インデックスｋを１増加させる。
【０１０６】
続くＳ８１では、画像処理装置２０は、ｋ＞Ｋであるか否かを判定する。Ｓ８０において否定判定された場合は、新たな回帰木を作成するために処理をＳ７６に戻し、Ｓ８０において肯定判定された場合は、処理を終了させる。
【０１０７】
なお、Ｓ７３〜Ｓ８１の処理は、先に説明したＳ１５〜Ｓ２３の処理と同様である。
第３学習処理では、１つの修正関数ＦＫのためにＫ個の回帰関数Ｇｋ（すなわち、回帰木）が生成される。
【０１０８】
［２−３−３．処理］
画像処理装置２０が、先のＳ４にて実行する領域検出処理について、図１３のフローチャートを用いて説明する。領域検出処理では、上述の学習処理によって生成された領域用パラメータが用いられる。
【０１０９】
まずＳ９１では、画像処理装置２０は、Ｓ１にて推定された形状ベクトルＳ (T)に基づいて設定される目周辺領域ＩＥの画像を取得する。
続くＳ９２では、画像処理装置２０は、回帰木インデックスｋを１に初期化する。
【０１１０】
続くＳ９３では、画像処理装置２０は、回帰木インデックスｋで識別される回帰木ＲＴｋを用いて回帰関数Ｇｋの値を取得し、（２３）式を用いて修正関数Ｆｋを更新する。
続くＳ９４では、画像処理装置２０は、回帰木インデックスｋを１増加させる。
【０１１１】
続くＳ９５では、画像処理装置２０は、ｋ＞Ｋであるか否かを判定する。つまり、すべての回帰木ＲＴ１〜ＲＴＫが修正関数Ｆｋの算出に用いられたか否かを判定する。Ｓ９５において否定判定された場合は処理をＳ９３に戻し、Ｓ９５において肯定判定された場合は処理をＳ９６に進める。Ｓ９３〜Ｓ９５の処理により、最終的に（１９）式に示された修正関数Ｆｋが算出され、（１８）式に示すように、この修正関数ｆｋによって得られる値が、スコアベクトルの初期値Ａ (0)に対する修正量Ｒとなる。
【０１１２】
Ｓ９６では、画像処理装置２０は、（１７）式を用いて修正されたスコアベクトルＡを生成する。
続くＳ９７では、画像処理装置２０は、修正されたスコアベクトルＡのうち、最大スコアＳＣを有する要素を抽出する。
【０１１３】
続くＳ９８では、画像処理装置２０は、ＳＣ＞ＴＨであるか否かを判定する。ＴＨは、判定結果の信頼性を判定するための閾値である。Ｓ９８において肯定判定された場合は処理をＳ９９に進め、Ｓ９８において否定判定された場合は処理をＳ１００に進める。
【０１１４】
Ｓ９９では、画像処理装置２０は、最大スコアＳＣを有する要素に対応づけられた注視領域を検出結果として出力して、処理を終了する。
Ｓ１００では、画像処理装置２０は、注視領域の検出結果の信頼性が低いものとして、検出結果を無効化して、処理を終了する。
【０１１５】
［３．効果］
以上詳述した実施形態によれば、以下の効果を奏する。
（３ａ）本実施形態では、撮像画像から目の位置を検出する際に、複数の特徴点の位置を表現した形状ベクトルＳを繰り返し補正する回帰的な手法を用いる。これにより、複数の特徴点を、撮像画像Ｉの全体から直接かつ同時に検出する。このため、従来技術とは異なり、顔検出を行う必要がなく、また、パターンマッチングも使用しないため、効率よく特徴点を検出できる。その結果、目の位置の検出に要する処理時間を短縮でき、処理におけるメモリ効率も向上させることができる。
【０１１６】
（３ｂ）本実施形態では、目判定処理によって、特徴点検出処理により検出された複数の特徴点が、正しく目の位置を表しているか否かを判定する。このため、誤検出された検出結果が領域判定処理に出力されること、ひいては、注視領域が誤って検出されること抑制できる。
【０１１７】
（３ｃ）本実施形態では、目周辺領域ＩＥのテクスチャ情報を用いて注視領域を推定するため、頭部位置、顔向き、及び視線角度等の検出結果を利用して推定する従来の手法と比較して、注視領域の検出に要する処理時間を短縮できる。しかも複数の検出器を直列的に使用することによる誤差の蓄積も抑制されるため、注視領域の検出精度、ひいては注視方向の検出精度を向上させることができる。
【０１１８】
（３ｄ）本実施形態では、特徴量検出処理における形状ベクトルＳの補正量ｒ、及び領域検出処理におけるスコアベクトルＡの修正量Ｒの算出に回帰木が用いられ、回帰木の条件分岐に用いるパラメータとして、ピクセルペアの差分値を用いる。また、目判定処理で用いる弱識別器の入力パラメータとしても、ピクセルペアの差分値を用いる。つまり、いずれも回帰的な処理で単純なパラメータを利用しているため、処理を軽量化できる。しかも、特徴点検出処理及び領域検出処理では、いずれも勾配ブースティングを用いているため、高速動作を実現できる。
【０１１９】
（３ｅ）本実施形態では、ピクセルペアの位置として、標準ベクトルに変換行列Ｑを作用させて修正した位置を用いる。これにより、撮像画像毎に異なる、回転、拡大、及び縮小等による特徴点形状の変動が吸収されるため、ピクセルペアを利用する処理の検出精度を向上させることができる。
【０１２０】
［４．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【０１２１】
（４ａ）上記実施形態では、回帰木や弱識別器への入力情報としてピクセルペアの差分値である輝度差を用いているが、本開示はこれに限定されるものではない。例えば、輝度の絶対値や一定範囲の輝度の平均値等を用いてもよい。
【０１２２】
（４ｂ）上記実施形態では、回帰木を用いて回帰関数ｇｋを取得する方法を例示したが、回帰関数を用いる方法であれば、回帰木を用いていなくてもよい。
（４ｃ）上記実施形態では、変換行列Ｑを用いて、回帰木への入力となるピクセルペアの位置を修正する構成を例示したが、ピクセルペアの位置は、変換行列Ｑによる修正を行うことなく、そのまま使用してもよい。
【０１２３】
（４ｄ）上記実施形態では、注視ベクトルとして、ベクトルの各要素が注視領域に対応付けられたスコアベクトルを用いた例を示したが、本開示はこれに限定されるものではない。例えば、各要素が３次元空間の座標を表わすベクトル、すなわちベクトルが示す向きが、そのまま注視方向を示すベクトルを、注視ベクトルとして用いてもよい。
【０１２４】
（４ｅ）本開示に記載の画像処理装置２０及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の画像処理装置２０及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の画像処理装置２０及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。画像処理装置２０に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【０１２５】
（４ｆ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。
【０１２６】
（４ｇ）上述した画像処理装置２０の他、画像処理装置２０を構成要素とするシステム、画像処理装置２０としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、目検出方法、及び注視領域検出方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【０１２７】
１…視線検出システム、１０…カメラ、２０…画像処理装置、２１…ＣＰＵ、２２…メモリ、４１…回帰木、４２…通常ノード、４３…末端ノード。
【図１】
2020126573.tif 000025
【図２】
2020126573.tif 000026
【図３】
2020126573.tif 000027
【図４】
2020126573.tif 000028
【図５】
2020126573.tif 000029
【図６】
2020126573.tif 000030
【図７】
2020126573.tif 000031
【図８】
2020126573.tif 000032
【図９】
2020126573.tif 000033
【図１０】
2020126573.tif 000034
【図１１】
2020126573.tif 000035
【図１２】
2020126573.tif 000036
【図１３】
2020126573.tif 000037