説明

注視位置推定システム、注視位置推定システムの制御方法、注視位置推定装置、注視位置推定装置の制御方法、プログラム、及び情報記憶媒体

【課題】虹彩中心位置を検出したり、眼球中心の投影位置を推定したりすることなく、ユーザの注視位置を推定することが可能な注視位置推定システムを提供すること。
【解決手段】撮影部17は、表示手段に表示される画面を見るユーザの顔を撮影する。領域検出部32は、ユーザの顔領域と、ユーザの目以外の所定部位領域と、の少なくとも一方と、ユーザの目領域と、を撮影部17の撮影画像から検出する。面積/位置情報取得部60は、目領域の面積情報及び位置情報と、顔領域と所定部位領域との少なくとも一方の面積情報及び位置情報と、を取得する。注視位置推定部62は、面積/位置情報取得部60によって取得された面積情報及び位置情報に基づいて、ユーザが注視している画面内の位置を推定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は注視位置推定システム、注視位置推定システムの制御方法、注視位置推定装置、注視位置推定装置の制御方法、プログラム、及び情報記憶媒体に関する。
【背景技術】
【0002】
一つのカメラによって撮影されたユーザの顔の画像に基づいて、ユーザが注視している位置を推定する技術が提案されている。例えば、特許文献1には、一つのカメラによって撮影された画像からユーザの虹彩中心位置を検出し、さらに、該画像からユーザの眼球中心の投影位置を推定し、それらの虹彩中心位置と眼球中心の投影位置とに基づいてユーザの視線方向を推定することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−90702号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載された技術では、ユーザの虹彩中心位置を検出したり、ユーザの眼球中心の投影位置を推定したりする必要がある。虹彩中心位置を検出したり、眼球中心の投影位置を推定したりするためには処理負荷の重い処理を実行する必要があるため、ユーザの注視位置を推定するための処理の処理負荷が重くなってしまう場合がある。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、虹彩中心位置を検出したり、眼球中心の投影位置を推定したりすることなく、ユーザの注視位置を推定することが可能な注視位置推定システム、注視位置推定システムの制御方法、注視位置推定装置、注視位置推定装置の制御方法、プログラム、及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る注視位置推定システムは、表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段と、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、を前記撮影手段の撮影画像から検出する領域検出手段と、前記目領域の面積情報及び位置情報と、前記顔領域と前記所定部位領域との前記少なくとも一方の面積情報及び位置情報と、を取得する面積/位置情報取得手段と、前記面積/位置情報取得手段によって取得された面積情報及び位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定手段と、を含むことを特徴とする。
【0007】
また、本発明に係る注視位置推定システムの制御方法は、表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像を取得するステップと、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、を前記撮影画像から検出する領域検出ステップと、前記目領域の面積情報及び位置情報と、前記顔領域と前記所定部位領域との前記少なくとも一方の面積情報及び位置情報と、を取得する面積/位置情報取得ステップと、前記面積/位置情報取得ステップにおいて取得された面積情報及び位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定ステップと、を含むことを特徴とする。
【0008】
また、本発明に係る注視位置推定装置は、表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像から検出された、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、の面積情報及び位置情報を取得する手段と、前記面積情報及び前記位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定手段と、を含むことを特徴とする。
【0009】
また、本発明に係る注視位置推定装置の制御方法は、表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像から検出された、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、の面積情報及び位置情報を取得するステップと、前記面積情報及び前記位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定ステップと、を含むことを特徴とする。
【0010】
また、本発明に係るプログラムは、表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像から検出された、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、の面積情報及び位置情報を取得する手段、及び、前記面積情報及び前記位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定手段、としてコンピュータを機能させるためのプログラムである。
【0011】
また、本発明に係る情報記憶媒体は、表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像から検出された、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、の面積情報及び位置情報を取得する手段、及び、前記面積情報及び前記位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定手段、としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0012】
また、本発明の一態様では、前記ユーザが前記画面内の基準位置を見ている場合における前記目領域の面積情報及び位置情報に基づいて前記目領域の基準面積情報及び基準位置情報を取得し、かつ、前記ユーザが前記画面内の前記基準位置を見ている場合における前記顔領域と前記所定部位領域との前記少なくとも一方の面積情報及び位置情報に基づいて、前記顔領域と前記所定部位領域との前記少なくとも一方の基準面積情報及び基準位置情報を取得する基準面積/位置情報取得手段を含み、前記注視位置推定手段は、前記面積/位置情報取得手段によって取得された面積情報及び位置情報と、前記基準面積/位置情報取得手段によって取得された基準面積情報及び基準位置情報と、の差に基づいて、前記ユーザが注視している前記画面内の位置を推定するようにしてもよい。
【0013】
また、本発明の一態様では、前記面積/位置情報取得手段によって取得された面積情報及び位置情報と、前記基準面積/位置情報取得手段によって取得された基準面積情報及び基準位置情報と、の差の移動平均を算出する手段を含み、前記注視位置推定手段は、前記移動平均に基づいて、前記ユーザが注視している前記画面内の位置を推定するようにしてもよい。
【0014】
また、本発明の一態様では、前記領域検出手段によるいずれかの領域の検出が失敗したか否かを判定する手段と、前記領域検出手段によるいずれかの領域の検出が失敗した場合に、前記注視位置推定手段による推定の実行を抑止する手段と、を含むようにしてもよい。
【0015】
また、本発明の一態様では、前記ユーザが注視していると前記注視位置推定手段によって推定された前記画面内の位置を示す画像を前記画面内に表示させる手段を含むようにしてもよい。
【0016】
また、本発明の一態様では、情報処理装置を含み、前記情報処理装置は、前記領域検出手段、前記面積/位置情報取得手段、及び前記注視位置推定手段を含み、前記撮影手段は、前記ユーザの顔を第1の所定時間ごとに撮影し、前記撮影手段によって撮影された、前記第1の所定時間ごとの撮影画像のうちの、前記第1の所定時間よりも長い第2の所定時間ごとの撮影画像が、前記領域検出手段による検出の対象とされ、前記注視位置推定システムは、前記情報処理装置の処理能力に関する情報に基づいて、前記第2の所定時間を設定する設定手段を含むようにしてもよい。
【0017】
また、本発明の一態様では、情報処理装置を含み、前記情報処理装置は、前記領域検出手段、前記面積/位置情報取得手段、及び前記注視位置推定手段を含み、前記注視位置推定手段は、前記面積/位置情報取得手段による直近の所定数の取得結果に基づいて、前記面積/位置情報取得手段によって取得された面積情報及び位置情報と、前記基準面積/位置情報取得手段によって取得された基準面積情報及び基準位置情報と、の差の移動平均を算出し、前記注視位置推定システムは、前記情報処理装置の処理能力に関する情報に基づいて、前記所定数を設定する設定手段を含むようにしてもよい。
【0018】
また、本発明の一態様では、前記注視位置推定手段は、前記面積/位置情報取得手段によって取得された面積情報及び位置情報に基づき、1又は複数の演算式に従って演算を実行することによって、前記ユーザが注視している前記画面内の位置を推定し、前記注視位置推定システムは、前記ユーザによって指示された前記画面内の位置を取得する指示位置取得手段と、前記ユーザによって指示された前記画面内の位置と、該位置が前記ユーザによって指示された際における、前記目領域の面積情報及び位置情報と、前記顔領と前記所定部位領域との少なくとも一方の面積情報及び位置情報と、に基づいて、前記1又は複数の演算式に含まれる定数又は/及び係数を補正する補正手段と、を含むようにしてもよい。
【0019】
また、本発明の一態様では、前記領域検出手段は、前記ユーザの顔領域と、前記ユーザの両目領域と、前記ユーザの左目領域と、前記ユーザの右目領域と、前記ユーザの鼻領域と、前記ユーザの口領域と、を前記撮影画像から検出し、前記面積/位置情報取得手段は、前記顔領域と、前記両目領域と、前記左目領域と、前記右目領域と、前記鼻領域と、前記口領域との各々の面積情報及び位置情報を取得するようにしてもよい。
【0020】
また、本発明の一態様では、前記撮影手段と接続された情報処理装置と、前記情報処理装置と通信可能なサーバ装置と、を含み、前記情報処理装置は、前記撮影画像を前記サーバに送信する手段を含み、前記サーバ装置は、前記領域検出手段、前記面積/位置情報取得手段、及び前記注視位置推定手段を含むようにしてもよい。
【0021】
また、本発明の一態様では、前記撮影手段と接続された情報処理装置と、前記情報処理装置と通信可能なサーバ装置と、を含み、前記情報処理装置は、前記領域検出手段と、前記領域検出手段の検出結果を前記サーバ装置に送信する手段と、を含み、前記サーバ装置は前記面積/位置情報取得手段及び前記注視位置推定手段を含むようにしてもよい。
【0022】
また、本発明の一態様では、前記撮影手段と接続された情報処理装置と、前記情報処理装置と通信可能なサーバ装置と、を含み、前記情報処理装置は、前記領域検出手段及び前記面積/位置情報取得手段と、前記面積/位置情報取得手段によって取得された面積情報及び位置情報を前記サーバ装置に送信する手段と、を含み、前記サーバ装置は前記注視位置推定手段を含むようにしてもよい。
【0023】
また、本発明の一態様では、前記撮影手段と接続された情報処理装置と、前記情報処理装置と通信可能なサーバ装置と、を含み、前記情報処理装置は、前記領域検出手段、前記面積/位置情報取得手段、及び前記注視位置推定手段と、前記注視位置推定手段による推定結果に関する注視位置データを前記サーバ装置に送信する手段と、を含み、前記サーバ装置は、前記注視位置データを受信する手段と、前記注視位置データに基づいて、前記ユーザが注視している前記画面内の位置に関する集計処理を実行する手段と、を含むようにしてもよい。
【発明の効果】
【0024】
本発明によれば、例えば、虹彩中心位置を検出したり、眼球中心の投影位置を推定したりすることなく、ユーザの注視位置を推定することが可能になる。
【図面の簡単な説明】
【0025】
【図1】本発明の実施形態に係る注視位置推定システムの構成の一例を示す図である。
【図2】情報処理装置の外観を示す図である。
【図3】表示部に表示される画面の一例を示す図である。
【図4】注視位置推定システムの機能ブロック図である。
【図5】初期設定画面の一例を示す図である。
【図6】撮影部の撮影画像の一例を示す模式図である。
【図7】領域検出部の動作について説明するための図である。
【図8】基準面積/位置情報記憶部の記憶内容の一例を示す図である。
【図9】注視位置推定システムで実行される処理の一例を示すフロー図である。
【図10】注視位置推定システムの機能ブロック図である。
【図11】注視位置推定システムで実行される処理の一例を示すフロー図である。
【図12】注視位置推定システムで実行される処理の一例を示すフロー図である。
【図13】主成分スコアを算出するための演算式を示す図である。
【図14】ユーザの注視位置を算出するための演算式を示す図である。
【図15】主成分スコアを算出するための演算式や、ユーザの注視位置を算出するための演算式の決定方法の一例を説明するための図である。
【図16】注視位置推定システムの機能ブロック図である。
【図17】注視位置推定システムで実行される処理の一例を示すフロー図である。
【図18】対応関係情報の一例を示す図である。
【図19】対応関係情報の他の一例を示す図である。
【図20】注視位置推定システムの機能ブロック図である。
【図21】補正データ記憶部の記憶内容の一例を示す図である。
【図22】注視位置推定システムの構成の他の一例を示す図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【0027】
[第1実施形態]まず、本発明の第1実施形態について説明する。図1は、本発明の第1実施形態に係る注視位置推定システムの構成を示す。図1に示すように、注視位置推定システム1は情報処理装置10(注視位置推定装置)を含んで構成される。図2は情報処理装置10の外観の一例を示す。なお、図2に示す情報処理装置10はラップトップ型のコンピュータであるが、情報処理装置10はラップトップ型のコンピュータに限られるわけではない。情報処理装置10は、例えば、デスクトップ型のコンピュータ、タブレット型のコンピュータ、又はスマートフォン等であってもよい。
【0028】
情報処理装置10は制御部11、主記憶部12、補助記憶部13、光ディスクドライブ部14、通信インタフェース15、操作部16、撮影部17、表示部18、及び音声出力部19を含む。
【0029】
制御部11は例えば1又は複数のマイクロプロセッサを含み、補助記憶部13に記憶されたオペレーティングシステム又はプログラムに従って情報処理を実行する。主記憶部12は例えばRAMであり、補助記憶部13は例えばハードディスク又はソリッドステートドライブである。光ディスクドライブ部14は、光ディスク(情報記憶媒体)に記憶されたプログラムやデータを読み取る。
【0030】
プログラムやデータは光ディスクを介して補助記憶部13に供給される。すなわち、プログラムやデータが記憶された光ディスクが光ディスクドライブ部14に装着され、プログラムやデータが光ディスクドライブ部14によって光ディスクから読み出され、補助記憶部13に記憶される。なお、光ディスクドライブ部14は必須の構成要素ではない。光ディスク以外の情報記憶媒体(例えばメモリカード)に記憶されたプログラム又はデータを読み取るための構成要素が光ディスクドライブ部14の代わりに含まれるようにしてもよい。そして、光ディスク以外の情報記憶媒体を介してプログラムやデータが補助記憶部13に供給されるようにしてもよい。
【0031】
通信インタフェース15は情報処理装置10を通信ネットワークに接続するためのインタフェースである。情報処理装置10は通信ネットワークを介して他の装置(例えばサーバ装置等)とデータを授受できるようになっている。なお、プログラム及びデータが通信ネットワークを介して補助記憶部13に供給されるようにしてもよい。
【0032】
操作部16はユーザが操作を行うためのものである。本実施形態の場合、情報処理装置10は、キーボード16A、タッチパッド16B、及びマウス16Cを操作部16として備えている。タッチパッド16B及びマウス16Cは、表示部18に表示される画面内の位置をユーザが指示するためのポインティングデバイスである。なお、情報処理装置10は、スティック(レバー)、又は表示部18の上に重ねて設けられるタッチパネル等を備えるようにしてもよい。
【0033】
撮影部17は公知のデジタルカメラを含んで構成される。撮影部17は、表示部18に表示される画面を見るユーザの顔を撮影可能な位置に設けられており、撮影部17は、表示部18に表示される画面を見るユーザの顔を撮影するために用いられる。図2に示す例では、レンズをユーザに向けた状態で表示部18の上に撮影部17が設けられている。撮影部17による撮影は所定時間(例えば1/30秒)ごとに行われる。すなわち、1秒ごとのフレーム数が所定数(例えば30)である動画が撮影部17によって撮影される。撮影部17によって撮影された動画は補助記憶部13に保存される。
【0034】
表示部18は例えば液晶表示ディスプレイ等であり、音声出力部19は例えばスピーカ又はヘッドホン端子等である。表示部18には各種プログラムによって各種画面が表示される。
【0035】
例えば、情報処理装置10でWebブラウザが実行された場合には、処理要求(HTTPリクエスト)がWebブラウザによってWebサーバ装置に送信される。この場合、上記の処理要求に対応するページデータ(HTTPレスポンス)がWebサーバ装置から情報処理装置10に返信され、このページデータに基づいてWebページ(画面)が表示部18に表示される。
【0036】
図3は表示部18に表示される画面の一例を示す。図3は、商品やサービスを通信ネットワークを介して購入可能な電子商取引サイト(仮想商店街サイト)にアクセスした場合に表示部18に表示されるWebページの一例を示している。具体的には、キーワードとして「バッグ」が指定された場合に表示される商品一覧ページの一例を図3は示している。
【0037】
図3に示すように、商品一覧ページはキーワード欄20、検索ボタン22、及び一覧領域24を含んでいる。キーワード欄20にはユーザによって指定されたキーワードが表示される。なお、キーワード欄20及び検索ボタン22は商品の一覧を絞り込むために使用される。
【0038】
一覧領域24には、ユーザによって指定されたキーワードに関連する商品の一覧が表示される。例えば、商品の名称及び価格や商品を販売している店舗が一覧領域24に表示される。なお、一覧領域24では、商品名がリンクボタンになっており、商品を購入するための商品ページへのリンク情報(URL)が商品名に関連づけられている。ユーザが商品名をクリックすると、商品ページが表示部18に表示される。
【0039】
また、商品一覧ページには店舗又は商品の広告26が表示される。広告26はリンクボタンになっており、店舗ページ又は商品ページへのリンク情報(URL)が広告26に関連づけられている。広告26がクリックされると、店舗ページ又は商品ページが表示部18に表示される。
【0040】
ところで、例えば図3に示すような商品一覧ページが表示部18に表示されている場合にユーザが画面(商品一覧ページ)内のどの位置を見ていたのかを取得することができれば、ユーザの目にとまってほしい情報(例えば広告26)の表示位置を見直す際の判断材料として用いることができる。
【0041】
この点、注視位置推定システム1は、ユーザが注視している画面(言い換えれば、表示部18の表示領域)内の位置を撮影部17の撮影画像に基づいて推定するようになっている。より具体的には、注視位置推定システム1は、撮影画像におけるユーザの目領域、顔領域、目以外の部位領域の面積や位置に基づいて、ユーザの注視位置を推定するようになっている。以下、ユーザの注視位置を推定するための構成について詳しく説明する。
【0042】
注視位置推定システム1では、ユーザの注視位置の推定を実行するのに先だって初期設定を実行する必要がある。そこで、まず、初期設定のための構成について説明する。
【0043】
図4は、注視位置推定システム1で実現される機能ブロックのうち、初期設定のための機能ブロックを示す機能ブロック図である。図4に示すように、注視位置推定システム1は、初期設定のための機能ブロックとして、基準面積/位置情報記憶部30、領域検出部32、基準面積/位置情報取得部34を含んでいる。基準面積/位置情報記憶部30は例えば補助記憶部13によって実現される。また、領域検出部32、及び基準面積/位置情報取得部34は例えば制御部11によって実現される。すなわち、制御部11がプログラムに従って処理を実行することによって、制御部11がそれらの機能ブロックとして機能するようになる。
【0044】
初期設定を行う場合には初期設定画面が表示部18に表示される。図5は初期設定画面の一例を示す。図5に示す初期設定画面にはマーカー40及びメッセージ42が表示されている。マーカー40はユーザが注視すべき画面内の位置を示している。図5に示す例では、画面の中心点が「ユーザが注視すべき画面内の位置」として設定されている。なお、中心点以外の位置が「ユーザが注視すべき画面内の位置」として設定されるようにしてもよい。メッセージ42の内容は、上記の位置を見るようにユーザに要求する内容になっている。
【0045】
初期設定では、上記の初期設定画面が表示されることによって、画面の中心点を見ているユーザの顔の画像が撮影部17によって撮影され、補助記憶部13に保存されることになる。図6は撮影部17の撮影画像の一例を示す模式図である。
【0046】
領域検出部32について説明する。図7は領域検出部32の動作について説明するための図である。
【0047】
領域検出部32は、ユーザの目に対応する目領域を撮影画像から検出する。ここで、「目領域」とは、例えば、ユーザの両目に対応する両目領域52と、ユーザの左目に対応する左目領域52Lと、ユーザの右目に対応する右目領域52Rと、の少なくとも一つである。
【0048】
図7に示す例の場合、両目領域52はユーザの両目に対応する矩形領域である。また、左目領域52Lはユーザの左目に対応する矩形領域であり、右目領域52Rはユーザの右目に対応する矩形領域である。なお、図7に示す例の場合、両目領域52、左目領域52L、及び右目領域52Rが矩形領域になっているが、これらの領域は矩形以外の形状の領域であってもよい。
【0049】
また、領域検出部32は、ユーザの顔に対応する顔領域と、ユーザの顔にある部位のうちの目以外の所定部位に対応する所定部位領域と、の少なくとも一方を撮影画像から検出する。ここで、「目以外の所定部位」とは、例えば鼻、口、又は耳等である。
【0050】
図7に示す例の場合、顔領域50はユーザの顔に対応する矩形領域である。また、鼻領域54はユーザの鼻に対応する矩形領域であり、口領域56はユーザの口に対応する矩形領域である。図7に示す例の場合、鼻領域54及び口領域56の少なくとも一方が上記の「所定部位領域」に相当する。なお、図7に示す例の場合、顔領域50、鼻領域54、及び口領域56が矩形領域になっているが、これらの領域は矩形以外の形状であってもよい。
【0051】
なお以下では、顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56が領域検出部32によって検出されることとして説明する。
【0052】
領域検出部32は、公知の画像認識アルゴリズムに基づいて、顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56を検出する。「画像認識アルゴリズム」としては、例えば、OpenCVを用いた顔認識アルゴリズムが用いられる。
【0053】
基準面積/位置情報取得部34について説明する。基準面積/位置情報取得部34は、目領域の基準面積情報及び基準位置情報を取得する。具体的には、基準面積/位置情報取得部34は、ユーザが画面内の基準位置を見ている際の撮影画像から検出される目領域の面積情報及び位置情報に基づいて、目領域の基準面積情報及び基準位置情報を取得する。なお、本実施形態の場合、初期設定画面においてユーザが見るように要求されている位置(例えば中心点)が「基準位置」に相当する。
【0054】
また、基準面積/位置情報取得部34は、顔領域と所定部位領域との少なくとも一方の基準面積情報及び基準位置情報を取得する。具体的には、基準面積/位置情報取得部34は、ユーザが画面内の基準位置を見ている際の撮影画像から検出される顔領域の面積情報及び位置情報に基づいて、顔領域の基準面積情報及び基準位置情報を取得する。また、基準面積/位置情報取得部34は、ユーザが画面内の基準位置を見ている際の撮影画像から検出される所定部位領域の面積情報及び位置情報に基づいて、所定部位領域の基準面積情報及び基準位置情報を取得する。なお上述したように、「所定部位領域」とは、ユーザの顔にある部位のうちの目以外の所定部位に対応する領域である。
【0055】
本実施形態の場合、基準面積/位置情報取得部34は下記の情報を取得する。
(1)顔領域50の基準面積
(2)顔領域50の代表点の基準X座標及び基準Y座標
(3)両目領域52の基準面積
(4)両目領域52の代表点の基準X座標及び基準Y座標
(5)左目領域52Lの基準面積
(6)左目領域52Lの代表点の基準X座標及び基準Y座標
(7)右目領域52Rの基準面積
(8)右目領域52Rの代表点の基準X座標及び基準Y座標
(9)鼻領域54の基準面積
(10)鼻領域54の代表点の基準X座標及び基準Y座標
(11)口領域56の基準面積
(12)口領域56の代表点の基準X座標及び基準Y座標
【0056】
ここで、「代表点」とは例えば領域の中心点である。なお、領域が矩形領域である場合、「代表点」は矩形領域のいずれかの頂点(例えば左上頂点)であってもよい。また、「代表点」の位置はXY座標系によって表される。なお、XY座標系は、例えば撮影画像の左上頂点を原点Oとし、右方向をX軸正方向とし、下方向をY軸正方向とする座標系である(図7参照)。
【0057】
例えば、基準面積/位置情報取得部34は、初期設定画面の中心点をユーザが見ている場合の撮影画像から検出された顔領域50の面積に基づいて、顔領域50の基準面積を取得する。例えば、基準面積/位置情報取得部34は、初期設定画面の中心点をユーザが見ている場合の撮影画像から検出された顔領域50の面積を、顔領域50の基準面積として取得する。あるいは、基準面積/位置情報取得部34は、初期設定画面の中心点をユーザが見ている場合の複数の撮影画像の各々から検出される顔領域50の面積の統計値(例えば平均値)を、顔領域50の基準面積として取得する。
【0058】
また、基準面積/位置情報取得部34は、初期設定画面の中心点をユーザが見ている場合の撮影画像から検出された顔領域50の代表点のX座標及びY座標に基づいて、顔領域50の基準X座標及び基準Y座標を取得する。例えば、基準面積/位置情報取得部34は、初期設定画面の中心点をユーザが見ている場合の撮影画像から検出される顔領域50の代表点のX座標及びY座標を、顔領域50の基準X座標及び基準Y座標として取得する。あるいは、基準面積/位置情報取得部34は、初期設定画面の中心点をユーザが見ている場合の複数の撮影画像の各々から検出される顔領域50の代表点のX座標の統計値(例えば平均値)を、顔領域50の基準X座標として取得する。また、基準面積/位置情報取得部34は、それら複数の撮影画像の各々から検出される顔領域50の代表点のY座標の統計値(例えば平均値)を、顔領域50の基準Y座標として取得する。
【0059】
基準面積/位置情報取得部34は、顔領域50以外の領域の基準面積、基準X座標、及び基準Y座標も顔領域50と同様にして取得する。
【0060】
基準面積/位置情報記憶部30は、基準面積/位置情報取得部34によって取得された基準面積情報及び基準位置情報を記憶する。図8は基準面積/位置情報記憶部30の記憶内容の一例を示している。図8に示すように、基準面積/位置情報記憶部30は、顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の基準面積、基準X座標、及び基準Y座標を記憶する。
【0061】
ここで、以上に説明した領域検出部32及び基準面積/位置情報取得部34を実現するために注視位置推定システム1で実行される処理について説明しておく。図9は該処理の一例を示すフロー図である。制御部11がプログラムに従って図9に示す処理を実行することによって、制御部11が領域検出部32及び基準面積/位置情報取得部34として機能するようになる。
【0062】
図9に示す処理は、初期設定画面が所定時間にわたって表示された後に事後的に実行される。図9に示す処理は、補助記憶部13に保存された動画データ(初期設定画面内の中心点を見るユーザの顔を撮影してなる動画データ)に基づいて実行される。
【0063】
図9に示すように、制御部11は動画データから1フレーム分の撮影画像を取得する(S101)。なお、初期設定画面が表示されてから、ユーザがメッセージ42を認識して初期設定画面の中心点(マーカー40)を見つめるまでには一定の時間が要されるため、制御部11はその期間内の撮影画像を無視し、該期間後の撮影画像を取得する。
【0064】
その後、制御部11は、撮影画像内の顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56を検出する(S102)。例えば、制御部11はOpenCVを用いた顔認識アルゴリズムに基づいて上記の各領域を検出する。
【0065】
そして、制御部11は、少なくとも一つの領域の検出に失敗したか否かを判定する(S103)。少なくとも一つの領域の検出に失敗したと判定されなかった場合、すなわち、すべての領域の検出に成功した場合、制御部11は、ステップS102で検出された各領域の面積情報及び位置情報を取得する(S104)。すなわち、制御部11は、ステップS102で検出された各領域の面積と、ステップS102で検出された各領域の代表点(例えば中心点)のX座標及びY座標と、を取得する。そして、制御部11は、ステップS102で検出された各領域の面積情報及び位置情報を補助記憶部13に記録する。
【0066】
その後、制御部11は、次のフレームの撮影画像が存在しているか否かを判定する(S105)。次のフレームの撮影画像が存在している場合、制御部11は次のフレームの撮影画像を動画データから取得する(S106)。そして、制御部11はステップS102の処理を再び実行する。
【0067】
一方、次のフレームの撮影画像が存在していない場合、すなわち、現在のフレームの撮影画像が動画データのうちの最終フレームの画像である場合、制御部11は、顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の基準面積情報及び基準位置情報を補助記憶部13(基準面積/位置情報記憶部30)に保存する(S107)。
【0068】
例えば、制御部11は、各フレームの撮影画像から検出された両目領域52の面積の統計値(例えば平均値)を、両目領域52の基準面積として保存する。同様に、制御部11は、各フレームの撮影画像から検出された両目領域52の代表点のX座標の統計値(例えば平均値)を、両目領域52の基準X座標として保存する。また、制御部11は、各フレームの撮影画像から検出された両目領域52の代表点のY座標の統計値(例えば平均値)を、両目領域52の基準Y座標として保存する。制御部11は、両目領域52以外の領域の基準面積、基準X座標、及び基準Y座標も、両目領域52と同様にして取得する。
【0069】
なお、ステップS103において、少なくとも一つの領域の検出に失敗したと判定された場合、制御部11は、ステップS104の処理を実行することなく、ステップS105の処理を実行する。すなわち、図9に示す処理では、少なくとも一つの領域の検出に失敗した場合にそのフレームの撮影画像が無視されるようになっている。
【0070】
以上のように、初期設定では、初期設定画面の中心点をユーザが見ている場合の顔領域50等の面積情報及び位置情報に基づいて、顔領域50等の基準面積情報及び基準位置情報が補助記憶部13(基準面積/位置情報記憶部30)に保存される。以上で初期設定に関する説明を終了する。次に、ユーザの注視位置を推定する構成について説明する。
【0071】
図10は、注視位置推定システム1で実現される機能ブロックのうち、ユーザの注視位置を推定する機能ブロックを示す機能ブロック図である。図10に示すように、注視位置推定システム1は、ユーザの注視位置を推定する機能ブロックとして、基準面積/位置情報記憶部30、領域検出部32、面積/位置情報取得部60、注視位置推定部62、及び処理実行部64を含んでいる。基準面積/位置情報記憶部30及び領域検出部32は、図4における基準面積/位置情報記憶部30及び領域検出部32と同様である。面積/位置情報取得部60、注視位置推定部62、及び処理実行部64は例えば制御部11によって実現される。すなわち、制御部11がプログラムに従って処理を実行することによって、制御部11がそれらの機能ブロックとして機能するようになる。
【0072】
例えば、商品一覧ページが表示されている期間におけるユーザの注視位置を推定する場合には、商品一覧ページが表示されている期間において撮影部17によって撮影された動画データに基づいて、領域検出部32、面積/位置情報取得部60、及び注視位置推定部62が動作することになる。
【0073】
領域検出部32について説明する。上述したように、領域検出部32は、ユーザの目に対応する目領域を撮影画像から検出する。また、領域検出部32は、ユーザの顔に対応する顔領域と、ユーザの顔にある部位のうちの目以外の所定部位に対応する所定部位領域と、の少なくとも一方を撮影画像から検出する。
【0074】
本実施形態の場合、領域検出部32は、顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56を検出する。
【0075】
面積/位置情報取得部60について説明する。面積/位置情報取得部60は、領域検出部32によって検出された各領域の面積情報及び位置情報を取得する。例えば、面積/位置情報取得部60は目領域の面積情報及び位置情報を取得する。また、面積/位置情報取得部60は、顔領域及び所定部位領域の少なくとも一方の面積情報及び位置情報を取得する。
【0076】
本実施形態の場合、面積/位置情報取得部60は下記の情報を取得する。
(1)顔領域50の面積
(2)顔領域50の代表点のX座標及びY座標
(3)両目領域52の面積
(4)両目領域52の代表点のX座標及びY座標
(5)左目領域52Lの面積
(6)左目領域52Lの代表点のX座標及びY座標
(7)右目領域52Rの面積
(8)右目領域52Rの代表点のX座標及びY座標
(9)鼻領域54の面積
(10)鼻領域54の代表点のX座標及びY座標
(11)口領域56の面積
(12)口領域56の代表点のX座標及びY座標
【0077】
「代表点」は例えば領域の中心点である。なお、領域が矩形領域である場合、「代表点」は矩形領域のいずれかの頂点(例えば左上頂点)であってもよい。また、各領域の代表点の位置はXY座標系(図7参照)によって表される。
【0078】
注視位置推定部62について説明する。注視位置推定部62は、面積/位置情報取得部60によって取得された各領域の面積情報及び位置情報に基づいて、ユーザが注視している画面内の位置を推定する。
【0079】
例えば、注視位置推定部62は、面積/位置情報取得部60によって取得された各領域の面積情報及び位置情報と、基準面積/位置情報記憶部30に記憶された各領域の基準面積情報及び基準位置情報と、の差に基づいて、ユーザの注視位置を推定する。例えば、注視位置推定部62は、上記の差に基づき、1又は複数の演算式に従って演算を行うことによって、ユーザの注視位置を推定する。注視位置推定部62の動作の詳細については後述する(後述の図11及び図12のステップS205〜S210参照)。
【0080】
処理実行部64について説明する。処理実行部64は、注視位置推定部62によって推定されたユーザの注視位置に基づいて、所定の処理を実行する。「所定の処理」とは、例えば、ユーザの注視位置に関する集計処理や、ユーザの注視位置の分布を示す分布データを生成する処理等である。
【0081】
ここで、以上に説明した領域検出部32、面積/位置情報取得部60、注視位置推定部62、及び処理実行部64を実現するために注視位置推定システム1で実行される処理について説明する。図11及び図12は該処理の一例を示すフロー図である。制御部11がプログラムに従って図11及び図12に示す処理を実行することによって、制御部11が領域検出部32、面積/位置情報取得部60、注視位置推定部62、及び処理実行部64として機能する。
【0082】
なお、図11及び図12に示す処理は、補助記憶部13に予め保存された動画データ(例えば、商品一覧ページが表示されている間に撮影されたユーザの顔の動画データ)に基づいて実行される。
【0083】
図11に示すように、まず、制御部11は動画データから1フレーム分の撮影画像を取得する(S201)。そして、制御部11は、撮影画像内の顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56を検出する(S202)。例えば、制御部11はOpenCVを用いた顔認識アルゴリズムに基づいて上記の各領域を検出する。
【0084】
その後、制御部11は、少なくとも一つの領域の検出に失敗したか否かを判定する(S203)。少なくとも一つの領域の検出に失敗したと判定されなかった場合、すなわち、すべての領域の検出に成功した場合、制御部11は、ステップS202で検出された各領域の面積情報及び位置情報を取得する(S204)。すなわち、制御部11は、ステップS202で検出された各領域の面積と、ステップS202で検出された各領域の代表点(例えば中心点)のX座標及びY座標と、を取得する。
【0085】
その後、制御部11は、ステップS202で検出された各領域について、面積差分値(ΔS)を算出する(S205)。面積差分値(ΔS)は、ステップS204で取得された面積と基準面積との差分値である。例えば、制御部11は、ステップS204で取得された顔領域50の面積から、補助記憶部13に記憶された顔領域50の基準面積を引くことによって、顔領域50の面積差分値(ΔS)を算出する。制御部11は顔領域50以外の各領域の面積差分値(ΔS)も顔領域50と同様にして算出する。
【0086】
また、制御部11は、ステップS202で検出された各領域について、X座標差分値(ΔX)を算出する(S206)。X座標差分値(ΔX)は、ステップS204で取得されたX座標と基準X座標との差分値である。例えば、制御部11は、ステップS204で取得された顔領域50のX座標から、補助記憶部13に記憶された顔領域50の基準X座標を引くことによって、顔領域50のX座標差分値(ΔX)を算出する。制御部11は顔領域50以外の各領域のX座標差分値(ΔX)も顔領域50と同様にして算出する。
【0087】
さらに、制御部11は、ステップS202で検出された各領域について、Y座標差分値(ΔY)を算出する(S207)。Y座標差分値(ΔY)は、ステップS204で取得されたY座標と基準Y座標との差分値である。例えば、制御部11は、ステップS204で取得された顔領域50のY座標から、補助記憶部13に記憶された顔領域50の基準Y座標を引くことによって、顔領域50のY座標差分値(ΔY)を算出する。制御部11は顔領域50以外の各領域のY座標差分値(ΔY)も顔領域50と同様にして算出する。
【0088】
上記のステップS205〜S207の処理によって下記の18個の差分値が取得されることになる。
(1)顔領域50の面積差分値(ΔS)
(2)顔領域50のX軸差分値(ΔX)
(3)顔領域50のY軸差分値(ΔY)
(4)両目領域52の面積差分値(ΔS)
(5)両目領域52のX軸差分値(ΔX)
(6)両目領域52のY軸差分値(ΔY)
(7)左目領域52Lの面積差分値(ΔS)
(8)左目領域52LのX軸差分値(ΔX)
(9)左目領域52LのY軸差分値(ΔY)
(10)右目領域52Rの面積差分値(ΔS)
(11)右目領域52RのX軸差分値(ΔX)
(12)右目領域52RのY軸差分値(ΔY)
(13)鼻領域54の面積差分値(ΔS)
(14)鼻領域54のX軸差分値(ΔX)
(15)鼻領域54のY軸差分値(ΔY)
(16)口領域56の面積差分値(ΔS)
(17)口領域56のX軸差分値(ΔX)
(18)口領域56のY軸差分値(ΔY)
【0089】
その後、制御部11は、上記の18個の差分値の各々について、加重移動平均を算出する(S208)。例えば、制御部11は顔領域50の面積差分値(ΔS)の加重移動平均を算出する。すなわち、制御部11は、直近のN個(例えば10個)の顔領域50の面積差分値(ΔS)の加重平均を算出する。同様にして、制御部11は、顔領域50のX座標差分値(ΔX)の移動加重平均や、顔領域50のY座標差分値(ΔY)の移動加重平均も算出する。また同様にして、制御部11は、顔領域50以外の各領域の各差分値ごとに加重移動平均を算出する。なお、ステップS208において、制御部11は、上記の18個の差分値の各々について、単純移動平均を算出するようにしてもよい。
【0090】
その後、制御部11は、上記の18個の差分値の各々の加重移動平均(又は単純移動平均)に対して、第1〜第18の主成分スコアを算出する(S209)。すなわち、制御部11は、上記の18個の差分値の各々の加重移動平均を18個の主成分スコアに変換する。制御部11は第1〜第18の主成分スコアを図13に示す演算式に基づいて算出する。
【0091】
なお図13において、「z」(i:1〜18の自然数)は第iの主成分スコアを示す。すなわち、「z」は第1の主成分スコアを示し、「z18」は第18の主成分スコアを示す。
【0092】
また図13において、「d」〜「d18」は上記の18個の差分値の各々の加重移動平均(又は単純移動平均)を示す。例えば「d」〜「d18」は下記を示す。
(1)d,d,d:顔領域50の面積差分値(ΔS)の加重移動平均、X座標差分値(ΔX)の加重移動平均、Y座標差分値(ΔY)の加重移動平均
(2)d,d,d:両目領域52の面積差分値(ΔS)の加重移動平均、X座標差分値(ΔX)の加重移動平均、Y座標差分値(ΔY)の加重移動平均
(3)d,d,d:左目領域52Lの面積差分値(ΔS)の加重移動平均、X座標差分値(ΔX)の加重移動平均、Y座標差分値(ΔY)の加重移動平均
(4)d10,d11,d12:右目領域52Rの面積差分値(ΔS)の加重移動平均、X座標差分値(ΔX)の加重移動平均、Y座標差分値(ΔY)の加重移動平均
(5)d13,d14,d15:鼻領域54の面積差分値(ΔS)の加重移動平均、X座標差分値(ΔX)の加重移動平均、Y座標差分値(ΔY)の加重移動平均
(6)d16,d17,d18:口領域56の面積差分値(ΔS)の加重移動平均、X座標差分値(ΔX)の加重移動平均、Y座標差分値(ΔY)の加重移動平均
【0093】
また図13において、「Li_j」(i,j:1〜18の自然数)は予め定められた係数を示している。係数Li_jの決定方法については後述する(後述の図15参照)。
【0094】
ステップS305において第1〜第18の主成分スコアが算出された後、制御部11は、第1〜第18の主成分スコアに基づいて、ユーザの注視位置を算出する(S210)。制御部11はユーザの注視位置を図14に示す演算式に従って算出する。
【0095】
なお図14において、「Gx」はユーザの注視位置のXs座標を示し、「Gy」はユーザの注視位置のYs座標を示す。Xs座標及びYs座標は、画面内の位置を示すためのXsYs座標系における座標値であり、XsYs座標系は、例えば画面の左上頂点を原点Osとし、右方向をXs軸正方向とし、下方向をYs軸正方向とする座標系である(図2参照)。また、図13と同様、「z」(i:1〜18の自然数)は第iの主成分スコアを示す。また図14において、「P」及び「S」は予め定められた定数であり、「Q」及び「T」(i:1〜18の自然数)は予め定められた係数である。
【0096】
ところで、図14に示す演算式では、第1〜第18の主成分スコアのすべてを用いてユーザの注視位置のXs座標及びYs座標が算出されるようになっているが、実際には、係数Q又は係数Tが零に設定される場合もある。例えば、ユーザの注視位置のXs座標を算出するための演算式において、係数Q16が零に設定される場合があり、その場合、第16の主成分スコアはユーザの注視位置のXs座標の算出に用いられないことになる。このように、ユーザの注視位置のXs座標は、必ずしも、第1〜第18の主成分スコアのすべてを用いて算出されるわけではなく、第1〜第18の主成分スコアのうちの少なくとも一つを用いて算出される。ユーザの注視位置のYs座標も同様である。定数P,Sや係数Q及びTの決定方法については後述する(後述の図15参照)。
【0097】
ステップS210では以上のようにしてユーザの注視位置が算出され、制御部11は、算出された注視位置を補助記憶部13に記録する(S211)。なお、ステップS203において、少なくとも一つの領域の検出に失敗したと判定された場合、制御部11は、ステップS204〜S211の処理を実行することなく、後述のステップS212の処理を実行するようになっている。すなわち、少なくとも一つの領域の検出に失敗した場合、制御部11はそのフレームの撮影画像を無視し、ユーザの注視位置を算出しないようになっている。
【0098】
ユーザの注視位置が補助記憶部13に記録された後、制御部11は次のフレームの撮影画像が存在しているか否かを判定する(S212)。次のフレームの撮影画像が存在している場合、制御部11は次のフレームの撮影画像を動画データから取得する(S213)。そして、制御部11はステップS202の処理を再び実行する。
【0099】
一方、次のフレームの撮影画像が存在していない場合、すなわち、現在のフレームの撮影画像が動画データのうちの最終フレームの画像である場合、制御部11は、補助記憶部13に記録されたユーザの注視位置の分布を示す分布データを生成する(S214)。以上で図11及び図12に示す処理の説明を終了する。
【0100】
ここで、第1〜第18の主成分スコアを算出するための演算式(図13)やユーザの注視位置を算出するための演算式(図14)における定数及び係数の決定方法について説明する。
【0101】
これらの係数及び定数は、複数の被験者を対象として下記に説明するようなデータを収集し、かつ、該データを分析することによって決定される。図15は上記の係数及び定数の決定手順について説明するための図である。なお、第1〜第18の主成分スコアを算出するための演算式(図13)や、ユーザの注視位置を算出するための演算式(図14)は、ユーザの注視位置を推定するためのプログラム内に埋め込む必要があるため、下記に説明するデータの収集及び分析は該プログラムを開発する際に実施される。また例えば、ユーザの注視位置を推定するためのプログラムの開発者やその同僚等が上記の「被験者」となる。
【0102】
上記の係数及び定数を決定する場合、まず、被験者が画面内の所定位置(例えば中心点)を見ている場合における撮影部17の撮影画像を取得し、その撮影画像に基づいて、被験者が画面内の所定位置を見ている場合における被験者の顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の面積情報及び位置情報を取得する。そして、それらの面積情報及び位置情報に基づいて、被験者の顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の基準面積情報及び基準位置情報を取得する(図15(A)参照)。この基準面積情報及び基準位置情報を取得するための処理は図9において説明した処理と同様である。
【0103】
次に、被験者が画面内の様々な位置を見ている場合の撮影部17の撮影画像を取得する。具体的には、ポインティングデバイスを用いて画面内の様々な位置を指示するように被験者に要求し、被験者が画面内の位置を指示した場合における撮影部17の撮影画像を取得する。そして、その撮影画像に基づいて、被験者が画面内の位置を指示した場合における被験者の顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の面積情報及び位置情報を取得する(図15(B)参照)。
【0104】
なお、人間はポインティングデバイスで画面内の位置を指示する場合にその位置を注視する傾向にあるため、ここで取得された面積情報及び位置情報は、ポインティングデバイスを用いて指示された位置を被験者が見ている場合における被験者の顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の面積情報及び位置情報に相当する。
【0105】
次に、被験者の顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)を取得する(図15(C)参照)。これらは図15(A)に示すデータと図15(B)に示すデータとに基づいて取得される。
【0106】
次に、被験者の顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)を対象として主成分分析を実施する。すなわち、18個の差分値(6個の領域の各々の3個の差分値)を対象として一般的な主成分分析の手順に従って主成分分析が実施され、その結果として、第1〜第18の主成分スコアを示す演算式(図13)が取得される。すなわち、第1〜第18の主成分スコアを算出するための演算式における係数Li_j(i,j:1〜18の自然数)が取得される。
【0107】
次に、第1〜第18の主成分スコアを算出するための演算式(図13)に従って、第1〜第18の主成分スコアを算出する(図15(D)参照)。そして、被験者が指定した画面内の位置(すなわち、被験者が実際に見ていた位置)と、被験者が該位置を指定した場合(すなわち、被験者が該位置を実際に見ていた場合)の第1〜第18の主成分スコアと、を対象として線形回帰分析を実施する。すなわち、一般的な線形回帰分析の手順に従って線形回帰分析が実施され、その結果として、ユーザの注視位置と第1〜第18の主成分スコアとの関係を示す演算式(図14)が取得される。すなわち、ユーザの注視位置を算出するための演算式における定数P,S及び係数Q,T(i:1〜18の自然数)が取得される。
【0108】
以上に説明したようにして、第1〜第18の主成分スコアを算出するための演算式(図13)や、ユーザの注視位置を算出するための演算式(図14)は決定される。
【0109】
以上に説明した第1実施形態に係る注視位置推定システム1によれば、一つの撮影部(カメラ)によって撮影されたユーザの顔の画像に基づいて、ユーザが注視している画面内の位置を推定することが可能になる。
【0110】
ところで、一つの撮影部によって撮影されたユーザの顔の画像に基づいてユーザの注視位置を推定する方法としては、例えば、画像内のユーザの虹彩中心位置を検出し、さらに、画像からユーザの眼球中心の投影位置を推定し、それらの虹彩中心位置及び眼球中心の投影位置に基づいてユーザの注視位置を推定する方法が知られている(例えば特開2011−90702号公報)。
【0111】
しかしながら、この方法を採用する場合には、虹彩中心位置を検出したり、眼球中心の投影位置を推定したりする必要がある。虹彩中心位置を検出したり、眼球中心の投影位置を推定したりするためには処理負荷の重い処理を実行する必要があるため、上記の方法を採用した場合には、ユーザの注視位置を推定するための処理の処理負荷が重くなってしまう場合がある。これに対し、第1実施形態に係る注視位置推定システム1によれば、虹彩中心位置を検出したり、眼球中心の投影位置を推定したりする必要がない。その結果、第1実施形態に係る注視位置推定システム1によれば、ユーザの注視位置を推定するための処理の処理負荷を抑えることが可能になる。
【0112】
また、上記の方法を採用する場合には、虹彩中心位置を検出したり、眼球中心の投影位置を推定したりするために画像が高解像度でなければならず、高解像度の撮影部(カメラ)が必要となる。これに対し、第1実施形態に係る注視位置推定システム1では、ユーザの顔、目、鼻、及び口を判別できれば十分であるため、高解像度のカメラは必要でない。
【0113】
また、上記の方法によれば、上下左右のどちらの方向をユーザが見ているのかを判別することは可能になるが(例えば特開2011−90702号公報の図22参照)、比較的狭い画面内のどの位置をユーザが注視しているのかを判別するという目的を達成するためには精度が十分でない。これに対し、第1実施形態に係る注視位置推定システム1によれば、ユーザの注視位置を上記の方法よりも高い精度で推定できるようになる。
【0114】
なお、第1実施形態に係る注視位置推定システム1では、顔領域50等の各領域の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)の移動平均が算出され、それらの移動平均に基づいて、ユーザの注視位置が推定されるようになっている(図12のステップS208参照)。両目領域52等を撮影画像から検出する場合には誤って眉毛領域が両目領域52として検出されてしまう場合がある。しかしながら、注視位置推定システム1では上記のようになっていることによって、例えば、あるフレームの撮影画像において領域の誤検出が生じたとしても、それが注視位置の推定の精度に及ぼす影響が抑えられるようになっている。すなわち、上記のようにすることによって、ユーザの注視位置の推定の精度を向上させることが可能になる。
【0115】
また、第1実施形態に係る注視位置推定システム1では、顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56のうちの少なくとも一つの検出が失敗した場合、その撮影画像が無視されることになり、その撮影画像はユーザの注視位置の推定に用いられないようになっている(図11のステップS203参照)。このようにすることによって、ユーザの注視位置の推定の精度を向上させることが可能になる。
【0116】
また、第1実施形態に係る注視位置推定システム1によれば、所定の画面(例えば商品一覧ページ)が表示されている場合におけるユーザの注視位置を取得できるようになるため、例えば、ユーザの目にとまってほしい情報(例えば広告26等)の表示位置を見直す際の判断材料を得ることができるようになる。
【0117】
[第2実施形態]次に、本発明の第2実施形態について説明する。本発明の第2実施形態に係る注視位置推定システム1の構成等は第1実施形態と同様である(図1,2参照)。
【0118】
第2実施形態に係る注視位置推定システム1は、ユーザの注視位置の推定をリアルタイムで実行する点で第1実施形態とは異なる。また、第2実施形態に係る注視位置推定システム1は、ユーザの注視位置の推定をリアルタイムで実行するならではの構成を備えている点でも第1実施形態とは異なる。
【0119】
図16は、第2実施形態に係る注視位置推定システム1で実現される機能ブロックのうちの、ユーザの注視位置を推定する機能ブロックを示す機能ブロック図である。図16に示すように、第2実施形態に係る注視位置推定システム1は、基準面積/位置情報記憶部30、領域検出部32、面積/位置情報取得部60、注視位置推定部62、処理実行部64、及び設定部70を含む。
【0120】
上述したように、第2実施形態に係る注視位置推定システム1では、領域検出部32による領域の検出、面積/位置情報取得部60による面積情報及び位置情報の取得や、注視位置推定部62による注視位置の推定が、撮影部17によって所定時間(例えば1/30秒)ごとに撮影される画像に基づいてリアルタイムに実行される点で第1実施形態とは異なる。リアルタイムで処理が実行される点を除き、領域検出部32、面積/位置情報取得部60、及び注視位置推定部62は第1実施形態と同様である。
【0121】
図17は、第2実施形態に係る注視位置推定システム1で実行される処理の一例を示すフロー図である。図17に示す処理は、ユーザの注視位置を推定すべき期間内において所定時間(例えば1/30秒)ごとに実行される。「ユーザの注視位置を推定すべき期間」とは、例えば所定画面(商品一覧ページ等)が表示されている期間である。
【0122】
図17に示すように、まず、制御部11は、撮影部17によって撮影された最新の撮影画像を取得する(S301)。その後、制御部11は、撮影画像内の顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56を検出する(S302)。ステップS302の処理は図11のステップS202の処理と同様である。
【0123】
また、制御部11は少なくとも一つの領域の検出に失敗したか否かを判定する(S303)。少なくとも一つの領域に失敗したと判定されなかった場合、すなわち、すべての領域の検出に成功した場合、制御部11は、ステップS302で検出された各領域の面積情報及び位置情報を取得する(S304)。ステップS303,S304の処理は図11のステップS203,S204の処理と同様である。
【0124】
その後、制御部11は、ステップS302で検出された各領域の面積情報及び位置情報に基づいて、ユーザの注視位置を推定し(S305)、ユーザの注視位置を補助記憶部13に記録する(S306)。ステップS305,S306の処理は図11及び図12のステップS205〜S211の処理と同様である。
【0125】
その後、制御部11は、ユーザの注視位置を示す画像を画面内に表示させる(S307)。例えば、制御部11は、ユーザの注視位置として推定された画面内の位置に所定画像(マーカー等)を表示させる。
【0126】
なお、ステップS303において、少なくとも一つの領域の検出に失敗したと判定された場合、制御部11は、ステップS304〜S307の処理を実行することなく、本処理を終了する。この場合、撮影画像は無視されることになり、ユーザの注視位置の推定等は実行されなくなる。以上で図17に示す処理の説明を終了する。
【0127】
第2実施形態に係る注視位置推定システム1では、虹彩中心位置を検出したり、眼球中心の投影位置を推定したりする必要がなく、その結果として、ユーザの注視位置を推定するための処理の処理負荷が抑えられるため、ユーザの注視位置をリアルタイムに推定することが可能になる。また、第2実施形態に係る注視位置推定システム1によれば、ユーザの注視位置がリアルタイムに画面に表示されるようになる。これによって、ユーザが実際に注視している位置と、ユーザが注視していると推定された位置との間の差を一見して把握できるようになる。
【0128】
なお、第2実施形態に係る注視位置推定システム1では、ユーザの注視位置をリアルタイムに取得することが可能になるため、例えば、ユーザが注視位置によって各種の指示を情報処理装置10に与えるようなユーザインタフェースを実現することも可能になる。例えば、画面内に設定された所定領域を所定期間にわたってユーザが注視し続けた場合に該所定領域に対応する処理(例えば画面のスクロール等)を情報処理装置10が実行するようなユーザインタフェースを実現することも可能になる。
【0129】
ところで、第2実施形態に係る注視位置推定システム1は設定部70を含む点でも第1実施形態とは異なる。以下、設定部70について説明する。
【0130】
設定部70は情報処理装置10の処理能力に関する情報(処理能力情報)を取得する。「処理能力情報」とは、例えば、情報処理装置10の処理速度に関する情報である。例えば、設定部70は、情報処理装置10において所定処理を実行させ、情報処理装置10が該所定処理を実行するために要する時間を計測する。そして、設定部70は、計測された時間を「処理能力情報」として取得する。この場合、上記時間が短いほど、情報処理装置10の処理能力が高いことを示すことになる。
【0131】
また、設定部70はユーザの注視位置を推定する処理(図17)の実行間隔を処理能力情報に基づいて設定する。上記の実行間隔を処理能力情報に基づいて設定するためには、処理能力情報と実行間隔との対応関係を示す対応関係情報が必要となる。図18はこの対応関係情報の一例を示す。設定部70は、図18に示す対応関係情報と、情報処理装置10の処理能力情報と、に基づいて、ユーザの注視位置を推定する処理(図17)の実行間隔を設定する。
【0132】
なお図18において、「p」は情報処理装置10の処理能力(処理速度)を示す指標値である。指標値(p)の値が高いほど、情報処理装置10の処理能力が高いことを示す。例えば、情報処理装置10が所定処理を実行するために要した時間を「t」とすると、指標値(p)はp=1/tによって算出される。
【0133】
また図18において、「Pa」及び「Pb」は所定値を示し、これらは「Pa<Pb」の関係を有する。また、「Ta」、「Tb」、及び「Tc」は所定時間を示し、これらは「Ta>Tb>Tc」の関係を有する。例えば、「Ta」は1/10秒であり、「Tb」は1/15秒であり、「Tc」は1/30秒である。
【0134】
図18に示す対応関係情報では、情報処理装置10の処理能力が高いほど、ユーザの注視位置を推定する処理(図17)の実行間隔が短くなるようになっている。また、図18に示す対応関係情報では、指標値(p)が「0<p≦Pa」の関係を満たす場合、上記の実行間隔が撮影部17の撮影間隔(1/30秒)よりも長い時間(1/10秒)に設定されるようになっている。同様に、指標値(p)が「Pa<p≦Pb」の関係を満たす場合にも、上記の実行間隔が撮影部17の撮影間隔(1/30秒)よりも長い時間(1/15秒)に設定されるようになっている。
【0135】
第2実施形態に係る注視位置推定システム1によれば、上記のような設定部70を含んでいることによって、ユーザの注視位置を推定する処理(図17)の実行間隔が、注視位置推定システム1(情報処理装置10)の処理能力に応じて設定されるようになる。例えば、注視位置推定システム1(情報処理装置10)の処理能力が低い場合には、上記の実行間隔が長くなり、その結果として、ユーザの注視位置の推定に関わる処理負荷が軽減されるようになる。一方、注視位置推定システム1(情報処理装置10)の処理能力が高い場合には、上記の実行間隔が短くなり、その結果として、ユーザの注視位置の推定の頻度が高くなるようになる。
【0136】
なお、設定部70の態様は上記に説明した態様に限られない。
【0137】
例えば、図12のステップS208では、例えば、ステップS202で検出された各領域の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)の各々の加重移動平均を算出する場合に直近のN個の値を用いることとして説明した。設定部70はこの個数(N)を処理能力情報に基づいて設定するようにしてもよい。
【0138】
上記の個数(N)を処理能力情報に基づいて設定するためには、処理能力情報と個数(N)との対応関係を示す対応関係情報が必要となる。図19はこの対応関係情報の一例を示す。設定部70は、図19に示す対応関係情報と、情報処理装置10の処理能力情報と、に基づいて、上記の個数(N)を設定する。
【0139】
図18と同様、図19において、「p」は情報処理装置10の処理能力(処理速度)を示す指標値である。また、「Pa」及び「Pb」は所定値を示し、これらは「Pa<Pb」の関係を有する。さらに図19において、「Na」、「Nb」、及び「Nc」は所定の個数を示し、これらは「Na<Nb<Nc」の関係を有する。例えば、「Na」は3個であり、「Nb」は5個であり、「Nc」は10個である。図19に示す対応関係情報では、情報処理装置10の処理能力が高いほど、上記の個数(N)が多くなるようになっている。
【0140】
上記のような設定部70によれば、例えば、注視位置推定システム1(情報処理装置10)の処理能力が低い場合には上記の個数(N)が少なくなり、その結果として、面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)の各々の加重移動平均の算出に関わる処理負荷が軽減されるようになる。一方、注視位置推定システム1(情報処理装置10)の処理能力が高い場合には上記の個数(N)が多くなり、その結果として、ユーザの注視位置の推定の精度が高まるようになる。
【0141】
[第3実施形態]次に、本発明の第3実施形態について説明する。本発明の第3実施形態に係る注視位置推定システム1の構成等は第1実施形態及び第2実施形態と同様である(図1,2参照)。
【0142】
例えば、ユーザがマウス16C等のポインティングデバイスを用いて画面内の位置を指示しようとする場合、自らが指示しようとする位置をユーザは注視する傾向がある。第3実施形態に係る注視位置推定システム1は、このようなユーザの傾向を考慮して、ユーザの注視位置の推定の精度を高めるための構成を備える点で第1実施形態及び第2実施形態とは異なる。
【0143】
図20は、第3実施形態に係る注視位置推定システム1で実現される機能ブロックのうちの、ユーザの注視位置を推定する機能ブロックを示す機能ブロック図である。図20に示すように、第3実施形態に係る注視位置推定システム1は、基準面積/位置情報記憶部30、領域検出部32、面積/位置情報取得部60、注視位置推定部62、処理実行部64、指示位置取得部80、補正データ記憶部82、及び補正部84を含む。
【0144】
第3実施形態に係る注視位置推定システム1は指示位置取得部80、補正データ記憶部82、及び補正部84を含む点で第1実施形態及び第2実施形態とは異なる。このため、以下ではこれらの機能ブロックについて説明する。なお、他の機能ブロックは第1実施形態又は第2実施形態と同様であるため、ここでは説明を省略する。
【0145】
指示位置取得部80はユーザによって指示された画面内の位置を取得する。例えば、指示位置取得部80は、ユーザがタッチパッド16Bやマウス16C等のポインティングデバイスを用いて指示した画面内の位置を取得する。
【0146】
補正データ記憶部82は、ユーザの注視位置を算出するための1又は複数の演算式(図13,14)に含まれる定数又は/及び係数を補正するための補正データを記憶する。
【0147】
具体的には、補正データ記憶部82は、ユーザによって指示された画面内の位置と、該位置がユーザによって指示された際における顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の面積情報及び位置情報と、を対応づけて記憶する。図21は補正データ記憶部82に記憶される補正データの一例を示す。
【0148】
補正部84は、ユーザの注視位置を算出するための1又は複数の演算式(図13,14)に含まれる定数又は/及び係数を補正データに基づいて補正する。
【0149】
例えば、補正部84は、図15を参照しながら説明した処理と同様の処理を補正データに基づいて実行することによって、第1〜第18の主成分スコアを算出するための演算式(図13)や、ユーザの注視位置を算出するための演算式(図14)を決定し直す。この場合、基準面積/位置情報記憶部30の記憶内容(図8)が図15(A)に示すデータに相当し、補正データ記憶部82に記憶される補正データ(図21)が図15(B)に示すデータに相当することになる。なお、第1〜第18の主成分スコアを算出するための演算式(図13)や、ユーザの注視位置を算出するための演算式(図14)を決定し直す場合には、補正データに多数のレコード(例えば10000件程度のレコード)が記憶されているのが望ましい。
【0150】
すなわち、補正部84は、ユーザが画面内の位置を指示した場合におけるユーザの顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)を取得する。
【0151】
その後、補正部84は、ユーザが画面内の位置を指示した場合におけるユーザの顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の各々の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)を対象として主成分分析を実施する。
【0152】
すなわち、補正部84は、18個の差分値(6個の領域の各々の3個の差分値)を対象として一般的な主成分分析の手順に従って主成分分析を実施し、その結果として、第1〜第18の主成分スコアを示す演算式(図13)を新たに取得する。すなわち、補正部84は、第1〜第18の主成分スコアを算出するための演算式における係数Li_j(i,j:1〜18の自然数)を新たに取得する。この場合、以降において第1〜第18の主成分スコアを算出する際には、新たに取得された演算式が用いられることになる。
【0153】
また、補正部84は、第1〜第18の主成分スコアを算出するための演算式(図13)に従って、ユーザが画面内の位置を指示した場合の第1〜第18の主成分スコアを算出する。そして、ユーザが指示した画面内の位置(つまり、ユーザが実際に見ていた位置)と、ユーザが該位置を指示した場合(つまり、ユーザが該位置を見ていた場合)の第1〜第18の主成分スコアと、を対象として線形回帰分析を実施する。
【0154】
すなわち、補正部84は、一般的な線形回帰分析の手順に従って線形回帰分析を実施し、その結果として、ユーザの注視位置と第1〜第18の主成分スコアとの関係を示す演算式(図14)を新たに取得する。すなわち、補正部84は、ユーザの注視位置を算出するための演算式における定数P,S及び係数Q,T(i:1〜18の自然数)を新たに取得する。この場合、以降においてユーザの注視位置を算出する際には、新たに取得された演算式が用いられることになる。
【0155】
以上に説明した第3実施形態に係る注視位置推定システム1によれば、ユーザの注視位置を推定するための1又は複数の演算式(図13,14)における定数又は/及び係数が、ユーザが画面内の位置を見ていた場合のユーザの顔領域50等の面積情報及び位置情報に基づいて見直されるようになる。すなわち、第3実施形態に係る注視位置推定システム1によれば、ユーザの注視位置を推定するための1又は複数の演算式における定数又は/及び係数を、ユーザの顔の特徴やユーザの癖等が反映されたものへと補正することが可能になる。その結果として、ユーザの注視位置の推定の精度を向上させることが可能になる。
【0156】
なお、以上では、補正データ記憶部82が、ユーザが画面内の位置を指示した場合におけるユーザの顔領域50等の面積及び位置を記憶することとして説明した(図21)。
【0157】
しかしながら、補正データ記憶部82は、ユーザが画面内の位置を指示した場合におけるユーザの顔領域50等の面積及び位置を記憶する代わりに、ユーザが画面内の位置を指示した場合におけるユーザの顔領域50等の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)を記憶するようにしてもよい。
【0158】
あるいは、補正データ記憶部82は、ユーザが画面内の位置を指示した場合におけるユーザの顔領域50等の面積及び位置を記憶する代わりに、ユーザが画面内の位置を指示した場合における撮影画像を記憶するようにしてもよい。
【0159】
[第4実施形態]次に、本発明の第4実施形態について説明する。図22は、本発明の第4実施形態に係る注視位置推定システム1の構成の一例を示している。図22に示すように、第4実施形態に係る注視位置推定システム1は情報処理装置10とサーバ装置90とを含んで構成される。情報処理装置10とサーバ装置90との間では、例えばインターネット等の通信ネットワーク2を介してデータを授受できるようになっている。
【0160】
情報処理装置10の構成は第1実施形態における情報処理装置10と同様である。サーバ装置90は、図22に示すように、制御部91、主記憶部92、補助記憶部93、光ディスクドライブ部94、及び通信インタフェース95を含む。制御部91、主記憶部92、補助記憶部93、光ディスクドライブ部94、及び通信インタフェース95は情報処理装置10の制御部11、主記憶部12、補助記憶部13、光ディスクドライブ部14、及び通信インタフェース15と同様である。
【0161】
第4実施形態に係る注視位置推定システム1は第1実施形態と同様の機能ブロックを含む(図10)。ただし、第4実施形態に係る注視位置推定システム1では、図10に示す機能ブロックのうちの少なくとも一つがサーバ装置90において実現される。言い換えれば、図11及び図12に示す処理のうちの少なくとも一部がサーバ装置90において実行される。以下、第4実施形態に係る注視位置推定システム1の具体例として、第4−1実施形態、第4−2実施形態、及び第4−3実施形態について説明する。
【0162】
[第4−1実施形態]第4−1実施形態では、処理実行部64がサーバ装置90において実現され、処理実行部64以外の機能ブロックが情報処理装置10において実現される。すなわち、この実施形態では、サーバ装置90の制御部91がプログラムに従って処理を実行することによって、制御部91が処理実行部64として機能する。
【0163】
この実施形態の場合、ユーザの注視位置を推定(算出)するまでの処理が情報処理装置10において実行され、それ以降の処理がサーバ装置90において実行される。すなわち、図11及び図12に示す処理のうち、ステップS214の処理がサーバ装置90において実行され、他の処理が情報処理装置10において実行される。
【0164】
つまり、この実施形態では、ステップS212において次のフレームの撮影画像が存在しないと判定された場合に、制御部11は、補助記憶部13に記録されたユーザの注視位置に関するデータ(注視位置データ)をサーバ装置90に送信する。
【0165】
なお、この場合、どのような画面が表示部18に表示されていたのかをサーバ装置90側で把握できるようにするべく、表示部18に表示されていた画面に関するデータもサーバ装置90に送信される。「表示部18に表示されていた画面に関するデータ」としては、例えば、表示部18に表示されていた画面の識別データや、表示部18に表示されていた画面の画像データが送信される。なお、表示部18に表示される画面の状態がユーザの操作に応じて変化するようになっている場合(例えば、画面がユーザの操作に応じてスクロールするようになっている場合)には、画面の表示が開始された後にユーザが行った操作の履歴を示す操作履歴データもサーバ装置90に送信される。
【0166】
情報処理装置10から送信されたデータが受信された場合、サーバ装置90の制御部91はステップS214と同様の処理を該データに基づいて実行する。
【0167】
[第4−2実施形態]第4−2実施形態では、注視位置推定部62及び処理実行部64がサーバ装置90(注視位置推定装置)において実現され、注視位置推定部62及び処理実行部64以外の機能ブロックが情報処理装置10において実現される。すなわち、この実施形態では、サーバ装置90の制御部91がプログラムに従って処理を実行することによって、制御部91が注視位置推定部62及び処理実行部64として機能する。
【0168】
この実施形態の場合、顔領域50等の各領域の面積及び位置を算出するまでの処理が情報処理装置10において実行され、それ以降の処理がサーバ装置90において実行される。すなわち、この実施形態の場合、図11及び図12に示す処理のうち、ステップS205〜S211,S214の処理がサーバ装置90において実行され、他の処理が情報処理装置10において実行される。
【0169】
つまり、この実施形態の場合、図11及び図12に示す処理からステップS205〜S211,S214の処理を除いた処理が情報処理装置10において実行される。また、この実施形態の場合、各フレームの撮影画像における顔領域50等の面積及び位置を示すデータが情報処理装置10からサーバ装置90に送信される。また、表示部18に表示されていた画面に関するデータもサーバ装置90に送信される。そして、サーバ装置90では、情報処理装置10から受信されたデータに基づいて、図11及び図12のステップS205〜S211,S214と同様の処理が実行される。
【0170】
なお、顔領域50等の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)を算出するまでの処理を情報処理装置10において実行し、それ以降の処理をサーバ装置90において実行するようにしてもよい。すなわち、図11及び図12に示す処理のうち、ステップS208〜S211,S214の処理をサーバ装置90において実行し、他の処理を情報処理装置10において実行するようにしてもよい。
【0171】
この場合、図11及び図12に示す処理からステップS208〜S211,S214の処理を除いた処理が情報処理装置10において実行される。そして、各フレームの撮影画像における顔領域50等の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)を示すデータが情報処理装置10からサーバ装置90に送信される。また、表示部18に表示されていた画面に関するデータもサーバ装置90に送信される。そして、サーバ装置90では、情報処理装置10から受信されたデータに基づいて、図11及び図12のステップS208〜S211,S214と同様の処理が実行される。
【0172】
または、顔領域50等の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)の加重移動平均を算出するまでの処理を情報処理装置10において実行し、それ以降の処理をサーバ装置90において実行するようにしてもよい。すなわち、図11及び図12に示す処理のうち、ステップS209〜S211,S214の処理をサーバ装置90において実行し、他の処理を情報処理装置10において実行するようにしてもよい。
【0173】
[第4−3実施形態]第4−3実施形態では、領域検出部32、面積/位置情報取得部60、注視位置推定部62、及び処理実行部64がサーバ装置90(注視位置推定装置)において実現される。すなわち、この実施形態の場合、サーバ装置90の制御部91がプログラムに従って処理を実行することによって、制御部91が領域検出部32、面積/位置情報取得部60、注視位置推定部62、及び処理実行部64として機能する。
【0174】
この実施形態の場合、撮影部17の撮影画像(動画データ)が情報処理装置10からサーバ装置90に送信される。また、表示部18に表示されていた画面に関するデータもサーバ装置90に送信される。そして、サーバ装置90では、情報処理装置10から受信された撮影画像(動画データ)に基づいて、図11及び図12に示す処理が実行される。
【0175】
なお、上述の第4−1実施形態及び第4−2実施形態によれば、第4−3実施形態に比べて、情報処理装置10からサーバ装置90に送信されるデータ量が小さくなるため、通信ネットワーク2の負荷を軽減することが可能になる。
【0176】
ところで、第4実施形態に係る注視位置推定システム1においても、第2実施形態と同様に、ユーザの注視位置の推定がリアルタイムに実行されるようにしてもよい。
【0177】
例えば、第4−2実施形態と同様に、図17に示す処理のうちの、ステップS305がサーバ装置90において実行され、ステップS305以外の処理が情報処理装置10において実行されるようにしてもよい。この場合、ステップS304の処理が実行された後、顔領域50等の面積及び位置を示すデータが情報処理装置10からサーバ装置90に送信される。そして、サーバ装置90では、情報処理装置10から受信されたデータに基づいて、ステップS305の処理と同様の処理が実行され、ユーザの注視位置が推定される。その後、ユーザの注視位置がサーバ装置90から情報処理装置10へと返信され、情報処理装置10では、ステップS306,S307の処理が実行される。
【0178】
または、ステップS305の処理の一部がサーバ装置90において実行され、それ以外の処理が情報処理装置10において実行されるようにしてもよい。例えば、この場合、顔領域50等の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)が算出された後、顔領域50等の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)を示すデータが情報処理装置10からサーバ装置90に送信される。そして、サーバ装置90では、情報処理装置10から受信されたデータに基づいて、ユーザの注視位置が推定される。その後、ユーザの注視位置がサーバ装置90から情報処理装置10へと返信され、情報処理装置10では、ステップS306,S307の処理が実行される。
【0179】
あるいは、顔領域50等の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)の加重移動平均が算出された後、顔領域50等の面積差分値(ΔS)、X座標差分値(ΔX)、及びY座標差分値(ΔY)の加重移動平均を示すデータが情報処理装置10からサーバ装置90に送信されるようにしてもよい。そして、サーバ装置90では、情報処理装置10から受信されたデータに基づいて、ユーザの注視位置が推定されるようにしてもよい。その後、ユーザの注視位置がサーバ装置90から情報処理装置10へと返信され、情報処理装置10では、ステップS306,S307の処理が実行されるようにしてもよい。
【0180】
また例えば、第4−3実施形態と同様に、図17に示す処理のうちの、ステップS302〜S305の処理がサーバ装置90において実行され、それ以外の処理が情報処理装置10において実行されるようにしてもよい。この場合、ステップS301で取得された撮影画像が情報処理装置10からサーバ装置90に送信される。そして、サーバ装置90では、情報処理装置10から受信された撮影画像に基づいて、ステップS302〜S305の処理と同様の処理が実行され、ユーザの注視位置が推定される。その後、ユーザの注視位置がサーバ装置90から情報処理装置10へと返信され、情報処理装置10では、ステップS306,S307の処理が実行される。
【0181】
なお、以上に説明した第4実施形態において、サーバ装置90は、Webページを情報処理装置10に提供するWebサーバ装置であってもよいし、Webサーバ装置とは別のサーバ装置(すなわち、ユーザの注視位置を推定するための専用サーバ装置)であってもよい。例えば、サーバ装置90は、図3に示したような商品一覧ページを情報処理装置10に提供するような電子商取引サイトのWebサーバ装置であってもよい。この場合、電子商取引サイトのWebサーバ装置は、自らが情報処理装置10に提供したWebページ(例えば商品一覧ページ)におけるユーザの注視位置に関するデータを取得できるようになる。すなわち、Webサーバ装置は、各Webページにおける、ユーザの目にとまってほしい各種情報(例えば広告等)の表示位置を見直す際の判断材料を得ることができるようになる。
【0182】
なお、本発明は以上に説明した第1実施形態〜第4実施形態に限定されるものではない。
【0183】
例えば、以上では、ユーザの注視位置を推定するために、顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56の6つの領域のすべてを用いることとして説明したが、これら6つの領域のうちの一部を用いるようにしてもよい。例えば、顔領域50、両目領域52、及び鼻領域54のみを用いるようにしてもよい。
【0184】
また例えば、ユーザの注視位置を推定するために、顔領域50、両目領域52、左目領域52L、右目領域52R、鼻領域54、及び口領域56以外の領域を用いるようにしてもよい。
【0185】
また例えば、第2実施形態と第3実施形態とを組み合わせるようにしてもよい。また、第2実施形態と第3実施形態との少なくとも一方と第4実施形態とを組み合わせるようにしてもよい。
【0186】
なお、第2実施形態と第4実施形態とを組み合わせる場合、補正データ記憶部82及び補正部84は情報処理装置10において実現されるようにしてもよいし、サーバ装置90において実現されるようにしてもよい。また、補正データ記憶部82をサーバ装置90において実現される場合(すなわち、全ユーザの補正データがサーバ装置90に記憶される場合)には、補正部84は他のユーザの補正データも用いるようにしてもよい。ただし、その場合、ユーザの補正データの重みを他のユーザの補正データよりも大きくするようにしてもよい。
【0187】
また例えば、表示部を備える装置と、撮影部及び制御部を備える装置と、は別体の装置であってもよい。例えば、家庭用テレビの上部又は下部等にカメラ(撮影部)を設置し、情報処理装置(例えばパーソナルコンピュータ)において、カメラ(撮影部)の撮影画像に基づいて、ユーザが注視している家庭用テレビの画面内の位置を推定するようにしてもよい、
【符号の説明】
【0188】
1 注視位置推定システム、2 通信ネットワーク、10 情報処理装置、11,91 制御部、12,92 主記憶部、13,93 補助記憶部、14,94 光ディスクドライブ部、15 通信インタフェース、16 操作部、16A キーボード、16B タッチパッド、16C マウス、17 撮影部、18 表示部、19 音声出力部、20 キーワード欄、22 検索ボタン、24 一覧領域、26 広告、30 基準面積/位置情報記憶部、32 領域検出部、34 基準面積/位置情報取得部、40 マーカー、42 メッセージ、50 顔領域、52 両目領域、52L 左目領域、52R 右目領域、54 鼻領域、56 口領域、60 面積/位置情報取得部、62 注視位置推定部、64 処理実行部、70 設定部、80 指示位置取得部、82 補正データ記憶部、84 補正部、90 サーバ装置。

【特許請求の範囲】
【請求項1】
表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段と、
前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、を前記撮影手段の撮影画像から検出する領域検出手段と、
前記目領域の面積情報及び位置情報と、前記顔領域と前記所定部位領域との前記少なくとも一方の面積情報及び位置情報と、を取得する面積/位置情報取得手段と、
前記面積/位置情報取得手段によって取得された面積情報及び位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定手段と、
を含むことを特徴とする注視位置推定システム。
【請求項2】
請求項1に記載の注視位置推定システムにおいて、
前記ユーザが前記画面内の基準位置を見ている場合における前記目領域の面積情報及び位置情報に基づいて前記目領域の基準面積情報及び基準位置情報を取得し、かつ、前記ユーザが前記画面内の前記基準位置を見ている場合における前記顔領域と前記所定部位領域との前記少なくとも一方の面積情報及び位置情報に基づいて、前記顔領域と前記所定部位領域との前記少なくとも一方の基準面積情報及び基準位置情報を取得する基準面積/位置情報取得手段を含み、
前記注視位置推定手段は、前記面積/位置情報取得手段によって取得された面積情報及び位置情報と、前記基準面積/位置情報取得手段によって取得された基準面積情報及び基準位置情報と、の差に基づいて、前記ユーザが注視している前記画面内の位置を推定する、
ことを特徴とする注視位置推定システム。
【請求項3】
請求項2に記載の注視位置推定システムにおいて、
前記面積/位置情報取得手段によって取得された面積情報及び位置情報と、前記基準面積/位置情報取得手段によって取得された基準面積情報及び基準位置情報と、の差の移動平均を算出する手段を含み、
前記注視位置推定手段は、前記移動平均に基づいて、前記ユーザが注視している前記画面内の位置を推定する、
ことを特徴とする注視位置推定システム。
【請求項4】
請求項1乃至3のいずれかに記載の注視位置推定システムにおいて、
前記領域検出手段によるいずれかの領域の検出が失敗したか否かを判定する手段と、
前記領域検出手段によるいずれかの領域の検出が失敗した場合に、前記注視位置推定手段による推定の実行を抑止する手段と、
を含むことを特徴とする注視位置推定システム。
【請求項5】
請求項1乃至4のいずれかに記載の注視位置推定システムにおいて、
前記ユーザが注視していると前記注視位置推定手段によって推定された前記画面内の位置を示す画像を前記画面内に表示させる手段を含むことを特徴とする注視位置推定システム。
【請求項6】
請求項1乃至5のいずれかに記載の注視位置推定システムにおいて、
情報処理装置を含み、
前記情報処理装置は、前記領域検出手段、前記面積/位置情報取得手段、及び前記注視位置推定手段を含み、
前記撮影手段は、前記ユーザの顔を第1の所定時間ごとに撮影し、
前記撮影手段によって撮影された、前記第1の所定時間ごとの撮影画像のうちの、前記第1の所定時間よりも長い第2の所定時間ごとの撮影画像が、前記領域検出手段による検出の対象とされ、
前記注視位置推定システムは、前記情報処理装置の処理能力に関する情報に基づいて、前記第2の所定時間を設定する設定手段を含む、
ことを特徴とする注視位置推定システム。
【請求項7】
請求項3に記載の注視位置推定システムにおいて、
情報処理装置を含み、
前記情報処理装置は、前記領域検出手段、前記面積/位置情報取得手段、及び前記注視位置推定手段を含み、
前記注視位置推定手段は、前記面積/位置情報取得手段による直近の所定数の取得結果に基づいて、前記面積/位置情報取得手段によって取得された面積情報及び位置情報と、前記基準面積/位置情報取得手段によって取得された基準面積情報及び基準位置情報と、の差の移動平均を算出し、
前記注視位置推定システムは、前記情報処理装置の処理能力に関する情報に基づいて、前記所定数を設定する設定手段を含む、
ことを特徴とする注視位置推定システム。
【請求項8】
請求項1乃至7のいずれかに記載の注視位置推定システムにおいて、
前記注視位置推定手段は、前記面積/位置情報取得手段によって取得された面積情報及び位置情報に基づき、1又は複数の演算式に従って演算を実行することによって、前記ユーザが注視している前記画面内の位置を推定し、
前記注視位置推定システムは、
前記ユーザによって指示された前記画面内の位置を取得する指示位置取得手段と、
前記ユーザによって指示された前記画面内の位置と、該位置が前記ユーザによって指示された際における、前記目領域の面積情報及び位置情報と、前記顔領と前記所定部位領域との少なくとも一方の面積情報及び位置情報と、に基づいて、前記1又は複数の演算式に含まれる定数又は/及び係数を補正する補正手段と、を含む、
ことを特徴とする注視位置推定システム。
【請求項9】
請求項1乃至8のいずれかに記載の注視位置推定システムにおいて、
前記領域検出手段は、前記ユーザの顔領域と、前記ユーザの両目領域と、前記ユーザの左目領域と、前記ユーザの右目領域と、前記ユーザの鼻領域と、前記ユーザの口領域と、を前記撮影画像から検出し、
前記面積/位置情報取得手段は、前記顔領域と、前記両目領域と、前記左目領域と、前記右目領域と、前記鼻領域と、前記口領域との各々の面積情報及び位置情報を取得する、
ことを特徴とする注視位置推定システム。
【請求項10】
請求項1乃至9のいずれかに記載の注視位置推定システムにおいて、
前記撮影手段と接続された情報処理装置と、前記情報処理装置と通信可能なサーバ装置と、を含み、
前記情報処理装置は、前記撮影画像を前記サーバに送信する手段を含み、
前記サーバ装置は、前記領域検出手段、前記面積/位置情報取得手段、及び前記注視位置推定手段を含む、
ことを特徴とする注視位置推定システム。
【請求項11】
請求項1乃至9のいずれかに記載の注視位置推定システムにおいて、
前記撮影手段と接続された情報処理装置と、前記情報処理装置と通信可能なサーバ装置と、を含み、
前記情報処理装置は、
前記領域検出手段と、
前記領域検出手段の検出結果を前記サーバ装置に送信する手段と、を含み、
前記サーバ装置は前記面積/位置情報取得手段及び前記注視位置推定手段を含む、
ことを特徴とする注視位置推定システム。
【請求項12】
請求項1乃至9のいずれかに記載の注視位置推定システムにおいて、
前記撮影手段と接続された情報処理装置と、前記情報処理装置と通信可能なサーバ装置と、を含み、
前記情報処理装置は、
前記領域検出手段及び前記面積/位置情報取得手段と、
前記面積/位置情報取得手段によって取得された面積情報及び位置情報を前記サーバ装置に送信する手段と、を含み、
前記サーバ装置は前記注視位置推定手段を含む、
ことを特徴とする注視位置推定システム。
【請求項13】
請求項1乃至9のいずれかに記載の注視位置推定システムにおいて、
前記撮影手段と接続された情報処理装置と、前記情報処理装置と通信可能なサーバ装置と、を含み、
前記情報処理装置は、
前記領域検出手段、前記面積/位置情報取得手段、及び前記注視位置推定手段と、
前記注視位置推定手段による推定結果に関する注視位置データを前記サーバ装置に送信する手段と、を含み、
前記サーバ装置は、
前記注視位置データを受信する手段と、
前記注視位置データに基づいて、前記ユーザが注視している前記画面内の位置に関する集計処理を実行する手段と、を含む、
ことを特徴とする注視位置推定システム。
【請求項14】
表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像を取得するステップと、
前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、を前記撮影画像から検出する領域検出ステップと、
前記目領域の面積情報及び位置情報と、前記顔領域と前記所定部位領域との前記少なくとも一方の面積情報及び位置情報と、を取得する面積/位置情報取得ステップと、
前記面積/位置情報取得ステップにおいて取得された面積情報及び位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定ステップと、
を含むことを特徴とする注視位置推定システムの制御方法。
【請求項15】
表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像から検出された、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、の面積情報及び位置情報を取得する手段と、
前記面積情報及び前記位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定手段と、
を含むことを特徴とする注視位置推定装置。
【請求項16】
表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像から検出された、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、の面積情報及び位置情報を取得するステップと、
前記面積情報及び前記位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定ステップと、
を含むことを特徴とする注視位置推定装置の制御方法。
【請求項17】
表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像から検出された、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、の面積情報及び位置情報を取得する手段、及び、
前記面積情報及び前記位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定手段、
としてコンピュータを機能させるためのプログラム。
【請求項18】
表示手段に表示される画面を見るユーザの顔を撮影するための撮影手段の撮影画像から検出された、前記ユーザの顔領域と、前記ユーザの目以外の所定部位領域と、の少なくとも一方と、前記ユーザの目領域と、の面積情報及び位置情報を取得する手段、及び、
前記面積情報及び前記位置情報に基づいて、前記ユーザが注視している前記画面内の位置を推定する注視位置推定手段、
としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な情報記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−101524(P2013−101524A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2011−245279(P2011−245279)
【出願日】平成23年11月9日(2011.11.9)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】