(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023094247
(43)【公開日】2023-07-05
(54)【発明の名称】注視領域学習装置、注視領域推定装置、注視領域学習方法、注視領域推定方法、及び注視領域学習プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230628BHJP
G06Q 30/0201 20230101ALI20230628BHJP
【FI】
G06T7/00 350C
G06Q30/02 300
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021209620
(22)【出願日】2021-12-23
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和3年2月19日 名古屋大学2020年度 卒業研究発表会にて公開 令和3年5月13日 情報処理学会 第248回NL・第226回CVIM合同研究発表会 予稿集にて公開 令和3年7月30日 第24回画像の認識・理解シンポジウムにて公開
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】細野 峻司
(72)【発明者】
【氏名】島村 潤
(72)【発明者】
【氏名】弓矢 隼大
(72)【発明者】
【氏名】出口 大輔
(72)【発明者】
【氏名】川西 康友
(72)【発明者】
【氏名】村瀬 洋
【テーマコード(参考)】
5L049
5L096
【Fターム(参考)】
5L049BB02
5L096AA06
5L096BA02
5L096CA02
5L096DA02
5L096FA69
5L096GA30
5L096HA09
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
【課題】対象人物の顔領域が精緻に観測されない場合であっても、精度よく注視領域を推定する。
【解決手段】注視領域学習装置10は、入力された画像から当該画像中の人物の骨格情報を推定する骨格推定部101と、骨格推定部101により推定された骨格情報を入力として、画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、骨格情報に対応するヒートマップを生成するヒートマップ生成部102と、ヒートマップ生成部102により生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、ヒートマップ推定器のパラメータを更新するパラメータ最適化部103と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
入力された画像から当該画像中の人物の骨格情報を推定する骨格推定部と、
前記骨格推定部により推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成するヒートマップ生成部と、
前記ヒートマップ生成部により生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、前記ヒートマップ推定器のパラメータを更新するパラメータ最適化部と、
を備えた注視領域学習装置。
【請求項2】
前記ヒートマップ推定器は、逆畳み込みニューラルネットワークのモデルであり、
前記パラメータ最適化部は、前記誤差が小さくなるように、前記逆畳み込みニューラルネットワークの前記パラメータを更新する
請求項1に記載の注視領域学習装置。
【請求項3】
前記骨格情報は、前記画像中の人物の関節の位置を示す位置情報である
請求項1又は請求項2に記載の注視領域学習装置。
【請求項4】
入力された画像から当該画像中の人物の骨格情報を推定する骨格推定部と、
前記骨格推定部により推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが予め学習されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成するヒートマップ生成部と、
前記画像から当該画像中の注視対象となり得る物体の位置を検出する物体検出部と、
前記ヒートマップ生成部により生成されたヒートマップを、前記物体検出部により検出された物体の位置で補正し、当該物体が存在する物体領域のうち注視尤度の平均が最も高い物体領域を注視領域として出力する推定結果補正部と、
を備えた注視領域推定装置。
【請求項5】
入力された画像から当該画像中の人物の骨格情報を推定し、
前記推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成し、
前記生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、前記ヒートマップ推定器のパラメータを更新する
注視領域学習方法。
【請求項6】
入力された画像から当該画像中の人物の骨格情報を推定し、
前記推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが予め学習されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成し、
前記画像から当該画像中の注視対象となり得る物体の位置を検出し、
前記生成されたヒートマップを、前記検出された物体の位置で補正し、当該物体が存在する物体領域のうち注視尤度の平均が最も高い物体領域を注視領域として出力する
注視領域推定方法。
【請求項7】
入力された画像から当該画像中の人物の骨格情報を推定し、
前記推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成し、
前記生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、前記ヒートマップ推定器のパラメータを更新することを、
コンピュータに実行させるための注視領域学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、注視領域学習装置、注視領域推定装置、注視領域学習方法、注視領域推定方法、及び注視領域学習プログラムに関する。
【背景技術】
【0002】
入力された画像中の人物が画像中のどこを見ているかを機械で推定する注視領域推定技術は、AI(Artificial Intelligence)で人の行動を深く理解するための重要な技術となる。例えば、単に商品棚の前に人が立っていることを認識するだけでなく、その人がどの商品を見ているかを推定することができれば、顧客の興味の推定につなげることができ、注目商品の発見、注目されやすい商品の配置検討等、マーケティングに活用することができる。上記のような応用を鑑みて、注視領域推定とは、対象人物が画像中のどの物体領域を注視しているかを推定する問題と定義する。
【0003】
公知の技術の中でも精度の高いものは、
図12に示すように、対象人物の顔領域から得られた画像特徴に基づき、注視領域を推定している。例えば、非特許文献1では、対象人物の顔領域から視線方向を推定し、生成した顕著性マップと組み合わせて注視尤度の推定を行なっている。また、非特許文献2では、画像上の顔領域から顔ランドマークを抽出し、目領域から3次元的な注視方向を推定している。つまり、公知の技術では、対象人物の顔領域が精緻に捉えられていることが前提となっている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】E. Chong, N. Ruiz, Y. Wang, Y. Zhang, A. Rozga, and J.M. Rehg, "Connecting gaze, scene, and attention: Generalized attention estimation via joint modeling of gaze and scene saliency," Proceedings of the 15th European Conference on Computer Vision, pp.383-398, Sept. 2018.
【非特許文献2】T. Baltrusaitis, A. Zadeh, Y.C. Lim, and L.-P. Morency, "Openface 2.0: Facial behavior analysis toolkit," Proceedings of the 13th IEEE International Conference on Automatic Face & Gesture Recognition, pp.59-66, May 2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したように、店舗でのマーケティング等に向けて注視領域推定を活用する場合、すべての対象人物の顔領域が精緻に捉えられるようにカメラを設置するためには、膨大な数のカメラが必要となり、設置コストが増大する。このため、
図13に示すように、対象人物が後ろ向きに撮影され、顔領域を捉えることができない場合であっても、注視領域を推定可能とすることが望ましい。つまり、少数のカメラで広範囲に存在する対象人物の注視領域の推定を実現することが望ましい。
【0006】
開示の技術は、上記の点に鑑みてなされたものであり、対象人物の顔領域が精緻に観測されない場合であっても、精度よく注視領域を推定することができる注視領域学習装置、注視領域推定装置、注視領域学習方法、注視領域推定方法、及び注視領域学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本開示の一態様に係る注視領域学習装置は、入力された画像から当該画像中の人物の骨格情報を推定する骨格推定部と、前記骨格推定部により推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成するヒートマップ生成部と、前記ヒートマップ生成部により生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、前記ヒートマップ推定器のパラメータを更新するパラメータ最適化部と、を備える。
【0008】
本開示の一態様に係る注視領域推定装置は、入力された画像から当該画像中の人物の骨格情報を推定する骨格推定部と、前記骨格推定部により推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが予め学習されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成するヒートマップ生成部と、前記画像から当該画像中の注視対象となり得る物体の位置を検出する物体検出部と、前記ヒートマップ生成部により生成されたヒートマップを、前記物体検出部により検出された物体の位置で補正し、当該物体が存在する物体領域のうち注視尤度の平均が最も高い物体領域を注視領域として出力する推定結果補正部と、を備える。
【0009】
本開示の一態様に係る注視領域学習方法は、入力された画像から当該画像中の人物の骨格情報を推定し、前記推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成し、前記生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、前記ヒートマップ推定器のパラメータを更新する。
【0010】
本開示の一態様に係る注視領域推定方法は、入力された画像から当該画像中の人物の骨格情報を推定し、前記推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが予め学習されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成し、前記画像から当該画像中の注視対象となり得る物体の位置を検出し、前記生成されたヒートマップを、前記検出された物体の位置で補正し、当該物体が存在する物体領域のうち注視尤度の平均が最も高い物体領域を注視領域として出力する。
【0011】
本開示の一態様に係る注視領域学習プログラムは、入力された画像から当該画像中の人物の骨格情報を推定し、前記推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成し、前記生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、前記ヒートマップ推定器のパラメータを更新することを、コンピュータに実行させる。
【発明の効果】
【0012】
開示の技術によれば、対象人物の顔領域が精緻に観測されない場合であっても、精度よく注視領域を推定することができる、という効果を有する。
【図面の簡単な説明】
【0013】
【
図1】実施形態に係る注視領域推定の説明に供する図である。
【
図2】実施形態に係る注視領域学習装置のハードウェア構成の一例を示すブロック図である。
【
図3】実施形態に係る注視領域学習装置の機能構成の一例を示すブロック図である。
【
図4】実施形態に係る逆畳み込みニューラルネットワークの構成の一例を示す図である。
【
図5】実施形態に係る注視領域学習プログラムによる処理の流れの一例を示すフローチャートである。
【
図6】実施形態に係る注視領域推定装置のハードウェア構成の一例を示すブロック図である。
【
図7】実施形態に係る注視領域推定装置の機能構成の一例を示すブロック図である。
【
図8】実施形態に係る推定結果補正の説明に供する図である。
【
図9】実施形態に係る注視領域推定プログラムによる処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において、同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0015】
注視領域推定において、対象の人物が後ろ向きである場合、顔領域が取得出来ないため精度良く推定することは難しい。また、どの物体に注目しているのかを知るためには注視領域と注視対象の物体との関連付けが必要である。
【0016】
そこで、注視対象とされる物体の違いと関連する情報について考える。例えば、参考文献1では、人物の姿勢と、注視領域には相関があることが報告されている。そこで、本実施形態では、人物の姿勢及び注視対象となる物体の位置から注視領域を推定する。これらの情報は後ろ向きの人物を捉えた画像からでも取得可能である。そのため、人物の姿勢及び物体の位置を用いた注視領域の推定が可能になれば、後ろ向きの状態の人物であっても注視領域を推定可能となる。
【0017】
<参考文献1>
川西康友,村瀬 洋,徐 建鋒,田坂和之,柳原広昌,“屋内定点カメラを用いたパンフレット閲覧項目推定システム,” 精密工学会誌,vol.85, no.5, pp.463-468, Aug. 2019.
【0018】
図1は、本実施形態に係る注視領域推定の説明に供する図である。
【0019】
図1に示すように、ポイント1では、画像中の人物の姿勢を表す骨格情報から、当該人物がどの領域を見ていそうかを示す指標の一つである注視尤度を表すヒートマップを推定する。ポイント2では、推定したヒートマップを、画像中の物体の位置情報で補正し、注視領域を推定する。つまり、骨格情報のみを用いる場合と比較して、「人は何れかの物体を注視している」という仮定に基づき補正することで、注視領域を精度良く推定することが可能となる。
【0020】
本実施形態に係る注視領域学習装置は、入力された画像、及び画像中の対象人物が注視する物体領域(すなわち、注視領域の真値)を入力として、画像中の各領域を対象人物が注視している確率である注視尤度を表すヒートマップを推定可能なヒートマップ推定器を学習する。
【0021】
まず、
図2を参照して、本実施形態に係る注視領域学習装置10のハードウェア構成について説明する。
【0022】
図2は、本実施形態に係る注視領域学習装置10のハードウェア構成の一例を示すブロック図である。
【0023】
図2に示すように、注視領域学習装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16、及び通信インタフェース(I/F)17を備えている。各構成は、バス18を介して相互に通信可能に接続されている。
【0024】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、注視領域学習処理を実行するための注視領域学習プログラムが格納されている。
【0025】
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0026】
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、自装置に対して各種の入力を行うために使用される。
【0027】
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
【0028】
通信インタフェース17は、自装置が他の外部機器と通信するためのインタフェースである。当該通信には、例えば、イーサネット(登録商標)若しくはFDDI(Fiber Distributed Data Interface)等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。
【0029】
本実施形態に係る注視領域学習装置10には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC:Personal Computer)等の汎用的なコンピュータ装置が適用される。
【0030】
次に、
図3を参照して、注視領域学習装置10の機能構成について説明する。
【0031】
図3は、本実施形態に係る注視領域学習装置10の機能構成の一例を示すブロック図である。
【0032】
図3に示すように、注視領域学習装置10は、機能構成として、骨格推定部101、ヒートマップ生成部102、及びパラメータ最適化部103を備えている。各機能構成は、CPU11がROM12又はストレージ14に記憶された注視領域学習プログラムを読み出し、RAM13に展開して実行することにより実現される。
【0033】
なお、ヒートマップ推定器記憶装置141は、ヒートマップ推定器を格納する記憶装置であり、外部の記憶装置でもよいし、ストレージ14の一部としてもよい。
【0034】
骨格推定部101は、入力された画像から当該画像中の人物の骨格情報を推定する。骨格情報とは、例えば、画像に写る人物の関節の位置を示す位置情報である。具体的な方法としては、例えば、参考文献2に記載されているように、画像から骨格を推定するネットワークを用いてもよいし、参考文献3に記載されているように、深度情報を用いて推定するネットワークを用いてもよく、公知の技術の中で有意なものを用いることができる。
【0035】
<参考文献2>
K. Sun, B. Xiao, D. Liu and J. Wang, "Deep High-Resolution Representation Learning for Human Pose Estimation," in IEEE Conf. on Computer Vision and Pattern Recognition, 2019.
【0036】
<参考文献3>
Z. Liu, "3D Skeletal Tracking on Azure Kinect," CVPR Workshop on 3D Computer Vision in Medical Environments, pp.1-36, June 2019.
【0037】
ヒートマップ生成部102は、骨格推定部101により推定された骨格情報を入力として、ヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、骨格情報に対応するヒートマップを生成する。ヒートマップとは、画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表す。
【0038】
ヒートマップ生成部102では、ヒートマップ推定器を用いて、画像中の一定の領域について、対象人物が各位置を注視している確率(注視尤度)を推定する。ヒートマップ推定器は、例えば、逆畳み込みニューラルネットワークのモデルである。ヒートマップ推定器は、骨格の関節の位置情報を並べたベクトルを入力とし、例えば、
図4に示すような逆畳み込みニューラルネットワークによりヒートマップを推定する。
【0039】
図4は、本実施形態に係る逆畳み込みニューラルネットワークの構成の一例を示す図である。
【0040】
図4の例では、骨格情報を96次元ベクトルとし、それをFullConnect層に入力する。そして、FullConnect層では、2048次元ベクトルに伸張後、4×4(128チャネル)に変形し、ConvolutionTranspose(ConvTranspose)層に入力する。FullConnect層及びConvolutionTranspose層どちらにも活性化関数として、LeakyReLUが用いられる。Output層(出力層)では、60×60の出力に活性化関数として、Sigmoid関数を適用して出力値を[0,1]の範囲に制限する。
【0041】
パラメータ最適化部103は、ヒートマップ生成部102により生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、ヒートマップ推定器のパラメータを更新する。ここでは、ヒートマップ生成部102で生成されたヒートマップと、予め作成した物体領域を示す教師信号用ヒートマップ(つまり、注視領域の真値)とを用いて、ヒートマップ推定器を学習する。教師信号用ヒートマップは、例えば、物体が存在する位置を”1”、存在しない位置を”0”として作成する。また、学習を安定させるために、教師信号用ヒートマップに対してガウシアンフィルタを適用して輪郭部分をぼかす処理等を加えてもよい。
【0042】
具体的に、パラメータ最適化部103は、上記誤差が小さくなるように、逆畳み込みニューラルネットワークのパラメータを更新する。ヒートマップ推定器における学習では、例えば、参考文献4に記載されたAdamW等を用いて、推定結果のヒートマップと教師信号用ヒートマップとの誤差が小さくなるように、逆畳み込みニューラルネットワークのパラメータを学習する。なお、損失関数は、平均二乗誤差(Mean Squared Error)等、有意なものを用いることができる。
【0043】
<参考文献4>
I. Loshchilov and F. Hutter, "Decoupled Weight Decay Regularization," arXiv:1711.05101, Jan. 2019.
【0044】
本実施形態に係る注視領域学習装置10では、骨格推定部101により、対象人物の骨格情報を推定し、ヒートマップ生成部102により、骨格情報から対象人物が画像中のどの領域を注視していそうかを表すヒートマップを生成し、パラメータ最適化部103により、生成したヒートマップと注視領域の真値との誤差に基づきヒートマップ推定器のパラメータを更新しながら学習を進める。
【0045】
次に、
図5を参照して、本実施形態に係る注視領域学習装置10の作用について説明する。
【0046】
図5は、本実施形態に係る注視領域学習プログラムによる処理の流れの一例を示すフローチャートである。注視領域学習プログラムによる処理は、注視領域学習装置10のCPU11が、ROM12又はストレージ14に記憶されている注視領域学習プログラムをRAM13に書き込んで実行することにより、実現される。
【0047】
図5のステップS101では、CPU11が、入力された画像及び注視領域の真値を取得する。
【0048】
ステップS102では、CPU11が、ステップS101で取得した画像から当該画像中の人物の骨格情報を推定する。骨格情報とは、上述したように、例えば、画像に写る人物の関節の位置を示す位置情報である。具体的な方法としては、例えば、上述の参考文献2に記載されているように、画像から骨格を推定するネットワークを用いてもよいし、参考文献3に記載されているように、深度情報を用いて推定するネットワークを用いてもよく、公知の技術の中で有意なものを用いることができる。
【0049】
ステップS103では、CPU11が、ステップS102で推定された骨格情報を入力として、ヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、骨格情報に対応するヒートマップを生成する。ヒートマップとは、上述したように、画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表す。ヒートマップ推定器には、一例として、上述の
図4に示す逆畳み込みニューラルネットワークのモデルが用いられる。
【0050】
ステップS104では、CPU11が、ステップS103で生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、ヒートマップ推定器のパラメータを更新する。具体的には、生成されたヒートマップと、予め作成した物体領域を示す教師信号用ヒートマップ(つまり、注視領域の真値)との誤差が小さくなるように、ヒートマップ推定器のパラメータを更新する。教師信号用ヒートマップは、例えば、物体が存在する位置を”1”、存在しない位置を”0”として作成する。また、学習を安定させるために、教師信号用ヒートマップに対してガウシアンフィルタを適用して輪郭部分をぼかす処理等を加えてもよい。
【0051】
ステップS105では、CPU11が、ステップS104でパラメータを更新して学習されたヒートマップ推定器を、ヒートマップ推定器記憶装置141に記憶し、本注視領域学習プログラムによる一連の処理を終了する。
【0052】
次に、
図6を参照して、本実施形態に係る注視領域推定装置20のハードウェア構成について説明する。
【0053】
図6は、本実施形態に係る注視領域推定装置20のハードウェア構成の一例を示すブロック図である。
【0054】
図6に示すように、注視領域推定装置20は、CPU21、ROM22、RAM23、ストレージ24、入力部25、表示部26、及び通信インタフェース(I/F)27を備えている。各構成は、バス28を介して相互に通信可能に接続されている。
【0055】
CPU21は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU21は、ROM22又はストレージ24からプログラムを読み出し、RAM23を作業領域としてプログラムを実行する。CPU21は、ROM22又はストレージ24に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM22又はストレージ24には、注視領域推定処理を実行するための注視領域推定プログラムが格納されている。
【0056】
ROM22は、各種プログラム及び各種データを格納する。RAM23は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ24は、HDD又はSSDにより構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0057】
入力部25は、マウス等のポインティングデバイス、及びキーボードを含み、自装置に対して各種の入力を行うために使用される。
【0058】
表示部26は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部26は、タッチパネル方式を採用して、入力部25として機能しても良い。
【0059】
通信インタフェース27は、自装置が他の外部機器と通信するためのインタフェースである。当該通信には、例えば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。
【0060】
本実施形態に係る注視領域推定装置20には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC)等の汎用的なコンピュータ装置が適用される。なお、本実施形態では、注視領域学習装置10と注視領域推定装置20とを別々の装置として示しているが、注視領域学習装置10と注視領域推定装置20とを1つの装置として実現してもよい。
【0061】
次に、
図7を参照して、注視領域推定装置20の機能構成について説明する。
【0062】
図7は、本実施形態に係る注視領域推定装置20の機能構成の一例を示すブロック図である。
【0063】
図7に示すように、注視領域推定装置20は、機能構成として、骨格推定部201、ヒートマップ生成部202、物体検出部203、及び推定結果補正部204を備えている。各機能構成は、CPU21がROM22又はストレージ24に記憶された注視領域推定プログラムを読み出し、RAM23に展開して実行することにより実現される。
【0064】
なお、ヒートマップ推定器記憶装置141には、上述の注視領域学習装置10により機械学習されたヒートマップ推定器(例えば、逆畳み込みニューラルネットワークのモデル)が格納されている。なお、学習済みヒートマップ推定器は、ストレージ24に格納されていてもよい。
【0065】
骨格推定部201は、入力された画像から当該画像中の人物の骨格情報を推定する。具体的な方法としては、例えば、上述の参考文献2に記載されているように、画像から骨格を推定するネットワークを用いてもよいし、参考文献3に記載されているように、深度情報を用いて推定するネットワークを用いてもよく、公知の技術の中で有意なものを用いることができる。
【0066】
ヒートマップ生成部202は、骨格推定部201により推定された骨格情報を入力として、画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが予め学習されたヒートマップ推定器を用いて、骨格情報に対応するヒートマップを生成する。学習済みヒートマップ推定器は、ヒートマップ推定器記憶装置141に格納されている。
【0067】
物体検出部203は、画像から当該画像中の注視対象となり得る物体の位置を検出する。具体的に、物体検出部203では、画像中の物体位置を、例えば、矩形、円形、楕円、多角形等の領域によって推定する。物体位置の推定方法には、例えば、参考文献5に記載された方法等、有意な方法を用いることができる。
【0068】
<参考文献5>
J. Redmon and A. Farhadi, "YOLOv3: An incremental improvement," arXiv preprint arXiv:1804.02767, April 2018.
【0069】
推定結果補正部204は、ヒートマップ生成部202により生成されたヒートマップを、物体検出部203により検出された物体の位置で補正し、当該物体が存在する物体領域のうち注視尤度の平均が最も高い物体領域を注視領域として出力する。つまり、推定結果補正部204では、骨格情報から推定されたヒートマップを、物体検出で推定された物体位置を用いて補正する。このとき、骨格情報から推定されるヒートマップは、対象の人物の姿勢によって変化する。しかし、同じ姿勢であっても対象人物毎に異なる物体を注視している場合がある。そのため、生成されるヒートマップには複数のピークが存在する場合がある。このような場合、ヒートマップの最大値部分を注視領域として判断すると誤推定する可能性がある。そこで、注視している物体の配置制約を踏まえて推定結果を補正することが望ましい。具体的には、物体が配置されている領域を”1”とし、それ以外を”0”としたヒートマップと同じ大きさの物体領域マスク画像を作成する。作成したマスク画像を生成したヒートマップに対して掛け合わせると、マスクした部分のみ値を有する状態になる。このような画像を物体領域毎に作成し、マスク部分の平均尤度値を算出して比較する。このときに最も平均尤度値が高かった物体領域を最終的な注視領域として出力する。
【0070】
図8は、本実施形態に係る推定結果補正の説明に供する図である。
【0071】
図8に示すように、ヒートマップ生成部202により生成されたヒートマップについて、各物体領域での尤度平均値を計算し、計算した尤度平均値が最も高い領域を注視領域として出力する。
【0072】
本実施形態に係る注視領域推定装置20は、物体検出部203及び骨格推定部201により、入力画像中の物体位置と対象人物の骨格情報を推定し、ヒートマップ生成部202により、注視領域学習装置10で学習されたヒートマップ推定器を用いて、骨格情報からヒートマップを推定し、推定結果補正部204により、推定したヒートマップを物体の位置情報に基づき補正することで、注視領域を出力する。
【0073】
次に、
図9を参照して、本実施形態に係る注視領域推定装置20の作用について説明する。
【0074】
図9は、本実施形態に係る注視領域推定プログラムによる処理の流れの一例を示すフローチャートである。注視領域推定プログラムによる処理は、注視領域推定装置20のCPU21が、ROM22又はストレージ24に記憶されている注視領域推定プログラムをRAM23に書き込んで実行することにより、実現される。
【0075】
図9のステップS111では、CPU21が、入力された画像を取得する。
【0076】
ステップS112では、CPU21が、ステップS111で取得した画像から当該画像中の人物の骨格情報を推定する。
【0077】
ステップS113では、CPU21が、ステップS111で取得した画像から当該画像中の注視対象となり得る物体の位置を検出する。
【0078】
ステップS114では、CPU21が、ステップS112で推定された骨格情報を入力として、ヒートマップを推定するためのパラメータが予め学習されたヒートマップ推定器を用いて、骨格情報に対応するヒートマップを生成する。このヒートマップ推定器は、注視領域学習装置10によって学習され、ヒートマップ推定器記憶装置141に格納されている。
【0079】
ステップS115では、CPU21が、ステップS114で生成されたヒートマップを、ステップS113で検出された物体の位置で補正し、一例として、上述の
図8に示すように、当該物体が存在する物体領域のうち注視尤度の平均が最も高い物体領域を注視領域として出力し、本注視領域推定プログラムによる一連の処理を終了する。
【0080】
[実施例]
上記実施形態で説明した方法を用いた実施例について説明する。本実施例では、本実施形態の特徴である、人物の骨格情報及び物体の位置情報を用いて注視領域を推定することの効果を確認するため、正確な骨格情報が入力できるよう、骨格は深度センサと上記参考文献3に記載の手法を用い、物体の位置情報は人手で与えたものを用いた。
【0081】
評価のため、
図10に示すように、7人の被験者が商品棚を模した棚上の商品を注視した画像約80,981枚からなるデータセットを独自に作成した。
【0082】
本実施形態に係る手法を手法Cとし、これと比較する手法を手法A、Bとする。比較手法には、単純な手法として、姿勢情報から注視物体を分類する手法、つまり、ヒートマップを生成せず、どの物体を見ているかをクラス分類により推定する手法(手法A)を用いた。また、物体の位置を加味した推定結果補正の効果を確かめるため、ヒートマップを生成するが推定結果補正を行わない手法、つまり、上記実施形態で説明した方法から推定結果補正を除いた手法(手法B)とも比較した。
【0083】
評価指標には、推定結果として出力された物体領域が、実際に対象人物が注視していた物体であった場合を正解として、全テスト画像に対する平均正解率を用いた。
【0084】
図11は、実験結果の一例を示す図である。
図11において、手法Aは、姿勢情報から注視物体を分類する(ヒートマップ生成及び推定結果補正の両方を行わない)手法であり、手法Bは、ヒートマップを生成するが推定結果補正を行わない手法であり、手法Cは、本実施形態に係る手法である。
【0085】
図11に示すように、実験の結果、本実施形態に係る手法Cの平均正解率が最も高いことが分かる。また、手法Aの平均正解率よりも手法Bの平均正解率の方が高いことから、ヒートマップを生成する手法Bについても効果を確認することができた。さらに、手法Bの平均正解率よりも手法Cの平均正解率の方が高いことから、推定結果補正の効果についても確認することができた。
【0086】
上記実施形態でCPU11が注視領域学習プログラムを読み込んで実行した注視領域学習処理を、CPU11以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、注視領域学習処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。なお、CPU21によって実行される注視領域推定プログラムについても同様である。
【0087】
また、上記実施形態では、注視領域学習プログラムがROM12又はストレージ14に予め記憶(「インストール」ともいう)されている態様を説明したが、これに限定されない。注視領域学習プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、注視領域学習プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。なお、CPU21によって実行される注視領域推定プログラムについても同様である。
【0088】
本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【0089】
以上の実施形態に関し、更に以下の付記を開示する。
【0090】
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
入力された画像から当該画像中の人物の骨格情報を推定し、
前記推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成し、
前記生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、前記ヒートマップ推定器のパラメータを更新する
ように構成されている注視領域学習装置。
【0091】
(付記項2)
注視領域学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記注視領域学習処理は、
入力された画像から当該画像中の人物の骨格情報を推定し、
前記推定された骨格情報を入力として、前記画像中の各領域を当該画像中の人物が注視している確率である注視尤度を表すヒートマップを推定するためのパラメータが設定されたヒートマップ推定器を用いて、前記骨格情報に対応するヒートマップを生成し、
前記生成されたヒートマップと、予め作成された注視領域の真値との誤差に基づいて、前記ヒートマップ推定器のパラメータを更新する
非一時的記憶媒体。
【符号の説明】
【0092】
10 注視領域学習装置
11、21 CPU
12、22 ROM
13、23 RAM
14、24 ストレージ
15、25 入力部
16、26 表示部
17、27 通信I/F
18、28 バス
20 注視領域推定装置
101、201 骨格推定部
102、202 ヒートマップ生成部
103 パラメータ最適化部
141 ヒートマップ推定器記憶装置
203 物体検出部
204 推定結果補正部