JP7096176B2 - 物体位置推定装置およびその方法 - Google Patents
物体位置推定装置およびその方法 Download PDFInfo
- Publication number
- JP7096176B2 JP7096176B2 JP2019017210A JP2019017210A JP7096176B2 JP 7096176 B2 JP7096176 B2 JP 7096176B2 JP 2019017210 A JP2019017210 A JP 2019017210A JP 2019017210 A JP2019017210 A JP 2019017210A JP 7096176 B2 JP7096176 B2 JP 7096176B2
- Authority
- JP
- Japan
- Prior art keywords
- height
- estimated
- person
- processing unit
- camera
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C3/00—Measuring distances in line of sight; Optical rangefinders
- G01C3/10—Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with variable angles and a base of fixed length in the observation station, e.g. in the instrument
- G01C3/14—Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with variable angles and a base of fixed length in the observation station, e.g. in the instrument with binocular observation at a single point, e.g. stereoscopic type
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C5/00—Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/12—Acquisition of 3D measurements of objects
Description
本発明は、物体位置推定装置およびその方法に係り、特に、カメラで撮影された画像を利用して、人物等の移動物の位置を推定する物体位置の推定処理技術に関する。
カメラで撮影された画像を用いて、画像中に映っている人物の位置を推定するための技術が種々知られている。例えば、特許文献1には、キャリブレーションされてカメラパラメータを求めた複数のカメラを用いて、複数のカメラで撮った物体位置を視体積交差法により求める際の虚像物体をもとになされる誤った位置推定を低減するための技術が開示されている。また、特許文献2には、複数のカメラ映像から人物を検出し、ステレオ立体視により個々の人物の3次元位置を推定する技術が開示されている。
「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の技術では、検出対象の物体が複数のカメラに映っている必要があるため、遮蔽物が多い場所では、全ての地点で複数のカメラに映るようにカメラを配置しようとするとカメラ台数が多くなってしまい、コストが高くなってしまう。
また、特許文献2の技術は、主にエレベータのような工程差のない平坦な場所を想定した技術であり、工場や発電所のような高低差のある場所では対応しきれない。例えば、高低差がある場所で、カメラが見下ろすような角度で配置されていると、カメラから見て手前の高い場所にいる人物と、奥の低い場所にいる人物が、画面上では同じ位置に見える可能性があり、特許文献2の技術ではどこにいるか、あいまいさが残ってしまう。
そこで、本発明の目的は、物体の高低差による位置のあいまいさを低減して、精度よく物体の位置を推定することにある。
本発明に係る物体位置推定装置は、好ましくは、入出力部と、記憶部と、処理部とを有し、複数のカメラにより取得される移動物体の画像を基に移動物体の3次元空間における位置を推定する物体位置推定装置であって、
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第1処理部と、
前記検出した移動物体の高さを推定する第2処理部と、
前記移動物体の画像と前記第2処理部により推定された推定高さを基に、前記位置基準点の高さを推定する第3処理部と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第3処理部により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第4処理部と、
前記エリアにおける高さと、前記第3処理部により推定された前記位置基準点の高さと、前記第4処理部により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第5処理部と、
前記第5処理部により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第6処理部と、を有することを特徴とする物体位置推定装置、として構成される。
本発明はまた、物体位置推定装置における上記処理部が実行する物体位置推定方法としても把握される。
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第1処理部と、
前記検出した移動物体の高さを推定する第2処理部と、
前記移動物体の画像と前記第2処理部により推定された推定高さを基に、前記位置基準点の高さを推定する第3処理部と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第3処理部により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第4処理部と、
前記エリアにおける高さと、前記第3処理部により推定された前記位置基準点の高さと、前記第4処理部により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第5処理部と、
前記第5処理部により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第6処理部と、を有することを特徴とする物体位置推定装置、として構成される。
本発明はまた、物体位置推定装置における上記処理部が実行する物体位置推定方法としても把握される。
本発明により、遮蔽物や高低差がある場所でも、高低差による位置のあいまいさを低減して、精度よく物体位置を推定することができる。
本発明の好ましい態様では、遮蔽物があっても1つのカメラに映っていれば人物の位置が推定できるように、カメラキャリブレーションを行い、カメラパラメータを取得したカメラを使用して人物を撮影し、撮影された画像から人物を検出および映った人物の身長を推定した後、カメラから人物の頭部もしくは特定のポイントまでの直線を計算して、事前に取得しておいたエリアの各地点の高さ情報から、映った人物の推定身長と直線の地面からの高さが一致する箇所を人物の推定位置とする。また、高低差のある場所での人物推定位置のあいまいさを回避するために、複数カメラを使って精度を高める手法も用いる。カメラから検出人物への直線が複数交差する(直線間の距離が閾値以下になる)点を人物位置の候補として、公差している直線のカメラで検出された人物の画像特徴量や推定身長や公差点の地面からの高さから人物がその候補地点にいるかどうかの尤度を計算して、尤度の高い地点を推定人物位置とする。なお、位置推定は人物に限らず、移動物体を対象とすることができる。また、カメラの撮影対象範囲が建物の内部の場合、移動物体の高さの推定の基準面は、地面ではなく、床とすることができる。
以下、図面を参照しながら、一実施例について説明する。
図1は、一実施例に係る、物体位置推定装置が適用される画像処理システムの一例を示す。
画像処理システムは、空間を撮影する複数のカメラ101と、撮影された画像を記録する録画装置103がネットワーク102に接続して構成される。録画装置103は、複数のカメラ101によって取得された映像疎を蓄積する。物体位置推定装置104は、録画装置103に蓄積された画像を利用して人物位置推定を行い、その結果を表示装置105に表示する。なお、録画装置103、物体位置推定装置104および表示装置105は1台のコンピュータで構成されてもよい。また、ネットワーク102は、有線でも、無線アクセスポイントを介して繋がるものでもよい。
画像処理システムは、空間を撮影する複数のカメラ101と、撮影された画像を記録する録画装置103がネットワーク102に接続して構成される。録画装置103は、複数のカメラ101によって取得された映像疎を蓄積する。物体位置推定装置104は、録画装置103に蓄積された画像を利用して人物位置推定を行い、その結果を表示装置105に表示する。なお、録画装置103、物体位置推定装置104および表示装置105は1台のコンピュータで構成されてもよい。また、ネットワーク102は、有線でも、無線アクセスポイントを介して繋がるものでもよい。
図2を参照して、物体位置推定装置104の内部構成について説明する。
物体位置推定装置104は、プロセッサおよびメモリを備えるコンピュータであり、入出力部21、画像メモリ22、記憶部23、カメラパラメータ推定処理部24、人物位置推定処理部25を有して構成される。画像メモリ22および記憶部23はメモリに設けられる。カメラパラメータ推定処理部24および人物位置推定処理部25は、メモリに格納されているプログラムがプロセッサで実行されることで実現される機能である。
物体位置推定装置104は、プロセッサおよびメモリを備えるコンピュータであり、入出力部21、画像メモリ22、記憶部23、カメラパラメータ推定処理部24、人物位置推定処理部25を有して構成される。画像メモリ22および記憶部23はメモリに設けられる。カメラパラメータ推定処理部24および人物位置推定処理部25は、メモリに格納されているプログラムがプロセッサで実行されることで実現される機能である。
物体位置推定装置104において、入出力部21は、録画装置103に記録された画像を取得し、その取得された画像は画像メモリ22に格納される。入出力部21はまた、ユーザが操作する装置から入力されるデータを取得し、取得されたデータは記憶部23またはカメラパラメータ推定処理部24に送られる。入出力部21はまた、人物位置推定処理部25の結果を表示装置105に出力し、結果は表示装置105に表示される。
記憶部23は、カメラの焦点距離やアスペクト比や光学中心などを格納する内部パラメータ232と、カメラの位置や向きなどを格納するカメラ姿勢パラメータ233と、カメラに映るエリアの各地点の高さを格納するエリア情報234と、画像から検出した人物に関する情報を格納する検出人物情報235と、検出した各人物の位置候補情報を格納する検出人物位置候補情報236の各情報を記憶する。これらの情報は例えばテーブル形式で構成される。(詳細は後述する。)
カメラパラメータ推定処理部24は、キャリブレーションパターンを撮影した画像からカメラ内部パラメータを推定するカメラ内部パラメータ推定処理部242と、カメラ内部パラメータおよび撮影された画像およびユーザから入力された複数の画像上の点の位置およびその点に対応する3次元空間上の座標からカメラ姿勢パラメータ(外部パラメータとも言う)を推定するカメラ姿勢パラメータ推定処理部243から構成される。各処理の詳細については後述する。
カメラパラメータ推定処理部24は、キャリブレーションパターンを撮影した画像からカメラ内部パラメータを推定するカメラ内部パラメータ推定処理部242と、カメラ内部パラメータおよび撮影された画像およびユーザから入力された複数の画像上の点の位置およびその点に対応する3次元空間上の座標からカメラ姿勢パラメータ(外部パラメータとも言う)を推定するカメラ姿勢パラメータ推定処理部243から構成される。各処理の詳細については後述する。
人物位置推定処理部25は、撮影された画像から人物が画像上のどの位置に映っているかを検出する人物検出処理部252と、検出された各人物の特徴量を計算する人物特徴量計算処理部253と、検出された各人物の身長を推定する身長推定処理部254と、検出された各人物の姿勢を推定する人物姿勢推定処理部255と、検出人物情報235から1つのカメラに関する人物位置の候補を計算する単カメラ人物位置候補計算処理部256と、複数のカメラの人物位置候補情報208を統合して人物位置候補の精度を高める複数カメラ人物位置候補計算処理部257と、複数のカメラの情報が統合された人物位置候補情報236から人物推定位置を選択する人物位置候補選択処理部258と、人物推定位置を表示装置105に表示させる人物推定位置表示処理部259、から構成される。各処理の詳細については後述する。
図1乃至図2に示す例は、3台のカメラで撮影している環境を想定し、人物位置推定を行うものである。3台のカメラをそれぞれカメラA、カメラB、カメラCとする。カメラの配置については、人物位置推定を行うエリア内で、高低差により1台のカメラでは位置推定があいまいになるような空間については、なるべく2台以上のカメラで撮影するようにカメラを配置することが望ましい。カメラA~Cはネットワークカメラとして市販されているものを利用できる。各カメラの内部時計の時刻は事前にNTPなどを用いて同期を取って一致しているものとする。各カメラで撮影された画像は、ネットワーク102を介して録画装置103へ送られ、カメラのIDおよび撮影時刻と共に記録される。
人物位置推定は、事前にカメラ内部パラメータとカメラ姿勢パラメータとエリア情報を設定する事前準備の第1段階と、カメラ画像および事前に設定された情報から画像に映った人物の位置を推定する第2段階に分けられる。
事前に情報を設定する第1段階はさらに、キャリブレーションによりカメラ内部パラメータとカメラ姿勢パラメータを設定する第1-1段階と、ユーザが入力したエリア情報を設定する第1-2段階に分けられる。
事前に情報を設定する第1段階はさらに、キャリブレーションによりカメラ内部パラメータとカメラ姿勢パラメータを設定する第1-1段階と、ユーザが入力したエリア情報を設定する第1-2段階に分けられる。
次に、図3を参照して、キャリブレーションによりカメラ内部パラメータとカメラ姿勢パラメータを設定する処理について説明する。この処理はカメラパラメータ推定処理部24により実行される。ここで、図3のフローチャートは1つのカメラの処理動作を示しているが、例えば3台のカメラA~Cの場合、各カメラについて同じ処理が行なわれる。また、カメラ内部パラメータ232およびカメラ姿勢パラメータ233に格納するデータも、カメラA~Cの各々についてカメラのIDと共に別々に格納する。
各カメラのキャリブレーションでは、数式1および数式2における各パラメータの値を求める。数式1はレンズの歪みがないピンホールカメラモデルの場合の、ワールド座標系の3次元座標(X,Y,Z)と画像上のピクセル座標(u,v)の関係を同次座標表現で表した式ある。
ワールド座標系はXY平面が水平面で、Z軸が垂直方向になるようにする。(fx,fy)はピクセル単位の焦点距離、(cx,cy)はピクセル単位の光学中心、sはピクセルのせん断係数、R11~R33およびtx~tzはカメラの姿勢である。実際のカメラではレンズ歪みが発生し、歪みがない場合の画像上の座標(u,v)と歪みがある場合の座標(u’,v’)の関係を表した式で、k1とk2とk3は半径方向の歪み係数、p1とp2は円周方向の歪み係数である。カメラ内部パラメータは(fx,fy)、(cx,cy)、s、k1、k2、k3、p1、p2で、カメラ姿勢パラメータはR11~R33およびtx~tzである。
キャリブレーションの処理では、まず、ユーザがカメラでキャリブレーションパターンを撮影する。キャリブレーションパターンは、チェッカーパターンやドットパターンなど複数枚の画像パターンが含まれる。カメラで撮影されたこれらの画像パターンは録画装置103に格納される。撮影する枚数およびキャリブレーションパターンの位置は、10枚程度以上で画像上の色々な位置にパターンが映るようにするが望ましい。
さて、上記のように、録画装置103に用意されたキャリブレーションパターンの画像を入出力部21が読み込んで、画像メモリ22に格納する(S301)。
次に、ユーザの操作により入出力部21からキャリブレーションパターン間隔の長さが入力される(S302)。そして、画像メモリ22上のキャリブレーションパターンが映った画像からパターンを検出する(S303)。パターンの検出は例えば、「オープンソースのコンピュータビジョン向けライブラリであるOpenCV」を用いて行うことができる。そして、パターン間隔と検出したパターンを用いてカメラ内部パラメータを推定する(S304)。推定されたカメラ内部パラメータはカメラ内部パラメータ204にカメラIDと共に格納される(S305)。パラメータの推定には「EasyCalibの手法」を用いることができる。「オープンソースのコンピュータビジョン向けライブラリであるOpenCV」にも同様の手法が実装されている。
次に、カメラ姿勢パラメータについては、予め、カメラで3次元空間座標が既知の複数の点にマーカーをおいて撮影が行なわれる。マーカーの数については最低で4つ、6つ以上が望ましい。このように用意されたマーカーが入出力部21より読み込まれる(S306)。なお、カメラによって撮影される画像は、上記キャリブレーションパターンと同様に、録画装置103に格納され、入出力部21が録画装置から画像を逐次読み出して画像メモリ22に格納する。
次に、ユーザの操作により入出力部21からマーカーのワールド座標系の3次元座標および画像上で映っているピクセル座標を入力する(S307)。そして、入力した座標とカメラ内部パラメータからPnP問題を解くことでカメラ姿勢パラメータを推定し(S308)、カメラIDと共にカメラ姿勢パラメータ233に格納される(S309)。PnP問題については「オープンソースのコンピュータビジョン向けライブラリであるOpenCV」にその解法が実装されている。
エリア情報については、ユーザの操作により入出力部21からカメラに映るエリアの各地点の高さが入力されて、エリア情報234に格納される。
エリア情報については、ユーザの操作により入出力部21からカメラに映るエリアの各地点の高さが入力されて、エリア情報234に格納される。
ここで、図5A及び図5Bを参照して、エリア情報について説明する。図5Aはエリア高さを模式的に示し、図5Bはエリア情報テーブル(テーブル形式のエリア情報234)を示す。エリアの高さ(地面の高さ)が図5Aのようになっている場合、エリア情報234は、図5Bのエリア情報テーブル501のように、中央部が「100」mmの高さに表現されて、記憶部23に格納される。エリア情報テーブル501は、平面のエリアを表すXY座標を一定区切りごとにメッシュ状に区切り、XY座標における各メッシュのエリアの高さ(Z座標)で表現される。本実施例では、XY座標の区切りの大きさが「10」であるが、それぞれの実施に必要な精度に応じて変更することができる。このような高低差のあるエリアに複数の人物が居る状況で、カメラが撮影したエリアの画像を基に、人物の位置を推定する処理が行われる。
次に、図4を参照して、人物位置推定処理部25による人物位置推定の処理動作について説明する。図4に示す例は、ある時刻TのカメラA~Cにより取得された画像を用いて人物位置を推定する処理である。カメラA~Cにより取得された各画像が録画装置103に新たに格納される度に、その時刻Tを、新たに画像を格納した時刻に更新して繰り返し処理することで、現在時刻の人物位置を継続的に取得して人物位置を推定する。以下の各処理は、人物検出処理部252~人物推定位置表示処理部259の各処理部により行われる。
人物位置推定処理は、まず、以前の処理で使用された検出人物情報235および人物位置候補情報236の内容をクリアする(S401)。次に、入出力部21が、時刻TにおけるカメラA~Cの画像を録画装置103から取得して画像メモリ22に格納する(S402)。
人物検出処理部252が、画像メモリ22に格納されたカメラA~Cの画像に対して人物検出(S403)から単カメラ人物位置候補算出(S408)までの処理をそれぞれ実施する。画像から人物を検出する処理S403では、非特許文献1のような手法を使って検出することができる。検出した人物情報は、検出人物情報235(図6の検出人物情報テーブル601)のような形式で格納される。
図6に示すように、カメラ毎に固有のカメラIDが付与されて構成される検出人物情報テーブルは、画像から検出した各人物毎に人物IDが付与されてエントリが作成される。各エントリには、検出された画像上の位置を左上と右下のピクセル座標(X1pa,Y1pa)、特徴量Vpa,人物の推定身長Lpa,位置基準点(BXpa,BYpa,BZpa)、基準点推定高さ(Hpa)、及び直線式が書き込まれる。
人物特徴量計算処理部253が、各人物の特徴量を算出する処理S404において、検出した人物を元画像から切り出して、画像特徴量を算出する。画像特徴量は人物画像の色のヒストグラムを特徴量にする色特徴量や、深層学習を使った人物の年齢や性別や服装などの識別を行うニューラルネットワークの中間層の値などを特徴量として使用する。ニューラルネットワークを用いた特徴量は、例えば、いわゆるAlexNetやResNetなどのニューラルネットワークで人物を切り抜いた画像と年齢や性別や服装との対応を、誤差伝播法を用いて学習をしたものを用い、検出した人物画像をニューラルネットワークに入力したときの中間層の値を特徴量のベクトルとして用いる。算出した特徴量は、検出人物情報テーブル601の各検出人物IDのエントリに書き込まれる。
身長推定処理部254が、各人物の身長を推定する処理S405において、事前に深層学習を用いて人物画像と身長の関係を学習したニューラルネットワークを準備しておき、そのネットワークを用いて、検出した各人物画像を入力して身長を推定する。身長を推定するニューラルネットワークは、上記ニューラルネットワークと同様に、例えば、AlexNetやResNetなどのニューラルネットワークで人物を切り抜いた画像と身長との対応を、誤差伝播法を用いて学習したものである。また、本処理では、エリア内の人物が概ね同程度の身長である場合や、カメラの位置が高い場合は、事前に設定した固定の身長を推定身長とするような処理でも良い。推定した身長は、検出人物情報テーブル601の各検出人物IDのエントリに書き込まれる。
人物姿勢推定処理部255が、各人物の位置基準点を検出する処理S406において、人物位置の基準となるポイント(位置基準点)を検出する。位置基準点から地面に垂直におろした点を人物の座標とする。位置基準点は、障害物などで隠れにくく、かつどの方向から見ても検出しやすい箇所が良い。具体的には人物の画像から骨格を検出し骨格の位置や角度を基に人物の姿勢を推定するものであり、例えば人物の頭頂部や頭部の中心や両肩の中心の位置や角度を基に姿勢を推定する。頭頂部であれば、人物検出枠の上辺の中間点である(但し基本的に立っている姿勢であることが前提)。頭部の中心であれば、非特許文献2などの手法を用いて頭部を検出し、その検出枠の中心点である。両肩の中心であれば、非特許文献3の手法などで検出することができる。検出した位置基準点の画像上のピクセル座標は、検出人物情報テーブル601の各人物IDのエントリに書き込まれる。
人物姿勢推定処理部255が、人物位置基準点の地面からの高さを推定する処理S407において、推定した身長と、非特許文献3の手法で検出した人物の姿勢情報を基に、人物位置基準点の地面からの高さを推定する。身長から、頭部、上半身、下半身の長さを標準的な体格として計算し、検出された姿勢の傾きから基準点の高さを推定する。上半身、下半身が見えていない場合はその部分は垂直になっているとして推定する。推定した人物位置基準点の高さは、検出人物情報テーブル601の各人物検出IDのエントリに書き込まれる。
単カメラ人物位置候補計算処理部256が、単カメラの人物位置候補を算出する処理S408において、まず、カメラ内部パラメータおよびカメラ姿勢パラメータと検出人物情報テーブル601の人物位置基準点位置を基に、カメラと人物位置基準点を結ぶ直線を求める。求めた直線は検出人物情報テーブル601に書き込んでおく。直線を求めるには、数式1および数式2を用いて算出することができる。次に、求めた直線とエリア情報234を用いて、直線上の点から地面までの高さを求める。そして、直線上の点で、地面までの高さが推定した人物位置基準点の高さと一致する点を人物位置候補とする。高低差があるような場所の場合は、人物位置候補が複数になる場合がある。人物位置候補については、図7に示すように、カメラIDと人物IDごとに人物位置候補テーブル701(テーブル形式の人物位置候補情報236)が作成され、算出された人物位置候補は候補位置(X1,Y1,Z1)に格納される。さらに、人物位置候補テーブル701には、他のカメラで検出された人物位置候補がカメラIDと人物IDごとに格納される。
カメラA~Cの画像に対して、図4のフローチャートの人物検出S403から単カメラ人物位置候補算出S408までの処理が終了した後に、複数カメラ人物位置候補計算処理部257が、各カメラの情報を統合して複数カメラによる人物位置候補の算出の処理を行う(S409)。この処理S409は各カメラID、人物IDの組み合わせごとに行なわれる。処理を行うカメラID、人物IDの検出人物情報テーブル601からカメラと人物位置基準点の直線の式を読み出し、図8のフローチャートの処理を行う。
ここで、図8のフローチャートを参照する。処理S801からS806までの処理は、処理対象のカメラIDとは別の他のカメラIDの全ての人物IDごとに繰り返して実行される。
まず、2つの他カメラ(例えばカメラB,C)のカメラID、人物IDの組み合わせで、それぞれのカメラと人物基準点との直線の間の距離を計算する(S802)。次に、算出された距離と閾値を比較する(S803)。閾値は実施ごとに精度の良くなる適当な値を設定するものとする。比較の結果、距離が閾値以上の場合は(S803:No)、次のS801からS806の処理を繰り返し実行する。一方、距離が閾値以下の場合は(S803:Y)、次の処理S804に移る。
処理S804では、前記処理結果による距離の二直線間の中点を計算し、エリア情報から中点の地面からの高さを計算する。そして、その高さを想定人物基準点高さ範囲と比較する(S805)。この想定人物基準点高さ範囲は、ありえない高さ、例えばマイナスや人の身長を大きく超えるようなものを除外するために設定するもので、0cmから200cm程度が適当である。比較の結果、範囲外の場合は(S805:No)、次のS801からS806の処理を繰り返し実行する。一方、範囲内の場合は(S805:Y)、次の処理S806に移る。
処理S806では、計算した中点の座標を人物位置候補テーブル701のエントリに追加する。エントリの追加は、位置候補の座標に加えて、中点を計算したときのカメラIDと人物IDもテーブルに格納する。例えばカメラIDがA、人物IDがPaの処理対象に対して、カメラIDがB、人物IDがPbとの中点の位置候補Nbを追加する場合は、図7のエントリ702、即ち位置候補がNb、他カメラID人物IDが(B,Pb)のように、エントリが追加される。エントリの追加の際に、既に前の処理(S806)で追加されたエントリがあり、以前に追加されたエントリの位置候補と新しく追加する位置候補の距離が閾値以下の場合は、新しいエントリを追加するのではなく、以前に追加されたエントリを更新する。新しい位置候補は、以前に追加されているエントリの各座標と新しい位置候補の平均とする。他カメラID、人物IDには追記を行う。例えば、上記の例のエントリ702に、カメラIDがC、人物IDがPc、位置候補がNcのエントリを追加しようとして、NbとNcの距離が閾値以下の場合、更新されるエントリは703のように、位置候補がNnew(NbとNcの平均)、他カメラID,人物IDは(B,Pb),(C,Pc)となる。これらの位置関係を上方向から見下ろすと、図9のようになる。
ここで、図4の説明に戻って、複数カメラ人物位置候補計算処理部257が、複数カメラの人物位置候補の算出処理S409の次に、算出した各人物位置候補に対して尤度の計算処理を行う(S410)。人物位置候補テーブル701の各エントリについて、記憶部23からデータを読み出しながら、数式3に従って尤度を計算し、人物位置候補テーブル701の尤度を追加していく。例えば、エントリ703の尤度は数式4のように計算される。
数式3の、「人物PaとPbの類似度=e^(-(ベクトルVpaとVpbの距離))」において、ベクトルVpaとVpbが画像と画像特徴量であり、類似度は画像特徴量の類似度になる。すなわち、尤度は画像特徴量が似通うほど高くなる。
上記のように、位置候補の高さと推定人物基準位置の高さの近い方が、尤度が高くなり、また、他カメラに映っている位置候補付近の人物との類似度の高い方が、尤度が高くなるようになっている。そして、人物位置候補選択処理部258が、人物位置候補テーブル701の尤度をもとに人物位置の推定位置を決定する(S411)。推定位置の決定はカメラA~Cの各検出人物の人物位置候補テーブル701を順に調査して、尤度の最も高いものを人物推定位置とする。但し、人物位置候補テーブル701のエントリ703のようなエントリを、カメラIDがA、検出人物IDがPaの推定位置として選択した場合は、カメラIDがB、検出人物IDがPbおよびカメラIDがC、検出人物IDがPcの推定位置も同じとする。
最後に、人物推定位置表示処理部259が、算出した人物推定位置を表示装置105に表示する(S412)。すなわち、人物推定位置を水平面のXY座標に変換し、エリア情報から図5(a)のようなフロアマップを作成し、その上に人物推定位置をプロットしたものが、入出力部201を介して表示装置105に表示される。
101:カメラ 102:ネットワーク 103:録画装置
104:物体位置推定装置 105:表示装置 21:入出力部
22:画像メモリ 23:記憶部
232:カメラ内部パラメータ 233:カメラ姿勢パラメータ
234:エリア情報 235:検出人物情報 236:人物位置候補情報
24:カメラパラメータ推定処理部
242:カメラ内部パラメータ推定処理部
243:カメラ姿勢パラメータ推定処理部
25:人物位置推定処理部 252:人物検出処理部
253:人物特徴量計算処理部 254:身長推定処理部
255:人物姿勢推定処理部 256:単カメラ人物位置候補計算処理部
257:複数カメラ人物位置候補計算処理部
258:人物位置候補選択処理部 259:人物推定位置表示処理部
104:物体位置推定装置 105:表示装置 21:入出力部
22:画像メモリ 23:記憶部
232:カメラ内部パラメータ 233:カメラ姿勢パラメータ
234:エリア情報 235:検出人物情報 236:人物位置候補情報
24:カメラパラメータ推定処理部
242:カメラ内部パラメータ推定処理部
243:カメラ姿勢パラメータ推定処理部
25:人物位置推定処理部 252:人物検出処理部
253:人物特徴量計算処理部 254:身長推定処理部
255:人物姿勢推定処理部 256:単カメラ人物位置候補計算処理部
257:複数カメラ人物位置候補計算処理部
258:人物位置候補選択処理部 259:人物推定位置表示処理部
Claims (11)
- 入出力部と、記憶部と、処理部とを有し、複数のカメラにより取得される移動物体の画像を基に移動物体の3次元空間における位置を推定する物体位置推定装置であって、
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第1処理部と、
前記検出した移動物体の高さを推定する第2処理部と、
前記移動物体の画像と前記第2処理部により推定された推定高さを基に、前記位置基準点の高さを推定する第3処理部と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第3処理部により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第4処理部と、
前記エリアにおける高さと、前記第3処理部により推定された前記位置基準点の高さと、前記第4処理部により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第5処理部と、
前記第5処理部により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第6処理部と、を有する
ことを特徴とする物体位置推定装置。 - 前記移動物体は人物であり、前記第2処理部は固定の長さを人物の推定身長とする
請求項1に記載の物体位置推定装置。 - 前記第3処理部による位置基準点の高さを推定する処理において、検出した前記移動物体の画像から骨格を検出し骨格の位置や角度を基に前記移動物体の姿勢を推定して、前記推定高さと合わせて前記位置基準点の高さを推定する
請求項1に記載の物体位置推定装置。 - 検出された前記移動物体の画像の特徴量を計算する第7処理部を有し、
前記第5処理部は、前記第7処理部により計算される前記特徴量を用いて、前記推定位置候補の尤度を計算する
請求項1に記載の物体位置推定装置。 - 前記記憶部は、
前記エリアを所定の長さで区切った平面座標と、前記エリアにおける各地点の高さを該平面座標における高さ座標として表現した、エリア情報を管理するエリア情報テーブルと、
前記カメラの内部パラメータと前記カメラの姿勢パラメータを管理するパラメータテーブルとを記憶する、
請求項1に記載の物体位置推定装置。 - 前記記憶部は、
前記画像から検出された各物体に付与される物体IDに関連付けて、検出された画像の位置を示す座標と、前記特徴量と、前記移動物体の推定高さと、前記位置基準点と、前記基準点推定高さと、を管理する検出物体情報テーブルと、
前記カメラに固有なカメラIDと、前記物体IDと、前記物体位置を三次元座標で表す物体推定位置候補の情報と、を管理する物体位置候補情報テーブルとを記憶する、
請求項1に記載の物体位置推定装置。 - 入出力部と、記憶部と、処理部とを有し、複数のカメラにより取得される移動物体の画像を基に移動物体の3次元空間における位置を推定する物体位置推定方法であって、
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第1処理と、
前記検出した移動物体の高さを推定する第2処理と、
前記移動物体の画像と前記第2処理により推定された推定高さを基に、前記位置基準点の高さを推定する第3処理と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第3処理により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第4処理と、
前記エリアにおける高さと、前記第3処理により推定された前記位置基準点の高さと、前記第4処理により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第5処理と、
前記第5処理により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第6処理と、を行う
ことを特徴とする物体位置推定方法。 - 前記移動物体は人物であり、前記第2処理は固定の長さを人物の推定身長とする
請求項7に記載の物体位置推定方法。 - 前記第3処理による位置基準点の高さを推定する処理において、検出した前記移動物体の画像から骨格を検出し骨格の位置や角度を基に前記移動物体の姿勢を推定して、前記推定高さと合わせて前記位置基準点の高さを推定する
請求項7に記載の物体位置推定方法。 - 検出された前記移動物体の画像の特徴量を計算する第7処理を有し、
前記第5処理は、前記第7処理により計算される前記特徴量を用いて、前記推定位置候補の尤度を計算する
請求項7に記載の物体位置推定方法。 - 前記記憶部は、
前記画像から検出された各物体に付与される物体IDに関連付けて、検出された画像の位置を示す座標と、前記特徴量と、前記移動物体の推定高さと、前記位置基準点と、前記基準点推定高さと、を管理する検出物体情報テーブルと、
前記カメラに固有なカメラIDと、前記物体IDと、前記物体位置を三次元座標で表す物体推定位置候補の情報と、を管理する物体位置候補情報テーブルとを記憶する、
請求項7に記載の物体位置推定方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019017210A JP7096176B2 (ja) | 2019-02-01 | 2019-02-01 | 物体位置推定装置およびその方法 |
US17/278,090 US20210348920A1 (en) | 2019-02-01 | 2019-09-10 | Object Position Estimation Device and Method Therefor |
PCT/JP2019/035450 WO2020158035A1 (ja) | 2019-02-01 | 2019-09-10 | 物体位置推定装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019017210A JP7096176B2 (ja) | 2019-02-01 | 2019-02-01 | 物体位置推定装置およびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020126332A JP2020126332A (ja) | 2020-08-20 |
JP7096176B2 true JP7096176B2 (ja) | 2022-07-05 |
Family
ID=71840059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019017210A Active JP7096176B2 (ja) | 2019-02-01 | 2019-02-01 | 物体位置推定装置およびその方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210348920A1 (ja) |
JP (1) | JP7096176B2 (ja) |
WO (1) | WO2020158035A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023079012A (ja) * | 2021-11-26 | 2023-06-07 | 日立Astemo株式会社 | 外界認識装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017103602A (ja) | 2015-12-01 | 2017-06-08 | キヤノン株式会社 | 位置検出装置、位置検出方法及びプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001056853A (ja) * | 1999-08-19 | 2001-02-27 | Matsushita Electric Ind Co Ltd | 挙動検出装置および種類識別装置、並びに挙動検出方法および挙動検出用プログラムが記録された記録媒体 |
JP4002919B2 (ja) * | 2004-09-02 | 2007-11-07 | 技研トラステム株式会社 | 移動体高さ判別装置 |
EP2808645B1 (en) * | 2012-01-23 | 2019-02-20 | Nec Corporation | Camera calibration device, camera calibration method, and camera calibration program |
WO2017130770A1 (ja) * | 2016-01-29 | 2017-08-03 | 学校法人明治大学 | レーザスキャンシステム、レーザスキャン方法、移動レーザスキャンシステム及びプログラム |
JP7083809B2 (ja) * | 2016-08-02 | 2022-06-13 | アトラス5ディー, インコーポレイテッド | プライバシーの保護を伴う人物の識別しおよび/または痛み、疲労、気分、および意図の識別および定量化のためのシステムおよび方法 |
US10372970B2 (en) * | 2016-09-15 | 2019-08-06 | Qualcomm Incorporated | Automatic scene calibration method for video analytics |
JP6961363B2 (ja) * | 2017-03-06 | 2021-11-05 | キヤノン株式会社 | 情報処理システム、情報処理方法及びプログラム |
-
2019
- 2019-02-01 JP JP2019017210A patent/JP7096176B2/ja active Active
- 2019-09-10 US US17/278,090 patent/US20210348920A1/en active Pending
- 2019-09-10 WO PCT/JP2019/035450 patent/WO2020158035A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017103602A (ja) | 2015-12-01 | 2017-06-08 | キヤノン株式会社 | 位置検出装置、位置検出方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20210348920A1 (en) | 2021-11-11 |
JP2020126332A (ja) | 2020-08-20 |
WO2020158035A1 (ja) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200096317A1 (en) | Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium | |
US8073200B2 (en) | Information processing apparatus, information processing method, and computer program | |
EP1596332A2 (en) | Information processing method and apparatus for finding position and orientation of targeted object | |
TW201424345A (zh) | 相機位置姿態評價裝置、相機位置姿態評價方法 | |
JP7379065B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2016170610A (ja) | 三次元モデル処理装置およびカメラ校正システム | |
WO2019013204A1 (ja) | 情報を提示する情報処理装置、情報処理方法及びプログラム | |
US11004211B2 (en) | Imaging object tracking system and imaging object tracking method | |
CN110869978A (zh) | 信息处理装置和信息处理方法 | |
JP6922348B2 (ja) | 情報処理装置、方法、及びプログラム | |
JP7414395B2 (ja) | 情報投影システム、制御装置、及び情報投影制御方法 | |
JP7178803B2 (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
JP7096176B2 (ja) | 物体位置推定装置およびその方法 | |
US20210327160A1 (en) | Authoring device, authoring method, and storage medium storing authoring program | |
CN113052907A (zh) | 一种动态环境移动机器人的定位方法 | |
JP6659095B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP6374812B2 (ja) | 三次元モデル処理装置およびカメラ校正システム | |
US20220343661A1 (en) | Method and device for identifying presence of three-dimensional objects using images | |
JP6810442B2 (ja) | カメラアセンブリ、そのカメラアセンブリを用いる手指形状検出システム、そのカメラアセンブリを用いる手指形状検出方法、その検出方法を実施するプログラム、及び、そのプログラムの記憶媒体 | |
JP2922503B1 (ja) | 3次元座標検出方法 | |
JP6548683B2 (ja) | 対象物画像推定装置および対象物画像判定装置 | |
CN111882601A (zh) | 定位方法、装置及设备 | |
WO2019116518A1 (ja) | 物体検出装置及び物体検出方法 | |
JP7452768B2 (ja) | 撮像システム、および撮像方法 | |
WO2023054661A1 (ja) | 注視位置分析システム及び注視位置分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210325 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220623 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7096176 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |