(57)【要約】【課題】全方位カメラによって撮影された画像を対象として、撮影されている人の顔の向きを推定するための学習を行うことができる情報処理装置を提供する。【解決手段】情報処理装置の受付手段は、全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第１画像と、前記画像内における該人の位置を示す位置情報とを受け付け、算出手段は、前記位置情報から前記第１画像の歪み度合いを算出し、学習手段は、算出した前記歪み度合いと前記第１画像とを用いて、前記人の顔の向きを推定するための学習を行う。【選択図】図１
2019212148.tif 000002
【特許請求の範囲】
【請求項１】
全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第１画像と、前記画像内における該人の位置を示す位置情報とを受け付ける受付手段と、
前記位置情報から前記第１画像の歪み度合いを算出する算出手段と、
算出した前記歪み度合いと前記第１画像とを用いて、前記人の顔の向きを推定するための学習を行う学習手段
を有する情報処理装置。
【請求項２】
全方位カメラによって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した第２画像と該人の位置を示す位置情報を受け付ける受付手段と、
前記第２画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段
を有する情報処理装置。
【請求項３】
全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第１画像と該人の頭部以外の部分を少なくとも撮影した第２画像と該人の位置を示す位置情報を受け付ける受付手段と、
前記第１画像と前記第２画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段
を有する情報処理装置。
【請求項４】
前記第２画像として、前記人の全身を撮影した画像、該人の上半身を撮影した画像、該人の下半身を撮影した画像、該人の手を撮影した画像、又は、これらの組み合わせである、
請求項２又は３に記載の情報処理装置。
【請求項５】
前記学習手段は、前記人の顔の向きの他に、該人の向きを推定するための学習を行う、
請求項４に記載の情報処理装置。
【請求項６】
前記位置情報として、前記画像内における前記人の位置を示す位置情報、該画像の中心から該人までの距離、又は、これらの組み合わせである、
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項７】
前記位置情報として、さらに、前記人のサイズ、該人を囲む矩形の縦と横の長さの比、又は、これらの組み合わせである、
請求項６に記載の情報処理装置。
【請求項８】
前記受付手段は、さらに、前記人以外のものの前記画像内の位置を示す第３位置情報を受け付け、
前記学習手段は、さらに、前記第３位置情報を用いて、前記人の顔の向きを推定するための学習を行う、
請求項７に記載の情報処理装置。
【請求項９】
前記人以外のものとして、商品棚、商品、ポスター、マネキン、前記人以外の人、又は、これらの組み合わせである、
請求項８に記載の情報処理装置。
【請求項１０】
前記学習手段は、前記第１画像又は前記第２画像のサイズが、閾値よりも小さい又は以下である場合は、該第１画像又は該第２画像を用いない、
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項１１】
前記学習手段は、前記閾値を、前記画像の中心からの距離に応じて変更する、
請求項１０に記載の情報処理装置。
【請求項１２】
前記学習手段は、前記画像の中心からの距離に応じて、前記第２画像を用いるか否かを定めている、
請求項３に記載の情報処理装置。
【請求項１３】
前記学習手段は、前記画像の中心からの距離に応じて、前記第１画像と前記第２画像の重みを定めている、
請求項１２に記載の情報処理装置。
【請求項１４】
前記画像は、時系列の画像であり、
前記受付手段は、さらに、対象としている第１画像又は第２画像よりも前に撮影された第１画像又は第２画像との比較によって抽出した前記人の動きを示す動作情報を受け付け、
前記学習手段は、さらに、前記動作情報を用いて、前記人の顔の向きを推定するための学習を行う、
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記動作情報として、前記人の速度、加速度、移動ベクトル、移動軌跡、移動距離、又は、これらの組み合わせを用いる、
請求項１４に記載の情報処理装置。
【請求項１６】
コンピュータを、
全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第１画像と、前記画像内における該人の位置を示す位置情報とを受け付ける受付手段と、
前記位置情報から前記第１画像の歪み度合いを算出する算出手段と、
算出した前記歪み度合いと前記第１画像とを用いて、前記人の顔の向きを推定するための学習を行う学習手段
として機能させるための情報処理プログラム。
【請求項１７】
コンピュータを、
全方位カメラによって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した第２画像と該人の位置を示す位置情報を受け付ける受付手段と、
前記第２画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段
として機能させるための情報処理プログラム。
【請求項１８】
コンピュータを、
全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第１画像と該人の頭部以外の部分を少なくとも撮影した第２画像と該人の位置を示す位置情報を受け付ける受付手段と、
前記第１画像と前記第２画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、人物の顔を撮影した顔画像から顔領域を抽出し、その顔領域の重心から目領域及び口領域を検出し、そして、目領域及び口領域の位置に基づいて顔の軸の傾き及び顔の軸周りの回転の少なくとも一方を検出し、それに基づいて仮想環境内に再現される３次元モデルの頭部を変形させ、頭部の動作を再現し、また、目領域における黒目領域の位置を検出することによって視線方向が検出され、３次元モデルの頭部は視線方向に向けられ、また、仮想環境内においては、その視線方向が仮想カメラ位置とされ、さらに、仮想環境内の背景及びオブジェクトは３次元モデルによって再現され、アバタは仮想環境内のオブジェクトに触れることができ、仮想環境内において人物の頭部の動作及び視線方向を再現することができ、また、仮想環境内におけるユーザの没入感を向上できることが開示されている。
【０００３】
特許文献２には、顔の向きの推定精度を損なうことなく、画像認識の計算量を低減することができる画像認識方法及び記録媒体を提供することを課題とし、顔の向きが予め判明している学習画像データ及び認識対象の顔の画像データからそれぞれ特徴を抽出し、当該抽出した特徴を使用して認識対象の画像データの顔の向きを認識する画像認識装置において、前記学習画像データから顔の特定位置について予め抽出された第１の特徴であって、複数の学習画像データの特定位置からガボールウェーブレット係数を抽出し、顔の向き毎に複数人物の平均特徴ベクトルを計算し、当該計算した平均特徴ベクトルを主成分分析して算出した主成分ベクトルである、第１の特徴を記憶する記憶手段と、認識対象の画像データの前記特定位置に対応する位置を指定する指定手段と、当該指定された位置の第２の特徴であって、認識対象の画像データの前記特定位置に対応する位置から抽出したガボールウェーブレット係数を使用する特徴ベクトルである、第２の特徴を前記認識対象の画像データから抽出する特徴抽出手段とを具え、該特徴抽出手段により抽出された第２の特徴を、前記記憶手段に記憶された第１の特徴である主成分ベクトルに射影して得られる射影係数により認識対象の顔の向きを推定することが開示されている。
【０００４】
特許文献３には、視線検出に際して、画像上における視線の向きだけではなく、撮像装置と顔との位置関係をも考慮することにより視線検出を高精度に行えるようにした技術を提供することを課題とし、情報処理装置は、撮像光学系を介して入力される画像を取得する画像取得手段と、前記画像から人物の顔を検出する顔検出手段と、前記顔の視線を検出する視線検出手段と、前記人物と前記撮像光学系との位置関係を示す情報を取得する取得手段と、前記位置関係を示す情報に基づいて前記検出された視線が所定の方向を向いているか否かを判定する判定手段とを具備することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３３１１９０号公報
【特許文献２】特許第４０９２０５９号公報
【特許文献３】特開２０１２−２２７８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
顔の目、口等のパーツが撮影された人の顔の画像を用いて、人の顔が向いている方向を学習することが行われている。しかし、全方位カメラによって撮影された画像においては、全方位カメラと人との位置関係によって、人の頭頂部だけが撮影されてしまうことがある。つまり、人の顔のパーツが撮影されていないことによって、人の顔の方向を学習させることが困難となってしまうことがある。
本発明は、全方位カメラによって撮影された画像を対象として、撮影されている人の顔の向きを推定するための学習を行うことができる情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第１画像と、前記画像内における該人の位置を示す位置情報とを受け付ける受付手段と、前記位置情報から前記第１画像の歪み度合いを算出する算出手段と、算出した前記歪み度合いと前記第１画像とを用いて、前記人の顔の向きを推定するための学習を行う学習手段を有する情報処理装置である。
【０００８】
請求項２の発明は、全方位カメラによって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した第２画像と該人の位置を示す位置情報を受け付ける受付手段と、前記第２画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段を有する情報処理装置である。
【０００９】
請求項３の発明は、全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第１画像と該人の頭部以外の部分を少なくとも撮影した第２画像と該人の位置を示す位置情報を受け付ける受付手段と、前記第１画像と前記第２画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段を有する情報処理装置である。
【００１０】
請求項４の発明は、前記第２画像として、前記人の全身を撮影した画像、該人の上半身を撮影した画像、該人の下半身を撮影した画像、該人の手を撮影した画像、又は、これらの組み合わせである、請求項２又は３に記載の情報処理装置である。
【００１１】
請求項５の発明は、前記学習手段は、前記人の顔の向きの他に、該人の向きを推定するための学習を行う、請求項４に記載の情報処理装置である。
【００１２】
請求項６の発明は、前記位置情報として、前記画像内における前記人の位置を示す位置情報、該画像の中心から該人までの距離、又は、これらの組み合わせである、請求項１から３のいずれか１項に記載の情報処理装置である。
【００１３】
請求項７の発明は、前記位置情報として、さらに、前記人のサイズ、該人を囲む矩形の縦と横の長さの比、又は、これらの組み合わせである、請求項６に記載の情報処理装置である。
【００１４】
請求項８の発明は、前記受付手段は、さらに、前記人以外のものの前記画像内の位置を示す第３位置情報を受け付け、前記学習手段は、さらに、前記第３位置情報を用いて、前記人の顔の向きを推定するための学習を行う、請求項７に記載の情報処理装置である。
【００１５】
請求項９の発明は、前記人以外のものとして、商品棚、商品、ポスター、マネキン、前記人以外の人、又は、これらの組み合わせである、請求項８に記載の情報処理装置である。
【００１６】
請求項１０の発明は、前記学習手段は、前記第１画像又は前記第２画像のサイズが、閾値よりも小さい又は以下である場合は、該第１画像又は該第２画像を用いない、請求項１から３のいずれか１項に記載の情報処理装置である。
【００１７】
請求項１１の発明は、前記学習手段は、前記閾値を、前記画像の中心からの距離に応じて変更する、請求項１０に記載の情報処理装置である。
【００１８】
請求項１２の発明は、前記学習手段は、前記画像の中心からの距離に応じて、前記第２画像を用いるか否かを定めている、請求項３に記載の情報処理装置である。
【００１９】
請求項１３の発明は、前記学習手段は、前記画像の中心からの距離に応じて、前記第１画像と前記第２画像の重みを定めている、請求項１２に記載の情報処理装置である。
【００２０】
請求項１４の発明は、前記画像は、時系列の画像であり、前記受付手段は、さらに、対象としている第１画像又は第２画像よりも前に撮影された第１画像又は第２画像との比較によって抽出した前記人の動きを示す動作情報を受け付け、前記学習手段は、さらに、前記動作情報を用いて、前記人の顔の向きを推定するための学習を行う、請求項１から３のいずれか１項に記載の情報処理装置である。
【００２１】
請求項１５の発明は、前記動作情報として、前記人の速度、加速度、移動ベクトル、移動軌跡、移動距離、又は、これらの組み合わせを用いる、請求項１４に記載の情報処理装置である。
【００２２】
請求項１６の発明は、コンピュータを、全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第１画像と、前記画像内における該人の位置を示す位置情報とを受け付ける受付手段と、前記位置情報から前記第１画像の歪み度合いを算出する算出手段と、算出した前記歪み度合いと前記第１画像とを用いて、前記人の顔の向きを推定するための学習を行う学習手段として機能させるための情報処理プログラムである。
【００２３】
請求項１７の発明は、コンピュータを、全方位カメラによって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した第２画像と該人の位置を示す位置情報を受け付ける受付手段と、前記第２画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段として機能させるための情報処理プログラムである。
【００２４】
請求項１８の発明は、コンピュータを、全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第１画像と該人の頭部以外の部分を少なくとも撮影した第２画像と該人の位置を示す位置情報を受け付ける受付手段と、前記第１画像と前記第２画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段として機能させるための情報処理プログラムである。
【発明の効果】
【００２５】
請求項１の情報処理装置によれば、全方位カメラによって撮影された画像を対象として、撮影されている人の顔の向きを推定するための学習を行うことができる。
【００２６】
請求項２の情報処理装置によれば、全方位カメラによって撮影された画像を対象として、人の頭部以外の画像と人の位置情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
【００２７】
請求項３の情報処理装置によれば、全方位カメラによって撮影された画像を対象として、人の頭部の画像とその人の頭部以外の画像と人の位置情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
【００２８】
請求項４の情報処理装置によれば、人の全身を撮影した画像、その人の上半身を撮影した画像、その人の下半身を撮影した画像、その人の手を撮影した画像、又は、これらの組み合わせを第２画像として用いることができる。
【００２９】
請求項５の情報処理装置によれば、人の顔の向きの他に、その人の向きを推定するための学習を行うことができる。
【００３０】
請求項６の情報処理装置によれば、画像内における人の位置を示す位置情報、その画像の中心からその人までの距離、又は、これらの組み合わせを位置情報として用いることができる。
【００３１】
請求項７の情報処理装置によれば、人のサイズ、その人を囲む矩形の縦と横の長さの比、又は、これらの組み合わせを位置情報として用いることができる。
【００３２】
請求項８の情報処理装置によれば、人以外のものの第３位置情報を用いて、人の顔の向きを推定するための学習を行うことができる。
【００３３】
請求項９の情報処理装置によれば、商品棚、商品、ポスター、マネキン、人以外の人、又は、これらの組み合わせを人以外のものとして用いることができる。
【００３４】
請求項１０の情報処理装置によれば、第１画像又は第２画像のサイズが、閾値よりも小さい又は以下である場合は、その第１画像又はその第２画像を用いないことができる。
【００３５】
請求項１１の情報処理装置によれば、画像の中心からの距離に応じて変更する閾値を用いることができる。
【００３６】
請求項１２の情報処理装置によれば、画像の中心からの距離に応じて、第２画像を用いるか否かを定めることができる。
【００３７】
請求項１３の情報処理装置によれば、画像の中心からの距離に応じて、第１画像と第２画像の重みを定めることができる。
【００３８】
請求項１４の情報処理装置によれば、人の動きを示す動作情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
【００３９】
請求項１５の情報処理装置によれば、動作情報として、人の速度、加速度、移動ベクトル、移動軌跡、移動距離、又は、これらの組み合わせを用いることができる。
【００４０】
請求項１６の情報処理プログラムによれば、全方位カメラによって撮影された画像を対象として、撮影されている人の顔の向きを推定するための学習を行うことができる。
【００４１】
請求項１７の情報処理プログラムによれば、全方位カメラによって撮影された画像を対象として、人の頭部以外の画像と人の位置情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
【００４２】
請求項１８の情報処理プログラムによれば、全方位カメラによって撮影された画像を対象として、人の頭部の画像とその人の頭部以外の画像と人の位置情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
【図面の簡単な説明】
【００４３】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】全方位カメラによって人間が撮影された画像の例を示す説明図である。
【図４】全方位カメラによって人間が撮影された画像の例を示す説明図である。
【図５】頭部画像、全身画像を用いて学習を行う場合の概念的なモジュール構成図である。
【図６】全方位カメラ画像内における頭部画像、全身画像の位置情報の例を示す説明図である。
【図７】顔の８方向の向きの例を示す説明図である。
【図８】本実施の形態による処理例を示すフローチャートである。
【図９】本実施の形態による実験結果の例を示す説明図である。
【図１０】人画像矩形と閾値人画像矩形の大きさの比較例を示す説明図である。
【図１１】全方位カメラ画像を複数の領域に分けた例を示す説明図である。
【図１２】全方位カメラ画像内の移動軌跡の例を示す説明図である。
【図１３】顔の向きと体の向きが異なる例を示す説明図である。
【図１４】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００４４】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係、ログイン等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。また、「Ａ、Ｂ、Ｃ」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その１つのみを選んでいる場合（例えば、Ａのみ）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００４５】
本実施の形態である情報処理装置１００は、全方位カメラ１５０によって撮影された人の顔の向きを推定するための機械学習（以下、単に学習という）を行うものであって、図１の例に示すように、画像受付モジュール１０５、第１画像抽出モジュール１１０、第２画像抽出モジュール１１５、第１位置情報抽出モジュール１２０、第２位置情報抽出モジュール１２５、学習モジュール１３０を有している。
１台のカメラで３６０度を撮影できる全方位カメラ１５０が用いられるようになっている。この全方位カメラ画像では、カメラと人物間の距離（人物が写り込む位置）によって、見え方や歪みの強さが変化し、特にカメラの真下付近に人物がいる場合は顔が隠れてしまい頭頂部しか見えない状態となる。
一般的に、頭部画像に基づく顔向き推定手法には２つのアプローチがある。１つは、顔の部品の位置関係に基づき顔の向きを推定する手法だが、これは正面から撮影されることを想定しているため顔の隠れが発生した場合に適用できない。もう１つは、頭部画像から特徴量を抽出して機械学習により顔の向きを推定する手法だが、頭頂部のみでは人の目で見ても顔の向き推定できないため、有効な特徴量は抽出できず推定に失敗してしまう。全方位カメラは、通常のカメラと比べ撮影範囲が広いため、設置台数を抑えられコスト削減につながるにも関わらず、全方位カメラでの適用を考慮した顔向き推定手法は存在しない。
本実施の形態では、顔が隠れてしまい頭頂部しか見えない状態でも顔の向きを推定できるようになる。そして、全方位カメラと人物間の距離によって変化する見え方と歪みの強さを考慮して顔の向きを推定する。
そのために、本実施の形態は、主に、頭部画像だけでなく全身画像も、機械学習の入力に加えることで、顔の隠れが発生しても体の向きに基づき顔の向きを推定できるようにしている。例えば、頭部画像、全身画像の属性情報を入力に加えることで、カメラと人物間の距離と見え方や歪みの強さの関係性を学習できるようになる。
【００４６】
全方位カメラ１５０（全天球カメラとも呼ばれるものも含む）は、情報処理装置１００の画像受付モジュール１０５と接続されている。全方位カメラ１５０は、１台のカメラで３６０度を撮影できるカメラである。例えば、超広角の魚眼レンズを複数搭載したドーム型のカメラである。なお、全方位カメラ１５０は、静止画を撮影するカメラであってもよいし、動画像を撮影するカメラであってもよい。
【００４７】
画像受付モジュール１０５は、全方位カメラ１５０、第１画像抽出モジュール１１０、第２画像抽出モジュール１１５と接続されている。画像受付モジュール１０５は、全方位カメラ１５０によって撮影された画像（以下、全方位カメラ画像ともいう）を受け付ける。画像受付モジュール１０５と全方位カメラ１５０との間の通信は、無線、有線、これらの組み合わせであってもよい。
そして、画像受付モジュール１０５は、受け付けた画像を、第１画像抽出モジュール１１０、第２画像抽出モジュール１１５に渡す。
【００４８】
第１画像抽出モジュール１１０は、画像受付モジュール１０５、第１位置情報抽出モジュール１２０、学習モジュール１３０と接続されている。第１画像抽出モジュール１１０は、全方位カメラ１５０によって撮影された画像から人の頭部を撮影した画像（第１画像）を抽出する。第１画像を抽出する技術として、従来技術を用いればよい。例えば、人体を検出する技術を用いてもよい。
【００４９】
第１位置情報抽出モジュール１２０は、第１画像抽出モジュール１１０、学習モジュール１３０と接続されている。第１位置情報抽出モジュール１２０は、第１画像抽出モジュール１１０が抽出した第１画像の位置を用いて、全方位カメラ画像内における人の位置を示す位置情報を抽出する。人の位置として、第１画像の位置そのものを用いてもよい。ここで「位置情報」として、全方位カメラ画像内における人の位置を示す位置情報、全方位カメラ画像の中心からその人までの距離、又は、これらの組み合わせである。そして、「位置情報」として、さらに、人のサイズ、その人を囲む矩形の縦と横の長さの比、又は、これらの組み合わせであってもよい。さらに、「位置情報」として、全方位カメラ画像における角度（例えば、９０度（後述する図７の例での顔の向き（９０°）７０４）等）を付加してもよいし、撮影された景色におけるＸＹ座標を付加してもよい。
【００５０】
第２画像抽出モジュール１１５は、画像受付モジュール１０５、第２位置情報抽出モジュール１２５、学習モジュール１３０と接続されている。第２画像抽出モジュール１１５は、全方位カメラ１５０によって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した画像（第２画像）を抽出する。
この「第２画像」として、全方位カメラ画像内の人の全身を撮影した画像（この場合は、その人の頭部も含まれている）、その人の上半身を撮影した画像（この場合も、その人の頭部も含まれている）、その人の下半身を撮影した画像、その人の手を撮影した画像、又は、これらの組み合わせであってもよい。ここで「手」とは、人体の肩から先にある部分のいずれかであって、例えば、腕、手首から先の部分等をいう。
【００５１】
第２位置情報抽出モジュール１２５は、第２画像抽出モジュール１１５、学習モジュール１３０と接続されている。第２位置情報抽出モジュール１２５は、第１位置情報抽出モジュール１２０と同様に、第２画像抽出モジュール１１５が抽出した第２画像の位置を用いて、全方位カメラ画像内における人の位置を示す位置情報を抽出する。人の位置として、第２画像の位置そのものを用いてもよい。なお、「位置情報」については、第１位置情報抽出モジュール１２０の説明と同等の定義であり、その処理内容も第１位置情報抽出モジュール１２０による処理内容と同等のことを行えばよい。
【００５２】
学習モジュール１３０は、第１画像抽出モジュール１１０、第２画像抽出モジュール１１５、第１位置情報抽出モジュール１２０、第２位置情報抽出モジュール１２５と接続されている。学習モジュール１３０は、第１画像抽出モジュール１１０によって抽出された第１画像と、第１位置情報抽出モジュール１２０によって抽出された位置情報とを受け付け、位置情報から第１画像の歪み度合いを算出し、その算出した歪み度合いと第１画像とを用いて、人の顔の向きを推定するための学習を行う。
ここで「人の顔の向き」は、顔を横方向に動かした場合の方向であってもよいし、顔を縦方向に動かした場合の方向であってもよいし、これらの組み合わせであってもよい。
また、（１）「第１画像の歪み度合い」として、例えば、全方位カメラ画像の中心からの距離によって定まる値であって、中心における（中心からの距離が０）での歪み度合いは低く（例えば、歪み度合いが０）、中心から遠い距離にあるほど歪み度合いが高くなるようになっている。具体的には、中心からの距離に比例するようにしてもよいし、全方位カメラ１５０の特性（特に、レンズの特性）、全方位カメラ１５０から対象（全方位カメラ画像内に撮影されている対象物）までの距離を変数とする算出式によって算出してもよい。また、ここでの距離は連続値であってもよいが離散値であってもよい。離散値である場合は、いわゆる領域毎に歪み度合いが決定されることになる。領域の形状として、例えば、図１１（ａ）を用いて後述するドーナツ状（円筒状）等がある。
（２）「第１画像の歪み度合い」として、例えば、全方位カメラ画像内の位置によって定まる値であって、中心に近い位置での歪み度合いは低く（例えば、歪み度合いが０）、中心から遠い位置にあるほど歪み度合いが高くなるようになっている。また、位置毎に、歪み度合いが予め定められていてもよい。また、ここでの位置は連続値であってもよいが離散値であってもよい。離散値である場合は、いわゆる領域毎に歪み度合いが決定されることになる。領域の形状として、例えば、図１１（ｂ）（ｃ）を用いて後述する扇型、矩形等がある。
「歪み度合いと第１画像とを用いて、人の顔の向きを推定するための学習」として、例えば、（１）歪み度合いと第１画像とを学習パラメータとして、人の顔の向きを推定するための学習を行うこと、（２）歪み度合い毎に、第１画像を用いた学習を行うこと、（３）中心からの距離毎に、第１画像を用いた学習を行うこと、（４）位置毎に、第１画像を用いた学習を行うこと、としてもよい。（３）（４）における「中心からの距離毎」、「位置毎」は、領域毎としてもよい。「中心からの距離毎」、「位置毎」に歪み度合いが異なり、これら毎に学習した場合は、全方位カメラ画像全体で学習した場合に比べて、「中心からの距離毎」、「位置毎」での第１画像における人の顔の向きの認識率を向上させることができるからである。
【００５３】
また、学習モジュール１３０は、第２画像抽出モジュール１１５によって抽出された第２画像と、第２位置情報抽出モジュール１２５によって抽出された位置情報を受け付け、第２画像と位置情報を用いて、人の顔の向きを推定するための学習を行うようにしてもよい。
また、学習モジュール１３０は、第１画像抽出モジュール１１０によって抽出された第１画像と、第２画像抽出モジュール１１５によって抽出された第２画像と、第１位置情報抽出モジュール１２０又は第２位置情報抽出モジュール１２５によって抽出された位置情報を受け付け、第１画像と第２画像と位置情報を用いて、人の顔の向きを推定するための学習を行うようにしてもよい。
【００５４】
また、学習モジュール１３０は、人の顔の向きの他に、その人の向きを推定するための学習を行うようにしてもよい。ここで「人の向き」とは、体全体の向き、足の向き、等であって、人の顔の向きと同じ方向である場合が多いが、異なることもある。異なる場合として、例えば、体全体は前方を向いているが、顔は横を向いている場合等が該当する。
【００５５】
また、学習モジュール１３０は、さらに、人以外のものの全方位カメラ画像内の位置を示す第３位置情報を受け付け、そして、その第３位置情報を用いて、人の顔の向きを推定するための学習を行うようにしてもよい。ここで「人以外のもの」として、商品棚、商品、ポスター、マネキン、対象となっている人以外の人（例えば、店員）、又は、これらの組み合わせであってもよい。
【００５６】
また、学習モジュール１３０は、第１画像又は第２画像のサイズが、予め定められた閾値よりも小さい又は以下である場合は、その第１画像又はその第２画像を学習には用いないようにしてもよい。ここでの閾値は、全方位カメラ画像の中心からの距離に応じて変更するようにしてもよい。ここで「全方位カメラ画像の中心からの距離に応じて変更」として、具体的には、中心に近いと大きい値の閾値であり、中心から遠いと小さい値の閾値であるとしてもよい。
【００５７】
また、学習モジュール１３０は、全方位カメラ画像の中心からの距離に応じて、第２画像を用いるか否かを定めるようにしてもよい。そして、全方位カメラ画像の中心からの距離に応じて、第１画像と第２画像の重みを定めるようにしてもよい。
【００５８】
また、全方位カメラ画像は、時系列の画像であってもよい。ここで「時系列の画像」として、同じ場所を撮影した画像であって、撮影日時が異なる静止画像であってもよいし、動画像から静止画像（フレーム画像）を抽出したものであってもよい。その場合、学習モジュール１３０は、さらに、対象としている第１画像又は第２画像よりも前に撮影された第１画像又は第２画像との比較によって抽出した人の動きを示す動作情報を受け付けるようにしてもよい。もちろんのことながら、比較対象は、「対象の第１画像とそれよりも前に撮影された第１画像」の組み合わせ、又は、「対象の第２画像とそれよりも前に撮影された第２画像」の組み合わせである。そして、学習モジュール１３０は、さらに、その動作情報を用いて、人の顔の向きを推定するための学習を行うようにしてもよい。また、「動作情報」として、人の速度、加速度、移動ベクトル、移動軌跡、移動距離、又は、これらの組み合わせを用いるようにしてもよい。
【００５９】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
図２（ａ）の例は、店舗毎に学習を行う場合の例を示したものであり、店舗２１０の天井に全方位カメラ１５０を設置し、その店舗２１０に入店した客である人２８０Ａ、人２８０Ｂ、人２８０Ｃ等を撮影して、情報処理装置１００が学習する場合のシステム構成例を示したものである。なお、学習後のモデル（学習後のデータ）を用いて、情報処理装置１００が客である人２８０Ａ等の顔の向きを推定するようにしてもよい。ここでの「顔の向き」は、店舗２１０内の商品、ポスター等がある位置を示すことになり、目立つ（目につく）商品等を知ることができるようになる。
【００６０】
図２（ｂ）の例は、複数の店舗による全方位カメラ画像を用いて、学習を行う場合の例を示したものであり、情報処理装置１００、店舗２１０Ａ内の全方位カメラ１５０Ａ、店舗２１０Ｂ内の全方位カメラ１５０Ｂ、店舗２１０Ｃ内の全方位カメラ１５０Ｃは、通信回線２９０を介してそれぞれ接続されている。通信回線２９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、情報処理装置１００による機能は、クラウドサービスとして実現してもよい。
なお、図２では、店舗２１０に全方位カメラ１５０が設置された例を示しているが、他の場所に設置してもよい。例えば、駅構内、教室、美術館等であってもよい。
【００６１】
図３は、全方位カメラ１５０によって人間が撮影された画像の例を示す説明図である。
全方位カメラ画像３００は、全方位カメラ１５０によって撮影された画像である。全方位カメラ１５０の撮影範囲内に人が入ると、全方位カメラ画像３００内に人画像３１０が撮影される。外接矩形３２０は、人画像３１０を囲む画像（第２画像の一例）であり、図３の例では、人画像３１０の全身を囲む矩形である。なお、人画像３１０の頭部部分を囲む矩形内の画像は、第１画像の例である。
また、情報処理装置１００は、人画像３１０の顔の向き３３０を学習する。そして、学習結果として生成されたモデルによって、人画像３１０の顔の向き３３０を推定することができるようになる。
【００６２】
図４は、全方位カメラ１５０によって人間が撮影された画像の例を示す説明図である。
図４（ａ）の例は、全方位カメラ画像３００内の周辺（外側）で撮影された全身画像４２０ａの例を示すものである。頭部画像４１０ａが撮影されており、顔内の器官（目、口、鼻、眉毛、頭毛等）のほとんどが撮影されており、頭部画像４１０ａだけでも従来の技術によって顔の向きを推定するための学習に用いることができるものである。
図４（ｂ）の例は、全方位カメラ画像３００内の周辺（外側）に撮影された全身画像４２０ｂの例を示すものである。頭部画像４１０ｂが撮影されており、顔内の器官の一部（例えば、口等）が撮影されておらず、頭部画像４１０ａだけでは顔の向きを推定するための学習に用いることは困難である（推定精度が落ちる）。
図４（ｃ）の例は、全方位カメラ画像３００内の中央付近で撮影された全身画像４２０ｃの例を示すものである。頭部画像４１０ｃが撮影されており、顔内の器官のほとんどが撮影されておらず、頭部画像４１０ｃだけでは顔の向きを推定するための学習に用いることは困難である。しかし、図４（ｃ）の例に示す画像であっても、頭部画像４１０ｃ以外の部分（例えば、手等）が撮影されており、顔の向き（この場合は左方向）を推定するための学習に用いることが可能となる。
【００６３】
情報処理装置１００は、頭部画像４１０とその人の位置情報の組み合わせ、全身画像４２０とその人の位置情報の組み合わせ、頭部画像４１０と全身画像４２０とその人の位置情報の組み合わせ、のいずれかを用いて、人の顔の向きを推定するための学習を行う。なお、以下の説明では、頭部画像４１０と全身画像４２０とその人の位置情報の組み合わせを用いる例を示す。
【００６４】
図５は、頭部画像５０２、全身画像５２２を用いて学習を行う場合の概念的なモジュール構成図である。主に、学習モジュール１３０内の構成例を示すものである。
例えば、学習モジュール１３０は、畳み込みニューラルネットワーク（ＣＮＮ：Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ）により画像特徴を抽出する。
入力は頭部画像５０２と全身画像５２２、それらの位置情報（全方位カメラ画像における位置、サイズ、中心からの距離、図５では、位置情報５１２、位置情報５３２）である。なお、第１画像抽出モジュール１１０により頭部領域の画像（頭部画像５０２）と、第２画像抽出モジュール１１５により全身領域の画像（全身画像５２２）は検出されている。そして、第１位置情報抽出モジュール１２０により頭部領域の位置情報（位置情報５１２）と、第２位置情報抽出モジュール１２５により全身領域の位置情報（位置情報５３２）は検出されている。
そして、出力は首を横に振る方向での離散的な８方向である（いわゆる８クラス分類問題）。
【００６５】
具体的には、以下のような処理を行う。
全方位カメラ画像から頭部画像５０２と全身画像５２２が抽出され、ＣＮＮ５０４に頭部画像５０２が入力され、ＣＮＮ５２４に全身画像５２２が入力される。ＣＮＮ５０４内には、複数のＣｏｎｖ５０６（畳み込み層）、Ｐｏｏｌ５０８（プーリング層）があり、同様に、ＣＮＮ５２４内には、複数のＣｏｎｖ５２６、Ｐｏｏｌ５２８がある。
ＣＮＮ５０４の処理結果をＦＣ５１０（全結合層（Ｆｕｌｌ  Ｃｏｎｎｅｃｔｅｄ））に入力し、ＦＣ５１０の処理結果と位置情報５１２を、次のＦＣ５１４に入力し、さらにＦＣ５１６による処理を行わせる。一方、ＣＮＮ５２４の処理結果をＦＣ５３０に入力し、ＦＣ５３０の処理結果と位置情報５３２を、次のＦＣ５３４に入力し、さらにＦＣ５３６による処理を行わせる。
【００６６】
そして、ＦＣ５１６、ＦＣ５３６の処理結果をＦＣ５４０に入力し、さらにＦＣ５４２による処理を行わせて、分類結果５４４を得る。つまり、分類結果５４４は、８方向のそれぞれの確率を示している。最も高い値の方向を、その人の顔の向きと推定すればよい。
なお、教師データとして、頭部画像５０２、全身画像５２２と「顔の向きを示す情報」のセットが用意されている。そして、学習時は、分類結果５４４が教師データの「顔の向きを示す情報」になるように、誤差逆伝播法（Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ）等を用いた学習を行う。具体的には、分類結果５４４と教師データの「顔の向きを示す情報」との誤差を最小にするために勾配降下法等を用いればよい。
【００６７】
なお、位置情報５１２は、全方位カメラ画像内の頭部画像５０２の位置（ｘ、ｙ）、サイズ（ｗ、ｈ）、中心からの距離（ｄ）によって構成されている。位置情報５３２は、全方位カメラ画像内の全身画像５２２の位置（ｘ、ｙ）、サイズ（ｗ、ｈ）、中心からの距離（ｄ）によって構成されている。
図６の例を用いて説明する。図６は、全方位カメラ画像６００内における頭部画像６１０、全身画像６２０の位置情報（位置パラメータ）の例を示す説明図である。頭部画像６１０、全身画像６２０は、それぞれ頭部を囲む矩形画像、全身を囲む矩形画像である。
図６（ａ）の例は、全方位カメラ画像６００内の頭部画像６１０の位置として頭部画像６１０の中心位置（ｘ，ｙ）６１２とし、サイズとして頭部画像６１０の幅（ｗ）６１８、高さ（ｈ）６１６とし、中心からの距離６１４として全方位カメラ画像６００の中心と頭部画像６１０の中心位置（ｘ，ｙ）６１２との間の距離とすればよいことを示している。
図６（ｂ）の例は、全方位カメラ画像６００内の全身画像６２０の位置として全身画像６２０の中心位置（ｘ，ｙ）６２２とし、サイズとして全身画像６２０の幅（ｗ）６２８、高さ（ｈ）６２６とし、中心からの距離６２４として全方位カメラ画像６００の中心と全身画像６２０の中心位置（ｘ，ｙ）６２２との間の距離とすればよいことを示している。
位置情報５１２、位置情報５３２内の位置、中心からの距離は、見え方と歪みの変化を学習するための情報となる。
そして、位置情報５１２、位置情報５３２内のサイズは、全方位カメラ１５０の場合、写る位置（全方位カメラ画像内の位置）によりおおよそのサイズが決まるため、縦横比からしゃがむ、手を伸ばすなどの姿勢変化や、物や人で体の一部が隠れてしまう場合等にも対応できるようにしている。
【００６８】
図７は、顔の８方向の向きの例を示す説明図である。本実施の形態では、顔の向きとして８方向ある。図７の例に示すように、顔の向き（０°）７００、顔の向き（４５°）７０２、顔の向き（９０°）７０４、顔の向き（１３５°）７０６、顔の向き（１８０°）７０８、顔の向き（２２５°）７１０、顔の向き（２７０°）７１２、顔の向き（３１５°）７１４がある。もちろんのことながら、８方向以外にも４方向、１６方向等であってもよい。また、前述したように、学習対象として、図７の例のように顔を横方向に動かした場合の方向であってもよいし、顔を縦方向に動かした場合（仰ぎ見る、下を見る等）の方向であってもよいし、これらの組み合わせであってもよい。
【００６９】
図８は、本実施の形態による処理例を示すフローチャートである。
撮影モジュール（全方位カメラ）８０２（全方位カメラ１５０に相当）は、頭部領域検出モジュール８０６、全身領域検出モジュール８２６と接続されており、頭部領域検出モジュール８０６と全身領域検出モジュール８２６にフレーム画像８０４を渡す。
【００７０】
頭部領域検出モジュール８０６（第１画像抽出モジュール１１０、第１位置情報抽出モジュール１２０に相当）は、撮影モジュール（全方位カメラ）８０２、画像特徴抽出モジュール８１２、特徴統合モジュール８１６と接続されており、撮影モジュール（全方位カメラ）８０２からフレーム画像８０４を受け取り、画像特徴抽出モジュール８１２に頭部画像８０８を渡し、特徴統合モジュール８１６に頭部画像属性８１０（位置情報）を渡す。
画像特徴抽出モジュール８１２（ＣＮＮ５０４、ＦＣ５１０に相当）は、頭部領域検出モジュール８０６、特徴統合モジュール８１６と接続されており、頭部領域検出モジュール８０６から頭部画像８０８を受け取り、特徴統合モジュール８１６に頭部画像特徴量８１４を渡す。
特徴統合モジュール８１６（ＦＣ５１４、ＦＣ５１６に相当）は、頭部領域検出モジュール８０６、画像特徴抽出モジュール８１２、特徴統合モジュール８４０と接続されており、頭部領域検出モジュール８０６から頭部画像属性８１０を受け取り、画像特徴抽出モジュール８１２から頭部画像特徴量８１４を受け取り、特徴統合モジュール８４０に頭部特徴量８１８を渡す。
【００７１】
全身領域検出モジュール８２６（第２画像抽出モジュール１１５、第２位置情報抽出モジュール１２５に相当）は、撮影モジュール（全方位カメラ）８０２、画像特徴抽出モジュール８３２、特徴統合モジュール８３６と接続されており、撮影モジュール（全方位カメラ）８０２からフレーム画像８０４を受け取り、画像特徴抽出モジュール８３２に全身画像８２８を渡し、特徴統合モジュール８３６に全身画像属性８３０（位置情報）を渡す。
画像特徴抽出モジュール８３２（ＣＮＮ５２４、ＦＣ５３０に相当）は、全身領域検出モジュール８２６、特徴統合モジュール８３６と接続されており、全身領域検出モジュール８２６から全身画像８２８を受け取り、特徴統合モジュール８３６に全身画像特徴量８３４を渡す。
特徴統合モジュール８３６（ＦＣ５３４、ＦＣ５３６に相当）は、全身領域検出モジュール８２６、画像特徴抽出モジュール８３２、特徴統合モジュール８４０と接続されており、全身領域検出モジュール８２６から全身画像属性８３０を受け取り、画像特徴抽出モジュール８３２から全身画像特徴量８３４を受け取り、特徴統合モジュール８４０に全身特徴量８３８を渡す。
【００７２】
特徴統合モジュール８４０（ＦＣ５４０に相当）は、特徴統合モジュール８１６、特徴統合モジュール８３６、顔向きクラス判別モジュール８４４と接続されており、特徴統合モジュール８１６から頭部特徴量８１８を受け取り、特徴統合モジュール８３６から全身特徴量８３８を受け取り、顔向きクラス判別モジュール８４４に統合特徴量８４２を渡す。
顔向きクラス判別モジュール８４４（ＦＣ５４２に相当）は、特徴統合モジュール８４０と接続されており、特徴統合モジュール８４０から統合特徴量８４２を受け取り、顔向きクラス８４６（分類結果５４４に相当）を出力する。
【００７３】
図９は、本実施の形態による実験結果の例を示す説明図である。
以下のように３種類の画像の組み合わせを用いた場合の実験結果を示す。
（１）頭部画像のみを使用した場合
（２）全身画像のみを使用した場合
（３）頭部画像と全身画像を使用した場合
そして、各場合について、位置情報の有り又は無しを、ＡｌｅｘＮｅｔとＶＧＧＮｅｔで評価した場合の実験結果を実験結果９００に示している。
なお、ＡｌｅｘＮｅｔとＶＧＧＮｅｔは、畳み込みニューラルネットワークの代表的手法であり一般に公開されているのでよく用いられる。
結果的に、本実施の形態で用いる（３）で位置情報ありのパターンが最もよい精度となった。実験結果９００の「ＡｌｅｘＮｅｔ  ｗ／  ａｔｔ．」の列と「（ｉｉｉ）ｈｅａｄ＋ｂｏｄｙ」の交差したセルの値（７８．６）、「ＶＧＧＮｅｔ  ｗ／  ａｔｔ．」の列と「（ｉｉｉ）ｈｅａｄ＋ｂｏｄｙ」の交差したセルの値（９０．５）がそれを示している。
そして、この実験によって、頭部画像のみを使った場合は各クラス（顔の向き）の所属確率が曖昧だが、頭部画像と全身画像を使う場合はロバストに分類されることが判明した。
【００７４】
図１０は、人画像矩形１０３０と閾値人画像矩形１０５０の大きさの比較例を示す説明図である。
頭部画像、全身画像のサイズが、予め定められたサイズから大きく外れている場合、一部が隠れていると判断しその画像は使用しないようにしてもよい。また、この「予め定められたサイズ」は、全方位カメラ画像１０００の中心からの距離に応じて変更してもよい。
全方位カメラ画像１０００内に人画像１０１０が含まれているが、撮影されている人の一部が商品棚１０２０によって隠れているため、人画像矩形１０３０のサイズが閾値人画像矩形１０５０よりも小さくなっている。なお、閾値人画像矩形１０５０は、この位置（全方位カメラ画像１０００の中心から人画像矩形１０３０までの距離）における閾値となるサイズを示している。例えば、この位置の人の画像の理論値（例えば、平均身長の人が立っていた場合に、その人と全方位カメラ１５０の位置関係、距離を用いて算出した人画像のサイズ）としてもよいし、実際に撮影した場合の人画像矩形の平均値としてもよいし、中央値、最頻値等としてもよい。
また、閾値人画像矩形１０５０は、全方位カメラ画像１０００の中心からの距離によって異なる大きさとしてもよい。具体的には、中心に近いと大きい値の閾値であり、中心から遠いと小さい値の閾値とすればよい。
【００７５】
図１１は、全方位カメラ画像１１００を複数の領域に分けた例を示す説明図である。
図１１（ａ）は、全方位カメラ画像１１００を３つの領域（領域１１２０、領域１１３０、領域１１４０）に分けた例を示す説明図である。この例は、中心からの距離によって領域を分けた例を示している。もちろんのことながら、２つの領域、４つ以上の領域に分けてもよい。
全方位カメラ画像１１００を半径によってドーナツ状（円筒状）に複数の領域（図１１では、中心１１１０からの距離で、領域１１２０、領域１１３０、領域１１４０）に分割し、頭部画像又は全身画像のいずれかを使う領域を区別するようにしてもよい。具体的には、領域１１２０では全身画像のみを用い、領域１１３０では全身画像と頭部画像を用い、領域１１４０では頭部画像のみを用いるようにしてもよい。
又は、属している領域に応じて、頭部画像と全身画像を用いる場合の重みを調整するようにしてもよい。例えば、中心１１１０に近い領域（領域１１２０）では全身画像の重みを大きく（頭部画像よりも全身画像を重視）し、中心１１１０から遠い領域（領域１１４０）では頭部画像の重みを大きく（全身画像よりも頭部画像を重視）してもよい。また、明確な領域に分けずに、頭部画像の重みを中心１１１０からの距離に応じて大きくする（中心１１１０から近い場合の重みは小さいが、遠くなるにつれて重みを大きくする）ようにしてもよい。また、逆に、全身画像の重みを中心１１１０からの距離に応じて小さくする（中心１１１０から近い場合の重みは大きいが、遠くなるにつれて重みを小さくする）ようにしてもよい。具体的には、位置情報（位置情報５１２、位置情報５３２）内に、その重みを含めて学習するようにしてもよい。
また、領域の形状についても、ドーナツ状（円筒状）だけでなく、図１１（ｂ）の例に示すように、扇型に分けてもよい。この例では、領域１１５０、領域１１５２、領域１１５４、領域１１５６、領域１１５８、領域１１６０の６つに分けている。この例は、位置によって領域を分けた例を示している。もちろんのことながら、２つ〜５つの領域、７つ以上の領域に分けてもよい。そして、領域に応じて、頭部画像と全身画像を用いる場合の重みを調整するようにしてもよい。
また、図１１（ｃ）の例に示すように、矩形に分けてもよい。この例では、領域１１７０〜領域１１８５の１６個に分けている。もちろんのことながら、２つ〜１５個の領域、１７個以上の領域に分けてもよい。矩形でなくてもよい。そして、領域に応じて、頭部画像と全身画像を用いる場合の重みを調整するようにしてもよい。この場合も、図１１（ａ）に示したように、中心１１１０に近い領域（領域１１７５等）では全身画像の重みを大きく（頭部画像よりも全身画像を重視）し、中心１１００から遠い領域（領域１１７０等）では頭部画像の重みを大きく（全身画像よりも頭部画像を重視）してもよい。
図１１に示す領域の形状は例示であって、これら以外の形状の領域（例えば、三角形、六角形等）であってもよい。
【００７６】
図１２は、全方位カメラ画像１２００内の移動軌跡１２２０の例を示す説明図である。
前述の例では、ある時点のフレーム画像を対象としているが、時系列のフレーム画像で得られるパラメータを用いるようにしてもよい。つまり、このパラメータは、ある時点で撮影された頭部画像又は全身画像の位置と、その後（予め定められた時間後）に撮影された頭部画像又は全身画像（人画像１２１０）の位置を用いて算出されるものである。パラメータとして、例えば、速度、加速度、移動軌跡１２２０、移動ベクトル１２３０、移動距離、又は、これらの組み合わせ等を用いるようにしてもよい。具体的には、位置情報（位置情報５１２、位置情報５３２）内に、このパラメータを含めて学習するようにしてもよい。このパラメータを追加することで精度向上を図ることができる。また、中心からの距離、位置に応じて、これらのパラメータを用いる重みを調整するようにしてもよい。例えば、パラメータの重みを中心からの距離に応じて大きくするようにしてもよい。また、予め定められた位置では、パラメータの重みを大きくするようにしてもよい。
【００７７】
図１３は、顔の向き１３１５と体の向き１３２５が異なる例を示す説明図である。
学習データの頭部画像と全身画像の方向として、別々のラベル（方向）を持っていてもよい。つまり、人の顔の向き、人の向きを別々に推定するように学習してもよい。図１３は、頭部画像矩形１３１０の顔の向き１３１５と、全身画像矩形１３２０の体の向き１３２５は異なっている例を示している。もちろんのことながら、頭部画像と全身画像の方向を同じ方向としてもよい。また、中心からの距離、位置に応じて、人の顔の向き、人の向きのいずれを推定するかを調整するようにしてもよい。例えば、中心からの距離が近いほど人の向きを重視してもよく、中心からの距離が遠いほど人の顔の向きを重視してもよい。また、予め定められた位置に応じて、人の顔の向き、人の向きのいずれを推定するかを決定しておいてもよい。
また、店舗２１０のような商品棚が配置されたような場所では、位置依存の傾向（棚の近くでは棚の方向を見る、通路は進行方向を向きやすいなど）を学習するようにしてもよい。つまり、位置情報として、商品棚の位置、サイズ等を含めるようにしてもよい。また、商品棚以外に、商品、ポスター、マネキン、対象となっている人以外の人（例えば、店員等）、又は、これらの組み合わせを含めるようにしてもよい。
【００７８】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図１４に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ１４０１を用い、記憶装置としてＲＡＭ１４０２、ＲＯＭ１４０３、ＨＤ１４０４を用いている。ＨＤ１４０４として、例えばハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を用いてもよい。画像受付モジュール１０５、第１画像抽出モジュール１１０、第２画像抽出モジュール１１５、第１位置情報抽出モジュール１２０、第２位置情報抽出モジュール１２５、学習モジュール１３０等のプログラムを実行するＣＰＵ１４０１と、そのプログラムやデータを記憶するＲＡＭ１４０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ１４０３と、画像、教師データ、機械学習後のモデル（学習後のデータ）等を記憶する補助記憶装置（フラッシュ・メモリ等であってもよい）であるＨＤ１４０４と、キーボード、マウス、タッチスクリーン、マイク、カメラ（視線検知カメラ等を含む）等に対する利用者の操作（動作、音声、視線等を含む）に基づいてデータを受け付ける受付装置１４０６と、ＣＲＴ、液晶ディスプレイ、スピーカー等の出力装置１４０５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース１４０７、そして、それらをつないでデータのやりとりをするためのバス１４０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００７９】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１４に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１４に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図１４に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータ、サーバーとなり得るコンピュータの他、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００８０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００８１】
１００…情報処理装置
１０５…画像受付モジュール
１１０…第１画像抽出モジュール
１１５…第２画像抽出モジュール
１２０…第１位置情報抽出モジュール
１２５…第２位置情報抽出モジュール
１３０…学習モジュール
１５０…全方位カメラ
２１０…店舗
２８０…人
２９０…通信回線
８０２…撮影モジュール（全方位カメラ）
８０６…頭部領域検出モジュール
８１２…画像特徴抽出モジュール
８１６…特徴統合モジュール
８２６…全身領域検出モジュール
８３２…画像特徴抽出モジュール
８３６…特徴統合モジュール
８４０…特徴統合モジュール
８４４…顔向きクラス判別モジュール
【図１】
2019212148.tif 000003
【図２】
2019212148.tif 000004
【図３】
2019212148.tif 000005
【図４】
2019212148.tif 000006
【図５】
2019212148.tif 000007
【図６】
2019212148.tif 000008
【図７】
2019212148.tif 000009
【図８】
2019212148.tif 000010
【図９】
2019212148.tif 000011
【図１０】
2019212148.tif 000012
【図１１】
2019212148.tif 000013
【図１２】
2019212148.tif 000014
【図１３】
2019212148.tif 000015
【図１４】
2019212148.tif 000016