(57)【要約】【課題】対象物を観察する観察者の視線を精度良く検出する。【解決手段】コンピュータは、対象物を観察する観察者の左目の視線データと観察者の右目の視線データとの差分に基づいて、観察者の視線のばらつきを示す指標を求める（ステップ８０１）。そして、コンピュータは、ばらつきを示す指標に基づいて、観察者の視線に対する停留判定を行い（ステップ８０２）、停留判定の判定結果に基づいて、観察者の視線位置を決定する（ステップ８０３）。【選択図】図８
2019063310.tif 000002
【特許請求の範囲】
【請求項１】
対象物を観察する観察者の左目の視線データと前記観察者の右目の視線データとの差分に基づいて、前記観察者の視線のばらつきを示す指標を求め、
前記指標に基づいて、前記観察者の視線に対する停留判定を行い、
前記停留判定の判定結果に基づいて、前記観察者の視線位置を決定する、
処理をコンピュータに実行させるための視線検出プログラム。
【請求項２】
前記差分は、前記観察者の顔と対向する平面内において、左右方向と交差する所定方向における前記左目の視線位置と前記右目の視線位置との差分を表すことを特徴とする請求項１記載の視線検出プログラム。
【請求項３】
前記所定方向は、前記左右方向に対して垂直な方向であることを特徴とする請求項２記載の視線検出プログラム。
【請求項４】
前記コンピュータは、前記指標に基づいて前記停留判定の閾値を計算し、所定期間内の複数の時刻それぞれにおいて検出された前記左目及び前記右目の視線データから、前記複数の時刻それぞれにおける視線データのばらつきを計算し、前記複数の時刻それぞれにおける視線データのばらつきが前記閾値よりも小さい場合、前記観察者の視線が停留していると判定することを特徴とする請求項１乃至３のいずれか１項に記載の視線検出プログラム。
【請求項５】
前記指標は、前記所定期間を含む第１期間又は前記所定期間よりも前の第２期間内の複数の時刻それぞれにおいて検出された前記差分の分散又は標準偏差を表すことを特徴とする請求項４記載の視線検出プログラム。
【請求項６】
対象物を観察する観察者の左目の視線データと前記観察者の右目の視線データとを記憶する記憶部と、
前記左目の視線データと前記右目の視線データとの差分に基づいて、前記観察者の視線のばらつきを示す指標を求める計算部と、
前記指標に基づいて前記観察者の視線に対する停留判定を行い、前記停留判定の判定結果に基づいて、前記観察者の視線位置を決定する判定部と、
を備えることを特徴とする視線検出装置。
【請求項７】
コンピュータが、
対象物を観察する観察者の左目の視線データと前記観察者の右目の視線データとの差分に基づいて、前記観察者の視線のばらつきを示す指標を求め、
前記指標に基づいて、前記観察者の視線に対する停留判定を行い、
前記停留判定の判定結果に基づいて、前記観察者の視線位置を決定する、
ことを特徴とする視線検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視線検出装置、視線検出プログラム、及び視線検出方法に関する。
【背景技術】
【０００２】
視線検出技術は、対象物を観察する観察者が見ている場所を特定する技術であり、様々な場面において利用されている。例えば、パーソナルコンピュータ（ＰＣ）の画面、店舗における商品の陳列棚等が、観察される対象物となり得る。
【０００３】
ディスプレイ上のユーザの注視点に対応させてカーソル表示させる視線入力によるポインティングデバイス、及び両眼眼球運動測定センサの出力からサッカード成分を除去する技術も知られている（例えば、特許文献１及び特許文献２を参照）。固視微動に基づき視覚疲労を評価する方法も知られている（例えば、非特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００９／０１９７６０号パンフレット
【特許文献２】特開平７−３０８２９０号公報
【非特許文献】
【０００５】
【非特許文献１】顧力剛，坂本和義，“固視微動(フリック)によるＶＤＴ作業の視覚疲労評価に関する研究”，人間工学，Ｖｏｌ．３２，Ｎｏ．２，Ｐ．８７−９７，１９９６年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術を用いてユーザの視線に対する停留判定を行う場合、必ずしも正しい判定結果が得られるとは限らない。
【０００７】
なお、かかる問題は、ＰＣ画面を見ているユーザの視線に限らず、他の対象物を観察している観察者の視線を検出する場合においても生ずるものである。
【０００８】
１つの側面において、本発明は、対象物を観察する観察者の視線を精度良く検出することを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、プログラムは、以下の処理をコンピュータに実行させる。
（１）コンピュータは、対象物を観察する観察者の左目の視線データと観察者の右目の視線データとの差分に基づいて、観察者の視線のばらつきを示す指標を求める。
（２）コンピュータは、ばらつきを示す指標に基づいて、観察者の視線に対する停留判定を行う。
（３）コンピュータは、停留判定の判定結果に基づいて、観察者の視線位置を決定する。
【発明の効果】
【００１０】
実施形態によれば、対象物を観察する観察者の視線を精度良く検出することができる。
【図面の簡単な説明】
【００１１】
【図１】視線センサを示す図である。
【図２】画面上の視線位置を示す視線データを示す図である。
【図３】視線位置の検出結果を示す図である。
【図４】視線位置の変化を示す図である。
【図５】低レートの映像から生成される視線データを示す図である。
【図６】視線位置のサンプル数と最小包含円との関係を示す図である。
【図７】視線検出装置の機能的構成図である。
【図８】視線検出処理のフローチャートである。
【図９】視線検出装置の具体例を示す機能的構成図である。
【図１０】視線センサによる視線検出を示す図である。
【図１１】輻輳を示す図である。
【図１２】視線データの水平方向の差分を示す図である。
【図１３】視線データの垂直方向の差分を示す図である。
【図１４】両目の視線位置の変化を示す図である。
【図１５】両目の視線位置の変化に対応する視線データを示す図である。
【図１６】視線検出処理の具体例を示すフローチャートである。
【図１７】情報処理装置の構成図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、ＰＣ画面を観察しているユーザの視線を検出する視線センサの例を示している。表示装置１０１の画面１０２上には画像１１１〜画像１１３が表示されており、画面１０２の下部には、視線センサ１０３が設けられている。視線センサ１０３は、Light Emitting Diode（ＬＥＤ）１２１及びカメラ１２２を含む。このとき、画面１０２上におけるユーザの視線位置は、画像１１１〜画像１１３の間を移動することがある。
【００１３】
ＬＥＤ１２１は、画面１０２を見ているユーザの顔に対して赤外線を照射し、カメラ１２２は、ユーザの顔を撮影する。視線センサ１０３に接続されているＰＣは、カメラ１２２が撮影したユーザの目の画像から、視線位置を示す視線データを生成する。目の画像から生成される視線データが示す状態には、サッケードと呼ばれる大きな視線の動きと、視線が１つの場所に留まる停留と、固視微動と呼ばれる視線のばらつきとが含まれている。
【００１４】
図２は、画面１０２上の視線位置を示す視線データの例を示している。画面１０２の水平方向の座標をｘ座標とし、垂直方向の座標をｙ座標とすると、視線データは、時系列に変化するユーザの視線位置の座標（ｘ，ｙ）によって表すことができる。図２のグラフの横軸は、カメラ１２２によって撮影される映像のフレーム数を表し、縦軸は、視線位置のｘ座標を表す。
【００１５】
画面１０２上でユーザが注視する注視位置２０１〜注視位置２０３それぞれの周囲では視線が停留し、２つの注視位置の間では視線が急激に移動するサッケードが発生する。そして、視線が停留している間は、視線位置がばらつく固視微動が観測される。ユーザは、視線が停留している間に対象物を認識する。
【００１６】
例えば、注視位置２０１と注視位置２０２の間のサッケードは、ｘ座標の急激な増加を示す視線データ２１１として現れ、注視位置２０３における固視微動は、ｘ座標の小刻みな増減を示す視線データ２１２として現れる。
【００１７】
図３は、注視位置の周囲における視線位置の検出結果の例を示している。ユーザが注視位置３０１を注視している場合、視線位置の検出結果３０２は、注視位置３０１を中心として周囲にばらつく傾向が見られる。このようなばらつきが発生する原因としては、細かな眼球の揺れ、固視微動、画像処理による検出誤差等が考えられる。
【００１８】
このうち、固視微動による視線角度のばらつきの振幅は、最大で約０．８度、平均で約０．３度であると考えられる。例えば、非特許文献１では、固視微動に含まれるフリックの振幅の検出範囲が３．０´〜５０．０´であり、平均振幅が１７．７´であることが報告されている。一方、ユーザとカメラ１２２との距離又は画像の解像度によっては、視線角度が数度以上ばらつくこともある。
【００１９】
特許文献１の眼球運動検出装置は、直近の所定数の視線位置を包含する最小面積の包含円（最小包含円）を計算し、次に検出された視線位置が最小包含円に包含される場合に、ユーザの眼球が停止していると判断する。これにより、最小包含円内で視線位置が微動する場合、又は視線角度の検出誤差が存在する場合であっても、ユーザが意図して一点を注視していることを判別することができる。
【００２０】
しかしながら、上述したように、視線データには、固視微動だけではなく、大きな視線の動きも混在しており、大きな視線の動きによっても視線位置が変化するため、常に直近の最小包含円を設定できるとは限らない。
【００２１】
図４は、ＰＣ画面上における視線位置の変化の例を示している。横軸及び縦軸は、画面のｘ座標及びｙ座標をそれぞれ表す。ＰＣを用いた実際の作業では、視線データに大きな視線の動きが多く含まれており、視線の停留中のばらつきが不明瞭なため、適切な最小包含円を設定することが困難である。不適切な最小包含円に基づいて視線の停留判定を行うと、判定結果の精度が低下する。
【００２２】
また、商品棚に設置される組み込み機器のような環境では、カメラ１２２の映像のフレームレートが比較的低レートであるため、視線位置のサンプル数が少なく、統計的にばらつき量を決定することが困難である。
【００２３】
図５は、低レートの映像から生成される視線データの例を示している。横軸は、時間を表し、縦軸は、視線位置のｘ座標を表す。映像のフレームレートは１００ｍｓ／フレームであり、視線データ５０１〜視線データ５０３は、停留している視線の視線位置を表している。
【００２４】
人間の平均的な注視時間は数百ｍｓ程度であるため、１００ｍｓ／フレームの場合、１箇所の停留場所に対して数個程度の視線位置が生成されるに過ぎない。この場合、１０個程度の視線位置を用いてばらつき量を決定すると、大きな視線の動きが混入してしまい、ばらつき量の精度が低下する。図５の例では、視線データ５０１〜視線データ５０３の全部を用いてばらつき量を決定すると、大きな視線の動きが混入する。
【００２５】
そこで、視線位置のばらつきの範囲５１１を事前に決定しておき、視線データが範囲５１１内に含まれる場合に、視線が停留していると判定する方法が考えられる。しかし、実際のばらつきは、ユーザとカメラとの距離又はユーザの眼球の個人差等の条件に応じて変動するため、事前に決定した範囲５１１に基づいて停留判定を行うと、必ずしも正しい判定結果が得られるとは限らない。
【００２６】
図６は、視線位置のサンプル数と最小包含円との関係の例を示している。図６（ａ）の検出結果では、サンプル数が多いため、注視位置６０１に対する最小包含円６１１と、注視位置６０２に対する最小包含円６１２とを明瞭に区別することができる。したがって、最小包含円６１１及び最小包含円６１２に基づいて、視線に対する停留判定を精度良く行うことが可能である。
【００２７】
一方、図６（ｂ）検出結果では、サンプル数が少ないため、注視位置６０３に対する最小包含円６１３の中に、別の注視位置を見ているときの視線位置６１４が混在している。このため、最小包含円６１３を用いて停留判定を行うことが難しく、停留判定の精度が低下する。
【００２８】
図７は、実施形態の視線検出装置の機能的構成例を示している。図７の視線検出装置７０１は、記憶部７１１、計算部７１２、及び判定部７１３を含む。記憶部７１１は、対象物を観察する観察者の左目の視線データと前記観察者の右目の視線データとを記憶する。計算部７１２及び判定部７１３は、記憶部７１１が記憶する視線データを用いて視線検出処理を行う。
【００２９】
図８は、図７の視線検出装置７０１が行う視線検出処理の例を示すフローチャートである。まず、計算部７１２は、左目の視線データと右目の視線データとの差分に基づいて、観察者の視線のばらつきを示す指標を求める（ステップ８０１）。次に、判定部７１３は、計算部７１２が計算した指標に基づいて、観察者の視線に対する停留判定を行い（ステップ８０２）、停留判定の判定結果に基づいて、観察者の視線位置を決定する（ステップ８０３）。
【００３０】
図７の視線検出装置７０１によれば、対象物を観察する観察者の視線を精度良く検出することができる。
【００３１】
図９は、図７の視線検出装置７０１の具体例を示している。図９の視線検出装置７０１は、記憶部７１１、計算部７１２、判定部７１３、検出部９１１、及び出力部９１２を含む。カメラ９０１は、例えば、図１のカメラ１２２に対応し、観察者の顔を撮影して、映像を視線検出装置７０１へ出力する。検出部９１１は、カメラ１２２が出力する映像に含まれる複数の時刻の画像それぞれから、観察者の左目及び右目の視線データ９２１を検出して、記憶部７１１に格納する。各時刻の画像は、フレームと呼ばれることもある。
【００３２】
例えば、視線データ９２１は、観察者の顔と対向する平面内における左目及び右目の視線位置を示す。図１の表示装置１０１の場合、画面１０２が観察者の顔と対向する平面に対応する。また、カメラ９０１が商品棚に設置されている場合、商品棚の前面をカバーする仮想的な平面が、観察者の顔と対向する平面に対応する。
【００３３】
図１０は、図１の視線センサ１０３による視線検出の例を示している。ＬＥＤ１２１は、画面１０２を見ている観察者の顔１００１に対して赤外線１００２を照射し、カメラ１２２は、顔１００１を撮影する。この場合、検出部９１１は、角膜反射法によって、画像に写った瞳孔の座標と角膜反射の座標との位置関係に基づき、観察者の視線位置を計算する。
【００３４】
観察者が視線センサ１０３を見ている場合、瞳孔の座標（ＰｕｐＸ，ＰｕｐＹ）と角膜反射の座標（ＰｒｋＸ，ＰｒｋＹ）との差分は０になり、視線センサ１０３から離れた位置を見ている場合、それらの座標の差分が発生する。そこで、角膜反射法では、座標（ＰｕｐＸ，ＰｕｐＹ）と座標（ＰｒｋＸ，ＰｒｋＹ）との差分から、視線の方向が検出される。ｉ番目のフレームから角膜反射法によって検出される片目の視線位置は、画面１０２上の座標（Ｘｉ，Ｙｉ）によって表され、次式により求めることができる。
【００３５】
Ｘｉ＝Ａ＊（ＰｕｐＸ−ＰｒｋＸ）＋Ｗ／２      （１）
Ｙｉ＝Ｈ＋Ｂ＊（ＰｕｐＹ−ＰｒｋＹ）          （２）
【００３６】
式（１）のＷは、画面１０２の水平方向の画素数を表し、式（２）のＨは、画面１０２の垂直方向の画素数を表す。係数Ａ及び係数Ｂは、キャリブレーションによって事前に求められる。なお、視線位置（Ｘｉ，Ｙｉ）は、視線ベクトルから計算することもできる。
【００３７】
計算部７１２は、左目の視線データ９２１と右目の視線データ９２１との差分に基づいて、視線のばらつきを示す指標９２３を計算し、記憶部７１１に格納する。判定部７１３は、指標９２３に基づいて停留判定の閾値９２４を計算し、記憶部７１１に格納する。また、判定部７１３は、所定期間内の複数の時刻それぞれにおいて検出された左目及び右目の視線データ９２１から、それぞれの時刻における視線データのばらつき９２２を計算し、記憶部７１１に格納する。
【００３８】
次に、判定部７１３は、ばらつき９２２に対する停留判定を行い、所定期間内の各時刻におけるばらつき９２２が閾値９２４よりも小さい場合、観察者の視線が停留していると判定する。そして、判定部７１３は、停留判定の判定結果に基づいて、観察者の視線位置９２５を決定し、出力部９１２は、視線位置９２５を出力する。
【００３９】
左目の視線データ９２１と右目の視線データ９２１との差分を計算することで、それぞれの目の視線データ９２１に含まれるサッケードがキャンセルされ、固視微動を表すばらつきを抽出することが可能になる。観察者が画面１０２等の対象物を見ているとき、両目ともに同じ位置を注視しているため、両目の注視位置は、ばらつきの差を除いて同じになると考えられる。このとき、両目の視線データ９２１の左右方向（水平方向）の差分は、輻輳による影響を受けるが、垂直方向の差分は輻輳による影響を受けない。
【００４０】
図１１は、輻輳の例を示している。輻輳とは、観察者が対象物を注視するときに、両目が同時に内側を向く眼球の動きを表す。対象物が前後に動くと、対象物に対するピント調節に伴って輻輳が発生する。輻輳によって眼球は左右方向に動くが、上下方向には動かないため、視線データ９２１の垂直方向の差分は輻輳による影響を受けない。
【００４１】
図１２は、両目の視線データ９２１の水平方向の差分の例を示している。横軸は、フレーム数を表し、縦軸は、視線位置のｘ座標を表す。グラフ１２０１は、左目の視線位置のｘ座標の変化を示し、グラフ１２０２は、右目の視線位置のｘ座標の変化を示し、グラフ１２０３は、グラフ１２０１とグラフ１２０２との差分を示す。グラフ１２０３から、視線位置の水平方向の差分は、輻輳によって大きく変化することが分かる。
【００４２】
図１３は、両目の視線データ９２１の垂直方向の差分の例を示している。横軸は、フレーム数を表し、縦軸は、視線位置のｙ座標を表す。グラフ１３０１は、左目の視線位置のｙ座標の変化を示し、グラフ１３０２は、右目の視線位置のｙ座標の変化を示し、グラフ１３０３は、グラフ１３０１とグラフ１３０２との差分を示す。グラフ１３０３から、視線位置の垂直方向の差分の変化は、水平方向の差分の変化よりも小さく、輻輳による影響を受けていないことが分かる。
【００４３】
そこで、計算部７１２は、左目の視線データ９２１が示す垂直方向の視線位置と、右目の視線データ９２１が示す垂直方向の視線位置との差分を計算し、その差分に基づいて指標９２３を計算する。例えば、左目の視線位置の垂直方向の変化ΔＬｙと、右目の視線位置の垂直方向の変化ΔＲｙは、次式により表される。
【００４４】
ΔＬｙ＝ΔＳＬｙ＋ΔＶＬｙ      （３）
ΔＲｙ＝ΔＳＲｙ＋ΔＶＲｙ      （４）
【００４５】
式（３）のΔＳＬｙは、左目のサッケードによる垂直方向の大きな動きを表し、ΔＶＬｙは、左目の視線位置の垂直方向のばらつきを表す。式（４）のΔＳＲｙは、右目のサッケードによる垂直方向の大きな動きを表し、ΔＶＲｙは、右目の視線位置の垂直方向のばらつきを表す。左目及び右目は同じ高さの位置を見ているため、ΔＳＬｙとΔＳＲｙはほぼ同じ値とみなすことができる。したがって、ΔＬｙとΔＲｙの差分は、次式のようになる。
【００４６】
ΔＬｙ−ΔＲｙ＝（ΔＳＬｙ＋ΔＶＬｙ）−（ΔＳＲｙ＋ΔＶＲｙ）
＝ΔＶＬｙ−ΔＶＲｙ                              （５）
【００４７】
式（５）より、左目の視線位置のｙ座標Ｌｙと右目の視線位置のｙ座標Ｒｙとの差分Ｌｙ−Ｒｙの分散は、Ｌｙのばらつきに伴う分散とＲｙのばらつきに伴う分散との和で表されることが分かる。また、Ｌｙのばらつきに伴う分散とＲｙのばらつきに伴う分散は、ほぼ同じ値とみなすことができる。したがって、Ｌｙ−Ｒｙの分散の半分を、Ｌｙのばらつきに伴う分散又はＲｙのばらつきに伴う分散として用いることが可能である。さらに、視線位置の水平方向のばらつきの分散も、視線位置の垂直方向のばらつきの分散とほぼ同じ値とみなすことができる。
【００４８】
図１４は、両目の視線位置の変化の例を示している。画面１０２を見ている観察者の左目の視線位置１４０１及び右目の視線位置１４０２は、注視する画像の位置に応じて画面１０２上で移動する。
【００４９】
図１５は、図１４の視線位置の変化に対応する視線データ９２１の例を示している。横軸は、フレーム数を表し、縦軸は、視線位置のｙ座標を表す。グラフ１５０１は、左目の視線位置のｙ座標の変化を示し、グラフ１５０２は、右目の視線位置のｙ座標の変化を示し、グラフ１５０３は、グラフ１５０１とグラフ１５０２との差分を示す。
【００５０】
一定期間における視線位置１４０１及び視線位置１４０２のログを採取し、それらの視線位置のｙ座標の差分を計算することで、視線が頻繁に移動する場合であっても、常に視線位置のばらつき量を把握することが可能になる。これにより、視線位置のばらつき量に基づいて停留判定の適切な閾値を決定することができ、停留判定の精度が向上する。視線のばらつきを示す指標９２３としては、例えば、一定期間において検出された視線位置のｙ座標の差分の分散又は標準偏差を用いることができる。
【００５１】
なお、左目の視線データ９２１と右目の視線データ９２１との差分は、必ずしも視線位置の垂直方向の差分である必要はなく、水平方向と交差する所定方向における視線位置の差分であっても構わない。例えば、左目の眼球と右目の眼球とを結ぶ左右方向の直線が、画面１０２上のｘ軸と平行ではない場合、画面１０２上のｙ軸は、左右方向の直線と垂直ではなく、所定の角度で交差している。この場合、両目の視線位置のｙ座標の差分は、左右方向と交差する所定方向における視線位置の差分を表す。
【００５２】
図１６は、図９の視線検出装置７０１が行う視線検出処理の具体例を示すフローチャートである。まず、検出部９１１は、カメラ１２２が出力する画像から、観察者の左目及び右目の視線データ９２１を検出する（ステップ１６０１）。
【００５３】
例えば、ｉ番目のフレームの画像からは、左目の視線位置のｘ座標ＬＸｉ、左目の視線位置のｙ座標ＬＹｉ、右目の視線位置のｘ座標ＲＸｉ、及び右目の視線位置のｙ座標ＲＹｉが検出される。ＬＸｉ、ＬＹｉ、ＲＸｉ、及びＲＹｉは、図１の画面１０２上における視線位置の座標であってもよく、商品等の対象物が存在する位置に設定された仮想的な平面上における視線位置の座標であってもよい。
【００５４】
次に、検出部９１１は、監視対象の観察者が別の観察者に切り替わったか否かをチェックする（ステップ１６０２）。例えば、検出部９１１は、映像から観察者が消えた後に新たな観察者が現れた場合に、観察者が切り替わったと判定することができる。
【００５５】
観察者が切り替わった場合（ステップ１６０２，ＹＥＳ）、検出部９１１は、記憶部７１１に蓄積された視線データ９２１を消去することで、検出処理をリセットする（ステップ１６０３）。そして、検出部９１１は、直近のＮ個（Ｎは２以上の整数）のフレームの視線データ９２１が記憶部７１１に蓄積されたか否かをチェックする（ステップ１６０４）。
【００５６】
直近のＮ個のフレームの視線データ９２１が蓄積されていない場合（ステップ１６０４，ＮＯ）、判定部７１３は、停留判定の閾値ＴＨとしてデフォルト閾値を利用する（ステップ１６０６）。
【００５７】
次に、判定部７１３は、所定期間内の複数の時刻それぞれにおいて検出された左目及び右目の視線データ９２１から、それぞれの時刻における視線データのばらつき９２２を計算し、ばらつき９２２に対する停留判定を行う（ステップ１６０７）。
【００５８】
例えば、ｉ番目のフレームから検出された視線データ９２１のばらつき９２２として視線位置の座標の分散を用い、所定期間として直近のＭ個（Ｍは２以上の整数）のフレームを用いた場合、判定部７１３は、ばらつき９２２を表すＶｉを次式により計算することができる。
【００５９】
Ｖｉ＝（（ＬＸｉ＋ＲＸｉ）／２−Ａｖｅｘ）２
＋（（ＬＹｉ＋ＲＹｉ）／２−Ａｖｅｙ）２      （６）
【００６０】
【数１】
2019063310.tif 000003
【００６１】
【数２】
2019063310.tif 000004
【００６２】
ただし、Ｍ＜Ｎ、ｉ≧Ｍであるものとする。例えば、フレームレートが１００ｍｓ／フレームである場合、Ｎとして５〜２０程度の値を用いてもよく、Ｍとして２以上Ｎ未満の値を用いてもよい。
【００６３】
式（６）の（ＬＸｉ＋ＲＸｉ）／２は、ＬＸｉ及びＲＸｉの平均値を表し、（ＬＹｉ＋ＲＹｉ）／２は、ＬＹｉ及びＲＹｉの平均値を表す。式（７）のＡｖｅｘは、ＬＸｊ及びＲＸｊの平均値を、ｊ＝ｉ−Ｍ＋１〜ｉの範囲のＭ個のフレームに渡って平均した値を表す。また、式（８）のＡｖｅｙは、ＬＹｊ及びＲＹｊの平均値を同じＭ個のフレームに渡って平均した値を表す。
【００６４】
停留判定において、判定部７１３は、ｊ＝ｉ−Ｍ＋１〜ｉの範囲のＭ個のばらつきＶｊを閾値ＴＨと比較し、すべてのｊについてＶｊ≦ＴＨである場合（ステップ１６０７，ＹＥＳ）、視線が停留していると判定する（ステップ１６０８）。この場合、判定部７１３は、Ｍ個のフレームの視線位置の座標から視線位置９２５を計算する。視線位置９２５としては、Ｍ個の座標の平均値、中央値等の統計値を用いることができる。そして、視線検出装置７０１は、ｉ＝ｉ＋１によりｉを更新し、次のフレームの画像についてステップ１６０１以降の処理を繰り返す。
【００６５】
一方、１つ以上のｊについてＶｊ＞ＴＨである場合（ステップ１６０７，ＮＯ）、判定部７１３は、視線が停留していないと判定し、視線検出装置７０１は、次のフレームの画像についてステップ１６０１以降の処理を繰り返す。
【００６６】
なお、ステップ１６０７においてｉ＜Ｍである場合、判定部７１３は、停留判定を省略してステップ１６０１以降の処理を繰り返す。ステップ１６０２において観察者が切り替わっていない場合（ステップ１６０２，ＮＯ）、検出部９１１は、ステップ１６０４の処理を行う。
【００６７】
直近のＮ個のフレームの視線データ９２１が蓄積されている場合（ステップ１６０４，ＹＥＳ）、計算部７１２は、蓄積された視線データ９２１を用いて指標９２３を計算し、判定部７１３は、指標９２３から閾値９２４を計算する（ステップ１６０５）。
【００６８】
例えば、計算部７１２は、Ｎ個のフレームにおけるＬＹｉとＲＹｉの差分の分散の移動平均を、指標９２３として用いることができる。この場合、計算部７１２は、指標９２３を表すｄｉｖを次式により計算する。
【００６９】
【数３】
2019063310.tif 000005
【００７０】
【数４】
2019063310.tif 000006
【００７１】
式（１０）のａｖｅは、ｊ＝ｉ−Ｎ＋１〜ｉの範囲のＮ個のフレームにおけるＲＹｉ−ＬＹｉの平均値を表し、式（９）のｄｉｖは、同じＮ個のフレームにおけるＲＹｉ−ＬＹｉの分散を表す。この場合、判定部７１３は、正の実数Ｋを用いて、閾値９２４を表すＴＨを次式により計算することができる。
【００７２】
ＴＨ＝Ｋ＊（ｄｉｖ／２）      （１１）
【００７３】
そして、判定部７１３は、式（１１）の閾値ＴＨを用いて、ステップ１６０７以降の処理を行う。ステップ１６０４において、一旦、Ｎ個のフレームの視線データ９２１が蓄積された後は、観察者が切り替わらない限り、ステップ１６０５で計算された閾値ＴＨが用いられる。
【００７４】
このような視線検出処理によれば、映像のフレームレートが低レートである場合であっても、両目の視線データ９２１の差分に基づいて停留判定の適切な閾値を決定することができ、停留判定の精度が向上する。
【００７５】
ところで、図１６の視線検出処理では、ＬＹｉとＲＹｉの差分の分散の移動平均を指標９２３として用いているため、視線データ９２１を蓄積する蓄積期間として、直近のＮ個のフレームの期間が用いられる。Ｍ＜Ｎである場合、ばらつきＶｉの計算に用いる直近のＭ個のフレームの期間は、蓄積期間に含まれている。しかし、蓄積期間は、必ずしもＭ個のフレームの期間を含んでいる必要はなく、それよりも前の期間であってもよい。
【００７６】
また、判定部７１３は、ばらつき９２２として、視線位置の座標の分散の代わりに標準偏差を用いることもできる。この場合、計算部７１２は、Ｎ個のフレームにおけるＬＹｉとＲＹｉの差分の分散の代わりに標準偏差を用いて、指標９２３を計算する。
【００７７】
図７及び図９の視線検出装置７０１の構成は一例に過ぎず、視線検出装置７０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図９の視線検出装置７０１において、視線データ９２１が外部の装置によって検出される場合は、検出部９１１を省略することができる。
【００７８】
図８及び図１６に示したフローチャートは一例に過ぎず、視線検出装置７０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、図１６の視線検出処理において、観察者が切り替わることがない場合は、ステップ１６０２及びステップ１６０３の処理を省略することができる。
【００７９】
図１の視線センサ１０３と図１０に示した視線検出は一例に過ぎず、視線センサ１０３の構成及び位置は、視線検出装置７０１の用途又は条件に応じて変化する。カメラ１２２が可視光を用いて観察者を撮影する場合は、ＬＥＤ１２１を省略することができる。
【００８０】
図２〜図６及び図１２〜図１５に示した視線データ及び視線位置は一例に過ぎず、視線データ及び視線位置は、撮影される映像に応じて変化する。図１１に示した輻輳は一例に過ぎず、輻輳の度合いは、観察者に応じて変化する。
【００８１】
式（１）〜式（１０）は一例に過ぎず、視線検出装置７０１は、別の計算式を用いて視線検出処理を行ってもよい。
【００８２】
図１７は、図７及び図９の視線検出装置７０１として用いられる情報処理装置（コンピュータ）の構成例を示している。図１７の情報処理装置は、Central Processing Unit（ＣＰＵ）１７０１、メモリ１７０２、入力装置１７０３、出力装置１７０４、補助記憶装置１７０５、媒体駆動装置１７０６、及びネットワーク接続装置１７０７を含む。これらの構成要素はバス１７０８によって互いに接続されている。図９のカメラ９０１は、バス１７０８に接続されていてもよい。
【００８３】
メモリ１７０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを記憶する。メモリ１７０２は、図７及び図９の記憶部７１１として用いることができる。
【００８４】
ＣＰＵ１７０１（プロセッサ）は、例えば、メモリ１７０２を利用してプログラムを実行することにより、図７及び図９の計算部７１２及び判定部７１３として動作する。ＣＰＵ１７０１は、メモリ１７０２を利用してプログラムを実行することにより、図９の検出部９１１としても動作する。
【００８５】
入力装置１７０３は、例えば、タッチパネル、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置１７０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせ及び処理結果の出力に用いられる。出力装置１７０４は、図９の出力部９１２として用いることができる。
【００８６】
補助記憶装置１７０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１７０５は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置１７０５にプログラム及びデータを格納しておき、それらをメモリ１７０２にロードして使用することができる。補助記憶装置１７０５は、図７及び図９の記憶部７１１として用いることができる。
【００８７】
媒体駆動装置１７０６は、可搬型記録媒体１７０９を駆動し、その記録内容にアクセスする。可搬型記録媒体１７０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１７０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、又はUniversal Serial Bus（ＵＳＢ）メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体１７０９にプログラム及びデータを格納しておき、それらをメモリ１７０２にロードして使用することができる。
【００８８】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ１７０２、補助記憶装置１７０５、及び可搬型記録媒体１７０９のような、物理的な（非一時的な）記録媒体が含まれる。
【００８９】
ネットワーク接続装置１７０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１７０７を介して受信し、それらをメモリ１７０２にロードして使用することができる。ネットワーク接続装置１７０７は、図９の出力部９１２として用いることができる。
【００９０】
なお、情報処理装置が図１７のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要である場合は、入力装置１７０３及び出力装置１７０４を省略してもよい。また、情報処理装置が可搬型記録媒体１７０９又は通信ネットワークを利用しない場合は、媒体駆動装置１７０６又はネットワーク接続装置１７０７を省略してもよい。
【００９１】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【００９２】
図１乃至図１７を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
対象物を観察する観察者の左目の視線データと前記観察者の右目の視線データとの差分に基づいて、前記観察者の視線のばらつきを示す指標を求め、
前記指標に基づいて、前記観察者の視線に対する停留判定を行い、
前記停留判定の判定結果に基づいて、前記観察者の視線位置を決定する、
処理をコンピュータに実行させるための視線検出プログラム。
（付記２）
前記差分は、前記観察者の顔と対向する平面内において、左右方向と交差する所定方向における前記左目の視線位置と前記右目の視線位置との差分を表すことを特徴とする付記１記載の視線検出プログラム。
（付記３）
前記所定方向は、前記左右方向に対して垂直な方向であることを特徴とする付記２記載の視線検出プログラム。
（付記４）
前記コンピュータは、前記指標に基づいて前記停留判定の閾値を計算し、所定期間内の複数の時刻それぞれにおいて検出された前記左目及び前記右目の視線データから、前記複数の時刻それぞれにおける視線データのばらつきを計算し、前記複数の時刻それぞれにおける視線データのばらつきが前記閾値よりも小さい場合、前記観察者の視線が停留していると判定することを特徴とする付記１乃至３のいずれか１項に記載の視線検出プログラム。
（付記５）
前記指標は、前記所定期間を含む第１期間又は前記所定期間よりも前の第２期間内の複数の時刻それぞれにおいて検出された前記差分の分散又は標準偏差を表すことを特徴とする付記４記載の視線検出プログラム。
（付記６）
対象物を観察する観察者の左目の視線データと前記観察者の右目の視線データとを記憶する記憶部と、
前記左目の視線データと前記右目の視線データとの差分に基づいて、前記観察者の視線のばらつきを示す指標を求める計算部と、
前記指標に基づいて前記観察者の視線に対する停留判定を行い、前記停留判定の判定結果に基づいて、前記観察者の視線位置を決定する判定部と、
を備えることを特徴とする視線検出装置。
（付記７）
前記差分は、前記観察者の顔と対向する平面内において、左右方向と交差する所定方向における前記左目の視線位置と前記右目の視線位置との差分を表すことを特徴とする付記６記載の視線検出装置。
（付記８）
前記所定方向は、前記左右方向に対して垂直な方向であることを特徴とする付記７記載の視線検出装置。
（付記９）
前記判定部は、前記指標に基づいて前記停留判定の閾値を計算し、所定期間内の複数の時刻それぞれにおいて検出された前記左目及び前記右目の視線データから、前記複数の時刻それぞれにおける視線データのばらつきを計算し、前記複数の時刻それぞれにおける視線データのばらつきが前記閾値よりも小さい場合、前記観察者の視線が停留していると判定することを特徴とする付記６乃至８のいずれか１項に記載の視線検出装置。
（付記１０）
前記指標は、前記所定期間を含む第１期間又は前記所定期間よりも前の第２期間内の複数の時刻それぞれにおいて検出された前記差分の分散又は標準偏差を表すことを特徴とする付記９記載の視線検出装置。
（付記１１）
コンピュータが、
対象物を観察する観察者の左目の視線データと前記観察者の右目の視線データとの差分に基づいて、前記観察者の視線のばらつきを示す指標を求め、
前記指標に基づいて、前記観察者の視線に対する停留判定を行い、
前記停留判定の判定結果に基づいて、前記観察者の視線位置を決定する、
ことを特徴とする視線検出方法。
（付記１２）
前記差分は、前記観察者の顔と対向する平面内において、左右方向と交差する所定方向における前記左目の視線位置と前記右目の視線位置との差分を表すことを特徴とする付記１１記載の視線検出方法。
（付記１３）
前記所定方向は、前記左右方向に対して垂直な方向であることを特徴とする付記１２記載の視線検出方法。
（付記１４）
前記コンピュータは、前記指標に基づいて前記停留判定の閾値を計算し、所定期間内の複数の時刻それぞれにおいて検出された前記左目及び前記右目の視線データから、前記複数の時刻それぞれにおける視線データのばらつきを計算し、前記複数の時刻それぞれにおける視線データのばらつきが前記閾値よりも小さい場合、前記観察者の視線が停留していると判定することを特徴とする付記１１乃至１３のいずれか１項に記載の視線検出方法。
（付記１５）
前記指標は、前記所定期間を含む第１期間又は前記所定期間よりも前の第２期間内の複数の時刻それぞれにおいて検出された前記差分の分散又は標準偏差を表すことを特徴とする付記１４記載の視線検出方法。
【符号の説明】
【００９３】
１０１  表示装置
１０２  画面
１０３  視線センサ
１１１〜１１３  画像
１２１  ＬＥＤ
１２２、９０１  カメラ
２０１〜２０３、３０１、６０１〜６０３  注視位置
２１１、２１２、５０１〜５０３、９２１  視線データ
３０２  検出結果
５１１  範囲
６１１〜６１３  最小包含円
６１４、９２５、１４０１、１４０２  視線位置
７０１  視線検出装置
７１１  記憶部
７１２  計算部
７１３  判定部
９１１  検出部
９１２  出力部
９２２  ばらつき
９２３  指標
９２４  閾値
１００１  顔
１００２  赤外線
１２０１〜１２０３、１３０１〜１３０３、１５０１〜１５０３  グラフ
１７０１  ＣＰＵ
１７０２  メモリ
１７０３  入力装置
１７０４  出力装置
１７０５  補助記憶装置
１７０６  媒体駆動装置
１７０７  ネットワーク接続装置
１７０８  バス
１７０９  可搬型記録媒体
【図１】
2019063310.tif 000007
【図２】
2019063310.tif 000008
【図３】
2019063310.tif 000009
【図４】
2019063310.tif 000010
【図５】
2019063310.tif 000011
【図６】
2019063310.tif 000012
【図７】
2019063310.tif 000013
【図８】
2019063310.tif 000014
【図９】
2019063310.tif 000015
【図１０】
2019063310.tif 000016
【図１１】
2019063310.tif 000017
【図１２】
2019063310.tif 000018
【図１３】
2019063310.tif 000019
【図１４】
2019063310.tif 000020
【図１５】
2019063310.tif 000021
【図１６】
2019063310.tif 000022
【図１７】
2019063310.tif 000023