(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-26
(45)【発行日】2023-01-10
(54)【発明の名称】情報処理プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
G06F 3/038 20130101AFI20221227BHJP
G06F 3/0346 20130101ALI20221227BHJP
【FI】
G06F3/038 310A
G06F3/0346 423
(21)【出願番号】P 2019034645
(22)【出願日】2019-02-27
【審査請求日】2021-11-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】増田 裕太
(72)【発明者】
【氏名】上村 拓也
【審査官】酒井 優一
(56)【参考文献】
【文献】特開2017-111550(JP,A)
【文献】特開2017-219955(JP,A)
【文献】特開2016-018377(JP,A)
【文献】特開2017-176414(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/038
G06F 3/0346
(57)【特許請求の範囲】
【請求項1】
(a)仮想平面上における対象物の視線位置を取得する処理と、
(b)取得した前記視線位置
と一つ前に取得された前記視線位置との距離を示す視線移動距離を算出する処理と、
(c)前記視線移動距離が移動量閾値以上であると判定した場合、一つ前に取得された前記視線位置を0として前記仮想平面上において、最新の視線位置の角度を示す視線移動角度を算出する処理と、
(d)予め設定された視線移動パターンデータベースを参照して、前記視線移動距離から前記移動量閾値を決定する処理と、
(e)前記視線移動パターンデータベースを参照して、決定した前記移動量閾値に対応する角度から前記視線移動角度に最も近い角度を選択する処理と、
(f)前記視線移動パターンデータベースを参照して、決定した前記移動量閾値及び選択した前記角度に該当するパターンを視線移動パターンと判定する処理と、
(g)前記(f)において、前記視線移動パターンが一つと判定されるまで前記(a)~前記(f)の処理を繰り返し行い、前記視線移動パターンが一つと判定された場合、前記視線移動パターンに基づき前記視線位置の補正量を算出する処理と、
(h)算出した前記視線位置の補正量に基づき、取得した前記視線位置から補正後の視線位置を算出し、前記補正後の視線位置に基づき、見ていた対象物を推定する処理と、
をコンピュータに実行させる情報処理プログラム。
【請求項2】
(i)前記視線位置の単位時間当たりの移動量が所定の閾値未満かつ同じ方向の角度である場合、前記視線位置の単位時間当たりの移動量を累積し、
前記(c)は、累積した前記移動量
である視線移動距離が移動量閾値以上であると判定した場合、一つ前に取得された前記視線位置を0として前記仮想平面上において、最新の視線位置の角度を示す視線移動角度を算出する、
請求項
1に記載の情報処理プログラム。
【請求項3】
前記(b)は、取得した前記視線位置のうち、計測開始時から
規定した所定時間が経過した場合、
前記視線移動距離を算出する、
請求項
1又は2に記載の情報処理プログラム。
【請求項4】
(j)前記視線移動パターンの組み合わせが前記対象物の間の実際の視線移動パターンの組合せになく、整合性がない場合、前記視線移動パターンの組み合わせから、最後に追加された前記視線移動パターンを除外する、
請求項1
又は2に記載の情報処理プログラム。
【請求項5】
(a)仮想平面上における対象物の視線位置を取得する処理と、
(b)取得した前記視線位置
と一つ前に取得された前記視線位置との距離を示す視線移動距離を算出する処理と、
(c)前記視線移動距離が移動量閾値以上であると判定した場合、一つ前に取得された前記視線位置を0として前記仮想平面上において、最新の視線位置の角度を示す視線移動角度を算出する処理と、
(d)予め設定された視線移動パターンデータベースを参照して、前記視線移動距離から前記移動量閾値を決定する処理と、
(e)前記視線移動パターンデータベースを参照して、決定した前記移動量閾値に対応する角度から前記視線移動角度に最も近い角度を選択する処理と、
(f)前記視線移動パターンデータベースを参照して、決定した前記移動量閾値及び選択した前記角度に該当するパターンを視線移動パターンと判定する処理と、
(g)前記(f)において、前記視線移動パターンが一つと判定されるまで前記(a)~前記(f)の処理を繰り返し行い、前記視線移動パターンが一つと判定された場合、前記視線移動パターンに基づき前記視線位置の補正量を算出する処理と、
(h)算出した前記視線位置の補正量に基づき、取得した前記視線位置から補正後の視線位置を算出し、前記補正後の視線位置に基づき、見ていた対象物を推定する処理と、
をコンピュータが実行する情報処理方法。
【請求項6】
仮想平面上における対象物の視線位置を取得する
処理を実行する視線位置取得部と、
取得した前記視線位置
と一つ前に取得された前記視線位置との距離を示す視線移動距離を算出し、前記視線移動距離が移動量閾値以上であると判定した場合、一つ前に取得された前記視線位置を0として前記仮想平面上において、最新の視線位置の角度を示す視線移動角度を算出する処理を実行する視線移動量算出部と、
予め設定された視線移動パターンデータベースを参照して、前記視線移動距離から前記移動量閾値を決定し、前記視線移動パターンデータベースを参照して、決定した前記移動量閾値に対応する角度から前記視線移動角度に最も近い角度を選択し、前記視線移動パターンデータベースを参照して、決定した前記移動量閾値及び選択した前記角度に該当するパターンを視線移動パターンと判定する処理を実行するパターン判定部と、
前記視線移動パターンが一つかを判定する処理を実行する移動推移判定部と、
前記移動推移判定部により、前記視線移動パターンが一つと判定されるまで前記視線位置取得部、前記視線移動量算出部、及び前記パターン判定部がそれぞれ処理を繰り返し行い、前記視線移動パターンが一つと判定された場合、前記視線移動パターンに基づき前記視線位置の補正量を算出する処理を実行する視線位置補正部と、を有し、
前記視線位置補正部は、
算出した前記視線位置の補正量に基づき、取得した前記視線位置から補正後の視線位置を算出する処理を実行し、前記補正後の視線位置に基づき、見ていた対象物を推定可能とする、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
対象者の視線位置を検出する技術において、対象者の個人差(例えば目の位置の高さや眼球の形状等)により、対象者が実際に見ている場所と、検出した視線位置とに誤差が生じる場合があることが知られている。
【0003】
これに対して、例えば、商品棚に対する視線位置を検出する技術において、視線位置をクラスタリングし、視線位置のクラスタと商品の配置位置との関係から、視線位置の補正量を算出する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2016-73357号公報
【文献】特開2017-204094号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の技術では、視線位置をクラスタリングする際に疎らな視線は無視される。このため、無視した視線が本来クラスタリングされるべき視線であった場合にもノイズとして扱われ、正しいクラスタを生成することができない場合がある。この場合、商品と視線位置のクラスタとのずれを補正するための正しい補正量を計算できず、視線位置の推定精度に影響を及ぼす場合がある。
【0006】
そこで、1つの側面では、本開示は、視線位置の推定精度を向上させることが可能な情報処理プログラム、情報処理方法及び情報処理装置を提供する。
【課題を解決するための手段】
【0007】
1つの実施態様では、視線位置を取得する処理と、取得した前記視線位置の単位時間当たりの移動量及び方向を算出する処理と、算出した前記移動量及び方向と対象物の配置位置との比較に基づき、前記視線位置の移動推移を判定する処理と、をコンピュータに実行させる情報処理プログラムが提供される。
【発明の効果】
【0008】
1つの側面では、本開示は、視線位置の推定精度を向上させることが可能な情報処理プログラム、情報処理方法及び情報処理装置を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】従来の視線位置検出システムの課題を説明するための図。
【
図2】一実施形態に係る視線位置検出システムの全体構成の一例を示す図。
【
図3】一実施形態に係る情報処理装置のハードウェア構成の一例を示す図。
【
図4】一実施形態に係る情報処理装置の機能構成の一例を示す図。
【
図5】一実施形態に係る視線位置の算出処理の一例を示すフローチャート。
【
図7】一実施形態に係る視線位置データベースの一例を示す図。
【
図8】一実施形態に係る視線移動パターンデータベースの一例を示す図。
【
図10】一実施形態に係る対象物配置データベースの一例を示す図。
【
図13】第1実施形態に係る補正量算出処理の一例を示すフローチャート。
【
図14】第1実施形態に係る補正量算出処理を説明するための図。
【
図15】第1~第4実施形態に係る視線移動パターン判定処理の一例を示すフローチャート。
【
図16】第1実施形態に係る補正量算出処理の効果の一例を示す図。
【
図17】第2実施形態に係る補正量算出処理の一例を示すフローチャート。
【
図18】第2実施形態に係る補正量算出処理を説明するための図。
【
図19】一実施形態に係る視線位置データベースの一例を示す図。
【
図20】第3実施形態に係る補正量算出処理の一例を示すフローチャート。
【
図21】第3実施形態に係る補正量算出処理を説明するための図。
【
図22】第4実施形態に係る補正量算出処理の一例を示すフローチャート。
【
図23】第4実施形態に係る補正量算出処理を説明するための図。
【発明を実施するための形態】
【0010】
以下、一実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く場合がある。
【0011】
まず、従来の視線位置検出の一例を、
図1を参照しながら説明する。
図1に示す視線位置検出の一例では、視線位置をクラスタリングし、その視線クラスタと商品位置の対応関係(距離)により、視線位置の補正量を算出する。
【0012】
図1(a)は、1段目に商品A~Dを配置し、2段目に商品E~Hを配置している商品に向けられた視線「×」を計測した結果を示している。計測した視線位置をクラスタリングすると、領域Ni内に示す疎らな視線は無視され、無視した視線が本来クラスタリングされるべき視線であった場合にもノイズとして扱われる場合がある。この場合、正しい視線クラスタを生成することができない。
【0013】
本例では、具体的には、4つの視線クラスタが
図1(b)に示すように商品の3列及び2段の領域内に配置される。この場合、視線クラスタと商品配置との組合せは、例えば
図1(c)の4つの枠にて示す第1の組合せO1と、4つの斜線(商品に対応した視線クラスタ)にて示す第2の組合せO2との2通りが存在する。
【0014】
図1(b)にて視線クラスタと商品との位置が近い、
図1(c)の第2の組合せO2の対応付けを行った場合、正しい視線の補正位置が第1の組合せO1であったときには、視線の補正量に誤差が生じてしまう。この結果、
図1(d)に示す実際に見た視線位置に視線が向けられたと推定されない。
【0015】
以上に説明した視線の推定精度の課題を解決するために、視線位置の推定精度を向上させることが可能な情報処理プログラム、情報処理方法及び情報処理装置を提供する。以下では、まず、一実施形態に係る視線位置検出システム1の全体構成について、
図2を参照しながら説明する。
図2は、一実施形態に係る視線位置検出システム1の全体構成の一例を示す図である。
【0016】
一実施形態に係る視線位置検出システム1は、情報処理装置10と視線センサ20とを有する。情報処理装置10は、例えばLAN(Local Area Network)等のネットワークNを介して視線センサ20と接続する。
【0017】
視線センサ20は、視線位置の検出対象である対象者の視線方向を示す視線ベクトルを検出する。視線センサ20は、例えば、赤外線を撮像可能な赤外線カメラと、対象者の顔部分に赤外線を照射する赤外線LED(Light Emitting Diode)と、対象者の瞳孔と赤外線の角膜反射との位置関係から当該対象者の視線ベクトルを検出する装置とを含む。
【0018】
情報処理装置10は、視線センサ20が検出した視線ベクトルから仮想平面上における対象者の視線位置を計測する。また、情報処理装置10は、当該視線位置に対する補正量を算出する。仮想平面とは、例えば、商品等の対象者が注視する対象物上に設定された仮想的な平面をいう。仮想平面の具体例には、商品棚で商品が配置されている側に設定された平面やデジタルサイネージのディスプレイ上に設定された平面等が挙げられる。
【0019】
なお、
図2に示す視線位置検出システム1の構成は一例であって、他の構成であってもよい。例えば、情報処理装置10は、1台のコンピュータで構成されてもよいし、複数台のコンピュータで構成されてもよい。
【0020】
次に、一実施形態に係る情報処理装置10のハードウェア構成について、
図3を参照しながら説明する。
図3は、一実施形態に係る情報処理装置10のハードウェア構成の一例を示す図である。
【0021】
情報処理装置10は、入力装置11と、表示装置12と、外部I/F13と、通信I/F14とを有する。また、情報処理装置10は、ROM(Read Only Memory)15と、RAM(Random Access Memory)16と、CPU(Central Processing Unit)17と、補助記憶装置18とを有する。これら各ハードウェアは、それぞれがバス19で相互に接続されている。
【0022】
入力装置11は、例えばキーボードやマウス、タッチパネル等であり、情報処理装置10に各種の操作信号を入力するのに用いられる。表示装置12は、例えばディスプレイ等であり、情報処理装置10による各種の処理結果を表示する。
【0023】
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。情報処理装置10は、外部I/F13を介して、記録媒体13aの読み取りや書き込みを行うことができる。
【0024】
記録媒体13aには、例えば、SDメモリカード(SD memory card)やUSB(Universal Serial Bus)メモリ、CD(Compact Disk)、DVD(Digital Versatile Disk)等がある。
【0025】
通信I/F14は、情報処理装置10がネットワークNに接続するためのインタフェースである。情報処理装置10は、通信I/F14を介して視線センサ20から視線ベクトルを取得することができる。
【0026】
ROM15は、電源を切ってもデータを保持することができる不揮発性の半導体メモリである。RAM16は、プログラムやデータを一時保持する揮発性の半導体メモリである。CPU17は、例えば補助記憶装置18やROM15等からプログラムやデータをRAM16上に読み出して、各種処理を実行する演算装置である。
【0027】
補助記憶装置18は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性のメモリである。補助記憶装置18には、例えば、基本ソフトウェアであるOS(Operating System)や各種アプリケーションプログラム、一実施形態を実現するプログラム等が格納される。
【0028】
次に、一実施形態に係る情報処理装置10の機能構成について、
図4を参照しながら説明する。
図4は、一実施形態に係る情報処理装置10の機能構成の一例を示す図である。
【0029】
情報処理装置10は、視線位置取得部101と算出処理部102と視線位置補正部103とを有する。これらの各部は、情報処理装置10にインストールされた1以上のプログラムが、CPU17に実行させる処理により実現される。
【0030】
また、情報処理装置10は、視線位置データベース(以下、データベースを「DB」とも表記する。)110と視線移動パターンDB120と対象物配置DB130とを有する。これら各DBは記憶部に記憶され、例えば補助記憶装置18を用いて実現可能である。なお、これら各DBのうちの少なくとも1つのDBが、情報処理装置10とネットワークNを介して接続される記憶装置等を用いて実現されてもよい。
【0031】
視線位置取得部101は、視線センサ20が検出した視線ベクトルから視線位置を取得し、取得した視線位置を視線位置DB110に格納する。視線位置取得部101は、視線センサ20が検出した視線ベクトルから視線位置を計測し、計測した視線位置を視線位置DB110に格納してもよい。視線位置は、仮想平面上に設定されたx軸及びy軸の座標値により表される。視線位置取得部101は、視線位置を取得する取得部の一例である。
【0032】
算出処理部102は、視線位置に対する補正量を算出する。算出処理部102は、視線移動量算出部104とパターン判定部105と移動推移判定部106と補正量算出部107とを有する。
【0033】
視線移動量算出部104は、視線位置取得部101が取得した視線位置の単位時間当たりの移動量及び方向を算出する。視線移動量算出部104は、取得した視線位置の単位時間当たりの移動量及び方向を算出する移動量算出部の一例である。
【0034】
パターン判定部105は、対象物間の視線の移動パターンが記憶された視線移動パターンDB120を参照して、算出した視線位置の単位時間当たりの移動量及び方向に応じた視線移動パターン又は視線移動パターンの組み合わせを判定する。
【0035】
移動推移判定部106は、パターン判定部105が判定した視線移動パターンの組み合わせと対象物の配置位置との比較に基づき、視線位置の移動推移を判定する。パターン判定部105及び移動推移判定部106は、算出した視線位置の単位時間当たりの移動量及び方向と対象物の配置位置との比較に基づき、視線位置の移動推移を判定する判定部の一例である。
【0036】
補正量算出部107は、判定した視線位置の移動推移に基づき、視線位置の補正量を算出する。視線位置の補正量は、x軸方向における補正量とy軸方向における補正量とからなる。
【0037】
以降では、対象者が注視する対象物は、商品棚に配置された商品であるものとする。商品棚は、例えば、M列N段であり、商品が規則的に配置されている。なお、対象者が注視する対象物は、商品棚に配置された商品に限られず、デジタルサイネージ上に表示された表示内容(例えば、M列N段に規則的に配置された商品の広告画像)等であってもよい。
【0038】
視線位置補正部103は、補正量算出部107が算出した補正量により、視線位置DB110に格納されている視線位置を補正する。
【0039】
視線位置DB110は、視線位置取得部101が取得した視線位置と、視線位置補正部103が補正した視線位置とを格納する。視線移動パターンDB120は、対象物間の視線移動パターンを格納する。対象物配置DB130は、対象者が注視する対象物の仮想平面上における座標を示す配置座標を格納する。視線移動パターンDB120及び対象物配置DB130の入力方法としては、商品が配置された様子を撮影した画像から対象物の配置及び視線移動パターンを自動判別して入力してもよいし、商品毎の配置位置及び視線移動パターンを手動で入力してもよい。
【0040】
以上で説明した、
図4に示す情報処理装置10の各機能が実行する各種処理は、情報処理装置10が
図3に示すハードウェア構成を有することにより実現される。
【0041】
次に、一実施形態に係る情報処理装置10による視線位置の算出処理について、
図5を参照しながら説明する。
図5は、一実施形態に係る視線位置の算出処理の一例を示すフローチャートである。
【0042】
まず、視線位置取得部101は、視線センサ20が検出した視線ベクトルVから視線位置Pを取得する(ステップS401)。視線ベクトルVは、
図6に示すように、対象者Sの視線方向を示すベクトルである。
図6に示すように、視線位置取得部101は、視線ベクトルVと、仮想平面Lとの交点を示すx座標及びy座標を視線位置Pとして取得する。
【0043】
視線ベクトルVは、角膜反射法により算出することができる。すなわち、視線ベクトルVは、視線センサ20が対象者Sに赤外線を照射すると共に赤外線カメラで撮像することで、対象者Sの瞳孔と赤外線の角膜反射との位置関係から算出することができる。ただし、視線ベクトルVは、角膜反射法に限られず、例えば、特開2016-73357号公報に開示されている方法やその他の公知の方法で算出されてもよい。
【0044】
次に、視線位置取得部101は、ステップS401で取得した視線位置Pを視線位置DB110に格納する(ステップS402)。
【0045】
以上で説明した視線位置の算出処理は、例えば、対象者Sが仮想平面Lの前にいる間、所定の時間毎に実行される。ここで、上記の視線位置の算出処理により視線位置Pが格納された視線位置DB110について、
図7を参照しながら説明する。
図7は、視線位置DB110の一例を示す図である。
【0046】
視線位置DB110は、時間t1、時間t2、時間t3、時間t4等における視線位置Pのx座標及びy座標を記憶する。視線位置DB110に記憶される補正前の視線位置のx座標及びy座標は、ステップS402にて格納される視線位置Pのx座標及びy座標である。補正後の視線位置のx座標及びy座標は、視線位置補正部103が補正前の視線位置を補正した後の視線位置のx座標及びy座標である。
【0047】
次に、視線移動パターンDB120について、
図8を参照しながら説明する。
図8は、視線移動パターンDB120の一例を示す図である。視線移動パターンDB120は、移動量閾値毎に、視線移動する方向を示す角度毎の視線移動パターンが格納されている。
【0048】
移動量閾値は、商品一つ分の視線移動に対する閾値を「150」とし、商品二つ分の視線移動に対する閾値を「350」とし、商品三つ分の視線移動に対する閾値を「550」とする。
【0049】
視線移動する方向を示す角度は、
図9に示す黒丸部分の視線位置の座標(x
t-1、y
t-1)に対して、次に視線が向けられた座標(x
t、y
t)が黒丸部分に対して右方向に水平の場合、つまり、x
t-1<x
tかつy
t-1=y
tの場合の角度を0°と定義する。また、次に視線が向けられた座標(x
t、y
t)が黒丸部分に対して上方向に垂直の場合、つまり、x
t-1=x
tかつy
t-1<y
tの場合の角度を90°と定義する。また、次に視線が向けられた座標(x
t、y
t)が黒丸部分に対して左方向に水平の場合、つまり、x
t-1>x
tかつy
t-1=y
tの場合の角度を180°と定義する。また、次に視線が向けられた座標(x
t、y
t)が黒丸部分に対して下方向に垂直の場合、つまり、x
t-1=x
tかつy
t-1>y
tの場合の角度を270°と定義する。
【0050】
移動量の各閾値及び各角度に対する視線移動パターンは、視線移動前の商品→視線移動後の商品によって示される。
図10の対象物配置DB130は、各商品の配置位置の一例を示す。対象物配置DB130は、対象物、つまり、商品A~Hの配置を列及び段で示し、各商品の中心座標をx座標及びy座標で示す。これによれば、商品A~Hが、
図12の対象物配置例に示すように配置される。
【0051】
移動量閾値が「150」、角度が0°の場合、商品一つ分だけ視線が右へ水平に移動するパターンであるから、A→B、B→C、C→D、E→F、F→G、G→Hの6つの視線移動パターンが視線移動パターンDB120に設定される。
【0052】
移動量閾値が「150」、角度が45°の場合、商品一つ分だけ視線が右斜め45°上へ移動するパターンであるから、E→B、F→C、G→Dの3つの視線移動パターンが視線移動パターンDB120に設定される。移動量閾値が「150」、角度が90°、135°、180°、225°、270°、315°の場合にもそれぞれ
図8に示す視線移動パターンが存在する。
【0053】
移動量閾値が「350」、角度が0°の場合、商品二つ分だけ視線が右へ水平に移動するパターンであるから、A→C、B→D、E→G、F→Hの4つの視線移動パターンが視線移動パターンDB120に設定される。移動量閾値が「350」、角度が27°、153°、180°、207°、333°の場合にもそれぞれ
図8に示す視線移動パターンが存在する。
【0054】
移動量閾値が「550」、角度が0°の場合、商品三つ分だけ視線が右へ水平に移動するパターンであるから、A→D、E→Hの2つの視線移動パターンが視線移動パターンDB120に設定される。角度が18°、162°、180°、198°、342°の場合にもそれぞれ
図8に示す視線移動パターンが存在する。
【0055】
人は、陳列された商品を連続的に見ているようでも、複数の商品を見比べたり、関心のない商品を飛ばして見たりする等、視線が商品間を移動するときに、単位時間あたりの視線移動量が大きくなる。
【0056】
例えば、
図11(a)に視線移動の一例を示す。
図11(a)では、商品1~8が4列及び2段に配置されている場合に、計測した視線位置「×」に対する視線移動の経路が点線にて示されている。
【0057】
図11(b)の横軸は、計測した視線位置を時系列に示し、縦軸は、単位時間(視線位置の1データ)毎の視線位置の移動量を示す。グラフ内の数値は、見ている商品の番号を示す。
図11(a)に示すように、視線が「START」の位置から経路(1)→(2)→(3)を経由したとする。
【0058】
このとき、
図11(b)に示すように、単位時間毎の視線位置の移動量は、経路(1)→(2)→(3)の矢印にて示すようになる。これによれば、別の商品をみるときには単位時間における視線移動量が大きくなっている。また、
図11(a)に示すように、商品毎の視線の重心は、商品の重心に近い位置になっている。
【0059】
そこで、次に説明する補正量算出処理では、単位時間における視線移動量及び移動方向と商品の配置とを比較することで、視線移動パターンを判定し、判定した視線移動パターンの組合せから、視線位置の補正量を算出する。以下の説明では、単位時間における視線移動量及び視線移動角度を、視線移動距離zt及び視線移動角度dtで示す。
【0060】
<第1実施形態>
[視線位置の補正量算出処理]
第1実施形態に係る視線位置の補正量算出処理の一例について
図13を参照して説明する。
図13は、第1実施形態に係る補正量算出処理の一例を示すフローチャートである。
【0061】
本処理が開始されると、まず、視線位置取得部101は、視線位置の座標(x
t、y
t)を取得する(ステップS1)。次に、視線移動量算出部104は、視線移動距離z
tを算出する(ステップS2)。視線移動距離z
tは、
図14(a)に示すように、一つ前に取得された視線位置(x
t-1、y
t-1)と最新の視線位置(x
t、y
t)との距離であり、次式(1)により算出される。
【0062】
【0063】
図13に戻り、次に、視線移動量算出部104は、視線移動距離z
tが移動量閾値以上であるかを判定する(ステップS3)。例えば、視線移動量算出部104は、視線移動距離z
tが商品一つ分の視線移動を判定する移動量閾値「150」(
図8参照)以上であるかを判定する。
【0064】
視線移動量算出部104は、視線移動距離z
tが移動量閾値「150」未満であると判定した場合、ステップS2に戻り、再度、視線移動距離z
tを算出する。ステップS3において、視線移動量算出部104は、視線移動距離z
tが移動量閾値「150」以上であると判定した場合、視線移動角度d
tを算出する(ステップS4)。視線移動角度d
tは、
図14(a)に示すように、視線移動角度d
tは、一つ前に取得された視線位置(x
t-1、y
t-1)を0としてx軸とy軸とで構成される座標平面において、最新の視線位置(x
t、y
t)の角度をいう。最新の視線位置(x
t、y
t)が第1象限にある場合、視線移動角度d
tは、0°~90°をとる。最新の視線位置(x
t、y
t)が第2象限にある場合、視線移動角度d
tは、90°~180°をとる。最新の視線位置(x
t、y
t)が第3象限にある場合、視線移動角度d
tは、180°~270°をとる。最新の視線位置(x
t、y
t)が第4象限にある場合、視線移動角度d
tは、270°~360°をとる。
【0065】
図13に戻り、次に、パターン判定部105は、視線移動パターン判定処理を実行する(ステップS5)。視線移動パターン判定処理について、
図15を参照して説明する。視線移動パターン判定処理では、パターン判定部105は、視線移動パターンDB120を参照して、視線移動距離z
tからマッチング対象の移動量閾値を決定する(ステップS11)。パターン判定部105は、視線移動パターンDB120に定義された移動量閾値「150」、「350」、「550」のうち、視線移動距離z
tと同値又は視線移動距離z
tよりも値が小さい移動量閾値であって、最大の移動量閾値を決定する。
【0066】
次に、パターン判定部105は、視線移動パターンDB120を参照して、マッチング対象の移動量閾値に対応する角度から視線移動角度dtに最も値が近い角度を選択する(ステップS12)。
【0067】
次に、パターン判定部105は、視線移動パターンDB120を参照して、決定した移動量閾値及び選択した角度に該当するパターンを視線移動パターンと判定し(ステップS13)、
図13に戻る。
【0068】
例えば、視線移動距離z
tが「160」、視線移動角度d
tが「47°」の場合、
図8の例では、移動量閾値は「150」、角度は「45°」となり、視線移動パターンは「E→B」、「F→C」、「G→D」の3パターンであると判定される。
【0069】
例えば、視線移動距離z
tが「380」、視線移動角度d
tが「205°」の場合、
図8の例では、移動量閾値は「350」、角度は「207°」となり、視線移動パターンは「C→E」、「D→F」の2パターンであると判定される。
【0070】
例えば、
図14(b)の視線移動1~6に示すように視線が移動した場合、視線移動1に対して、パターン判定部105は、算出された視線移動距離z
t及び視線移動角度d
tから、移動量閾値を、商品一つ分の視線移動に対する「150」に決定し、「270°」の角度を選択する。この結果、
図14(c)の視線移動1に示すように、パターン判定部105は、該当するパターンを「下に1(商品一つ分)移動」と判定し、
図14(b)の商品配置のうち、取り得るパターンが「A→E」、「B→F」、「C→G」、「D→H」を視線移動パターンと判定する。
【0071】
図13に戻り、パターン判定部105は、既に判定済みの視線移動パターンがあるか否かを判定する(ステップS6)。既に判定済みの視線移動パターンがあると判定した場合、移動推移判定部106は、組合せ後の視線移動パターンを判定し(ステップS7)、ステップS8に進む。パターン判定部105は、既に判定済みの視線移動パターンがないと判定した場合、そのままステップS8に進む。
【0072】
次に、移動推移判定部106は、判定した視線移動パターンが一つかを判定する(ステップS8)。移動推移判定部106は、判定した視線移動パターンが一つであると判定した場合、ステップS10に進む。移動推移判定部106は、判定した視線移動パターンが一つでないと判定した場合、判定した視線移動パターンを例えばRAM16に登録し(ステップS9)、ステップS2に戻る。
【0073】
ステップS2以降の処理を繰り返し、ステップS8において該当視線移動パターンが一つと判定されると、視線位置補正部103は、視線位置の補正量を算出し(ステップS10)、本処理を終了する。
【0074】
かかる処理では、
図14(b)の視線移動1では、ステップS5において、移動量閾値「150」及び角度「45°」の「A→E」、「B→F」、「C→G」、「D→H」の視線移動パターンが判定される。既に判定済みの視線移動パターンはないため、ステップS6にて「No」と判定され、そのままステップS8に進む。この時点では、
図14(c)に示す視線移動順1では、該当パターンは「下に1移動」となり、視線移動パターンには「A→E」、「B→F」、「C→G」、「D→H」の4パターンが登録される。
【0075】
次に、
図14(b)の視線移動2では、ステップS5において、移動量閾値「150」及び角度「45°」に対応する「E→B」、「F→C」、「G→D」の視線移動パターンが判定される。また、ステップS6において、既に判定済みの視線移動パターンが存在するので、「Yes」と判定される。この結果、判定済みのルート「A→E」、「B→F」、「C→G」、「D→H」の最後の記号と、次のルートの候補「E→B」、「F→C」、「G→D」の最初の記号とが一致している「A→E→B」、「B→F→C」、「C→G→D」が組合せ後の視線移動パターンと判定される。これにより、
図14(c)に示す視線移動順2では、該当パターンは「右に1、上に1移動」となり、視線移動パターンには「A→E→B」、「B→F→C」、「C→G→D」の3パターンが登録される。
【0076】
次に、
図14(b)の視線移動3では、ステップS5において、移動量閾値「350」及び角度「0°」に対応する「A→C」、「B→D」、「E→G」、「F→H」の視線移動パターンが判定される。また、ステップS6において、既に判定済みの視線移動パターンが存在するので、「Yes」と判定される。この結果、判定済みのルート「A→E→B」、「B→F→C」、「C→G→D」の最後の記号と、次のルートの候補「A→C」、「B→D」、「E→G」、「F→H」の最初の記号とが一致している「A→E→B→D」が組合せ後の視線移動パターンと判定される。このとき、判定した視線移動パターンが一つであるため、ステップS8にて「Yes」と判定され、ステップS10に進む。
図16は、第1実施形態に係る補正量算出処理の効果の一例を示す。
図16(a)に示す視線位置の例では、第1実施形態に係る補正量算出処理の結果、
図16(b)に示すように視線移動パターンと商品との関係が「A→E→B→D」であると判定される。
【0077】
商品毎の視線の重心は、商品の中心に近い位置になっている。よって、
図16(c)に示す、視線移動する前に計測された視線位置の重心Gaと、商品毎の中心との距離から補正量を算出することができる。上記の例では、組合せ後の視線移動パターンとして「A→E→B→D」が判定されているため、商品Aの中心と視線位置の重心Gaとの距離から補正量を正確に算出することができる。
【0078】
視線位置補正部103は、このようにして算出した補正量に基づき補正前のx座標及びy座標から補正後のx座標及びy座標を計算し、
図7に示す視線位置DB110に、補正前のx座標及びy座標に対応させて補正後の視線位置のx座標及びy座標を登録する。
【0079】
この結果、補正前の視線位置をプロットした
図16(a)に対して、補正後の視線位置をプロットした
図16(d)に示すように、対象者が見ていた商品と視線位置とを一致させるように視線位置の補正を精度良く行うことができる。
【0080】
なお、
図14(b)の視線移動の例では、視線移動1→2→3の時点で、該当パターンが1つになり、視線位置の推移により対象者が見ていた商品が「A→E→B→D」であると確定できる。これにより、視線移動4→5→6について、
図13に示す各処理を実行せずに視線位置の重心Gaと商品毎の中心との距離から補正量を算出することができ、早期に補正処理を行うことができる。また、視線移動4→5→6について
図13に示す各処理を実行しないことにより、算出した補正量に基づき推定される視線位置の推定結果に応じてリアルタイム性の高い別の分析処理を行うことができる。また、前記別の分析処理を事後解析する場合には、計算量を削減できる。
【0081】
ただし、視線移動1→2→3についての
図13の各処理に続けて、視線移動4→5→6についても処理を実行し、補正量の算出に利用することもできる。この場合、視線位置の重心と商品毎の中心との距離から算出する補正量の精度を高め、視線位置の推定精度をより向上させることができる。
【0082】
以上に説明したように、第1実施形態に係る補正量算出処理によれば、視線位置の補正精度を向上させ、見ていた商品を正しく推定することができる。
【0083】
<第2実施形態>
[補正量算出処理]
次に、第2実施形態に係る補正量算出処理の一例について
図17を参照して説明する。
図17は、第2実施形態に係る補正量算出処理の一例を示すフローチャートである。第2実施形態に係る補正量算出処理では、ステップS3において視線移動距離z
tが移動量閾値として例えば「150」未満かつ同一の方向の角度であると判定した場合、視線移動量を累積する点が、第1実施形態に係る補正量算出処理と異なる。これにより、視線がゆっくり移動し、別の商品に移る場合にも視線位置の補正量を正しく算出することができる。
【0084】
なお、移動量閾値「150」は、
図8の視線移動パターンデータベース120に定義した移動量閾値の最低値を用いているが、これに限られず、例えば商品間の距離に基づき定めてもよい。また、「同一の方向の角度」であるかの判定は、同一の角度だけでなく、運用上許容できる角度の範囲は同一の方向の角度とすることができる。例えば、運用上許容できる角度であれば、2°~3°又はそれ以上の違いは同じ方向の角度としてもよい。
【0085】
なお、第2実施形態に係る補正量算出処理において、第1実施形態に係る補正量算出処理と同じステップ番号は同じ処理を示し、説明を省略又は簡略化する。
【0086】
本処理が開始されると、視線移動量算出部104は、計測した視線位置の座標(xt、yt)に基づき視線移動距離ztを算出する(ステップS1、S2)。次に、視線移動量算出部104は、視線移動距離ztが例えば移動量閾値「150」以上であるかを判定し(ステップS3)、視線移動距離ztが移動量閾値以上であると判定した場合、ステップS4に進む。
【0087】
ステップS3において、視線移動量算出部104は、視線移動距離ztが移動量閾値未満かつ同一の方向の角度であると判定した場合、視線移動距離ztを累積する(ステップS21)。次に、視線移動量算出部104は、累積後の視線移動距離ztが移動量閾値以上であるかを判定する(ステップS22)。
【0088】
視線移動量算出部104は、累積後の視線移動距離ztが移動量閾値以上であると判定した場合、ステップS4に進み、ステップS4以降の処理を実行する。ステップS4~S10の処理についての説明は省略する。
【0089】
ステップS22において、視線移動量算出部104は、累積後の視線移動距離ztが移動量閾値未満であると判定した場合、ステップS2に戻り、ステップS3にて視線移動距離ztが移動量閾値以上であると判定されるまで、ステップS2、S3、S21、S22の処理を繰り返し、視線移動距離ztを累積する。
【0090】
以上に説明したように、第2実施形態に係る補正量算出処理によれば、例えば
図18の視線移動3に示すように、別の商品を見るときの単位時間における視線移動量が小さく、同一の方向の角度である場合、視線移動距離z
tを累積する。例えば、
図19の点線内に示すように、時間T4~T7の間に4つの視線位置が計測されている。このとき、第1実施形態では時間T4~T7における移動量閾値以下の移動量の視線移動では視線の移動がないと判定される。このために、視線が徐々に移動した場合には正確な処理ができなくなる可能性がある。これに対して、本実施形態では、時間T4~T7の間に計測された視線位置に対する視線移動距離z
tが移動量閾値「150」未満であり、かつ同一の方向の角度である間、視線移動距離z
tは累積される。そして、累積後の視線移動距離z
tが移動量閾値以上になったとき、1商品分以上の視線移動距離になったと判定され、ステップS4以降の処理を行うことで視線位置の補正精度を向上させることができる。これにより、別の商品を見るときの単位時間における視線移動量が小さい場合においても、見ていた商品を正しく推定することができる。
【0091】
<第3実施形態>
[補正量算出処理]
次に、第3実施形態に係る補正量算出処理の一例について
図20を参照して説明する。
図20は、第3実施形態に係る補正量算出処理の一例を示すフローチャートである。
【0092】
第3実施形態に係る補正量算出処理では、ステップS31において計測開始時から規定した所定時間が経過したかを判定し、判定結果に基づき視線移動距離ztを算出する点が、第1実施形態に係る補正量算出処理と異なる。
【0093】
計測開始直後、対象者は商品をまだ見ていないケースが考えられる。第3実施形態に係る補正量算出処理では、計測開始時から規定した所定時間が経過する前に計測した視線位置を分析に使用せず、計測開始時から所定時間が経過した後に計測した視線位置を分析に使用することで、視線位置の補正量を正しく算出することができる。
【0094】
なお、第3実施形態に係る補正量算出処理において、第1実施形態に係る補正量算出処理と同じステップ番号は同じ処理を示し、説明を省略又は簡略化する。
【0095】
本処理が開始されると、視線位置取得部101は、視線位置の座標(xt、yt)を計測する(ステップS1)。次に、視線移動量算出部104は、計測開始時から規定した所定時間が経過したかを判定する(ステップS31)。
【0096】
視線移動量算出部104は、計測開始時から規定した所定時間が経過するまで、ステップS31を繰り返す。視線移動量算出部104は、計測開始時から規定した所定時間が経過した場合、ステップS2に進み、視線移動距離ztを算出する。
【0097】
以上に説明したように、第3実施形態に係る補正量算出処理によれば、視線位置の計測開始時から規定した所定時間が経過後の視線位置を視線移動パターンの分析に用い、計測開始時から所定時間が経過するまでに計測した視線位置を視線移動パターンの分析に用いない。この結果、計測開始直後、
図21の視線移動1に示すように、対象者が商品をまだ見ていない場合の視線位置を分析に用いないことで、視線位置の補正精度を向上させることができる。
【0098】
<第4実施形態>
[補正量算出処理]
次に、第4実施形態に係る補正量算出処理の一例について
図22を参照して説明する。
図22は、第4実施形態に係る補正量算出処理の一例を示すフローチャートである。
【0099】
第4実施形態に係る補正量算出処理では、ステップS40において組合せ後の視線移動パターンに整合性がない場合、ステップS41において最後に追加された視線移動パターンを除外する点が、第1実施形態に係る補正量算出処理と異なる。
【0100】
「組合せ後の視線移動パターンに整合性がない」とは、組合せ後の視線移動パターンが対象物(商品)の間の実際の視線移動パターンの組合せにないことをいう。例えば、
図12に示すように商品が配置されているときに、商品Dを始点として移動する視線移動パターンに右と上はない。よって、組合せ後の視線移動パターンが、商品Dの後に右又は上に移動するパターンを含む場合、組合せ後の視線移動パターンに整合性がないと判定される。
【0101】
なお、第4実施形態に係る補正量算出処理において、第1実施形態に係る補正量算出処理と同じステップ番号は同じ処理を示し、説明を省略又は簡略化する。
【0102】
本処理が開始されると、ステップS1~ステップS7の処理が実行される。次に、パターン判定部105は、組合せ後の視線移動パターンと商品の配置位置とを比較して、組合せ後の視線移動パターンに整合性があるかを判定する(ステップS40)。
【0103】
パターン判定部105は、組合せ後の視線移動パターンに整合性があると判定した場合、ステップS8に進む。一方、ステップS40において、パターン判定部105は、組合せ後の視線移動パターンに整合性がないと判定した場合、最後に追加された視線移動パターンを除外し(ステップS41)、ステップS2に戻り、ステップS2以降の処理を繰り返す。
【0104】
たとえば、
図23の視線移動5に示すように、対象者の視線が商品Fの下の商品外の視線位置(x
5、y
5)を見た場合、商品Fの下に配置された商品はないため、組合せ後の視線移動パターンが、商品の配置位置と比較して整合性がないと判定される。この結果、組合せ後の視線移動パターンに最後に追加された視線移動パターン、つまり、
図23の視線移動5に対応する商品外の視線位置(x
5、y
5)が除外される。
【0105】
同様に、視線移動6に示すように、対象者の視線が商品Fの下の商品外の視線位置(x6、y6)から視線位置(x7、y7)に移動した場合、商品Fの下に配置された商品はないため、組合せ後の視線移動パターンが、商品の配置位置と比較して整合性がないと判定される。この結果、組合せ後の視線移動パターンに最後に追加された視線移動パターン、つまり、視線移動6に対応する商品外の視線位置(x6、y6)が除外される。
【0106】
この結果、組合せ後の視線移動パターンは、視線位置(x
5、y
5)及び視線位置(x
6、y
6)を除いた後の視線位置(x
4、y
4)から視線位置(x
7、y
7)となる(
図23の点線参照)。これにより、商品外を見た視線位置(x
5、y
5)及び視線位置(x
6、y
6)を視線移動パターンの分析に用いないことで、視線位置の補正精度を向上させることができる。
【0107】
以上に説明したように、第4実施形態に係る補正量算出処理によれば、対象者が途中で商品外を見た場合、組合せ後の視線移動パターンが、商品の配置位置と比較して整合性がないと判定され、対象者が途中で見た商品外の視線位置を除外できる。これにより、視線位置の補正精度を向上させ、視線位置の推定精度を向上させることができる。
【0108】
以上、情報処理プログラム、情報処理方法及び情報処理装置を上記実施形態により説明したが、本開示に係る情報処理プログラム、情報処理方法及び情報処理装置は上記実施形態に限定されるものではなく、本開示の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
【0109】
以上の説明に関し、更に以下の項を開示する。
(付記1)
視線位置を取得する処理と、
取得した前記視線位置の単位時間当たりの移動量及び方向を算出する処理と、
算出した前記移動量及び方向と対象物の配置位置との比較に基づき、前記視線位置の移動推移を判定する処理と、
をコンピュータに実行させる情報処理プログラム。
(付記2)
判定した前記視線位置の移動推移に基づき、前記視線位置の補正量を算出する処理、
を含む、付記1に記載の情報処理プログラム。
(付記3)
前記視線位置の単位時間当たりの移動量が所定の閾値未満かつ同じ方向の角度である場合、前記視線位置の単位時間当たりの移動量を累積し、
累積した前記移動量と前記配置位置との比較に基づき、前記移動推移を判定する、
付記1又は2に記載の情報処理プログラム。
(付記4)
計測した前記視線位置のうち、計測開始時からの経過時間に応じて選定した視線位置から前記視線位置の単位時間当たりの移動量及び方向を算出する、
付記1~3のいずれか一項に記載の情報処理プログラム。
(付記5)
複数の前記対象物の間の視線移動パターンが前記移動量と前記角度に応じて記憶された記憶部を参照して、算出した前記視線位置の単位時間当たりの移動量及び方向に応じた前記視線移動パターンの組み合わせから前記視線位置の移動推移を判定する、
付記3に記載の情報処理プログラム。
(付記6)
前記視線移動パターンの組み合わせが前記対象物の間の実際の視線移動パターンの組合せになく、整合性がない場合、前記視線移動パターンの組み合わせから、最後に追加された前記視線移動パターンを除外する、
付記5に記載の情報処理プログラム。
(付記7)
視線位置を取得する処理と、
取得した前記視線位置の単位時間当たりの移動量及び方向を算出する処理と、
算出した前記移動量及び方向と対象物の配置位置との比較に基づき、前記視線位置の移動推移を判定する処理と、
をコンピュータが実行する情報処理方法。
(付記8)
判定した前記視線位置の移動推移に基づき、前記視線位置の補正量を算出する処理、
を含む、付記7に記載の情報処理方法。
(付記9)
前記視線位置の単位時間当たりの移動量が所定の閾値未満かつ同じ方向の角度である場合、前記視線位置の単位時間当たりの移動量を累積し、
累積した前記移動量と前記配置位置との比較に基づき、前記移動推移を判定する、
付記7又は8に記載の情報処理方法。
(付記10)
計測した前記視線位置のうち、計測開始時からの経過時間に応じて選定した視線位置から前記視線位置の単位時間当たりの移動量及び方向を算出する、
付記7~9のいずれか一項に記載の情報処理方法。
(付記11)
複数の前記対象物の間の視線移動パターンが前記移動量と前記角度に応じて記憶された記憶部を参照して、算出した前記視線位置の単位時間当たりの移動量及び方向に応じた前記視線移動パターンの組み合わせから前記視線位置の移動推移を判定する、
付記9に記載の情報処理方法。
(付記12)
前記視線移動パターンの組み合わせが前記対象物の間の実際の視線移動パターンの組合せになく、整合性がない場合、前記視線移動パターンの組み合わせから、最後に追加された前記視線移動パターンを除外する、
付記11に記載の情報処理方法。
(付記13)
視線位置を取得する取得部と、
取得した前記視線位置の単位時間当たりの移動量及び方向を算出する移動量算出部と、
算出した前記移動量及び方向と対象物の配置位置との比較に基づき、前記視線位置の移動推移を判定する判定部と、
を有する情報処理装置。
(付記14)
判定した前記視線位置の移動推移に基づき、前記視線位置の補正量を算出する補正量算出部、
を含む、付記13に記載の情報処理装置。
(付記15)
前記移動量算出部は、前記視線位置の単位時間当たりの移動量が所定の閾値未満かつ同じ方向の角度である場合、前記視線位置の単位時間当たりの移動量を累積し、
前記判定部は、累積した前記移動量と前記配置位置との比較に基づき、前記移動推移を判定する、
付記13又は14に記載の情報処理装置。
(付記16)
前記移動量算出部は、計測した前記視線位置のうち、計測開始時からの経過時間に応じて選定した視線位置から前記視線位置の単位時間当たりの移動量及び方向を算出する、
付記13~15のいずれか一項に記載の情報処理装置。
(付記17)
前記判定部は、複数の前記対象物の間の視線移動パターンが前記移動量と前記角度に応じて記憶された記憶部を参照して、算出した前記視線位置の単位時間当たりの移動量及び方向に応じた前記視線移動パターンの組み合わせから前記視線位置の移動推移を判定する、
付記15に記載の情報処理装置。
(付記18)
前記判定部は、前記視線移動パターンの組み合わせが前記対象物の間の実際の視線移動パターンの組合せになく、整合性がない場合、前記視線移動パターンの組み合わせから、最後に追加された前記視線移動パターンを除外する、
付記17に記載の情報処理装置。
【符号の説明】
【0110】
1 視線位置検出システム
10 情報処理装置
20 視線センサ
101 視線位置取得部
102 算出処理部
103 視線位置補正部
104 視線移動量算出部
105 パターン判定部
106 移動推移判定部
107 補正量算出部
110 視線位置DB
120 視線移動パターンDB
130 対象物配置DB