JP2017103607A - 画像処理装置、画像処理方法及びプログラム - Google Patents
画像処理装置、画像処理方法及びプログラム Download PDFInfo
- Publication number
- JP2017103607A JP2017103607A JP2015235101A JP2015235101A JP2017103607A JP 2017103607 A JP2017103607 A JP 2017103607A JP 2015235101 A JP2015235101 A JP 2015235101A JP 2015235101 A JP2015235101 A JP 2015235101A JP 2017103607 A JP2017103607 A JP 2017103607A
- Authority
- JP
- Japan
- Prior art keywords
- subject
- camera
- image
- acquired
- cameras
- 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.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】被写体の態様を示す描画オブジェクトを容易かつ正確にカメラ画像に重畳できるようにする。【解決手段】被写体が存在する可能性のある存在領域をカメラ画像内で予め設定し、存在領域と床面に投影した被写体の位置とを比較する。そして、床面に投影した被写体の位置が、遮蔽物が存在しない存在領域である場合には、被写体の軌跡を示す動線を実線で示し、遮蔽物によって隠れる位置である場合には、動線を点線で示す。また、人物の属性を示す人物シンボルも存在領域に存在するか否かによって表示態様を変更するようにする。【選択図】図1
Description
本発明は、特に、被写体に関する描画オブジェクトをカメラ画像に表示するために用いて好適な画像処理装置、画像処理方法及びプログラムに関する。
従来、監視カメラシステムにおいて、複数のカメラを監視領域に配置し、複数のカメラで同一の被写体を同時に撮像することにより、被写体の3次元的な位置(以下、3次元位置)を推定する手法が知られている。例えば、特許文献1には、カメラの位置及び姿勢と、カメラ画像上の被写体の位置とから、ステレオ視の原理で被写体の3次元位置を推定する方法が開示されている。また、カメラ画像へ被写体の位置を重畳表示する技術として、特許文献2には、追跡対象物(人物)の軌跡を表す動線をカメラ画像に重ねて表示する技術が開示されている。この技術においては、カメラ画像中に追跡対象物が映っているか否かによって追跡対象物が遮蔽物の手前に存在するか否かを判定し、判定結果に応じて動線の表示種別を変更している。
Zhengyou Zhang「A Flexible New Technique for Camera Calibration」,IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330−1334, 2000
Pierre Moulon, Pascal Monasse, and Renaud Marlet「Adaptive structure from motion with a contrario model estimation」ACCV2012
M.D.Breitenstein et al.,「Robust tracking−by−detection using a detector confidence particle filter」,ICCV2009
特許文献2に記載の方法は、画像認識による物体検出の結果に基づいて被写体が遮蔽物の手前に存在するか否かを判定している。しかしながら、外乱光や低照度、混雑、被写体の部分的な隠れ等によって画像認識の精度が低下する環境では、被写体が遮蔽物の手前に存在しているか否かを正しく判定することができない。このため、被写体の移動履歴を表す動線の表示種別を正しく選択することができない。また、特許文献2に記載の方法では、遮蔽物の3次元モデルデータを事前に設定することによって、被写体が遮蔽物の手前に存在するか否かを判定しているが、3次元モデルデータを設定するのに多くの手間がかかってしまう。
本発明は前述の問題点に鑑み、被写体の態様を示す描画オブジェクトを容易かつ正確にカメラ画像に重畳できるようにすることを目的としている。
本発明に係る画像処理装置は、複数のカメラからカメラ画像をそれぞれ取得する画像取得手段と、前記複数のカメラでそれぞれ撮影されたカメラ画像内において被写体が存在可能な存在領域の情報を取得する存在領域取得手段と、前記画像取得手段によって前記複数のカメラからそれぞれ取得されたカメラ画像に基づいて前記被写体の3次元的な位置の情報を取得する位置取得手段と、前記位置取得手段によって取得された被写体の3次元的な位置に基づいて、前記画像取得手段によって取得されたそれぞれのカメラ画像に、前記被写体の態様を示す描画オブジェクトを描画する描画手段と、前記描画手段によって前記描画オブジェクトが描画されたカメラ画像を表示手段に表示する表示制御手段とを備え、前記描画手段は、前記被写体の3次元的な位置と前記存在領域取得手段によって取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とする。
本発明によれば、被写体の態様を示す描画オブジェクトを容易かつ正確にカメラ画像に重畳するができる。
以下、本発明の実施形態について、図面を参照しながら説明する。なお、本実施形態では、被写体として人物を例に説明するが、例えば、車両、動物など他の被写体を対象としてもよい。
図2は、本実施形態に係る画像処理装置100のハードウェア構成例を示すブロック図である。
図2において、第1のカメラ201〜第nのカメラ20nは、それぞれCCD、CMOS等で構成され、被写体像を光から電気信号に変換するための撮像素子を備えたカメラであり、2台以上存在する。信号処理回路212は、第1のカメラ201〜第nのカメラ20nのそれぞれから得られた被写体像に関する時系列信号を処理し、デジタル信号に変換する回路である。
図2において、第1のカメラ201〜第nのカメラ20nは、それぞれCCD、CMOS等で構成され、被写体像を光から電気信号に変換するための撮像素子を備えたカメラであり、2台以上存在する。信号処理回路212は、第1のカメラ201〜第nのカメラ20nのそれぞれから得られた被写体像に関する時系列信号を処理し、デジタル信号に変換する回路である。
CPU213は、ROM214に格納されている制御プログラムを実行することにより、画像処理装置100全体の制御を行う。ROM214は、CPU213が実行する制御プログラムや各種パラメータデータ等を格納する。制御プログラムは、CPU213で実行されることにより、後述するフローチャートに示す各処理を実行するための各種手段として、画像処理装置100を機能させる。RAM215は、画像データや各種情報などを記憶する。また、RAM215は、CPU213のワークエリア及びデータの一時待避領域として機能する。ディスプレイ216は、画像及び各種情報を表示するための表示部である。入力装置217は、マウス等のポインティングデバイスや、キーボード等であり、ユーザからの入力を受け付ける。
なお、本実施形態では、後述するフローチャートの各ステップに対応する処理を、CPU213を用いてソフトウェアで実現することとするが、その処理の一部または全部を電子回路などのハードウェアで実現するようにしても構わない。また、本実施形態に係る画像処理装置100は、第1のカメラ201〜第nのカメラ20n及び信号処理回路212を省いて汎用PCを用いて実現してもよいし、専用装置として実現するようにしても構わない。
図1は、本実施形態に係る画像処理装置100の機能構成例を示すブロック図である。
図1において、カメラ情報取得部113は、カメラキャリブレーションを行うことにより、第1のカメラ201〜第nのカメラ20nのそれぞれの内部パラメータ、位置、及び姿勢に関する設定情報(カメラ情報)を取得し、カメラ情報記憶部105に記憶する。
画像取得部101は、第1のカメラ201〜第nのカメラ20nのそれぞれから画像データ(以下、カメラ画像)を取得する。
図1において、カメラ情報取得部113は、カメラキャリブレーションを行うことにより、第1のカメラ201〜第nのカメラ20nのそれぞれの内部パラメータ、位置、及び姿勢に関する設定情報(カメラ情報)を取得し、カメラ情報記憶部105に記憶する。
画像取得部101は、第1のカメラ201〜第nのカメラ20nのそれぞれから画像データ(以下、カメラ画像)を取得する。
被写体位置取得部102は、被写体の3次元的な位置(以下、3次元位置)を推定し、被写体位置記憶部106に被写体の3次元位置を記憶する。被写体位置取得部102は、画像検出部103と3次元位置推定部104とで構成される。
画像検出部103は、カメラ画像中の被写体を検出するとともに、検出した被写体を追尾する。また、同一被写体であることを識別するための追尾ラベルを被写体ごとに付与する。本実施形態では、検出する被写体は人物とする。
3次元位置推定部104は、画像検出部103により追尾された被写体とカメラ情報記憶部105に記憶されたカメラ情報とから被写体の3次元位置を推定する。
3次元位置推定部104は、画像検出部103により追尾された被写体とカメラ情報記憶部105に記憶されたカメラ情報とから被写体の3次元位置を推定する。
被写体位置記憶部106は、被写体位置取得部102により推定された被写体の3次元位置の情報を記憶する。
存在領域記憶部107は、カメラ画像中の存在領域を記憶する。ここで、存在領域とは、カメラ画像中で被写体が存在可能な領域である。本実施形態では、例えば、家具や壁などが存在しない領域であって、人物が通行可能な床面領域を存在領域とする。
存在領域取得部108は、カメラ画像中の存在領域の情報を取得し、存在領域記憶部107に記憶する。
存在領域記憶部107は、カメラ画像中の存在領域を記憶する。ここで、存在領域とは、カメラ画像中で被写体が存在可能な領域である。本実施形態では、例えば、家具や壁などが存在しない領域であって、人物が通行可能な床面領域を存在領域とする。
存在領域取得部108は、カメラ画像中の存在領域の情報を取得し、存在領域記憶部107に記憶する。
描画部109は、被写体の位置に基づいてカメラ画像に被写体の態様を示す描画オブジェクトを描画する。描画オブジェクトは、本実施形態では、描画部109は、描画オブジェクトとして被写体の動線と被写体の属性を示すシンボルとをカメラ画像に描画する。描画部109は、動線描画部110と被写体シンボル描画部111とで構成される。
動線描画部110は、存在領域記憶部107、被写体位置記憶部106、及びカメラ情報記憶部105に記憶された情報に基づいて、カメラ画像に人物の動線を描画する。被写体シンボル描画部111は、存在領域記憶部107、被写体位置記憶部106、及びカメラ情報記憶部105に記憶された情報に基づいて、カメラ画像に被写体の属性を示す人物シンボルを描画する。
表示制御部112は、被写体の検出結果及び3次元位置をカメラ画像とともにディスプレイ216に表示する制御を行う。
表示制御部112は、被写体の検出結果及び3次元位置をカメラ画像とともにディスプレイ216に表示する制御を行う。
図4は、本実施形態に係る動作を説明するためのフローチャートである。本実施形態では、図3に示すように、2台のカメラ(第1のカメラ201及び第2のカメラ202)が、視野301が重複するように設置されているものとする。なお、カメラの台数はこれに限らず、3台以上であってもよい。
まず、ステップS401において、カメラ情報取得部113は、カメラキャリブレーションを行うことにより、第1のカメラ201及び第2のカメラ202の内部パラメータ、位置、及び姿勢の情報を取得する。ここで、内部パラメータとは、カメラの焦点距離であり、カメラの位置及び姿勢とともに後述する被写体の3次元位置の推定に利用される。
図5は、キャリブレーションの概要を説明するため図である。まず、図5(a)に示すように、キャリブレーションボード501を環境に設置し、非特許文献1に記載の手法により各カメラの内部パラメータを算出する。さらに、図5(b)に示すように、環境に設置された多数のキャリブレーションボード501を複数のカメラで同時に観測することによって、カメラの位置及び姿勢を推定する。カメラ情報取得部113は、このような手順で得られたカメラ情報をカメラ情報記憶部105に記憶する。
本実施形態では、環境に設置された多数のキャリブレーションボードを用いてカメラの位置及び姿勢を推定した。一方、非特許文献2に記載の手法を用いてカメラの位置及び姿勢の情報を取得してもよい。具体的には、各カメラのカメラ画像中のコーナーやSIFT特徴等の特徴点を抽出し、これらの特徴点群を画像間で対応付けた後、カメラの位置、姿勢、及び点群の位置を求めることによってカメラの位置及び姿勢の情報を取得してもよい。また、カメラの内部パラメータと、カメラの位置及び姿勢とを同時に算出してもよい。
次に、ステップS402において、存在領域取得部108は、カメラ画像中の存在領域の情報を入力装置217から取得する。具体的には、表示制御部112は、例えば図6(a)に示すような存在領域入力画面601をディスプレイ216に表示し、ユーザに存在領域を指示させるようにする。本実施形態では、存在領域は床面領域であり、カメラ画像602中のどこが床面であるかをユーザに指示させる。
図6(a)に示すように、存在領域入力画面601は、カメラ画像602、操作ボタン603、及びマウスポインタ604で構成される。ユーザは、入力装置217であるマウスでマウスポインタ604を移動させ、操作ボタン603をクリックすることによって、ペン、消しゴム、多角形、及び閉曲面のいずれかの存在領域の指定方法を選択する。そして、選択した存在領域の指定方法に応じて、カメラ画像602上でクリック操作やドラッグ操作を行うことにより、カメラ画像602中の存在領域を指定する。なお、存在領域を入力するために用いられるカメラ画像602は、カメラ設置時に予め撮影されたものを用いる。
存在領域の指定方法は、具体的には以下の通りである。ペンを選択した場合は、ドラッグしたマウスポインタ604の軌跡を存在領域に指定する。消しゴムを選択した場合は、ドラッグしたマウスポインタ604の軌跡を非存在領域に指定することによって存在領域を指定する。多角形を選択した場合は、クリックによって多角形の頂点を指定し、その多角形内を存在領域に指定する。閉曲面を選択した場合は、ドラッグによって閉曲線を指定し、その閉曲線内を存在領域に指定する。このように環境に応じて存在領域の形状を正確に入力できるようにしている。壁や家具などは直線形状で構成されることが多いため、多角形で領域を指定できるようにし、ユーザに効率良く存在領域を指定することができるようにしている。
図6(a)に示す例では、ユーザによって入力された存在領域605が斜線で示されている。ユーザがマウスでマウスポインタ604を移動させ、入力完了の操作ボタンをクリックすることにより存在領域が確定し、図6(b)に示すような存在領域画像が得られる。存在領域画像は、存在領域を1の値とし、その他の領域を0の値としたマスク画像である。存在領域取得部108は、以上の手順によって存在領域画像を取得し、存在領域記憶部107に記憶する。ユーザは、カメラの台数分存在領域を指定し、カメラの台数分行だけ存在領域画像が得られる。
なお、本実施形態では、存在領域取得部108は、入力装置217から存在領域の情報を入力する構成としたが、他の記憶装置に記憶された存在領域画像を読み出す構成としてもよく、通信によって外部装置から存在領域画像を取得する構成としてもよい。
次に、ステップS403において、画像取得部101は、第1のカメラ201及び第2のカメラ202のそれぞれからフレーム単位でカメラ画像を取得する。本実施形態では、カメラ数が2つであるため、2枚のカメラ画像を取得する。なお、カメラ画像を取得するタイミングとしては、すべてのフレームをカメラ画像として取得すると膨大な量のデータを保持する必要があるため、例えば1秒ごとにカメラ画像を取得するようにする。
次に、ステップS404において、画像検出部103は、ステップS403で取得されたカメラ画像から人物を検出し、過去に取得されたカメラ画像における人物の検出結果に基づいて、その人物の追尾を行う。この処理では、まず、画像検出部103は、カメラ画像から人物の頭部領域を抽出する。この処理により、人物領域を示す矩形の代表点座標(x,y)と、矩形の高さh及び幅wとを得る。さらに現在の人物領域と過去の同一人物の人物領域とを対応付けることよって、複数時刻にわたって同一被写体を追尾する。この処理の結果、人物ごとに追尾ラベルiを得る。ここで、追尾ラベルiとは、それぞれの追尾される人物を識別するための符号である。被写体を検出し、追尾する手法として例えば非特許文献3に記載の手法を用いる。
次に、ステップS405において、3次元位置推定部104は、複数のカメラ画像を用いて人物の3次元位置を推定する。以下、ステップS405の処理の詳細について図7を参照しながら説明する。
図7は、ステップS405において3次元位置推定部104が行う詳細な処理手順の一例を示すフローチャートである。
まず、ステップS701において、ステップS404で検出された人物を2つのカメラ画像間で対応付ける。具体的には、あるカメラ画像で検出された人物が、他のカメラ画像のどの人物に対応するかを探索する。
まず、ステップS701において、ステップS404で検出された人物を2つのカメラ画像間で対応付ける。具体的には、あるカメラ画像で検出された人物が、他のカメラ画像のどの人物に対応するかを探索する。
カメラ画像間における人物の対応付けは、人物領域の代表点をエピポーラ幾何によって対応付けることにより行われる。例えば、図8に示す第1のカメラ画像の人物Aの代表点は、第2のカメラ画像ではエピポーラ線801と呼ばれる直線で表される。第1のカメラ画像と第2のカメラ画像との間の位置関係の情報を含む基礎行列Fは、カメラ情報記憶部105に記憶されているカメラ情報の中のカメラの位置、姿勢、及び内部パラメータから計算できる。さらに、第1のカメラ画像の人物Aの2次元座標を表すベクトルをxとすると、第2のカメラ画像上のエピポーラ線lは以下の式(1)で表される。
l=Fx ・・・式(1)
l=Fx ・・・式(1)
第2のカメラ画像の人物の代表点とエピポーラ線801との間の距離が一定値以下の場合は、この第2のカメラ画像の人物と第1のカメラ画像の人物Aとで対応することになる。例えば、図8において、第1のカメラ画像の人物Aは、第2のカメラ画像上では人物Bに対応する。次に、2つのカメラ画像間で対応付く人物の組を生成する。例えば、図8において、人物Aが人物Bに対応し、人物Cが人物Dに対応する場合には、組{A,B}と組{C,D}との情報を生成する。なお、カメラが3台以上設置されている場合には、2つのカメラのすべての組合せでステップS601の処理を行う。
次に、ステップS702において、ステップS701で対応付けた人物の組からその人物の3次元位置を推定する。具体的には、まず、図9に示すように、各カメラ画像に対し、カメラ中心901と人物領域の代表点902とを通る3次元空間中の直線を求める。この直線は、カメラの位置、姿勢、内部パラメータおよび代表点902の画像上の座標より求めることができる。次に、各カメラの直線の交点903を求め、この交点903の座標を人物の3次元位置とする。なお、直線の推定誤差により、実際にはこれらの直線が1点で交わらない場合がある。この場合には、各直線からの距離の和が最小になる点を交点の代わりに採用する。
次に、ステップS703において、ステップS702で推定された3次元位置から多カメラ間の被写体対応を求める。ステップS702の段階では、2つのカメラ間でしか対応付けを行っていないため、同一被写体にもかかわらず複数の点として3次元位置が推定されている。そのため、ステップS703では、同一被写体における複数の点(3次元位置)を1つにまとめる。なお、ステップS703の処理は、カメラが3台以上設置されている場合に行われる処理であり、カメラが2台しか設置されていない場合はこの処理は不要である。まず、ステップS702で推定した3次元位置同士の距離が互いに閾値以下であるグループを探索する。そして、これらのグループに属する2つのカメラ間で対応する被写体を、多カメラ間で対応付く被写体とする。さらに、そのグループに属する3次元位置の平均を求め、この平均をこのグループの代表の3次元位置とする。
図4の説明に戻り、次に、ステップS406において、被写体位置取得部102は、検出した人物の3次元位置の座標を、その人物の追尾ラベル及びその人物固有のID(人物ラベル)とともに被写体位置記憶部106に記憶する。ここで、追尾ラベルは、ステップS404において、各カメラで人物の追尾により得られる人物領域に付与されたラベルであり、同一人物であってもカメラが異なる場合には割り当てられる符号は異なる。一方、人物ラベルとは、カメラが異なっている場合であっても同一人物なら同じになるように割り当てられる符号である。
ステップS406で被写体位置記憶部106に記憶される人物ラベルは、被写体位置取得部102によって追尾ラベルから生成される。過去に生成された追尾ラベルは、その追尾ラベルに対応する人物ラベルと共に被写体位置記憶部106に記憶されている。そこで、追尾ラベルから人物ラベルを得るには、ある追尾ラベルに対応する人物ラベルを被写体位置記憶部106から探索すればよい。
一方、今回の処理によって新たに追尾ラベルが生成された場合には、その追尾ラベルに対応する人物ラベルを新たに生成する。そして、被写体位置記憶部106にこの人物ラベルと追尾ラベルとを記憶する。その際、ステップS701またはS703の処理によって、ある追尾ラベルが他のカメラのどの追尾ラベルと対応しているかを判別できるため、対応する追尾ラベルで共通する人物ラベルを生成する。
次に、ステップS407において、動線描画部110は、人物の動線をカメラ画像に重畳する。以下、ステップS407の詳細な処理について、図10を参照しながら説明する。
図10は、ステップS407において動線描画部110が行う詳細な処理手順の一例を示すフローチャートである。
まず、ステップS1001のループにおいては、ステップS1002からステップS1010について、被写体位置記憶部106に3次元位置が記憶されているそれぞれの人物を処理対象とし、人物の数(人物ラベルの数)だけ処理を繰り返す。
図10は、ステップS407において動線描画部110が行う詳細な処理手順の一例を示すフローチャートである。
まず、ステップS1001のループにおいては、ステップS1002からステップS1010について、被写体位置記憶部106に3次元位置が記憶されているそれぞれの人物を処理対象とし、人物の数(人物ラベルの数)だけ処理を繰り返す。
次に、ステップS1002のループにおいては、ステップS1003からステップS1009の処理を、時間t=0,・・・,Tのそれぞれの時間の分だけ繰り返す。ただし、Tは描画する動線の長さを表す定数であり、後の処理において、動線を現在よりも時間Tだけ前の時刻から現在の時刻(t=0)について描画する。また、時間の間隔はステップS403でカメラ画像を取得する間隔と同じとする。
まず、ステップS1003において、被写体位置記憶部106から現在から時間tだけ前の時刻の人物の3次元座標を読み出す。
次に、ステップS1004において、ステップS1003で取得した人物の3次元座標から、この人物の足もとの3次元座標を算出する。具体的には、人物の3次元座標を、床面を構成する平面に並行投影することによって、足もとの3次元座標が得られる。例えば、図11(a)に示すように、高さ方向をz軸として人物の頭部の3次元座標を(x,y,z)とすると、床面のz座標は0であるため、足もとの3次元座標は(x,y,0)となる。なお、この例では高さ方向と座標軸とが並行であるものとしているが、必ずしも平行である必要はない。
次に、ステップS1004において、ステップS1003で取得した人物の3次元座標から、この人物の足もとの3次元座標を算出する。具体的には、人物の3次元座標を、床面を構成する平面に並行投影することによって、足もとの3次元座標が得られる。例えば、図11(a)に示すように、高さ方向をz軸として人物の頭部の3次元座標を(x,y,z)とすると、床面のz座標は0であるため、足もとの3次元座標は(x,y,0)となる。なお、この例では高さ方向と座標軸とが並行であるものとしているが、必ずしも平行である必要はない。
ステップS1005のループにおいては、ステップS1006からステップS1008までの処理を、カメラ画像ごとに繰り返す。
まず、ステップS1006において、ステップS1004で算出した足もとの3次元座標を処理対象のカメラ画像に投影し、カメラ画像上の足もとの座標を算出する。3次元座標からカメラ画像へ投影する射影変換行列は、カメラ情報記憶部105に記憶されたカメラ情報から計算できる。
次に、ステップS1007において、足もとの座標が存在領域にあるか否かによって動線種別を決定する。具体的には、ステップS1006で算出した足もとのカメラ画像上の座標と、図4のステップS402で取得した存在領域画像とから、足もとのカメラ画像上の座標が存在領域に存在するか否かを判定する。そして、存在領域に存在する場合は存在領域動線種別を選択し、存在領域に存在しない場合は非存在領域動線種別を選択する。例えば、図11(b)に示す例では、足もとのカメラ画像上の座標を存在領域画像に投影した結果、足もと位置1101が存在領域に含まれるため、存在領域動線種別を選択する。
次に、ステップS1008において、ステップS1007で選択した動線種別に応じて、カメラ画像上の足もとの座標の点をつなぎ合わせてカメラ画像に線を描画する。なお、最初のループ(t=0)の場合は、つなぎ合わせる座標が存在しないため、足もとの座標をそのままカメラ画像にプロットする。
図12(a)は、動線描画部110によって動線が描画されたカメラ画像の一例を示す図である。図12(a)に示すように、動線上において、足もとの座標の点が存在領域にある場合(存在領域動線種別が選択されている場合)にはその部分を実線1201で描画する。一方、足もとの座標の点が非存在領域に存在する場合(非存在領域動線種別が選択されている場合)にはその部分を破線1202で描画する。また、描画する線の色は、人物ラベルに基づいて一意の色を決定する。具体的には、事前に人物ラベルからRGB色に変換するルックアップテーブルを用意しておき、このルックアップテーブルを参照することによって一意の色を決定する。
本実施形態では、図12(a)に示すように、非存在領域の動線を破線1202で描画したが、図12(b)に示すように、線種として非存在領域は線を描画しないようにしてもよい。また、存在領域と非存在領域とで線種を区別する以外に、存在領域の動線の色を基に明度、彩度、色相、透明度などを変えた色を用いて非存在領域の動線を表現してもよい。また、線種として、細線や太線など、線の形状といった表示態様を変えてもよい。
図4の説明に戻り、次のステップS408において、被写体シンボル描画部111は、人物の位置を示す人物シンボルをカメラ画像に重畳する。人物シンボルとは、人物の位置や人物ラベルなどの属性を画像上に表示するための表示物である。以下、ステップS408の詳細な処理について図13を参照しながら説明する。
図13は、ステップS408において被写体シンボル描画部111が行う詳細な処理手順の一例を示すフローチャートである。
ステップS1301のループにおいては、ステップS1302からステップS1309について、被写体位置記憶部106に3次元位置が記憶されているそれぞれの人物を処理対象とし、人物の数(人物ラベルの数)だけ処理を繰り返す。
ステップS1301のループにおいては、ステップS1302からステップS1309について、被写体位置記憶部106に3次元位置が記憶されているそれぞれの人物を処理対象とし、人物の数(人物ラベルの数)だけ処理を繰り返す。
まず、ステップS1302において、被写体位置記憶部106から現在の時刻(t=0)における人物の3次元座標を読み出す。
次に、ステップS1303において、図14(a)に示すように、ステップS1302で取得した人物の3次元座標から、この人物の足ものとの3次元座標を算出する。この処理は、図10のステップS1004と同様である。
次に、ステップS1303において、図14(a)に示すように、ステップS1302で取得した人物の3次元座標から、この人物の足ものとの3次元座標を算出する。この処理は、図10のステップS1004と同様である。
ステップS1304のループにおいては、ステップS1305からステップS1308前の処理を、カメラ画像ごとに繰り返す。
まず、ステップS1305においては、図14(b)に示すように、ステップS1303で算出した足もとの3次元座標を処理対象のカメラ画像に投影し、カメラ画像上の足もとの座標を算出する。
まず、ステップS1305においては、図14(b)に示すように、ステップS1303で算出した足もとの3次元座標を処理対象のカメラ画像に投影し、カメラ画像上の足もとの座標を算出する。
次に、ステップS1306において、足もとの座標が存在領域にあるか否かによってカメラ画像に描画する人物シンボルのシンボル種別を決定する。具体的には、ステップS1305で算出した足もとのカメラ画像上の座標と、図4のステップS402で取得した存在領域画像とから、足もとのカメラ画像上の座標が存在領域に存在するか否かを判定する。そして、存在領域に存在する場合は存在領域シンボル種別を選択し、そして、存在領域に存在しない場合は非存在領域シンボル種別を選択する。
次に、ステップS1307において、ステップS1302で取得した人物頭部の3次元座標を処理対象のカメラ画像に投影し、カメラ画像上の人物頭部の座標を算出する。
次に、ステップS1307において、ステップS1302で取得した人物頭部の3次元座標を処理対象のカメラ画像に投影し、カメラ画像上の人物頭部の座標を算出する。
次に、ステップS1308において、カメラ画像上に人物シンボルを描画する。具体的には、ステップS1305で算出したカメラ画像上の足もとの座標とステップS1307で算出したカメラ画像上の人物の頭部の座標とを結ぶ線分をカメラ画像上に描画する。その際、ステップS1306で選択したシンボル種別に応じて人物シンボルの色を決定する。存在領域シンボル種別が選択されていた場合は、人物シンボルの色は、図10のステップS1008で描画された動線と同じ色とする。一方、非存在領域シンボル種別が選択されていた場合は、人物シンボルの色は存在領域シンボル種別の色を暗くしたものや透明にしたものなど、存在領域シンボル種別の色を変化させた色とする。図14(c)には、人物の足もとが存在領域に存在する場合の人物シンボルの例を示し、図14(d)には、人物の足もとが非存在領域に存在する場合の人物シンボルの例を示す。
以上のように本実施形態においては、人物の足もとと頭部とを結ぶ線分を人物シンボルとしてカメラ画像上に描画するようにしている。これにより、例えば、図14(c)に示すように、カメラのパースペクティブによって人物の鉛直方向がカメラ座標の軸とずれている場合でも、正しく人物の鉛直方向を人物シンボルで示すことができる。
図4の説明に戻り、次のステップS409において、表示制御部112は、動線及び人物シンボルを描画したカメラ画像と、人物及びカメラの3次元位置とを含む表示画面をディスプレイ216に表示する。
図15は、処理結果の表示画面の一例を示す図である。図15に示す例では、カメラ画像1501とマップ1504とが並べて表示されている。マップ1504には、カメラの位置を表すシンボル1502と人物の位置を示すシンボル1503とが表示される。人物の位置を示すシンボル1503の色は、シンボル1503が示す人物とカメラ画像中の人物とが同一人物である場合は、カメラ画像1501内の人物シンボルの色と同じものとする。
次に、ステップS410において、画像取得部101は、処理を継続するか否かを判定する。この判定の結果、カメラからさらなるカメラ画像が取得可能で処理を継続する場合はステップS403に戻り、取得不可で処理を終了する場合はそのまま処理を終了する。
以上のように本実施形態によれば、被写体が存在する可能性のある存在領域をカメラ画像内で予め設定し、存在領域と床面に投影した被写体の位置とを比較するようにした。これにより、外乱光や低照度、混雑、被写体の部分的な隠れ等による被写体の見た目の変化の影響を受けず、さらに遮蔽物の3次元構造によらず、人物の足もとが遮蔽物に隠れているか否かを容易かつ正確に判定することができる。また、人物の足もとが遮蔽物に隠れているか否かを3次元空間で判断することを不要とするとともに、遮蔽物の3次元構造の情報を事前に取得することを不要とするため、容易に被写体の位置を把握することができる。
また、本実施形態によれば、複数のカメラから世界座標系における被写体の位置を算出し、その被写体の足元の座標をカメラ画像の座標系に変換している。したがって、あるカメラに被写体が映っていない場合であっても、他のカメラにその被写体が映っている場合には、カメラ画像において被写体の位置を推定することができ、動線等の位置を正確に決定することができる。
また、本実施形態では、床面上の遮蔽物がない領域を存在領域とすることにより、実在する平面と存在領域とを一致させることができ、容易に存在領域を設定することができる。一方、床面ではない平面上の領域を基準に存在領域を設定してもよい。例えば、被写体の平均的な高さ座標を通る水平な平面上、または床面から一定高さの座標を通る平面を想定し、その平面上で遮蔽物がない領域を存在領域としてもよい。例えば床面に遮蔽物が多く存在し、ある一定高さにおいては遮蔽物が少ないような環境では、その高さの面を基準に存在領域を設定する方が、より正確に動線等を描画することができる。
さらに、水平ではない平面を基準として存在領域を設定してもよく、平面でなく曲面を基準に存在領域を設定するようにしてもよい。例えば段差もしくは坂がある場合など、存在領域の高さ座標が変化する場合においては、曲面を基準に存在領域を設定することにより、被写体の軌跡を示す動線を正確に描画することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 画像取得部
102 被写体位置取得部
108 存在領域取得部
109 描画部
112 表示制御部
102 被写体位置取得部
108 存在領域取得部
109 描画部
112 表示制御部
Claims (9)
- 複数のカメラからカメラ画像をそれぞれ取得する画像取得手段と、
前記複数のカメラでそれぞれ撮影されたカメラ画像内において被写体が存在可能な存在領域の情報を取得する存在領域取得手段と、
前記画像取得手段によって前記複数のカメラからそれぞれ取得されたカメラ画像に基づいて前記被写体の3次元的な位置の情報を取得する位置取得手段と、
前記位置取得手段によって取得された被写体の3次元的な位置に基づいて、前記画像取得手段によって取得されたそれぞれのカメラ画像に、前記被写体の態様を示す描画オブジェクトを描画する描画手段と、
前記描画手段によって前記描画オブジェクトが描画されたカメラ画像を表示手段に表示する表示制御手段とを備え、
前記描画手段は、前記被写体の3次元的な位置と前記存在領域取得手段によって取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とする画像処理装置。 - 前記描画オブジェクトは、前記被写体の軌跡を示す動線を含むことを特徴とする請求項1に記載の画像処理装置。
- 前記描画オブジェクトは、前記被写体の属性を示すシンボルを含むことを特徴とする請求項1又は2に記載の画像処理装置。
- 前記描画手段は、前記被写体の3次元的な位置と前記存在領域取得手段によって取得された存在領域との関係に基づいて前記描画オブジェクトの線種、色、透明度の少なくとも1つを変更することを特徴とする請求項1〜3の何れか1項に記載の画像処理装置。
- 前記複数のカメラのそれぞれの設定情報を記憶する記憶手段を備え、
前記描画手段は、前記記憶手段に記憶された設定情報に基づいて前記被写体の3次元位置を床面に投影した位置と前記存在領域取得手段によって取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とする請求項1〜4の何れか1項に記載の画像処理装置。 - 前記位置取得手段は、前記複数のカメラから取得されたカメラ画像からそれぞれ前記被写体を検出し、前記検出した被写体を前記複数のカメラ間で対応付けることによって前記被写体の3次元的な位置を取得することを特徴とする請求項1〜5の何れか1項に記載の画像処理装置。
- 前記表示制御手段は、前記存在領域の指示を入力するための入力画面を前記表示手段に表示し、
前記存在領域取得手段は、前記入力画面を介して指示された存在領域の情報を取得することを特徴とする請求項1〜6の何れか1項に記載の画像処理装置。 - 複数のカメラからカメラ画像をそれぞれ取得する画像取得工程と、
前記複数のカメラでそれぞれ撮影されたカメラ画像内において被写体が存在可能な存在領域の情報を取得する存在領域取得工程と、
前記画像取得工程において前記複数のカメラからそれぞれ取得されたカメラ画像に基づいて前記被写体の3次元的な位置の情報を取得する位置取得工程と、
前記位置取得工程において取得された被写体の3次元的な位置に基づいて、前記画像取得工程において取得されたそれぞれのカメラ画像に、前記被写体の態様を示す描画オブジェクトを描画する描画工程と、
前記描画工程において前記描画オブジェクトが描画されたカメラ画像を表示手段に表示する表示制御工程とを備え、
前記描画工程においては、前記被写体の3次元的な位置と前記存在領域取得工程において取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とする画像処理方法。 - 複数のカメラからカメラ画像をそれぞれ取得する画像取得工程と、
前記複数のカメラでそれぞれ撮影されたカメラ画像内において被写体が存在可能な存在領域の情報を取得する存在領域取得工程と、
前記画像取得工程において前記複数のカメラからそれぞれ取得されたカメラ画像に基づいて前記被写体の3次元的な位置の情報を取得する位置取得工程と、
前記位置取得工程において取得された被写体の3次元的な位置に基づいて、前記画像取得工程において取得されたそれぞれのカメラ画像に、前記被写体の態様を示す描画オブジェクトを描画する描画工程と、
前記描画工程において前記描画オブジェクトが描画されたカメラ画像を表示手段に表示する表示制御工程とをコンピュータに実行させ、
前記描画工程においては、前記被写体の3次元的な位置と前記存在領域取得工程において取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015235101A JP2017103607A (ja) | 2015-12-01 | 2015-12-01 | 画像処理装置、画像処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015235101A JP2017103607A (ja) | 2015-12-01 | 2015-12-01 | 画像処理装置、画像処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017103607A true JP2017103607A (ja) | 2017-06-08 |
Family
ID=59017095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015235101A Pending JP2017103607A (ja) | 2015-12-01 | 2015-12-01 | 画像処理装置、画像処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017103607A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020068495A (ja) * | 2018-10-26 | 2020-04-30 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
-
2015
- 2015-12-01 JP JP2015235101A patent/JP2017103607A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020068495A (ja) * | 2018-10-26 | 2020-04-30 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP7237520B2 (ja) | 2018-10-26 | 2023-03-13 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9767563B2 (en) | Image processing apparatus and method for obtaining position and orientation of imaging apparatus | |
CN104937635B (zh) | 基于模型的多假设目标追踪器 | |
JP6918523B2 (ja) | 情報処理システム、情報処理装置、情報処理方法ならびに情報処理方法をコンピュータに実行させるプログラム | |
JP6700752B2 (ja) | 位置検出装置、位置検出方法及びプログラム | |
CN104811660B (zh) | 控制装置及控制方法 | |
CN103135758B (zh) | 实现快捷功能的方法及系统 | |
JP6688088B2 (ja) | 情報処理装置およびその制御方法 | |
CN106484098B (zh) | 用户界面的实时交互操作系统和方法 | |
CN107949851B (zh) | 在场景内的物体的端点的快速和鲁棒识别 | |
JP6352208B2 (ja) | 三次元モデル処理装置およびカメラ校正システム | |
JP2011095797A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP7156515B2 (ja) | 点群アノテーション装置、方法、及びプログラム | |
JP2018119833A (ja) | 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体 | |
US20160370865A1 (en) | Operation Input Device, Operation Input Method, and Program | |
GB2540032A (en) | Data browse apparatus, data browse method, program, and storage medium | |
JP2018120283A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2021060868A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6817742B2 (ja) | 情報処理装置およびその制御方法 | |
US20210327160A1 (en) | Authoring device, authoring method, and storage medium storing authoring program | |
JP6659095B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
Herbert et al. | Mobile device and intelligent display interaction via scale-invariant image feature matching | |
KR101021015B1 (ko) | 3차원 사용자 인터페이스 방법 | |
JP6632298B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6127465B2 (ja) | 情報処理装置、情報処理システム及びプログラム | |
JP2017103607A (ja) | 画像処理装置、画像処理方法及びプログラム |