(57)【要約】【課題】  物体の高低差による位置のあいまいさを低減して、精度よく物体の位置を推定する。【解決手段】物体位置推定装置は、カメラにより取得される移動物体の画像から移動物体の位置基準点の位置を検出する第１処理部と、検出した移動物体の高さを推定する第２処理部と、移動物体の画像と第２処理部により推定された推定高さを基に位置基準点の高さを推定する第３処理部と、エリアにおける前記地点の高さと前記位置基準点の位置と第３処理部により推定された位置基準点の高さを基に、移動物体の推定位置候補を算出する第４処理部と、前記エリアにおける高さと第３処理部により推定された位置基準点の高さと第４処理部により算出された推定位置候補を基に推定位置候補の尤度を計算する第５処理部と、第５処理部により計算された推定位置候補の尤度を基に移動物体の推定位置を決定する第６処理部とを有する。【選択図】  図２
2020126332.tif 000002
【特許請求の範囲】
【請求項１】
入出力部と、記憶部と、処理部とを有し、複数のカメラにより取得される移動物体の画像を基に移動物体の３次元空間における位置を推定する物体位置推定装置であって、
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第１処理部と、
前記検出した移動物体の高さを推定する第２処理部と、
前記移動物体の画像と前記第２処理部により推定された推定高さを基に、前記位置基準点の高さを推定する第３処理部と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第３処理部により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第４処理部と、
前記エリアにおける高さと、前記第３処理部により推定された前記位置基準点の高さと、前記第４処理部により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第５処理部と、
前記第５処理部により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第６処理部と、を有する
ことを特徴とする物体位置推定装置。
【請求項２】
前記移動物体は人物であり、前記第２処理部は固定の長さを人物の推定身長とする
請求項１に記載の物体位置推定装置。
【請求項３】
前記第３処理部による位置基準点の高さを推定する処理において、検出した前記移動物体の画像から骨格を検出し骨格の位置や角度を基に前記移動物体の姿勢を推定して、前記推定高さと合わせて前記位置基準点の高さを推定する
請求項１に記載の物体位置推定装置。
【請求項４】
検出された前記移動物体の画像の特徴量を計算する第７処理部を有し、
前記第５処理部は、前記第７処理部により計算される前記特徴量を用いて、前記推定位置候補の尤度を計算する
請求項１に記載の物体位置推定装置。
【請求項５】
前記記憶部は、
前記エリアを所定の長さで区切った平面座標と、前記エリアにおける各地点の高さを該平面座標における高さ座標として表現した、エリア情報を管理するエリア情報テーブルと、
前記カメラの内部パラメータと前記カメラの姿勢パラメータを管理するパラメータテーブルとを記憶する、
請求項１に記載の物体位置推定装置。
【請求項６】
前記記憶部は、
前記画像から検出された各物体に付与される物体ＩＤに関連付けて、検出された画像の位置を示す座標と、前記特徴量と、前記移動物体の推定高さと、前記位置基準点と、前記基準点推定高さと、を管理する検出物体情報テーブルと、
前記カメラに固有なカメラＩＤと、前記物体ＩＤと、前記物体位置を三次元座標で表す物体推定位置候補の情報と、を管理する物体位置候補情報テーブルとを記憶する、
請求項１に記載の物体位置推定装置。
【請求項７】
入出力部と、記憶部と、処理部とを有し、複数のカメラにより取得される移動物体の画像を基に移動物体の３次元空間における位置を推定する物体位置推定方法であって、
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第１処理と、
前記検出した移動物体の高さを推定する第２処理と、
前記移動物体の画像と前記第２処理により推定された推定高さを基に、前記位置基準点の高さを推定する第３処理と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第３処理により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第４処理と、
前記エリアにおける高さと、前記第３処理により推定された前記位置基準点の高さと、前記第４処理により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第５処理と、
前記第５処理により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第６処理と、を行う
ことを特徴とする物体位置推定方法。
【請求項８】
前記移動物体は人物であり、前記第２処理は固定の長さを人物の推定身長とする
請求項７に記載の物体位置推定方法。
【請求項９】
前記第３処理による位置基準点の高さを推定する処理において、検出した前記移動物体の画像から骨格を検出し骨格の位置や角度を基に前記移動物体の姿勢を推定して、前記推定高さと合わせて前記位置基準点の高さを推定する
請求項７に記載の物体位置推定方法。
【請求項１０】
検出された前記移動物体の画像の特徴量を計算する第７処理を有し、
前記第５処理は、前記第７処理により計算される前記特徴量を用いて、前記推定位置候補の尤度を計算する
請求項７に記載の物体位置推定方法。
【請求項１１】
前記記憶部は、
前記画像から検出された各物体に付与される物体ＩＤに関連付けて、検出された画像の位置を示す座標と、前記特徴量と、前記移動物体の推定高さと、前記位置基準点と、前記基準点推定高さと、を管理する検出物体情報テーブルと、
前記カメラに固有なカメラＩＤと、前記物体ＩＤと、前記物体位置を三次元座標で表す物体推定位置候補の情報と、を管理する物体位置候補情報テーブルとを記憶する、
請求項７に記載の物体位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体位置推定装置およびその方法に係り、特に、カメラで撮影された画像を利用して、人物等の移動物の位置を推定する物体位置の推定処理技術に関する。
【背景技術】
【０００２】
カメラで撮影された画像を用いて、画像中に映っている人物の位置を推定するための技術が種々知られている。例えば、特許文献１には、キャリブレーションされてカメラパラメータを求めた複数のカメラを用いて、複数のカメラで撮った物体位置を視体積交差法により求める際の虚像物体をもとになされる誤った位置推定を低減するための技術が開示されている。また、特許文献２には、複数のカメラ映像から人物を検出し、ステレオ立体視により個々の人物の３次元位置を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開番号ＷＯ２０１０／１２６０７１（特許第５４５４５７３号）
【特許文献２】特開２００９−１４３７２２号公報
【非特許文献】
【０００４】
【非特許文献１】「Jifeng Dai,”R-FCN: object detection via region-based fully convolutional networks”,International Conference on Neural Information Processing Systems, 2016」
【非特許文献２】「Russell Stewart,”End-to-end people detection in crowded scenes”,IEEE Conference on Computer Vision and Pattern Recognition, 2016」
【非特許文献３】「Zhe Cao,“Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”,IEEE Conference on Computer Vision and Pattern Recognition, 2017」
【発明の概要】
【発明が解決しようとする課題】
【０００５】
店舗内の客の位置を監視カメラの映像から検出して、客がどのような動きをしているかを解析することで、マーケティングに活用する技術がある。また、工場や発電所のような場所に監視カメラを設置して、監視カメラの映像を解析することで作業員の位置を把握し、作業員が危険な場所に近づいたときに本人や監督者にアラートをあげて安全管理に活用したり、監督者の作業員状況把握の補助に活用したいというニーズが出てきている。工場や発電所のような場所では遮蔽物が多く、床に高低差があることがある。
【０００６】
特許文献１の技術では、検出対象の物体が複数のカメラに映っている必要があるため、遮蔽物が多い場所では、全ての地点で複数のカメラに映るようにカメラを配置しようとするとカメラ台数が多くなってしまい、コストが高くなってしまう。
【０００７】
また、特許文献２の技術は、主にエレベータのような工程差のない平坦な場所を想定した技術であり、工場や発電所のような高低差のある場所では対応しきれない。例えば、高低差がある場所で、カメラが見下ろすような角度で配置されていると、カメラから見て手前の高い場所にいる人物と、奥の低い場所にいる人物が、画面上では同じ位置に見える可能性があり、特許文献２の技術ではどこにいるか、あいまいさが残ってしまう。
【０００８】
そこで、本発明の目的は、物体の高低差による位置のあいまいさを低減して、精度よく物体の位置を推定することにある。
【課題を解決するための手段】
【０００９】
本発明に係る物体位置推定装置は、好ましくは、入出力部と、記憶部と、処理部とを有し、複数のカメラにより取得される移動物体の画像を基に移動物体の３次元空間における位置を推定する物体位置推定装置であって、
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第１処理部と、
前記検出した移動物体の高さを推定する第２処理部と、
前記移動物体の画像と前記第２処理部により推定された推定高さを基に、前記位置基準点の高さを推定する第３処理部と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第３処理部により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第４処理部と、
前記エリアにおける高さと、前記第３処理部により推定された前記位置基準点の高さと、前記第４処理部により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第５処理部と、
前記第５処理部により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第６処理部と、を有することを特徴とする物体位置推定装置、として構成される。
本発明はまた、物体位置推定装置における上記処理部が実行する物体位置推定方法としても把握される。
【発明の効果】
【００１０】
本発明により、遮蔽物や高低差がある場所でも、高低差による位置のあいまいさを低減して、精度よく物体位置を推定することができる。
【図面の簡単な説明】
【００１１】
【図１】画像処理システムの構成を示す図。
【図２】物体位置推定装置の構成例を示す図。
【図３】カメラキャリブレーションの処理動作を示すフローチャート図。
【図４】人物位置推定の処理動作を示すフローチャート図。
【図５Ａ】エリア高さの例を示す図。
【図５Ｂ】エリア情報テーブルの構成例を示す図。
【図６】検出人物情報テーブルの構成例を示す図。
【図７】人物位置候補情報テーブルの構成例を示す図。
【図８】複数カメラの人物位置候補算出の処理動作を示すフローチャート図。
【図９】人物位置候補統合位置関係を示す図。
【発明を実施するための形態】
【００１２】
本発明の好ましい態様では、遮蔽物があっても１つのカメラに映っていれば人物の位置が推定できるように、カメラキャリブレーションを行い、カメラパラメータを取得したカメラを使用して人物を撮影し、撮影された画像から人物を検出および映った人物の身長を推定した後、カメラから人物の頭部もしくは特定のポイントまでの直線を計算して、事前に取得しておいたエリアの各地点の高さ情報から、映った人物の推定身長と直線の地面からの高さが一致する箇所を人物の推定位置とする。また、高低差のある場所での人物推定位置のあいまいさを回避するために、複数カメラを使って精度を高める手法も用いる。カメラから検出人物への直線が複数交差する（直線間の距離が閾値以下になる）点を人物位置の候補として、公差している直線のカメラで検出された人物の画像特徴量や推定身長や公差点の地面からの高さから人物がその候補地点にいるかどうかの尤度を計算して、尤度の高い地点を推定人物位置とする。なお、位置推定は人物に限らず、移動物体を対象とすることができる。また、カメラの撮影対象範囲が建物の内部の場合、移動物体の高さの推定の基準面は、地面ではなく、床とすることができる。
【００１３】
以下、図面を参照しながら、一実施例について説明する。
【実施例１】
【００１４】
図１は、一実施例に係る、物体位置推定装置が適用される画像処理システムの一例を示す。
画像処理システムは、空間を撮影する複数のカメラ１０１と、撮影された画像を記録する録画装置１０３がネットワーク１０２に接続して構成される。録画装置１０３は、複数のカメラ１０１によって取得された映像疎を蓄積する。物体位置推定装置１０４は、録画装置１０３に蓄積された画像を利用して人物位置推定を行い、その結果を表示装置１０５に表示する。なお、録画装置１０３、物体位置推定装置１０４および表示装置１０５は1台のコンピュータで構成されてもよい。また、ネットワーク１０２は、有線でも、無線アクセスポイントを介して繋がるものでもよい。
【００１５】
図２を参照して、物体位置推定装置１０４の内部構成について説明する。
物体位置推定装置１０４は、プロセッサおよびメモリを備えるコンピュータであり、入出力部２１、画像メモリ２２、記憶部２３、カメラパラメータ推定処理部２４、人物位置推定処理部２５を有して構成される。画像メモリ２２および記憶部２３はメモリに設けられる。カメラパラメータ推定処理部２４および人物位置推定処理部２５は、メモリに格納されているプログラムがプロセッサで実行されることで実現される機能である。
【００１６】
物体位置推定装置１０４において、入出力部２１は、録画装置１０３に記録された画像を取得し、その取得された画像は画像メモリ２２に格納される。入出力部２１はまた、ユーザが操作する装置から入力されるデータを取得し、取得されたデータは記憶部２３またはカメラパラメータ推定処理部２４に送られる。入出力部２１はまた、人物位置推定処理部２５の結果を表示装置１０５に出力し、結果は表示装置１０５に表示される。
【００１７】
記憶部２３は、カメラの焦点距離やアスペクト比や光学中心などを格納する内部パラメータ２３２と、カメラの位置や向きなどを格納するカメラ姿勢パラメータ２３３と、カメラに映るエリアの各地点の高さを格納するエリア情報２３４と、画像から検出した人物に関する情報を格納する検出人物情報２３５と、検出した各人物の位置候補情報を格納する検出人物位置候補情報２３６の各情報を記憶する。これらの情報は例えばテーブル形式で構成される。（詳細は後述する。）
カメラパラメータ推定処理部２４は、キャリブレーションパターンを撮影した画像からカメラ内部パラメータを推定するカメラ内部パラメータ推定処理部２４２と、カメラ内部パラメータおよび撮影された画像およびユーザから入力された複数の画像上の点の位置およびその点に対応する３次元空間上の座標からカメラ姿勢パラメータ（外部パラメータとも言う）を推定するカメラ姿勢パラメータ推定処理部２４３から構成される。各処理の詳細については後述する。
【００１８】
人物位置推定処理部２５は、撮影された画像から人物が画像上のどの位置に映っているかを検出する人物検出処理部２５２と、検出された各人物の特徴量を計算する人物特徴量計算処理部２５３と、検出された各人物の身長を推定する身長推定処理部２５４と、検出された各人物の姿勢を推定する人物姿勢推定処理部２５５と、検出人物情報２３５から１つのカメラに関する人物位置の候補を計算する単カメラ人物位置候補計算処理部２５６と、複数のカメラの人物位置候補情報２０８を統合して人物位置候補の精度を高める複数カメラ人物位置候補計算処理部２５７と、複数のカメラの情報が統合された人物位置候補情報２３６から人物推定位置を選択する人物位置候補選択処理部２５８と、人物推定位置を表示装置１０５に表示させる人物推定位置表示処理部２５９、から構成される。各処理の詳細については後述する。
【００１９】
図１乃至図２に示す例は、３台のカメラで撮影している環境を想定し、人物位置推定を行うものである。３台のカメラをそれぞれカメラＡ、カメラＢ、カメラＣとする。カメラの配置については、人物位置推定を行うエリア内で、高低差により１台のカメラでは位置推定があいまいになるような空間については、なるべく２台以上のカメラで撮影するようにカメラを配置することが望ましい。カメラＡ〜Ｃはネットワークカメラとして市販されているものを利用できる。各カメラの内部時計の時刻は事前にＮＴＰなどを用いて同期を取って一致しているものとする。各カメラで撮影された画像は、ネットワーク１０２を介して録画装置１０３へ送られ、カメラのＩＤおよび撮影時刻と共に記録される。
【００２０】
人物位置推定は、事前にカメラ内部パラメータとカメラ姿勢パラメータとエリア情報を設定する事前準備の第１段階と、カメラ画像および事前に設定された情報から画像に映った人物の位置を推定する第２段階に分けられる。
事前に情報を設定する第１段階はさらに、キャリブレーションによりカメラ内部パラメータとカメラ姿勢パラメータを設定する第１−１段階と、ユーザが入力したエリア情報を設定する第１−２段階に分けられる。
【００２１】
次に、図３を参照して、キャリブレーションによりカメラ内部パラメータとカメラ姿勢パラメータを設定する処理について説明する。この処理はカメラパラメータ推定処理部２４により実行される。ここで、図３のフローチャートは１つのカメラの処理動作を示しているが、例えば３台のカメラＡ〜Ｃの場合、各カメラについて同じ処理が行なわれる。また、カメラ内部パラメータ２３２およびカメラ姿勢パラメータ２３３に格納するデータも、カメラＡ〜Ｃの各々についてカメラのＩＤと共に別々に格納する。
【００２２】
各カメラのキャリブレーションでは、数式１および数式２における各パラメータの値を求める。数式１はレンズの歪みがないピンホールカメラモデルの場合の、ワールド座標系の３次元座標（Ｘ，Ｙ，Ｚ）と画像上のピクセル座標（ｕ，ｖ）の関係を同次座標表現で表した式ある。
【００２３】
【数１】
2020126332.tif 000003
【００２４】
【数２】
2020126332.tif 000004
【００２５】
ワールド座標系はＸＹ平面が水平面で、Ｚ軸が垂直方向になるようにする。（ｆｘ，ｆｙ）はピクセル単位の焦点距離、（ｃｘ，ｃｙ）はピクセル単位の光学中心、ｓはピクセルのせん断係数、Ｒ１１〜Ｒ３３およびｔｘ〜ｔｚはカメラの姿勢である。実際のカメラではレンズ歪みが発生し、歪みがない場合の画像上の座標（ｕ，ｖ）と歪みがある場合の座標（ｕ’，ｖ’）の関係を表した式で、ｋ１とｋ２とｋ３は半径方向の歪み係数、ｐ１とｐ２は円周方向の歪み係数である。カメラ内部パラメータは（ｆｘ，ｆｙ）、（ｃｘ，ｃｙ）、ｓ、ｋ１、ｋ２、ｋ３、ｐ１、ｐ２で、カメラ姿勢パラメータはＲ１１〜Ｒ３３およびｔｘ〜ｔｚである。
【００２６】
キャリブレーションの処理では、まず、ユーザがカメラでキャリブレーションパターンを撮影する。キャリブレーションパターンは、チェッカーパターンやドットパターンなど複数枚の画像パターンが含まれる。カメラで撮影されたこれらの画像パターンは録画装置１０３に格納される。撮影する枚数およびキャリブレーションパターンの位置は、１０枚程度以上で画像上の色々な位置にパターンが映るようにするが望ましい。
【００２７】
さて、上記のように、録画装置１０３に用意されたキャリブレーションパターンの画像を入出力部２１が読み込んで、画像メモリ２２に格納する（Ｓ３０１）。
【００２８】
次に、ユーザの操作により入出力部２１からキャリブレーションパターン間隔の長さが入力される（Ｓ３０２）。そして、画像メモリ２２上のキャリブレーションパターンが映った画像からパターンを検出する（Ｓ３０３）。パターンの検出は例えば、「オープンソースのコンピュータビジョン向けライブラリであるOpenCV」を用いて行うことができる。そして、パターン間隔と検出したパターンを用いてカメラ内部パラメータを推定する（Ｓ３０４）。推定されたカメラ内部パラメータはカメラ内部パラメータ２０４にカメラＩＤと共に格納される（Ｓ３０５）。パラメータの推定には「EasyCalibの手法」を用いることができる。「オープンソースのコンピュータビジョン向けライブラリであるOpenCV」にも同様の手法が実装されている。
【００２９】
次に、カメラ姿勢パラメータについては、予め、カメラで３次元空間座標が既知の複数の点にマーカーをおいて撮影が行なわれる。マーカーの数については最低で４つ、６つ以上が望ましい。このように用意されたマーカーが入出力部２１より読み込まれる（Ｓ３０６）。なお、カメラによって撮影される画像は、上記キャリブレーションパターンと同様に、録画装置１０３に格納され、入出力部２１が録画装置から画像を逐次読み出して画像メモリ２２に格納する。
【００３０】
次に、ユーザの操作により入出力部２１からマーカーのワールド座標系の３次元座標および画像上で映っているピクセル座標を入力する（Ｓ３０７）。そして、入力した座標とカメラ内部パラメータからＰｎＰ問題を解くことでカメラ姿勢パラメータを推定し（Ｓ３０８）、カメラＩＤと共にカメラ姿勢パラメータ２３３に格納される（Ｓ３０９）。ＰｎＰ問題については「オープンソースのコンピュータビジョン向けライブラリであるOpenCV」にその解法が実装されている。
エリア情報については、ユーザの操作により入出力部２１からカメラに映るエリアの各地点の高さが入力されて、エリア情報２３４に格納される。
【００３１】
ここで、図５Ａ及び図５Ｂを参照して、エリア情報について説明する。図５Ａはエリア高さを模式的に示し、図５Ｂはエリア情報テーブル（テーブル形式のエリア情報２３４）を示す。エリアの高さ（地面の高さ）が図５Ａのようになっている場合、エリア情報２３４は、図５Ｂのエリア情報テーブル５０１のように、中央部が「１００」ｍｍの高さに表現されて、記憶部２３に格納される。エリア情報テーブル５０１は、平面のエリアを表すＸＹ座標を一定区切りごとにメッシュ状に区切り、ＸＹ座標における各メッシュのエリアの高さ（Ｚ座標）で表現される。本実施例では、ＸＹ座標の区切りの大きさが「１０」であるが、それぞれの実施に必要な精度に応じて変更することができる。このような高低差のあるエリアに複数の人物が居る状況で、カメラが撮影したエリアの画像を基に、人物の位置を推定する処理が行われる。
【００３２】
次に、図４を参照して、人物位置推定処理部２５による人物位置推定の処理動作について説明する。図４に示す例は、ある時刻ＴのカメラＡ〜Ｃにより取得された画像を用いて人物位置を推定する処理である。カメラＡ〜Ｃにより取得された各画像が録画装置１０３に新たに格納される度に、その時刻Ｔを、新たに画像を格納した時刻に更新して繰り返し処理することで、現在時刻の人物位置を継続的に取得して人物位置を推定する。以下の各処理は、人物検出処理部２５２〜人物推定位置表示処理部２５９の各処理部により行われる。
【００３３】
人物位置推定処理は、まず、以前の処理で使用された検出人物情報２３５および人物位置候補情報２３６の内容をクリアする（Ｓ４０１）。次に、入出力部２１が、時刻ＴにおけるカメラＡ〜Ｃの画像を録画装置１０３から取得して画像メモリ２２に格納する（Ｓ４０２）。
【００３４】
人物検出処理部２５２が、画像メモリ２２に格納されたカメラＡ〜Ｃの画像に対して人物検出（Ｓ４０３）から単カメラ人物位置候補算出（Ｓ４０８）までの処理をそれぞれ実施する。画像から人物を検出する処理Ｓ４０３では、非特許文献１のような手法を使って検出することができる。検出した人物情報は、検出人物情報２３５（図６の検出人物情報テーブル６０１）のような形式で格納される。
【００３５】
図６に示すように、カメラ毎に固有のカメラＩＤが付与されて構成される検出人物情報テーブルは、画像から検出した各人物毎に人物ＩＤが付与されてエントリが作成される。各エントリには、検出された画像上の位置を左上と右下のピクセル座標（Ｘ１ｐａ，Ｙ１ｐａ）、特徴量Ｖｐａ，人物の推定身長Ｌｐａ，位置基準点（ＢＸｐａ,ＢＹｐａ,ＢＺｐａ）、基準点推定高さ（Ｈｐａ）、及び直線式が書き込まれる。
【００３６】
人物特徴量計算処理部２５３が、各人物の特徴量を算出する処理Ｓ４０４において、検出した人物を元画像から切り出して、画像特徴量を算出する。画像特徴量は人物画像の色のヒストグラムを特徴量にする色特徴量や、深層学習を使った人物の年齢や性別や服装などの識別を行うニューラルネットワークの中間層の値などを特徴量として使用する。ニューラルネットワークを用いた特徴量は、例えば、いわゆるAlexNetやResNetなどのニューラルネットワークで人物を切り抜いた画像と年齢や性別や服装との対応を、誤差伝播法を用いて学習をしたものを用い、検出した人物画像をニューラルネットワークに入力したときの中間層の値を特徴量のベクトルとして用いる。算出した特徴量は、検出人物情報テーブル６０１の各検出人物ＩＤのエントリに書き込まれる。
【００３７】
身長推定処理部２５４が、各人物の身長を推定する処理Ｓ４０５において、事前に深層学習を用いて人物画像と身長の関係を学習したニューラルネットワークを準備しておき、そのネットワークを用いて、検出した各人物画像を入力して身長を推定する。身長を推定するニューラルネットワークは、上記ニューラルネットワークと同様に、例えば、AlexNetやResNetなどのニューラルネットワークで人物を切り抜いた画像と身長との対応を、誤差伝播法を用いて学習したものである。また、本処理では、エリア内の人物が概ね同程度の身長である場合や、カメラの位置が高い場合は、事前に設定した固定の身長を推定身長とするような処理でも良い。推定した身長は、検出人物情報テーブル６０１の各検出人物ＩＤのエントリに書き込まれる。
【００３８】
人物姿勢推定処理部２５５が、各人物の位置基準点を検出する処理Ｓ４０６において、人物位置の基準となるポイント（位置基準点）を検出する。位置基準点から地面に垂直におろした点を人物の座標とする。位置基準点は、障害物などで隠れにくく、かつどの方向から見ても検出しやすい箇所が良い。具体的には人物の画像から骨格を検出し骨格の位置や角度を基に人物の姿勢を推定するものであり、例えば人物の頭頂部や頭部の中心や両肩の中心の位置や角度を基に姿勢を推定する。頭頂部であれば、人物検出枠の上辺の中間点である（但し基本的に立っている姿勢であることが前提）。頭部の中心であれば、非特許文献２などの手法を用いて頭部を検出し、その検出枠の中心点である。両肩の中心であれば、非特許文献３の手法などで検出することができる。検出した位置基準点の画像上のピクセル座標は、検出人物情報テーブル６０１の各人物ＩＤのエントリに書き込まれる。
【００３９】
人物姿勢推定処理部２５５が、人物位置基準点の地面からの高さを推定する処理Ｓ４０７において、推定した身長と、非特許文献３の手法で検出した人物の姿勢情報を基に、人物位置基準点の地面からの高さを推定する。身長から、頭部、上半身、下半身の長さを標準的な体格として計算し、検出された姿勢の傾きから基準点の高さを推定する。上半身、下半身が見えていない場合はその部分は垂直になっているとして推定する。推定した人物位置基準点の高さは、検出人物情報テーブル６０１の各人物検出ＩＤのエントリに書き込まれる。
【００４０】
単カメラ人物位置候補計算処理部２５６が、単カメラの人物位置候補を算出する処理Ｓ４０８において、まず、カメラ内部パラメータおよびカメラ姿勢パラメータと検出人物情報テーブル６０１の人物位置基準点位置を基に、カメラと人物位置基準点を結ぶ直線を求める。求めた直線は検出人物情報テーブル６０１に書き込んでおく。直線を求めるには、数式１および数式２を用いて算出することができる。次に、求めた直線とエリア情報２３４を用いて、直線上の点から地面までの高さを求める。そして、直線上の点で、地面までの高さが推定した人物位置基準点の高さと一致する点を人物位置候補とする。高低差があるような場所の場合は、人物位置候補が複数になる場合がある。人物位置候補については、図７に示すように、カメラＩＤと人物ＩＤごとに人物位置候補テーブル７０１（テーブル形式の人物位置候補情報２３６）が作成され、算出された人物位置候補は候補位置（Ｘ１，Ｙ１，Ｚ１）に格納される。さらに、人物位置候補テーブル７０１には、他のカメラで検出された人物位置候補がカメラＩＤと人物ＩＤごとに格納される。
【００４１】
カメラＡ〜Ｃの画像に対して、図４のフローチャートの人物検出Ｓ４０３から単カメラ人物位置候補算出Ｓ４０８までの処理が終了した後に、複数カメラ人物位置候補計算処理部２５７が、各カメラの情報を統合して複数カメラによる人物位置候補の算出の処理を行う（Ｓ４０９）。この処理Ｓ４０９は各カメラＩＤ、人物ＩＤの組み合わせごとに行なわれる。処理を行うカメラＩＤ、人物ＩＤの検出人物情報テーブル６０１からカメラと人物位置基準点の直線の式を読み出し、図８のフローチャートの処理を行う。
【００４２】
ここで、図８のフローチャートを参照する。処理Ｓ８０１からＳ８０６までの処理は、処理対象のカメラＩＤとは別の他のカメラＩＤの全ての人物ＩＤごとに繰り返して実行される。
【００４３】
まず、２つの他カメラ（例えばカメラＢ，Ｃ）のカメラＩＤ、人物ＩＤの組み合わせで、それぞれのカメラと人物基準点との直線の間の距離を計算する（Ｓ８０２）。次に、算出された距離と閾値を比較する（Ｓ８０３）。閾値は実施ごとに精度の良くなる適当な値を設定するものとする。比較の結果、距離が閾値以上の場合は（Ｓ８０３：Ｎｏ）、次のＳ８０１からＳ８０６の処理を繰り返し実行する。一方、距離が閾値以下の場合は（Ｓ８０３：Ｙ）、次の処理Ｓ８０４に移る。
【００４４】
処理Ｓ８０４では、前記処理結果による距離の二直線間の中点を計算し、エリア情報から中点の地面からの高さを計算する。そして、その高さを想定人物基準点高さ範囲と比較する（Ｓ８０５）。この想定人物基準点高さ範囲は、ありえない高さ、例えばマイナスや人の身長を大きく超えるようなものを除外するために設定するもので、０ｃｍから２００ｃｍ程度が適当である。比較の結果、範囲外の場合は（Ｓ８０５：Ｎｏ）、次のＳ８０１からＳ８０６の処理を繰り返し実行する。一方、範囲内の場合は（Ｓ８０５：Ｙ）、次の処理Ｓ８０６に移る。
【００４５】
処理Ｓ８０６では、計算した中点の座標を人物位置候補テーブル７０１のエントリに追加する。エントリの追加は、位置候補の座標に加えて、中点を計算したときのカメラＩＤと人物ＩＤもテーブルに格納する。例えばカメラＩＤがＡ、人物ＩＤがＰａの処理対象に対して、カメラＩＤがＢ、人物ＩＤがＰｂとの中点の位置候補Ｎｂを追加する場合は、図７のエントリ７０２、即ち位置候補がＮｂ、他カメラＩＤ人物ＩＤが（Ｂ，Ｐｂ）のように、エントリが追加される。エントリの追加の際に、既に前の処理（Ｓ８０６）で追加されたエントリがあり、以前に追加されたエントリの位置候補と新しく追加する位置候補の距離が閾値以下の場合は、新しいエントリを追加するのではなく、以前に追加されたエントリを更新する。新しい位置候補は、以前に追加されているエントリの各座標と新しい位置候補の平均とする。他カメラＩＤ、人物ＩＤには追記を行う。例えば、上記の例のエントリ７０２に、カメラＩＤがＣ、人物ＩＤがＰｃ、位置候補がＮｃのエントリを追加しようとして、ＮｂとＮｃの距離が閾値以下の場合、更新されるエントリは７０３のように、位置候補がＮｎｅｗ（ＮｂとＮｃの平均）、他カメラＩＤ,人物ＩＤは（Ｂ，Ｐｂ），（Ｃ，Ｐｃ）となる。これらの位置関係を上方向から見下ろすと、図９のようになる。
【００４６】
ここで、図４の説明に戻って、複数カメラ人物位置候補計算処理部２５７が、複数カメラの人物位置候補の算出処理Ｓ４０９の次に、算出した各人物位置候補に対して尤度の計算処理を行う（Ｓ４１０）。人物位置候補テーブル７０１の各エントリについて、記憶部２３からデータを読み出しながら、数式３に従って尤度を計算し、人物位置候補テーブル７０１の尤度を追加していく。例えば、エントリ７０３の尤度は数式４のように計算される。
【００４７】
【数３】
2020126332.tif 000005
【００４８】
【数４】
2020126332.tif 000006
【００４９】
数式３の、「人物PaとPbの類似度=e＾(-(ベクトルVpaとVpbの距離))」において、ベクトルVpaとVpbが画像と画像特徴量であり、類似度は画像特徴量の類似度になる。すなわち、尤度は画像特徴量が似通うほど高くなる。
【００５０】
上記のように、位置候補の高さと推定人物基準位置の高さの近い方が、尤度が高くなり、また、他カメラに映っている位置候補付近の人物との類似度の高い方が、尤度が高くなるようになっている。そして、人物位置候補選択処理部２５８が、人物位置候補テーブル７０１の尤度をもとに人物位置の推定位置を決定する（Ｓ４１１）。推定位置の決定はカメラＡ〜Ｃの各検出人物の人物位置候補テーブル７０１を順に調査して、尤度の最も高いものを人物推定位置とする。但し、人物位置候補テーブル７０１のエントリ７０３のようなエントリを、カメラＩＤがＡ、検出人物ＩＤがＰａの推定位置として選択した場合は、カメラＩＤがＢ、検出人物ＩＤがＰｂおよびカメラＩＤがＣ、検出人物ＩＤがＰｃの推定位置も同じとする。
【００５１】
最後に、人物推定位置表示処理部２５９が、算出した人物推定位置を表示装置１０５に表示する（Ｓ４１２）。すなわち、人物推定位置を水平面のＸＹ座標に変換し、エリア情報から図５（ａ）のようなフロアマップを作成し、その上に人物推定位置をプロットしたものが、入出力部２０１を介して表示装置１０５に表示される。
【符号の説明】
【００５２】
１０１：カメラ              １０２：ネットワーク    １０３：録画装置
１０４：物体位置推定装置    １０５：表示装置        ２１：入出力部
２２：画像メモリ            ２３：記憶部
２３２：カメラ内部パラメータ    ２３３：カメラ姿勢パラメータ
２３４：エリア情報        ２３５：検出人物情報  ２３６：人物位置候補情報
２４：カメラパラメータ推定処理部
２４２：カメラ内部パラメータ推定処理部
２４３：カメラ姿勢パラメータ推定処理部
２５：人物位置推定処理部        ２５２：人物検出処理部
２５３：人物特徴量計算処理部    ２５４：身長推定処理部
２５５：人物姿勢推定処理部      ２５６：単カメラ人物位置候補計算処理部
２５７：複数カメラ人物位置候補計算処理部
２５８：人物位置候補選択処理部  ２５９：人物推定位置表示処理部
【図１】
2020126332.tif 000007
【図２】
2020126332.tif 000008
【図３】
2020126332.tif 000009
【図４】
2020126332.tif 000010
【図５Ａ】
2020126332.tif 000011
【図５Ｂ】
2020126332.tif 000012
【図６】
2020126332.tif 000013
【図７】
2020126332.tif 000014
【図８】
2020126332.tif 000015
【図９】
2020126332.tif 000016