(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108069
(43)【公開日】2024-08-09
(54)【発明の名称】モデル生成装置、視線推定システム、視線推定装置、モデル生成方法および視線推定方法
(51)【国際特許分類】
G06V 20/52 20220101AFI20240802BHJP
G06T 7/00 20170101ALI20240802BHJP
【FI】
G06V20/52
G06T7/00 350B
G06T7/00 660Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023012354
(22)【出願日】2023-01-30
(71)【出願人】
【識別番号】000001432
【氏名又は名称】グローリー株式会社
(74)【代理人】
【識別番号】100111383
【弁理士】
【氏名又は名称】芝野 正雅
(74)【代理人】
【識別番号】100170922
【弁理士】
【氏名又は名称】大橋 誠
(72)【発明者】
【氏名】大塚 崇明
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA02
5L096FA69
5L096GA19
5L096HA13
5L096KA04
(57)【要約】
【課題】注視対象の位置変更に応じて、簡便に、判定モデルを生成して、人が注視対象を見たか否かを判定することが可能なモデル生成装置、視線推定システム、視線推定装置、モデル生成方法および視線推定方法を提供する。
【解決手段】モデル生成装置は、2次元領域70を格子状に分割して得られる各々の参照領域71に人3が視線を向けたときの、撮像画像上における人の状態に関する状態データを、参照領域71ごとに複数の状態について予め保持する記憶部と、注視対象の範囲に含まれる参照領域71の状態データに真値を設定し、その他の状態データに偽値を設定して学習データを構成し、構成した学習データにより機械学習モデルを学習させて判定モデルを生成する制御部と、を備える。
【選択図】
図5
【特許請求の範囲】
【請求項1】
注視対象付近の撮像画像から前記撮像画像に含まれる人が前記注視対象に視線を向けたか否かを判定するための判定モデルを生成するモデル生成装置であって、
2次元領域を格子状に分割して得られる各々の参照領域に人が視線を向けたときの、前記撮像画像上における前記人の状態に関する状態データを、前記参照領域ごとに複数の状態について予め保持する記憶部と、
前記注視対象の範囲に含まれる前記参照領域の前記状態データに真値を設定し、その他の前記状態データに偽値を設定して学習データを構成し、構成した前記学習データにより機械学習モデルを学習させて前記判定モデルを生成する制御部と、を備える、
ことを特徴とするモデル生成装置。
【請求項2】
請求項1に記載のモデル生成装置において、
前記記憶部は、前記撮像画像上の人から取得される、複数の人体部位の位置を示すキーポイントデータを、前記状態データとして記憶する、
ことを特徴とするモデル生成装置。
【請求項3】
請求項1に記載のモデル生成装置において、
前記制御部は、前記2次元領域上における前記注視対象の範囲を示す範囲情報を取得し、取得した前記範囲情報に基づいて、前記学習データを構成する、
ことを特徴とするモデル生成装置。
【請求項4】
請求項3に記載のモデル生成装置において、
前記判定モデルにより前記判定を実行する視線推定装置と外部通信網を介して通信するための通信部を備え、
前記制御部は、前記視線推定装置において前記2次元領域上に設定された前記注視対象の範囲を示す情報を、前記範囲情報として、前記通信部を介して前記視線推定装置から取得する、
ことを特徴とするモデル生成装置。
【請求項5】
請求項4に記載のモデル生成装置において、
前記視線推定装置は、
前記注視対象を注視させるための処理を実行して前記注視対象付近の人の視線を前記注視対象に誘導し、
当該誘導時において、前記注視対象付近の撮像画像から、当該撮像画像に含まれる人について前記状態データと同様のデータを真値の教師データとして取得し、
取得した前記教師データを前記モデル生成装置に送信し、
前記モデル生成装置の前記制御部は、
受信した前記教師データを用いて前記判定モデルをさらに学習させ、
学習後の前記判定モデルを、前記外部通信網を介して前記視線推定装置に送信する、
ことを特徴とするモデル生成装置。
【請求項6】
請求項1ないし5の何れか一項に記載のモデル生成装置と、
外部通信網を介して前記モデル生成装置と通信可能な視線推定装置と、を備え、
前記視線推定装置は、記憶部と、制御部とを備え、
前記視線推定装置の前記制御部は、
前記外部通信網を介して前記モデル生成装置から前記判定モデルを取得し、
取得した前記判定モデルを前記視線推定装置の前記記憶部に記憶させ、
前記注視対象付近の撮像画像を取得し、
取得した前記撮像画像上における人の状態に関する状態データを取得し、
取得した前記状態データを前記判定モデルに適用して前記判定を行う、
ことを特徴とする視線推定システム。
【請求項7】
請求項6に記載の視線推定システムにおいて、
前記視線推定装置の前記制御部は、
前記注視対象の範囲の設定を受け付け、
受け付けた前記注視対象の範囲を示す範囲情報を、前記外部通信網を介して前記モデル生成装置に送信し、
前記モデル生成装置の前記制御部は、
受信した前記範囲情報に基づいて、前記学習データを構成し、
構成した前記学習データにより機械学習モデルを学習させて前記判定モデルを生成し、
生成した前記判定モデルを、前記外部通信網を介して前記視線推定装置に送信し、
前記視線推定装置の前記制御部は、
受信した前記判定モデルを前記視線推定装置の前記記憶部に記憶させ、
記憶した前記判定モデルを用いて前記判定を行う、
ことを特徴とする視線推定システム。
【請求項8】
請求項6に記載の視線推定システムにおいて、
前記視線推定装置の前記制御部は、
前記注視対象を注視させるための処理を実行して前記注視対象付近の人の視線を前記注視対象に誘導し、
当該誘導時において、前記注視対象付近の撮像画像から、当該撮像画像に含まれる人について前記状態データと同様のデータを真値の教師データとして取得し、
取得した前記教師データを前記モデル生成装置に送信し、
前記モデル生成装置の前記制御部は、
受信した前記教師データを用いて前記判定モデルをさらに学習させ、
学習後の前記判定モデルを、前記外部通信網を介して前記視線推定装置に送信する、
ことを特徴とする視線推定システム。
【請求項9】
注視対象付近の撮像画像から前記撮像画像に含まれる人が前記注視対象に視線を向けたか否かを判定モデルにより判定する視線推定装置であって、
前記判定モデルを記憶する記憶部と、
制御部と、を備え、
前記判定モデルは、
2次元領域を格子状に分割して得られる各々の参照領域に人が視線を向けたときの、前記撮像画像上における前記人の状態に関する状態データを、前記参照領域ごとに複数の状態について予め準備し、
前記注視対象の範囲に含まれる前記参照領域の前記状態データに真値を設定し、その他の前記状態データに偽値を設定して学習データを構成し、
構成した前記学習データにより機械学習モデルを学習させることにより生成され、
前記制御部は、
前記注視対象付近の撮像画像を取得し、取得した前記撮像画像上における人の状態に関する状態データを取得し、取得した前記状態データを前記判定モデルに適用して前記判定を行う、
ことを特徴とする視線推定装置。
【請求項10】
注視対象付近の撮像画像から前記撮像画像に含まれる人が前記注視対象に視線を向けたか否かを判定するための判定モデルを生成するモデル生成方法であって、
2次元領域を格子状に分割して得られる各々の参照領域に人が視線を向けたときの、前記撮像画像上における前記人の状態に関する状態データを、前記参照領域ごとに複数の状態について予め保持し、
前記注視対象の範囲に含まれる前記参照領域の前記状態データに真値を設定し、その他の前記状態データに偽値を設定して学習データを構成し、
構成した前記学習データにより機械学習モデルを学習させて前記判定モデルを生成する、
ことを特徴とするモデル生成方法。
【請求項11】
注視対象付近の撮像画像から前記撮像画像に含まれる人が前記注視対象に視線を向けたか否かを判定モデルにより判定する視線推定方法であって、
前記判定モデルの生成において、
2次元領域を格子状に分割して得られる各々の参照領域に人が視線を向けたときの、前記撮像画像上における前記人の状態に関する状態データを、前記参照領域ごとに複数の状態について予め保持し、
前記注視対象の範囲に含まれる前記参照領域の前記状態データに真値を設定し、その他の前記状態データに偽値を設定して学習データを構成し、
構成した前記学習データにより機械学習モデルを学習させて前記判定モデルを生成し、
前記注視対象に人が視線を向けたか否かの判定において、
前記注視対象付近の撮像画像を取得し、
取得した前記撮像画像上における人の状態に関する状態データを取得し、
取得した前記状態データを前記判定モデルに適用して前記判定を行う、
ことを特徴とする視線推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、注視対象に人が視線を向けたか否かを判定するための判定モデルを生成するモデル生成装置およびモデル生成方法、並びに、当該判定モデルを用いて当該判定を行う視線推定システム、視線推定装置および視線推定方法に関する。
【背景技術】
【0002】
近年、デジタルサイネージ等の広告に対する商業的効果を確認する要求が高まっている。この場合、まずは、広告付近の人がその広告を見たか否かを判定する必要がある。この判定方法として、広告付近の空間をカメラで撮像した撮像画像を用いる方法が知られている。また、判定精度をより高めるために、機械学習による判定モデルを用いて人の視線を推定する方法が提案されている。たとえば、以下の特許文献1には、目を含む部分画像をニューラルネットワークの入力層に入力して、人の視線を判定する方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
広告等の注視対象は、その位置が適宜変更されることが想定され得る。これに対し、上記のように、機械学習による判定モデルを用いて広告等の注視対象を人が見たか否かを判定する方法では、注視対象の位置が変更されるごとに、一から判定モデルを作り直す必要がある。このため、注視対象の位置変更に応じて、より簡便に、判定モデルを生成する方法が望まれる。
【0005】
かかる課題に鑑み、本発明は、注視対象の位置変更に応じて、簡便に、判定モデルを生成して、人が注視対象を見たか否かを判定することが可能なモデル生成装置、視線推定システム、視線推定装置、モデル生成方法および視線推定方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、注視対象付近の撮像画像から前記撮像画像に含まれる人が前記注視対象に視線を向けたか否かを判定するための判定モデルを生成するモデル生成装置に関する。この態様に係るモデル生成装置は、2次元領域を格子状に分割して得られる各々の参照領域に人が視線を向けたときの、前記撮像画像上における前記人の状態に関する状態データを、前記参照領域ごとに複数の状態について予め保持する記憶部と、前記注視対象の範囲に含まれる前記参照領域の前記状態データに真値を設定し、その他の前記状態データに偽値を設定して学習データを構成し、構成した前記学習データにより機械学習モデルを学習させて前記判定モデルを生成する制御部と、を備える。
【0007】
本態様に係るモデル生成装置によれば、参照領域ごとに複数の状態について状態データが予め保持されているため、注視対象の位置が変更された場合には、新たに設定された注視対象の範囲に含まれる参照領域の状態データに真値を設定し、その他の状態データに偽値を設定することで、新たに設定された注視対象に対する学習データを構成できる。このため、注視対象の位置変更に応じて、極めて簡便に、学習データを構成でき、結果、判定モデルを簡便に生成できる。
【0008】
本態様に係るモデル生成装置において、前記記憶部は、前記撮像画像上の人から取得される、複数の人体部位の位置を示すキーポイントデータを、前記状態データとして記憶するよう構成され得る。
【0009】
この構成によれば、たとえば、撮像画像に人の顔全体が含まれていなくても、両肩の位置や、鼻および耳の位置等の複数種類のキーポイントデータにより、各々の参照領域に視線が向けられているかを特定できる。よって、上記のように、判定モデルが扱う状態データにキーポイントデータを用いることにより、撮像画像に人の顔が完全に含まれていなくても、判定モデルの機械学習を精度良く行うことができ、また、学習後の判定モデルを用いて当該人が注視対象を見ているか否かを適正に判定できる。
【0010】
本態様に係るモデル生成装置において、記制御部は、前記2次元領域上における前記注視対象の範囲を示す範囲情報を取得し、取得した前記範囲情報に基づいて、前記学習データを構成するよう構成され得る。
【0011】
この構成によれば、取得した範囲情報の範囲に参照領域が含まれるか否かに基づき、各々の参照領域の状態データに真値または偽値を円滑に設定できる。
【0012】
この場合、モデル生成装置は、前記判定モデルにより前記判定を実行する視線推定装置と外部通信網を介して通信するための通信部を備え、前記制御部は、前記視線推定装置において前記2次元領域上に設定された前記注視対象の範囲を示す情報を、前記範囲情報として、前記通信部を介して前記視線推定装置から取得するよう構成され得る。
【0013】
この構成によれば、視線推定装置側において、注視対象の位置が変更され、注視対象の範囲が新たに設定された場合に、制御部は、新たに設定された注視対象の範囲を示す情報を新たな範囲情報として視線推定装置から取得することで、各々の参照領域の状態データに、新たな注視対象の位置に応じた真値または偽値を設定できる。よって、新たな注視対象の位置に応じた学習データを円滑に構成できる。
【0014】
この構成において、前記視線推定装置は、前記注視対象を注視させるための処理を実行して前記注視対象付近の人の視線を前記注視対象に誘導し、当該誘導時において、前記注視対象付近の撮像画像から、当該撮像画像に含まれる人について前記状態データと同様のデータを真値の教師データとして取得し、取得した前記教師データを前記モデル生成装置に送信し、前記制御部は、受信した前記教師データを用いて前記判定モデルをさらに学習させ、学習後の前記判定モデルを、前記外部通信網を介して前記視線推定装置に送信するよう構成され得る。
【0015】
この構成によれば、視線推定装置から受信した教師データを用いて、判定モデルがさらに学習される。よって、判定モデルの判定精度をさらに高めることができ、学習後の判定モデルを視線推定装置に提供することで、視線推定装置における判定をより高精度に行うことができる。
【0016】
本発明の第2の態様は視線推定システムに関する。この態様に係る視線推定システムは、上記第1の態様に係るモデル生成装置と、外部通信網を介して前記モデル生成装置と通信可能な視線推定装置と、を備える。前記視線推定装置は、記憶部と、制御部とを備える。前記視線推定装置の前記制御部は、前記外部通信網を介して前記モデル生成装置から前記判定モデルを取得し、取得した前記判定モデルを前記視線推定装置の前記記憶部に記憶させ、前記注視対象付近の撮像画像を取得し、取得した前記撮像画像上における人の状態に関する状態データを取得し、取得した前記状態データを前記判定モデルに適用して前記判定を行う、制御部を備える。
【0017】
本態様に係る視線推定システムによれば、第1の態様に係るモデル生成装置を備えるため、上記第1の態様と同様、注視対象の位置変更に応じて、極めて簡便に、学習データを構成でき、判定モデルを簡便に生成できる。また、視線推定装置側では、モデル生成装置から提供された判定モデルを用いることにより、撮像画像に含まれる人が注視対象を見ているか否かを高精度に判定できる。
【0018】
本態様に係る視線推定システムにおいて、前記視線推定装置の前記制御部は、前記注視対象の範囲の設定を受け付け、受け付けた前記注視対象の範囲を示す範囲情報を、前記外部通信網を介して前記モデル生成装置に送信するよう構成され得る。また、前記モデル生成装置の前記制御部は、受信した前記範囲情報に基づいて、前記学習データを構成し、構成した前記学習データにより機械学習モデルを学習させて前記判定モデルを生成し、生成した前記判定モデルを、前記外部通信網を介して前記視線推定装置に送信するよう構成され得る。さらに、前記視線推定装置の前記制御部は、受信した前記判定モデルを前記視線推定装置の前記記憶部に記憶させ、記憶した前記判定モデルを用いて前記判定を行うよう構成され得る。
【0019】
この構成によれば、視線推定装置の使用者は、注視対象の位置変更に応じて、2次元領域上における新たな注視対象の範囲を視線推定装置に設定できる。また、モデル生成装置は、この設定に応じて、新たな注視対象の範囲を取得でき、取得した新たな注視対象の範囲に基づき、新たな注視対象の位置に応じた判定モデルを簡便に生成できる。さらに、視線推定装置は、新たに生成された判定モデルを円滑に受信して、新たな注視対象の位置に適する判定を行うことができる。よって、注視対象の位置変更に応じて、新たな判定モデルの生成と受け渡しを円滑に行うことができ、この判定モデルを用いて、撮像画像上の人が注視対象を見ているか否かを精度良く判定できる。
【0020】
この構成において、前記視線推定装置の前記制御部は、前記注視対象を注視させるための処理を実行して前記注視対象付近の人の視線を前記注視対象に誘導し、当該誘導時において、前記注視対象付近の撮像画像から、当該撮像画像に含まれる人について前記状態データと同様のデータを真値の教師データとして取得し、取得した前記教師データを前記モデル生成装置に送信し、前記モデル生成装置の前記制御部は、受信した前記教師データを用いて前記判定モデルをさらに学習させ、学習後の前記判定モデルを、前記外部通信網を介して前記視線推定装置に送信するよう構成され得る。
【0021】
この構成によれば、視線推定装置側において円滑に教師データを生成でき、モデル生成装置側では、視線推定装置から提供される教師データを用いて判定モデルにさらなる機械学習を実行できる。よって、判定モデルを高精度化でき、高精度化された判定モデルを用いて、撮像画像上の人が注視対象を見ているか否かをより精度良く判定できる。
【0022】
本発明の第3の態様は、注視対象付近の撮像画像から前記撮像画像に含まれる人が前記注視対象に視線を向けたか否かを判定モデルにより判定する視線推定装置に関する。この態様に係る視線推定装置は、前記判定モデルを記憶する記憶部と、制御部とを備える。ここで、前記判定モデルは、2次元領域を格子状に分割して得られる各々の参照領域に人が視線を向けたときの、前記撮像画像上における前記人の状態に関する状態データを、前記参照領域ごとに複数の状態について予め準備し、前記注視対象の範囲に含まれる前記参照領域の前記状態データに真値を設定し、その他の前記状態データに偽値を設定して学習データを構成し、構成した前記学習データにより機械学習モデルを学習させることにより生成される。前記制御部は、前記注視対象付近の撮像画像を取得し、取得した前記撮像画像上における人の状態に関する状態データを取得し、取得した前記状態データを前記判定モデルに適用して前記判定を行う。
【0023】
本態様に係る視線推定装置によれば、上記第1の態様と同様の方法で判定モデルが生成されるため、撮像画像上の人が注視対象を見ているか否かを精度良く判定できる。
【0024】
本発明の第4の態様は、注視対象付近の撮像画像から前記撮像画像に含まれる人が前記注視対象に視線を向けたか否かを判定するための判定モデルを生成するモデル生成方法に関する。この態様に係るモデル生成方法は、2次元領域を格子状に分割して得られる各々の参照領域に人が視線を向けたときの、前記撮像画像上における前記人の状態に関する状態データを、前記参照領域ごとに複数の状態について予め保持し、前記注視対象の範囲に含まれる前記参照領域の前記状態データに真値を設定し、その他の前記状態データに偽値を設定して学習データを構成し、構成した前記学習データにより機械学習モデルを学習させて前記判定モデルを生成する。
【0025】
本態様に係るモデル生成方法によれば、上記第1の態様と同様の効果が奏され得る。
【0026】
本発明の第5の態様は、注視対象付近の撮像画像から前記撮像画像に含まれる人が前記注視対象に視線を向けたか否かを判定モデルにより判定する視線推定方法に関する。この態様に係る視線推定方法は、前記判定モデルの生成において、2次元領域を格子状に分割して得られる各々の参照領域に人が視線を向けたときの、前記撮像画像上における前記人の状態に関する状態データを、前記参照領域ごとに複数の状態について予め保持し、前記注視対象の範囲に含まれる前記参照領域の前記状態データに真値を設定し、その他の前記状態データに偽値を設定して学習データを構成し、構成した前記学習データにより機械学習モデルを学習させて前記判定モデルを生成し、前記注視対象に人が視線を向けたか否かの判定において、前記注視対象付近の撮像画像を取得し、取得した前記撮像画像上における人の状態に関する状態データを取得し、取得した前記状態データを前記判定モデルに適用して前記判定を行う。
【0027】
本態様に係るモデル生成方法によれば、上記第2の態様と同様の効果が奏され得る。
【発明の効果】
【0028】
以上のとおり、本発明によれば、注視対象の位置変更に応じて、簡便に、判定モデルを生成して、人が注視対象を見たか否かを判定することが可能なモデル生成装置、視線推定システム、視線推定装置、モデル生成方法および視線推定方法を提供することができる。
【0029】
本発明の効果ないし意義は、以下に示す実施形態の説明により更に明らかとなろう。ただし、以下に示す実施形態は、あくまでも、本発明を実施化する際の一つの例示であって、本発明は、以下の実施形態に記載されたものに何ら制限されるものではない。
【図面の簡単な説明】
【0030】
【
図1】
図1は、実施形態に係る、視線推定システムの構成を示す図である。
【
図2】
図2は、実施形態に係る、視線推定システムを構成する視線推定装置およびモデル生成装置の構成を示すブロック図である。
【
図3】
図3は、実施形態に係る、モデル生成装置の記憶部における各種データの管理状態を示す図である。
【
図4】
図4は、実施形態に係る、状態データセットの生成に用いる2次元領域の構成を模式的に示す斜視図である。
【
図5】
図5(a)~(f)は、それぞれ実施形態に係る、状態データセットの生成方法を模式的に示す図である。
【
図6】
図6(a)~(f)は、それぞれ実施形態に係る、状態データセットの生成方法を模式的に示す図である。
【
図7】
図7は、実施形態に係る、モデル生成装置の記憶部に記憶される状態データセットの構成を示す図である。
【
図8】
図8は、実施形態に係る、学習データの生成方法を模式的に示す図である。
【
図9】
図9は、実施形態に係る、学習データの生成方法を模式的に示す図である。
【
図10】
図10は、実施形態に係る、学習データの構成を示す図である。
【
図11】
図11(a)、(b)は、実施形態に係る、学習データを用いた学習処理を模式的に示す図である。
【
図12】
図12は、実施形態に係る、判定モデルを用いた判定処理を模式的に示す図である。
【
図13】
図13(a)は、実施形態に係る、判定モデルの生成処理を示すフローチャートである。
図13(b)は、実施形態に係る、判定モデルを用いた判定処理を示すフローチャートである。
【
図14】
図14(a)は、実施形態に係る、教師データの生成処理を示すフローチャートである。
図14(b)は、実施形態に係る、教師データを用いた判定モデルの更新処理を示すフローチャートである。
【
図15】
図15は、変更例に係る、カメラと2次元領域の位置関係を模式的に示す斜視図である。
【発明を実施するための形態】
【0031】
以下、本発明の実施形態について図面を参照して説明する。
【0032】
【0033】
視線推定システム1は、カメラ20と、視線推定装置30と、モデル生成装置40とを備える。カメラ20と視線推定装置30は、通信線により通信可能に接続されている。カメラ20と視線推定装置30とが無線で通信を行ってもよい。視線推定装置30は、外部通信網60を介して、モデル生成装置40と通信可能である。外部通信網60は、たとえばインターネットである。さらに、外部通信網60には、データ収集装置50が接続されている。視線推定装置30は、外部通信網60を介して、データ収集装置50とも通信可能である。
【0034】
視線推定装置30は、広告装置10付近の人が、広告装置10の表示領域11(注視対象)に視線を向けたか否かを判定する。視線推定装置30は、モデル生成装置40によって生成された判定モデルとカメラ20からの撮像画像とを用いて、この判定を行う。モデル生成装置40は、後述の学習データにより機械学習モデルを学習させて判定モデルを生成し、生成した判定モデルを、外部通信網60を介して視線推定装置30に送信する。視線推定装置30は、受信した判定モデルを記憶し、当該判定モデルを用いて上述の判定を行う。
【0035】
広告装置10は、たとえば、デジタルサイネージである。広告装置10は、図示しない制御装置からの制御により、所定の広告画面を表示領域11に表示させる。制御装置は、視線推定装置30に通信可能に接続されている。視線推定装置30は、制御装置を介して、広告装置10に表示される画像を制御可能である。視線推定装置30が直接、広告装置10に接続されてもよい。この場合、視線推定装置30が、広告装置10の制御装置として共用されてもよい。
【0036】
広告装置10の上面にカメラ20が設置されている。ここでは、カメラ20が、広告装置10の上面の幅方向中央位置に固定され、広告装置10に一体化されている。カメラ20は、広告装置10と同じ方向を向いている。したがって、カメラ20は、広告装置10の前方付近にいる人を広告装置10側から撮像する。
【0037】
カメラ20により撮像された撮像画像は、随時、視線推定装置30に送信される。視線推定装置30は、受信した1フレーム分の撮像画像から、当該撮像画像上における人の状態に関する状態データを取得する。状態データは、たとえば、撮像画像上の人から取得される、複数の人体部位の位置を示すキーポイントデータである。キーポイントデータは、撮像画像上の当該人の画像範囲に骨格推定エンジンを適用することにより取得される。但し、状態データは、これに限られるものではない。たとえば、状態データが、当該撮像画像上の当該人の画像そのものであってもよい。
【0038】
視線推定装置30は、取得した状態情報を判定モデルに適用して、当該人が、広告装置10の表示領域11に視線を向けたか否かを判定する。視線推定装置30は、この判定結果を、当該人の状態情報とともに、データ収集装置50に送信する。視線推定装置30は、たとえば、パーソナルコンピュータによって構成される。この場合、視線推定のためのアプリケーションプログラムをパーソナルコンピュータにインストールすることで、視線推定装置30が構成される。但し、これに限らず、視線推定装置30が専用機であってもよい。
【0039】
モデル生成装置40は、たとえば、サーバにより構成される。判定モデル生成のためのアプリケーションプログラムをサーバにインストールすることで、モデル生成装置40が構成される。モデル生成装置40における判定モデルの生成方法については、追って、
図4~
図11(b)を参照して説明する。
【0040】
データ収集装置50は、たとえば、サーバにより構成される。データ収集装置50は、視線推定装置30から上述の判定結果および状態情報を収集し、収集したこれらの情報から、広告装置10を見た人の数や頻度等を集計する。
【0041】
なお、
図1には、広告装置10、カメラ20および視線推定装置30の組が1つだけ示されているが、実際は、互いに異なる位置に設置された複数の広告装置10ごとに、この組が成立する。モデル生成装置40は、組ごとに判定モデルを生成して各々の視線推定装置30に提供する。また、データ収集装置50は、各組からの判定結果および状態情報を収集し、収集した情報から、組ごとに、広告装置10を見た人の数や頻度等を集計する。
【0042】
図2は、視線推定システム1を構成する視線推定装置30およびモデル生成装置40の構成を示すブロック図である。
【0043】
視線推定装置30は、制御部31と、記憶部32と、表示部33と、入力部34と、通信部35とを備える。制御部31は、CPU等の演算処理回路を備え、記憶部32に記憶されたプログラムにより各部を制御する。記憶部32は、ROM、RAM、ハードディスク等のメモリを備え、上記プログラムを記憶する。表示部33は、液晶パネル等の表示器を備え、制御部31からの制御により所定の画面を表示する。入力部34は、キーボードやマウス等の入力手段を有する。通信部35は、制御部31からの制御により、カメラ20、モデル生成装置40およびデータ収集装置50と通信を行う。
【0044】
モデル生成装置40は、制御部41と、記憶部42と、通信部43とを備える。制御部41は、CPU等の演算処理回路を備え、記憶部42に記憶されたプログラムにより各部を制御する。記憶部42は、ROM、RAM、ハードディスク等のメモリを備え、上記プログラムを記憶する。この他、記憶部32は、判定モデルの生成に必要な各種データを記憶する。
【0045】
図3は、モデル生成装置40の記憶部42における各種データの管理状態を示す図である。
【0046】
記憶部42には、ユーザ管理情報421と、状態データセット422と、範囲情報423と、学習データ424と、教師データ425と、判定モデル426とが記憶されている。範囲情報423、学習データ424、教師データ425、および判定モデル426は、ユーザU1、U2ごとに管理されている。ユーザU1、U2は、広告装置10、カメラ20および視線推定装置30の組をそれぞれ管理する店舗等である。
図3には、ユーザU1、U2が示されているが、他のユーザについても同様に、範囲情報423、学習データ424、教師データ425、および判定モデル426が管理されている。
【0047】
ユーザ管理情報421は、ユーザを管理するための情報であり、ユーザIDや、当該ユーザの視線推定装置30を識別するための装置IDおよび当該装置と通信を行うためのアドレス情報等を含む。
【0048】
状態データセット422は、学習データを生成するための状態データのデータセットである。状態データセット422の各状態データは、
図1の視線推定装置30において扱われる状態データと同種のデータである。すなわち、視線推定装置30が視線判定に用いる状態データがキーポイントデータである場合、状態データセット422の状態データもキーポイントデータである。状態データセット422に生成方法については、追って、
図4ないし
図7を参照して説明する。
【0049】
範囲情報423は、広告装置10の表示領域11等、注視対象の範囲を示す情報である。範囲情報423については、追って、
図8および
図9を参照して説明する。
【0050】
学習データ424は、判定モデル426の学習に用いるデータである。学習データ424は、状態データセット422と範囲情報423とを用いて生成される。学習データ424の生成方法については、追って、
図8ないし
図10を参照して説明する。
【0051】
教師データ425は、各々のユーザの視線推定装置30から提供され、判定モデル426の学習に用いるデータである。教師データ425の生成方法および取得方法については、追って、
図14(a)、(b)を参照して説明する。
【0052】
判定モデル426は、注視対象付近の人が注視対象を見たか否かを判定するための機械学習モデルである。判定モデル426は、機械学習モデルを学習データ424で学習させて生成される。生成された判定モデル426は、さらに、ユーザ側の視線推定装置30から提供された教師モデルにより学習されて更新される。判定モデル426の学習方法については、追って、
図11(a)、(b)を参照して説明する。
【0053】
ユーザごとに生成および更新された判定モデル426は、
図1の外部通信網60を介して、ユーザ側の視線推定装置30に送信される。視線推定装置30は、受信した判定モデル426を記憶し、記憶した判定モデル426を用いて、注視対象付近の人が注視対象を見たか否かを判定する。上記のように、判定結果は、状態データとともにデータ収集装置50に送信される。
【0054】
なお、
図3では、ユーザU1、U2ごとに、範囲情報423、学習データ424、教師データ425および判定モデル426が管理されているが、1ユーザが、広告装置10とカメラ20の組合せを複数設置する場合、当該ユーザについては、これらの組合せごとに、範囲情報423、学習データ424、教師データ425および判定モデル426が管理される。
【0055】
図4は、状態データセット422の生成に用いる2次元領域70の構成を模式的に示す斜視図である。
【0056】
図4には、通路2に面して広告装置10が設置された状態が示されている。便宜上、
図4には、互いに直交するXYZ軸が示されている。X軸方向は、通路2に沿う方向であり、Y軸方向は通路2の幅方向である。Z軸正方向は、鉛直上向き方向である。
図4の例では、3人の人3が、通路2をX軸正方向に歩いている。
【0057】
図4に示すように、状態データセット422の生成において、仮想平面である2次元領域70が、注視対象である広告装置10の付近に設定される。ここでは、2次元領域70は、X-Z平面に平行に設定されている。2次元領域70は、カメラ20の撮像方向D1(撮像視野の中心軸方向)に対して所定の位置関係となるように設定される。ここでは、カメラ20の撮像方向D1は、Y軸正方向であり、2次元領域70は、カメラ20の撮像方向D1に垂直となるように設定される。2次元領域70は、広告装置10の表示領域11と実質的に平行である。2次元領域70の中心は、カメラ20の撮像視野の中心軸に一致している。
【0058】
2次元領域70は、X軸方向(水平方向)およびZ軸方向(鉛直方向)にそれぞれ所定の広さを有する。ここでは、2次元領域70は、X軸方向に平行な長辺を有する長方形である。但し、2次元領域70の設定方法は、
図4に示した設定方法に限られるものではない。たとえば、2次元領域70が正方形であってもよい。2次元領域70は、広告装置10の表示領域11とともに、その他の注視対象が配置されると想定され得る範囲をカバーするように設定されればよい。
【0059】
2次元領域70が格子状に分割されて、複数の参照領域71が設定される。
図4の例では、2次元領域70が、X軸方向(水平方向)およびZ軸方向(鉛直方向)に同じピッチで格子状に分割されている。ただし、2次元領域70を格子状に分割する方法は、これに限られるものではない。たとえば、X軸方向における2次元領域70の分割ピッチと、Z軸方向における2次元領域70の分割ピッチとが、異なっていてもよい。
【0060】
カメラ20は、2次元領域70に設定された各々の参照領域71を人3が見たときの人3の状態を撮像可能に配置されればよい。すなわち、カメラ20は、撮像方向D1と2次元領域70との位置関係が固定された状態で、2次元領域70付近の人3を撮像可能に配置されればよい。
【0061】
図5(a)~(f)および
図6(a)~(f)は、状態データセット422の生成方法を模式的に示す図である。
【0062】
状態データセット422は、各々の参照領域71に人が視線を向けたときの、撮像画像上における人の状態に関する状態データを、参照領域71ごとに複数の状態について集めたデータセットである。
【0063】
図5(a)~(f)には、2次元領域70の左上の角(原点)から3行目および3列目にある参照領域71aに人3が視線を向けたときの人3の状態を、Y軸正側から見たときの様子が示されている。
図5(a)~(f)では、人3の鼻3aが向く方向に矢印が付されている。
図5(d)~(f)では、
図5(a)~(c)よりも人3がY軸正側にいるため、人3の範囲が大きくなっている。
【0064】
この場合、参照領域71aに対して、6つの状態データが取得される。上記のように状態データがキーポイントデータである場合、
図5(a)~(f)の状態において、それぞれキーポイントデータが取得され、取得されたキーポイントデータが、参照領域71aに紐づけられる。
【0065】
ここで、キーポイントデータは、たとえば、撮像画像上における以下の人体部位(キーポイント)の座標位置(画素位置)として取得される。
【0066】
<キーポイント>
骨格中心(左右の肩間の中央)、左足首、右足首、左耳、右耳、左ひじ、右ひじ、左目、右目、左もも、右もも、左ひざ、右ひざ、首、鼻、左肩、右肩、左手首、右手首、口角左、口角右
【0067】
キーポイントデータの取得には、カメラ20と2次元領域70との関係を
図4と同様の関係に設定した環境下で、カメラ20の撮像視野内の様々な位置において、人が様々な姿勢で参照領域71aを見たときの撮像画像を実際に取得し、取得した各々の撮像画像を骨格推定エンジンに適用して、撮像画像における各キーポイントの座標位置(画素位置)を抽出する方法が用いられ得る。
【0068】
あるいは、キーポイントデータをバーチャル空間で抽出可能な抽出エンジンを用いて、人が参照領域71aを見たときのキーポイントデータが取得されてもよい。この種の抽出エンジンが既に種々開発され利用可能となっている。バーチャル空間には、予め上記キーポイントが付された仮想の人体モデルが含まれる。操作者は、この人体モデルの位置および姿勢を任意に変更できる。このバーチャル空間に、
図4と同様の関係でカメラ20の撮像視野と2次元領域70とが設定される。操作者は、2次元領域70の各々の参照領域71に人体モデルの視線を向けることができる。また、操作者は、そのときの人体モデルのキーポイントの、カメラ20の撮像画像上における座標位置を抽出エンジンに抽出させ得る。
【0069】
この場合、操作者は、
図5(a)~(f)のように、人3に対応する人体モデルの視線を参照領域71aに設定しつつ、人体モデルの位置および姿勢を変化させる操作を行った上で、キーポイントデータを抽出する操作を行う。これにより、それぞれの位置および姿勢に応じたキーポイントデータが取得される。取得されたキーポイントデータは、参照領域71aに紐付けられる。
【0070】
図6(a)~(f)の場合も、上記と同様、実際の撮像またはバーチャル空間に基づく抽出エンジンを用いて、人3が参照領域71bを見たときの状態データが取得され、参照領域71bに紐付けられる。参照領域71a、71b以外の参照領域71についても、上記と同様の方法により、複数の状態データが取得され、各々の参照領域71に紐付けられる。
【0071】
なお、
図5(a)~(f)および
図6(a)~(f)には、それぞれ、参照領域71a、71bを見たときの人の状態が6種類ずつ示されているが、状態データセット422において1つの参照領域71に紐付けられる実際の状態データは、6つより多く設定される。後述の機械学習の観点からは、各々の参照領域71に紐付けられる状態データの数は、なるべく多い方が好ましい。
【0072】
図7は、モデル生成装置40の記憶部42に記憶される状態データセット422の構成を示す図である。
【0073】
状態データセット422は、上記のとおり、各々の参照領域71に複数の状態データが紐付けられて構成される。
図7の例では、各々の参照領域71にm個の状態データが紐付けられている。
図7では、各々の参照領域71に付された番号が括弧書きで示されている。参照領域71の番号は、たとえば、2次元領域70の左上の角の参照領域71を原点(番号1)として、2次元領域70の右下の角の参照領域71(番号n)まで行方向および列方向に順番に付される。
【0074】
たとえば、1番目の参照領域(1)には、D1_1~D1_mのm個の状態データが紐付けられている。上記のとおり、状態データD1_1~D1_mは、参照領域(1)を人が見たときの当該人の状態(位置および姿勢)を示すデータである。上記のとおり、状態データD1_1~D1_mは、それぞれ、複数の人体部位(キーポイント)の撮像画像上における座標位置を示すキーポイントデータからなっている。
【0075】
状態データセット422は、モデル生成装置40とは別の装置によって生成されて、モデル生成装置40にインストールされてよい。あるいは、モデル生成装置40自体が状態データセット422を生成する機能を有していてもよい。
【0076】
この場合、たとえば、上述のバーチャル空間に配置された人体モデルを用いてキーポイントデータを抽出するための抽出エンジンが、モデル生成装置40にインストールされる。モデル生成装置40の管理者は、モデル生成装置40に接続された表示部および入力部(図示せず)を用いて抽出エンジンを実行し、上記の操作により、状態データセット422を生成すればよい。
【0077】
なお、
図7の例では、各々の参照領域71に紐付けられる状態データの数が等しく設定されたが、各々の参照領域71に紐付けられる状態データの数が互いに異なっていてもよい。
【0078】
図8は、
図3に示した学習データ424の生成方法を模式的に示す図である。
【0079】
学習データ424は、上述の状態データセット422のうち、2次元領域70において注視対象の範囲に対応する参照領域71の状態データに真値を設定し、その他の参照領域71に偽値を設定することにより生成される。
図8の例では、広告装置10の表示領域11が注視対象であるため、表示領域11に少なくとも一部が掛かる参照領域71に対応する状態データに真値が設定され、その他の参照領域71に対応する状態データには偽値が設定される。より詳細には、
図8において斜線が付された領域R1に含まれる20個の参照領域71に対応する状態データには真値が設定され、その他の参照領域71に対応する状態データには偽値が設定される。
【0080】
なお、注視対象は、広告装置10の表示領域11に限られるものではない。たとえば、
図9のように、2次元領域70にさらに広告媒体4が含まれる場合は、さらに、この広告媒体4が注視対象に設定されてもよい。この場合も、広告装置10の場合と同様、広告媒体4の領域に少なくとも一部が掛かる参照領域71に対応する状態データに真値が設定され、その他の参照領域71に対応する状態データには偽値が設定される。より詳細には、
図9において斜線が付された領域R2に含まれる12個の参照領域71に対応する状態データには真値が設定され、その他の参照領域71に対応する状態データには偽値が設定される。
【0081】
モデル生成装置40の制御部41は、2次元領域70上における注視対象の範囲を示す範囲情報423を取得し、取得した範囲情報423に基づいて、学習データ424を構成する。本実施形態では、上記のように、カメラ20が広告装置10の所定の位置に設置されているため、表示領域11(注視対象)と2次元領域70との間の位置関係は、固定される。このため、2次元領域70上における、この注視対象(表示領域11)の範囲も固定され、領域R1に含まれる参照領域71も予め固定される。
【0082】
したがって、モデル生成装置40の記憶部42には、2次元領域70上における表示領域11(注視対象)の範囲を示す範囲情報423として固定の情報が予め保持されればよい。この場合、モデル生成装置40の制御部41は、広告装置10の表示領域11に対応する範囲の範囲情報423を、記憶部42から取得すればよい。
【0083】
他方、
図9の広告媒体4は、視線推定装置30側のユーザが任意に設置するものであるため、モデル生成装置40側では、その範囲を把握できない。このため、2次元領域70上における広告媒体4の範囲は、視線推定装置30側のユーザが、視線推定装置30を介してモデル生成装置40に提供する必要がある。
【0084】
この場合、たとえば、視線推定装置30の表示部33に、広告媒体4の範囲を設定するための入力画面が表示される。たとえば、この入力画面には、
図8と同様、広告装置10を正面から見たときの2次元領域70および参照領域71と、広告装置10の表示領域11に対応する領域R1とが表示される。視線推定装置30のユーザは、この入力画面において、広告媒体4に対応する範囲を、入力部34を操作して指定する。これにより、視線推定装置30の制御部31は、2次元領域70上における、指定された範囲を示す範囲情報423を、新たな注視対象(広告媒体4)の識別情報とともに、モデル生成装置40に送信する。
【0085】
こうして、モデル生成装置40の制御部41は、2次元領域70上における広告媒体4の範囲を、受信した範囲情報423から把握する。そして、制御部41は、広告装置10の場合と同様、広告媒体4の範囲に対応する参照領域71に対応する状態データに真値を設定し、その他の参照領域71に対応する状態データに偽値を設定する。これにより、
図9の例に対する学習データ424が生成される。
【0086】
【0087】
上記のように、学習データ424は、各々の参照領域71の状態データに真値または偽値が設定されて構成される。ここで、
図9のように注視対象(表示領域11、広告媒体4)が2つある場合、注視対象ごとに真値または偽値が設定される。
図10には、この場合の学習データ424の構成例が示されている。この構成例において、注視対象(1)は表示領域11であり、注視対象(2)は広告媒体4である。
【0088】
注視対象(1)(広告装置10の表示領域11)については、注視対象(1)の範囲に含まれる参照領域71の状態データに真値が設定され、それ以外の参照領域71の状態データには偽値が設定される。注視対象(2)(広告媒体4)については、注視対象(2)の範囲に含まれる参照領域71の状態データに真値が設定され、それ以外の参照領域71の状態データには偽値が設定される。
【0089】
図8のように注視対象が1つだけである場合、注視対象(1)のみについて、真値または偽値がそれぞれの参照領域71の状態データに設定される。3つ以上の注視対象が2次元領域70に設定された場合は、注視対象ごとに、真値または偽値がそれぞれの参照領域71の状態情報に設定される。
【0090】
図11(a)、(b)は、学習データ424を用いた学習処理を模式的に示す図である。
【0091】
本実施形態では、機械学習として、ニューラルネットワークを用いた機械学習が適用される。たとえば、ニューロンを多段に組み合わせたディープラーニングによるニューラルネットワークが適用される。但し、適用される機械学習はこれに限られるものではなく、サポートベクターマシーンや決定木等の他の機械学習が適用されてもよい。
【0092】
モデル生成装置40の制御部41は、学習データ424において各々の参照領域71に対応付けられている状態データを、
図11(a)、(b)の機械学習モデル(ニューラルネットワーク)101の入力101aに適用する。入力101aには、状態データであるキーポイントデータの各々のキーポイント(鼻、首等の人体部位)の項目が割り当てられる。各々のキーポイントの座標位置が、対応する入力101aの項目に入力される。機械学習モデル101の出力101bには、注視対象(1)~(k)の項目が割り当てられている。
【0093】
機械学習は、学習データ424に含まれる状態データおよび各注視対象の真値/偽値を、参照領域71ごとに順次、機械学習モデル101の入力101aおよび出力101bに設定することにより行われる。すなわち、機械学習モデル101の入力101aに、処理対象の状態データが入力される。また、この状態データとの間で真値が設定された注視対象(1)の出力101bの項目が100%の確率値に設定され、その他の項目は0%の確率値に設定される。この状態で、当該状態情報を用いた学習が行われる。
【0094】
図11(a)には、学習データ424のうち、注視対象(1)が真値に設定された状態データが入力101aに入力されたときの出力101bの設定状態が示されている。この場合、出力101bの項目のうち、注視対象(1)の項目に100%の確率値が設定され、その他の項目には0%の確率値が設定される。
【0095】
図11(b)には、学習データ424のうち、何れの注視対象も偽値に設定された状態データが入力101aに入力されたときの出力101bの設定状態が示されている。この場合、出力101bの何れの項目にも、0%の確率値に設定される。
【0096】
モデル生成装置40の制御部41は、
図10に示した学習データ424に含まれる状態情報と各々の注視対象に対する真値/偽値との組合せの全てを、順番に入力101aの各項目および出力101bの各項目に設定して、機械学習モデル101に対する学習を実行する。同じ参照領域71に紐付けられた状態データを入力101aに入力する際には、同じ確率値が出力101bの各項目に設定される。こうして、制御部41は、当該学習データ424による学習済みの機械学習モデル101、すなわち、判定モデル426を生成する。
【0097】
上記のように、学習データ424は、各々のユーザから取得した範囲情報423に基づいて、ユーザごとに生成される。範囲情報423は、注視対象の数および位置に応じて、ユーザごとに異なっている。これに応じて、学習データ424もユーザごとに異なる。モデル生成装置40の制御部41は、各々のユーザに対応する学習データ424を上記のように機械学習モデル101に適用して、ユーザごとに、判定モデル426を生成する。制御部41は、生成した判定モデル426を、
図3のようにユーザごとに管理するとともに、対応するユーザの視線推定装置30に送信する。
【0098】
なお、機械学習モデル101の入力101aには、キーポイントデータの他に、撮像画像から得られる補助データが入力されてもよい。この場合、学習データ424には、各々の状態データに、さらに補助データが紐付けられる。補助データとして、たとえば、人3の顔サイズ(縦横幅)、顔中心、目中心、目間距離、顔角度ヨー(頷く方向の角度)、顔角度ピッチ(左右に回す方向の角度)、顔角度ロール(傾げる方向の角度)等が挙げられる。これらの補助データは、たとえば、撮像画像に対する画像処理(顔検出を含む)により取得され得る。
【0099】
また、学習データ424において参照領域71に紐付けられる状態データが人の画像そのものである場合、入力101aには状態データとして人の画像が入力される。この場合、入力101aの各項目は、たとえば、撮像画像の各画素に対応付けられ、状態データである人の画像の、撮像画像における画素に対応する入力101aの項目に、学習データ424の人の画像の各画素の画素値(たとえば、輝度値)が入力される。この場合の出力101bの設定および学習処理は、上記と同様である。
【0100】
あるいは、入力101aの各項目は、撮像画像を縦横にマトリクス状に分割した各画素ブロックに対応付けられてもよい。この場合、学習データ424における各々の参照領域71の状態データは、たとえば、人3の範囲に含まれる各々の画素ブロックの平均画素値(平均輝度値)として取得される。学習処理時には、学習データ424に含まれる各々の状態データの各画素ブロックの平均画素値が、入力101aの対応する項目に入力される。この場合も、出力101bの設定および学習処理は、上記と同様である。
【0101】
このように、機械学習モデル101の入力101aの各項目は、学習データ424において参照領域71に紐付けられる状態データの内容に応じて、適宜、変更され得る。
【0102】
図12は、判定モデル426を用いた判定処理を模式的に示す図である。
【0103】
視線推定装置30の制御部31は、1フレーム分の撮像画像から人3の画像を抽出する機能と、抽出した人3の画像から状態データを抽出する機能とを備えている。上記のように状態データがキーポイントデータである場合、制御部31は、撮像画像から抽出した人3の画像から人の骨格を推定してキーポイントデータを抽出する骨格推定エンジンを備える。
【0104】
視線推定装置30の制御部31は、1フレーム分の撮像画像に含まれる人3ごとに状態データを抽出し、抽出した状態データを判定モデル426の入力426aに入力する。こうして、判定モデル426の入力426aに状態データが入力されると、判定モデル426の出力426bの各項目から、各項目に割り当てられた注視対象を当該人3が見た確率が出力される。
図12の例では、注視対象(1)の項目から85%の確率が出力され、注視対象(2)、(3)の項目から10%、5%の確率がそれぞれ出力されている。
【0105】
各項目の確率は、出力条件426cと照合される。出力条件426cには、たとえば、所定の閾値以上で且つ最高の確率を出力した項目の注視対象を人3が見たと判定する条件が適用される。閾値は、確度が低い判別結果が出力されることを防ぐために設定される。
図12の例では、確率が85%である注視対象(1)を人が見たとの判定結果426dが出力される。
【0106】
人3が何れの注視対象も見ていない場合、出力426bの何れの項目からも低い確率が出力される。この場合、何れの確率も出力条件426cを充足しないため、人3が見た注視対象は存在しないことを示す判定結果426dが出力される。
【0107】
視線推定装置30の制御部31は、この判定を、1フレームの撮像画像に含まれる人3ごとに行う。そして、制御部31は、各々の人3について取得した判定結果を、その人3から得た状態情報とともに、データ収集装置50に送信する。
【0108】
図13(a)は、判定モデル426の生成処理を示すフローチャートである。
【0109】
モデル生成装置40の制御部41は、ユーザの視線推定装置30から判定モデル426の生成要求を受信することにより(S101:YES)、ステップS102以降の判定モデルの生成処理を実行する。ステップS101において、制御部41は、生成要求とともに、当該ユーザが設定した注視対象の、撮像画像上における範囲を示す範囲情報423を受信する。
【0110】
制御部41は、受信した範囲情報423に基づいて、
図8および
図9に示した処理により、状態データセット422に含まれる各々の参照領域の状態データに真値または偽値を設定して、学習データ424を生成する(S102)。そして、制御部41は、生成した学習データ424を用いて、
図11(a)、(b)に示した処理により、当該ユーザが設定した注視対象に対応する判定モデル426を生成する(S103)。制御部41は、生成した判定モデル426を、記憶部42に記憶するとともに、当該ユーザの視線推定装置30に送信する(S104)。これにより、制御部41は、
図13(a)の処理を終了する。
【0111】
視線推定装置30の制御部31は、
図13(a)のステップS104により送信された判定モデル426を受信する。制御部31は、受信した判定モデル426を記憶部32に記憶させる。制御部31は、記憶した判定モデル426を用いて、注視対象を人が見たか否かの判定を行う。
【0112】
図13(b)は、判定モデル426を用いた判定処理を示すフローチャートである。
【0113】
視線推定装置30の制御部31は、一定周期で、カメラ20から撮像画像を取得する(S201)。制御部31は、取得した撮像画像から人3を抽出し(S202)、抽出した人ごとに状態データを取得する(S203)。そして、制御部31は、取得した状態データを、
図12に示したように判定モデル426に適用して、人ごとに、それぞれの注視対象を見たか否かを判定する(S204)。制御部31は、この判定結果を、当該人の状態情報とともに、データ収集装置50に送信する(S205)。これにより、制御部31は、
図13(b)の処理を終了する。
【0114】
図14(a)は、教師データ425の生成処理を示すフローチャートである。
【0115】
視線推定装置30の制御部31は、広告装置10(注視対象)を注視させるための処理を実行して広告装置10付近の人の視線を広告装置10に誘導する(S211)。ステップS211において制御部31は、たとえば、高輝度でフラッシュする誘導画像を、広告装置10の制御装置を介して広告装置10に表示させる。広告装置10にスピーカが配置されている場合、このスピーカから効果音を出力させて、広告装置10付近の人の視線を広告装置10に誘導してもよい。
【0116】
制御部31は、この誘導動作時にカメラ20から撮像画像を取得する(S212)。制御部31は、取得した撮像画像から人を抽出し(S213)、抽出した人ごとに状態データを取得する(S214)。制御部31は、取得した状態データを記憶部32に保持された判定モデル426に適用して、人ごとに、広告装置10の表示領域11(注視対象)を見たか否かを判定する(S215)。制御部31は、広告装置10の表示領域11を見たと判定した状態データと、表示領域11の範囲を示す情報および真値を示す情報とにより教師データ425を生成し、生成した教師データ425をモデル生成装置40に送信する(S216)。これにより、制御部31は、
図14(a)の処理を終了する。
【0117】
なお、
図14(a)の処理では、ステップS215の判定により、教師データ425として用いる状態データが制限されたが、ステップS211の誘導動作により広告装置10付近の人3のほぼ全てが広告装置10の表示領域11を見る確率が高いと想定されれば、ステップS215が省略されてもよい。この場合、ステップS216では、ステップS214で取得された全ての人の状態データと、表示領域11の範囲を示す情報および真値を示す情報とにより教師データ425が生成され、生成された教師データ425がモデル生成装置40に送信される。
【0118】
また、上記では、注視対象の1つである広告装置10の表示領域11に対して教師データ425が生成されたが、他の注視対象についても、教師データ425が生成されてもよい。この場合、他の注視対象に視線を誘導するための処理が実行される。
【0119】
たとえば、教師データ425の生成対象が
図9の広告媒体4である場合、この広告媒体4の四隅に発光器を配置し、この発光器を点滅させて、広告媒体4付近の人3の視線を広告媒体4に誘導してもよい。また、上記と同様、広告媒体4にスピーカを配置し、このスピーカから効果音を出力させて、広告媒体4付近の人3の視線を広告媒体4に誘導してもよい。この場合も、
図14(a)の処理により、広告媒体4に対する教師データ425の生成と、モデル生成装置40に対する教師データ425の送信とが行われ得る。
【0120】
図14(b)は、教師データ425を用いた判定モデル426の更新処理を示すフローチャートである。
【0121】
モデル生成装置40の制御部41は、
図14(a)のステップS215で送信された教師データ425を受信すると(S111:YES)、受信した教師データ425を用いて、当該モデル生成装置40に対応する判定モデル426を学習させて、当該判定モデル426を更新する(S112)。
【0122】
具体的には、制御部41は、判定モデル426の出力426bの項目のうち、受信した教師データ425に含まれている範囲を示す情報に対応する注視対象の項目に、100%の確率値を設定し、その他の項目に0%の確率値を設定する。そして、制御部41は、判定モデル426の入力426aに教師データ425の状態データを入力して、判定モデル426を学習させる。制御部41は、受信した教師データ425に含まれる各人3の状態データごとに、この学習を実行する。そして、全ての人の状態データについて学習が終了すると、判定モデル426の更新が完了する。
【0123】
制御部41は、更新後の判定モデル426を、記憶部42に記憶させるとともに、教師データ425を受信した視線推定装置30に送信する(S113)。これにより、制御部41は、
図14(b)の処理を終了する。
【0124】
更新後の判定モデル426を受信した視線推定装置30の制御部31は、既に記憶部42に記憶している判定モデル426に代えて、受信した判定モデル426を記憶部42に記憶させる。その後、視線推定装置30の制御部31は、新たに記憶した判定モデル426を用いて、注視対象付近の人が注視対象を見たか否かの判定を行う。
【0125】
視線推定装置30の制御部31は、
図14(a)の処理を任意のタイミングで、あるいは、所定の頻度で定期的に実行して、その時々に注視対象付近の人の状態に応じた教師データ425を生成し、生成した教師データ425をその都度、モデル生成装置40に送信する。モデル生成装置40の制御部41は、視線推定装置30から教師データ425を受信するごとに
図14(b)の処理を実行して、判定モデル426を更新し、更新後の判定モデル426を視線推定装置30に送信する。こうして、判定モデル426は、徐々に判定精度が向上する。これにより、視線推定装置30の判定制度を向上させることができる。
【0126】
<実施形態の効果>
本実施形態によれば、以下の効果が奏され得る。
【0127】
図3に示したように、モデル生成装置40の記憶部42には、複数の状態で人が各々の参照領域71を見たときの状態データ群(状態データセット422)が予め保持されている。このため、ユーザサイドにおいて注視対象の位置が変更された場合には、
図8および
図9に示したように、新たに設定された注視対象の範囲に含まれる参照領域71の状態データに真値を設定し、その他の状態データに偽値を設定することで、新たに設定された注視対象に対する学習データ424を構成できる。このため、注視対象の位置変更に応じて、極めて簡便に、学習データ424を構成でき、結果、判定モデル426を簡便に生成できる。
【0128】
上記のように、モデル生成装置40の記憶部42は、撮像画像上の人から取得される、複数の人体部位の位置を示すキーポイントデータを、状態データとして記憶する。これにより、たとえば、撮像画像に人3の顔全体が含まれていなくても、両肩の位置や、鼻および耳の位置等の複数種類のキーポイントデータにより、各々の参照領域71に視線が向けられているかを特定できる。よって、上記のように、判定モデル426が扱う状態データにキーポイントデータを用いることにより、撮像画像に人3の顔が完全に含まれていなくても、判定モデル426の機械学習を精度良く行うことができ、また、学習後の判定モデル426を用いて当該人が注視対象を見ているか否かを適正に判定できる。
【0129】
図8および
図9を参照して説明したように、モデル生成装置40の制御部41は、2次元領域70上における注視対象の範囲を示す範囲情報423を取得し、取得した範囲情報423に基づいて、学習データ424を構成する。これにより、取得した範囲情報423の範囲に参照領域71が含まれるか否かに基づき、各々の参照領域71の状態データに真値または偽値を円滑に設定できる。
【0130】
図9を参照して説明したように、モデル生成装置40の制御部41は、視線推定装置30において2次元領域70上に設定された注視対象(広告媒体4)の範囲を示す情報を、範囲情報423として、通信部43を介して視線推定装置30から取得する。これにより、視線推定装置30側において、注視対象の位置が変更され、注視対象の範囲が新たに設定された場合に、制御部41は、新たに設定された注視対象の範囲を示す情報を新たな範囲情報423として視線推定装置30から取得することで、各々の参照領域71の状態データに、新たな注視対象の位置に応じた真値または偽値を設定できる。よって、新たな注視対象の位置に応じた学習データ424を円滑に構成できる。
【0131】
図14(a)に示したように、視線推定装置30の制御部31は、注視対象を注視させるための処理を実行して注視対象付近の人の視線を前記注視対象に誘導し(S211)、当該誘導時において、注視対象付近の撮像画像から、当該撮像画像に含まれる人について状態データと同様のデータを真値の教師データ425として取得し(S212~S216)、取得した教師データ425をモデル生成装置40に送信する(S216)。また、
図14(b)に示したように、モデル生成装置40の制御部41は、受信した教師データ425を用いて判定モデル426をさらに学習させ(S112)、学習後の判定モデル426を、外部通信網60を介して視線推定装置30に送信する。これにより、視線推定装置30から受信した教師データ425を用いて、判定モデル426がさらに学習される。よって、判定モデル426の判定精度をさらに高めることができ、学習後の判定モデル426を視線推定装置30に提供することで、視線推定装置30における判定をより高精度に行うことができる。
【0132】
図1に示したように、視線推定システム1は、モデル生成装置40と、外部通信網60を介してモデル生成装置40と通信可能な視線推定装置30と、を備える。視線推定装置30の制御部31は、外部通信網60を介してモデル生成装置40から判定モデル426を取得し、取得した判定モデル426を自身の記憶部32に記憶させる。
図13(b)に示したように、視線推定装置30の制御部31は、注視対象付近の撮像画像をカメラ20から取得し(S201)、取得した撮像画像上における人の状態に関する状態データを取得し(S202、S203)、取得した状態データを判定モデル426に適用して、撮像画像に含まれる人が注視対象に視線を向けたか否かを判定する(S204)。このように、視線推定システム1は、上述のモデル生成装置40を備えるため、上記のように、注視対象の位置変更に応じて、極めて簡便に学習データ424を構成でき、判定モデル426を簡便に生成できる。また、視線推定装置30側では、モデル生成装置40から提供された判定モデル426を用いることにより、撮像画像に含まれる人が注視対象を見ているか否かを高精度に判定できる。
【0133】
また、このように構成された視線推定システム1において、視線推定装置30の制御部31は、
図8および
図9を参照して説明したように、注視対象の範囲の設定を受け付け、受け付けた注視対象の範囲を示す範囲情報を、外部通信網60を介してモデル生成装置40に送信する。また、モデル生成装置40の制御部41は、受信した範囲情報に基づいて、
図13(a)の処理により、学習データ424を構成し、構成した学習データ424により機械学習モデル101を学習させて判定モデル426を生成し、生成した判定モデル426を、外部通信網60を介して視線推定装置30に送信する。そして、視線推定装置30の制御部31は、受信した判定モデル426を自身の記憶部426に記憶させ、記憶した判定モデル426を用いて、人が注視対象に視線を向けたか否かの判定を行う。
【0134】
このような構成により、視線推定装置30の使用者は、注視対象の位置変更に応じて、2次元領域上における新たな注視対象の範囲を視線推定装置30に設定できる。また、モデル生成装置40は、この設定に応じて、新たな注視対象の範囲を取得でき、取得した新たな注視対象の範囲に基づき、新たな注視対象の位置に応じた判定モデル426を簡便に生成できる。さらに、視線推定装置30は、新たに生成された判定モデル426を円滑に受信して、新たな注視対象の位置に適する判定を行うことができる。よって、注視対象の位置変更に応じて、新たな判定モデルの生成と受け渡しを円滑に行うことができ、この判定モデルを用いて、撮像画像上の人が注視対象を見ているか否かを精度良く判定できる。
【0135】
また、このように構成された視線推定システム1において、視線推定装置30の制御部31は、
図14(a)に示したように、注視対象を注視させるための処理を実行して注視対象付近の人の視線を注視対象に誘導し(S211)、当該誘導時において、注視対象付近の撮像画像から、当該撮像画像に含まれる人について状態データと同様のデータを真値の教師データ425として取得し(S212~S216)、取得した教師データ425をモデル生成装置40に送信し、モデル生成装置40の制御部41は、受信した教師データ425を用いて判定モデル426をさらに学習させ、学習後の判定モデル426を、外部通信網60を介して視線推定装置30に送信する。これにより、上記のように、視線推定装置30側において円滑に教師データ425を生成でき、モデル生成装置40側では、視線推定装置30から提供される教師データ425を用いて判定モデル426にさらなる機械学習を実行できる。よって、判定モデル426を高精度化でき、高精度化された判定モデル426を用いて、撮像画像上の人が注視対象を見ているか否かをより精度良く判定できる。
【0136】
図2に示したように、視線推定装置30は、判定モデル426を記憶する記憶部32と、制御部31とを備える。制御部31は、注視対象付近の撮像画像をカメラ20から取得し、取得した撮像画像上における人の状態に関する状態データを取得し、取得した状態データを判定モデル426に適用して、撮像画像に含まれる人が注視対象に視線を向けたか否かを判定する。この構成に係る視線推定装置30によれば、上記方法で判定モデル426が生成されるため、撮像画像上の人が注視対象を見ているか否かを精度良く判定できる。
【0137】
<変更例1>
上記実施形態では、カメラ20が広告装置10の所定の位置に一体的に設置されたが、たとえば、
図15に示すように、カメラ20が、広告装置10とは別に設置されてもよい。たとえば、カメラ20がユーザによって任意の場所に設置されてもよく、注視対象付近を撮像する汎用の監視カメラが、カメラ20として用いられてもよい。この場合、2次元領域70は、たとえば、広告装置10の表示領域11の所定位置(たとえば、上辺の中央位置)を基準に設定され得る。
【0138】
このように、カメラ20の位置および撮像方向がユーザごとに異なると、カメラ20の撮像視野と2次元領域70との関係も、ユーザごとに異なることになる。このため、モデル生成装置40は、ユーザごと、すなわち、カメラ20の設置位置および視野方向ごとに、状態データセット422を保持する必要がある。
【0139】
但し、この場合も、
図9および
図10に示したように、ユーザ側における注視対象の位置変更に応じて、当該ユーザの状態データセット422における各参照領域71の状態データに真値または偽値を設定することにより、位置変更後の注視対象に応じた学習データ424を簡便に生成でき、生成した学習データ424を用いた学習により、当該ユーザの判定モデル426を簡便に生成できる。
【0140】
なお、上記実施形態のように、カメラ20が広告装置10の所定の位置に一体的に設置されている場合は、この広告装置10を用いるユーザの間では、カメラ20の撮像視野と2次元領域70との関係が固定される。このため、これらのユーザに対しては、
図3のように、共通の状態データセット422を用いることができ、これを用いて、各ユーザの注視対象の位置に応じた学習データ424を生成できる。
【0141】
<変更例2>
また、上記実施形態では、
図11(a)~
図12に示したように、判定モデル426としてニューラルネットワークが用いられたが、上記のように、判定モデル426がサポートベクターマシーンや決定木等の他の機械学習に基づく判定モデルであってもよい。
【0142】
たとえば、判定モデル426がサポートベクターマシーンである場合、注視対象ごとに判定モデル426が生成される。各々の判定モデル426の学習は、当該判定モデル426に対応する注視対象について真値が設定された状態データが入力される場合は判定結果(出力)が100%に設定され、その他の状態データが入力される場合は判定結果(出力)が0%に設定される。
【0143】
この場合、視線推定装置30の制御部31は、各々の注視対象に対応する判定モデル426を並行して用いて、注視対象付近の撮像画像から、各々の注視対象を人が見たか否かの判定を行う。各々の判定モデル426に適用される状態データ(撮像画像から取得する状態データ)は、上記実施形態と同様であってよい。そして、制御部31は、上記実施形態と同様、各々の人の状態データとその判定結果とを組み合わせた情報を、データ収集装置50に送信する。
【0144】
<その他の変更例>
上記実施形態では、注視対象として広告装置10の表示領域11と広告媒体4とが例示されたが、注視対象はこれらに限られるものではなく、2次元領域70にさらに展示品等の注視対象が含まれてもよい。また、広告装置10の表示領域11に複数のコンテンツがエリア分割して表示される場合、各々の分割エリアが個別に注視対象に設定されてもよい。この場合、ユーザは、視線推定装置30に対して分割エリアごとに注視対象の範囲を設定し、視線推定装置30の制御部31は、各々の注視対象(分割エリア)の範囲を示す範囲情報423をモデル生成装置40に送信する。
【0145】
また、上記実施形態では、視線推定装置30が1つのユニット(パーソナルコンピュータ)で構成されたが、視線推定装置30が、判定モデル426を用いた判定を行うユニットと、注視対象の範囲の設定を受け付けて範囲情報423をモデル生成装置40に送信するユニットとによって構成されてもよい。また、モデル生成装置40とデータ収集装置50とが統合されてもよく、1つのクラウドサーバに、モデル生成装置40およびデータ収集装置50をそれぞれ実現するための2つの仮想サーバが設定されてもよい。
【0146】
この他、本発明の実施形態は、特許請求の範囲に記載の範囲で適宜変更可能である。
【符号の説明】
【0147】
1 視線推定システム
4 広告媒体(注視対象)
10 広告装置
11 表示領域(注視対象)
20 カメラ
30 視線推定装置
31 制御部(視線推定装置の制御部)
32 記憶部(視線推定装置の記憶部)
40 モデル生成装置
41 制御部(モデル生成装置の制御部)
42 記憶部(モデル生成装置の記憶部)
60 外部通信網
70 2次元領域
71 参照領域
422 状態データセット
423 範囲情報
424 学習データ
425 教師データ
426 判定モデル