(57)【要約】【課題】精度の良い補正量を算出する。【解決手段】対象物に対する複数の位置、または範囲において視線が検出された回数を算出し、算出した前記回数が極大となる位置、または範囲を特定し、特定した前記位置、または前記範囲に基づいて、前記視線の位置補正する、処理をコンピュータに実行させることを特徴とする視線位置検出プログラムが提供される。【選択図】図３
2019017988.tif 000002
【特許請求の範囲】
【請求項１】
対象物に対する複数の位置、または範囲において視線が検出された回数を算出し、
算出した前記回数が極大となる位置、または範囲を特定し、
特定した前記位置、または前記範囲に基づいて、前記視線の位置補正する、
処理をコンピュータに実行させることを特徴とする視線位置検出プログラム。
【請求項２】
位置、または範囲には、複数の方向をそれぞれ示す複数の成分が含まれ、
前記複数の位置、または範囲の所定の方向を示す成分において視線が検出された回数を算出し、
特定した前記位置、または前記範囲に基づいて、前記視線の位置の所定の方向を示す成分を補正する、ことを特徴とする請求項１に記載の視線位置検出プログラム。
【請求項３】
特定した前記位置、または前記範囲に基づいて、前記視線の位置の所定の方向を示す成分に対する複数の補正基準量を算出し、前記視線の位置に応じて、前記複数の補正基準量のうちの１以上の補正基準量から前記成分を補正する、ことを特徴とする請求項２に記載の視線位置検出プログラム。
【請求項４】
算出した前記回数が極大となる個数を特定し、
前記対象物が所定の方向に配置されている個数に関する情報が記憶された記憶部を参照して、特定した前記個数と、前記対象物が所定の方向に配置されている個数とが一致するか否かを判定し、
特定した前記個数と、前記対象物が所定の方向に配置されている個数とが一致すると判定した場合に、前記成分を補正する、ことを特徴とする請求項２又は３に記載の視線位置検出プログラム。
【請求項５】
算出した前記回数が極大となる位置のうち、前記回数が最大となる位置を特定する、ことを特徴とする請求項１乃至４の何れか一項に記載の視線位置検出プログラム。
【請求項６】
前記対象物の大きさに基づいて、前記範囲の設定し、
前記範囲において視線が検出された回数を算出する、ことを特徴とする請求項１乃至５の何れか一項に記載の視線位置検出プログラム。
【請求項７】
複数の前記対象物のうちの一の対象物の大きさに基づいて、前記範囲を設定し、
算出した前記回数のうち、前記一の対象物に対応する範囲を特定する、ことを特徴とする請求項６に記載の視線位置検出プログラム。
【請求項８】
対象物に対する複数の位置、または範囲において視線が検出された回数を算出する算出部と、
前記算出部が算出した前記回数が極大となる位置、または範囲を特定する特定部と、
前記特定部が特定した前記位置、または前記範囲に基づいて、前記視線の位置補正する補正部と、
を有することを特徴とする視線位置検出装置。
【請求項９】
対象物に対する複数の位置、または範囲において視線が検出された回数を算出し、
算出した前記回数が極大となる位置、または範囲を特定し、
特定した前記位置、または前記範囲に基づいて、前記視線の位置補正する、
処理をコンピュータが実行することを特徴とする視線位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視線位置検出プログラム、視線位置検出装置及び視線位置検出方法に関する。
【背景技術】
【０００２】
対象者の視線位置を検出する技術において、対象者の個人差（例えば目の位置の高さや眼球の形状等）により、対象者が実際に見ている場所と、検出した視線位置とに誤差が生じる場合があることが知られている。
【０００３】
これに対して、例えば、商品棚に対する視線位置を検出する技術において、クラスタリングされた視線位置のクラスタと、商品棚に並べられた商品との位置関係により、視線位置の補正量を算出する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−７３３５７号公報
【特許文献２】特開２０１５−８５７１９号公報
【特許文献３】特開２０１０−２０４８８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、精度の良い補正量を算出することができない場合があった。
【０００６】
例えば、視線移動やサッケード等が多く、視線位置が商品棚に対して一様に分布するような場合には、クラスタ数が商品位置の数に対して多くなったり、逆に少なくなったりすることがある。このような場合には、視線位置のクラスタと、商品位置との位置関係から算出された補正量の精度が悪くなることがある。
【０００７】
１つの側面では、本発明は、精度の良い補正量を算出することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、対象物に対する複数の位置、または範囲において視線が検出された回数を算出し、算出した前記回数が極大となる位置、または範囲を特定し、特定した前記位置、または前記範囲に基づいて、前記視線の位置補正する、処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【０００９】
精度の良い補正量を算出することができる。
【図面の簡単な説明】
【００１０】
【図１】第一の実施形態に係る視線位置検出システムの全体構成の一例を示す図である。
【図２】第一の実施形態に係る視線位置検出装置のハードウェア構成の一例を示す図である。
【図３】第一の実施形態に係る視線位置検出装置の機能構成の一例を示す図である。
【図４】第一の実施形態に係る視線位置の算出処理の一例を示すフローチャートである。
【図５】視線位置の算出の一例を説明するための図である。
【図６】視線位置ＤＢの一例を示す図である。
【図７】第一の実施形態に係る補正前の視線位置が示す領域の一例を説明するための図である。
【図８】第一の実施形態に係る補正量の算出処理の一例を示すフローチャートである。
【図９】視線位置の積算の一例を説明するための図である。
【図１０】配置座標ＤＢの一例を示す図である。
【図１１】第一の実施形態に係る補正量ＤＢの一例を示す図である。
【図１２】第一の実施形態に係る視線位置の補正処理の一例を示すフローチャートである。
【図１３】第二の実施形態に係る補正前の視線位置が示す領域の一例を説明するための図（その１）である。
【図１４】第二の実施形態に係る補正前の視線位置が示す領域の一例を説明するための図（その２）である。
【図１５】第二の実施形態に係る補正基準量の算出処理の一例を示すフローチャート（その１）である。
【図１６】第二の実施形態に係る補正基準量の算出処理の一例を示すフローチャート（その２）である。
【図１７】第二の実施形態に係る視線位置の補正処理の一例を示すフローチャートである。
【図１８】第二の実施形態に係る補正量の算出処理の一例を示すフローチャート（その１）である。
【図１９】第二の実施形態に係る補正量の算出処理の一例を示すフローチャート（その２）である。
【図２０】第二の実施形態に係る補正量ＤＢの一例を示す図である。
【図２１】第三の実施形態に係る視線位置検出装置の機能構成の一例を示す図である。
【図２２】第三の実施形態に係る補正基準量の算出処理の一例を示すフローチャート（その１）である。
【図２３】第三の実施形態に係る補正基準量の算出処理の一例を示すフローチャート（その２）である。
【図２４】視線位置範囲の一例を説明するための図である。
【図２５】第四の実施形態に係る視線位置検出装置の機能構成の一例を示す図である。
【図２６】第四の実施形態に係る補正量の算出処理の一例を示すフローチャートである。
【図２７】第四の実施形態に係る視線位置範囲の設定処理の一例を示すフローチャートである。
【図２８】サイズ情報ＤＢの一例を示す図（その１）である。
【図２９】第四の実施形態に係るヒートマップ作成処理の一例を示すフローチャートである。
【図３０】ヒートマップの一例を示す図である。
【図３１】第五の実施形態に係る補正量の算出処理の一例を示すフローチャートである。
【図３２】第五の実施形態に係る視線位置範囲の設定処理の一例を示すフローチャートである。
【図３３】サイズ情報ＤＢの一例を示す図（その２）である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について添付の図面を参照しながら説明する。
【００１２】
（第一の実施形態）
まず、本実施形態に係る視線位置検出システム１の全体構成について、図１を参照しながら説明する。図１は、本実施形態に係る視線位置検出システム１の全体構成の一例を示す図である。
【００１３】
図１に示すように、本実施形態に係る視線位置検出システム１には、視線位置検出装置１０と、視線センサ２０とが含まれる。視線位置検出装置１０と、視線センサ２０とは、例えばＬＡＮ（Local  Area  Network）等のネットワークＮを介して通信可能に接続されている。ネットワークＮは、有線又は無線のいずれであっても良いし、有線及び無線の両方が含まれていても良い。
【００１４】
視線センサ２０は、視線位置を検出する対象である対象者の視線方向を示す視線ベクトルを算出する。視線センサ２０には、例えば、赤外線を撮像可能な赤外線カメラと、対象者の顔部分に赤外線を照射する赤外線ＬＥＤ（Light  Emitting  Diode）と、対象者の瞳孔と赤外線の角膜反射との位置関係から当該対象者の視線ベクトルを算出する装置とが含まれる。
【００１５】
視線位置検出装置１０は、視線センサ２０が算出した視線ベクトルから仮想平面上における対象者の視線位置を算出する。また、視線位置検出装置１０は、当該視線位置に対する補正量を算出する。仮想平面とは、例えば、対象者が注視する物体（以降、「対象物」と表す。）上に設定された仮想的な平面のことである。仮想平面の具体例には、商品棚で商品が配置されている側に設定された平面やデジタルサイネージのディスプレイ上に設定された平面等が挙げられる。
【００１６】
なお、図１に示す視線位置検出システム１の構成は一例であって、他の構成であっても良い。例えば、視線位置検出装置１０は、１台のコンピュータで構成されていても良いし、複数台のコンピュータで構成されていても良い。
【００１７】
次に、本実施形態に係る視線位置検出装置１０のハードウェア構成について、図２を参照しながら説明する。図２は、本実施形態に係る視線位置検出装置１０のハードウェア構成の一例を示す図である。
【００１８】
図２に示すように、本実施形態に係る視線位置検出装置１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、通信Ｉ／Ｆ１４とを有する。また、本実施形態に係る視線位置検出装置１０は、ＲＯＭ（Read  Only  Memory）１５と、ＲＡＭ（Random  Access  Memory）１６と、ＣＰＵ（Central  Processing  Unit）１７と、補助記憶装置１８とを有する。これら各ハードウェアは、それぞれがバス１９で相互に接続されている。
【００１９】
入力装置１１は、例えばキーボードやマウス、タッチパネル等であり、視線位置検出装置１０に各種の操作信号を入力するのに用いられる。表示装置１２は、例えばディスプレイ等であり、視線位置検出装置１０による各種の処理結果を表示する。
【００２０】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。視線位置検出装置１０は、外部Ｉ／Ｆ１３を介して、記録媒体１３ａの読み取りや書き込みを行うことができる。
【００２１】
記録媒体１３ａには、例えば、ＳＤメモリカード(SD  memory  card）やＵＳＢ（Universal  Serial  Bus）メモリ、ＣＤ（Compact  Disk）、ＤＶＤ（Digital  Versatile  Disk）等がある。
【００２２】
通信Ｉ／Ｆ１４は、視線位置検出装置１０がネットワークＮに接続するためのインタフェースである。視線位置検出装置１０は、通信Ｉ／Ｆ１４を介して、視線センサ２０から視線ベクトルを取得することができる。
【００２３】
ＲＯＭ１５は、電源を切ってもデータを保持することができる不揮発性の半導体メモリである。ＲＡＭ１６は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＣＰＵ１７は、例えば補助記憶装置１８やＲＯＭ１５等からプログラムやデータをＲＡＭ１６上に読み出して、各種処理を実行する演算装置である。
【００２４】
補助記憶装置１８は、例えばＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）等であり、プログラムやデータを格納している不揮発性のメモリである。補助記憶装置１８には、例えば、基本ソフトウェアであるＯＳ（Operating  System）や各種アプリケーションプログラム、本実施形態を実現するプログラム等が格納される。
【００２５】
本実施形態に係る視線位置検出装置１０は、図２に示すハードウェア構成を有することにより、後述する各種処理が実現される。
【００２６】
次に、本実施形態に係る視線位置検出装置１０の機能構成について、図３を参照しながら説明する。図３は、本実施形態に係る視線位置検出装置１０の機能構成の一例を示す図である。
【００２７】
図３に示すように、本実施形態に係る視線位置検出装置１０は、視線位置算出部１０１と、補正量算出処理部１０２と、視線位置補正部１０３とを有する。これら各部は、視線位置検出装置１０にインストールされた１以上のプログラムが、ＣＰＵ１７に実行させる処理により実現される。
【００２８】
また、本実施形態に係る視線位置検出装置１０は、視線位置ＤＢ１１０と、配置座標ＤＢ１２０と、補正量ＤＢ１３０とを有する。これら各ＤＢは、例えば補助記憶装置１８を用いて実現可能である。なお、これら各ＤＢのうちの少なくとも１つのＤＢが、視線位置検出装置１０とネットワークＮを介して接続される記憶装置等を用いて実現されていても良い。
【００２９】
視線位置算出部１０１は、視線センサ２０から取得した視線ベクトルから視線位置を算出する。そして、視線位置算出部１０１は、算出した視線位置を視線位置ＤＢ１１０に格納する。視線位置は、仮想平面上に設定されたｘ軸及びｙ軸の座標値（ｘ座標値とｙ座標値との組）で表される。
【００３０】
補正量算出処理部１０２は、視線位置に対する補正量を算出する。ここで、補正量算出処理部１０２は、入力部１０４と、積算部１０５と、ピーク特定部１０６と、補正量算出部１０７と、出力部１０８とを有する。
【００３１】
入力部１０４は、視線位置ＤＢ１１０に格納されている視線位置を入力する。積算部１０５は、入力部１０４により入力された視線位置をｘ軸方向（水平方向）とｙ軸方向（垂直方向）とにそれぞれ積算して、ｘ軸方向における積算値とｙ軸方向における積算値とを算出する。
【００３２】
ピーク特定部１０６は、積算部１０５により算出された積算値から、ｘ軸方向における積算値のピークと、ｙ軸方向における積算値のピークとを特定する。ｘ軸方向における積算値のピークとは、ｘ軸方向における積算値の極大値である。同様に、ｙ軸方向における積算値のピークとは、ｙ軸方向における積算値の極大値である。
【００３３】
補正量算出部１０７は、ピーク特定部１０６により特定されたピークと、対象者が注視する対象物（例えば商品棚に配置された商品）の仮想平面上における座標とから、ｘ軸方向における補正量と、ｙ軸方向における補正量とをそれぞれ算出する。
【００３４】
以降では、対象者が注視する対象物は、商品棚に配置された商品であるものとする。商品棚は、例えば、Ｍ列Ｎ段であり、商品が規則的に配置されている。なお、対象者が注視する対象物は、商品棚に配置された商品に限られず、デジタルサイネージ上に表示された表示内容（例えば、Ｍ列Ｎ段に規則的に配置された商品の広告画像）等であっても良い。
【００３５】
出力部１０８は、補正量算出部１０７により算出された補正量を補正量ＤＢ１３０に格納する。
【００３６】
視線位置補正部１０３は、補正量ＤＢ１３０に格納されている補正量で、視線位置ＤＢ１１０に格納されている視線位置を補正する。
【００３７】
視線位置ＤＢ１１０は、視線位置算出部１０１により算出された視線位置が格納されている。視線位置ＤＢ１１０に格納されている視線位置の詳細については後述する。
【００３８】
配置座標ＤＢ１２０は、対象者が注視する対象物の仮想平面上における座標を示す配置座標が格納されている。配置座標ＤＢ１２０に格納されている配置座標の詳細については後述する。
【００３９】
補正量ＤＢ１３０は、補正量算出部１０７により算出された補正量が格納されている。補正量ＤＢ１３０に格納されている補正量の詳細については後述する。
【００４０】
次に、本実施形態に係る視線位置検出装置１０による視線位置の算出処理について、図４を参照しながら説明する。図４は、本実施形態に係る視線位置の算出処理の一例を示すフローチャートである。
【００４１】
まず、視線位置算出部１０１は、視線センサ２０から視線ベクトルＶを取得する（ステップＳ４０１）。視線ベクトルＶは、図５に示すように、対象者Ｓの視線方向を示すベクトルである。
【００４２】
視線ベクトルＶは、角膜反射法により算出することができる。すなわち、視線ベクトルＶは、視線センサ２０が対象者Ｓに赤外線を照射すると共に赤外線カメラで撮像することで、対象者Ｓの瞳孔と赤外線の角膜反射との位置関係から算出することができる。ただし、視線ベクトルＶは、角膜反射法に限られず、例えば、特開２０１６−７３３５７号公報に開示されている方法で算出されても良い。
【００４３】
次に、視線位置算出部１０１は、上記のステップＳ４０１で取得した視線ベクトルＶから視線位置Ｐを算出する（ステップＳ４０２）。すなわち、視線位置算出部１０１は、図５に示すように、視線ベクトルＶと、仮想平面Ｌとの交点を示すｘｙ座標値を視線位置Ｐとして算出する。
【００４４】
次に、視線位置算出部１０１は、上記のステップＳ４０２で算出された視線位置Ｐを視線位置ＤＢ１１０に格納する（ステップＳ４０３）。
【００４５】
以上で説明した視線位置の算出処理は、例えば、対象者Ｓが仮想平面Ｌの前にいる間、所定の時間毎に実行される。ここで、上記の視線位置の算出処理で視線位置Ｐが格納された視線位置ＤＢ１１０について、図６を参照しながら説明する。図６は、視線位置ＤＢ１１０の一例を示す図である。
【００４６】
図６に示す視線位置ＤＢ１１０には、時間ｔ１、時間ｔ２、時間ｔ３、時間ｔ４等における視線位置が格納されている。各視線位置には、視線位置のｘ座標と、視線位置のｙ座標とが含まれる。このように、視線位置ＤＢ１１０には、所定の時間毎の視線位置のｘ座標及びｙ座標（すなわち、仮想平面Ｌ上に設定されたｘ軸及びｙ軸の座標値）が格納されている。したがって、視線位置は、ｘ座標の値とｙ座標の値との組（ｘ，ｙ）で表される。
【００４７】
ここで、上記の視線位置の算出処理で算出された視線位置は、対象者Ｓの個人差（例えば目の位置の高さや眼球の形状等）により、対象者Ｓが実際に見ている位置と、視線位置との間で誤差が生じる場合がある。
【００４８】
例えば、図７（ａ）に示すように、商品棚の中央付近に視線センサ２０が配置されているものとする。このとき、商品棚に配置されている商品を対象者Ｓが正面から見るものとする。
【００４９】
対象者Ｓの目の位置の高さと視線センサ２０の位置の高さとにあまり差がない場合、図７（ｂ）に示すように、対象者Ｓの視認範囲Ｔ１に対して、視線センサ２０の撮像範囲Ｔ２は、個人差により水平方向、垂直方向にずれを生じたものになる。
【００５０】
このため、図７（ｃ）に示すように、対象者Ｓの視線位置Ｐを示す領域Ｒ１は、対象者Ｓが実際に見ている商品棚に対して垂直方向に誤差が生じる場合がある。同様に、対象者Ｓの眼球の形状等によっては、対象者Ｓが実際に見ている商品棚に対して水平方向に誤差が生じる場合がある。
【００５１】
そこで、対象者Ｓの個人差（例えば目の位置の高さや眼球の形状等）により生じる誤差を補正する必要がある。以降では、上記のような対象者Ｓの個人差により生じる誤差を補正するための補正量を算出する処理について、図８を参照しながら説明する。図８は、本実施形態に係る補正量の算出処理の一例を示すフローチャートである。
【００５２】
まず、入力部１０４は、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を入力する（ステップＳ８０１）。すなわち、入力部１０４は、時間ｔ１における視線位置（ｘｔ１，ｙｔ１）、時間ｔ２における視線位置（ｘｔ２，ｙｔ２）、時間ｔ３における視線位置（ｘｔ３，ｙｔ３）等を視線位置ＤＢ１１０から取得する。
【００５３】
次に、積算部１０５は、入力部１０４により入力された視線位置（ｘ，ｙ）をｙ軸方向に積算して、ｙ軸方向における積算値を算出する（ステップＳ８０２）。すなわち、積算部１０５は、ｘ座標値毎に、ｘ座標値が同一である視線位置（ｘ，ｙ）の個数（言い換えれば、ｘ座標値が同一である視線位置（ｘ，ｙ）が検出された回数）を積算値として算出する。
【００５４】
例えば、図９（ａ）に示すように、仮想平面Ｌ上における複数の視線位置（ｘ，ｙ）が入力されたものとする。このとき、これら複数の視線位置（ｘ，ｙ）をｙ軸方向に積算した場合、図９（ｂ）に示す積算値が得られる。視線位置（ｘ，ｙ）をｙ軸方向に積算することで、ｘ座標値が同一である視線位置（ｘ，ｙ）が多い程、当該積算値は高くなる。
【００５５】
なお、積算部１０５は、ｘ座標値が所定の範囲内（例えば、ｘ座標値が±ε１以内）である視線位置（ｘ，ｙ）の個数を積算しても良い。
【００５６】
次に、積算部１０５は、入力部１０４により入力された視線位置（ｘ，ｙ）をｘ軸方向に積算して、ｘ軸方向における積算値を算出する（ステップＳ８０３）。すなわち、積算部１０５は、ｙ座標値毎に、ｙ座標値が同一である視線位置（ｘ，ｙ）の個数（言い換えれば、ｙ座標値が同一である視線位置（ｘ，ｙ）が検出された回数）を積算値として算出する。
【００５７】
例えば、図９（ａ）に示すように、仮想平面Ｌ上における複数の視線位置（ｘ，ｙ）が入力されたものとする。このとき、これら複数の視線位置（ｘ，ｙ）をｘ軸方向に積算した場合、図９（ｃ）に示す積算値が得られる。視線位置（ｘ，ｙ）をｘ軸方向に積算することで、ｙ座標値が同一である視線位置（ｘ，ｙ）が多い程、当該積算値は高くなる。
【００５８】
なお、積算部１０５は、ｙ座標値が所定の範囲内（例えば、ｘ座標値が±ε２以内）である視線位置（ｘ，ｙ）の個数を積算しても良い。
【００５９】
次に、ピーク特定部１０６は、ｙ軸方向における積算値から、ｍ＝１，・・・，Ｍとして、ｙ軸方向における積算値のピークｐｅａｋ＿ｘｍを特定する（ステップＳ８０４）。すなわち、ピーク特定部１０６は、ｙ軸方向における積算値のＭ個のピークｐｅａｋ＿ｘｍを特定する。なお、Ｍは、商品が配置されている商品棚の列数である。
【００６０】
例えば、図９（ａ）に示すように、商品が配置されている商品棚が１０列３段であるとする。この場合、図９（ｂ）に示すように、ピーク特定部１０６は、ｙ軸方向における積算値から、ｐｅａｋ＿ｘ１，ｐｅａｋ＿ｘ２，・・・，ｐｅａｋ＿ｘ１０を特定する。
【００６１】
次に、ピーク特定部１０６は、ｘ軸方向における積算値から、ｎ＝１，・・・，Ｎとして、ｘ軸方向における積算値のピークｐｅａｋ＿ｙｎを特定する（ステップＳ８０５）。すなわち、ピーク特定部１０６は、ｘ軸方向における積算値のＮ個のピークｐｅａｋ＿ｙｎを特定する。なお、Ｎは、商品が配置されている商品棚の段数である。
【００６２】
例えば、図９（ａ）に示すように、商品が配置されている商品棚が１０列３段であるとする。この場合、図９（ｃ）に示すように、ピーク特定部１０６は、ｘ軸方向における積算値から、ｐｅａｋ＿ｙ１，ｐｅａｋ＿ｙ２，ｐｅａｋ＿ｙ３を特定する。
【００６３】
なお、上記のステップＳ８０４及びステップＳ８０５における列数Ｍ及び段数Ｎは配置座標ＤＢ１２０を参照することで特定することができる。
【００６４】
ここで、配置座標ＤＢ１２０について、図１０を参照しながら説明する。図１０は、配置座標ＤＢ１２０の一例を示す図である。図１０では、一例として、商品棚が４列３段である場合の配置座標ＤＢ１２０を示している。
【００６５】
図１０に示す配置座標ＤＢ１２０には、商品番号１、商品番号２、・・・、商品番号１２における配置座標が格納されている。各配置座標には、配置と、当該配置の仮想平面Ｌにおける中心座標とが含まれる。
【００６６】
配置は、商品棚における列及び段の組である。また、中心座標は、当該列及び段の組の仮想平面Ｌにおけるｘ座標値及びｙ座標値である。
【００６７】
例えば、商品番号１の配置座標には、列「１」及び段「１」と、ｘ座標「２００」及びｙ座標「２００」とが含まれる。これは、商品棚の１列１段目の仮想平面Ｌにおけるｘｙ座標値は（ｘ，ｙ）＝（２００，２００）であり、１列１段目には商品番号１の商品が配置されていることを示している。
【００６８】
同様に、例えば、商品番号２の配置座標には、列「２」及び段「１」と、ｘ座標「４００」及びｙ座標「２００」とが含まれる。これは、商品棚の２列１段目の仮想平面Ｌにおけるｘｙ座標値は（ｘ，ｙ）＝（４００，２００）であり、２列１段目には商品番号２の商品が配置されていることを示している。
【００６９】
図８に戻る。ステップＳ８０５に続いて、補正量算出部１０７は、ピーク特定部１０６により特定されたピークｐｅａｋ＿ｘｍ（ｍ＝１，・・・，Ｍ）のうちの最大のピークｐｅａｋ＿ｘｉを特定する。そして、補正量算出部１０７は、当該ピークｐｅａｋ＿ｘｉと、商品棚の列のうち、当該ピークｐｅａｋ＿ｘiに対応するI列目とのｘ座標値の差から補正量ｃｘを算出する（ステップＳ８０６）。
【００７０】
すなわち、最大のピークｐｅａｋ＿ｘｉのｘ座標値を「ｘｇａｚｅ＿ｉ」、当該ピークｐｅａｋ＿ｘiに対応するI列目のｘ座標値を「ｘＩ」とした場合、補正量算出部１０７は、補正量ｃｘ＝ｘＩ−ｘｇａｚｅ＿ｉを算出する。補正量算出部１０７は、配置座標ＤＢ１２０を参照することで、商品棚のＩ列目のｘ座標値を特定することができる。なお、商品棚の列のうち、ピークｐｅａｋ＿ｘiに対応するI列目とは、例えば、商品棚の１列目〜Ｍ列目のうちＩ＝ｉとなる列のことである。
【００７１】
次に、補正量算出部１０７は、ピーク特定部１０６により特定されたピークｐｅａｋ＿ｙｎ（ｎ＝１，・・・，Ｎ）のうちの最大のピークｐｅａｋ＿ｙｊを特定する。そして、補正量算出部１０７は、当該ピークｐｅａｋ＿ｙｊと、商品棚の段のうち、当該ピークｐｅａｋ＿ｙｊに対応するＪ段目とのｙ座標値の差から補正量ｃｙを算出する（ステップＳ８０７）。
【００７２】
すなわち、最大のピークｐｅａｋ＿ｙｊのｙ座標値を「ｙｇａｚｅ＿ｊ」、当該ピークｐｅａｋ＿ｙｊに対応するＪ段目のｙ座標値を「ｙｊ」とした場合、補正量算出部１０７は、補正量ｃｙ＝ｙＪ−ｙｇａｚｅ＿ｊを算出する。補正量算出部１０７は、配置座標ＤＢ１２０を参照することで、商品棚のＪ段目のｙ座標値を特定することができる。なお、商品棚の段のうち、ピークｐｅａｋ＿ｙｊに対応するＪ段目とは、例えば、商品棚の１段目〜Ｎ段目のうちＪ＝ｊとなる段のことである。
【００７３】
なお、上記のステップＳ８０６では、最大のピークｐｅａｋ＿ｘｉと、当該ピークｐｅａｋ＿ｘiに対応するI列目とのｘ座標値の差から補正量ｃｘを算出したが、これに限られない。補正量算出部１０７は、例えば、任意のピークｐｅａｋ＿ｘｍ´と、当該ピークｐｅａｋ＿ｘｍ´に対応するＩ´列とのｘ座標値の差から補正量ｃｘを算出しても良い。
【００７４】
同様に、上記のステップＳ８０７では、最大のピークｐｅａｋ＿ｙｊと、当該ピークｐｅａｋ＿ｙｊに対応するＪ列目とのｙ座標値の差から補正量ｃｙを算出したが、これに限られない。補正量算出部１０７は、例えば、任意のピークｐｅａｋ＿ｙｎ´と、当該ピークｐｅａｋ＿ｙｎ´に対応するＪ´列とのｙ座標値の差から補正量ｃｙを算出しても良い。
【００７５】
次に、出力部１０８は、上記のステップＳ８０６及びステップＳ８０７で算出された補正量（ｃｘ，ｃｙ）を補正量ＤＢ１３０に格納する（ステップＳ８０８）。これにより、視線位置を補正するための補正量が補正量ＤＢ１３０に格納される。
【００７６】
ここで、補正量ＤＢ１３０について、図１１を参照しながら説明する。図１１は、本実施形態に係る補正量ＤＢ１３０の一例を示す図である。
【００７７】
図１１に示す補正量ＤＢ１３０には、補正量が格納されている。補正量には、ｘ座標の補正量（すなわち、上記のステップＳ８０６で算出されたｃｘ）と、ｙ座標の補正量（すなわち、上記のステップＳ８０７で算出されたｃｙ）とが含まれる。
【００７８】
次に、補正量ＤＢ１３０に格納されている補正量（ｃｘ，ｃｙ）で、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を補正する処理について、図１２を参照しながら説明する。図１２は、本実施形態に係る視線位置の補正処理の一例を示すフローチャートである。
【００７９】
まず、視線位置補正部１０３は、補正量（ｃｘ，ｃｙ）を補正量ＤＢ１３０から取得する（ステップＳ１２０１）。
【００８０】
次に、視線位置補正部１０３は、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を補正量（ｃｘ，ｃｙ）で補正する（ステップＳ１２０２）。すなわち、視線位置補正部１０３は、視線位置ＤＢ１１０に格納されている各視線位置（ｘ，ｙ）を（ｘ＋ｃｘ，ｙ＋ｃｙ）と補正する。これにより、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）が補正される。
【００８１】
以上のように、本実施形態に係る視線位置検出装置１０は、対象者の視線位置を積算した上で、積算値が極大となる座標値と、対象者が注視する対象物（例えば商品）の座標値との差から補正量を算出する。
【００８２】
ここで、例えば、商品が存在する場所では、対象者が見る頻度が高くなり、積算値は高くなる。一方で、例えば、商品と商品との間や商品が存在しない場合では、対象者が見る頻度が低くなり、積算値は低くなる。このため、積算値が極大となる座標値と、対象者が注視する対象物の座標値との差を補正量とすることで、例えば視線位置が一様に分布している場合等であっても、対象者の個人差により生じる誤差を高い精度で補正することができる。
【００８３】
したがって、本実施形態に係る視線位置検出装置１０によれば、積算値が極大となる座標値と、対象者が注視する対象物の座標値との差により、精度の良い補正量を算出することができる。
【００８４】
（第二の実施形態）
次に、第二の実施形態について説明する。第一の実施形態では、対象者Ｓの個人差により生じる誤差を補正する場合について説明したが、例えば、視線センサ２０の設置位置等が対象者Ｓの目の高さよりも上方又は下方である場合（すなわち、対象者Ｓの目の位置の高さと視線センサ２０の位置の高さとの差が第一の実施形態よりも大きい場合）や対象者Ｓが眼鏡等を掛けている場合等には、第一の実施形態よりも大きな誤差が生じる場合がある。
【００８５】
例えば、図１３（ａ）に示すように、商品棚よりも下方に視線センサ２０が配置されているものとする。このとき、商品棚に配置されている商品を対象者Ｓが正面から見るものとする。
【００８６】
商品棚よりも下方に視線センサ２０が配置されている場合には、図１３（ｂ）に示すように、対象者Ｓの視認範囲Ｔ１と、視線センサ２０の撮像範囲Ｔ３とに角度差が生じる。
【００８７】
このため、図１３（ｃ）に示すように、対象者Ｓの視線位置Ｐを示す領域Ｒ２は、対象者Ｓが実際に見ている商品棚に対して歪みが生じる場合がある。なお、このとき、更に、第一の実施形態と同様に、対象者Ｓの個人差により水平方向、垂直方向にずれが生じることがある。
【００８８】
また、例えば、対象者Ｓが眼鏡等を掛けている場合には、眼鏡のレンズの影響により、視線センサ２０で撮像される目の大きさが実際よりも小さくなる場合がある。このため、図１４に示すように、対象者Ｓの視線位置Ｐを示す領域Ｒ３は、対象者Ｓが実際に見ている商品棚よりも小さくなる場合がある。なお、このとき、更に、第一の実施形態と同様に、対象者Ｓの個人差により水平方向、垂直方向にずれが生じることがある。
【００８９】
そこで、第二の実施形態では、視線センサ２０の設置位置等が対象者Ｓの目の高さよりも上方又は下方である場合や対象者Ｓが眼鏡等を掛けている場合等に生じる誤差の補正について説明する。
【００９０】
なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の構成要素については、適宜、その説明を省略する。
【００９１】
以降では、ｘ座標の補正量を算出するための補正基準量を算出する処理について、図１５を参照しながら説明する。図１５は、本実施形態に係る補正基準量の算出処理の一例を示すフローチャート（その１）である。
【００９２】
まず、入力部１０４は、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を入力する（ステップＳ１５０１）。
【００９３】
次に、積算部１０５は、入力部１０４により入力された視線位置（ｘ，ｙ）をｙ軸方向に積算して、ｙ軸方向における積算値を算出する（ステップＳ１５０２）。
【００９４】
次に、ピーク特定部１０６は、ｙ軸方向における積算値から、ｍ＝１，・・・，Ｍとして、ｙ軸方向における積算値のピークｐｅａｋ＿ｘｍを特定する（ステップＳ１５０３）。なお、Ｍは、商品が配置されている商品棚の列数である。
【００９５】
次に、補正量算出部１０７は、ピークを示す変数ｉと、商品棚の列を示す変数Ｉとをそれぞれ「１」に初期化する（ステップＳ１５０４）。
【００９６】
次に、補正量算出部１０７は、ピークｐｅａｋ＿ｘｉと、I列目とのｘ座標値の差から補正基準量ｃｘｉを算出する（ステップＳ１５０５）。
【００９７】
すなわち、ｐｅａｋ＿ｘｉのｘ座標値を「ｘｇａｚｅ＿ｉ」、I列目のｘ座標値を「ｘＩ」とした場合、補正量算出部１０７は、補正基準量ｃｘｉ＝ｘＩ−ｘｇａｚｅ＿ｉを算出する。補正量算出部１０７は、配置座標ＤＢ１２０を参照することで、商品棚のＩ列目のｘ座標値を特定することができる。
【００９８】
次に、補正量算出部１０７は、ピークを示す変数ｉと、商品棚の列を示す変数Ｉとにそれぞれ「１」を加算する（ステップＳ１５０６）。
【００９９】
次に、補正量算出部１０７は、ｉ＞Ｍであるか否かを判定する（ステップＳ１５０７）。すなわち、補正量算出部１０７は、変数ｉの値が、商品棚の列数Ｍを超えたか否かを判定する。
【０１００】
ステップＳ１５０７において、ｉ＞Ｍでないと判定された場合、補正量算出部１０７は、ピークｐｅａｋ＿ｘｉと、I列目とのｘ座標値の差から補正基準量ｃｘｉ＝ｘＩ−ｘｇａｚｅ＿ｉを算出する（ステップＳ１５０８）。そして、補正量算出部１０７は、ステップＳ１５０６に戻る。これにより、ｉ＝１，・・・，Ｍに対して、補正基準量ｃｘｉが算出される。
【０１０１】
ステップＳ１５０７において、ｉ＞Ｍであると判定された場合、出力部１０８は、補正量算出部１０７により算出された補正基準量ｃｘ１，・・・，ｃｘＭを保存する（ステップＳ１５０９）。なお、出力部１０８は、例えば、補助記憶装置１８の所定の記憶領域にｃｘ１，・・・，ｃｘＭを保存すれば良い。後述するように、視線位置（ｘ，ｙ）に応じて、補正基準量ｃｘ１，・・・，ｃｘＭからｘ座標の補正量ｃｘが算出される。
【０１０２】
次に、ｙ座標の補正量を算出するための補正基準量を算出する処理について、図１６を参照しながら説明する。図１６は、本実施形態に係る補正基準量の算出処理の一例を示すフローチャート（その２）である。
【０１０３】
まず、入力部１０４は、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を入力する（ステップＳ１６０１）。
【０１０４】
次に、積算部１０５は、入力部１０４により入力された視線位置（ｘ，ｙ）をｘ軸方向に積算して、ｘ軸方向における積算値を算出する（ステップＳ１６０２）。
【０１０５】
次に、ピーク特定部１０６は、ｘ軸方向における積算値から、ｎ＝１，・・・，Ｎとして、ｘ軸方向における積算値のピークｐｅａｋ＿ｙｎを特定する（ステップＳ１６０３）。なお、Ｎは、商品が配置されている商品棚の段数である。
【０１０６】
次に、補正量算出部１０７は、ピークを示す変数ｊと、商品棚の段を示す変数Ｊとをそれぞれ「１」に初期化する（ステップＳ１６０４）。
【０１０７】
次に、補正量算出部１０７は、ピークｐｅａｋ＿ｙｊと、Ｊ段目とのｙ座標値の差から補正基準量ｃｙｊを算出する（ステップＳ１６０５）。
【０１０８】
すなわち、ｐｅａｋ＿ｙｊのｙ座標値を「ｙｇａｚｅ＿ｊ」、Ｊ段目のｙ座標値を「ｙＪ」とした場合、補正量算出部１０７は、補正基準量ｃｙｊ＝ｙＪ−ｙｇａｚｅ＿ｊを算出する。補正量算出部１０７は、配置座標ＤＢ１２０を参照することで、商品棚のＪ段目のｙ座標値を特定することができる。
【０１０９】
次に、補正量算出部１０７は、ピークを示す変数ｊと、商品棚の段を示す変数Ｊとにそれぞれ「１」を加算する（ステップＳ１６０６）。
【０１１０】
次に、補正量算出部１０７は、ｊ＞Ｎであるか否かを判定する（ステップＳ１６０７）。すなわち、補正量算出部１０７は、変数ｊの値が、商品棚の段数Ｎを超えたか否かを判定する。
【０１１１】
ステップＳ１６０７において、ｊ＞Ｎでないと判定された場合、補正量算出部１０７は、ピークｐｅａｋ＿ｙｊと、Ｊ段目とのｘ座標値の差から補正基準量ｃｙｊ＝ｙＪ−ｙｇａｚｅ＿ｊを算出する（ステップＳ１６０８）。そして、補正量算出部１０７は、ステップＳ１６０６に戻る。これにより、ｊ＝１，・・・，Ｎに対して、補正基準量ｃｙｊが算出される。
【０１１２】
ステップＳ１６０７において、ｊ＞Ｎであると判定された場合、出力部１０８は、補正量算出部１０７により算出された補正基準量ｃｙ１，・・・，ｃｙＮを保存する（ステップＳ１６０９）。なお、出力部１０８は、例えば、補助記憶装置１８の所定の記憶領域にｃｙ１，・・・，ｃｙＮを保存すれば良い。後述するように、視線位置（ｘ，ｙ）に応じて、補正基準量ｃｙ１，・・・，ｃｙＮからｙ座標の補正量ｃｙが算出される。
【０１１３】
以降では、補正基準量から補正量を算出した上で、視線位置を補正する処理について、図１７を参照しながら説明する。図１７は、本実施形態に係る視線位置の補正処理の一例を示すフローチャートである。
【０１１４】
まず、入力部１０４は、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）のうち、１つの視線位置（ｘｔ，ｙｔ）を入力する（ステップＳ１７０１）。
【０１１５】
次に、補正量算出部１０７は、入力部１０４により入力された視線位置（ｘｔ，ｙｔ）のｘ座標値（すなわち、ｘｔ）に応じた補正量ｃｘを算出する（ステップＳ１７０２）。なお、本ステップにおける補正量の算出処理の詳細については後述する。
【０１１６】
次に、補正量算出部１０７は、入力部１０４により入力された視線位置（ｘｔ，ｙｔ）のｙ座標値（すなわち、ｙｔ）に応じた補正量ｃｙを算出する（ステップＳ１７０３）。なお、本ステップにおける補正量の算出処理の詳細については後述する。
【０１１７】
次に、視線位置補正部１０３は、視線位置（ｘｔ，ｙｔ）を補正量（ｃｘ，ｃｙ）で補正する（ステップＳ１７０４）。すなわち、視線位置補正部１０３は、視線位置（ｘｔ，ｙｔ）を（ｘｔ＋ｃｘ，ｙｔ＋ｃｙ）と補正する。これにより、視線位置ＤＢ１１０に格納されている視線位置（ｘｔ，ｙｔ）が補正される。
【０１１８】
次に、入力部１０４は、次の視線位置（ｘｔ，ｙｔ）が視線位置ＤＢ１１０に格納されているか否か（すなわち、未だ補正されていない視線位置（ｘｔ，ｙｔ）が視線位置ＤＢ１１０に格納されているか否か）を判定する（ステップＳ１７０５）。
【０１１９】
そして、ステップＳ１７０５において、次の視線位置（ｘｔ，ｙｔ）が視線位置ＤＢ１１０に格納されている場合、入力部１０４は、ステップＳ１７０１に戻る。これにより、視線位置ＤＢ１１０に格納されている各視線位置（ｘｔ，ｙｔ）に対して、当該視線位置（ｘｔ，ｙｔ）に応じた補正量（ｃｘ，ｃｙ）が算出された上で、当該視線位置（ｘｔ，ｙｔ）が当該補正量（ｃｘ，ｃｙ）で補正される。
【０１２０】
一方、ステップＳ１７０５において、次の視線位置（ｘｔ，ｙｔ）が視線位置ＤＢ１１０に格納されていない場合、視線位置検出装置１０は、処理を終了させる。
【０１２１】
ここで、上記のステップＳ１７０２における補正量ｃｘの算出処理について、図１８を参照しながら説明する。図１８は、本実施形態に係る補正量の算出処理の一例を示すフローチャート（その１）である。なお、図１８では、一例として、商品棚の列数Ｍが「４」である場合について説明する。したがって、補正基準量は、ｃｘ１，ｃｘ２，ｃｘ３，ｃｘ４である。
【０１２２】
まず、補正量算出部１０７は、以下の式１を満たすか否かを判定する（ステップＳ１８０１）。
【０１２３】
ｘｔ≦ｘｇａｚｅ＿１＋（ｘｇａｚｅ＿２−ｘｇａｚｅ＿１）／２  ・・・  （式１）
すなわち、補正量算出部１０７は、ｘｔが、ｐｅａｋ＿ｘ２のｘ座標値とｐｅａｋ＿ｘ１のｘ座標値との中間を示すｘ座標値以下であるか否かを判定する。
【０１２４】
ステップＳ１８０１において、上記の式１を満たすと判定された場合、補正量算出部１０７は、補正量ｃｘを、ｃｘ＝ｃｘ１で算出する（ステップＳ１８０２）。
【０１２５】
一方で、ステップＳ１８０１において、上記の式１を満たさないと判定された場合、補正量算出部１０７は、以下の式２及び式３を満たすか否かを判定する（ステップＳ１８０３）。
【０１２６】
ｘｔ＞ｘｇａｚｅ＿１＋（ｘｇａｚｅ＿２−ｘｇａｚｅ＿１）／２  ・・・  （式２）
ｘｔ≦ｘｇａｚｅ＿２＋（ｘｇａｚｅ＿３−ｘｇａｚｅ＿２）／２  ・・・  （式３）
すなわち、補正量算出部１０７は、ｘｔが、ｐｅａｋ＿ｘ２のｘ座標値とｐｅａｋ＿ｘ１のｘ座標値との中間を示すｘ座標値より大きく、かつ、ｐｅａｋ＿ｘ３のｘ座標値とｐｅａｋ＿ｘ２のｘ座標値との中間を示すｘ座標値以下であるか否かを判定する。
【０１２７】
ステップＳ１８０３において、上記の式２及び式３を満たすと判定された場合、補正量算出部１０７は、補正量ｃｘを、ｃｘ＝ｃｘ１＋ｃｘ２で算出する（ステップＳ１８０４）。
【０１２８】
一方で、ステップＳ１８０３において、上記の式２及び式３を満たさないと判定された場合、補正量算出部１０７は、以下の式４及び式５を満たすか否かを判定する（ステップＳ１８０５）。
【０１２９】
ｘｔ＞ｘｇａｚｅ＿２＋（ｘｇａｚｅ＿３−ｘｇａｚｅ＿２）／２  ・・・  （式４）
ｘｔ≦ｘｇａｚｅ＿３＋（ｘｇａｚｅ＿４−ｘｇａｚｅ＿３）／２  ・・・  （式５）
すなわち、補正量算出部１０７は、ｘｔが、ｐｅａｋ＿ｘ３のｘ座標値とｐｅａｋ＿ｘ３のｘ座標値との中間を示すｘ座標値より大きく、かつ、ｐｅａｋ＿ｘ４のｘ座標値とｐｅａｋ＿ｘ３のｘ座標値との中間を示すｘ座標値以下であるか否かを判定する。
【０１３０】
ステップＳ１８０５において、上記の式４及び式５を満たすと判定された場合、補正量算出部１０７は、補正量ｃｘを、ｃｘ＝ｃｘ１＋ｃｘ２＋ｃｘ３で算出する（ステップＳ１８０６）。
【０１３１】
一方、ステップＳ１８０５において、上記の式４及び式５を満たさないと判定された場合、補正量算出部１０７は、補正量ｃｘを、ｃｘ＝ｃｘ１＋ｃｘ２＋ｃｘ３＋ｃｘ４で算出する（ステップＳ１８０７）。
【０１３２】
ステップＳ１８０２、ステップＳ１８０４、ステップＳ１８０６又はステップＳ１８０７に続いて、出力部１０８は、補正量算出部１０７により算出された補正量ｃｘを補正量ＤＢ１３０に格納する（ステップＳ１８０８）。このとき、出力部１０８は、視線位置（ｘｔ，ｙｔ）の時間ｔと関連付けて補正量ｃｘを補正量ＤＢ１３０に格納する。これにより、視線位置（ｘｔ，ｙｔ）の時間ｔ毎に、当該視線位置（ｘｔ，ｙｔ）に応じた補正量ｃｘ（すなわち、ｘ座標の補正量）が補正量ＤＢ１３０に格納される。
【０１３３】
次に、上記のステップＳ１７０３における補正量ｃｙの算出処理について、図１９を参照しながら説明する。図１９は、本実施形態に係る補正量の算出処理の一例を示すフローチャート（その２）である。なお、図１９では、一例として、商品棚の段数Ｎが「４」である場合について説明する。したがって、補正基準量は、ｃｙ１，ｃｙ２，ｃｙ３，ｃｙ４である。
【０１３４】
まず、補正量算出部１０７は、以下の式６を満たすか否かを判定する（ステップＳ１９０１）。
【０１３５】
ｙｔ≦ｙｇａｚｅ＿１＋（ｙｇａｚｅ＿２−ｙｇａｚｅ＿１）／２  ・・・  （式６）
すなわち、補正量算出部１０７は、ｙｔが、ｐｅａｋ＿ｙ２のｙ座標値とｐｅａｋ＿ｙ１のｙ座標値との中間を示すｙ座標値以下であるか否かを判定する。
【０１３６】
ステップＳ１９０１において、上記の式６を満たすと判定された場合、補正量算出部１０７は、補正量ｃｙを、ｃｙ＝ｃｙ１で算出する（ステップＳ１９０２）。
【０１３７】
一方で、ステップＳ１９０１において、上記の式６を満たさないと判定された場合、補正量算出部１０７は、以下の式７及び式８を満たすか否かを判定する（ステップＳ１９０３）。
【０１３８】
ｙｔ＞ｙｇａｚｅ＿１＋（ｙｇａｚｅ＿２−ｙｇａｚｅ＿１）／２  ・・・  （式７）
ｙｔ≦ｙｇａｚｅ＿２＋（ｙｇａｚｅ＿３−ｙｇａｚｅ＿２）／２  ・・・  （式８）
すなわち、補正量算出部１０７は、ｙｔが、ｐｅａｋ＿ｙ２のｙ座標値とｐｅａｋ＿ｙ１のｙ座標値との中間を示すｙ座標値より大きく、かつ、ｐｅａｋ＿ｙ３のｙ座標値とｐｅａｋ＿ｙ２のｙ座標値との中間を示すｙ座標値以下であるか否かを判定する。
【０１３９】
ステップＳ１９０３において、上記の式７及び式８を満たすと判定された場合、補正量算出部１０７は、補正量ｃｙを、ｃｙ＝ｃｙ１＋ｃｙ２で算出する（ステップＳ１９０４）。
【０１４０】
一方で、ステップＳ１９０３において、上記の式７及び式８を満たさないと判定された場合、補正量算出部１０７は、以下の式９及び式１０を満たすか否かを判定する（ステップＳ１９０５）。
【０１４１】
ｙｔ＞ｙｇａｚｅ＿２＋（ｙｇａｚｅ＿３−ｙｇａｚｅ＿２）／２  ・・・  （式９）
ｙｔ≦ｙｇａｚｅ＿３＋（ｙｇａｚｅ＿４−ｙｇａｚｅ＿３）／２  ・・・  （式１０）
すなわち、補正量算出部１０７は、ｙｔが、ｐｅａｋ＿ｙ３のｙ座標値とｐｅａｋ＿ｙ３のｙ座標値との中間を示すｙ座標値より大きく、かつ、ｐｅａｋ＿ｙ４のｙ座標値とｐｅａｋ＿ｙ３のｙ座標値との中間を示すｙ座標値以下であるか否かを判定する。
【０１４２】
ステップＳ１９０５において、上記の式９及び式１０を満たすと判定された場合、補正量算出部１０７は、補正量ｃｙを、ｃｙ＝ｃｙ１＋ｃｙ２＋ｃｙ３で算出する（ステップＳ１９０６）。
【０１４３】
一方、ステップＳ１９０５において、上記の式９及び式１０を満たさないと判定された場合、補正量算出部１０７は、補正量ｃｙを、ｃｙ＝ｃｙ１＋ｃｙ２＋ｃｙ３＋ｃｙ４で算出する（ステップＳ１９０７）。
【０１４４】
ステップＳ１９０２、ステップＳ１９０４、ステップＳ１９０６又はステップＳ１９０７に続いて、出力部１０８は、補正量算出部１０７により算出された補正量ｃｙを補正量ＤＢ１３０に格納する（ステップＳ１９０８）。このとき、出力部１０８は、視線位置（ｘｔ，ｙｔ）の時間ｔと関連付けて補正量ｃｙを補正量ＤＢ１３０に格納する。これにより、視線位置（ｘｔ，ｙｔ）の時間ｔ毎に、当該視線位置（ｘｔ，ｙｔ）に応じた補正量ｃｙ（すなわち、ｙ座標の補正量）が補正量ＤＢ１３０に格納される。
【０１４５】
ここで、上記のステップＳ１８０８及びステップＳ１９０９で補正量が格納された補正量ＤＢ１３０について、図２０を参照しながら説明する。図２０は、本実施形態に係る補正量ＤＢ１３０の一例を示す図である。
【０１４６】
図２０に示す補正量ＤＢ１３０には、時間毎の補正量が格納されている。すなわち、図２０に示す補正量ＤＢ１３０には、時間ｔ１における補正量、時間ｔ２における補正量、時間ｔ３における補正量等が格納されている。
【０１４７】
また、各補正量には、ｘ座標の補正量（すなわち、図１８で補正量算出部１０７のより算出された補正量ｃｘ）と、ｙ座標の補正量（すなわち、図１９で補正量算出部１０７により算出された補正量ｃｙ）とが含まれる。
【０１４８】
このように、本実施形態に係る補正量ＤＢ１３０には、時間毎の補正量が格納されている。これにより、視線位置補正部１０３は、時間ｔにおける補正量を用いて、視線位置（ｘｔ，ｙｔ）を補正することができる。
【０１４９】
以上のように、本実施形態に係る視線位置検出装置１０は、対象者の視線位置を積算した上で、積算値が極大となる座標値と、対象者が注視する対象物（例えば商品）の座標値との差から補正基準量を算出する。
【０１５０】
そして、本実施形態に係る視線位置検出装置１０は、対象者の視線位置に応じて、補正基準量から補正量を算出する。これにより、本実施形態に係る視線位置検出装置１０は、例えば、視線センサ２０の設置位置等が対象者Ｓの目の高さよりも上方又は下方である場合や対象者Ｓが眼鏡等を掛けている場合等に生じる誤差を高い精度で補正することができる。
【０１５１】
したがって、本実施形態に係る視線位置検出装置１０によれば、積算値が極大となる座標値と、対象者が注視する対象物の座標値との差から算出された補正基準量により、精度の良い補正量を算出するができる。
【０１５２】
（第三の実施形態）
次に、第三の実施形態について説明する。第一の実施形態及び第二の実施形態では、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を積算することで、Ｍ個のピークｐｅａｋ＿ｘｍ（ｍ＝１，・・・，Ｍ）と、Ｎ個のピークｐｅａｋ＿ｘｎ（ｎ＝１，・・・，Ｎ）とが得られるものとして説明した。なお、Ｍ及びＮは、それぞれ商品棚の列数及び段数である。
【０１５３】
ここで、例えば視線センサ２０による計測時間が短い場合等には、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を積算しても、Ｍ個のピークｐｅａｋ＿ｘｍと、Ｎ個のピークｐｅａｋ＿ｘｎとが得られない場合がある。
【０１５４】
そこで、第三の実施形態では、Ｍ個のピークｐｅａｋ＿ｘｍと、Ｎ個のピークｐｅａｋ＿ｘｎとが得られた場合に、第二の実施形態の補正基準量を算出する処理について説明する。
【０１５５】
なお、第三の実施形態では、主に、第二の実施形態との相違点について説明し、第二の実施形態と実質的に同一の構成要素については、適宜、その説明を省略する。
【０１５６】
まず、本実施形態に係る視線位置検出装置１０の機能構成について、図２１を参照しながら説明する。図２１は、本実施形態に係る視線位置検出装置１０の機能構成の一例を示す図である。
【０１５７】
図２１に示すように、本実施形態に係る視線位置検出装置１０の補正量算出処理部１０２は、更に、算出開始判定部１０９を有する。
【０１５８】
算出開始判定部１０９は、所定の閾値以上であるピークの個数により、補正基準量の算出を開始するか否かを判定する。ここで、所定の閾値は、例えば、視線位置検出装置１０のユーザにより予め設定される。
【０１５９】
以降では、ｘ座標の補正量を算出するための補正基準量を算出する処理について、図２２を参照しながら説明する。図２２は、本実施形態に係る補正基準量の算出処理の一例を示すフローチャート（その１）である。
【０１６０】
まず、入力部１０４は、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を入力する（ステップＳ２２０１）。
【０１６１】
次に、積算部１０５は、入力部１０４により入力された視線位置（ｘ，ｙ）をｙ軸方向に積算して、ｙ軸方向における積算値を算出する（ステップＳ２２０２）。
【０１６２】
次に、ピーク特定部１０６は、ｙ軸方向における積算値から特定されるピークｐｅａｋ＿ｘｍのうち、所定の閾値以上であるピークｐｅａｋ＿ｘｍの個数ｓ１を特定する（ステップＳ２２０３）。
【０１６３】
次に、算出開始判定部１０９は、ピーク特定部１０６により特定された個数ｓ１がＭであるか否かを判定する（ステップＳ２２０４）。
【０１６４】
ステップＳ２２０４において、個数ｓ１がＭであると判定された場合、補正量算出処理部１０２は、図１５のステップＳ１５０３〜ステップＳ１５０９を行う（ステップＳ２２０５）。これにより、ｘ座標の補正量を算出するための補正基準量が算出される。
【０１６５】
一方で、ステップＳ２２０４において、個数ｓ１がＭでないと判定された場合、補正量算出処理部１０２は、ステップＳ２２０１に戻る。この場合、入力部１０４により、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）が再度入力される。
【０１６６】
このように、ｙ軸方向における積算値から特定されるピークｐｅａｋ＿ｘｍであって、所定の閾値以上であるピークｐｅａｋ＿ｘｍの個数ｓ１がＭ個となった場合に、補正基準量が算出される。これにより、例えば、視線センサ２０で対象者Ｓをリアルタイムで計測しながら視線位置（ｘ，ｙ）を算出するような場合に、所定の閾値以上であるピークｐｅａｋ＿ｘｍの個数ｓ１がＭ個になったときに、ｘ座標の補正量を算出することができるようになる。
【０１６７】
次に、ｙ座標の補正量を算出するための補正基準量を算出する処理について、図２３を参照しながら説明する。図２３は、本実施形態に係る補正基準量の算出処理の一例を示すフローチャート（その２）である。
【０１６８】
まず、入力部１０４は、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を入力する（ステップＳ２３０１）。
【０１６９】
次に、積算部１０５は、入力部１０４により入力された視線位置（ｘ，ｙ）をｘ軸方向に積算して、ｘ軸方向における積算値を算出する（ステップＳ２３０２）。
【０１７０】
次に、ピーク特定部１０６は、ｘ軸方向における積算値から特定されるピークｐｅａｋ＿ｙｎのうち、所定の閾値以上であるピークｐｅａｋ＿ｙｎの個数ｓ２を特定する（ステップＳ２３０３）。
【０１７１】
次に、算出開始判定部１０９は、ピーク特定部１０６により特定された個数ｓ２がＮ以上であるか否かを判定する（ステップＳ２３０４）。
【０１７２】
ステップＳ２３０４において、個数ｓ２がＮであると判定された場合、補正量算出処理部１０２は、図１６のステップＳ１６０３〜ステップＳ１６０９を行う（ステップＳ２３０５）。これにより、ｙ座標の補正量を算出するための補正基準量が算出される。
【０１７３】
一方で、ステップＳ２３０４において、個数ｓ２がＮでないと判定された場合、補正量算出処理部１０２は、ステップＳ２３０１に戻る。この場合、入力部１０４により、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）が再度入力される。
【０１７４】
このように、ｘ軸方向における積算値から特定されるピークｐｅａｋ＿ｙｎで、所定の閾値以上であるピークｐｅａｋ＿ｙｎの個数ｓ２がＮ個となった場合に、補正基準量が算出される。これにより、例えば、視線センサ２０で対象者Ｓをリアルタイムで計測しながら視線位置（ｘ，ｙ）を算出するような場合に、所定の閾値以上であるピークｐｅａｋ＿ｙｎの個数ｓ２がＮ個になったときに、ｙ座標の補正量を算出することができるようになる。
【０１７５】
以上のように、本実施形態に係る視線位置検出装置１０は、例えば、視線センサ２０で対象者Ｓをリアルタイムで計測しながら対象者Ｓの視線位置（ｘ，ｙ）を算出するような場合に、ピークの個数が所定の個数となったときに補正量を算出することができる。
【０１７６】
したがって、本実施形態に係る視線位置検出装置１０によれば、例えば、ピークの個数が商品棚の列数（又は段数）よりも少ない場合や多い場合を防止することができ、精度のよい補正量を算出することができるようになる。
【０１７７】
（第四の実施形態）
次に、第四の実施形態について説明する。対象者Ｓが対象物を注視する場合、一般に、視線位置を中心とする中心視野内の対象物を高い解像度で認識することができる。そこで、中心視野に相当する範囲として、例えば、図２４に示すように、視線位置Ｐを中心とした或る半径で表される範囲（この範囲を「視線位置範囲」と表す。）Ｑを考えることができる。そして、当該視線位置範囲Ｑ内に含まれる各点（すなわち、仮想平面Ｌ上に設定されたｘ軸及びｙ軸で表されるｘｙ座標平面の各点のうち、視線位置範囲内Ｑに含まれる各点）を積算の対象とすることで、第一の実施形態によって精度の良い補正量が算出することができると考えられる。
【０１７８】
しかしながら、この場合、例えば、視線位置範囲Ｑと、対象物の大きさとの関係によっては、補正量の算出に用いるピークとして適切なピークｐｅａｋ＿ｘｍ及びｐｅａｋ＿ｙｎを特定できず、精度の良い補正量が算出できないことがあった。例えば、対象物の大きさに比べて視線位置範囲Ｑが非常に小さい場合、同一の対象物に対応する複数のピークが特定されてしまうことがあった。一方で、例えば、対象物の大きさに比べて視線位置範囲Ｑが非常に大きい場合、複数の対象物に対応するピークが特定されてしまうことがあった。このように、対象物と１対１に対応しないピークが特定される場合、精度の良い補正量が算出できないことがある。
【０１７９】
そこで、第四の実施形態では、対象物の大きさ（サイズ）に応じて、視線位置範囲Ｑとする範囲を設定した上で、当該視線位置範囲Ｑ内に含まれる各点を積算することで、補正量を算出する場合について説明する。ただし、第四の実施形態では、各対象物の大きさ（サイズ）は同一であるものとする。
【０１８０】
なお、第四の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の構成要素については、適宜、その説明を省略する。
【０１８１】
まず、第四の実施形態に係る視線位置検出装置１０の機能構成について、図２５を参照しながら説明する。図２５は、第四の実施形態に係る視線位置検出装置１０の機能構成の一例を示す図である。
【０１８２】
図２５に示すように、本実施形態に係る視線位置検出装置１０の補正量算出処理部１０２は、更に、視線位置範囲設定部２０１と、ヒートマップ作成部２０２とを有する。また、本実施形態に係る視線位置検出装置１０は、サイズ情報ＤＢ１４０を有する。サイズ情報ＤＢ１４０は、例えば補助記憶装置１８を用いて実現可能である。なお、サイズ情報ＤＢ１４０は、視線位置検出装置１０とネットワークＮを介して接続される記憶装置等を用いて実現されていても良い。
【０１８３】
視線位置範囲設定部２０１は、対象物（すなわち、商品棚に配置された商品）のサイズに応じて、視線位置毎に、当該視線位置が含まれる視線位置範囲を設定する。
【０１８４】
ヒートマップ作成部２０２は、視線位置範囲設定部２０１により設定された視線位置範囲からヒートマップを作成する。ヒートマップは、視線位置範囲を用いて、仮想平面上に設定されたｘｙ座標平面の各点に座標値を設定することで作成される。
【０１８５】
また、本実施形態に係る積算部１０５は、ヒートマップ作成部２０２により作成されたヒートマップを用いて、視線位置が含まれる視線位置範囲内の各点をｘ軸方向（水平方向）とｙ軸方向（垂直方向）とにそれぞれ積算して、ｘ軸方向における積算値とｙ軸方向における積算値とを算出する。
【０１８６】
サイズ情報ＤＢ１４０は、対象者が注視する対象物（商品）のサイズを示すサイズ情報が格納されている。サイズ情報ＤＢ１４０に格納されているサイズ情報の詳細については後述する。
【０１８７】
以降では、対象物の大きさ（サイズ）に応じて視線位置範囲を設定した上で、当該視線位置範囲内に含まれる各点を積算することで、補正量を算出する処理について、図２６を参照しながら説明する。図２６は、第四の実施形態に係る補正量の算出処理の一例を示すフローチャートである。
【０１８８】
まず、入力部１０４は、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を入力する（ステップＳ２６０１）。以降では、便宜上、時間をｔとして、時間ｔ＝１における視線位置（ｘ１，ｙ１）、時間ｔ＝２における視線位置（ｘ２，ｙ２）、・・・、時間ｔ＝Ｔにおける視線位置（ｘＴ，ｙＴ）が入力されたものとする。
【０１８９】
次に、視線位置範囲設定部２０１は、入力部１０４により入力された各視線位置（ｘｔ，ｙｔ）に対して、商品のサイズに応じた視線位置範囲Ｑを設定する（ステップＳ２６０２）。ここで、本ステップにおける視線位置範囲の設定処理について、図２７を参照しながら説明する。図２７は、第四の実施形態に係る視線位置範囲の設定処理の一例を示すフローチャートである。
【０１９０】
まず、視線位置範囲設定部２０１は、各商品の仮想平面Ｌにおける面積（商品面積）Ｗを算出する（ステップＳ２７０１）。視線位置範囲設定部２０１は、例えば、サイズ情報ＤＢ１４０を参照することで、商品面積Ｗを算出することができる。
【０１９１】
ここで、本実施形態に係るサイズ情報ＤＢ１４０について、図２８を参照しながら説明する。図２８は、サイズ情報ＤＢ１４０の一例を示す図（その１）である。
【０１９２】
図２８に示すサイズ情報ＤＢ１４０には、商品番号１、商品番号２、・・・、商品番号１２におけるサイズ情報が格納されている。各サイズ情報には、配置と、当該配置が示す位置に配置されている商品の商品サイズとが含まれる。
【０１９３】
配置は、商品棚における列及び段の組である。また、商品サイズは、商品の幅及び高さの組である。
【０１９４】
例えば、商品番号１のサイズ情報には、列「１」及び段「１」と、幅「４００」及び高さ「２００」とが含まれる。これは、商品段の１列１段目には、幅４００ｍｍ及び高さ２００ｍｍの商品が配置されていることを示している。なお、上述したように、第四の実施形態では、各商品の商品サイズ（幅及び高さの組）は同一であるものとする。
【０１９５】
視線位置範囲設定部２０１は、例えば、サイズ情報ＤＢ１４０を参照して、商品面積Ｗを、幅×高さにより算出することができる。なお、図２８に示す例では、商品サイズとして、商品の幅及び高さが設定されている場合を示したが、これに限られず、例えば、商品サイズとして商品面積Ｗが設定されていても良い。
【０１９６】
図２８に戻る。ステップＳ２７０１に続いて、視線位置範囲設定部２０１は、商品面積Ｗに対する視線位置範囲Ｑの割合ａを用いて、視線位置範囲Ｑの半径ｒを算出する（ステップＳ２７０２）。視線位置範囲設定部２０１は、例えば、以下の式１１及び式１２により半径ｒを算出する。
【０１９７】
ａＳ＝πｒ２  ・・・  （式１１）
ｒ＝√（ａＳ／π）  ・・・（式１２）
ここで、ａは０＜ａ≦１の値が予め設定される。なお、ａの値は０＜ａ≦１であれば任意の値に設定することができるが、例えば、ａ＝０．８等とすることが考えられる。
【０１９８】
次に、視線位置範囲設定部２０１は、入力部１０４により入力された各視線位置（ｘ，ｙ）に対して半径ｒを対応付けることで、当該視線位置（ｘ，ｙ）を中心として半径ｒの視線位置範囲Ｑを設定する（ステップＳ２７０３）。これにより、例えば、視線位置（ｘｔ，ｙｔ）を中心として半径ｒの視線位置範囲を「視線位置範囲Ｑｔ」と表せば、各視線位置（ｘｔ，ｙｔ），（ｔ＝１，２，３，・・・，Ｔ）に対して、視線位置範囲Ｑｔがそれぞれ設定される。視線位置範囲Ｑが設定されることで、当該視線位置範囲Ｑを、視線が検出された範囲（言い換えれば、当該視線位置範囲Ｑ内の各点を視線が検出された位置）と見做すことができる。
【０１９９】
なお、図２７では、円形領域で表される視線位置範囲Ｑを設定する場合について説明したが、視線位置範囲Ｑは円形領域に限られず、例えば、楕円領域や矩形領域等で表される範囲であっても良い。例えば、楕円領域で表される視線位置範囲Ｑを設定する場合、視線位置範囲設定部２０１は、上記のステップＳ２７０２で、以下の式１３及び式１４により、楕円の長軸ｒ１及び短軸ｒ２を算出すれば良い。
【０２００】
ｒ１＝ｂｗ／２  ・・・  （式１３）
ｒ２＝ｃｈ／２  ・・・  （式１４）
ここで、ｗは商品サイズの幅、ｈは商品サイズの高さであり、ｂ及びｃはそれぞれ０＜ｂ≦１及び０＜ｃ≦１の値が予め設定される。
【０２０１】
図２６に戻る。ステップＳ２６０２に続いて、ヒートマップ作成部２０２は、視線位置範囲設定部２０１により設定された視線位置範囲Ｑからヒートマップを作成する（ステップＳ２６０３）。ここで、本ステップにおけるヒートマップ作成処理について、図２９を参照しながら説明する。図２９は、第四の実施形態に係るヒートマップ作成処理の一例を示すフローチャートである。
【０２０２】
まず、ヒートマップ作成部２０２は、時間を表す変数ｔを１に初期化する（ステップＳ２９０１）。また、ヒートマップ作成部２０２は、仮想平面Ｌ上の各点のヒートマップ値ｈｘｙを０に初期化する（ステップＳ２９０２）。ヒートマップ値ｈｘｙとは仮想平面Ｌ上の各点（ｘ，ｙ）に対応付けられた値であり、このヒートマップ値ｈｘｙによりヒートマップが表される。
【０２０３】
次に、ヒートマップ作成部２０２は、視線位置（ｘｔ，ｙｔ）に対応する視線位置範囲Ｑｔ内に含まれる各点のヒートマップ値ｈｘｙに１を加算する（ステップＳ２９０３）。
【０２０４】
次に、ヒートマップ作成部２０２は、ｔに１を加算する（ステップＳ２９０４）。次に、ヒートマップ作成部２０２は、ｔがＴより大きいか否かを判定する（ステップＳ２９０５）。そして、ｔがＴより大きいと判定されなかった場合（すなわち、ｔがＴ以下である場合）、ヒートマップ作成部２０２は、ステップＳ２９０３に戻る。これにより、ｔ＝１，２，・・・，Ｔに対して、上記のステップＳ２９０３及びステップＳ２９０４が繰り返し実行される。
【０２０５】
一方で、ｔがＴより大きいと判定された場合、ヒートマップ作成部２０２は、ヒートマップ作成処理を終了する。これにより、仮想平面Ｌのヒートマップ値ｈｘｙにより表されるヒートマップが作成される。ここで、一例として、視線位置範囲Ｑ１、Ｑ２及びＱ３により作成されたヒートマップを図３０に示す。図３０に示す例は、半径ｒ＝２、視線位置（ｘ１，ｙ１）＝（５，８）、視線位置（ｘ２，ｙ２）＝（８，１０）、視線位置（ｘ３，ｙ３）＝（７，９）である場合における各視線位置範囲Ｑ１、Ｑ２及びＱ３のヒートマップである。図３０に示すように、１つの視線位置範囲Ｑに含まれるヒートマップ値ｈｘｙには１が設定され、２つの視線位置範囲Ｑに含まれるヒートマップ値ｈｘｙには２が設定され、３つの視線位置範囲Ｑに含まれるヒートマップ値ｈｘｙには３が設定される。
【０２０６】
このように、ヒートマップでは、多くの視線位置範囲Ｑが重なっている箇所程（すなわち、視線が検出された回数が多い箇所程）、ヒートマップ値ｈｘｙが高い値となっている。
【０２０７】
図２６に戻る。ステップＳ２６０３に続いて、積算部１０５は、ヒートマップ作成部２０２により作成されたヒートマップを用いて、各ヒートマップ値ｈｘｙをｙ軸方向に積算して、ｙ軸方向における積算値を算出する（ステップＳ２６０４）。すなわち、積算部１０５は、ｘ座標値毎に、ｘ座標値が同一である各ヒートマップ値ｈｘｙを加算することで、ｙ軸方向における積算値を算出する。このｙ軸方向における積算値は、各視線位置範囲Ｑに含まれる各点を視線位置と見做した場合に、ｘ座標値が同一である視線位置（ｘ，ｙ）の個数を表している。
【０２０８】
次に、積算部１０５は、ヒートマップ作成部２０２により作成されたヒートマップを用いて、各ヒートマップ値をｘ軸方向に積算して、ｘ軸方向における積算値を算出する（ステップＳ２６０５）。すなわち、積算部１０５は、ｙ座標値毎に、ｙ座標値が同一である各ヒートマップ値ｈｘｙを加算することで、ｘ軸方向における積算値を算出する。このｘ軸方向における積算値は、各視線位置範囲Ｑに含まれる各点を視線位置と見做した場合に、ｙ座標値が同一である視線位置（ｘ，ｙ）の個数を表している。
【０２０９】
以降のステップＳ２６０６〜ステップＳ２６１０は、図８のステップＳ８０４〜ステップＳ８０８とそれぞれ同様であるため、その説明を省略する。
【０２１０】
以上のように、本実施形態に係る視線位置検出装置１０は、対象物（例えば商品）のサイズに応じて、各視線位置（ｘ，ｙ）に対して視線位置範囲Ｑを設定した上で、当該視線位置範囲Ｑ内に含まれる各点を積算する。これにより、本実施形態に係る視線位置検出装置１０は、上記のステップＳ２６０６及びステップＳ２６０７で適切なピークｐｅａｋ＿ｘｍ及びｐｅａｋ＿ｙｎを特定することができるようになり、精度の良い補正量を算出することができる。
【０２１１】
（第五の実施形態）
次に、第五の実施形態について説明する。第四の実施形態では、各対象物の大きさ（サイズ）が同一である場合について説明した。しかしながら、例えば、１つの商品棚に複数のサイズの商品が配置される場合も有り得る。言い換えれば、例えば、複数のサイズの商品が１つの商品棚に配置される場合も有り得る。
【０２１２】
そこで、第五の実施形態では、対象物の大きさ（サイズ）が複数存在する場合について説明する。
【０２１３】
なお、第五の実施形態では、主に、第四の実施形態との相違点について説明し、第四の実施形態と実質的に同一の構成要素については、適宜、その説明を省略する。
【０２１４】
以降では、対象物の大きさ（サイズ）が複数存在する場合に、対象物の大きさ（サイズ）に応じて視線位置範囲を設定した上で、当該視線位置範囲内に含まれる各点を積算することで、補正量を算出する処理について、図３１を参照しながら説明する。図３１は、第五の実施形態に係る補正量の算出処理の一例を示すフローチャートである。
【０２１５】
まず、入力部１０４は、視線位置ＤＢ１１０に格納されている視線位置（ｘ，ｙ）を入力する（ステップＳ３１０１）。以降では、第四の実施形態と同様に、時間をｔとして、時間ｔ＝１における視線位置（ｘ１，ｙ１）、時間ｔ＝２における視線位置（ｘ２，ｙ２）、・・・、時間ｔ＝Ｔにおける視線位置（ｘＴ，ｙＴ）が入力されたものとする。
【０２１６】
次に、視線位置範囲設定部２０１は、入力部１０４により入力された各視線位置（ｘｔ，ｙｔ）に対して、複数の商品サイズのうちの１つの商品サイズに応じた視線位置範囲Ｑを設定する（ステップＳ３１０２）。ここで、本ステップにおける視線位置範囲の設定処理について、図３２を参照しながら説明する。図３２は、第五の実施形態に係る視線位置範囲の設定処理の一例を示すフローチャートである。
【０２１７】
まず、視線位置範囲設定部２０１は、複数の商品サイズの中から１つの商品サイズを選択する（ステップＳ３２０１）。視線位置範囲設定部２０１は、例えば、サイズ情報ＤＢ１４０を参照することで、複数の商品サイズの中から１つの商品サイズを選択することができる。
【０２１８】
ここで、本実施形態に係るサイズ情報ＤＢ１４０について、図３３を参照しながら説明する。図３３は、サイズ情報ＤＢ１４０の一例を示す図（その２）である。
【０２１９】
図３３に示すサイズ情報ＤＢ１４０には、商品番号１、商品番号２、・・・、商品番号９におけるサイズ情報が格納されている。各サイズ情報には、配置と、当該配置が示す位置に配置されている商品の商品サイズとが含まれる。
【０２２０】
例えば、商品番号１のサイズ情報には、列「１」及び段「１」と、幅「８００」及び高さ「２００」とが含まれる。これは、商品段の１列１段目には、幅８００ｍｍ及び高さ２００ｍｍの商品が配置されていることを示している。
【０２２１】
また、例えば、商品番号２のサイズ情報には、列「２」及び段「１」と、幅「４００」及び高さ「２００」とが含まれる。これは、商品段の２列１段目には、幅４００ｍｍ及び高さ２００ｍｍの商品が配置されていることを示している。
【０２２２】
このように、第五の実施形態では、商品サイズが異なるサイズ情報がサイズ情報ＤＢ１４０に格納されている。
【０２２３】
視線位置範囲設定部２０１は、例えば、サイズ情報ＤＢ１４０を参照して、任意の１つの商品の商品サイズを選択すれば良い。このとき、視線位置範囲設定部２０１は、選択した商品の列及び段を、例えば、ＲＡＭ１６や補助記憶装置１８等の記憶領域に保持しておく。
【０２２４】
図３２に戻る。ステップＳ３２０１に続いて、視線位置範囲設定部２０１は、上記のステップＳ３２０１で選択した商品サイズから商品面積Ｗを参照する（ステップＳ３２０２）。視線位置範囲設定部２０１は、第四の実施形態と同様に、商品面積Ｗを、幅×高さにより算出すれば良い。
【０２２５】
以降のステップＳ３２０３〜ステップＳ３２０４は、図２７のステップＳ２７０２〜ステップＳ２７０３とそれぞれ同様であるため、その説明を省略する。これにより、各視線位置（ｘｔ，ｙｔ）に対して、複数の商品サイズのうちの或る１つの商品サイズに応じた視線位置範囲Ｑｔがそれぞれ設定される。
【０２２６】
図３１に戻る。ステップＳ３１０２に続いて、ヒートマップ作成部２０２は、視線位置範囲設定部２０１により設定された視線位置範囲Ｑからヒートマップを作成する（ステップＳ３１０３）。なお、本ステップにおけるヒートマップ作成処理は、図２６のステップＳ２６０３と同様であるため、その説明を省略する。
【０２２７】
以降のステップＳ３２０４〜ステップＳ３２０７は、図２６のステップＳ２６０４〜ステップＳ２６０７とそれぞれ同様であるため、その説明を省略する。
【０２２８】
ステップＳ３１０７に続いて、補正量算出部１０７は、ステップＳ３２０６で特定されたピークｐｅａｋ＿ｘｍ（ｍ＝１，・・・，Ｍ）のうち、上記のステップＳ３２０１で商品サイズが選択された商品に対応するピークｐｅａｋ＿ｘｉを特定する。例えば、上記のステップＳ３２０１で商品サイズが選択された商品の列がＩ列目である場合、補正量算出部１０７は、ピークｐｅａｋ＿ｘｍ（ｍ＝１，・・・，Ｍ）のうち、Ｉ列目に対応するピークｐｅａｋ＿ｘｉを特定する。
【０２２９】
そして、補正量算出部１０７は、当該ピークｐｅａｋ＿ｘｉと、商品棚の列のうち、当該ピークｐｅａｋ＿ｘiに対応するI列目とのｘ座標値の差から補正量ｃｘを算出する（ステップＳ３１０８）。これにより、補正量ｃｘ＝ｘＩ−ｘｇａｚｅ＿ｉが算出される。なお、ｘＩはＩ列目のｘ座標値、ｘｇａｚｅ＿ｉはピークｐｅａｋ＿ｘｉのｘ座標値である。
【０２３０】
次に、補正量算出部１０７は、ステップＳ３２０７で特定されたピークｐｅａｋ＿ｙｎ（ｎ＝１，・・・，Ｎ）のうち、上記のステップＳ３２０１で商品サイズが選択された商品に対応するピークｐｅａｋ＿ｙｊを特定する。例えば、上記のステップＳ３２０１で商品サイズが選択された商品の段がＪ段目である場合、補正量算出部１０７は、ピークｐｅａｋ＿ｙｎ（ｎ＝１，・・・，Ｎ）のうち、Ｊ段目に対応するピークｐｅａｋ＿ｙｊを特定する。
【０２３１】
そして、補正量算出部１０７は、当該ピークｐｅａｋ＿ｙｊと、商品棚の段のうち、当該ピークｐｅａｋ＿ｙｊに対応するＪ段目とのｙ座標値の差から補正量ｃｙを算出する（ステップＳ３１０９）。これにより、補正量ｃｙ＝ｙＪ−ｙｇａｚｅ＿ｊが算出される。なお、ｙＪはＪ段目のｙ座標値、ｙｇａｚｅ＿ｊはピークｐｅａｋ＿ｙｊのｙ座標値である。
【０２３２】
以降のステップＳ３１１０は、図８のステップＳ８０８と同様であるため、その説明を省略する。
【０２３３】
以上のように、本実施形態に係る視線位置検出装置１０は、対象物の大きさ（サイズ）が複数存在する場合に、これらの複数のサイズのうちの１つのサイズを選択した上で、選択したサイズに応じて各視線位置（ｘ，ｙ）に対して視線位置範囲Ｑを設定する。そして、本実施形態に係る視線位置検出装置１０は、選択したサイズに対応する対象物に対応するピークｐｅａｋ＿ｘｍ及びｐｅａｋ＿ｙｎを用いて、補正量を算出する。これにより、本実施形態に係る視線位置検出装置１０は、例えば、１つの商品棚に様々なサイズの商品が混在して配置されている場合等であっても、精度の良い補正量を算出することができる。
【０２３４】
以上、本発明の実施形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更、組み合わせが可能である。
【０２３５】
以上の説明に関し、更に以下の項を開示する。
（付記１）
対象物に対する複数の位置、または範囲において視線が検出された回数を算出し、
算出した前記回数が極大となる位置、または範囲を特定し、
特定した前記位置、または前記範囲に基づいて、前記視線の位置補正する、
処理をコンピュータに実行させることを特徴とする視線位置検出プログラム。
（付記２）
位置、または範囲には、複数の方向をそれぞれ示す複数の成分が含まれ、
前記複数の位置、または範囲の所定の方向を示す成分において視線が検出された回数を算出し、
特定した前記位置、または前記範囲に基づいて、前記視線の位置の所定の方向を示す成分を補正する、ことを特徴とする付記１に記載の視線位置検出プログラム。
（付記３）
特定した前記位置、または前記範囲に基づいて、前記視線の位置の所定の方向を示す成分に対する複数の補正基準量を算出し、前記視線の位置に応じて、前記複数の補正基準量のうちの１以上の補正基準量から前記成分を補正する、ことを特徴とする付記２に記載の視線位置検出プログラム。
（付記４）
算出した前記回数が極大となる個数を特定し、
前記対象物が所定の方向に配置されている個数に関する情報が記憶された記憶部を参照して、特定した前記個数と、前記対象物が所定の方向に配置されている個数とが一致するか否かを判定し、
特定した前記個数と、前記対象物が所定の方向に配置されている個数とが一致すると判定した場合に、前記成分を補正する、ことを特徴とする付記２又は３に記載の視線位置検出プログラム。
（付記５）
算出した前記回数が極大となる位置のうち、前記回数が最大となる位置を特定する、ことを特徴とする付記１乃至４の何れか一項に記載の視線位置検出プログラム。
（付記６）
前記対象物の大きさに基づいて、前記範囲の設定し、
前記範囲において視線が検出された回数を算出する、ことを特徴とする付記１乃至５の何れか一項に記載の視線位置検出プログラム。
（付記７）
複数の前記対象物のうちの一の対象物の大きさに基づいて、前記範囲を設定し、
算出した前記回数のうち、前記一の対象物に対応する範囲を特定する、ことを特徴とする付記６に記載の視線位置検出プログラム。
（付記８）
対象物に対する複数の位置、または範囲において視線が検出された回数を算出する算出部と、
前記算出部が算出した前記回数が極大となる位置、または範囲を特定する特定部と、
前記特定部が特定した前記位置、または前記範囲に基づいて、前記視線の位置補正する補正部と、
を有することを特徴とする視線位置検出装置。
（付記９）
位置、または範囲には、複数の方向をそれぞれ示す複数の成分が含まれ、
前記算出部は、
前記複数の位置、または範囲の所定の方向を示す成分において視線が検出された回数を算出し、
前記補正部は、
前記特定部が特定した前記位置、または前記範囲に基づいて、前記視線の位置の所定の方向を示す成分を補正する、ことを特徴とする付記８に記載の視線位置検出装置。
（付記１０）
前記補正部は、
前記特定部が特定した前記位置、または前記範囲に基づいて、前記視線の位置の所定の方向を示す成分に対する複数の補正基準量を算出し、前記視線の位置に応じて、前記複数の補正基準量のうちの１以上の補正基準量から前記成分を補正する、ことを特徴とする付記９に記載の視線位置検出装置。
（付記１１）
前記算出部が算出した前記回数が極大となる個数を特定する個数特定部と、
前記対象物が所定の方向に配置されている個数に関する情報が記憶された記憶部を参照して、特定した前記個数と、前記対象物が所定の方向に配置されている個数とが一致するか否かを判定する判定部と、を有し、
前記補正部は、
前記個数特定部が特定した前記個数と、前記対象物が所定の方向に配置されている個数とが一致すると判定した場合に、前記成分を補正する、ことを特徴とする付記９又は１０に記載の視線位置検出装置。
（付記１２）
前記特定部は、
前記算出部が算出した前記回数が極大となる位置のうち、前記回数が最大となる位置を特定する、ことを特徴とする付記８乃至１１の何れか一項に記載の視線位置検出装置。
（付記１３）
対象物に対する複数の位置、または範囲において視線が検出された回数を算出し、
算出した前記回数が極大となる位置、または範囲を特定し、
特定した前記位置、または前記範囲に基づいて、前記視線の位置補正する、
処理をコンピュータが実行することを特徴とする視線位置検出方法。
【符号の説明】
【０２３６】
１        視線位置検出システム
１０      視線位置検出装置
２０      視線センサ
１０１    視線位置算出部
１０２    補正量算出処理部
１０３    視線位置補正部
１０４    入力部
１０５    積算部
１０６    ピーク特定部
１０７    補正量算出部
１０８    出力部
１１０    視線位置ＤＢ
１２０    配置座標ＤＢ
１３０    補正量ＤＢ
【図１】
2019017988.tif 000003
【図２】
2019017988.tif 000004
【図３】
2019017988.tif 000005
【図４】
2019017988.tif 000006
【図５】
2019017988.tif 000007
【図６】
2019017988.tif 000008
【図７】
2019017988.tif 000009
【図８】
2019017988.tif 000010
【図９】
2019017988.tif 000011
【図１０】
2019017988.tif 000012
【図１１】
2019017988.tif 000013
【図１２】
2019017988.tif 000014
【図１３】
2019017988.tif 000015
【図１４】
2019017988.tif 000016
【図１５】
2019017988.tif 000017
【図１６】
2019017988.tif 000018
【図１７】
2019017988.tif 000019
【図１８】
2019017988.tif 000020
【図１９】
2019017988.tif 000021
【図２０】
2019017988.tif 000022
【図２１】
2019017988.tif 000023
【図２２】
2019017988.tif 000024
【図２３】
2019017988.tif 000025
【図２４】
2019017988.tif 000026
【図２５】
2019017988.tif 000027
【図２６】
2019017988.tif 000028
【図２７】
2019017988.tif 000029
【図２８】
2019017988.tif 000030
【図２９】
2019017988.tif 000031
【図３０】
2019017988.tif 000032
【図３１】
2019017988.tif 000033
【図３２】
2019017988.tif 000034
【図３３】
2019017988.tif 000035