以下に、本願の開示する関心度判定装置、関心度判定方法および関心度判定プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例にかかるシステムの構成を示す図である。図1に示すように、このシステムは、カメラ50と、関心度判定装置100とを有する。また、棚5には、商品α、商品β、商品γ、商品δが陳列されており、カメラ50は、棚5から商品を選ぶ人物が撮像範囲に含まれるように、設置されているものとする。なお、棚5には、商品α〜δ以外の商品が陳列されていても良い。
カメラ50は、撮像範囲の画像を撮影するカメラである。カメラ50は、撮影した画像の情報を、関心度判定装置100に送信する。以下の説明では、画像の情報を、画像データと表記する。画像データには、連続する複数のフレームが含まれているものとする。
関心度判定装置100は、カメラ50の画像データを基にして、人物の視線位置を検出し、人物の視線位置が、他の人物の影響を受けた視線位置なのか、自発的な視線位置なのかを判定する。関心度判定装置100は、人物の視線位置と、判定結果とを対応付けて、判定結果データベースに登録する。
例えば、関心度判定装置100は、人物10aの視線位置が自発的な視線位置か否かを判定する場合において、人物10bの視線位置、移動状態、ジェスチャ、把持状態、顔の向き、口の動きのうち何れか一つまたは複数を組み合わせて利用する。
次に、本実施例にかかる関心度判定装置100の構成について説明する。図2は、本実施例にかかる関心度判定装置の構成を示す機能ブロック図である。図2に示すように、この関心度判定装置100は、カメラ50に接続される。関心度判定装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
通信部110は、他の外部装置とネットワークを介してデータ通信を実行する処理部である。例えば、通信部110は、通信装置に対応する。
入力部120は、各種の情報を関心度判定装置100に入力する入力装置である。例えば、入力部120は、キーボードやマウス、タッチパネル、入力ボタン等に対応する。
表示部130は、制御部150からの情報を表示する表示装置である。例えば、表示部130は、タッチパネルや液晶ディスプレイ等に対応する。
記憶部140は、画像データベース141、視線対象位置データベース142、確認データベース143、判定結果データベース144を有する。記憶部140は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子などの記憶装置に対応する。
画像データベース141は、画像データに関する情報を保持するデータベースである。図3は、画像データベースのデータ構造の一例を示す図である。図13に示すように、画像データベース141は、フレーム番号、時刻、検出人数、人物ID、人物領域、重心座標、フレーム、複数フラグ、単数フラグ、成功フラグをそれぞれ対応付ける。フレーム番号は、画像データに含まれる各フレームを識別する番号である。時刻は、フレームの時刻である。
検出人数は、フレームから検出された人物の人数である。人物IDは、フレームから検出された人物を識別する情報である。複数フレームにわたって同一の人物が検出された場合には、かかる人物には同一の人物IDが割り振られる。人物領域は、人物の領域を示すものである。例えば、縦幅と横幅により、人物領域を示す。重心座標は、フレームから検出された人物の人物領域の重心を示すものである。
フレームは、フレーム番号に対応するフレームの画像である。複数フラグは、フレームから複数の人物が検出されたか否かを示すフラグである。複数の人物が検出された場合には複数フラグが「オン」となり、複数の人物が検出されない場合には複数フラグが「オフ」となる。
単数フラグは、フレームから単数の人物が検出されたか否かを示すフラグである。単数の人物が検出された場合には単数フラグが「オン」となり、単数の人物が検出されない場合には単数フラグが「オフ」となる。
成功フラグは、人物の視線位置の検出に成功したか否かを示すフラグである。人物の視線位置の検出に成功した場合には成功フラグが「オン」となり、視線位置の検出に失敗した場合には成功フラグが「オフ」となる。
視線対象位置データベース142は、仮想空間の画像領域と、画像領域に含まれる商品とを対応付ける情報を保持する。図4は、視線対象位置データベースのデータ構造の一例を示す図である。図4に示すように、この視線対象位置データベース142は、仮想空間の画像領域と、商品とを対応付ける。
図5は、仮想空間の一例を示す図である。例えば、商品αは、仮想空間(X1,Y1)〜(X2,Y1)、(X1,Y2)〜(X2,Y2)に位置する。商品βは、仮想空間(X2,Y1)〜(X3,Y1)、(X2,Y2)〜(X3,Y2)に位置する。商品γは、仮想空間(X1,Y2)〜(X2,Y2)、(X1,Y3)〜(X2,Y3)に位置する。商品δは、仮想空間(X2,Y2)〜(X3,Y2)、(X2,Y3)〜(X3,Y3)に位置する。
例えば、人物の視線位置が、仮想区間の画像領域(X1,Y1)〜(X2,Y1)、(X1,Y2)〜(X2,Y2)に含まれる場合には、人物が商品αを見ていると言える。
確認データベース143は、複数種類の確認データベース143を含む。例えば、確認データベース143は、人物移動状態確認データベース143a、ジェスチャ確認データベース143b、指領域変化確認データベースは143cを有する。また、確認データベース143は、把持状態確認データベース143d、顔向き変化確認データベース143e、口の動き状態確認データベース143f、視線の動き状態確認データベース143gを有する。以下では、各確認データベース143a〜143gのデータ構造の一例について順に説明する。
人物移動状態確認データベース143aは、人物が商品に近づいたか否かの情報を保持する。図6は、人物移動状態確認データベースのデータ構造の一例を示す図である。図6に示すように、この人物移動状態確認データベース143aは、人物ID毎に、テーブルを有する。ここでは一例として、人物ID「1aaa」のテーブル20aと、人物ID「1bbb」のテーブル20bを示す。
テーブル20a,20bは、時刻と、移動と、視対象とを対応付ける。移動は、人物IDに対応する人物が、視対象となる商品に近づいたか否かを示す情報である。視対象に人物が近づいた場合には、移動が「yes」となり、近づいていない場合には、移動が「no」となる。視対象は、人物IDに対応する人物が見ている商品を示すものである。例えば、テーブル20aの1行目のレコードについて説明すると、人物ID「1aaa」の人物は、時刻tn1において、商品αを見ており、商品αに近づいていないことを示す。
ジェスチャ確認データベース143bは、人物が大きなジェスチャを行ったか否かの情報を保持する。図7は、ジェスチャ確認データベースのデータ構造の一例を示す図である。図7に示すように、このジェスチャ確認データベース143bは、人物ID毎に、テーブルを有する。ここでは一例として、人物ID「1aaa」のテーブル21aと、人物ID「1bbb」のテーブル20bを示す。
テーブル21a,21bは、時刻と、ジェスチャと、視対象とを対応付ける。ジェスチャは、人物IDに対応する人物が、大きなジェスチャを行ったか否かを示す情報である。大きなジェスチャを行った場合には、ジェスチャが「yes」となり、大きなジェスチャを行っていない場合には、ジェスチャが「no」となる。視対象は、人物IDに対応する人物が見ている商品を示すものである。例えば、テーブル21aの1行目のレコードについて説明すると、人物ID「1aaa」の人物は、時刻tn1において、商品αを見ており、大きなジェスチャを行っていないことを示す。
指領域変化確認データベースは143cは、人物の指領域が変化したか否かの情報を保持する。図8は、指領域変化確認データベースのデータ構造の一例を示す図である。図8に示すように、この指領域変化確認データベース143cは、人物ID毎に、テーブルを有する。ここでは一例として、人物ID「1aaa」のテーブル22aと、人物ID「1bbb」のテーブル22bを示す。
テーブル22a,22bは、時刻と、指領域変化と、視対象とを対応付ける。指領域変化は、人物IDに対応する人物の指領域が変化したか否かを示す情報である。人物の指領域が変化した場合には、指領域変化が「yes」となり、人物の指領域が変化していない場合には、指領域変化が「no」となる。視対象は、人物IDに対応する人物が見ている商品を示すものである。例えば、テーブル22aの1行目のレコードについて説明すると、人物ID「1aaa」の人物は、時刻tn1において、商品αを見ており、指領域が変化していないことを示す。
把持状態確認データベース143dは、人物がある商品を把持しているか否かの情報を保持する。図9は、把持状態確認データベースのデータ構造の一例を示す図である。図9に示すように、この把持状態確認データベース143dは、人物ID毎に、テーブルを有する。ここでは一例として、人物ID「1aaa」のテーブル23aと、人物ID「1bbb」のテーブル23bを示す。
テーブル23a,23bは、時刻と、把持状態と、視対象とを対応付ける。把持状態は、人物IDに対応する人物が把持状態であるか否かを示す情報である。人物が把持状態である場合には、把持状態が「yes」となり、人物が把持状態でない場合には、把持状態が「no」となる。視対象は、人物IDに対応する人物が見ている商品を示すものである。例えば、テーブル23aの1行目のレコードについて説明すると、人物ID「1aaa」の人物は、時刻tn1において、商品αを見ており、把持状態でないことを示す。
顔向き変化確認データベース143eは、人物の顔の向きに変化があるか否かの情報を保持する。図10は、顔向き変化確認データベースのデータ構造の一例を示す図である。図10に示すように、この顔向き変化確認データベース143eは、人物ID毎に、テーブルを有する。ここでは一例として、人物ID「1aaa」のテーブル24aと、人物ID「1bbb」のテーブル24bを示す。
テーブル24a,24bは、時刻と、顔向き変化と、視対象とを対応付ける。顔向き変化は、人物IDに対応する人物の顔の向きが変化したか否かを示す情報である。人物の顔の向きが変化した場合には、顔向き変化が「yes」となり、人物の顔の向きが変化していない場合には、顔向き変化が「no」となる。視対象は、人物IDに対応する人物が見ている商品を示すものである。例えば、テーブル24aの1行目のレコードについて説明すると、人物ID「1aaa」の人物は、時刻tn1において、商品αを見ており、人物の顔の向きが変化していないことを示す。
口の動き状態確認データベース143fは、人物の口の状態に関する情報を保持する。図11は、口の動き状態確認データベースのデータ構造の一例を示す図である。図11に示すように、この口の動き状態確認データベース143fは、人物ID毎に、テーブルを有する。ここでは一例として、人物ID「1aaa」のテーブル25aと、人物ID「1bbb」のテーブル25bを示す。
テーブル25a,25bは、時刻と、距離と、口の状態とを対応付ける。距離は、人物IDに対応する人物と、この人物に最も近い他の人物との距離を示す。口の状態は、人物IDに対応する人物の口が開いているのか閉じているのかを示す情報である。例えば、テーブル24aの1行目のレコードについて説明すると、人物ID「1aaa」の人物は、時刻tn1において、他の人物との距離が「50cm」であり、口の状態が「閉」であることを示す。
視線の動き状態確認データベース143gは、人物の視線検出に関する情報を保持する。図12は、視線の動き状態確認データベースのデータ構造の一例を示す図である。図12に示すように、この視線の動き状態確認データベース143gは、人物ID毎に、テーブルを有する。ここでは一例として、人物ID「1aaa」のテーブル26aと、人物ID「1bbb」のテーブル26bとを示す。
テーブル26a,26bは、時刻と、視線検出と、視対象とを対応付ける。視線検出は、人物IDに対応する人物の視線検出が可能であるか否かを示す情報である。例えば、人物の視線を検出可能である場合には、視線検出が「yes」となり、視線を検出可能でない場合には、視線検出が「no」となる。視対象は、人物IDに対応する人物が見ている商品を示すものである。例えば、テーブル26aの2行目のレコードについて説明すると、人物ID「1aaa」の人物は、時刻tn2において、商品αを見ており、人物の視線を検出することが可能である旨が示される。
図2の説明に戻る。判定結果データベース144は、人物が商品を見た際に、人物が自発的に商品を見たのか、自発的に見ていないのかを示す情報を保持する。図13は、判定結果データベースのデータ構造の一例を示す図である。図13に示すように、この判定結果データベース144は、時刻と、人数と、人物IDと、視対象商品と、自発性フラグとを対応付ける。人数は、自発性の有無を判定した人物の人数を示す。視対象商品は、人物が見た商品を示す。自発性フラグは、人物が自発的に商品を見たか否かを示す。
例えば、判定結果データベース144の1行目のレコードでは、時刻t1において、人物ID「1aaa」の人物は、商品αを自発的に見ている旨が示される。2行目のレコードでは、時刻t2において、人物ID「1aaa」の人物は、商品αを自発的に見ている旨が示される。また、時刻t2において、人物ID「1bbb」の人物は、商品βを自発的に見ていない旨が示される。
図2の説明に戻る。制御部150は、取得部151と、人物検出部152と、視線検出部153と、自発性判定部154とを有する。制御部150は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部150は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。自発性判定部154は、判定部の一例である。
取得部151は、カメラから画像データを取得する処理部である。取得部151は、画像データを、図3に示した画像データベース141に登録する。例えば、取得部151は、フレーム番号と、時刻と、フレームとを対応付けて、画像データベース141に登録する。なお、画像データベース141の検出人数、人物ID、人物領域、重心座標、複数フラグ、単数フラグ、成功フラグの情報は、後述する人物検出部152によって設定される。
人物検出部152は、画像データベース141を参照し、画像データの各フレームから人物を検出する処理部である。例えば、人物検出部152は、複数種類の人物の形状を定義したテンプレートを有しており、このテンプレートと、画像データのフレームとを比較して、人物を検出する。
人物検出部152は、フレームから人物を検出した場合には、フレーム番号と対応付けて、人物領域および重心座標を、画像データベース141に登録する。人物検出部152は、検出した人物の検出人数を、フレーム番号と対応付けて、画像データベース141に登録する。
人物検出部152は、複数の人物を検出した場合には、複数フラグを「オン」にし、単数フラグを「オフ」に設定する。人物検出部152は、単数の人物を検出した場合には、複数フラグを「オフ」、単数フラグを「オン」に設定する。人物検出部152は、人物を検出できなかった場合には、複数フラグを「オフ」、単数フラグを「オフ」に設定する。
人物検出部152は、人物を検出した場合には、検出した人物に対してユニークな人物IDを割り当て、フレーム番号と対応付けて、人物IDを画像データベース141に登録する。複数のフレームから検出された同一人物については、同一の人物IDを割り当てる。例えば、人物検出部152は、あるフレームから検出した人物の人物領域と、次のフレームから検出した人物の人物領域との重複面積が所定面積以上である場合に、各フレームから検出した人物を同一人物であると判定する。
人物検出部152は、フレームから複数の人物を検出した場合には、各人物にユニークな人物IDを割り当て、フレーム番号と対応付けて、人物IDを画像データベース141に登録する。例えば、図3の画像データベース141のフレーム番号「004」のフレームからは複数の人物が検出されており、一方の人物の人物IDが「1aaa」となり、他方の人物の人物IDが「1bbb」となっている。
人物検出部152は、新たな人物IDを検出すると、確認データベース143に、各人物IDに対応するテーブルを生成しても良いし、他の処理部が、人物IDに対応するテーブルを生成しても良い。
なお、人物検出部152は、テンプレートマッチングにより、画像データのフレームから人物を検出する場合について説明したが、これに限定されるものではなく、他の従来技術を用いて、人物を検出しても良い。例えば、人物検出部152は、特開2014−92886号公報に記載された技術を用いて人物を検出しても良い。人物検出部152は、非特許文献(佐藤雄隆, 金子俊一, 丹羽義典, 山本和彦:“Radial Reach Filter(RR F)によるロバストな物体検出”, 信学論(D-II), Vol. J86-D-II No.5,pp 616-624, 2003)に記載された技術を用いて、人物を検出しても良い。また、人物検出部152が、フレームに含まれる人物の人数を計測する場合には、特開昭63−085890号公報に記載された技術を用いて人物の人数を計測しても良い。
視線検出部153は、画像データベース141の画像データのフレームを参照して、人物の視線位置を検出する処理部である。視線検出部153は、どのような従来技術を用いて、人物の視線位置を検出しても良い。例えば、視線検出部153は、フレームを画像解析し、人物の目の基準点と、動点とを特定し、基準点と動点との関係から、人物の視線位置を検出する。基準点と動点との組は、人物の目に関する目頭と虹彩、または、人物の目に関する角膜反射と瞳孔となる。視線検出部153は、特開2012−187190号公報に記載された技術を用いて、視線位置を検出しても良い。
視線検出部153は、人物の目に関する基準点と動点とを検出でき、人物の視線検出に成功した場合には、視線検出に成功した人物IDに対応付けて、成功フラグを「オン」に設定する。一方、視線検出部153は、人物の目に関する基準点または動点を検出できず、人物の視線検出に失敗した場合には、視線検出に失敗した人物IDに対応付けて、成功フラグを「オフ」に設定する。
視線検出部153は、人物の視線検出に成功した場合には、人物の視線位置と、視線対象位置データベース142とを比較して、人物の視対象となる商品を特定する。視線検出部153は、確認データベース143に含まれる各人物IDのテーブル20a〜24a,26a,20b〜24b,26bに、視線を検出したフレームの時刻と、視対象とを対応付けて登録する。
自発性判定部154は、ある人物が商品を見た場合に、自発的に商品を自発的に見たのか否かを判定する処理部である。自発性判定部154は、判定結果を、判定結果データベース144に登録する。
まず、自発性判定部154は、画像データベース141を参照し、単数フラグが「オン」、かつ、成功フラグが「オン」となるレコードを検出する。単数フラグが「オン」で、成功フラグが「オン」とは、例えば、人物が1人で商品を見ていることを意味し、自発性があると言える。自発性判定部154は、検出したレコードに含まれる人物IDの人物は、自発的に、視対象をみたと判定し、判定結果を判定結果データベース144に登録する。
例えば、フレーム番号「002」のレコードでは、単数フラグが「オン」、かつ、成功フラグが「オン」となる。自発性判定部154は、フレーム番号「002」のレコードの人物ID「1aaa」の人物は、時刻「t2」において、視対象を自発的に見ていると判定する。自発性判定部154は、時刻「t2」、人数「1」、人物ID「1aaa」、視対象「商品α」、自発性フラグ「オン」を対応付けて、判定結果データベース144に登録する。
続いて、自発性判定部154は、画像データベース141を参照し、複数フラグが「オン」、かつ、成功フラグが「オン」となるレコードを検出する。自発性判定部154は、レコードに含まれる各人物IDの各人物について、下記に説明する第1の自発性判定処理〜第7の自発性判定処理の何れか一つまたは複数を実行することで、人物が自発的に商品を見たのか否かを判定する。また、以下では、説明の便宜上、人物10a、人物10bが存在するとし、人物10aが自発的に商品を見たか否かの自発性を判定するものとする。
自発性判定部154が実行する「第1の自発性判定処理」について説明する。自発性判定部154は、第1の自発性判定処理を実行する場合に、図6に示した人物移動状態確認データベース143aを参照して処理を行う。
自発性判定部154は、人物10bが視対象に近づく方向に移動し、かつ、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と同じ場合に、人物10aは、視対象を自発的に見ていないと判定する。
一方、自発性判定部154は、人物10bが視対象に近づく方向に移動していない場合には、人物10aは、視対象を自発的に見ていると判定する。また、自発性判定部154は、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と異なる場合に、人物10aは、視対象を自発的に見ていると判定する。
ここで、自発性判定部154が、人物が、視対象に近づく方向に移動しているか否かを判定する処理の一例について説明する。自発性判定部154は、画像データベース141を参照して、人物の人物領域を取得する。自発性判定部154は、各人物領域の輪郭線に囲まれた面積をフレーム毎に求めて変化量を算出する。例えば、自発性判定部154は、特開2014−92886号公報に記載された技術を用いて、人物領域の輪郭線を特定する。
自発性判定部154は、人物の人物領域がNフレーム期間に閾値以上増加する場合に、人物が視対象に近づく方向に移動していると判定する。自発性判定部154は、人物の人物領域がNフレーム期間に閾値以上増加しない場合に、人物が視対象に近づく方向に移動していないと判定する。自発性判定部154は、判定結果を人物移動状態確認データベース143aに登録する。
例えば、自発性判定部154は、時刻tn1〜tn3のフレーム期間に、人物の人物領域が閾値以上増加した場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、移動「yes」を登録する。時刻tn1〜tn3のフレーム期間に、人物の人物領域が閾値以上増加していない場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、移動「no」を登録する。
自発性判定部154は、人物移動状態確認データベース143aに情報を登録した後に、上記第1の自発性判定処理を実行する。
自発性判定部154が実行する「第2の自発性判定処理」について説明する。自発性判定部154は、第2の自発性判定処理を実行する場合に、図7に示したジェスチャ確認データベース143bを参照して処理を行う。
自発性判定部154は、人物10bのジェスチャが大きく、かつ、人物10aの視界に人物10bのジェスチャが含まれており、かつ、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と同じ場合に、人物10aは、視対象を自発的に見ていないと判定する。
一方、自発性判定部154は、人物10bのジェスチャが小さい場合には、人物10aは、視対象を自発的に見ていると判定する。また、自発性判定部154は、人物10bのジェスチャが大きい場合でも、人物10bのジェスチャが人物10aの視界に含まれていない場合には、人物10aは、視対象を自発的に見ていると判定する。また、自発性判定部154は、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と異なる場合に、人物10aは、視対象を自発的に見ていると判定する。
ここで、自発性判定部154が、人物のジェスチャが大きいか否かを判定する処理の一例について説明する。自発性判定部154は、画像データベース141を参照して、人物の人物領域を特定し、更に、人物領域から手領域を抽出する。例えば、自発性判定部154は、人物領域の肌色領域を、手領域として抽出する。
自発性判定部154は、Kフレームの期間に手領域が閾値(mピクセル)以上移動した場合には、人物のジェスチャが大きいと判定する。自発性判定部154は、Kフレームの期間に手領域が閾値以上移動していない場合には、人物のジェスチャが大きく無いと判定する。例えば、画像データのフレームが640×480ピクセルの場合には、閾値を95ピクセルとする。自発性判定部154は、判定結果をジェスチャ確認データベース143bに登録する。
例えば、自発性判定部154は、時刻tn1〜tn3のフレーム期間に、人物の手領域が閾値以上増加した場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、ジェスチャ「yes」を登録する。時刻tn1〜tn3のフレーム期間に、人物の手領域が閾値以上増加していない場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、ジェスチャ「no」を登録する。
なお、自発性判定部154は、他の従来技術を用いて、ジェスチャが大きいか否かを判定しても良い。例えば、自発性判定部154は、特開2013−20311号公報に記載された技術を用いて、ジェスチャを検出し、ジェスチャが大きいか否かを判定しても良い。
自発性判定部154は、ジェスチャ確認データベース143bに情報を登録した後に、上記第2の自発性判定処理を実行する。
続いて、自発性判定部154が、人物10aの視界に、人物10bのジェスチャが含まれているか否かを判定する処理の一例について説明する。例えば、自発性判定部154は、人物10aの視界範囲に、人物10bが入っている場合に、人物10aの視界に、人物10bのジェスチャが含まれていると判定する。
図14は、人物の視界範囲の一例を説明するための図である。図14において、人物10aの視線位置を視線位置11aとすると、人物10aの視界範囲は、視界範囲12となる。例えば、視界範囲12の線分12aと線12bとのなす角度を20度とする。この20度の根拠は、「光学42巻9号(2013)P473有効視野の特性とその測定手法に記載の有効視野(直径20°以内)」を根拠としている。自発性判定部154は、視野範囲12に人物10bが含まれている場合には、人物10aの視界に、人物10bのジェスチャが含まれていると判定する。自発性判定部154は、視野範囲12に人物10bが含まれていない場合に、人物10aの視界に、人物10bのジェスチャが含まれていないと判定する。図14に示す例では、視野範囲12に人物10bが含まれていない場合を示している。
自発性判定部154は、人物の位置をどのように特定しても良い。例えば、自発性判定部154は、画像データのフレームに含まれる人物の大きさと、カメラ50から各距離までの人物の画像上の大きさを定義しテンプレートを用いて、カメラ50から人物までの距離を特定することで、人物の位置を推定する。自発性判定部154は、その他の従来技術を用いて、人物の位置を特定しても良い。
自発性判定部154が実行する「第3の自発性判定処理」について説明する。自発性判定部154は、第3の自発性判定処理を実行する場合に、図8に示した指領域変化確認データベース143cを参照して処理を行う。
自発性判定部154は、人物10bの指領域が閾値以上変化し、かつ、人物10aの視界に人物10bの指領域が含まれており、かつ、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と同じ場合に、人物10aは、視対象を自発的に見ていないと判定する。
一方、自発性判定部154は、人物10bの指領域の変化が閾値以上変化していない場合には、人物10aは視対象を自発的に見ていると判定する。また、自発性判定部154は、人物10bの指領域の変化が閾値以上変化している場合でも、人物10bの指領域が人物10aの視界に含まれていない場合には、人物10aは、視対象を自発的に見ていると判定する。また、自発性判定部154は、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と異なる場合に、人物10aは、視対象を自発的に見ていると判定する。
ここで、自発性判定部154が、人物の指領域の変化が閾値以上変化しているか否かを判定する処理の一例について説明する。自発性判定部154は、画像データベース141を参照して、人物の人物領域を特定し、更に、人物領域から指領域を抽出する。例えば、自発性判定部154は、人物領域の肌色領域を、指領域として抽出する。
自発性判定部154は、Lフレームの期間に指領域が閾値(pピクセル)以上移動した場合には、人物の指領域の変化が閾値以上であると判定する。自発性判定部154は、Lフレームの期間に指領域が閾値以上移動していない場合には、人物の指領域の変化が閾値以上でないと判定する。例えば、画像データのフレームが640×480ピクセルの場合には、閾値を95(480ピクセルの20%に相当)ピクセルとする。自発性判定部154は、判定結果を指領域変化確認データベース143cに登録する。
例えば、自発性判定部154は、時刻tn1〜tn3のフレーム期間に、人物の指領域が閾値以上増加した場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、指領域変化「yes」を登録する。自発性判定部154は、時刻tn1〜tn3のフレーム期間に、人物の指領域が閾値以上増加していない場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、指領域変化「no」を登録する。
自発性判定部154は、指領域変化確認データベース143cに情報を登録した後に、上記第3の自発性判定処理を実行する。なお、自発性判定部154が、人物10aの視界に、人物10bの指領域が含まれているか否かを判定する処理は、第2の自発性判定処理で説明した処理と同様である。
なお、自発性判定部154は、他の従来技術を用いて、指領域の変化が閾値以上か否かを判定しても良い。例えば、自発性判定部154は、特開2013−20311号公報に記載された技術を用いて、指領域を検出し、指領域の変化が閾値以上か否かを判定しても良い。
自発性判定部154が実行する「第4の自発性判定処理」について説明する。自発性判定部154は、第4の自発性判定処理を実行する場合に、図9に示した把持状態確認データベース143dを参照して処理を行う。
自発性判定部154は、人物10bの手の状態が把持状態であるか否かを判定する。そして、自発性判定部154は、人物10aの視界に人物10bの把持状態の手が含まれており、かつ、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と同じ場合に、人物10aは、視対象を自発的に見ていないと判定する。
一方、自発性判定部154は、人物10bの手の状態が把持状態でない場合には、人物10aは視対象を自発的に見ていると判定する。また、自発性判定部154は、人物10bの手の状態が把持状態であっても、人物10bの手の状態が人物10aの視界に含まれていない場合には、人物10aは、視対象を自発的に見ていると判定する。また、自発性判定部154は、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と異なる場合に、人物10aは、視対象を自発的に見ていると判定する。
ここで、自発性判定部154が、人物の手の状態が把持状態であるか否かを判定する処理の一例について説明する。自発性判定部154は、画像データベース141を参照して、人物の人物領域を特定し、更に、人物領域から手領域を抽出する。例えば、自発性判定部154は、人物領域の肌色領域を、手領域として抽出する。
自発性判定部154は、例えば、手領域と、把持状態の手のテンプレートとを比較して、手領域がテンプレートと一致する場合に、人物の手の状態が把持状態であると判定する。
例えば、自発性判定部154は、時刻tn3のフレームにおいて、人物の手領域が把持状態である場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、把持状態「yes」を登録する。自発性判定部154は、時刻tn3のフレームにおいて、人物の手領域が把持状態でない場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、把持状態「no」を登録する。
自発性判定部154は、把持状態確認データベース143dに情報を登録した後に、上記第4の自発性判定処理を実行する。なお、自発性判定部154が、人物10aの視界に、人物10bの把持状態が含まれているか否かを判定する処理は、第2の自発性判定処理で説明した処理と同様である。
自発性判定部154が実行する「第5の自発性判定処理」について説明する。自発性判定部154は、第5の自発性判定処理を実行する場合に、図10に示した顔向き変化確認データベース143eを参照して処理を行う。
自発性判定部154は、人物10bの顔の向きが変化したか否かを判定する。そして、自発性判定部154は、人物10aの視界に人物10bの顔が含まれており、かつ、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と同じ場合に、人物10aは、視対象を自発的に見ていないと判定する。
一方、自発性判定部154は、人物10bの顔の向きが変化していない場合には、人物10aは、視対象を自発的に見ていると判定する。また、自発性判定部154は、人物10bの顔の向きが変化している場合でも、人物10bの顔が人物10aの視界に含まれていない場合には、人物10aは、視対象を自発的に見ていると判定する。また、自発性判定部154は、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と異なる場合に、人物10aは、視対象を自発的に見ていると判定する。
ここで、自発性判定部154が、人物の顔の向きが変化したか否かを判定する処理の一例について説明する。自発性判定部154は、画像データベース141を参照して、人物の人物領域を特定し、更に、人物領域から顔領域および目領域を抽出する。例えば、自発性判定部154は、人物領域の肌色領域を、顔領域として抽出する。または、自発性判定部154は、人物の顔の構成を定義したテンプレートを用いて、人物領域から顔領域および目領域を抽出しても良い。また、自発性判定部154は、特開2012−187190号公報に記載された処理を用いて、顔領域および目領域を抽出しても良い。
自発性判定部154は、Pフレームの期間の顔領域の縦横比が第1閾値以上変化し、かつ、目領域の面積の割合が第2閾値以上減少する場合に、人物の顔の向きが変化したと判定する。例えば、自発性判定部154は、顔領域の縦横比が20%以上変化し、また、領域の面積の割合が20%以上減少した場合に、人物の顔の向きが変化したと判定する。一方、自発性判定部154は、Pフレームの期間の顔領域の縦横比が第1閾値以上変化しない場合、または、目領域の面積の割合が第2閾値以上減少しない場合に、人物の顔の向きが変化していないと判定する。自発性判定部154は、判定結果を顔向き変化確認データベース143eに登録する。
例えば、自発性判定部154は、時刻tn1〜tn3のフレーム期間に、人物の顔領域の縦横比が第1閾値以上変化し、かつ、目領域の面積の割合が第2閾値以上減少した場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、顔向き変化「yes」を登録する。時刻tn1〜tn3のフレーム期間に、人物の顔領域の縦横比が第1閾値以上変化していない場合、または、自発性判定部154は、目領域の面積の割合が第2閾値以上減少していない場合には、該当の人物IDのテーブルについて、時刻「tn3」のレコードに、顔向き変化「no」を登録する。
自発性判定部154は、顔向き変化確認データベース143eに情報を登録した後に、上記第5の自発性判定処理を実行する。なお、自発性判定部154が、人物10aの視界に、人物10bの顔が含まれているか否かを判定する処理は、第2の自発性判定処理で説明した処理と同様である。
自発性判定部154が実行する「第6の自発性判定処理」について説明する。自発性判定部154は、第6の自発性判定処理を実行する場合に、図11に示した口の動き状態確認データベース143fを参照して処理を行う。
自発性判定部154は、人物10aと人物10bとの距離が閾値以下であり、人物10aの口と人物10bとの口が交互に開くという条件を満たすか否かを判定する。そして、自発性判定部154は、かかる条件を満たし、かつ、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と同じ場合に、人物10aは、視対象を自発的に見ていないと判定する。
自発性判定部154は、人物10aと人物10bとの距離が閾値以下であり、人物10aの口と人物10bとの口が交互に開くという条件を満たさない場合には、人物10aは、視対象を自発的に見ていると判定する。また、自発性判定部154は、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と異なる場合に、人物10aは、視対象を自発的に見ていると判定する。
ここで、自発性判定部154が、人物と他の人物との距離が閾値以下であるか否かを判定する処理の一例について説明する。自発性判定部154は、例えば、上記の第2の自発性判定処理と同様にして、各人物の位置を推定し、各人物間の距離が閾値以下であるか否かを判定する。自発性判定部154は、上記処理を各フレームで実行することで、図11に示すテーブル25a,25bに距離の情報を登録していく。人物の距離は、他の人物との距離のうち、最小となる距離でよい。
自発性判定部154が、人物の口と他の人物の口とが交互に開いたか否かを判定する処理の一例について説明する。自発性判定部154は、画像データベース141を参照して、人物の人物領域を特定し、更に、人物領域から顔領域を抽出する。例えば、自発性判定部154は、人物領域の肌色領域と、顔領域とを特定し、顔領域から口領域を抽出する。
自発性判定部154は、各フレーム前後における口領域の重心間距離および口領域の上下方向の変化量を算出し、この変化量が閾値以上である場合に、口が開いていると判定する。また、自発性判定部154は、変化量が閾値未満である場合には、口が閉じていると判定する。自発性判定部154は、上記処理を各フレームで実行することで、図11に示すテーブル25a,25bの口の状態を登録していく。
自発性判定部154は、口の動き状態確認データベース143fの各レコードを走査して、人物10aの口の状態と、人物10bの口の状態とを比較し、人物10aの口と人物10bとの口とが交互に開いたか否かを判定する。例えば、自発性判定部154は、同じ時刻において、一方の人物の口の状態が「開」となり、他方の人物の口の状態が「閉」となる場合に、口が交互に開いたと判定しても良い。
自発性判定部154が実行する「第7の自発性判定処理」について説明する。自発性判定部154は、第7の自発性判定処理を実行する場合に、図12に示した視線の動き状態確認データベース143gを参照して処理を行う。
自発性判定部154は、人物10bの視線を検出可能で、人物10aの視界に人物10bが含まれており、かつ、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と同じ場合に、人物10aは、視対象を自発的に見ていないと判定する。
一方、自発性判定部154は、人物10bの視線を検出可能でない場合には、人物10aは自発的に視対象を見ていると判定する。自発性判定部154は、人物10aの視界に人物10bが含まれていない場合には、人物10aは自発的に視対象を見ていると判定する。また、自発性判定部154は、現在の人物10aの視対象が、所定時間前から現在までの人物10bの視対象と異なる場合に、人物10aは、視対象を自発的に見ていると判定する。
ここで、自発性判定部154が、人物の視線を検出可能か否かを判定する処理の一例について説明する。自発性判定部154が視線を検出する処理は、上記の視線検出部153と同様の処理を実行して、人物の視線を検出可能か否かを判定する。
例えば、自発性判定部154は、時刻tn1のフレームにおいて、人物の視線を検出可能である場合には、該当の人物IDのテーブルについて、時刻「tn1」のレコードに、視線検出「yes」を登録する。時刻tn1のフレームにおいて、人物の視線を検出可能でない場合には、該当の人物IDのテーブルについて、時刻「tn1」のレコードに、視線検出「no」を登録する。
自発性判定部154は、視線の動き状態確認データベース143gに情報を登録した後に、上記第7の自発性判定処理を実行する。なお、自発性判定部154が、人物10aの視界に、人物10bの顔が含まれているか否かを判定する処理は、第2の自発性判定処理で説明した処理と同様である。
自発性判定部154は、上述した第1〜第7の自発性判定処理の何れか一つまたは複数を実行する。自発性判定部154は、各自発性判定処理の判定結果を集計し、「自発性あり」、「自発性なし」の多数決によって、最終的に、人物が自発的に視対象を見たのか否かを判定する。自発性判定部154は、各フレームについて、自発性のありなしを判定し、判定結果を、判定結果データベース144に登録する。
例えば、自発性判定部154は、時刻t1において、人物ID「1aaa」の人物が視対象商品「商品α」を自発的に見ていると判定した場合には、図13の1行目のレコードに示すような情報を登録し、自発性フラグを「オン」に設定する。
次に、本実施例にかかる関心度判定装置100の処理手順について説明する。図15および図16は、本実施例にかかる関心度判定装置の処理手順を示すフローチャートである。図15に示すように、関心度判定装置100の取得部151は、カメラから画像データを取得する(ステップS101)。関心度判定装置100の人物検出部152は、画像データから人物を検出する(ステップS102)。
人物検出部152は、検出した人物が複数であるか否かを判定する(ステップS103)。人物検出部152は、検出した人物が複数でない場合には(ステップS103,No)、画像データベース141の単数フラグをオンに設定し(ステップS104)、ステップS106に移行する。
一方、人物検出部152は、検出した人物が複数である場合には(ステップS103,Yes)、画像データベース141の複数フラグをオンに設定する(ステップS105)。人物検出部152は、前フレームの人物IDと、現フレームの人物IDとを対応付ける(ステップS106)。
人物検出部152は、対応しない人物IDが存在するか否かを判定する(ステップS107)。人物検出部152は、対応しない人物IDが存在しない場合には(ステップS107,No)、図16のステップS109に移行する。
人物検出部152は、対応しない人物IDが存在する場合には(ステップS107,Yes)、新規に人物IDを生成し(ステップS108)、図16のステップS109に移行する。
図16の説明に移行する。関心度判定装置100の視線検出部153は、人物の視線を検出する(ステップS109)。視線検出部153は、視線検出に成功したか否かを判定する(ステップS110)。視線検出部153は、視線検出に失敗した場合には(ステップS110,No)、ステップS113に移行する。
視線検出部153は、視線検出に成功した場合には(ステップS110,Yes)、視線検出に成功した人物IDの成功フラグをオンに設定する(ステップS111)。視線検出部153は、視線位置と視線対象位置データベースとを基にして、視対象を特定する(ステップS112)。
関心度判定装置100の自発性判定部154は、画像データベース141を参照し、複数フラグおよび成功フラグがオンであるか否かを判定する(ステップS113)。自発性判定部154は、複数フラグおよび成功フラグがオンである場合には(ステップS113,Yes)、ステップS116に移行する。一方、自発性判定部154は、複数フラグがオフまたは成功フラグがオフである場合には(ステップS113,No)、ステップS114に移行する。
ステップS114について説明する。自発性判定部154は、成功フラグがオンであるか否かを判定する(ステップS114)。自発性判定部154は、成功フラグがオンである場合には(ステップS114,Yes)、自発性有りと判定し(ステップS115)、ステップS117に移行する。
自発性判定部154は、成功フラグがオフである場合には(ステップS114,No)、処理を終了する。
ステップS116について説明する。自発性判定部154は、自発性判定処理を実行する(ステップS116)。自発性判定部154は、自発性ありか否かを判定する(ステップS117)。自発性判定部154は、自発性ありの場合には(ステップS117,Yes)、自発性フラグをオンに設定する(ステップS118)。自発性判定部154は、自発性なしの場合には(ステップS117,No)、自発性フラグをオフに設定する(ステップS119)。
続いて、図16のステップS116に示した自発性判定処理の処理手順について説明する。以下では、自発性判定処理として、第1の自発性判定処理〜第7の自発性判定処理について順に説明する。
図17は、第1の自発性判定処理の処理手順を示すフローチャートである。図17に示すように、自発性判定部154は、画像データから各人物の人物領域を抽出する(ステップS201)。自発性判定部154は、各人物の人物領域の面積の変化量を算出する(ステップS202)。
自発性判定部154は、Nフレームの期間に人物の人物領域が閾値以上増加していない場合には(ステップS203,No)、人物が近づく方向に移動していないと判定し(ステップS204)、ステップS206に移行する。
一方、自発性判定部154は、Nフレームの期間に人物の人物領域が閾値以上増した場合には(ステップS203,Yes)、人物が近づく方向に移動していると判定する(ステップS205)。
自発性判定部154は、人物移動状態確認データベース143aに判定結果を保存する(ステップS206)。自発性判定部154は、相手が近づく方向に移動していない場合には(ステップS207,No)、自発性であると判定する(ステップS208)。
自発性判定部154は、相手が近づく方向に移動している場合には(ステップS207,Yes)、相手の視線が現在の視対象に以前から存在しているか否かを判定する(ステップS209)。自発性判定部154は、相手の視線が現在の視対象に以前から存在している場合には(ステップS209,Yes)、自発性でないと判定する(ステップS210)。
自発性判定部154は、相手の視線が現在の視対象に以前から存在していない場合には(ステップS209,No)、ステップS208に移行する。
図18は、第2の自発性判定処理の処理手順を示すフローチャートである。図18に示すように、自発性判定部154は、画像データから各人物の人物領域を抽出する(ステップS301)。自発性判定部154は、各人物の手領域を抽出する(ステップS302)。
自発性判定部154は、Kフレームの期間に手領域が閾値以上移動していない場合には(ステップS303,No)、ジェスチャが小さいと判定し(ステップS304)、ステップS306に移行する。
一方、自発性判定部154は、Kフレームの期間に手領域が閾値以上移動した場合には(ステップS303,Yes)、ジェスチャが大きいと判定する(ステップS305)。自発性判定部154は、ジェスチャ確認データベース143bに判定結果を保存する(ステップS306)。
自発性判定部154は、相手のジェスチャが大きくない場合には(ステップS307,No)、自発性であると判定する(ステップS308)。
一方、自発性判定部154は、相手のジェスチャが大きい場合には(ステップS307,Yes)、相手のジェスチャが視界に入っているか否かを判定する(ステップS309)。自発性判定部154は、相手のジェスチャが視界に入っていない場合には(ステップS309,No)、ステップS308に移行する。
一方、自発性判定部154は、相手のジェスチャが視界に入っている場合には(ステップS309,Yes)、相手の視線が現在の視対象に以前から存在しているか否かを判定する(ステップS310)。自発性判定部154は、相手の視線が現在の視対象に以前から存在している場合には(ステップS310,Yes)、自発性でないと判定する(ステップS311)。
自発性判定部154は、相手の視線が現在の視対象に以前から存在していない場合には(ステップS310,No)、ステップS308に移行する。
図19は、第3の自発性判定処理の処理手順を示すフローチャートである。図19に示すように、自発性判定部154は、画像データから各人物の人物領域を抽出する(ステップS401)。自発性判定部154は、各人物の手領域を抽出する(ステップS402)。
自発性判定部154は、Lフレームの期間に手領域が閾値以上移動していない場合には(ステップS403,No)、指領域変化なしと判定し(ステップS404)、ステップS406に移行する。
一方、自発性判定部154は、Lフレームの期間に手領域が閾値以上移動している場合には(ステップS403,Yes)、指領域変化ありと判定する(ステップS405)。自発性判定部154は、指領域変化確認データベース143cに判定結果を保存する(ステップS406)。
自発性判定部154は、相手の指領域の変化が閾値以上でない場合には(ステップS407,No)、自発性であると判定する(ステップS408)。
自発性判定部154は、相手の指領域の変化が閾値以上である場合には(ステップS407,Yes)、相手の指領域が視界に入っているか否かを判定する(ステップS409)。自発性判定部154は、相手の指領域が視界に入っている場合には(ステップS409,Yes)、相手の視線が現在の視対象に以前から存在しているか否かを判定する(ステップS410)。自発性判定部154は、相手の視線が現在の視対象に以前から存在している場合には(ステップS410,Yes)、自発性でないと判定する(ステップS411)。
自発性判定部154は、相手の視線が現在の視対象に以前から存在していない場合には(ステップS410,No)、ステップS408に移行する。なお、相手の指領域が視界に入っていない場合には(ステップS409,No)、ステップS408に移行する。
図20は、第4の自発性判定処理の処理手順を示すフローチャートである。図20に示すように、自発性判定部154は、画像データから各人物の人物領域を抽出する(ステップS501)。自発性判定部154は、各人物の手領域を抽出する(ステップS502)。
自発性判定部154は、握っている手の状態を検出していない場合には(ステップS503,No)、把持状態なしと判定し(ステップS504)、ステップS506に移行する。
自発性判定部154は、握っている手の状態を検出した場合には(ステップS503,Yes)、把持状態ありと判定する(ステップS505)。自発性判定部154は、把持状態確認データベース143dに判定結果を保存する(ステップS506)。
自発性判定部154は、相手が把持状態でない場合には(ステップS507,No)、自発性であると判定する(ステップS508)。
一方、自発性判定部154は、相手が把持状態である場合には(ステップS507,Yes)、相手の把持状態が視界に入っているか否かを判定する(ステップS509)。自発性判定部154は、相手の把持状態が視界に入っていない場合には(ステップS509,No)、ステップS508に移行する。
一方、自発性判定部154は、相手の把持状態が視界に入っている場合には(ステップS509,Yes)、相手の視線が現在の視対象に以前から存在しているか否かを判定する(ステップS510)。自発性判定部154は、相手の視線が現在の視対象に以前から存在している場合には(ステップS510,Yes)、自発性でないと判定する(ステップS511)。
自発性判定部154は、相手の視線が現在の視対象に以前から存在していない場合には(ステップS510,No)、ステップS508に移行する。
図21は、第5の自発性判定処理の処理手順を示すフローチャートである。図21に示すように、自発性判定部154は、画像データから各人物の人物領域を抽出する(ステップS601)。自発性判定部154は、各人物の顔領域を抽出し(ステップS602)、各人物の目領域を抽出する(ステップS603)。
自発性判定部154は、Pフレームの期間に顔領域の縦横比と目領域の面積の割合が閾値以上減少していない場合には(ステップS604,No)、顔向き変化なしと判定し(ステップS605)、ステップS607に移行する。
自発性判定部154は、Pフレームの期間に顔領域の縦横比と目領域の面積の割合が閾値以上減少した場合には(ステップS604,Yes)、顔向き変化ありと判定する(ステップS606)。自発性判定部154は、顔向き変化確認データベース143eに判定結果を保存する(ステップS607)。
自発性判定部154は、相手の顔向きに変化がない場合には(ステップS608,No)、自発性であると判定する(ステップS609)。
自発性判定部154は、相手の顔向きに変化がある場合には(ステップS608,Yes)、相手の顔向きが視界に入っているか否かを判定する(ステップS610)。自発性判定部154は、相手の顔向きが視界に入っていない場合には(ステップS610,No)、ステップS609に移行する。
一方、自発性判定部154は、相手の顔向きが視界に入っている場合には(ステップS610,Yes)、相手の視線が現在の視対象に以前から存在しているか否かを判定する(ステップS611)。自発性判定部154は、相手の視線が現在の視対象に以前から存在している場合には(ステップS611,Yes)、自発性でないと判定する(ステップS612)。
自発性判定部154は、相手の視線が現在の視対象に以前から存在していない場合には(ステップS611,No)、ステップS609に移行する。
図22は、第6の自発性判定処理の処理手順を示すフローチャートである。図22に示すように、自発性判定部154は、各人物の顔領域から口領域を検出し(ステップS701)、各人物の口領域の重心間距離を算出する(ステップS702)。
自発性判定部154は、各人物の口領域の上下方向の変化を算出する(ステップS703)。自発性判定部154は、変化量が閾値以上でない場合には(ステップS704,No)、口が閉じていると判定し(ステップS705)、ステップS707に移行する。
一方、自発性判定部154は、変化量が閾値以上である場合には(ステップS704,Yes)、口が開いていると判定し(ステップS706)、口の動き状態確認データベース143fに判定結果を保存する(ステップS707)。
自発性判定部154は、相手との距離が閾値以下でない場合には(ステップS708,No)、自発性であると判定する(ステップS709)。
一方、自発性判定部154は、相手との距離が閾値以下である場合には(ステップS708,Yes)、交互に口を開いたか否かを判定する(ステップS710)。自発性判定部154は、交互に口を開いていない場合には(ステップS710,No)、ステップS709に移行する。
自発性判定部154は、交互に口を開いた場合には(ステップS710,Yes)、相手の視線が現在の視対象に以前から存在しているか否かを判定する(ステップS711)。自発性判定部154は、相手の視線が現在の視対象に以前から存在している場合には(ステップS711,Yes)、自発性でないと判定する(ステップS712)。
自発性判定部154は、相手の視線が現在の視対象に以前から存在していない場合には(ステップS711,No)、ステップS709に移行する。
図23は、第7の自発性判定処理の処理手順を示すフローチャートである。図23に示すように、自発性判定部154は、各人物の顔領域を抽出し(ステップS801)、各人物の視線検出が可能であるか否かを判定する(ステップS802)。
自発性判定部154は、各人物の視線検出が可能でない場合には(ステップS802,No)、視線検出不可と判定し(ステップS803)、ステップS805に移行する。
一方、自発性判定部154は、各人物の視線検出が可能である場合には(ステップS802,Yes)、視線検出可能と判定する(ステップS804)。自発性判定部154は、視線の動き状態確認データベース143gに判定結果を保存する(ステップS805)。
自発性判定部154は、相手が視線範囲内でない場合には(ステップS806,No)、自発性であると判定する(ステップS807)。
一方、自発性判定部154は、相手が視線範囲内である場合には(ステップS806,Yes)、相手の視線が現在の視対象に以前から存在しているか否かを判定する(ステップS808)。自発性判定部154は、相手の視線が現在の視対象に以前から存在している場合には(ステップS808,Yes)、自発性でないと判定する(ステップS809)。
自発性判定部154は、相手の視線が現在の視対象に以前から存在していない場合には(ステップS808,No)、ステップS807に移行する。
次に、本実施例にかかる関心度判定装置100の効果について説明する。関心度判定装置100は、人物の周辺に他の人物が存在する場合に、人物の視線位置が他の人物の影響を受けた視線位置であるか否かを判定し、判定結果と人物の視線位置とを対応付けて記憶する。このため、関心度判定装置100によれば、人物の視線位置が自発的なものであるか否かを区別することが可能となる。すなわち、ある対象物に向けられた関心が、他の者の影響で向けられた関心か否かを区別することができる。
関心度判定装置100は、複数フレームの画像情報を基にして、例えば、他の人物が商品の方向に移動した場合に、人物の視線位置が、他の人物に影響を受けた視線位置であると判定する。例えば、相手の人物の移動につられて、視線位置を移動させる場合があるため、他の人物の移動方向を用いて、人物の視線位置が自発的なものであるか否かを区別することが可能となる。
関心度判定装置100は、複数フレームの画像情報を基にして、他の人物のジェスチャが大きく、このジェスチャが人物の視界に入っている場合に、人物の視線位置が、他の人物に影響を受けた視線位置であると判定する。相手のジェスチャにつられて、視線位置を移動させる場合があるため、他の人物のジェスチャを用いることで、人物の視線位置が自発的なものであるか否かを区別することが可能となる。
関心度判定装置100は、複数フレームの画像情報を基にして、他の人物の指が変化し、かつ、この指が人物の視界に入っている場合に、人物の視線位置が、他の人物の影響を受けた視線位置であると判定する。相手の指さしなどにつられて、視線位置を移動させる場合があるため、他の人物の指変化を用いることで、人物の視線位置が自発的なものであるか否かを区別することが可能となる。
関心度判定装置100は、画像情報を基にして、他の手領域の形状が把持状態等の所定の形状であり、かつ、人物の視界に他の人物の手領域が含まれる場合に、人物の視線位置が、他の人物の影響を受けた視線位置であると判定する。例えば、他の人物が商品などをつかんだ場合に、かかる商品に人物の視線位置が移動する場合があるため、他の人物の手の形状が所定の形状であるか否かを用いることで、人物の視線位置が自発的なものであるか否かを区別することが可能となる。
関心度判定装置100は、複数フレームの画像情報を基にして、他の人物の顔の向きが変化し、かつ、人物の視界に他の人物の顔領域が含まれる場合に、人物の視線位置が、他の人物の影響を受けた視線位置であると判定する。たとえば、他の人物の顔の向きが変化すると、他の人物が人物に話しかけ、人物の視線位置が他の人物に影響を受ける場合があるため、他の人物の顔の向きの変化を用いることで、人物の視線位置が自発的なものであるか否かを区別することが可能となる。
関心度判定装置100は、複数フレームの画像情報に含まれる人物の口領域と、他の人物の口領域とを基にして、人物の口と他の人物の口とが交互に開いた場合に、人物の視線位置が、他の人物の影響を受けた視線位置であると判定する。例えば、人物の他の人物との口が交互に開いた場合には、互いに会話をした可能性があり、この会話により、人物の視線位置が影響を受ける場合がある。このため、口領域を用いることで、人物の視線位置が自発的なものであるか否かを区別することが可能となる。また、画像処理で、会話をしたか否かを推定するため、マイク等の必要性をなくし、コストを削減することもできる。
関心度判定装置100は、他の人物の視線位置を更に検出し、他の人物の視線位置を含む所定範囲内に、人物の視線位置が含まれる場合に、人物の視線位置が、他の人物の影響を受けた視線位置であると判定することを特徴とする。他の人物の視線位置につられて、人物の視線位置が移動する場合があるため、他の人物の視線位置を用いることで、人物の視線位置が自発的なものであるか否かを区別することが可能となる。
次に、上記実施例に示した関心度判定装置100と同様の機能を実現する関心度判定プログラムを実行するコンピュータの一例について説明する。図24は、関心度判定プログラムを実行するコンピュータの一例を示す図である。
図24に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201〜207は、バス208に接続される。
ハードディスク装置208は、視線検出プログラム207aおよび判定プログラム207bを有する。CPU201は、視線検出プログラム207aおよび判定プログラム207bを読み出してRAM206に展開する。視線検出プログラム207aは、視線検出プロセス206aとして機能する。判定プログラム207bは、判定プロセス206bとして機能する。例えば、視線検出プロセス206aの処理は、視線検出部153の処理に対応する。判定プロセス206bの処理は、自発性判定部154の処理に対応する。
なお、視線検出プログラム207aおよび判定プログラム207bについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が視線検出プログラム207aおよび判定プログラム207bを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)画像情報を基にして、複数の利用者に含まれる第1の利用者の視線位置を検出する視線検出部と、
前記第1の利用者の周辺に前記第1の利用者以外の第2の利用者が存在する場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であるか否かを判定する判定部と、
前記判定部の判定結果と、前記第1の利用者の視線位置とを対応付けて記憶する記憶部と、
を有することを特徴とする関心度判定装置。
(付記2)前記判定部は、複数フレームの画像情報を基にして、前記第2の利用者の領域が閾値以上増加した場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記1に記載の関心度判定装置。
(付記3)前記判定部は、複数フレームの画像情報を基にして、前記第2の利用者の手領域が閾値以上移動し、かつ、前記第1の利用者の視界に前記第2の利用者の手領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記1に記載の関心度判定装置。
(付記4)前記判定部は、複数フレームの画像情報を基にして、前記第2の利用者の手領域が閾値以上変化し、かつ、前記第1の利用者の視界に前記第2の利用者の手領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記1に記載の関心度判定装置。
(付記5)前記判定部は、画像情報を基にして、前記第2の利用者の手領域の形状が所定の形状であり、かつ、前記第1の利用者の視界に前記第2の利用者の手領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記1に記載の関心度判定装置。
(付記6)前記判定部は、複数フレームの画像情報を基にして、前記第2の利用者の顔領域の縦横比が閾値以上減少し、かつ、前記第2の利用者の目領域が閾値以上減少し、かつ、前記第1の利用者の視界に前記第2の利用者の顔領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記1に記載の関心度判定装置。
(付記7)前記判定部は、複数フレームの画像情報に含まれる前記第1の利用者の口領域と、前記第2の利用者の口領域とを基にして、前記第1の利用者の口と前記第2の利用者の口とが交互に開いた場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記1に記載の関心度判定装置。
(付記8)前記視線検出部は、前記第2の利用者の視線位置を更に検出し、前記判定部は、前記第2の利用者の視線位置を含む所定範囲内に、前記第1の利用者の視線位置が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記1に記載の関心度判定装置。
(付記9)コンピュータが実行する関心度判定方法であって、
画像情報を基にして、複数の利用者に含まれる第1の利用者の視線位置を検出し、
前記第1の利用者の周辺に前記第1の利用者以外の第2の利用者が存在する場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であるか否かを判定し、
判定した判定結果と、前記第1の利用者の視線位置とを対応付けて記憶装置に記憶する
処理を実行することを特徴とする関心度判定方法。
(付記10)前記判定する処理は、複数フレームの画像情報を基にして、前記第2の利用者の領域が閾値以上増加した場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記9に記載の関心度判定方法。
(付記11)前記判定する処理は、複数フレームの画像情報を基にして、前記第2の利用者の手領域が閾値以上移動し、かつ、前記第1の利用者の視界に前記第2の利用者の手領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記9に記載の関心度判定方法。
(付記12)前記判定する処理は、複数フレームの画像情報を基にして、前記第2の利用者の手領域が閾値以上変化し、かつ、前記第1の利用者の視界に前記第2の利用者の手領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記9に記載の関心度判定方法。
(付記13)前記判定する処理は、画像情報を基にして、前記第2の利用者の手領域の形状が所定の形状であり、かつ、前記第1の利用者の視界に前記第2の利用者の手領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記9に記載の関心度判定方法。
(付記14)前記判定する処理は、複数フレームの画像情報を基にして、前記第2の利用者の顔領域の縦横比が閾値以上減少し、かつ、前記第2の利用者の目領域が閾値以上減少し、かつ、前記第1の利用者の視界に前記第2の利用者の顔領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記9に記載の関心度判定方法。
(付記15)前記判定する処理は、複数フレームの画像情報に含まれる前記第1の利用者の口領域と、前記第2の利用者の口領域とを基にして、前記第1の利用者の口と前記第2の利用者の口とが交互に開いた場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記9に記載の関心度判定方法。
(付記16)前記視線を検出する処理は、前記第2の利用者の視線位置を更に検出し、前記判定する処理は、前記第2の利用者の視線位置を含む所定範囲内に、前記第1の利用者の視線位置が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記9に記載の関心度判定方法。
(付記17)コンピュータに、
画像情報を基にして、複数の利用者に含まれる第1の利用者の視線位置を検出し、
前記第1の利用者の周辺に前記第1の利用者以外の第2の利用者が存在する場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であるか否かを判定し、
判定した判定結果と、前記第1の利用者の視線位置とを対応付けて記憶装置に記憶する
処理を実行させることを特徴とする関心度判定プログラム。
(付記18)前記判定する処理は、複数フレームの画像情報を基にして、前記第2の利用者の領域が閾値以上増加した場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記17に記載の関心度判定プログラム。
(付記19)前記判定する処理は、複数フレームの画像情報を基にして、前記第2の利用者の手領域が閾値以上移動し、かつ、前記第1の利用者の視界に前記第2の利用者の手領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記17に記載の関心度判定プログラム。
(付記20)前記判定する処理は、複数フレームの画像情報を基にして、前記第2の利用者の手領域が閾値以上変化し、かつ、前記第1の利用者の視界に前記第2の利用者の手領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記17に記載の関心度判定プログラム。
(付記21)前記判定する処理は、画像情報を基にして、前記第2の利用者の手領域の形状が所定の形状であり、かつ、前記第1の利用者の視界に前記第2の利用者の手領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記17に記載の関心度判定プログラム。
(付記22)前記判定する処理は、複数フレームの画像情報を基にして、前記第2の利用者の顔領域の縦横比が閾値以上減少し、かつ、前記第2の利用者の目領域が閾値以上減少し、かつ、前記第1の利用者の視界に前記第2の利用者の顔領域が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記17に記載の関心度判定プログラム。
(付記23)前記判定する処理は、複数フレームの画像情報に含まれる前記第1の利用者の口領域と、前記第2の利用者の口領域とを基にして、前記第1の利用者の口と前記第2の利用者の口とが交互に開いた場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記17に記載の関心度判定プログラム。
(付記24)前記視線を検出する処理は、前記第2の利用者の視線位置を更に検出し、前記判定する処理は、前記第2の利用者の視線位置を含む所定範囲内に、前記第1の利用者の視線位置が含まれる場合に、前記第1の利用者の視線位置が、前記第2の利用者の影響を受けた視線位置であると判定することを特徴とする付記17に記載の関心度判定プログラム。