(57)【要約】【課題】顔が隠れた人物の画像であっても視線方向を推定できるようにしたプログラム、情報処理装置、及び情報処理方法を提供すること。【解決手段】入力画像データに対して、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報を推定し、前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定する、処理をコンピュータに実行させるプログラム。【選択図】図８
2019200456.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データに対して、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報を推定し、
前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定する、
処理をコンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記顔の部位の位置情報には、鼻、左目、右目、左耳、右耳、首、左肩、及び右肩の少なくともいずれか１つの位置情報を含むことを特徴とする請求項１記載のプログラム。
【請求項３】
入力画像データに基づいて、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報と、前記画像に前記部位が含まれるか否かを示すパラメータとを含む姿勢ベクトルを推定することを特徴とする請求項１記載のプログラム。
【請求項４】
内部メモリから読み出した以下の式（５１）に基づいて、画像に含まれる人物ｉの視線方向を表す向きベクトルｑｉを算出することを特徴とする請求項１記載のプログラム。
【数１】
2019200456.tif 000062
（ただし、式（５１）において、ｗ１とｗ１はパラメータを表す）
【請求項５】
第１のカメラで撮影された第１の画像の第１の画像データに対して、前記正解データを利用して、前記第１の画像に含まれる人物の部位の２次元座標として表される第１の位置座標を推定し、第２のカメラで撮影された第２の画像の第２の画像データに基づいて、前記正解データを利用して、前記第２の画像に含まれる人物の部位の２次元座標として表される第２の位置座標を推定し、
前記第１の位置座標と前記第２の位置座標とを、部位の３次元位置座標へ変換し、
前記３次元位置座標を利用して、前記人物の顔の部位の位置情報を算出し、画像に含まれる人物の視線方向を推定することを特徴とする請求項１記載のプログラム。
【請求項６】
推定することができなかった第１の人物の前記部位のうち顔の部位の位置情報の数が閾値よりも多いとき、第１の人物において推定することができた他の部位の位置情報と、第１の人物に隣接する第２の人物において推定することができた部位の位置情報とに基づいて、第１の人物において推定することができなかった前記顔の部位の位置情報を算出することを特徴とする請求項１記載のプログラム。
【請求項７】
さらに、推定した前記人物の視線方向の変化を検知し、検知結果を出力する
ことを特徴とする請求項１記載のプログラム。
【請求項８】
時刻ｔを現在時刻Ｔとしたとき、推定した前記人物の視線方向を表す向きベクトルを正規化した注目度ベクトルを、時刻（Ｔ−ｎ）から時刻（Ｔ−ｍ）までに取得した第１の注目度ベクトルの集合と、時刻（Ｔ−ｍ）から時刻ｔまでに取得した第２の注目度ベクトルの集合に分けて、前記第１の注目度ベクトルの集合に基づいて、前記第２の注目度ベクトルの集合の異常度を計算し、前記異常度が閾値以上のとき、時刻（Ｔ−ｍ）を境にして視線方向に変化があったことを示す検知結果を出力することを特徴とする請求項７記載のプログラム。
【請求項９】
前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報を利用して、前記顔の部位の位置情報を算出し、前記顔の部位の位置情報と前記他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定することを特徴とする請求項１記載のプログラム。
【請求項１０】
入力画像データに対して、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報を推定する姿勢推定部と、
前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定する注目度算出部と
を備えることを特徴とする情報処理装置。
【請求項１１】
姿勢推定部と注目度算出部とを有する情報処理装置における情報処理方法であって、
前記姿勢推定部により、入力画像データに対して、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報を推定し、
前記注目度算出部により、前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
従来から、視線方向を推定する技術がある。例えば、アパレルショップやスーパーの店内に設置された監視カメラで撮影した人物の画像から、人物の視線を推定する、などである。これにより、例えば、群衆がどのような商品に注目しているか、を経営者などは把握することができ、売り上げ戦略を策定することが可能となる場合がある。また、例えば、セキュリティ用の都市監視として、標識やサイネージの近傍に設置された監視カメラで撮影した人物画像から視線方向を推定することで、標識などの設置効果の調査や、群衆行動の把握などに利用される場合がある。
【０００３】
視線方向を推定する技術として、例えば、以下がある。すなわち、撮影手段で撮影された現時刻の画像フレームに基づいて、眼球の３次元モデルを利用して特定人物の眼球中心の３次元位置を推定するとともに、特定人物の虹彩の位置を検出し、眼球中心と虹彩位置に基づいて視線方向を推定する技術がある。
【０００４】
この技術によれば、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内の任意の位置における被測定対象者の視線方向をリアルタイムに推定し追跡することができる、とされる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２１６１８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した、眼球中心と虹彩位置に基づいて視線方向を推定する技術は、例えば、人物の顔が複数の撮影手段で撮影されることが条件となっている。従って、顔が隠れた人物の画像の場合、上述した技術では、その人物の視線方向を推定することができない場合がある。
【０００７】
そこで、一開示は、顔が隠れた人物の画像であっても視線方向を推定できるようにしたプログラム、情報処理装置、及び情報処理方法を提供することにある。
【課題を解決するための手段】
【０００８】
一開示は、入力画像データに対して、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報を推定し、前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定する、処理をコンピュータに実行させるプログラムにある。
【発明の効果】
【０００９】
一開示によれば、顔が隠れた人物の画像であっても視線方向を推定することが可能である。
【図面の簡単な説明】
【００１０】
【図１】図１は情報処理システムの構成例を表す図である。
【図２】図２は動作例を表すフローチャートである。
【図３】図３は部位番号の例を表す図である。
【図４】図４は画像の例を表す図である。
【図５】図５は姿勢推定処理の例を表すフローチャートである。
【図６】図６（Ａ）は姿勢推定部の構成例、図６（Ｂ）は画像データの例、図６（Ｃ）は各部位の確率分布の例をそれぞれ表す図である。
【図７】図７（Ａ）は右手の確率分布の例、図７（Ｂ）は右ひじの確率分布の例、図７（Ｃ）は右手と右ひじのつながり度合いの確率分布の例をそれぞれ表す図である。
【図８】図８は注目度算出処理の例を表すフローチャートである。
【図９】図９（Ａ）は部位の例、図９（Ｂ）は向きベクトルの例をそれぞれ表す図である。
【図１０】図１０（Ａ）は部位の例、図１０（Ｂ）はベクトルの例、図１０（Ｃ）は向きベクトルの例をそれぞれ表す図である。
【図１１】図１１はカウント処理の例を表すフローチャートである。
【図１２】図１２は３次元位置座標の例を表す図である。
【図１３】図１３は姿勢推定部の構成例を表す図である。
【図１４】図１４は動作例を表すフローチャートである。
【図１５】図１５（Ａ）は同一人物特定処理、図１５（Ｂ）は類似度計算処理の例をそれぞれ表す図である。
【図１６】図１６は注目度算出処理の動作例を表すフローチャートである。
【図１７】図１７は情報処理システムの構成例を表す図である。
【図１８】図１８は動作例を表すフローチャートである。
【図１９】図１９は注目度変化検出処理の例を表すフローチャートである。
【図２０】図２０は注目度ベクトルの時系列の例を表す図である。
【図２１】図２１（Ａ）と図２１（Ｃ）は画像の例、図２１（Ｂ）と図２１（Ｄ）は注目度ベクトルの例をそれぞれ表す図である。
【図２２】図２２は情報処理装置のハードウェア構成例を表す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について説明する。なお、以下の実施例は開示の技術を限定するものではない。そして、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１２】
［第１の実施の形態］
＜情報処理システムの構成例＞
図１は情報処理システム１０の構成例を表す図である。
【００１３】
情報処理システム１０は、情報処理装置１００と撮像装置２００を備える。情報処理装置１００は、撮像装置２００で撮影された画像の画像データを入力し、入力した画像データから、画像に写っている人物の視線方向を推定する。本第１の実施の形態では、情報処理装置１００は、顔が隠れた画像であっても、そのような画像の画像データから視線方向を推定することが可能である。
【００１４】
情報処理装置１００は、姿勢推定部１１０と注目度算出部１２０、空間情報記憶部１３０、及び注目度記憶部１４０を備える。
【００１５】
姿勢推定部１１０は、撮像装置２００から出力された画像データを入力し、入力画像データに基づいて、画像に含まれる人物ｉ（ｉ＝１，２，…，Ｉ）の姿勢ｐｉを推定する。姿勢ｐｉは、例えば、人物ｉの「鼻」、「左目」、「右目」など、各部位の位置情報を含む。姿勢ｐｉの詳細は動作例で説明する。
【００１６】
本第１の実施の形態においては、姿勢推定部１１０は、例えば、入力画像データに基づいて、人物の部位に関するモデルデータ（又は正解データ、或いは教師データ。以下では、これら３つを区別しないで用いる場合がある。）を利用して、姿勢ｐｉを生成する。姿勢推定部１１０における姿勢ｐｉの推定処理については動作例で説明する。姿勢推定部１１０は、推定した姿勢ｐｉを注目度算出部１２０へ出力する。
【００１７】
注目度算出部１２０は、姿勢ｐｉに含まれる位置情報を利用して、画像に含まれる人物ｉの視線方向を推定する。具体的には、注目度算出部１２０は、例えば、姿勢推定部１１０で推定対象となっている人物ｉの部位のうち、顔の部位の位置情報を推定することができなかったとき、推定することができた顔以外の他の部位の位置情報に基づいて、画像に含まれる人物ｉの視線方向を推定する。
【００１８】
例えば、撮像装置２００で撮像された画像には、障害物や視線方向などによって人物ｉの顔などの部位が写っていない場合もある。従って、姿勢推定部１１０で推定された姿勢ｐｉには、顔の部位（例えば、目や鼻など）の位置情報が含まれない場合がある。注目度算出部１２０では、そのような姿勢推定部１１０で推定することができなかった顔の部位の位置情報を、姿勢推定部１１０で推定できた他の部位の位置情報を利用して算出し、これらの位置情報に基づいて、人物ｉの視線方向を推定するようにしている。
【００１９】
なお、注目度算出部１２０は、例えば、人物ｉの向きベクトルｑｉを計算することで、人物ｉの視線方向を推定する。本第１の実施の形態では、向きベクトルｑｉのことを、例えば、注目度と称する場合がある。以下では、注目度、向きベクトルｑｉ、及び視線方向を区別しないで用いる場合がある。注目度算出処理の詳細については、動作例で説明する。注目度算出部１２０は、算出した注目度を注目度記憶部１４０に記憶する。
【００２０】
また、注目度算出部１２０は、空間情報記憶部１３０から、各対象物３００−１，３００−２の位置情報を読み出す。そして、注目度算出部１２０は、算出した向きベクトルｑｉと、各対象物３００−１，３００−２の位置情報とに基づいて、各対象物３００−１，３００−２に視線を向けている人物ｉの数をカウントする。注目度算出部１２０は、カウントしたカウント値を注目度記憶部１４０に記憶する。カウント処理の詳細も、動作例で説明する。
【００２１】
空間情報記憶部１３０は、例えば、メモリであって、各対象物３００−１，３００−２の位置情報を記憶する。位置情報としては、例えば、各対象物３００−１，３００−２の設置点とその周囲の領域を、２次元座標（ｘ，ｙ）で表されたものであってもよい。
【００２２】
注目度記憶部１４０は、例えば、メモリであって、注目度算出部１２０で算出された注目度を記憶する。
【００２３】
撮像装置２００は、例えば、１又は複数の人物を撮影し、撮影した画像を画像データとして情報処理装置１００へ出力する。図１の例では、撮像装置２００は、対象物３００−１，３００−２と、対象物３００−１，３００−２へ視線方向を向けている複数の人物とを含む画像を撮影する。
【００２４】
なお、図１の例では、撮像装置２００は情報処理装置１００の外部に配置される例を表しているが、撮像装置２００は、例えば、撮像部として、情報処理装置１００内に設けられてもよい。また、図１の例では、撮像装置２００は、１台の例を表しているが、複数台あってもよい。複数台の例は、第２の実施の形態で説明する。
【００２５】
＜動作例＞
図２は情報処理システム１０の動作例を表すフローチャートである。
【００２６】
撮像装置２００と情報処理装置１００は処理を開始すると（Ｓ１０）、撮像装置２００は群衆を撮影する（Ｓ１１）。例えば、撮像装置２００は、図１に示すように、複数の人物（以下、「群衆」と称する場合がある、）が写った画像を撮影し、撮影した画像データを情報処理装置１００へ出力する。
【００２７】
次に、情報処理装置１００は、画像データに基づいて、撮像装置２００で撮影された画像に写っている人物ｉの姿勢ｐｉを推定する（Ｓ１２）。姿勢ｐｉは、例えば、以下の式（１）で表される。
【００２８】
【数１】
2019200456.tif 000003
【００２９】
式（１）において、ｘｊｉは画像内における人物ｉの部位ｊのｘ座標、ｙｊｉは画像内における人物ｉの部位ｊのｙ座標をそれぞれ表す。また、ｖｊｉは、人物ｉの部位ｊが画像内で視えている（又は写っている、或いは含まれる）ときは「１」、視えていないときは「０」の値をとるパラメータである。
【００３０】
図３は部位番号と部位との関係例を表す図である。図３に示すように、各部位ｊには、部位番号が予め割り振られている。図３の例では、部位ｊ＝１のときは「鼻」を表し、部位ｊ＝６のときは「首」を表す。図３は一例であって他の番号が割り振られてもよい。
【００３１】
図４は撮像された画像の例を表す図である。図４の例では、人物ｉ＝１の右手の部位（ｊ＝１２）は画像に写っているが、左肘の部位（ｊ＝９）は障害物により画像に写っていない。そのため、姿勢ｐｉ＝（・・・  ｘ９１  ｙ９１  ０  ・・・  ｘ１２１  ｙ１２１  １  ・・・）となり得る。例えば、姿勢推定部１１０は、入力画像データに基づいて、このような姿勢ｐｉを推定する。以下では、姿勢推定処理（Ｓ１２）の詳細について説明する。なお、以下では、姿勢ｐｉと姿勢ベクトルｐｉとを区別しないで用いる場合がある。
【００３２】
＜姿勢推定処理＞
図５は姿勢推定処理（Ｓ１２）の例を表すフローチャートである。また、図６（Ａ）は姿勢推定部１１０の構成例を表す図である。図５の各処理を説明しながら、図６（Ａ）について説明する。なお、図６（Ａ）に示すように、姿勢推定部１１０は、ＣＮＮ（Convolutional neural network）処理部１１１と候補点算出部１１２、及びグルーピング処理部１１３を備える。
【００３３】
図５に示すように、姿勢推定部１１０は、姿勢推定処理を開始すると（Ｓ１２０）、部位ｊ（ｊ＝１，２，…，Ｊ）の確率分布（又はヒートマップ）を計算する（Ｓ１２１）。ＣＮＮ処理部１１１では、例えば、畳み込みニューラルネットワーク（以下、「ＣＮＮ」と称する場合がある。）を用いた公知の手法により、確率分布φ（Ｘ，Ｗ）を計算する。Ｗは、例えば、ＣＮＮ処理に利用されるパラメータを表す。例えば、ＣＮＮ処理部１１１は、以下の処理を行う。
【００３４】
すなわち、ＣＮＮ処理部１１１は、ある画像データに対して、右手の正解データを利用して、フィルタリング処理（又は畳み込み処理）を行う。そして、ＣＮＮ処理部１１１は、フィルタリング後のデータに対して、複数画像を含むブロック毎の代表値（又は最大値）を抽出するプーリング処理を施し、以後、フィルタリング処理とプーリング処理を繰り返すことで、右手（ｊ＝１２）の確率分布の正解データを生成する。次に、ＣＮＮ処理部１１１は、図６（Ｂ）に示すようにＲＧＢ（Red Green Blue）の画像データＸを入力する。ＣＮＮ処理部１１１は、右手（ｊ＝１２）の確率分布の正解データを利用して、入力画像データＸに対して、フィルタリング処理とプーリング処理を繰り返すことで、右手の確率分布φ（Ｘ，Ｗ）を得る。
【００３５】
図６（Ｃ）は右手の確率分布φ（Ｘ，Ｗ）の例を表す図である。例えば、確率分布φ（Ｘ，Ｗ）は、画素毎（又は複数画素を含むブロック毎）に「０」から「１」までの数値（又は確率値）を表すものとして表現される。
【００３６】
なお、以下では、フィルタリング処理とプーリング処理を繰り返す処理のことを、例えば、ＣＮＮ処理と称する場合がある。
【００３７】
同様に、ＣＮＮ処理部１１１は、右肘（ｊ＝１０）の正解データを利用して、ＣＮＮ処理により、右肘の確率分布の正解データを得る。そして、ＣＮＮ処理部１１１は、右肘の確率分布の正解データを利用して、ＣＮＮ処理により、入力画像データＸから、右肘の確率分布φ（Ｘ，Ｗ）を得る。
【００３８】
なお、ＣＮＮ処理部１１１は、各部位の確率分布φ（Ｘ，Ｗ）だけではなく、各部位のつながり度合いを表す確率分布φ（Ｘ，Ｗ）を算出する。ＣＮＮ処理部１１１では、ＣＮＮ処理に利用した、各部位の正解データから、各部位を接続させた正解データを得ることができる。そして、ＣＮＮ処理部１１１は、ある画像データから、各部位を接続させた正解データを利用して、ある画像データに対してＣＮＮ処理を行うことで、各部位を接続させた正解データの確率分布を得て、入力画像Ｘに対して、この確率分布を利用してＣＮＮ処理を行うことで、各部位のつながり度合いを表す確率分布φ（Ｘ，Ｗ）を算出することができる。
【００３９】
このように、ＣＮＮ処理部１１１は、各部位ｊの正解データを利用して、画像データＸに対して、畳み込み処理などを施すことで、各部位ｊの確率分布φ（Ｘ，Ｗ）を計算する。
【００４０】
ＣＮＮ処理部１１１は、Ｓ１２１において、例えば、以下の処理を行う。すなわち、ＣＮＮ処理部１１１は、内部メモリに記憶された各部位ｊの正解データを読み出して、この正解データを利用して、ある画像データに対してＣＮＮ処理を行い、各部位ｊの確率分布の正解データを計算し、内部メモリに記憶する。ＣＮＮ処理部１１１は、このような各部位ｊの確率分布の正解データを、Ｓ１２１の処理の前に計算し、内部メモリに記憶させておいてもよい。そして、ＣＮＮ処理部１１１は、入力画像データＸに対して、内部メモリから読み出した各部位ｊの確率分布の正解データを利用して、ＣＮＮ処理を行うことで、各部位の確率分布φ（Ｘ，Ｗ）を得る。
【００４１】
ＣＮＮ処理部１１１は、正解データを用いたときの各部位ｊの部位番号と、その部位ｊの確率分布φ（Ｘ，Ｗ）とを候補点算出部１１２へ出力する。
【００４２】
以上、各部位ｊの確率分布φ（Ｘ，Ｗ）の計算例について説明した。このような畳み込みニューラルネットワークを用いた手法として、例えば、Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, "Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", In CVPR 2017に開示された手法がある。ＣＮＮ処理部１１１は、これを用いて、各部位ｊの確率分布φ（Ｘ，Ｗ）を計算してもよい。また、各部位の確率分布φ（Ｘ，Ｗ）の計算例としては、畳み込みニューラルネットワーク以外にも、テンプレートマッチングを用いた公知の手法が用いられてもよい。テンプレートマッチングは、例えば、各部位のモデルデータと比較して、入力画像の各部位の確率分布φ（Ｘ，Ｗ）を算出する手法である。
【００４３】
図５に戻り、次に、姿勢推定部１１０は、部位位置の候補点を求める（Ｓ１２２）。例えば、図６（Ａ）に示すように、候補点算出部１１２は、ＣＮＮ処理部１１１から出力された各部位の確率分布φ（Ｘ，Ｗ）に基づいて、候補点を算出する。
【００４４】
図７（Ａ）は、右手（ｊ＝１２）の確率分布φ（Ｘ，Ｗ）に対して右手の候補点Ａ１，Ａ２を探索する例を表す図である。候補点算出部１１２は、右手の確率分布φ（Ｘ，Ｗ）において、あるブロックの確率が極大点となっている位置座標Ａ１，Ａ２を探索する。この位置座標Ａ１，Ａ２が右手の候補点となる。また、図７（Ｂ）に示すように、候補点算出部１１２は、右肘の確率分布確率分布φ（Ｘ，Ｗ）において、確率が極大点となっている位置座標Ｂ１，Ｂ２を探索する。位置座標Ｂ１，Ｂ２が右肘の候補点となる。候補点算出部１１２は、各部位の部位番号とその候補点とをグルーピング処理部１１３へ出力する。
【００４５】
なお、姿勢推定部１１０は、例えば、極大点が閾値以上のとき、そのような極大点をその部位の候補点とし、極大点が閾値より小さいときは、その部位が入力画像に写っていないと判定する。前者の場合、姿勢推定部１１０は、ｖｊｉ＝１（又は視えている部位）とし、後者の場合、ｖｊｉ＝０（又は視えていない部位）とする。姿勢推定部１１０は、前者の場合に以降の処理を行い、後者の場合はここで姿勢推定処理（Ｓ１２）を終了する。
【００４６】
図５に戻り、次に、姿勢推定部１１０は、部位位置の候補点ごとにグルーピングを行い（Ｓ１２３）、人物ｉごとに部位を特定する。例えば、図６（Ａ）のグルーピング処理部１１３においてこのようなグルーピングが行われる。グルーピング処理部１１３は、例えば、部位ｊの候補点間の距離を比較することで、各候補点をグループ化する。具体的には、グルーピング処理部１１３は、例えば、ＣＮＮ処理部１１１においてＣＮＮ処理が施された、部位と部位とのつながり度合いを示す確率分布φ（Ｘ，Ｗ）を用いて処理を行う。
【００４７】
図７（Ｃ）は右手と右肘のつながり度合いの確率分布φ（Ｘ，Ｗ）の例を表す図である。候補点算出部１１２において、右手の候補点Ａ１，Ａ２（図７（Ａ））と右肘の候補点Ｂ１，Ｂ２（図７（Ｂ））を得ている。グルーピング処理部１１３は、これらの候補点Ａ１，Ａ２，Ｂ１，Ｂ２に対して、Ａ１とＢ１とが同一人物に属する部位であるのか、Ａ１とＢ２とが同一人物に属する部位であるのかを、右手と右肘のつながり度合いの確率分布に基づいて、判別する。例えば、グルーピング処理部１１３は、以下の式を利用して、各組み合わせのつながり度合いを計算する。
【００４８】
【数２】
2019200456.tif 000004
【００４９】
【数３】
2019200456.tif 000005
【００５０】
式（２）と式（３）において、ｙ1は、例えば、図７（Ｃ）に示すように、人物ｉ＝１の右手と右肘のつながり度合いを示す確率分布上の集合を表す。ここで、候補点Ａ１とＢ１のつながり度合いは、例えば、集合ｙ１に対して、候補点Ａ１とＢ１とを結んだ線分の線積分の数値を表している。また、候補点Ａ１とＢ２とのつながり度合いは、例えば、集合ｙ１に対して、候補点Ａ１とＢ２とを結んだ線分の線積分の数値を表している。グルーピング処理部１１３は、式（２）と式（３）の数値に対して、大きい方、例えば、候補点Ａ１とＢ１とを選択し、選択した候補点Ａ１とＢ１とをグループ化する。同様に、グルーピング処理部１１３は、人物ｉ＝２の右手と右肘のつながり度合いを示す確率分布をＣＮＮ処理部１１１から候補点算出部１１２を介して取得し、式（２）と式（３）において、ｙ１をｙ２に代えた式を用いて、その数値の大きい方を選択して、グループ化する。この場合、グルーピング処理部１１３は、Ａ２とＢ２とをグループ化する。
【００５１】
このように、ＣＮＮ処理部１１１では、各部位のつながり度合いを示す確率分布を計算し、グルーピング処理部１１３は、このような確率分布と、候補点算出部１１２で算出された各候補点の組み合わせとに対して、線積分の計算を行う。そして、グルーピング処理部１１３は、その計算結果が最も大きい候補点の組み合わせをグループ化する。グルーピング処理部１１３は、グループ化した各候補点により、人物ｉの各部位を特定することができる。
【００５２】
ＣＮＮ処理部１１１は、Ｓ１２３において、例えば、以下の処理を行う。すなわち、ＣＮＮ処理部１１１は、内部メモリから式（２）と式（３）を読み出し、各部位のつながり度合いを示す確率分布の集合を式（２）と式（３）に代入し、各線分の線積分の数値を得る。そして、ＣＮＮ処理部１１１は、最も大きい数値となっている候補点の組み合わせを１つのまとめることで、グループ化する。
【００５３】
図５に戻り、次に、姿勢推定部１１０は、グループ化した人物ｉごとにその姿勢ｐｉを取得する（Ｓ１２４）。例えば、図６（Ａ）のグルーピング処理部１１３は、グループ化した各部位の候補点（又は位置座標）を、式（１）に示された姿勢ｐｉの各要素に代入することで、人物ｉの姿勢ｐｉを得る。
【００５４】
以上が姿勢推定処理（Ｓ１２）である。
【００５５】
図２に戻り、次に、情報処理装置１００は、群衆の人物ｉごとに注目度を算出する（Ｓ１３）。以下、注目度算出処理の例について説明する。
【００５６】
＜注目度算出処理＞
図８は、注目度算出処理の例を表すフローチャートである。例えば、注目度算出部１２０で行われる処理である。
【００５７】
注目度算出部１２０は、注目度算出処理を開始すると（Ｓ１３０）、姿勢ｐｉを利用して、顔の部位、首、左肩、及び右肩は視えているか否かを判別する（Ｓ１３１）。例えば、注目度算出部１２０は、以下の式を利用して判定する。
【００５８】
【数４】
2019200456.tif 000006
【００５９】
注目度算出部１２０は、ｖｉが「１」のとき、顔の部位（鼻、左目、右目、左耳、右耳）、首、左肩、及び右肩が全て視えていると判定し、ｖｉが「０」のとき、顔の部位、首、左肩、又は右肩のいずれかが視えていないと判定する。例えば、注目度算出部１２０は、内部メモリから式（４）を読み出して、姿勢推定部１１０から出力された姿勢ｐｉからｖ１ｉ〜ｖ８ｉを抽出し、式（４）に代入することで判定する。
【００６０】
注目度算出部１２０は、顔の部位、首、左肩、又は右肩のいずれかが視えていないと判定したとき（Ｓ１３１でＮＯ）、視えていない部位の位置情報を補間により算出する（Ｓ１３２）。注目度算出部１２０は、例えば、以下の式を用いて、人物ｉにおいて視えていない部位ｋの位置ベクトル（又は位置情報。以下では、位置ベクトルと位置情報とを区別しないで用いる場合がある。）ａｋｉ＝（ｘｋｉ  ｙｋｉ）を算出する。
【００６１】
【数５】
2019200456.tif 000007
【００６２】
式（５）において、ａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉは人物ｉの視えている部位（ｋ１，ｋ２，…，ｋＭ）（Ｍは、０＜Ｍ≦ｊを満たす整数）の位置ベクトル、Ａｋｍは２行２列の行列、ｂｋＭは２行１列の縦ベクトルをそれぞれ表す。
【００６３】
式（５）は、例えば、視えていない部位ｋの位置ベクトルａｋｉは、視ている部位の位置ベクトルａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉとオフセットｂｋＭとを用いて算出されることを表している。
【００６４】
式（５）の行列Ａｋｍと縦ベクトルｂｋＭは、姿勢ｓの集合Ｐを用いて、以下の式を解くことで求めることができる。
【００６５】
【数６】
2019200456.tif 000008
【００６６】
式（６）において、ｓｋｉ＝（ｘｋｉ  ｙｋｉ）は、姿勢ｓの部位番号ｋの部位の位置ベクトルを表す。また、姿勢ｓの集合Ｐは、例えば、３Ｄ−ＣＧソフトウェアなどで作成した人体模型をモデルデータとした場合の各部位の位置ベクトルの集合である。
【００６７】
式（６）は、例えば、このような人体模型として作成された人物の部位番号ｋの位置ベクトルｓｋｉと、姿勢推定部１１０で推定された、視えている部位の位置ベクトルａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉとの誤差が最小となるＡｋｍとｂｋＭとを表している。式（６）は、例えば、勾配降下法など、公知の手法により解くことが可能である。
【００６８】
このように注目度算出部１２０は、例えば、顔の部位の位置情報を姿勢推定部１１０で推定することができなかったとき、姿勢推定部１１０で推定することができた他の部位の位置情報を利用して、顔の部位の位置情報を算出している。
【００６９】
具体的には、注目度算出部１２０は、Ｓ１３２において、例えば、以下の処理を行う。すなわち、注目度算出部１２０は、姿勢推定部１１０から受け取った姿勢ｐｉから、視えている部位の位置ベクトルａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉを抽出する。そして、注目度算出部１２０は、内部メモリに記憶された式（５）を読み出して、式（５）に代入することで、姿勢ｐｉの中で視えていない部位ｋの位置ベクトルａｋｉを算出する。その際、注目度算出部１２０は、内部メモリから式（６）を読み出して、視えている部位の位置ベクトルａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉを式（６）に代入して演算を行うことで、ＡｋｍとｂｋＭを取得して、式（５）に代入する。
【００７０】
なお、首、左肩、右肩、及び鼻を、顔の部位に含めてもよい。この場合、注目度算出部１２０は、これらの部位を含めた顔の部位について、その部位が視えているか否かをＳ１３１において判定してもよい。
【００７１】
次に、注目度算出部１２０は、人物ｉの向きベクトルｑｉを算出する（Ｓ１３３）。例えば、注目度算出部１２０は、以下の式を用いて、向きベクトルｑｉを算出する。
【００７２】
【数７】
2019200456.tif 000009
【００７３】
式（７）において、Ｗは２行２列の行列、ｗ０は２行１列の縦ベクトルをそれぞれ表す。また、ａｊｉは、人物ｉの部位ｊの位置ベクトルを表す。行列Ｗと縦ベクトルｗ０は、式（６）と同様に、以下の式を解くことにより求められる。
【００７４】
【数８】
2019200456.tif 000010
【００７５】
式（８）において、ｓｋ＝（ｘｋ  ｙｋ）Ｔは、姿勢ｓの部位番号ｋの部位の位置ベクトルを表し、姿勢ｓの集合Ｐは、例えば、上述した場合と同様に、３Ｄ−ＣＧソフトウェアなどで作成された人体模型のおける各部位の位置ベクトルの集合である。また、ｑｓは、例えば、姿勢ｓが持つ向きベクトルであり、顔の部位（左目、右目、左耳、右耳、鼻、首）の最小２乗平面Ｓｆａｃｅに直交するベクトルとして定義される。図９（Ａ）は人物画像の例を表し、図９（Ｂ）は向きベクトルｑｓの例を表す図である。
【００７６】
例えば、注目度算出部１２０は、Ｓ１３３において、以下の処理を行う。すなわち、注目度算出部１２０は、内部メモリに記憶された式（７）を読み出して、姿勢ｐｉから抽出した、視えている部位の位置ベクトルａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉと、補間により算出した、視えていない部位ｋの位置ベクトルａｋｉとを、式（７）に代入する。そして、注目度算出部１２０は、人物ｉの向きベクトルｑｉを算出する。その際、注目度算出部１２０は、内部メモリから、式（８）、向きベクトルｑｓ、及び各部位番号ｋの部位の位置ベクトルｓｋを読み出して、式（８）に代入することで、Ｗとｗ０とを取得する。この場合、予め計算されたＷとｗ０とが内部メモリに記憶され、注目度算出部１２０は、処理の際に内部メモリからＷとｗ０とを読み出して、式（７）に代入するようにしてもよい。
【００７７】
図８に戻り、注目度算出部１２０は、人物ｉの向きベクトルｑｉを算出すると、注目度算出処理を終了する（Ｓ１３４）。
【００７８】
一方、注目度算出部１２０は、顔の部位、首、左肩、及び右肩のいずれも視えていると判定したとき（Ｓ１３１でＹＥＳ）、人物ｉの向きベクトルｑｉを算出し（Ｓ１３３）、注目度算出処理を終了する（Ｓ１３４）。この場合、注目度算出部１２０は、補間処理（Ｓ１３２）を行うことなく、視ている部位ｊの位置ベクトルａ１ｉ，ａ２ｉ，…，ａｊｉを式（７）に代入することで、向きベクトルｑｉを算出する。
【００７９】
上述した例は、人物ｉの向きベクトルｑｉの算出する（Ｓ１３３）例として、式（７）と式（８）を用いた例について説明した。例えば、注目度算出部１２０は、式（７）と式（８）に代えて、以下の式を用いて、人物ｉの向きベクトルｑｉを算出してもよい。
【００８０】
【数９】
2019200456.tif 000011
【００８１】
式（９）に示すように、注目度算出部１２０は、鼻（ｊ＝１）、首（ｊ＝６）、左肩（ｊ＝７）、右肩（ｊ＝８）の各部位の位置ベクトルａｋｉのｘ軸方向の位置座標（ｘ１ｉ，ｘ６ｉ，ｘ７ｉ，ｘ８ｉ）を用いて、向きベクトルｑｉを算出する。なお、式（９）において、ｗ１，ｗ２はパラメータであり、例えば、ｗ１＝１．０、ｗ２＝０．５である。図１０（Ａ）から図１０（Ｃ）は、ｗ１＝１．０、ｗ２＝０．５の場合の各座標の関係例を表す図である。
【００８２】
注目度算出部１２０は、例えば、以下の処理を行う。すなわち、注目度算出部１２０は、内部メモリに記憶した式（９）を読み出す。そして、注目度算出部１２０は、姿勢ｐｉから抽出した、又は、補間により算出した、各部位（ｊ＝１，６，７，８）の位置ベクトルａｋ１ｉのｘ座標を式（９）に代入することで、人物ｉの向きベクトルｑｉを算出する。
【００８３】
以上が注目度算出処理（Ｓ１３）の例である。上述した例は、人物ｉの向きベクトルｑｉを算出する例について説明した。例えば、注目度算出部１２０は、姿勢推定部１１０から、他の人物（ｉ＋１）の姿勢ｐｉ＋１を受け取ったときは、この人物（ｉ＋１）に対する注目度算出処理（Ｓ１３）を行い、姿勢ｐｉ＋１を算出する。このようにして、注目度算出部１２０は、画像に写っている全ての人物ｉの向きベクトルｑｉを算出する。
【００８４】
図２に戻り、次に、情報処理装置１００は、算出した人物ｉの向きベクトルｑｉを注目度記憶部１４０に記憶する（Ｓ１５）。
【００８５】
次に、情報処理装置１００は、終了するか否かを判定する（Ｓ１６）。例えば、情報処理装置１００を操作するユーザが終了ボタンを操作したか否か、或いは、終了コマンドを入力したか否かにより判定する。
【００８６】
情報処理装置１００は、終了するときは（Ｓ１６でＹＥＳ）、一連の処理を終了させ（Ｓ１７）、終了しないときは、Ｓ１１へ移行して、上述した処理を繰り返す（Ｓ１１からＳ１５）。例えば、情報処理装置１００は、他の画像（又は次の画像フレーム）に対して、画像に写っている人物ｉの向きベクトルｑｉを算出するときは、終了することなく（Ｓ１６でＮＯ）、上述した処理を繰り返せばよい。
【００８７】
なお、情報処理装置１００は、向きベクトルｑｉを注目度記憶部１４０に記憶した後、対象物３００−１，３００−２に視線を向けている人物ｉの数をカウント処理を行ってもよい。
【００８８】
図１１は、カウント処理の例を表すフローチャートである。例えば、注目度算出部１２０で行われる。
【００８９】
注目度算出部１２０は、処理を開始すると（Ｓ１４０）、向きベクトルｑｉが対象物ｍと交差するか否かを判定する（Ｓ１４１）。例えば、注目度算出部１２０は、算出した向きベクトルｑｉを、ｎ（ｎ＞０）倍し、ｎ倍した向きベクトルｑｉが、対象物３００−１，３００−２の設置点の位置座標と交差するか否か、或いは設置点の位置座標の周囲の一定範囲内の領域で交差するか否かにより判定する。この場合、注目度算出部１２０は、例えば、向きベクトルｑｉを表す二次方程式に、設置点の位置座標を代入しても二次方程式としての解が得られるか否かにより判定してもよい。或いは、注目度算出部１２０は、向きベクトルｑｉを表す二次方程式と一定範囲内の領域を表す一次方程式とで解が得られるか否かにより判定してもよい。注目度算出部１２０は、例えば、空間情報記憶部１３０に記憶された対象物３００−１，３００−２の設定点を表す位置情報などを利用して、このような計算を行う。
【００９０】
注目度算出部１２０は、向きベクトルｑｉが対象物ｍと交差すると判定したとき（Ｓ１４１でＹＥＳ）、対象ｍに対するカウント値を増加させる（Ｓ１４２）。例えば、注目度算出部１２０は、ｎ倍した向きベクトルｑｉが、対象物３００−１の設置点の位置座標や、その周囲の領域で交差するとき、対象物３００−１のカウント値をインクリメントする。
【００９１】
次に、注目度算出部１２０は、終了判定を行い（Ｓ１４３）、カウント処理を終了させるときは（Ｓ１４３でＹＥＳ）、終了し（Ｓ１４４）、終了させないときは（Ｓ１４３でＮＯ）、人物ｉをインクリメントし（Ｓ１４５）、次の人物ｉに対して、どの対象物ｍに着目しているかを判定する（Ｓ１４１，Ｓ１４２）。
【００９２】
一方、注目度算出部１２０は、向きベクトルｑｉが対象物ｍと交差しないと判定したとき（Ｓ１４１でＮｏ）、対象物ｍに対するカウント値を増加させることなく、終了判定を行う（Ｓ１４３）。
【００９３】
例えば、注目度算出部１２０は、カウント処理を終了したとき（Ｓ１４４）、例えば、内部メモリなどに記憶した各対象物ｍに対するカウント値を、注目度記憶部１４０に記憶する。注目度算出部１２０は、表示装置へカウント値を出力することで、ユーザに対して、どの対象物３００−１，３００−２に群衆が着目しているかを、通知することができる。
【００９４】
例えば、街中などで監視カメラを用いて群衆の画像が撮影された場合を考える。この場合、撮影された画像には、障害物や監視カメラの設置場所などによって、顔が隠れた人物が含まれる場合がある。このような場合、顔の部位の位置情報が得られない場合がある。
【００９５】
本第１の実施の形態の情報処理装置１００は、顔の部位の位置情報が得られないときであっても、位置情報が得られた他の部位の位置情報を利用して、補間処理（例えば図８のＳ１３２）により、顔の部位の位置情報を算出する。そして、情報処理装置１００は、顔の位置情報と他の部位の位置情報とを用いて、向きベクトルｑｉを算出する。従って、本情報処理装置１００は、顔が隠れた人物の画像であっても、その人物の視線方向を推定することが可能である。
【００９６】
[第２の実施の形態]
第１の実施の形態では、姿勢ｐｉなどは、２次元空間上のベクトルとして表現される例について説明した。本第２の実施の形態では、姿勢ｐｉなどが、３次元空間上のベクトルとして表現される例について説明する。このような３次元空間上のベクトルは、例えば、複数台のカメラ（又は撮像装置２００）を用いて、計算が可能となる。
【００９７】
図１２は、２台のカメラの座標系と３次元空間上の位置座標の例を表す図である。図１２に示す２台のカメラは、例えば、撮像装置２００が２台あることを表している。
【００９８】
図１２において、Ｏは第１のカメラの原点、Ｏ’は第２のカメラの原点をそれぞれ表す。また、ｔは第１のカメラから第２のカメラへ向かう並進ベクトル、（Ｘ，Ｙ，Ｚ）は第１のカメラの座標系から見た部位の３次元位置座標をそれぞれ表す。さらに、Ｒは、第１のカメラから見た第２のカメラの回転角を表す回転行列、ｆは第１のカメラの焦点距離（原点Ｏから第１のカメラの画像座標系の原点までの距離）、ｆ’は第２のカメラの焦点距離（原点Ｏ’から第２のカメラの画像座標系の原点までの距離）をそれぞれ表す。さらに、（ｘ，ｙ）は、第１のカメラの画像内（又は第１のカメラの画像座標系）における部位の２次元位置座標、（ｘ’，ｙ’）は、第２のカメラの画像内（又は第２のカメラの画像座標系）における部位の２次元位置座標をそれぞれ表す。
【００９９】
図１３は、第２の実施の形態における姿勢推定部１１０の構成例を表す図である。
【０１００】
図１３に示すように、姿勢推定部１１０は、第１及び第２のＣＮＮ処理部１１１−１，１１１−２、第１及び第２の候補点算出部１１２−１，１１２−２、第１及び第２のグルーピング処理部１１３−１，１１３−２を備える。また、姿勢推定部１１０は、同一人物特定処理部１１４、カメラ行列計算部１１５、及び３次元位置計算部１１６を備える。
【０１０１】
第１及び第２のＣＮＮ処理部１１１−１，１１１−２は、第１及び第２のカメラから出力された画像データに対して、ＣＮＮ処理などを施して、各部位に対する確率分布φ（Ｘ，Ｗ）を出力する。第１及び第２のＣＮＮ処理部１１１−１，１１１−２の各々は、各カメラからの画像データに対して、例えば、第１の実施の形態と同様のＣＮＮ処理を施すことで、各カメラで撮像された画像の各部位に対する確率分布φ（Ｘ，Ｗ）を出力する。
【０１０２】
第１及び第２の候補点算出部１１２−１，１１２−２は、第１及び第２のＣＮＮ処理部１１１−１，１１１−２から出力された確率分布φ（Ｘ，Ｗ）に基づいて、各部位の候補点をそれぞれ算出する。第１及び第２の候補点算出部１１２−１，１１２−２の各々は、例えば、第１の実施の形態と同様に、確率分布φ（Ｘ，Ｗ）から極大点を探索するなどにより、候補点を算出する。
【０１０３】
第１及び第２のグルーピング処理部１１３−１，１１３−２は、第１及び第２の候補点算出部１１２−１，１１２−２から出力された候補点に対して、それぞれグルーピングを行う。第１及び第２のグルーピング処理部１１３−１，１１３−２の各々は、例えば、第１の実施の形態と同様に、各候補点の距離に基づいて、グルーピングを行う。
【０１０４】
同一人物特定処理部１１４は、第１及び第２のグルーピング処理部１１３−１，１１３−２から出力された、グループ化された候補点が同一人物の候補点であるか否かを、類似度を用いて特定する。同一人物特定処理部１１４は、類似度の高い候補点の組み合わせを同一人物の候補点であると判定して、その候補点を出力する。詳細は動作例で説明する。
【０１０５】
カメラ行列計算部１１５は、カメラ行列Ｐ，Ｐ’を計算する。カメラ行列Ｐは、例えば、図１２に示すように、第１のカメラの画像座標系を３次元位置の座標系へ変換する行列を表す。また、カメラ行列Ｐ’は、例えば、第２のカメラの画像座標系を３次元位置の座標系を変換する行列を表す。カメラ行列計算部１１５は、同一人物特定処理部１１４から出力された各候補点と、計算したカメラ行列Ｐ，Ｐ’とを３次元位置計算部１１６へ出力する。カメラ行列Ｐ，Ｐ’の計算例は動作例で説明する。
【０１０６】
３次元位置計算部１１６は、例えば、カメラ行列Ｐ，Ｐ’を用いて、グループ化された各部位の候補点（２次元の位置座標）を３次元位置座標へ変換して、３次元位置ベクトルを含む姿勢ｐｉを出力する。詳細は動作例で説明する。
【０１０７】
図１４は第２の実施の形態における動作例を表すフローチャートである。例えば、情報処理装置１００は、図２に示すフローチャートに代えて、図１４に示すフローチャートにより処理を行う。
【０１０８】
情報処理装置１００は、処理を開始すると（Ｓ２０）、第１のカメラで群衆を撮影し（Ｓ２１）、第２のカメラでも同じ群衆を撮影する（Ｓ２３）。例えば、撮像装置２００が２台あり、一方の撮像装置２００が第１のカメラ、他方の撮像装置２００が第２のカメラとして、各々群衆を撮影する。
【０１０９】
次に、情報処理装置１００は、第１のカメラで撮影された画像に含まれる各人物の姿勢を推定し（Ｓ２２）、第２のカメラで撮影された画像に含まれる各人物の姿勢も推定する（Ｓ２４）。例えば、第１のＣＮＮ処理部１１１−１、第１の候補点算出部１１２−１、及び第１のグルーピング処理部１１３−１において、第１のカメラで撮影された画像に含まれる各人物の姿勢を推定する。また、例えば、第２のＣＮＮ処理部１１１−２、第２の候補点算出部１１２−２、及び第２のグルーピング処理部１１３−２において、第２のカメラで撮影された画像に含まれる各人物の姿勢を推定する。
【０１１０】
次に、情報処理装置１００は、２つのカメラで撮影された画像に対して、同一人物特定処理を行う（Ｓ２５）。
【０１１１】
図１５（Ａ）は同一人物特定処理の例を表すフローチャートである。例えば、同一人物特定処理部１１４において行われる。
【０１１２】
同一人物特定処理部１１４は、同一人物特定処理を開始すると（Ｓ２５０）、第１のカメラで撮影した人物の画像をトリミング（又は切り抜き、或いは切り取り）し（Ｓ２５１）、第２のカメラで撮影された人物の画像をトリミングする（Ｓ２５２）。例えば、同一人物特定処理部１１４は、以下の処理を行う。
【０１１３】
すなわち、同一人物特定処理部１１４は、第１及び第２のグルーピング処理部１１３−１，１１３−２から、グループ化された候補点を入力する。そのため、同一人物特定処理部１１４は、候補点に基づいて、グループ化された候補点全体の周囲にある画像の画素値が一定の範囲内にある画素値を、第１及び第２の画像の画像データから抽出することで、人物の画像をトリミングする。例えば、人物の画像の各画素の画素値は、第１及び第２のＣＮＮ処理部１１１−１，１１１−２、第１及び第２の候補点算出部１１２−１，１１２−２，及び第１及び第２のグルーピング処理部１１３−１，１１３−２を介して、同一人物特定処理部１１４へ入力される。
【０１１４】
次に、同一人物特定処理部１１４は、類似度計算処理を行う（Ｓ２５３）。
【０１１５】
図１５（Ｂ）は類似度計算処理の例を表すフローチャートである。
【０１１６】
同一人物特定処理部１１４は、類似度計算処理を開始すると（Ｓ２５３０）、第１及び第２のカメラで撮影された人物の部位の画像をトリミングする（Ｓ２５３１，Ｓ２５３３）。この場合も、例えば、同一人物特定処理部１１４は、候補点ごとに、候補点の周囲にある画像の画素値が一定の範囲内にある画素値を抽出することで、人物の部位の画像をトリミングする。同一人物特定処理部１１４は、例えば、第１及び第２のカメラで撮影された画像ごとに、このような部位の画像をトリミングする。
【０１１７】
次に、同一人物特定処理部１１４は、各々トリミングした部位の画像に対して、カラーヒストグラムを計算する（Ｓ２５３２，Ｓ２５３４）。例えば、同一人物特定処理部１１４は、以下の処理を行う。
【０１１８】
すなわち、同一人物特定処理部１１４は、各部位の画像の各画素を所定セル（例えば、８×８画素）にまとめ、所定セルごとに、ＲＧＢの各画素値（又は階調値）の出現回数を取得する。このような処理は、公知手法でよく、例えば、色情報を利用した局所特徴量であるＣＳＳ（Color Self-Similarity）特徴量を計算することで、カラーヒストグラムが計算されてよい。同一人物特定処理部１１４は、第１及び第２のカメラで撮影された画像ごとに、カラーヒストグラムを計算する。
【０１１９】
次に、同一人物特定処理部１１４は、カラーヒストグラム（Ｓ２５３２，Ｓ２５３４）を用いて平均２乗誤差を計算し、類似度を計算する（Ｓ２５３５）。例えば、同一人物特定処理部１１４は、以下の処理を行う。
【０１２０】
すなわち、同一人物特定処理部１１４は、第１のカメラで撮影した、ある部位の画像に対応するカラーヒストグラム（Ｓ２５３２）と、第２のカメラで撮影した、その部位の画像に対応するカラーヒストグラム（Ｓ２５３４）との平均２乗誤差を計算する。カラーヒストグラムでは、異なるカメラで撮影された部位の画像について、所定セルごとの画素値の出現回数として計算される。そのため、同一人物特定処理部１１４は、そのような２つの出現回数の誤差の２乗を算出し、その算出値の部位全体における平均値を算出する。同一人物特定処理部１１４は、算出した平均値の逆数を、類似度として計算する。同一人物特定処理部１１４は、部位ごとに、このような類似度を計算する。
【０１２１】
同一人物特定処理部１１４は、類似度を計算すると、類似度計算処理を終了する（Ｓ２５３６）。
【０１２２】
図１５（Ａ）に戻り、次に、同一人物特定処理部１１４は、類似度の高い組み合わせを探索する（Ｓ２５４）。例えば、同一人物特定処理部１１４は、部位ごとに計算した複数の類似度が、すべて類似度閾値以上のとき、第１のカメラで撮影した人物と第２のカメラで撮影した人物が同一人物であると判定し、そうでないときは、同一人物ではないと判定する。このような判定は、一例であって、同一人物特定処理部１１４は、類似度が類似度閾値以上となっている部位の個数が、個数閾値以上のとき、同一人物であると判定し、そうでないときは同一人物ではないと判定してもよい。例えば、類似度が高いほど、同一人物由来の部位画像である確率は高くなる。
【０１２３】
そして、同一人物特定処理部１１４は、同一人物特定処理を終了する（Ｓ２５５）。
【０１２４】
図１４に戻り、次に、情報処理装置１００は、カメラ行列Ｐ，Ｐ’を計算する（Ｓ２６）。ここで、カメラ行列Ｐ，Ｐ’について説明する。
【０１２５】
図１２に示すように、最初に、第１のカメラの座標系から見た部位の３次元位置座標（Ｘ，Ｙ，Ｚ）を第１のカメラの画像内における部位の２次元位置座標（ｘ，ｙ）と第２のカメラの画像内における部位の２次元位置座標（ｘ’，ｙ’）と並進ベクトルｔ、回転行列Ｒとで記述することを考える。
【０１２６】
まず、投資投影モデルによれば、３次元位置座標（Ｘ，Ｙ，Ｚ）は、２次元位置座標（ｘ，ｙ）と第１のカメラの焦点距離ｆを用いて、以下の式（９−１）または式（９−２）で記述される。
【０１２７】
【数９−１】
2019200456.tif 000012
【０１２８】
【数９−２】
2019200456.tif 000013
【０１２９】
同様にして、第２のカメラの座標系から見た部位の３次元位置座標（Ｘ’，Ｙ’，Ｚ’）は、以下の式（９−３）又は式（９−４）式で記述される。ここで、ｋとｋ’は「０」ではない実数である。
【０１３０】
【数９−３】
2019200456.tif 000014
【０１３１】
【数９−４】
2019200456.tif 000015
【０１３２】
一方、図１２に示すように、第２カメラの座標系（Ｘ’，Ｙ’，Ｚ’）と第１カメラの座標系（Ｘ，Ｙ，Ｚ）の関係は、並進ベクトルｔと回転行列Ｒを用いて以下の式（９−５）で記述できる。
【０１３３】
【数９−５】
2019200456.tif 000016
【０１３４】
以上の式（９−１）、式（９−２）、式（９−３）、式（９−４）、及び式（９−５）を連立させて解けば、３次元位置座標（Ｘ，Ｙ，Ｚ）と２次元位置座標（ｘ，ｙ）と２次元位置座標（ｘ’，ｙ’）の関係が、並進ベクトルｔ、回転行列Ｒとを用いて以下の４つの式で記述されることが分かる。
【０１３５】
【数９−６】
2019200456.tif 000017
【０１３６】
【数９−７】
2019200456.tif 000018
【０１３７】
【数９−８】
2019200456.tif 000019
【０１３８】
【数９−９】
2019200456.tif 000020
【０１３９】
ここで、Ｐ，Ｐ’カメラ行列とよばれる行列である。２次元位置座標（ｘ，ｙ）と２次元位置座標（ｘ’，ｙ’）、並進ベクトルｔ、回転行列Ｒが分かれば、３次元位置座標（Ｘ，Ｙ，Ｚ）は、上記の式（９−６）、式（９−７）、式（９−８）、及び式（９−９）を逆に解くことで計算できることが分かった。
【０１４０】
以上から、カメラ行列計算部１１５は、例えば、以下の式を用いて、カメラ行列Ｐ，Ｐ’を計算する。
【０１４１】
【数１０】
2019200456.tif 000021
【０１４２】
【数１１】
2019200456.tif 000022
【０１４３】
式（１０）と式（１１）において、ｆ０は、スケールを調整するパラメータであり、例えば、ｆ０＝１である。
【０１４４】
カメラ行列計算部１１５は、例えば、内部メモリに記憶された式（１０）と式（１１）を読み出して、第１及び第２のカメラの焦点距離ｆ，ｆ’、回転行列Ｒ、第１のカメラの原点Ｏから第２のカメラの原点Ｏ’へ向かうベクトルｔを式（１０）と式（１１）に代入する。カメラ行列計算部１１５は、例えば、焦点距離ｆ，ｆ’、回転行列Ｒ、ベクトルｔも内部メモリに記憶されており、これらの値を内部メモリから読み出して、式（１０）と式（１１）に代入すればよい。
【０１４５】
次に、情報処理装置１００は、各部位の３次元位置（Ｘ，Ｙ，Ｚ）を計算する（Ｓ２７）。例えば、３次元位置計算部１１６は、以下の式の連立方程式を解くことで、（Ｘ，Ｙ，Ｚ）を計算する。
【０１４６】
【数１２】
2019200456.tif 000023
【０１４７】
【数１３】
2019200456.tif 000024
【０１４８】
【数１４】
2019200456.tif 000025
【０１４９】
【数１５】
2019200456.tif 000026
【０１５０】
例えば、３次元位置計算部１１６は、以下の処理を行う。すなわち、３次元位置計算部１１６は、内部メモリに記憶された式（１２）から式（１５）を読み出して、Ｓ２６で計算したカメラ行列Ｐ，Ｐ’の各成分と、部位の位置座標（ｘ，ｙ），（ｘ’，ｙ’）を、式（１２）から式（１５）に代入する。そして、３次元位置計算部１１６は、式（１２）から式（１５）の連立方程式を解くことで、部位の３次元位置座標（Ｘ，Ｙ，Ｚ）を得る。この場合、３次元位置計算部１１６は、計算した部位の３次元位置座標を、式（１）に代入することで、３次元ベクトルとして表現された姿勢ｐｉを得る。
【０１５１】
以降は、情報処理装置１００は、第１の実施の形態と同様に、姿勢ｐｉを利用して、Ｓ１３からＳ１７の処理を行って、向きベクトルｑｉを算出し、一連の処理を終了する（Ｓ２８）。Ｓ１３からＳ１７の処理においては、情報処理装置１００は、例えば、３次元位置座標を用いて処理を行い、３次元位置ベクトルとして表現された向きベクトルｑｉを得る。
【０１５２】
このように本第２の実施の形態では、姿勢ｐｉや向きベクトルｑｉを３次元位置ベクトルとして表現できるため、２次元位置ベクトルを利用した第１の実施の形態と比較して、正確な向きベクトルｑｉを得ることが可能となる。
【０１５３】
[第３の実施の形態]
第１の実施の形態では、注目度算出処理（例えば図８のＳ１３０）において、一定の部位に着目して、視えていない部位については補間する処理について説明した。例えば、ある人物のｉ視えていない部位ｋの数が閾値以下のとき、補間によりそのような部位ｋを算出しても、その部位ｋの位置ベクトルａｋｉ＝（ｘｋｉ  ｙｋｉ）を精度良く算出することができない場合がある。
【０１５４】
本第３の実施の形態の情報処理装置１００は、人物ｉの姿勢は、隣接する人物ｔの姿勢に似る傾向を持つという、経験測に基づいて、人物ｉの姿勢ｐｉだけではなく、人物ｔの姿勢ｐｔも利用して、人物ｉの位置ベクトルａｋｉ＝（ｘｋｉ  ｙｋｉ）を算出する。
【０１５５】
図１６は、第３の実施の形態における注目度算出処理の例を表すフローチャートである。ただし、撮像装置２００により群衆が撮影され（図２のＳ１１）、姿勢推定部１１０において、姿勢推定処理（図２のＳ１２）により、人物ｉの姿勢ｐｉと人物ｔの姿勢ｐｔとが得られているものとする。
【０１５６】
注目度算出部１２０は、注目度算出処理を開始すると（Ｓ１３０）、ある人物ｉの視えていない部位（とくに顔の部位）の数が閾値以下か否かを判定する（Ｓ１３５）。例えば、注目度算出部１２０は、姿勢推定部１１０から出力された姿勢ｐｉにおいて、ｖｊｉ＝０となっている数が閾値以上となっているか否かを判定する。この場合、例えば、注目度算出部１２０は、顔の部位（ｊ＝１〜５）に着目し、その部位のｖｊｉが「０」となっている数が閾値以上か否かを判定してもよい。
【０１５７】
注目度算出部１２０は、視えていない部位の数が閾値よりも多いとき（Ｓ１３５でＮＯ）、視えていない部位ｋの位置ベクトルａｋｉ＝（ｘｋｉ  ｙｋｉ）を補間により算出する（Ｓ１３６）。例えば、注目度算出部１２０は、以下の式を用いて、位置ベクトルａｋｉを算出する。
【０１５８】
【数１６】
2019200456.tif 000027
【０１５９】
式（１６）において、ａｋ１ｉ，ａｋ２ｉ，…，ａｋＭ１ｉは、人物ｉにおいて視えている部位の位置ベクトル、ａｋ１ｔ，ａｋ２ｔ，…，ａｋＭ２ｔは、人物ｉに隣接する人物ｔにおいて視えている部位の位置ベクトルをそれぞれ表す。また、ＡｋＭ１，Ｍ２は、２Ｍ１行、２Ｍ２列の行列である。ＡｋＭ１，Ｍ２とｂｋＭ１，Ｍ２は、例えば、姿勢ｓの集合Ｐ（教師データ）を用いて、式（６）と同様に、以下の式を用いて算出する。
【０１６０】
【数１７】
2019200456.tif 000028
【０１６１】
例えば、注目度算出部１２０は、以下の処理を行う。すなわち、注目度算出部１２０は、姿勢推定部１１０から出力された姿勢ｐｉと姿勢ｐｔに基づいて、人物ｉの中心座標と、人物ｔの中心座標を求める。注目度算出部１２０は、２つの中心座標が閾値以内であれば、人物ｔは人物ｉに隣接すると判定する。隣接すると判定すると、注目度算出部１２０は、内部メモリから式（１７）を読み出して、ＡｋＭ１，Ｍ２とｂｋＭ１，Ｍ２を計算する。注目度算出部１２０は、姿勢ｐｉからｖｊｉ＝１となっている位置ベクトルと、姿勢ｐｔからｖｊｔ＝１となっている位置ベクトル、及び計算したＡｋＭ１，Ｍ２とｂｋＭ１，Ｍ２を、式（１６）の右辺に代入することで、人物ｉの視えていない部位ｋの位置ベクトルａｋｉを算出する。
【０１６２】
次に、注目度算出部１２０は、視えている部位の位置ベクトルａｋ１ｉ，ａｋ２ｉ，…，ａｋＭ１ｉと、補間により算出した、視えていない部位ｋの位置ベクトルａｋｉとを利用して、人物ｉの向きベクトルｑｉを算出する（Ｓ１３７）。例えば、注目度算出部１２０は、第１の実施の形態と同様に式（７）を用いて向きベクトルｑｉを算出する。
【０１６３】
そして、注目度算出部１２０は、注目度算出処理を終了する（Ｓ１３８）。
【０１６４】
一方、注目度算出部１２０は、視えていない部位の数が閾値以下のとき（Ｓ１３５でＹＥＳ）、姿勢ｐｉに基づいて、人物ｉの向きベクトルｑｉを算出する（Ｓ１３７）。この場合、姿勢ｐｉには、部位の位置座標が一部含まれないこともあるが、そのような場合は、注目度算出部１２０は、行列Ｗの成分を調整して、そのような行列Ｗを含む式（７）を利用して、向きベクトルｑｉを算出する。
【０１６５】
以降、情報処理装置１００は、第１の実施の形態と同様の処理（Ｓ１５からＳ１７）を行う。
【０１６６】
このように、本第３の実施の形態では、情報処理装置１００は、視えていない部位の数が閾値よりも多いときは、処理対象の人物ｉに隣接する人物ｔの位置ベクトルを利用して、人物ｉの部位の位置ベクトルを補間により算出している。従って、補間処理を行わない場合と比較して、本第３の実施の形態の情報処理装置１００は、視えていない部位の位置を精度よく算出することができ、さらに、向きベクトルｑｉを精度よく算出することも可能となる。
【０１６７】
[第４の実施の形態]
第１の実施の形態で利用した式（５）と式（７）は、線形な関数として表現されている。そのため、対象に対する関数の近似能力に限界がある場合がある。そこで、本第４の実施の形態では、式（５）と式（７）に非線形な関数を用いる。これにより、例えば、線形な関数を用いた場合と比較して、対象に対する近似能力を高めるようにする。
【０１６８】
本第４の実施の形態の情報処理装置１００は、式（５）に代えて、以下の式を用いて、視えていない部位ｋの位置ベクトルａｋｉを補間により算出する。
【０１６９】
【数１８】
2019200456.tif 000029
【０１７０】
【数１９】
2019200456.tif 000030
【０１７１】
式（１８）において、Ｄｌ１Ｍは、ｌ１行２Ｍ列の行列、Ｄｌ２ｌ１は、ｌ２行１１列の行列、Ｄｋｌ２は、ｋ行ｌ２列の行列をそれぞれ表す。また、ａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉは、人物ｉにおいて視えている部位の位置ベクトルを表す。また、式（１９）において、δ（ｘ）は活性化関数であり、αとβは、α≠βとなる予め決められた実数をそれぞれ表す。
【０１７２】
行列Ｄｌ１Ｍ，Ｄｌ２ｌ１，及びＤｋｌ２は、例えば、式（６）と同様に、姿勢ｓの集合Ｐを用いて、以下の式を解くことで得られる行列である。
【０１７３】
【数２０】
2019200456.tif 000031
【０１７４】
例えば、注目度算出部１２０は、補間処理（図８のＳ１３２）として、以下の処理を行う。すなわち、注目度算出部１２０は、内部メモリに記憶されたｓｋｉと、ｓｋ１ｉ，ｓｋ２ｉ，…，ｓｋＭｉとを内部メモリから読み出し、内部メモリから読み出した式（２０）に代入し、行列Ｄｌ１Ｍ，Ｄｌ２ｌ１，及びＤｋｌ２を得る。そして、注目度算出部１２０は、内部メモリに記憶された式（１８）を内部メモリから読み出して、式（２０）で得た行列Ｄｌ１Ｍ，Ｄｌ２ｌ１，及びＤｋｌ２と、姿勢ｓから抽出したａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉとを、式（１８）に代入する。これにより、注目度算出部１２０は、視えていない部位ｋの位置ベクトルａｋｉを算出する。
【０１７５】
また、本第４の実施の形態の情報処理装置１００は、式（７）に代えて、以下の式を用いて、人物ｉの向きベクトルｑｉを算出する。
【０１７６】
【数２１】
2019200456.tif 000032
【０１７７】
式（２１）において、Ｗｌ１Ｊは、ｌ１行２Ｊ列の行列、Ｗｌ２ｌ１は、ｌ２行１１列の行列、Ｗｋｌ２は、ｋ行ｌ２列の行列をそれぞれ表す。
【０１７８】
行列Ｗｌ１Ｊ，Ｗｌ２ｌ１，Ｗｋｌ２は、例えば、式（８）と同様に、姿勢ｓの集合Ｐを用いて、以下の式を解くことで得られる行列である。
【０１７９】
【数２２】
2019200456.tif 000033
【０１８０】
例えば、注目度算出部１２０は向きベクトルｑｉの算出処理（図８のＳ１３３）として、以下の処理を行う。すなわち、注目度算出部１２０は、内部メモリに記憶されたｑｓｉと、ｓ１ｉ，ｓ２ｉ，…，ｓＪｉとを内部メモリから読み出し、内部メモリに記憶された式（２２）を内部メモリから読み出して、式（２２）に代入し、行列Ｗｌ１Ｊ，Ｗｌ２ｌ１，Ｗｋｌ２を得る。注目度算出部１２０は、内部メモリに記憶された式（２１）を内部メモリから読み出して、式（２２）で得た行列Ｗｌ１Ｊ，Ｗｌ２ｌ１，Ｗｋｌ２と、姿勢ｓから抽出したａ１ｉ，ａ２ｉ，…，ａＪｉとを、式（２１）に代入し、人物ｉの向きベクトルｑｉを算出する。
【０１８１】
なお、式（１８）において、３つの行列Ｄｌ１Ｍ，Ｄｌ２ｌ１，Ｄｋｌ２を用いる例について説明した。例えば、注目度算出部１２０は、このうち２つの行列を用いて式（１８）を計算してもよい。また、例えば、注目度算出部１２０は、３つの行列Ｗｌ１Ｊ，Ｗｌ２ｌ１，Ｗｋｌ２ではなく、このうち、２つの行列を用いて式（２１）を計算してもよい。
【０１８２】
[第５の実施の形態]
第１の実施の形態では、注目度を算出する例について説明した。本第５の実施の形態では、算出した注目度の変化を検出する例について説明する。情報処理装置１００において、このような注目度の変化を検出することで、例えば、群衆が視線を向けている方向が突然変化したような状況が発生したことを検知でき、そのような状況が発生した時間を検出することも可能となる。
【０１８３】
図１７は、第５の実施の形態における情報処理システム１０の構成例を表す図である。
【０１８４】
図１７に示すように、情報処理装置１００は、さらに、変化検知部１５０を備える。変化検知部１５０は、注目度記憶部１４０から注目度を読み出し、例えば、その時間的な変化を検知する。変化検知部１５０は、検知した結果を、例えば、外部の表示装置へ出力し、ユーザへ知らせることが可能である。
【０１８５】
図１８は、情報処理装置１００の動作例を表すフローチャートである。図１８において、Ｓ１１からＳ１５までの処理は、第１の実施の形態と同様である。
【０１８６】
情報処理装置１００は、各人物ｉの注目度（又は向きベクトルｑｉ）を注目度記憶部１４０に記録すると（Ｓ１５）、注目度変化検出処理（Ｓ１８）を行う。
【０１８７】
図１９は、注目度変化検出処理の例を表すフローチャートである。図１９の各処理は、例えば、変化検知部１５０で行われる。
【０１８８】
変化検知部１５０は、注目度検出処理を開始すると（Ｓ１８０）、注目度ベクトルｕｉｔを、時刻（Ｔ−ｎ）＜ｔ≦（Ｔ−ｍ）と、時刻（Ｔ−ｍ）＜ｔとの２つの集合に分ける（Ｓ１８１）。
【０１８９】
ここで、注目度ベクトルｕｉｔは、例えば、時刻ｔにおける人物ｉの向きベクトルｑｉｔを正規化したものであり、以下の式で定義される。
【０１９０】
【数２３】
2019200456.tif 000034
【０１９１】
また、時刻（Ｔ−ｎ）＜ｔ≦（Ｔ−ｍ）（ただし、ｎ＞ｍ）での注目度ベクトルの集合を、ＵＴ−ｎ＜ｔ≦Ｔ−ｍとすると、注目度ベクトルの集合ＵＴ−ｎ＜ｔ≦Ｔ−ｍは、例えば、以下の式で定義される。
【０１９２】
【数２４】
2019200456.tif 000035
【０１９３】
図２０は、時刻ｔ、時刻（Ｔ−ｎ）、時刻（Ｔ−ｍ）の関係例を表す図である。各時刻ｔにおいて、１つの注目度ベクトルｕが算出されるものとすると、時刻ｔが現在時刻Ｔのとき、時刻ｔ＝Ｔ−ｎから時刻ｔ＝Ｔまでは、ｎ個の注目度ベクトルｕが算出される。また、時刻ｔが時刻（Ｔ−ｎ）から時刻ｔ＝（Ｔ−ｍ）までの間で算出された注目度ベクトルの個数は（ｎ−ｍ）個であり、時刻（Ｔ−ｍ）から現在時刻Ｔまでの間で算出された注目度ベクトルの個数はｍ個となる。図２０に示すように、時刻（Ｔ−ｍ）を境に、前半と後半に別れ、注目度ベクトルの集合ＵＴ−ｎ＜ｔ≦Ｔ−ｍは、前半である、時刻（Ｔ−ｎ）から時刻（Ｔ−ｍ）までの注目度ベクトルｕｉｔの集合を表している。
【０１９４】
変化検知部１５０は、Ｓ１８１の処理として、例えば、以下の処理を行う。すなわち、変化検知部１５０は、注目度記憶部１４０から、時刻（Ｔ−ｎ）から現在時刻Ｔまでのｎ個の向きベクトルｑｉを、注目度記憶部１４０から読み出す。そして、変化検知部１５０は、内部メモリに記憶された式（２２）を読み出して、式（２２）に向きベクトルｑｉを代入して、ｎ個の注目度ベクトルｕｉｔを算出する。変化検知部１５０は、ｎ個の注目度ベクトルｕｉｔを、時刻（Ｔ−ｎ）＜ｔ≦（Ｔ−ｍ）までの（ｎ−ｍ）個の注目度ベクトルの集合と、時刻（Ｔ−ｍ）＜ｔまでのｍ個の注目度ベクトルの集合に分ける。前者の注目度ベクトルの集合は、例えば、式（２４）として表される。
【０１９５】
図１９に戻り、変化検知部１５０は、時刻（Ｔ−ｎ）＜ｔ≦（Ｔ−ｍ）までの（ｎ−ｍ）個の注目度ベクトルの集合ＵＴ−ｎ＜ｔ≦Ｔ−ｍに対して、注目度ベクトルｕｉｔの確率分布ｐ（ｕｉｔ）を推定する（Ｓ１８２）。本処理においては、確率分布ｐ（ｕｉｔ）は、例えば、混合フォン・ミーゼス分布（又はフォンミーゼスフィッシャー分布）に沿って分布すると仮定する。混合フォン・ミーゼス分布は、例えば、注目度ベクトルｕｉｔの始点をｄ次元（ｄは例えば２又は３）空間上の原点にとった場合、注目度ベクトルｕｉｔの向きがどのような方向へ確率的に分布しているかを表している。
【０１９６】
図２１（Ａ）は入力画像、図２１（Ｂ）は、入力画像に対して、注目度ベクトルｕｉｔの確率分布の例をそれぞれ表す図である。図２１（Ａ）と図２１（Ｂ）に示すように、画像において群衆は主に２つの方向へ視線を向けているため、注目度ベクトルｕｉｔの向きも主に２つの方向へ分布している。図２１（Ｂ）は、混合フォン・ミーゼス分布の例を表している。
【０１９７】
変化検知部１５０は、例えば、以下の式を用いて、注目度ベクトルｕｉｔの集合ＵＴ−ｎ＜ｔ≦Ｔ−ｍに対して、確率分布ｐ（ｕｉｔ）を推定する。
【０１９８】
【数２５】
2019200456.tif 000036
【０１９９】
式（２５）において、Ｍ（ｕｉｔ｜μｊ，σｊ）は、例えば、以下の式を用いて算出される。
【０２００】
【数２６】
2019200456.tif 000037
【０２０１】
式（２６）において、Ｉρ（γ）は、例えば、以下の式を用いて算出される。
【０２０２】
【数２７】
2019200456.tif 000038
【０２０３】
式（２５）から式（２７）において、ｄは注目度ベクトルｕｉｔの次元数（２又は３）、Ｉρ（γ）はρ階の第１種変形ベッセル関数をそれぞれ表す。また、式（２５）から式（２７）において、αｊ，μｊ，σｊは、パラメータである。パラメータαｊ，μｊ，σｊの推定は、例えば、注目度ベクトルの集合ＵＴ−ｎ＜ｔ≦Ｔ−ｍを用いて、公知の期待値最大化法を用いて推定可能である。
【０２０４】
例えば、変化検知部１５０は、Ｓ１８２において、以下の処理を行う。すなわち、変化検知部１５０は、時刻（Ｔ−ｎ）＜ｔ≦（Ｔ−ｍ）までの注目度ベクトルの集合ＵＴ−ｎ＜ｔ≦Ｔ−ｍに対して、期待値最大化法などを用いて、パラメータαｊ，μｊ，σｊを推定する。そして、変化検知部１５０は、内部メモリに記憶された式（２５）から式（２７）を読み出して、推定したパラメータαｊ，μｊ，σｊや、注目度ベクトルｕｉｔを、式（２５）から式（２７）に代入することで、確率分布ｐ（ｕｉｔ）を推定する。
【０２０５】
図１９に戻り、次に、変化検知部１５０は、時刻（Ｔ−ｍ）＜ｔでの注目度ベクトルの集合ＵＴ−ｍ＜ｔの異常度βを計算する（Ｓ１８３）。異常度βは、例えば、以下の式で計算される。
【０２０６】
【数２８】
2019200456.tif 000039
【０２０７】
式（２８）に示すように、異常度βは、例えば、時刻（Ｔ−ｎ）＜ｔ≦（Ｔ−ｍ）における注目度ベクトルの集合ＵＴ−ｎ＜ｔ≦Ｔ−ｍに対する確率分布ｐ（ｕｉｔ）を基準にして、時刻（Ｔ−ｍ）＜ｔの注目度ベクトルの集合ＵＴ−ｍ＜ｔの分布がどれだけ外れているかを表している。注目度ベクトルの集合ＵＴ−ｍ＜ｔの分布が、注目度ベクトルの集合ＵＴ−ｎ＜ｔ≦Ｔ−ｍに対する確率分布ｐ（ｕｉｔ）から外れたときは、異常度βの値は大きな値をとり、そうでないときは小さな値をとり得る。
【０２０８】
例えば、変化検知部１５０は、内部メモリに記憶された式（２８）を読み出して、Ｓ１８２で推定した確率分布ｐ（ｕｉｔ）を、式（２８）に代入することで、異常度βを計算する。
【０２０９】
次に、変化検知部１５０は、異常度βが閾値以上か否かを判定する（Ｓ１８４）。変化検知部１５０は、異常度βが閾値以上のとき（Ｓ１８４でＹＥＳ）、変化をユーザへ知らせる。そして、変化検知部１５０は、注目度変化検出処理を終了する（Ｓ１８６）。一方、変化検知部１５０は、異常度βが閾値より小さいとき（Ｓ１８４でＮＯ）、Ｓ１８４の処理を行うことなく、注目度変化検出処理を終了する（Ｓ１８６）。
【０２１０】
変化検知部１５０は、例えば、以下の処理を行う。すなわち、変化検知部１５０は、Ｓ１８３で計算した異常度βと、内部メモリに記憶された閾値と比較して、異常度βが閾値以上のとき、変化があったこと、変化があった時刻（例えば、時刻ｔ＝（Ｔ−ｍ））を外部の表示装置へ出力する。一方、変化検知部１５０は、異常度βが閾値より小さいときは、変化を通知することなく処理を終了する。
【０２１１】
図２１（Ａ）から図２１（Ｄ）は、例えば、ある時刻（Ｔ−ｍ）を境に群衆の視線方向が変化している様子を表している。図２１（Ａ）と図２１（Ｃ）に示すように、視線方向に変化が生じると、向きベクトルｑｉも変化し、注目度ベクトルｕｉｔも変化する。そのため、注目度ベクトルの集合ＵＴ−ｎ＜ｔ≦Ｔ−ｍに対する確率分布ｐ（ｕｉｔ）を基準（図２１（Ｂ））にすると、注目度ベクトルの集合ＵＴ−ｍ＜ｔの分布が大きくはずれ（図２１（Ｄ））、異常度βも大きくなる。
【０２１２】
情報処理装置１００では、このような変化の検知結果を外部の表示装置へ出力することで、ユーザに対して、変化が発生したことや変化が発生した時刻をユーザに通知することができる。これにより、例えば、セキュリティ用の都市監視において、視線方向においてイベントが発生したことやその発生時刻などを、ユーザに知らせることが可能となる。
【０２１３】
［その他の実施の形態］
図２２は、情報処理装置１００のハードウェア構成例を表す図である。
【０２１４】
情報処理装置１００は、インタフェース部１８０、メモリ１８１、ＣＰＵ（Central Processing Unit）１８２、ＲＯＭ（Read Only Memory）１８３、及びＲＡＭ（Random Access Memory）１８４を備える。
【０２１５】
インタフェース部１８０は、例えば、撮像装置２００から出力された画像データをメモリ１８１やＣＰＵ１８２へ出力する。
【０２１６】
メモリ１８１は、例えば、第１の実施の形態の空間情報記憶部１３０と注目度記憶部１４０に対応する。また、メモリ１８１は、例えば、姿勢推定部１１０、注目度算出部１２０、及び第５の実施の形態の変化検知部１５０における内部メモリに対応する。
【０２１７】
ＣＰＵ１８２は、例えば、ＲＯＭ１８３に記憶されたプログラムを読み出して、ＲＡＭ１８４にロードし、ロードしたプログラムを実行することで、姿勢推定部１１０、注目度算出部１２０、及び変化検知部１５０の機能を実現する。ＣＰＵ１８２は、例えば、姿勢推定部１１０、注目度算出部１２０、及び変化検知部１５０に対応する。
【０２１８】
なお、ＣＰＵ１８２にえて、ＭＰＵ（Micro Processing Unit）やＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field Programmable Gate Array）などのプロセッサやコントローラなどが用いられてもよい。
【０２１９】
以上まとめると、付記のようになる。
【０２２０】
（付記１）
入力画像データに対して、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報を推定し、
前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定する、
処理をコンピュータに実行させることを特徴とするプログラム。
【０２２１】
（付記２）
前記顔の部位の位置情報には、鼻、左目、右目、左耳、右耳、首、左肩、及び右肩の少なくともいずれか１つの位置情報を含むことを特徴とする付記１記載のプログラム。
【０２２２】
（付記３）
前記入力画像データに対して、前記正解データを利用して、前記人物の各部位の確率分布を計算し、前記各部位の確率分布に基づいて、前記各部位の候補点を探索し、前記各部位の候補点を人物ごとにグルーピングすることにより、前記人物の部位の位置情報を推定することを特徴とする付記１記載のプログラム。
【０２２３】
（付記４）
前記正解データを利用して、所定画像の画像データに対するフィルタリング処理を行い、フィルタリング処理後の画像データから、複数画素を含むブロック単位に最大値を抽出するプーリング処理を行い、前記フィルタリング処理と前記プーリング処理とを繰り返して、人物の各部位の確率分布の正解データを生成し、前記人物の各部位の確率分布の正解データを利用して、入力画像データに対する前記フィルタリング処理を行い、フィルタリング処理後の画像データから、前記ブロック単位に最大値を抽出する前記プーリング処理を行い、前記フィルタリング処理と前記プーリング処理とを繰り返して、前記各部位の確率分布を生成することを特徴とする付記３記載のプログラム。
【０２２４】
（付記５）
前記各部位の確率分布に基づいて、極大点となっている位置座標を前記各部位の候補点とすることを特徴とする付記３記載のプログラム。
【０２２５】
（付記６）
前記極大点が閾値より小さいとき、前記部位が前記画像に含まれていないと判定し、前記極大点が閾値以上のとき、前記部位が画像に含まれていると判定することを特徴とする付記５記載のプログラム。
【０２２６】
（付記７）
前記入力画像データに対して、各部位を接続した確率分布の正解データを利用して、フィルタリング処理を行い、フィルタリング処理後の画像データから、複数画素を含むブロック単位に最大値を抽出するプーリング処理を行い、前記フィルタリング処理と前記プーリング処理とを繰り返して、前記各部位のつながり度合いを示す確率分布を生成し、生成した確率分布と前記各部位の候補点とに基づいて、人物ごとに前記候補点をグルーピングすることを特徴とする付記３記載のプログラム。
【０２２７】
（付記８）
入力画像データに基づいて、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報と、前記画像に前記部位が含まれるか否かを示すパラメータとを含む姿勢ベクトルを推定することを特徴とする付記１記載のプログラム。
【０２２８】
（付記９）
前記顔の部位が前記画像に含まれるか否かを示す前記パラメータに基づいて、前記部位のうち顔の部位の位置情報を推定することができなかったことを判定することを特徴する付記８記載のプログラム。
【０２２９】
（付記１０）
内部メモリから読み出した以下の式（２９）に、推定することができた他の部位の位置情報を表す位置ベクトルａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉを代入することで、前記部位のうち顔の部位の位置情報を表す位置ベクトルａｋｉを算出することを特徴とする付記１記載のプログラム。
【数２９】
2019200456.tif 000040
（ただし、Ａｋｍは２行２列の行列、ｂｋＭは２行１列の縦ベクトル、Ｍは０＜Ｍ≦ｊを満たす整数をそれぞれ表し、ＡｋｍとｂｋＭは、姿勢ｓの集合Ｐを用いて、以下の式（３０）を解くことで算出される。）
【数３０】
2019200456.tif 000041
【０２３０】
（付記１１）
内部メモリから読み出した以下の式（３１）に、前記顔の部位の位置情報と前記他の部位の位置情報とを表す位置ベクトルａ１ｉ，ａ２ｉ，…，ａｊｉを以下の式（３１）に代入することで、画像に含まれる人物ｉの視線方向を表す向きベクトルｑｉを算出することを特徴とする付記１記載のプログラム。
【数３１】
2019200456.tif 000042
（ただし、Ｗは２行２列の行列、ｗ０は２行１列の縦ベクトル、ｊは前記人物の部位をそれぞれ表し、姿勢ｓの集合Ｐと、姿勢ｓが持つ向きベクトルｑｓ、及び姿勢ｓの部位番号ｋの部位の位置ベクトルｓｋ＝（ｘｋ，ｙｋ）Ｔを用いて、Ｗとｗ０は、以下の式（３２）を解くことで算出される。）      
【数３２】
2019200456.tif 000043
【０２３１】
（付記１２）
内部メモリから読み出した以下の式（３３）に基づいて、画像に含まれる人物ｉの視線方向を表す向きベクトルｑｉを算出することを特徴とする付記１記載のプログラム。
【数３３】
2019200456.tif 000044
（ただし、式（３３）において、ｗ１とｗ１はパラメータを表す）
【０２３２】
（付記１３）
内部メモリから読み出した式（３３）に、前記顔の部位の位置情報と前記他の部位の位置情報とを表す、鼻、首、左肩、及び右肩の各部位のｘ軸方向の位置座標ｘ１ｉ，ｘ６ｉ，ｘ７ｉ，ｘ８ｉを代入することで、画像に含まれる人物ｉの視線方向を表す向きベクトルｑｉを算出することを特徴とする付記１１記載のプログラム。
【０２３３】
（付記１４）
前記向きベクトルｑｉと、空間情報記憶部から読み出した対象物の位置座標とに基づいて、前記対象物に視線を向けている人物の数をカウントすることを特徴とする付記１１記載のプログラム。
【０２３４】
（付記１５）
第１のカメラで撮影された第１の画像の第１の画像データに対して、前記正解データを利用して、前記第１の画像に含まれる人物の部位の２次元座標として表される第１の位置座標を推定し、第２のカメラで撮影された第２の画像の第２の画像データに基づいて、前記正解データを利用して、前記第２の画像に含まれる人物の部位の２次元座標として表される第２の位置座標を推定し、
前記第１の位置座標と前記第２の位置座標とを、部位の３次元位置座標へ変換し、
前記３次元位置座標を利用して、前記人物の顔の部位の位置情報を算出し、画像に含まれる人物の視線方向を推定することを特徴とする付記１記載のプログラム。
【０２３５】
（付記１６）
前記第１の画像における前記部位の各画素値の第１の出現回数と、前記第２の画像における前記部位の各画素値の第２の出現回数とに基づいて、前記第１の画像内における人物と前記第２の画像内における人物とが同一人物であるか否かを判定し、同一人物であると判定したとき、同一人物の３次元位置座標（Ｘ，Ｙ，Ｚ）への変換を行うことを特徴とする付記１５記載のプログラム。
【０２３６】
（付記１７）
内部メモリから読み出した以下の式（３４）と式（３５）に、前記第１のカメラの原点から前記第１の位置座標の原点までの焦点距離を表すｆ、前記第２のカメラの原点から前記第２の位置座標の原点までの焦点距離を表すｆ’、前記第１のカメラから見た前記第２のカメラの回転角を表すＲ、前記第１のカメラから前記第２のカメラへ向かう並進ベクトルを表すｔを代入して、カメラ行列Ｐ，Ｐ’を算出し、
前記内部メモリから読み出した以下の式（３６）から式（３９）に、カメラ行列Ｐ，Ｐ’の各成分と、前記第１の位置座標を表す（ｘ，ｙ）、前記第２の位置座標を表す（ｘ’，ｙ’）を代入して、式（３６）から式（３９）に示す連立方程式を解くことで、前記部位の３次元位置座標への変換を行うことを特徴とする付記１５記載のプログラム。
【数３４】
2019200456.tif 000045
【数３５】
2019200456.tif 000046
【数３６】
2019200456.tif 000047
【数３７】
2019200456.tif 000048
【数３８】
2019200456.tif 000049
【数３９】
2019200456.tif 000050
【０２３７】
（付記１８）
推定することができなかった第１の人物の前記部位のうち顔の部位の位置情報の数が閾値よりも多いとき、第１の人物において推定することができた他の部位の位置情報と、第１の人物に隣接する第２の人物において推定することができた部位の位置情報とに基づいて、第１の人物において推定することができなかった前記顔の部位の位置情報を算出することを特徴とする付記１記載のプログラム。
【０２３８】
（付記１９）
内部メモリから読み出した以下の式（４０）に、推定することができた他の部位の位置情報を表す位置ベクトルａｋ１ｉ，ａｋ２ｉ，…，ａｋＭｉを代入することで、前記部位のうち顔の部位の位置情報を表す位置ベクトルａｋｉを算出することを特徴とする付記１記載のプログラム。
【数４０】
2019200456.tif 000051
（ただし、式（４０）において、δ（ｘ）は、以下の式（４１）に示す活性化関数であり、式（４０）において、行列Ｄｌ１Ｍ，Ｄｌ２ｌ１，及びＤｋｌ２は、姿勢ｓの集合Ｐを用いて、以下の式（４２）を解くことで得られる行列である。）
【数４１】
2019200456.tif 000052
【数４２】
2019200456.tif 000053
【０２３９】
（付記２０）
内部メモリから読み出した以下の式（４３）に、前記顔の部位の位置情報と前記他の部位の位置情報を表す位置ベクトルａ１ｉ，ａ２ｉ，…，ａｊｉを代入することで、画像に含まれる人物ｉの視線方向を表す向きベクトルｑｉを算出することを特徴とする付記１記載のプログラム。
【数４３】
2019200456.tif 000054
（ただし、式（４３）において、δ（ｘ）は、以下の式（４４）に示す活性化関数であり、式（４３）において、行列Ｗｌ１Ｊ，Ｗｌ２ｌ１，Ｗｋｌ２は、姿勢ｓの集合Ｐを用いて、以下の式（４５）を解くことで得られる行列である。）
【数４４】
2019200456.tif 000055
【数４５】
2019200456.tif 000056
【０２４０】
（付記２１）
さらに、推定した前記人物の視線方向の変化を検知し、検知結果を出力する
ことを特徴とする付記１記載のプログラム。
【０２４１】
（付記２２）
時刻ｔを現在時刻Ｔとしたとき、推定した前記人物の視線方向を表す向きベクトルを正規化した注目度ベクトルを、時刻（Ｔ−ｎ）から時刻（Ｔ−ｍ）までに取得した第１の注目度ベクトルの集合と、時刻（Ｔ−ｍ）から時刻ｔまでに取得した第２の注目度ベクトルの集合に分けて、前記第１の注目度ベクトルの集合に基づいて、前記第２の注目度ベクトルの集合の異常度を計算し、前記異常度が閾値以上のとき、時刻（Ｔ−ｍ）を境にして視線方向に変化があったことを示す検知結果を出力することを特徴とする付記２１記載のプログラム。
【０２４２】
（付記２３）
内部メモリから読み出した以下の式（４６）に、時刻（Ｔ−ｎ）から時刻（Ｔ−ｍ）までに取得した前記人物の視線方向を表す向きベクトルｑｉを代入して、時刻（Ｔ−ｎ）から時刻（Ｔ−ｍ）までに取得した第１の注目度ベクトルの集合に含まれる注目度ベクトルｕｉｔを求め、
【数４６】
2019200456.tif 000057
前記内部メモリから読み出した以下の式（４７）に、注目度ベクトルｕｉｔを代入して、時刻（Ｔ−ｎ）から時刻（Ｔ−ｍ）までに取得した第１の注目度ベクトルの集合における注目度ベクトルｕｉｔの確率分布ｐ（ｕｉｔ）を算出し、
【数４７】
2019200456.tif 000058
前記内部メモリから読み出した以下の式（４８）に、確率分布ｐ（ｕｉｔ）を代入することで、異常度βを算出することを特徴とする付記２１記載のプログラム。
【数４８】
2019200456.tif 000059
（ただし、式（４６）は、以下の式（４９）と式（５０）を用いて算出され、αｊ，μｊ，σｊはパラメータを表す。）
【数４９】
2019200456.tif 000060
【数５０】
2019200456.tif 000061
【０２４３】
（付記２４）
前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報を利用して、前記顔の部位の位置情報を算出し、前記顔の部位の位置情報と前記他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定することを特徴とする付記１記載のプログラム。
【０２４４】
（付記２５）
入力画像データに対して、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報を推定する姿勢推定部と、
前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定する注目度算出部と
を備えることを特徴とする情報処理装置。
【０２４５】
（付記２６）
姿勢推定部と注目度算出部とを有する情報処理装置における情報処理方法であって、
前記姿勢推定部により、入力画像データに対して、人物の部位に関する正解データを利用して、画像に含まれる人物の部位の位置情報を推定し、
前記注目度算出部により、前記部位のうち顔の部位の位置情報を推定することができなかったとき、推定することができた他の部位の位置情報に基づいて、画像に含まれる人物の視線方向を推定する
ことを特徴とする情報処理方法。
【符号の説明】
【０２４６】
１０：情報処理システム                １００：情報処理装置
１１０：姿勢推定部                    １１１：ＣＮＮ処理部
１１１−１：第１のＣＮＮ処理部        １１１−２：第２のＣＮＮ処理部
１１２：候補点算出部                  １１２−１：第１の候補点算出部
１１２−２：第２の候補点算出部        １１３：グルーピング処理部
１１３−１：第１のグルーピング処理部  １１３−２：第２のグルーピング処理部
１１４：同一人物特定処理部            １１５：カメラ行列計算部
１１６：３次元位置計算部              １２０：注目度算出部
１３０：空間情報記憶部                １４０：注目度記憶部
１５０：変化検知部                    ２００：撮像装置
３００−１，３００−２：対象物
【図１】
2019200456.tif 000063
【図２】
2019200456.tif 000064
【図３】
2019200456.tif 000065
【図４】
2019200456.tif 000066
【図５】
2019200456.tif 000067
【図６】
2019200456.tif 000068
【図７】
2019200456.tif 000069
【図８】
2019200456.tif 000070
【図９】
2019200456.tif 000071
【図１０】
2019200456.tif 000072
【図１１】
2019200456.tif 000073
【図１２】
2019200456.tif 000074
【図１３】
2019200456.tif 000075
【図１４】
2019200456.tif 000076
【図１５】
2019200456.tif 000077
【図１６】
2019200456.tif 000078
【図１７】
2019200456.tif 000079
【図１８】
2019200456.tif 000080
【図１９】
2019200456.tif 000081
【図２０】
2019200456.tif 000082
【図２１】
2019200456.tif 000083
【図２２】
2019200456.tif 000084