(57)【特許請求の範囲】
【請求項１】
画像処理装置における画像処理方法であって、
撮像装置により撮像された画像データを取得し、
前記画像データから、人物の顔の特徴点の位置を検出し、
前記画像データから、前記人物の目の瞳の中心位置を検出し、
前記特徴点の位置に基づいて、前記顔の向きの水平成分及び垂直成分を検出し、
前記顔の向きの水平成分と、前記瞳の中心位置及び前記特徴点の位置間の距離とに基づいて、前記撮像装置の光軸に対する前記人物の視線方向の水平成分を推定し、
少なくとも、前記顔の向きの垂直成分、前記瞳の中心位置及び前記人物の上まぶた間の距離、並びに前記瞳の中心位置及び前記人物の下まぶた間の距離に基づいて、前記視線方向の垂直成分を推定し、
前記視線方向の水平成分及び垂直成分を含む視線情報を出力する、
画像処理方法。
【請求項２】
前記特徴点は、前記人物の目尻及び目頭を含む、
請求項１記載の画像処理方法。
【請求項３】
前記視線方向の水平成分の推定では、前記瞳の中心位置及び前記目尻の位置間の第１距離と前記瞳の中心位置及び前記目頭の位置間の第２距離との割合に基づいて前記顔の向きに対する前記瞳の方向である瞳方向の水平成分を推定し、前記顔の向きの水平成分と前記瞳方向の水平成分とを合成することによって前記視線方向の水平成分を推定する、
請求項２記載の画像処理方法。
【請求項４】
前記特徴点は、前記顔の中心位置を含む、
請求項１記載の画像処理方法。
【請求項５】
前記視線方向の水平成分の推定では、前記人物の左右それぞれの瞳の中心位置の中点と前記顔の中心位置とのずれに基づいて前記顔の向きに対する前記瞳の方向である瞳方向の水平成分を推定し、前記瞳方向の水平成分と前記顔の向きの水平成分とを合成することによって前記視線方向の水平成分を推定する、
請求項４記載の画像処理方法。
【請求項６】
前記視線方向の垂直成分の推定では、前記瞳の中心位置及び前記人物の上まぶた間の距離と前記瞳の中心位置及び前記人物の下まぶた間の距離との割合に基づいて前記顔の向きに対する前記瞳の方向である瞳方向の垂直成分を推定し、前記瞳方向の垂直成分と前記顔の向きの垂直成分とを合成することによって前記視線方向の垂直成分を推定する、
請求項１記載の画像処理方法。
【請求項７】
前記特徴点は、まゆげ及び口角の少なくとも一方を含み、
前記視線情報と、前記まゆげの位置及び前記口角の位置の少なくとも一方に基づいて前記人物の関心度を推定する、
請求項１〜６のいずれかに記載の画像処理方法。
【請求項８】
前記まゆげの位置及び前記口角の位置の少なくとも一方に基づいて前記人物の表情を推定し、
前記視線情報と、前記推定された表情を示す情報とに基づいて前記人物の関心度を推定する、
請求項７記載の画像処理方法。
【請求項９】
前記視線情報は、所定の対象面における前記人物の注視点を基準とする所定範囲の領域である注視面を示す情報を含む、
請求項１〜８のいずれかに記載の画像処理方法。
【請求項１０】
前記画像データは、可視光カメラにより撮影されたものであり、
前記瞳の中心位置は、虹彩の中心位置である、
請求項１〜９のいずれかに記載の画像処理方法。
【請求項１１】
前記画像データは、赤外光カメラにより撮影されたものであり、
前記瞳の中心位置は、瞳孔の中心位置である、
請求項１〜９のいずれかに記載の画像処理方法。
【請求項１２】
前記画像データは、太陽光のスペクトル強度が所定の第１波長よりも減衰した所定の第２波長の帯域の赤外光を用いる赤外光カメラで撮影された画像データである、
請求項１〜１１のいずれかに記載の画像処理方法。
【請求項１３】
撮像装置により撮像された画像データを取得する取得部と、
前記画像データから、人物の顔の特徴点の位置を検出する特徴点検出部と、
前記画像データから、前記人物の目の瞳の中心位置を検出する瞳検出部と、
前記特徴点の位置に基づいて、前記顔の向きの水平成分及び垂直成分を検出する顔向き検出部と、
前記顔の向きの水平成分と、前記瞳の中心位置及び前記特徴点の位置間の距離とに基づいて、前記撮像装置の光軸に対する前記人物の視線方向の水平成分を推定する水平視線推定部と、
少なくとも、前記顔の向きの垂直成分、前記瞳の中心位置及び前記人物の上まぶた間の距離、並びに前記瞳の中心位置及び前記人物の下まぶた間の距離に基づいて、前記視線方向の垂直成分を推定する垂直視線推定部と、
前記視線方向の水平成分及び垂直成分を含む視線情報を出力する出力部とを備える、
画像処理装置。
【請求項１４】
撮像装置により撮像された画像データを取得する取得部と、
前記画像データから、人物の顔の特徴点の位置を検出する特徴点検出部と、
前記画像データから、前記人物の目の瞳の中心位置を検出する瞳検出部と、
前記特徴点の位置に基づいて、前記顔の向きの水平成分及び垂直成分を検出する顔向き検出部と、
前記顔の向きの水平成分と、前記瞳の中心位置及び前記特徴点の位置間の距離とに基づいて、前記撮像装置の光軸に対する前記人物の視線方向の水平成分を推定する水平視線推定部と、
少なくとも、前記顔の向きの垂直成分、前記瞳の中心位置及び前記人物の上まぶた間の距離、並びに前記瞳の中心位置及び前記人物の下まぶた間の距離に基づいて、前記視線方向の垂直成分を推定する垂直視線推定部と、
前記視線方向の水平成分及び垂直成分を含む視線情報を出力する出力部としてコンピュータを機能させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理により視線情報を検出する技術に関するものである。
【背景技術】
【０００２】
視線検出技術は、人物の興味対象の推定、眠気などの人物の状態の推定、及び視線による機器への入力を行うユーザインターフェースといった種々の用途で用いられている。視線方向は、ユーザの顔の向きに応じて異なるため、視線方向を正確に検出するために、顔の向きが考慮されている。
【０００３】
例えば、特許文献１には、人の目の輪郭に対する瞳の位置及び顔の向きと、視線方向との相関関係を学習し、当該相関関係に検出対象者の瞳の位置及び顔の向きを適用し、検出対象者の瞳方向を推定し、推定した瞳方向と検出対象者の顔の向きとに基づいて検出対象者の視線方向を計算する技術が開示されている。特許文献２には、顔の向きを視線方向とみなす技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２６６０８６号公報
【特許文献２】特開２０１７−８３３０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１、２の技術では、視線方向の水平成分と視線の垂直成分とを算出するにあたり、各成分に対して寄与するパラメータが異なることが何ら考慮されていないため、視線方向を正確に検出するうえでさらなる改善の必要がある。
【０００６】
本開示の目的は、視線方向の検出精度をさらに向上させることが可能な画像処理技術を提供することにある。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る画像処理方法は、画像処理装置における画像処理方法であって、撮像装置により撮像された画像データを取得し、前記画像データから、人物の顔の特徴点の位置を検出し、前記画像データから、前記人物の目の瞳の中心位置を検出し、前記特徴点の位置に基づいて、前記顔の向きの水平成分及び垂直成分を検出し、前記顔の向きの水平成分と、前記瞳の中心位置及び前記特徴点の位置間の距離とに基づいて、前記光軸に対する前記人物の視線方向の水平成分を推定し、少なくとも前記顔の向きの垂直成分に基づいて、前記視線方向の垂直成分を推定し、前記視線方向の水平成分及び垂直成分を含む視線情報を出力する。
【発明の効果】
【０００８】
本開示によれば、視線方向の検出精度をさらに向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本開示の実施の形態１に係る画像処理システムの全体構成の一例を示す図である。
【図２】実施の形態１に係る画像処理システムの詳細な構成の一例を示すブロック図である。
【図３】顔向き検出部の詳細な構成を示すブロック図である。
【図４】実施の形態１に係る画像処理装置の動作の一例を示すフローチャートである。
【図５】顔領域を示す図である。
【図６】顔領域に対して設定された顔の特徴点を示す図である。
【図７】目領域を示す図である。
【図８】二値化された目領域を示す図である。
【図９】顔の向きの水平成分を検出する処理の説明図である。
【図１０】顔の向きの垂直成分を検出する処理の説明図である。
【図１１】瞳方向の水平成分を検出する処理の第１例の説明図である。
【図１２】図１１に続く説明図である。
【図１３】瞳方向の水平成分を検出する処理の第２例の説明図である。
【図１４】光軸、顔の向き、瞳方向、及び視線方向の関係を示した図である。
【図１５】本開示の実施の形態２に係る画像処理システムの全体構成の一例を示す図である。
【図１６】実施の形態２に係る画像処理システムの動作の一例を示すフローチャートである。
【図１７】まぶた検出処理の説明図である。
【図１８】実施の形態３に係る画像処理システムの詳細な構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
（本開示の基礎となる知見）
３次元実空間内において人物の注視点を人物の顔の画像データを用いて検出する場合、例えば人物を撮影するカメラの光軸に対する視線方向を検出することが要求される。カメラの光軸に対する視線方向を検出する場合のパラメータとしては、例えばカメラの光軸に対する顔の向きと顔の向きに対する視線方向とが用いられる。
【００１１】
しかしながら、視線方向は３次元ベクトルで構成される。そのため、光軸に対する視線方向を検出する場合、カメラの光軸に対する顔の向きと、顔の向きに対する視線方向とを単に用いるだけでは不十分であり、両者を水平成分と垂直成分とに分けることが要求される。
【００１２】
特許文献１では、左右方向の顔向きと左右方向の瞳方向との和から左右方向の視線方向が求められ、上下方向の顔向きと上下方向の瞳方向との和から上下方向の視線方向が求められている（段落［００７３］）。
【００１３】
しかしながら、特許文献１では、人の目の輪郭に対する瞳の位置及び顔の向きと視線方向とから学習された相関関係に、検出対象者の顔向きと検出対象者の瞳の位置を適用することで瞳方向が計算されることが開示されているに過ぎない。そのため、特許文献１では、左右方向の瞳方向と上下方向の瞳方向とを区別して算出する具体的な開示がない。さらに、左右方向の顔向きと上下方向の顔向きとを区別して算出する具体的な開示もない。よって、特許文献１では、視線方向の水平成分と垂直成分とのそれぞれを算出するにあたり寄与するパラメータが異なることは何ら考慮されていない。さらに、特許文献１では、予め相関関係を学習させることも要求され、手間である。
【００１４】
特許文献２では、顔の向きが視線方向として見なされているため、視線方向の水平成分と垂直成分とのそれぞれを算出するにあたり寄与するパラメータが異なることは何ら考慮されていない。
【００１５】
以上より特許文献１、２の技術は視線方向を精度よく検出するには不十分である。
【００１６】
そこで、本発明者は、視線方向の水平成分と垂直成分のそれぞれを算出するにあたり寄与するパラメータが異なるとの知見を得て、以下に示す各態様を想到するに至った。
【００１７】
本開示の一態様に係る画像処理方法は、画像処理装置における画像処理方法であって、撮像装置により撮像された画像データを取得し、前記画像データから、人物の顔の特徴点の位置を検出し、前記画像データから、前記人物の目の瞳の中心位置を検出し、前記特徴点の位置に基づいて、前記顔の向きの水平成分及び垂直成分を検出し、前記顔の向きの水平成分と、前記瞳の中心位置及び前記特徴点の位置間の距離とに基づいて、前記光軸に対する前記人物の視線方向の水平成分を推定し、少なくとも前記顔の向きの垂直成分に基づいて、前記視線方向の垂直成分を推定し、前記視線方向の水平成分及び垂直成分を含む視線情報を出力する。
【００１８】
本構成によれば、撮像装置の光軸に対する視線方向の水平成分は、顔の向きの水平成分と、瞳の中心位置及び顔の特徴点間の距離とに基づいて推定されている。光軸に対する視線方向の垂直成分は、少なくとも顔の向きの垂直成分に基づいて推定されている。このように、本構成では、光軸に対する視線方向の水平成分及び垂直成分のそれぞれが異なるパラメータを用いて推定されている。よって、本構成は、視線方向の検出精度をさらに向上させることができる。さらに、本構成は、上述したような相関関係を事前に学習することが不要である。よって、本構成は少ない処理ステップ数で高精度に視線方向を検出できる。
【００１９】
上記画像処理方法において、前記特徴点は、前記人物の目尻及び目頭を含んでもよい。
【００２０】
本構成によれば、顔の特徴点として目尻及び目頭が用いられているため、視線方向の検出精度をさらに向上させることができる。
【００２１】
上記画像処理方法において、前記視線方向の水平成分の推定では、前記瞳の中心位置及び前記目頭の位置間の第１距離と前記瞳の中心位置及び前記目尻の位置間の第２距離との割合に基づいて前記顔の向きに対する前記瞳の方向である瞳方向の水平成分を推定し、前記顔の向きの水平成分と前記瞳方向の水平成分とを合成することによって前記視線方向の水平成分を推定してもよい。
【００２２】
本構成によれば、瞳の中心位置及び目頭の位置間の第１距離と瞳の中心位置及び目尻の位置間の第２距離との割合に基づいて瞳方向の水平成分が推定され、瞳方向の水平成分と、顔の向きの水平成分とが合成され、視線方向の水平成分が推定される。これにより、視線方向の水平成分の推定精度が高まり、ひいては視線方向の検出精度をさらに向上させることができる。
【００２３】
上記画像処理方法において、前記特徴点は、前記顔の中心位置を含んでもよい。
【００２４】
本構成によれば、顔の特徴点として顔の中心位置が用いられているため、視線方向の検出精度をさらに向上させることができる。
【００２５】
上記画像処理方法において、前記視線方向の水平成分の推定では、前記人物の左右それぞれの瞳の中心位置の中点と前記顔の中心位置とのずれに基づいて前記顔の向きに対する前記瞳の方向である瞳方向の水平成分を推定し、前記瞳方向の水平成分と前記顔の向きの水平成分とを合成することによって前記視線方向の水平成分を推定してもよい。
【００２６】
本構成によれば、人物の左右それぞれの瞳の中心位置の中点と顔の中心位置とのずれに基づいて瞳方向の水平成分が推定され、瞳方向の水平成分と顔の向きの水平成分とが合成され、視線方向の水平成分が推定される。これにより、視線方向の水平成分の推定精度が高まり、ひいては視線方向の検出精度をさらに向上させることができる。
【００２７】
上記画像処理方法において、前記視線方向の垂直成分の推定では、さらに前記瞳の中心位置及び前記人物の上まぶた間の第３距離と前記瞳の中心位置及び前記人物の下まぶた間の第４距離とを用いて前記視線方向の垂直成分を推定してもよい。
【００２８】
本構成によれば、瞳の中心位置及び人物の上まぶた間の第３距離と瞳の中心位置及び人物の下まぶた間の第４距離とを用いて視線方向の垂直成分が推定されている。そのため、視線方向の垂直成分をより精度よく推定できる。
【００２９】
上記画像処理方法において、前記視線方向の垂直成分の推定では、前記第３距離と前記第４距離との割合に基づいて前記顔の向きに対する前記瞳の方向である瞳方向の垂直成分を推定し、前記瞳方向の垂直成分と前記顔の向きの垂直成分とを合成することによって前記視線方向の垂直成分を推定してもよい。
【００３０】
本構成によれば、第３距離と第４距離との割合に基づいて瞳方向の垂直成分が推定され、瞳方向の垂直成分と、顔の向きの垂直成分とが合成され、視線方向の垂直成分が推定される。これにより、視線方向の垂直成分の推定精度が高まり、ひいては視線方向の検出精度をさらに向上させることができる。
【００３１】
上記画像処理方法において、前記特徴点は、まゆげ及び口角の少なくとも一方を含み、前記視線情報と、前記まゆげの位置及び前記口角の位置の少なくとも一方に基づいて前記人物の関心度を推定してもよい。
【００３２】
本構成によれば、視線情報のみに基づいて関心度を推定する場合に比べて、より高精度に関心度を推定できる。
【００３３】
上記画像処理方法において、前記まゆげの位置及び前記口角の位置の少なくとも一方に基づいて前記人物の表情を推定し、前記視線情報と、前記推定された表情を示す情報とに基づいて前記人物の関心度を推定してもよい。
【００３４】
本構成によれば、まゆげの位置及び口角の位置の少なくとも一方に基づいて推定された人物の表情を示す情報と視線情報とを用いて関心度が推定されているため、人物の関心度をさらに高精度に推定できる。
【００３５】
上記画像処理方法において、前記視線情報は、所定の対象面における前記人物の注視点を基準とする所定範囲の領域である注視面を示す情報を含んでもよい。
【００３６】
本構成によれば、人物及び注視対象物間の距離又は注視対象物の大きさに依存することなく注視対象物を適切に判定できる。
【００３７】
上記画像処理方法において、前記画像データは、可視光カメラにより撮影されたものであり、前記瞳の中心位置は、虹彩の中心位置であってもよい。
【００３８】
可視光カメラで撮影された画像データから瞳孔を検出することは困難であるが、虹彩は検出可能である。本態様は、虹彩の中心位置が瞳の中心位置とされているため、可視光カメラを用いた場合において、瞳の中心位置を精度よく検出できる。
【００３９】
上記画像処理方法において、前記画像データは、赤外光カメラにより撮影されたものであり、前記瞳の中心位置は、瞳孔の中心位置であってもよい。
【００４０】
赤外光カメラで撮影された画像データから瞳孔を検出することは可能である。本態様は、瞳孔の中心位置が瞳の中心位置とされているため、赤外光カメラを用いた場合において、瞳の中心位置を精度よく検出できる。
【００４１】
上記画像処理方法において、前記画像データは、太陽光のスペクトル強度が所定の第１波長よりも減衰した所定の第２波長の帯域の赤外光を用いる赤外光カメラで撮影された画像データであってもよい。
【００４２】
本構成によれば、太陽光のスペクトル強度が強い屋外においても精度よく視線方向を検出できる。
【００４３】
本開示は、このような画像処理方法に含まれる特徴的な各構成をコンピュータに実行させる画像処理プログラム、或いはこの画像処理プログラムによって動作する画像処理装置として実現することもできる。また、このようなコンピュータプログラムを、ＣＤ−ＲＯＭ等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
【００４４】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【００４５】
（実施の形態１）
図１は、本開示の実施の形態１に係る画像処理システム１の全体構成の一例を示す図である。画像処理システム１は、人物４００を撮影し、得られた人物４００の画像データから人物４００の視線を示す視線情報を検出するシステムである。図１の例では、画像処理システム１は、表示装置３００に表示された複数のオブジェクト３０１のうち、どのオブジェクト３０１を人物４００が注視しているかを特定している。但し、これは一例であり、画像処理システム１は、表示装置３００の表示画面上に表示されたオブジェクト３０１のみならず、実空間内において人物４００が注視するオブジェクト３０１を特定してもよい。
【００４６】
図１の例では、画像処理システム１はデジタルサイネージシステムに適用されている。したがって、表示装置３００に表示されるオブジェクト３０１は、広告などのサイネージの画像となる。
【００４７】
画像処理システム１は、画像処理装置１００、カメラ２００（撮影装置の一例）、及び表示装置３００を含む。画像処理装置１００は、カメラ２００及び表示装置３００と所定の通信路を介して接続されている。所定の通信路は、例えば、有線ＬＡＮなどの有線の通信路、又は無線ＬＡＮ及びブルートゥース（登録商標）などの無線の通信路である。画像処理装置１００は、例えば表示装置３００の周囲に設置されたコンピュータで構成されている。但し、これは一例であり、画像処理装置１００は、クラウドサーバで構成されてもよい。この場合、画像処理装置１００は、カメラ２００及び表示装置３００とインターネットを介して接続される。画像処理装置１００は、カメラ２００で撮像された人物４００の画像データから、人物４００の視線情報を検出し、表示装置３００に出力する。画像処理装置１００は、カメラ２００又は表示装置３００にハードウェアとして組み込まれてもよい。カメラ２００又は表示装置３００がプロセッサを備え、画像処理装置１００がソフトウェアとして組み込まれていてもよい。
【００４８】
カメラ２００は、例えば所定のフレームレートで表示装置３００の周囲の環境を撮影することにより、表示装置３００の周囲に位置する人物４００の画像データを取得する。カメラ２００は、取得した画像データを所定のフレームレートで順次に画像処理装置１００に出力する。カメラ２００は、可視光カメラであってもよいし、赤外光カメラであってもよい。
【００４９】
表示装置３００は、例えば液晶パネル又は有機ＥＬパネルなどの表示装置で構成されている。図１の例では、表示装置３００は、サイネージディスプレイである。なお、図１の例では、画像処理システム１は、表示装置３００を含むとして説明したが、これは一例であり、表示装置３００に代えて、別の機器が採用されてもよい。例えば、画像処理システム１が視線により機器への入力を受け付けるユーザインターフェースとして利用されるのであれば、画像処理システム１は例えば表示装置３００に代えて、冷蔵庫、テレビ、及び洗濯機などの家電機器が採用されてもよい。例えば、画像処理システム１が車両に搭載されるのであれば、表示装置３００に代えて、自動車などの車両が採用されてもよい。さらに、表示装置３００に代えてハードディスクドライブ、ソリッドステートドライブなどの記憶装置が採用されてもよい。
【００５０】
図２は、実施の形態１に係る画像処理システム１の詳細な構成の一例を示すブロック図である。画像処理装置１００は、プロセッサ１１０を含む。プロセッサ１１０は、ＣＰＵ、ＦＰＧＡなどの電気回路である。プロセッサ１１０は、画像取得部１１１（取得部の一例）、特徴点検出部１１２、瞳検出部１１３、顔向き検出部１１４、垂直視線推定部１１６、水平視線推定部１１５、及び出力部１１７を含む。プロセッサ１１０が備える各ブロックは、プロセッサ１１０がコンピュータを画像処理装置として機能させる画像処理プログラムを実行することで実現されてもよいし、専用の電気回路で構成されてもよい。以下に記述される各ブロックの説明は、各ブロックの処理の概要であり、各ブロックの処理の詳細は後述のフローチャートを用いて説明される。
【００５１】
画像取得部１１１は、カメラ２００が撮像した画像データを取得する。ここで、取得される画像データには、表示装置３００の周囲の人物４００の顔が含まれる。なお、画像取得部１１１が取得する画像データは、例えばウェブサイトに掲載された画像データであってもよいし、外部の記憶装置が記憶する画像データであってもよい。
【００５２】
特徴点検出部１１２は、画像取得部１１１が取得した画像データから、人物４００の顔の特徴点の位置を検出する。顔の特徴点とは、例えば目尻、目頭、顔の輪郭、鼻筋、口角、及び眉毛などの顔を構成する複数の部品のそれぞれにおいて、特徴的な位置にある１又は複数の点である。特徴点はランドマークとも呼ばれる。特徴点検出部１１２は、例えば機械学習のフレームワークのモデルファイルを利用したランドマーク検出処理を実行することで顔の特徴点を検出すればよい。
【００５３】
瞳検出部１１３は、画像取得部１１１により取得された画像データから、人物４００の左目及び右目のそれぞれの瞳の中心位置を検出する。本実施の形態において、瞳とは、図７に示すように、瞳孔５５と、瞳孔５５を取り囲むドーナツ状の虹彩５６とを含む有色の部分を指す。
【００５４】
瞳検出部１１３は、後述する瞳孔外縁検出処理を画像データに適用することで瞳外縁を検出し、その瞳外縁の中心を瞳の中心位置として検出する。カメラ２００が可視光カメラである場合、瞳孔外縁検出処理は瞳孔の外縁を検出することは困難であるが、虹彩の外縁を検出することは可能である。よって、カメラ２００が可視光カメラである場合、瞳の中心位置は虹彩外縁の中心位置となる。カメラ２００が赤外光カメラである場合、瞳孔外縁検出処理は、瞳孔外縁が検出可能である。よって、カメラ２００が赤外光カメラである場合、瞳の中心位置は瞳孔外縁の中心位置となる。
【００５５】
顔向き検出部１１４は、特徴点検出部１１２により検出された特徴点の位置に基づいて、カメラ２００の光軸に対する顔の向きの水平成分及び垂直成分を検出する。顔の向き水平成分は、光軸に対して顔の向きが水平方向の左側又は右側にどの程度向いているかを示す指標である。顔の向きの垂直成分は、光軸に対して顔の向きが垂直方向の上側又は下側にどの程度向いているかを示す指標である。水平方向とは、例えば地面と平行な方向であり、カメラ２００が撮影する画像データのＸ軸に対応する。垂直方向とは、例えば地面と直交する方向であり、カメラ２００が撮影する画像データのＹ軸に対応する。
【００５６】
図３は、顔向き検出部１１４の詳細な構成を示すブロック図である。顔向き検出部１１４は、水平顔向き検出部１１４１及び垂直顔向き検出部１１４２を含む。水平顔向き検出部１１４１は顔の向きの水平成分を検出する。垂直顔向き検出部１１４２は、顔の向きの垂直成分を検出する。
【００５７】
図２に参照を戻す。水平視線推定部１１５は、顔向き検出部１１４により検出された顔の向きの水平成分と、瞳検出部１１３により検出された瞳の中心位置及び特徴点検出部１１２により検出された特徴点の位置間の距離とに基づいて、光軸に対する人物４００の視線方向の水平成分を推定する。
【００５８】
本実施の形態では、特徴点には左目及び右目のそれぞれの目尻及び目頭が含まれる。目尻及び目頭を利用した水平視線推定部１１５の処理は以下の通りである。水平視線推定部１１５は、瞳の中心位置及目頭の位置間の第１距離を算出する。第１距離を算出した水平視線推定部１１５は、瞳の中心位置及び目尻の位置間の第２距離を算出する。第２距離を算出した水平視線推定部１１５は、第１距離と第２距離との割合に基づいて顔の向きに対する瞳の方向である瞳方向の水平成分を推定する。そして、水平視線推定部１１５は、推定した瞳方向の水平成分と、顔の向きの水平成分とを合成し、視線方向の水平成分を推定する。この目尻及び目頭を利用した推定処理は、左目及び右目のそれぞれに対して適用される。
【００５９】
本実施の形態では、特徴点は、顔の中心位置が含まれてもよい。顔の中心位置を利用した水平視線推定部１１５の処理は下記の通りである。水平視線推定部１１５は、人物４００の左右それぞれの瞳の中心位置から、左右それぞれの瞳の中心位置間の中点を検出する。この中点を検出した水平視線推定部１１５は、顔の中心位置と前記中点とのずれを検出する。このずれを検出した水平視線推定部１１５は、このずれに基づいて瞳方向の水平成分を推定する。以下、水平視線推定部１１５は、目尻及び目頭を利用した場合と同様に、視線方向の水平成分を推定すればよい。この顔の中心位置を利用した推定処理は左目及び右目のそれぞれに適用される。
【００６０】
垂直視線推定部１１６は、顔向き検出部１１４により検出された顔の向きの垂直成分に基づいて、光軸に対する人物４００の視線方向の垂直成分を推定する。本実施の形態では、垂直視線推定部１１６は、顔の向きの垂直成分を視線方向の垂直成分として推定する。
【００６１】
出力部１１７は、水平視線推定部１１５により推定された視線方向の水平成分と、垂直視線推定部１１６により推定された視線方向の垂直成分とを含む視線情報を生成し、表示装置３００に出力する。出力部１１７は、視線方向に基づいて表示装置３００の表示面（対象面）における注視点を算出し、この注視点を視線情報に含めてもよい。
【００６２】
注視点を算出した出力部１１７は、表示装置３００で表示されているオブジェクト３０１の情報を取得し、取得した情報と注視点の座標データとから人物４００が注視するオブジェクト３０１（注視オブジェクト）を特定し、特定結果を表示装置３００に出力してもよい。
【００６３】
カメラ２００は、図１で説明したため、ここでは説明を省略する。
【００６４】
表示装置３００は、例えば出力部１１７から出力された視線情報を示すマーカーを表示する。注視オブジェクトの特定結果を出力部１１７から取得した場合、表示装置３００は、注視オブジェクトを示すマーカーを表示してもよい。
【００６５】
画像処理システム１が、表示装置３００に代えて家電機器で構成される場合、家電機器は視線情報から人物４００の入力を受け付ける。画像処理システム１が、表示装置３００に代えて記憶装置で構成される場合、記憶装置は、視線情報を記憶する。この場合、記憶装置は視線情報にタイムスタンプを対応付けて記憶してもよい。
【００６６】
次に、画像処理装置１００の動作について説明する。図４は、実施の形態１に係る画像処理装置１００の動作の一例を示すフローチャートである。ステップＳ１では、画像取得部１１１は、カメラ２００から画像データを取得する。ステップＳ２では、特徴点検出部１１２は、顔領域を検出するための分類器に画像データを入力することにより、画像データから顔領域を検出する。この分類器は、例えばオープンソースによる画像処理ライブラリにおいて顔領域を検出するために予め作成されたハール（Ｈａａｒ）状のカスケード分類器である。顔領域は、例えば顔の全体を含む程度のサイズを持つ矩形状の領域である。但し、これは一例であり、顔領域の形状は矩形以外の例えば、３角形、５角形、６角形、又は８角形などであってもよい。なお、特徴点検出部１１２は、パターンマッチングにより顔領域を検出してもよい。
【００６７】
図５は、顔領域４０を示す図である。図５に示すように、特徴点検出部１１２は、額の上部と顎の下部と、耳の生え際とを含む矩形状の領域を顔領域４０として検出している。ここでは、顔領域４０は髪の全体を含んでいないが、髪の全体を含む領域であってもよい。図５では、画像データは人物４００を正面から撮影した画像データであるため、左目と右目とが含まれている。本実施の形態では、説明の便宜上、右目とは人物４００を正面から見て右側にある目のことを指し、左目とは人物４００を正面から見て左側にある目のことを指す。但し、これは一例であり、人物４００から見て右側にある目を右目、人物４００から見て左側にある目を左目としてもよい。また、本実施の形態では、紙面の右側の方向を右方、紙面の左側の方向を左方とする。
【００６８】
図４に参照を戻す。ステップＳ３では、ステップＳ２で検出された顔領域４０に上述のランドマーク検出処理を適用し、顔の特徴点を検出する。
【００６９】
図６は、顔領域４０に対して設定された顔の特徴点９Ｘを示す図である。図６に示すように、顔領域４０に対してランドマーク検出処理が適用されることにより、複数の特徴点９Ｘが顔領域４０から検出されている。図６の例では、ランドマーク検出処理によって検出される特徴点９Ｘのうち、視線情報の検出に必要となる特徴点９Ｘが示されている。図６の例では、鼻筋上に位置する例えば５個の特徴点９Ｘと、鼻の下側に位置する例えば２個の特徴点９Ｘと、顔の輪郭上に位置する例えば１７個の特徴点９Ｘとが検出されている。さらに、図６の例では、左右の目頭９２に位置する２個の特徴点９Ｘと、左右の目尻９３に位置する２個の特徴点９Ｘとが検出されている。なお、特徴点９Ｘは、それぞれランドマーク点番号が付与されており、どのランドマーク点番号の特徴点が顔のどの部位を示すかは予め定められている。例えば、ランドマーク点番号が「２」の特徴点９Ｘは左の目尻９３を示し、ランドマーク点番号が「０」の特徴点は左の目頭９２を示すというように、各特徴点９Ｘにはランドマーク点番号が設定されている。そのため、特徴点検出部１１２は、ランドマーク点番号から特徴点９Ｘが顔のどの部位を示しているのかを特定できる。
【００７０】
図４に参照を戻す。ステップＳ４では、瞳検出部１１３は、目領域を検出するための分類器にステップＳ２で検出された顔領域４０を入力し、目領域を検出する。この分類器は、例えばオープンソースによる画像処理ライブラリにおいて目検出領域を検出するために予め作成されたハール状のカスケード分類器である。目領域は、目の大きさに所定のマージンを加えた程度のサイズを持つ矩形状の領域である。但し、これは一例であり、目領域の形状は矩形以外の、例えば、３角形、５角形、６角形、又は８角形などであってもよい。顔領域に人物４００の２つの目が含まれている場合、瞳検出部１１３は２つの目のそれぞれに対応する２つの目領域５０を設定する。なお、瞳検出部１１３はパターンマッチングにより目領域５０を設定してもよい。本実施の形態において、目とは、図７に示すように上瞼の境界５３と下瞼の境界５４とによって取り囲まれる、白目と、黒目などの有色の部分とを含む領域を指す。
【００７１】
図７は、目領域５０を示す図である。図７に示すように、目領域５０は、目の全域を含み、目の大きさに多少のマージンが加えられた矩形状の領域であることが分かる。なお、目領域５０の境界を目に対してどの位置に設定するかは、分類器の性能に依存する。したがって、分類器の性能に応じて目領域５０のサイズは相違する。例えば、目領域５０の上側の境界が上瞼の眉毛付近にまで及ぶこともあり得る。また、目領域５０の鼻側の境界が鼻付近にまで及び、目領域５０の耳側の境界がこめかみ付近にまで及ぶこともあり得る。図７の例では、顔領域４０に左右の目が含まれていたため、瞳検出部１１３は、右目及び左目のそれぞれに対応する２つの目領域５０を設定している。
【００７２】
図４に参照を戻す、ステップＳ５では、瞳検出部１１３は、ステップＳ４で検出された目領域５０から瞳の中心位置を検出する。以下、ステップＳ５の処理の詳細について説明する。まず、瞳検出部１１３は、目領域５０を二値化する。図８は、二値化された目領域５０を示す図である。ここでは、例えば大津の二値化と呼ばれる手法が採用されている。図８では、輝度が閾値より低い箇所が白、輝度が閾値以上の箇所が黒で表されている。
【００７３】
次に、瞳検出部１１３は、二値化された目領域５０に現れる白の島にラベリング番号を付与するラベリング処理を行う。図８の例では、上睫毛の左側が１つの島６１とみなされ、島６１に「１」のラベリング番号が付与されている。上睫毛の右側が１つの島６２とみなされ、島６２に「２」のラベリング番号が付与されている。瞳孔が１つの島６３とみなされ、島６３に「３」のラベリング番号が付与されている。下睫毛が一つの島６４とみなされ、島６４に「４」のラベリング番号が付与されている。
【００７４】
次に、瞳検出部１１３は、ラベリングした島６１〜６４のそれぞれに対して、所定の判定条件を満たすか否かを判定し、判定条件を満たす島を瞳孔として判定する。判定条件としては、所定の瞳孔最小面積以上、所定の瞳孔最大面積以下という条件が採用できる。瞳孔最小面積とは、画像データにおいて想定される瞳孔の最小面積であり、瞳孔最大面積とは、画像データにおいて想定される瞳孔の最大面積である。判定条件を満たす島が複数ある場合、瞳検出部１１３は、例えば面積が最大の島を瞳孔と判定してもよい。ここでは、島６３が瞳孔と判定される。
【００７５】
次に、瞳検出部１１３は、瞳孔の中心を検出する。ここでは、瞳孔の島６３の例えば重心が瞳孔の中心として検出される。
【００７６】
図８に示す画像は、赤外光カメラによって撮影された画像である。赤外光カメラで撮影された画像データでは、瞳孔と虹彩との間に大きな輝度変化が現れる。そのため、図８の例では、二値化によって瞳孔の島６３が検出されている。一方、可視光カメラで撮影された画像データでは、瞳孔と虹彩との間に大きな輝度変化が現れず、虹彩と白眼との境界で大きな輝度変化が現れる。
【００７７】
そこで、瞳検出部１１３は、例えばカメラ２００が赤外光カメラである場合、二値化した目領域５０から瞳孔を検出する。一方、瞳検出部１１３は、例えばカメラ２００が可視光カメラである場合、二値化した目領域５０から虹彩を検出する。この場合、瞳検出部１１３は、判定条件として、所定の虹彩最小面積以上、所定の虹彩最大面積以下という条件を採用すればよい。ここで言う、虹彩最小面積及び虹彩最大面積とは、ドーナツ状である虹彩そのものの面積を指すのではなく、虹彩に瞳孔を含めた領域、すなわち瞳の最大面積及び最小面積のことを指す。この場合、瞳検出部１１３は、虹彩の中心を検出すればよい。虹彩の中心としては、虹彩を示す島の例えば重心が採用できる。
【００７８】
次に、瞳検出部１１３は、瞳孔の外縁を検出する瞳孔外縁検出処理を実行する。瞳孔外縁検出処理としては、Ｊｏｈｎ  Ｇ．  Ｄａｕｇｍａｎの提唱する手法（以下、「ドーグマンアルゴリズム」と呼ぶ。）の一部を利用した瞳孔外縁検出処理を採用すればよい。ドーグマンアルゴリズムは、「Ｈｉｇｈ  Ｃｏｎｆｉｄｅｎｃｅ  Ｖｉｓｕａｌ  Ｒｅｃｏｇｎｉｔｉｏｎ  ｏｆ  Ｐｅｒｓｏｎｓ  ｂｙ  ａ  Ｔｅｓｔ  ｏｆ  Ｓｔａｔｉｓｔｉｃａｌ  Ｉｎｄｅｐｅｎｄｅｎｃｅ：  Ｊｏｈｎ  Ｇ．  Ｄａｕｇｍａｎ（１９９３）」の文献にて開示されている。
【００７９】
具体的には、瞳孔外縁検出処理において、まず、瞳検出部１１３は、二値化した目領域５０から検出した瞳孔の中心を円の中心として、所定の瞳孔最小半径を持つ円を設定する。次に、瞳検出部１１３は、設定した円の円周上の輝度の合計値を周回積分により求める。次に、瞳検出部１１３は、直前に設定した円の半径を１ピクセル分、径方向に広げた円に対して周回積分を行うことにより輝度の合計値を求める。次に、瞳検出部１１３は、この処理を、所定の瞳孔最大半径まで繰り返し実行する。これにより、複数の半径と、複数の半径のそれぞれに対応する輝度の合計値との関係を示す関数が得られる。次に、瞳検出部１１３は、この関数を半径について偏微分して、隣り合う半径同士の輝度の合計値の最大変化量を求め、この最大変化量が検出された位置の半径の円を瞳孔外縁として検出する。次に、瞳検出部１１３は、瞳孔外縁の中心を瞳の中心位置として決定する。これで、ステップＳ５の処理は終了となる。
【００８０】
なお、画像データが可視光カメラで撮影された画像データである場合、瞳検出部１１３は、二値化された目領域５０に対して瞳孔外縁検出処理を適用することによって虹彩外縁を検出する。したがって、画像データが可視光カメラで撮影された画像データである場合、ステップＳ５で最終的に得られる瞳の中心位置は、虹彩外縁の中心位置となる。
【００８１】
従来、瞳孔外縁検出処理としてはハフ（Ｈａｕｇｈ）円検出処理が広く用いられている。しかし、画像データに含まれる人物４００の瞳孔は正円ばかりではなく、いびつに変形しているケースもある。また、画像データに含まれる人物４００が細目のケース及び顔を横に向けているケースもある。これらのケースでは瞳孔が正円ではなくなるため、ハフ円検出処理では瞳孔外縁を正確に検出できない可能性がある。
【００８２】
そこで、本実施の形態では、ドーグマンアルゴリズムの一部を利用した瞳孔外縁検出処理を採用する。これにより、本実施の形態では、瞳孔が正円からいびつに変形したケース、細目のケース、及び顔の向きが横向きのケースというような様々なケースにおいて、瞳孔外縁検出処理に対するロバスト性が高められている。
【００８３】
図４に参照を戻す。ステップＳ６では、水平顔向き検出部１１４１は、ステップＳ３で検出された顔の特徴点に基づいて顔の向きの水平成分を検出する。さらに、ステップＳ６では、垂直顔向き検出部１１４２は、ステップＳ３で検出された顔の特徴点に基づいて顔の向きの垂直成分を検出する。
【００８４】
顔の向きの水平成分の処理の詳細は下記の通りである。図９は、顔の向きの水平成分を検出する処理の説明図である。図９の左図は顔が左方を向いている状態を示す。図９の右図は顔が右方を向いている状態を示す。
【００８５】
図９の左図を参照する。まず、水平顔向き検出部１１４１は、顔領域４０に設定された顔の特徴点９Ｘから縦方向の縦中心線１３１と横方向の横中心線１３２とを設定する。例えば、水平顔向き検出部１１４１は、鼻筋の中心を示す特徴点１３３を通り、且つ顔領域４０の縦の辺と平行な直線を縦中心線１３１として設定すればよい。特徴点１３３は、例えば鼻筋を示す５個の特徴点９Ｘのうち、上から３番目の特徴点９Ｘである。水平顔向き検出部１１４１は、例えば特徴点１３３を通り、且つ顔領域４０の横の辺と平行な直線を横中心線１３２として設定すればよい。縦中心線１３１及び横中心線１３２は、鼻筋の中心の特徴点１３３を通るとして説明したが、例えば鼻筋の下端の特徴点１３４を通るように設定されてもよいし、鼻筋の上端の特徴点１３５を通るように設定されてもよい。
【００８６】
次に、水平顔向き検出部１１４１は、横中心線１３２を特徴点１３３で区画し、右区間Ｋ１と左区間Ｋ２との長さを求める。次に、水平顔向き検出部１１４１は、横中心線１３２の長さを１００％としたときの右区間Ｋ１と左区間Ｋ２との割合を求め、この割合に基づいて顔の向きの水平成分を求める。例えば、右区間Ｋ１の割合をα１、左区間Ｋ２の割合をα２とし、右方を正とする。この場合、水平顔向き検出部１１４１は、図９の左図に示されるように、割合α２が割合α１より小さければ、顔は左方を向いていると判定する。図９の右図に示されるように、割合α１が割合α２より小さければ、水平顔向き検出部１１４１は、顔は右方を向いていると判定する。割合α２が割合α１と概ね等しければ、水平顔向き検出部１１４１は、顔は正面を向いていると判定する。概ね等しいとは、割合α２と割合α１との多少の相違を許容することを意味している。例えば、水平顔向き検出部１１４１は、割合α２と割合α１との両方が５０％に対してプラスマイナスΔαの範囲内にある場合、顔は正面を向いていると判定すればよい。Δαの一例は２％、５％、８％、１０％などである。
【００８７】
次に、水平顔向き検出部１１４１は、割合α１及び割合α２のうち小さい方の割合を５０から減じる。例えば、図９の左図に示すように、割合α２が割合α１より小さければ、水平顔向き検出部１１４１は、５０−α２を求める。図９の右図に示すように割合α１が割合α２より小さければ、水平顔向き検出部１１４１は、は、５０−α１を求める。次に、水平顔向き検出部１１４１は、顔が右方を向いている場合は、右方が正であるため、５０−α１を顔の向きの水平成分として算出する。一方、水平顔向き検出部１１４１は、顔が左方を見ている場合、左方が負であるため、−（５０−α２）を顔の向きの水平成分として算出する。
【００８８】
これにより、顔の向きの水平成分の値がプラスの方向に増大するにつれて、顔の向きはより右方を向いていることを示し、顔の向きの水平成分の値がマイナスの方向に増大するにつれて、顔の向きはより左方を向いていることを示す。また、顔の向きの水平成分が０の場合、顔の向きは正面方向であることを示す。以上により、顔の向きの水平成分が算出される。顔の向きの水平成分を求める手法は、上述の手法に限らず、顔の向きの水平成分が算出可能な手法であればどのような手法が採用されてもよい。例えば、顔向きの水平成分は、割合α１と割合α２とのうち大きい方の値から５０を引いた値が採用されてもよい。また、顔の向きの水平成分は左方が正とされてもよい。
【００８９】
次に、顔の向きの垂直成分について説明する。図１０は、顔の向きの垂直成分を検出する処理の説明図である。図１０の左図は顔が上方を向いている状態を示す。図１０の右図は顔が下方を向いている状態を示す。
【００９０】
図１０の左図を参照する。まず、垂直顔向き検出部１１４２は、鼻筋の中心を示す特徴点１３３を通り、且つ顔領域４０の横の辺と平行な直線である横中心線１３２を顔領域４０に設定する。なお、横中心線１３２は、特徴点１３３以外の鼻筋の特徴点に設定されてもよい。この横中心線１３２の設定は、水平顔向き検出部１１４１の設定結果が利用されてもよい。
【００９１】
次に、垂直顔向き検出部１１４２は、顔領域４０の縦辺を、縦辺と横中心線１３２との交点１３６で区画し、上区間Ｋ３と下区間Ｋ４との長さを求める。次に、垂直顔向き検出部１１４２は、前記縦辺の長さを１００％としたときの上区間Ｋ３と下区間Ｋ４との割合を求め、この割合に基づいて顔の向きの垂直成分を求める。例えば、上区間Ｋ３の割合をα３、下区間Ｋ４の割合をα４とし、上方を正とする。この場合、垂直顔向き検出部１１４２は、図１０の左図に示されるように、割合α３が割合α４より小さければ、顔は上方を向いていると判定する。図１０の右図に示されるように、割合α４が割合α３より小さければ、垂直顔向き検出部１１４２は、顔は下方を向いていると判定する。割合α３が割合α４と概ね等しければ、垂直顔向き検出部１１４２は、顔は正面を向いていると判定する。割合α３と割合α４とが概ね等しいとは、上述の割合α１と割合α２とが概ね等しいと同じ意味である。
【００９２】
次に、垂直顔向き検出部１１４２は、割合α３及び割合α４のうち小さい方の割合を５０から減じる。例えば、図１０の左図に示すように、割合α３が割合α４より小さければ、垂直顔向き検出部１１４２は、５０−α３を求める。図１０の右図に示すように割合α４が割合α３より小さければ、垂直顔向き検出部１１４２は、は、５０−α４を求める。次に、垂直顔向き検出部１１４２は、顔が上方を向いている場合は、上方が正であるため、５０−α３を顔の向きの垂直成分として算出する。一方、垂直顔向き検出部１１４２は、顔が下方を見ている場合、上方が正であるため、−（５０−α４）を顔の向きの垂直成分として算出する。
【００９３】
これにより、顔の向きの垂直成分の値がプラスの方向に増大するにつれて、顔の向きはより上方を向いていることを示し、顔の向きの垂直成分の値がマイナスの方向に増大するにつれて、顔の向きはより下方を向いていることを示す。また、顔の向きの垂直成分が０の場合、顔の向きは正面方向であることを示す。以上により顔の向きの垂直成分が算出される。顔の向きの垂直成分を求める手法は、上述の手法に限らず、顔の向きの垂直成分が算出可能な手法であればどのような手法が採用されてもよい。例えば、顔の向きの垂直成分は、割合α３及び割合α４のうち大きい方の割合から５０を減じた値が採用されてもよい。また、顔の向きの垂直成分は下方が正にされてもよい。
【００９４】
図４に参照を戻す。ステップＳ７において、水平視線推定部１１５は、ステップＳ３で顔の特徴点として検出された目尻及び目頭と、ステップＳ５で検出された瞳の中心位置とを用いて瞳方向の水平成分を推定する。
【００９５】
図１１は、瞳方向の水平成分を検出する処理の第１例の説明図である。図１１では右目が示されている。第１例では、目尻及び目頭を用いて瞳方向の水平成分が算出される。まず、水平視線推定部１１５は、目頭９２と、瞳の中心位置６２２とのＸ方向の距離である第１距離Ｄ１を算出する。水平視線推定部１１５は、目尻９３と瞳の中心位置６２２とのＸ方向の距離である第２距離Ｄ２を算出する。この場合、第１距離Ｄ１は、目頭９２のＸ座標と瞳の中心位置６２２のＸ座標との差分の絶対値で算出される。第２距離Ｄ２は、目尻９３のＸ座標と瞳の中心位置６２２のＸ座標との差分の絶対値で算出される。次に、水平視線推定部１１５は、目頭９２のＸ座標と目尻９３のＸ座標との距離を１００％としたときの第１距離Ｄ１と第２距離Ｄ２との割合β１と割合β２とを算出する。上述の処理は左右の目のそれぞれに対して実行される。
【００９６】
図１２は、図１１に続く説明図である。図１２の左図は顔がほぼ正面を向いた状態で、瞳が左方を向いた状態を示す。図１２の右図は顔がほぼ正面を向いた状態で瞳が右方を向いた状態を示す。図１２において、Ｌβ１及びＬβ２は左目の第１距離Ｄ１及び第２距離Ｄ２の割合を示し、Ｒβ１及びＲβ２は右目の第１距離Ｄ１及び第２距離Ｄ２の割合を示している。
【００９７】
図１２の左図では、左右の瞳が左方に寄っている。よって、左目は第２距離Ｄ２が短く、右目は第１距離Ｄ１が短くなっている。図１２の右図では、左右の瞳が右方に寄っている。よって、左目は第２距離Ｄ２が長く、右目は第１距離Ｄ１が長くなっている。
【００９８】
以上をふまえ、瞳方向の水平成分は下記のように算出される。以下、瞳が右方に寄っている場合を正とする。水平視線推定部１１５は、瞳が左方に寄っているか右方に寄っているかを判定する。この場合、水平視線推定部１１５は、例えば右目に着目し、割合Ｒβ１が割合Ｒβ２より小さければ瞳は左寄りと判定し、割合Ｒβ２が割合Ｒβ１より小さければ瞳は右寄りと判定すればよい。左目に着目した場合、水平視線推定部１１５は、割合Ｌβ２が割合Ｌβ１より小さければ、瞳は左寄りと判定し、割合Ｌβ１が割合Ｌβ２より小さければ、瞳は右寄りと判定すればよい。
【００９９】
瞳が左方に寄っている場合、図１２の左図に示すように、左目の第２距離Ｄ２の割合Ｌβ２と右目の第１距離Ｄ１の割合Ｒβ１との平均値を算出し、５０からこの平均値を減じた値にマイナスを乗じた値を、瞳方向の水平成分として算出する。平均値を算出しているのは、瞳方向は、左右の目で大差がないからである。５０から平均値を引いているのは、瞳が顔の正面から左方又は右方に寄るにつれて、瞳方向の水平成分の値を大きくするためである。マイナスを乗じているのは右方を正にするためである。
【０１００】
瞳が右方に寄っている場合、水平視線推定部１１５は、図１２の右図に示すように、左目の第１距離Ｄ１の割合Ｌβ１と右目の第２距離Ｄ２の割合Ｒβ２との平均値を算出し、５０からこの平均値を減じた値を瞳方向の水平成分として算出する。
【０１０１】
これにより、瞳方向の水平成分の値がプラスの方向に増大するにつれて、顔の正面に対して瞳がより右方を向いていることを示し、瞳方向の水平成分の値がマイナスの方向に増大するにつれて、顔の正面に対して瞳がより左方を向いていることを示す。また、瞳方向の水平成分が０の場合、瞳が顔の正面を向いていることを示す。以上により瞳方向の水平成分が算出される。瞳方向の水平成分を求める手法は、上述の手法に限らず、瞳方向の水平成分が算出可能な手法であればどのような手法が採用されてもよい。例えば、上述の例では、割合β１及び割合β２のうち小さい方の割合が用いられていたが、割合β１及び割合β２のうち大きい方の割合が用いられてもよい。この場合、大きい方の割合から５０を減じることで瞳方向の水平成分が算出されてもよい。また、瞳方向の水平成分は、左方が正にされてもよい。
【０１０２】
次に、瞳方向の水平成分を検出する処理の第２例について説明する。第２例では、顔の中心位置を用いて瞳方向の水平成分が検出される。図１３は、瞳方向の水平成分を検出する処理の第２例の説明図である。水平視線推定部１１５は、左の目頭９２のＸ座標と右の目頭９２のＸ座標とを繋ぐ線分Ｌ２の中点を顔の中心位置１４２として検出する。次に、水平視線推定部１１５は、左の瞳の中心位置６２２のＸ座標と、右の瞳の中心位置のＸ座標とを繋ぐ線分Ｌ１の中点１４１を検出する。
【０１０３】
次に、水平視線推定部１１５は、中点１４１と中心位置１４２とのずれ１４３を瞳方向の水平成分として検出する。例えば、右方が正とすると、中心位置１４２に対して中点１４１が左方に位置する場合、ずれの絶対値にマイナスを付した値が瞳方向の水平成分として検出される。中心位置１４２に対して中点１４１が右方に位置する場合、ずれの絶対値が瞳方向の水平成分として検出される。以上により瞳方向の水平成分が算出される。
【０１０４】
図４に参照を戻す。ステップＳ８において水平視線推定部１１５は、ステップＳ６で検出した顔の向きの水平成分とステップＳ７で検出した瞳方向の水平成分とを合成して、視線方向の水平成分を推定する。例えば、視線方向の水平成分は、顔の向きの水平成分と瞳方向の水平成分とを所定の重み係数を用いて重み付け加算することで算出される。但し、これは一例であり、視線方向の水平成分は、顔の向きの水平成分と瞳方向の水平成分とを重み付けせずに加算して算出されてもよい。
【０１０５】
図１４は、光軸１５１、顔の向き１５２、瞳方向１５３、及び視線方向１５４の関係を示した図である。図１４の例では、人物４００を上方から見た状態が示されている。
【０１０６】
図１４の例では、顔の向き１５２は光軸１５１に対して左回りの方向にある。図１４の例では、左回りがマイナス、右回りがプラスとされている。図１４の例では、顔の向き１５２は光軸１５１に対して左回りの方向にある。そのため、光軸１５１を基準とする顔の向き１５２の水平成分は、光軸１５１と顔の向き１５２との角度（−θ１）に相当する値を持つ。また、瞳方向１５３は顔の向き１５２に対して右回りの方向にある。そのため、顔の向き１５２を基準とする瞳方向１５３の水平成分は、顔の向き１５２と瞳方向１５３との角度（＋θ２）に相当する値を持つ。したがって、光軸１５１を基準とする視線方向１５４の水平成分は、光軸１５１と瞳方向１５３との角度（−θ３＝−θ１＋θ２）に相当する値を持つ。
【０１０７】
これに対して、瞳が瞳方向１５５に向いていたとする。この場合、瞳方向１５５は顔の向き１５２に対して左回りの方向にある。そのため、顔の向き１５２を基準とする瞳方向１５５の水平成分は顔の向き１５２と瞳方向１５５との角度（−θ４）に相当する値を持つ。したがって、光軸１５１を基準とする視線方向１５６の水平成分は、光軸１５１と瞳方向１５５との角度（−θ４＝−θ１−θ４）に相当する値を持つ。
【０１０８】
図４に参照を戻す。ステップＳ９では、垂直視線推定部１１６は、ステップＳ６で検出された顔の向きの垂直成分を視線方向の垂直成分として推定する。
【０１０９】
ステップＳ１０では、出力部１１７は、ステップＳ８で推定された視線方向の水平成分と、ステップＳ９で推定された視線方向の垂直成分とを含む視線情報を生成し、表示装置３００に出力する。
【０１１０】
このように、本実施の形態によれば、光軸に対する視線方向の水平成分は、顔の向きの水平成分と、瞳方向の水平成分とを合成することで推定されている。光軸に対する視線方向の垂直成分は、顔の向きの垂直成分に基づいて推定されている。このように、本実施の形態では、光軸に対する視線方向の水平成分及び垂直成分のそれぞれが異なるパラメータを用いて推定されている。よって、本実施の形態は、視線方向の検出精度をさらに向上させることができる。さらに、本実施の形態は、上述したような相関関係を事前に学習することが不要である。よって、本実施の形態は少ない処理ステップ数で高精度に視線方向を検出できる。
【０１１１】
（実施の形態２）
実施の形態２は、上まぶた及び下まぶたを考慮に入れて視線方向の垂直成分を求めることを特徴とする。図１５は、本開示の実施の形態２に係る画像処理システム１Ａの全体構成の一例を示す図である。以下の説明では、実施の形態１との相違点を中心に説明する。プロセッサ１１０Ａは、さらに、まぶた検出部１１８を含む。垂直視線推定部１１６Ａは、実施の形態１の垂直視線推定部１１６に対して処理内容が相違するため、符号の末尾にＡが付されている。
【０１１２】
まぶた検出部１１８は、画像取得部１１１が取得した画像データに対して後述のまぶた検出処理を適用し、上まぶたの位置及び下まぶたの位置を検出する。
【０１１３】
垂直視線推定部１１６Ａは、瞳検出部１１３により入力された瞳の中心位置及びまぶた検出部１１８により入力された上まぶたの位置間の第３距離と、前記瞳の中心位置及びまぶた検出部１１８により入力された下まぶた間の第４距離とを検出する。垂直視線推定部１１６Ａは、第３距離と第４距離との割合に基づいて瞳方向の垂直成分を推定する。垂直視線推定部１１６Ａは、瞳方向の垂直成分と、顔向き検出部１１４により検出された顔の向きの垂直成分とを合成することによって視線方向の垂直成分を推定する。
【０１１４】
次に、画像処理システム１Ａの動作について説明する。図１６は、実施の形態２に係る画像処理システム１Ａの動作の一例を示すフローチャートである。なお、図１６において図４と同じ処理については、同じ処理番号が付されている。
【０１１５】
ステップＳ８に続くステップＳ１０１では、まぶた検出部１１８は目領域５０に対してまぶた検出処理を適用して上まぶたの位置及び下まぶたの位置を検出する。以下、まぶた検出処理の詳細を説明する。図１７は、まぶた検出処理の説明図である。
【０１１６】
まぶた検出部１１８は、二値化される前の目領域５０を用いる。まず、まぶた検出部１１８は、目領域５０に対して、ステップＳ５で検出された瞳の中心位置６２２を設定する。次に、まぶた検出部１１８は、瞳の中心位置６２２の上側にＹ軸と平行な上垂直線１８３を設定する。次に、まぶた検出部１１８は、上垂直線１８３上を瞳の中心位置６２２から上まぶたに向けて輝度の明るい側への変化が最大になる位置を探索し、この変化が最大になる位置を上まぶたの位置１８１として検出する。上まぶたの位置１８１を検出したまぶた検出部１１８は、瞳の中心位置６２２の下側にＹ軸と平行な下垂直線１８４を設定する。そして、まぶた検出部１１８は下垂直線１８４上を瞳の中心位置６２２から下まぶたに向けて輝度の明るい側への変化が最大になる位置を探索し、この変化が最大になる位置を下まぶたの位置１８２として検出する。なお、この探索処理の詳細は、ドーグマンアルゴリズムにおける虹彩外縁の検出処理を利用した処理が用いられる。
【０１１７】
図１６に参照を戻す。ステップＳ１０２では、垂直視線推定部１１６Ａは、ステップＳ１０１で検出された上まぶたの位置１８１及び下まぶたの位置１８２を用いて瞳方向の垂直成分を推定する。
【０１１８】
再び、図１７を参照する。垂直視線推定部１１６Ａは、瞳の中心位置６２２から上まぶたの位置１８１までの垂直方向の距離である第３距離Ｄ３を検出する。垂直視線推定部１１６Ａは、瞳の中心位置６２２から下まぶたの位置１８２までの垂直方向の距離である第４距離Ｄ４を検出する。
【０１１９】
垂直視線推定部１１６Ａは、上まぶたの位置１８１から下まぶたの位置１８２までの垂直方向の距離を１００％としたときの第３距離Ｄ３の割合γを算出する。ここで、瞳が正面方向を向いている場合の割合γを基準割合（例えば、０．６）とおき、上方向を正とする。この場合、瞳が上寄りになるにつれて、割合γは基準割合から減少していく。瞳が下寄りになるにつれて、割合γは基準割合よりも増大していく。そこで、垂直視線推定部１１６Ａは、基準割合から割合γを減じた値を瞳方向の垂直成分として推定する。これにより、瞳が上寄りになるにつれて瞳方向の垂直成分の値はプラスの方向に増大し、瞳が下寄りになるにつれて瞳方向の垂直成分の値はマイナスの方向に増大する。
【０１２０】
ステップＳ１０３では、垂直視線推定部１１６Ａは、ステップＳ６で検出された顔の向きの垂直成分と、ステップＳ１０２で推定された瞳方向の垂直成分とを合成し、視線方向の垂直成分を推定する。例えば、視線方向の垂直成分は、顔の向きの垂直成分と瞳方向の垂直成分とを所定の重み係数を用いて重み付け加算することで算出される。但し、これは一例であり、視線方向の垂直成分は、顔の向きの垂直成分と瞳方向の垂直成分とを重み付けせずに加算されてもよい。
【０１２１】
このように、本実施の形態によれば、瞳方向の垂直成分を考慮に入れて視線方向の垂直成分が推定されているため、視線方向の検出精度をさらに向上させることができる。
【０１２２】
（実施の形態３）
実施の形態３は、人物４００の関心度を推定するものである。図１８は、実施の形態３に係る画像処理システム１Ｂの詳細な構成を示すブロック図である。なお、本実施の形態において実施の形態１、２と同一の構成要素には同一の符号を付し、説明を省略する。また、図１８において、図２と名称が同一であるが機能が異なるブロックには末尾にＢの符号が付されている。
【０１２３】
プロセッサ１１０Ｂは、さらに関心度推定部１１９を含む。関心度推定部１１９は、以下の処理により人物４００の関心度を推定する。まず、関心度推定部１１９は、特徴点検出部１１２により検出された顔の特徴点９Ｘを用いて、顔領域４０からまゆげ及び口角を検出する。ここで、関心度推定部１１９は、特徴点検出部１１２により検出された顔の特徴点９Ｘにおいて、まゆげ及び口角のそれぞれに対応するランドマーク点番号が付された特徴点９Ｘを特定することで、まゆげ及び口角を検出すればよい。
【０１２４】
次に、関心度推定部１１９は、出力部１１７から入力された視線情報と、検出したまゆげの位置及び口角の位置とに基づいて人物４００の関心度を推定し、表示装置３００に出力する。具体的には、関心度推定部１１９は、例えば、人が喜び、驚き、怒り、悲しみ、及び無表情等の各種表情をしている際のまゆげ及び口角の標準的な位置が予め記述されたパターンデータを例えばメモリ（図略）から取得する。関心度推定部１１９は、検出した人物４００のまゆげ及び口角の位置と、パターンデータとを照合し、人物４００の表情を推定する。関心度推定部１１９は、推定した人物４００の表情と視線情報が示す視線とを用いて、人物４００の視線がどの方向にある、又は人物４００の注視点がどの位置にあるときに人物４００がどのような表情を行ったかを特定する。すなわち、関心度推定部１１９は、人物４００の視線情報と人物４００の表情とを対応付けたデータを人物４００の関心度として特定する。ここでは、関心度推定部１１９は、まゆげ及び口角に基づいて関心度を推定するとして説明したが、これは一例であり、まゆげ及び口角の一方に基づいて関心度を推定してもよい。
【０１２５】
以上説明したように、本実施の形態によれば、視線情報に加えてまゆげ及び口角をさらに用いて人物４００の関心度が推定されているため、視線情報のみに基づく関心度推定に比べてより高精度に関心度を推定できる。
【０１２６】
（変形例）
（１）カメラ２００として赤外光カメラが採用された場合、赤外光カメラは、太陽光のスペクトル強度が所定の第１波長よりも減衰した所定の第２波長の帯域の赤外光を用いる赤外光カメラで構成すればよい。所定の第１波長は、例えば８５０ｎｍである。所定の第２波長は、例えば９４０ｎｍである。第２波長の帯域は、例えば８５０ｎｍを含まず、且つ９４０ｎｍを基準（例えば中心）とする所定幅の帯域である。近赤外光を撮影する赤外光カメラとして、８５０ｎｍの赤外光を用いるものが知られている。しかし、８５０ｎｍでは太陽光のスペクトル強度が十分に減衰していないため、太陽光のスペクトル強度が強い屋外において高精度な視線検出ができない可能性がある。そこで、本開示は、赤外光カメラとして例えば９４０ｎｍの帯域の赤外光を用いるカメラを採用する。これにより、太陽光のスペクトル強度が強い屋外においても高精度な視線検出を行うことができる。ここでは、所定の第２波長は９４０ｎｍとしたが、これは一例であり、９４０ｎｍから多少ずれた波長であってもよい。なお、第２波長の赤外光を用いる赤外光カメラは、例えば第２波長の赤外光を照射する投光器を備えるカメラである。
【０１２７】
（２）上記実施の形態では、視線情報は注視点を示す座標データを含むとして説明したが、本開示はこれに限定されない。例えば、視線情報は、注視点を基準（例えば中心）とする所定サイズの所定形状（例えば円、四角形など）の領域である注視面を示す座標データを含んでいてもよい。これにより、人物４００及び注視対象物間の距離又は注視対象物の大きさに依存することなく注視対象物を適切に判定できる。
【産業上の利用可能性】
【０１２８】
本開示は、視線情報を高精度に検出できるため、瞳情報を用いた虹彩認証、視線情報を用いた人物の興味対象の推定、人物の状態推定、及び視線を用いたユーザインターフェースなどにおいて有用である。
【符号の説明】
【０１２９】
１        ：画像処理システム
１００    ：画像処理装置
１１０    ：プロセッサ
１１１    ：画像取得部
１１２    ：特徴点検出部
１１３    ：瞳検出部
１１４    ：顔向き検出部
１１５    ：水平視線推定部
１１６    ：垂直視線推定部
１１７    ：出力部
１１８    ：まぶた検出部
１１９    ：関心度推定部
２００    ：カメラ
３００    ：表示装置
４００    ：人物
１１４１  ：水平顔向き検出部
１１４２  ：垂直顔向き検出部
【要約】
【課題】視線方向の検出精度さらに向上させる。
【解決手段】画像処理方法は、撮像装置により撮像された画像データを取得し、画像データから、人物の顔の特徴点の位置を検出し、画像データから、人物の目の瞳の中心位置を検出し、特徴点の位置に基づいて、顔の向きの水平成分及び垂直成分を検出し、顔の向きの水平成分と、瞳の中心位置及び特徴点の位置間の距離とに基づいて、光軸に対する人物の視線方向の水平成分を推定し、少なくとも顔の向きの垂直成分に基づいて、視線方向の垂直成分を推定し、視線方向の水平成分及び垂直成分を含む視線情報を出力する。
【選択図】図２【図１】
0006721169.tif 000002
【図２】
0006721169.tif 000003
【図３】
0006721169.tif 000004
【図４】
0006721169.tif 000005
【図５】
0006721169.tif 000006
【図６】
0006721169.tif 000007
【図７】
0006721169.tif 000008
【図８】
0006721169.tif 000009
【図９】
0006721169.tif 000010
【図１０】
0006721169.tif 000011
【図１１】
0006721169.tif 000012
【図１２】
0006721169.tif 000013
【図１３】
0006721169.tif 000014
【図１４】
0006721169.tif 000015
【図１５】
0006721169.tif 000016
【図１６】
0006721169.tif 000017
【図１７】
0006721169.tif 000018
【図１８】
0006721169.tif 000019