(57)【要約】【課題】被写体の態様を示す描画オブジェクトを容易かつ正確にカメラ画像に重畳できるようにする。【解決手段】被写体が存在する可能性のある存在領域をカメラ画像内で予め設定し、存在領域と床面に投影した被写体の位置とを比較する。そして、床面に投影した被写体の位置が、遮蔽物が存在しない存在領域である場合には、被写体の軌跡を示す動線を実線で示し、遮蔽物によって隠れる位置である場合には、動線を点線で示す。また、人物の属性を示す人物シンボルも存在領域に存在するか否かによって表示態様を変更するようにする。【選択図】図１
2017103607.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラからカメラ画像をそれぞれ取得する画像取得手段と、
前記複数のカメラでそれぞれ撮影されたカメラ画像内において被写体が存在可能な存在領域の情報を取得する存在領域取得手段と、
前記画像取得手段によって前記複数のカメラからそれぞれ取得されたカメラ画像に基づいて前記被写体の３次元的な位置の情報を取得する位置取得手段と、
前記位置取得手段によって取得された被写体の３次元的な位置に基づいて、前記画像取得手段によって取得されたそれぞれのカメラ画像に、前記被写体の態様を示す描画オブジェクトを描画する描画手段と、
前記描画手段によって前記描画オブジェクトが描画されたカメラ画像を表示手段に表示する表示制御手段とを備え、
前記描画手段は、前記被写体の３次元的な位置と前記存在領域取得手段によって取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とする画像処理装置。
【請求項２】
前記描画オブジェクトは、前記被写体の軌跡を示す動線を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記描画オブジェクトは、前記被写体の属性を示すシンボルを含むことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記描画手段は、前記被写体の３次元的な位置と前記存在領域取得手段によって取得された存在領域との関係に基づいて前記描画オブジェクトの線種、色、透明度の少なくとも１つを変更することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記複数のカメラのそれぞれの設定情報を記憶する記憶手段を備え、
前記描画手段は、前記記憶手段に記憶された設定情報に基づいて前記被写体の３次元位置を床面に投影した位置と前記存在領域取得手段によって取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
前記位置取得手段は、前記複数のカメラから取得されたカメラ画像からそれぞれ前記被写体を検出し、前記検出した被写体を前記複数のカメラ間で対応付けることによって前記被写体の３次元的な位置を取得することを特徴とする請求項１〜５の何れか１項に記載の画像処理装置。
【請求項７】
前記表示制御手段は、前記存在領域の指示を入力するための入力画面を前記表示手段に表示し、
前記存在領域取得手段は、前記入力画面を介して指示された存在領域の情報を取得することを特徴とする請求項１〜６の何れか１項に記載の画像処理装置。
【請求項８】
複数のカメラからカメラ画像をそれぞれ取得する画像取得工程と、
前記複数のカメラでそれぞれ撮影されたカメラ画像内において被写体が存在可能な存在領域の情報を取得する存在領域取得工程と、
前記画像取得工程において前記複数のカメラからそれぞれ取得されたカメラ画像に基づいて前記被写体の３次元的な位置の情報を取得する位置取得工程と、
前記位置取得工程において取得された被写体の３次元的な位置に基づいて、前記画像取得工程において取得されたそれぞれのカメラ画像に、前記被写体の態様を示す描画オブジェクトを描画する描画工程と、
前記描画工程において前記描画オブジェクトが描画されたカメラ画像を表示手段に表示する表示制御工程とを備え、
前記描画工程においては、前記被写体の３次元的な位置と前記存在領域取得工程において取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とする画像処理方法。
【請求項９】
複数のカメラからカメラ画像をそれぞれ取得する画像取得工程と、
前記複数のカメラでそれぞれ撮影されたカメラ画像内において被写体が存在可能な存在領域の情報を取得する存在領域取得工程と、
前記画像取得工程において前記複数のカメラからそれぞれ取得されたカメラ画像に基づいて前記被写体の３次元的な位置の情報を取得する位置取得工程と、
前記位置取得工程において取得された被写体の３次元的な位置に基づいて、前記画像取得工程において取得されたそれぞれのカメラ画像に、前記被写体の態様を示す描画オブジェクトを描画する描画工程と、
前記描画工程において前記描画オブジェクトが描画されたカメラ画像を表示手段に表示する表示制御工程とをコンピュータに実行させ、
前記描画工程においては、前記被写体の３次元的な位置と前記存在領域取得工程において取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、被写体に関する描画オブジェクトをカメラ画像に表示するために用いて好適な画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、監視カメラシステムにおいて、複数のカメラを監視領域に配置し、複数のカメラで同一の被写体を同時に撮像することにより、被写体の３次元的な位置（以下、３次元位置）を推定する手法が知られている。例えば、特許文献１には、カメラの位置及び姿勢と、カメラ画像上の被写体の位置とから、ステレオ視の原理で被写体の３次元位置を推定する方法が開示されている。また、カメラ画像へ被写体の位置を重畳表示する技術として、特許文献２には、追跡対象物（人物）の軌跡を表す動線をカメラ画像に重ねて表示する技術が開示されている。この技術においては、カメラ画像中に追跡対象物が映っているか否かによって追跡対象物が遮蔽物の手前に存在するか否かを判定し、判定結果に応じて動線の表示種別を変更している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５４５４５７３号公報
【特許文献２】特許第５６３４２６６号公報
【非特許文献】
【０００４】
【非特許文献１】Ｚｈｅｎｇｙｏｕ  Ｚｈａｎｇ「Ａ  Ｆｌｅｘｉｂｌｅ  Ｎｅｗ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ」，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  ２２（１１）：１３３０−１３３４，  ２０００
【非特許文献２】Ｐｉｅｒｒｅ  Ｍｏｕｌｏｎ，  Ｐａｓｃａｌ  Ｍｏｎａｓｓｅ，  ａｎｄ  Ｒｅｎａｕｄ  Ｍａｒｌｅｔ「Ａｄａｐｔｉｖｅ ｓｔｒｕｃｔｕｒｅ ｆｒｏｍ ｍｏｔｉｏｎ ｗｉｔｈ ａ ｃｏｎｔｒａｒｉｏ ｍｏｄｅｌ ｅｓｔｉｍａｔｉｏｎ」ＡＣＣＶ２０１２
【非特許文献３】Ｍ．Ｄ．Ｂｒｅｉｔｅｎｓｔｅｉｎ  ｅｔ  ａｌ．，「Ｒｏｂｕｓｔ  ｔｒａｃｋｉｎｇ−ｂｙ−ｄｅｔｅｃｔｉｏｎ  ｕｓｉｎｇ  ａ  ｄｅｔｅｃｔｏｒ  ｃｏｎｆｉｄｅｎｃｅ  ｐａｒｔｉｃｌｅ  ｆｉｌｔｅｒ」，ＩＣＣＶ２００９
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献２に記載の方法は、画像認識による物体検出の結果に基づいて被写体が遮蔽物の手前に存在するか否かを判定している。しかしながら、外乱光や低照度、混雑、被写体の部分的な隠れ等によって画像認識の精度が低下する環境では、被写体が遮蔽物の手前に存在しているか否かを正しく判定することができない。このため、被写体の移動履歴を表す動線の表示種別を正しく選択することができない。また、特許文献２に記載の方法では、遮蔽物の３次元モデルデータを事前に設定することによって、被写体が遮蔽物の手前に存在するか否かを判定しているが、３次元モデルデータを設定するのに多くの手間がかかってしまう。
【０００６】
本発明は前述の問題点に鑑み、被写体の態様を示す描画オブジェクトを容易かつ正確にカメラ画像に重畳できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理装置は、複数のカメラからカメラ画像をそれぞれ取得する画像取得手段と、前記複数のカメラでそれぞれ撮影されたカメラ画像内において被写体が存在可能な存在領域の情報を取得する存在領域取得手段と、前記画像取得手段によって前記複数のカメラからそれぞれ取得されたカメラ画像に基づいて前記被写体の３次元的な位置の情報を取得する位置取得手段と、前記位置取得手段によって取得された被写体の３次元的な位置に基づいて、前記画像取得手段によって取得されたそれぞれのカメラ画像に、前記被写体の態様を示す描画オブジェクトを描画する描画手段と、前記描画手段によって前記描画オブジェクトが描画されたカメラ画像を表示手段に表示する表示制御手段とを備え、前記描画手段は、前記被写体の３次元的な位置と前記存在領域取得手段によって取得された存在領域との関係に基づいて前記描画オブジェクトの表示態様を変更することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、被写体の態様を示す描画オブジェクトを容易かつ正確にカメラ画像に重畳するができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る画像処理装置の機能構成例を示すブロック図である。
【図２】実施形態に係る画像処理装置のハードウェア構成例を示すブロック図である。
【図３】２つのカメラの位置関係を説明するための図である。
【図４】実施形態において、カメラ画像に動線及び人物シンボルを描画する処理手順の一例を示すフローチャートである。
【図５】キャリブレーションの概要を説明するため図である。
【図６】存在領域入力画面の一例を示す図である。
【図７】被写体の３次元位置を推定する詳細な処理手順の一例を示すフローチャートである。
【図８】カメラ画像間において人物を対応付ける方法を説明するための図である。
【図９】被写体の３次元位置を推定する方法を説明するための図である。
【図１０】カメラ画像に動線を描画する詳細な処理手順の一例を示すフローチャートである。
【図１１】人物の足もとの３次元座標を算出する方法を説明するための図である。
【図１２】動線が描画されたカメラ画像の例を示す図である。
【図１３】カメラ画像に人物シンボルを描画する詳細な処理手順の一例を示すフローチャートである。
【図１４】動線及び人物シンボルが描画されたカメラ画像の例を示す図である。
【図１５】動線及び人物シンボルを描画したカメラ画像と、人物及びカメラの３次元位置とを含む表示画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、本実施形態では、被写体として人物を例に説明するが、例えば、車両、動物など他の被写体を対象としてもよい。
【００１１】
図２は、本実施形態に係る画像処理装置１００のハードウェア構成例を示すブロック図である。
図２において、第１のカメラ２０１〜第ｎのカメラ２０ｎは、それぞれＣＣＤ、ＣＭＯＳ等で構成され、被写体像を光から電気信号に変換するための撮像素子を備えたカメラであり、２台以上存在する。信号処理回路２１２は、第１のカメラ２０１〜第ｎのカメラ２０ｎのそれぞれから得られた被写体像に関する時系列信号を処理し、デジタル信号に変換する回路である。
【００１２】
ＣＰＵ２１３は、ＲＯＭ２１４に格納されている制御プログラムを実行することにより、画像処理装置１００全体の制御を行う。ＲＯＭ２１４は、ＣＰＵ２１３が実行する制御プログラムや各種パラメータデータ等を格納する。制御プログラムは、ＣＰＵ２１３で実行されることにより、後述するフローチャートに示す各処理を実行するための各種手段として、画像処理装置１００を機能させる。ＲＡＭ２１５は、画像データや各種情報などを記憶する。また、ＲＡＭ２１５は、ＣＰＵ２１３のワークエリア及びデータの一時待避領域として機能する。ディスプレイ２１６は、画像及び各種情報を表示するための表示部である。入力装置２１７は、マウス等のポインティングデバイスや、キーボード等であり、ユーザからの入力を受け付ける。
【００１３】
なお、本実施形態では、後述するフローチャートの各ステップに対応する処理を、ＣＰＵ２１３を用いてソフトウェアで実現することとするが、その処理の一部または全部を電子回路などのハードウェアで実現するようにしても構わない。また、本実施形態に係る画像処理装置１００は、第１のカメラ２０１〜第ｎのカメラ２０ｎ及び信号処理回路２１２を省いて汎用ＰＣを用いて実現してもよいし、専用装置として実現するようにしても構わない。
【００１４】
図１は、本実施形態に係る画像処理装置１００の機能構成例を示すブロック図である。
図１において、カメラ情報取得部１１３は、カメラキャリブレーションを行うことにより、第１のカメラ２０１〜第ｎのカメラ２０ｎのそれぞれの内部パラメータ、位置、及び姿勢に関する設定情報（カメラ情報）を取得し、カメラ情報記憶部１０５に記憶する。
画像取得部１０１は、第１のカメラ２０１〜第ｎのカメラ２０ｎのそれぞれから画像データ（以下、カメラ画像）を取得する。
【００１５】
被写体位置取得部１０２は、被写体の３次元的な位置（以下、３次元位置）を推定し、被写体位置記憶部１０６に被写体の３次元位置を記憶する。被写体位置取得部１０２は、画像検出部１０３と３次元位置推定部１０４とで構成される。
【００１６】
画像検出部１０３は、カメラ画像中の被写体を検出するとともに、検出した被写体を追尾する。また、同一被写体であることを識別するための追尾ラベルを被写体ごとに付与する。本実施形態では、検出する被写体は人物とする。
３次元位置推定部１０４は、画像検出部１０３により追尾された被写体とカメラ情報記憶部１０５に記憶されたカメラ情報とから被写体の３次元位置を推定する。
【００１７】
被写体位置記憶部１０６は、被写体位置取得部１０２により推定された被写体の３次元位置の情報を記憶する。
存在領域記憶部１０７は、カメラ画像中の存在領域を記憶する。ここで、存在領域とは、カメラ画像中で被写体が存在可能な領域である。本実施形態では、例えば、家具や壁などが存在しない領域であって、人物が通行可能な床面領域を存在領域とする。
存在領域取得部１０８は、カメラ画像中の存在領域の情報を取得し、存在領域記憶部１０７に記憶する。
【００１８】
描画部１０９は、被写体の位置に基づいてカメラ画像に被写体の態様を示す描画オブジェクトを描画する。描画オブジェクトは、本実施形態では、描画部１０９は、描画オブジェクトとして被写体の動線と被写体の属性を示すシンボルとをカメラ画像に描画する。描画部１０９は、動線描画部１１０と被写体シンボル描画部１１１とで構成される。
【００１９】
動線描画部１１０は、存在領域記憶部１０７、被写体位置記憶部１０６、及びカメラ情報記憶部１０５に記憶された情報に基づいて、カメラ画像に人物の動線を描画する。被写体シンボル描画部１１１は、存在領域記憶部１０７、被写体位置記憶部１０６、及びカメラ情報記憶部１０５に記憶された情報に基づいて、カメラ画像に被写体の属性を示す人物シンボルを描画する。
表示制御部１１２は、被写体の検出結果及び３次元位置をカメラ画像とともにディスプレイ２１６に表示する制御を行う。
【００２０】
図４は、本実施形態に係る動作を説明するためのフローチャートである。本実施形態では、図３に示すように、２台のカメラ（第１のカメラ２０１及び第２のカメラ２０２）が、視野３０１が重複するように設置されているものとする。なお、カメラの台数はこれに限らず、３台以上であってもよい。
【００２１】
まず、ステップＳ４０１において、カメラ情報取得部１１３は、カメラキャリブレーションを行うことにより、第１のカメラ２０１及び第２のカメラ２０２の内部パラメータ、位置、及び姿勢の情報を取得する。ここで、内部パラメータとは、カメラの焦点距離であり、カメラの位置及び姿勢とともに後述する被写体の３次元位置の推定に利用される。
【００２２】
図５は、キャリブレーションの概要を説明するため図である。まず、図５（ａ）に示すように、キャリブレーションボード５０１を環境に設置し、非特許文献１に記載の手法により各カメラの内部パラメータを算出する。さらに、図５（ｂ）に示すように、環境に設置された多数のキャリブレーションボード５０１を複数のカメラで同時に観測することによって、カメラの位置及び姿勢を推定する。カメラ情報取得部１１３は、このような手順で得られたカメラ情報をカメラ情報記憶部１０５に記憶する。
【００２３】
本実施形態では、環境に設置された多数のキャリブレーションボードを用いてカメラの位置及び姿勢を推定した。一方、非特許文献２に記載の手法を用いてカメラの位置及び姿勢の情報を取得してもよい。具体的には、各カメラのカメラ画像中のコーナーやＳＩＦＴ特徴等の特徴点を抽出し、これらの特徴点群を画像間で対応付けた後、カメラの位置、姿勢、及び点群の位置を求めることによってカメラの位置及び姿勢の情報を取得してもよい。また、カメラの内部パラメータと、カメラの位置及び姿勢とを同時に算出してもよい。
【００２４】
次に、ステップＳ４０２において、存在領域取得部１０８は、カメラ画像中の存在領域の情報を入力装置２１７から取得する。具体的には、表示制御部１１２は、例えば図６（ａ）に示すような存在領域入力画面６０１をディスプレイ２１６に表示し、ユーザに存在領域を指示させるようにする。本実施形態では、存在領域は床面領域であり、カメラ画像６０２中のどこが床面であるかをユーザに指示させる。
【００２５】
図６（ａ）に示すように、存在領域入力画面６０１は、カメラ画像６０２、操作ボタン６０３、及びマウスポインタ６０４で構成される。ユーザは、入力装置２１７であるマウスでマウスポインタ６０４を移動させ、操作ボタン６０３をクリックすることによって、ペン、消しゴム、多角形、及び閉曲面のいずれかの存在領域の指定方法を選択する。そして、選択した存在領域の指定方法に応じて、カメラ画像６０２上でクリック操作やドラッグ操作を行うことにより、カメラ画像６０２中の存在領域を指定する。なお、存在領域を入力するために用いられるカメラ画像６０２は、カメラ設置時に予め撮影されたものを用いる。
【００２６】
存在領域の指定方法は、具体的には以下の通りである。ペンを選択した場合は、ドラッグしたマウスポインタ６０４の軌跡を存在領域に指定する。消しゴムを選択した場合は、ドラッグしたマウスポインタ６０４の軌跡を非存在領域に指定することによって存在領域を指定する。多角形を選択した場合は、クリックによって多角形の頂点を指定し、その多角形内を存在領域に指定する。閉曲面を選択した場合は、ドラッグによって閉曲線を指定し、その閉曲線内を存在領域に指定する。このように環境に応じて存在領域の形状を正確に入力できるようにしている。壁や家具などは直線形状で構成されることが多いため、多角形で領域を指定できるようにし、ユーザに効率良く存在領域を指定することができるようにしている。
【００２７】
図６（ａ）に示す例では、ユーザによって入力された存在領域６０５が斜線で示されている。ユーザがマウスでマウスポインタ６０４を移動させ、入力完了の操作ボタンをクリックすることにより存在領域が確定し、図６（ｂ）に示すような存在領域画像が得られる。存在領域画像は、存在領域を１の値とし、その他の領域を０の値としたマスク画像である。存在領域取得部１０８は、以上の手順によって存在領域画像を取得し、存在領域記憶部１０７に記憶する。ユーザは、カメラの台数分存在領域を指定し、カメラの台数分行だけ存在領域画像が得られる。
【００２８】
なお、本実施形態では、存在領域取得部１０８は、入力装置２１７から存在領域の情報を入力する構成としたが、他の記憶装置に記憶された存在領域画像を読み出す構成としてもよく、通信によって外部装置から存在領域画像を取得する構成としてもよい。
【００２９】
次に、ステップＳ４０３において、画像取得部１０１は、第１のカメラ２０１及び第２のカメラ２０２のそれぞれからフレーム単位でカメラ画像を取得する。本実施形態では、カメラ数が２つであるため、２枚のカメラ画像を取得する。なお、カメラ画像を取得するタイミングとしては、すべてのフレームをカメラ画像として取得すると膨大な量のデータを保持する必要があるため、例えば１秒ごとにカメラ画像を取得するようにする。
【００３０】
次に、ステップＳ４０４において、画像検出部１０３は、ステップＳ４０３で取得されたカメラ画像から人物を検出し、過去に取得されたカメラ画像における人物の検出結果に基づいて、その人物の追尾を行う。この処理では、まず、画像検出部１０３は、カメラ画像から人物の頭部領域を抽出する。この処理により、人物領域を示す矩形の代表点座標（ｘ，ｙ）と、矩形の高さｈ及び幅ｗとを得る。さらに現在の人物領域と過去の同一人物の人物領域とを対応付けることよって、複数時刻にわたって同一被写体を追尾する。この処理の結果、人物ごとに追尾ラベルｉを得る。ここで、追尾ラベルｉとは、それぞれの追尾される人物を識別するための符号である。被写体を検出し、追尾する手法として例えば非特許文献３に記載の手法を用いる。
【００３１】
次に、ステップＳ４０５において、３次元位置推定部１０４は、複数のカメラ画像を用いて人物の３次元位置を推定する。以下、ステップＳ４０５の処理の詳細について図７を参照しながら説明する。
【００３２】
図７は、ステップＳ４０５において３次元位置推定部１０４が行う詳細な処理手順の一例を示すフローチャートである。
まず、ステップＳ７０１において、ステップＳ４０４で検出された人物を２つのカメラ画像間で対応付ける。具体的には、あるカメラ画像で検出された人物が、他のカメラ画像のどの人物に対応するかを探索する。
【００３３】
カメラ画像間における人物の対応付けは、人物領域の代表点をエピポーラ幾何によって対応付けることにより行われる。例えば、図８に示す第１のカメラ画像の人物Ａの代表点は、第２のカメラ画像ではエピポーラ線８０１と呼ばれる直線で表される。第１のカメラ画像と第２のカメラ画像との間の位置関係の情報を含む基礎行列Ｆは、カメラ情報記憶部１０５に記憶されているカメラ情報の中のカメラの位置、姿勢、及び内部パラメータから計算できる。さらに、第１のカメラ画像の人物Ａの２次元座標を表すベクトルをｘとすると、第２のカメラ画像上のエピポーラ線ｌは以下の式（１）で表される。
ｌ＝Ｆｘ      ・・・式（１）
【００３４】
第２のカメラ画像の人物の代表点とエピポーラ線８０１との間の距離が一定値以下の場合は、この第２のカメラ画像の人物と第１のカメラ画像の人物Ａとで対応することになる。例えば、図８において、第１のカメラ画像の人物Ａは、第２のカメラ画像上では人物Ｂに対応する。次に、２つのカメラ画像間で対応付く人物の組を生成する。例えば、図８において、人物Ａが人物Ｂに対応し、人物Ｃが人物Ｄに対応する場合には、組｛Ａ，Ｂ｝と組｛Ｃ，Ｄ｝との情報を生成する。なお、カメラが３台以上設置されている場合には、２つのカメラのすべての組合せでステップＳ６０１の処理を行う。
【００３５】
次に、ステップＳ７０２において、ステップＳ７０１で対応付けた人物の組からその人物の３次元位置を推定する。具体的には、まず、図９に示すように、各カメラ画像に対し、カメラ中心９０１と人物領域の代表点９０２とを通る３次元空間中の直線を求める。この直線は、カメラの位置、姿勢、内部パラメータおよび代表点９０２の画像上の座標より求めることができる。次に、各カメラの直線の交点９０３を求め、この交点９０３の座標を人物の３次元位置とする。なお、直線の推定誤差により、実際にはこれらの直線が１点で交わらない場合がある。この場合には、各直線からの距離の和が最小になる点を交点の代わりに採用する。
【００３６】
次に、ステップＳ７０３において、ステップＳ７０２で推定された３次元位置から多カメラ間の被写体対応を求める。ステップＳ７０２の段階では、２つのカメラ間でしか対応付けを行っていないため、同一被写体にもかかわらず複数の点として３次元位置が推定されている。そのため、ステップＳ７０３では、同一被写体における複数の点（３次元位置）を１つにまとめる。なお、ステップＳ７０３の処理は、カメラが３台以上設置されている場合に行われる処理であり、カメラが２台しか設置されていない場合はこの処理は不要である。まず、ステップＳ７０２で推定した３次元位置同士の距離が互いに閾値以下であるグループを探索する。そして、これらのグループに属する２つのカメラ間で対応する被写体を、多カメラ間で対応付く被写体とする。さらに、そのグループに属する３次元位置の平均を求め、この平均をこのグループの代表の３次元位置とする。
【００３７】
図４の説明に戻り、次に、ステップＳ４０６において、被写体位置取得部１０２は、検出した人物の３次元位置の座標を、その人物の追尾ラベル及びその人物固有のＩＤ（人物ラベル）とともに被写体位置記憶部１０６に記憶する。ここで、追尾ラベルは、ステップＳ４０４において、各カメラで人物の追尾により得られる人物領域に付与されたラベルであり、同一人物であってもカメラが異なる場合には割り当てられる符号は異なる。一方、人物ラベルとは、カメラが異なっている場合であっても同一人物なら同じになるように割り当てられる符号である。
【００３８】
ステップＳ４０６で被写体位置記憶部１０６に記憶される人物ラベルは、被写体位置取得部１０２によって追尾ラベルから生成される。過去に生成された追尾ラベルは、その追尾ラベルに対応する人物ラベルと共に被写体位置記憶部１０６に記憶されている。そこで、追尾ラベルから人物ラベルを得るには、ある追尾ラベルに対応する人物ラベルを被写体位置記憶部１０６から探索すればよい。
【００３９】
一方、今回の処理によって新たに追尾ラベルが生成された場合には、その追尾ラベルに対応する人物ラベルを新たに生成する。そして、被写体位置記憶部１０６にこの人物ラベルと追尾ラベルとを記憶する。その際、ステップＳ７０１またはＳ７０３の処理によって、ある追尾ラベルが他のカメラのどの追尾ラベルと対応しているかを判別できるため、対応する追尾ラベルで共通する人物ラベルを生成する。
【００４０】
次に、ステップＳ４０７において、動線描画部１１０は、人物の動線をカメラ画像に重畳する。以下、ステップＳ４０７の詳細な処理について、図１０を参照しながら説明する。
図１０は、ステップＳ４０７において動線描画部１１０が行う詳細な処理手順の一例を示すフローチャートである。
まず、ステップＳ１００１のループにおいては、ステップＳ１００２からステップＳ１０１０について、被写体位置記憶部１０６に３次元位置が記憶されているそれぞれの人物を処理対象とし、人物の数（人物ラベルの数）だけ処理を繰り返す。
【００４１】
次に、ステップＳ１００２のループにおいては、ステップＳ１００３からステップＳ１００９の処理を、時間ｔ＝０，・・・，Ｔのそれぞれの時間の分だけ繰り返す。ただし、Ｔは描画する動線の長さを表す定数であり、後の処理において、動線を現在よりも時間Ｔだけ前の時刻から現在の時刻（ｔ＝０）について描画する。また、時間の間隔はステップＳ４０３でカメラ画像を取得する間隔と同じとする。
【００４２】
まず、ステップＳ１００３において、被写体位置記憶部１０６から現在から時間ｔだけ前の時刻の人物の３次元座標を読み出す。
次に、ステップＳ１００４において、ステップＳ１００３で取得した人物の３次元座標から、この人物の足もとの３次元座標を算出する。具体的には、人物の３次元座標を、床面を構成する平面に並行投影することによって、足もとの３次元座標が得られる。例えば、図１１（ａ）に示すように、高さ方向をｚ軸として人物の頭部の３次元座標を（ｘ，ｙ，ｚ）とすると、床面のｚ座標は０であるため、足もとの３次元座標は（ｘ，ｙ，０）となる。なお、この例では高さ方向と座標軸とが並行であるものとしているが、必ずしも平行である必要はない。
【００４３】
ステップＳ１００５のループにおいては、ステップＳ１００６からステップＳ１００８までの処理を、カメラ画像ごとに繰り返す。
【００４４】
まず、ステップＳ１００６において、ステップＳ１００４で算出した足もとの３次元座標を処理対象のカメラ画像に投影し、カメラ画像上の足もとの座標を算出する。３次元座標からカメラ画像へ投影する射影変換行列は、カメラ情報記憶部１０５に記憶されたカメラ情報から計算できる。
【００４５】
次に、ステップＳ１００７において、足もとの座標が存在領域にあるか否かによって動線種別を決定する。具体的には、ステップＳ１００６で算出した足もとのカメラ画像上の座標と、図４のステップＳ４０２で取得した存在領域画像とから、足もとのカメラ画像上の座標が存在領域に存在するか否かを判定する。そして、存在領域に存在する場合は存在領域動線種別を選択し、存在領域に存在しない場合は非存在領域動線種別を選択する。例えば、図１１（ｂ）に示す例では、足もとのカメラ画像上の座標を存在領域画像に投影した結果、足もと位置１１０１が存在領域に含まれるため、存在領域動線種別を選択する。
【００４６】
次に、ステップＳ１００８において、ステップＳ１００７で選択した動線種別に応じて、カメラ画像上の足もとの座標の点をつなぎ合わせてカメラ画像に線を描画する。なお、最初のループ（ｔ＝０）の場合は、つなぎ合わせる座標が存在しないため、足もとの座標をそのままカメラ画像にプロットする。
【００４７】
図１２（ａ）は、動線描画部１１０によって動線が描画されたカメラ画像の一例を示す図である。図１２（ａ）に示すように、動線上において、足もとの座標の点が存在領域にある場合（存在領域動線種別が選択されている場合）にはその部分を実線１２０１で描画する。一方、足もとの座標の点が非存在領域に存在する場合（非存在領域動線種別が選択されている場合）にはその部分を破線１２０２で描画する。また、描画する線の色は、人物ラベルに基づいて一意の色を決定する。具体的には、事前に人物ラベルからＲＧＢ色に変換するルックアップテーブルを用意しておき、このルックアップテーブルを参照することによって一意の色を決定する。
【００４８】
本実施形態では、図１２（ａ）に示すように、非存在領域の動線を破線１２０２で描画したが、図１２（ｂ）に示すように、線種として非存在領域は線を描画しないようにしてもよい。また、存在領域と非存在領域とで線種を区別する以外に、存在領域の動線の色を基に明度、彩度、色相、透明度などを変えた色を用いて非存在領域の動線を表現してもよい。また、線種として、細線や太線など、線の形状といった表示態様を変えてもよい。
【００４９】
図４の説明に戻り、次のステップＳ４０８において、被写体シンボル描画部１１１は、人物の位置を示す人物シンボルをカメラ画像に重畳する。人物シンボルとは、人物の位置や人物ラベルなどの属性を画像上に表示するための表示物である。以下、ステップＳ４０８の詳細な処理について図１３を参照しながら説明する。
【００５０】
図１３は、ステップＳ４０８において被写体シンボル描画部１１１が行う詳細な処理手順の一例を示すフローチャートである。
ステップＳ１３０１のループにおいては、ステップＳ１３０２からステップＳ１３０９について、被写体位置記憶部１０６に３次元位置が記憶されているそれぞれの人物を処理対象とし、人物の数（人物ラベルの数）だけ処理を繰り返す。
【００５１】
まず、ステップＳ１３０２において、被写体位置記憶部１０６から現在の時刻（ｔ＝０）における人物の３次元座標を読み出す。
次に、ステップＳ１３０３において、図１４（ａ）に示すように、ステップＳ１３０２で取得した人物の３次元座標から、この人物の足ものとの３次元座標を算出する。この処理は、図１０のステップＳ１００４と同様である。
【００５２】
ステップＳ１３０４のループにおいては、ステップＳ１３０５からステップＳ１３０８前の処理を、カメラ画像ごとに繰り返す。
まず、ステップＳ１３０５においては、図１４（ｂ）に示すように、ステップＳ１３０３で算出した足もとの３次元座標を処理対象のカメラ画像に投影し、カメラ画像上の足もとの座標を算出する。
【００５３】
次に、ステップＳ１３０６において、足もとの座標が存在領域にあるか否かによってカメラ画像に描画する人物シンボルのシンボル種別を決定する。具体的には、ステップＳ１３０５で算出した足もとのカメラ画像上の座標と、図４のステップＳ４０２で取得した存在領域画像とから、足もとのカメラ画像上の座標が存在領域に存在するか否かを判定する。そして、存在領域に存在する場合は存在領域シンボル種別を選択し、そして、存在領域に存在しない場合は非存在領域シンボル種別を選択する。
次に、ステップＳ１３０７において、ステップＳ１３０２で取得した人物頭部の３次元座標を処理対象のカメラ画像に投影し、カメラ画像上の人物頭部の座標を算出する。
【００５４】
次に、ステップＳ１３０８において、カメラ画像上に人物シンボルを描画する。具体的には、ステップＳ１３０５で算出したカメラ画像上の足もとの座標とステップＳ１３０７で算出したカメラ画像上の人物の頭部の座標とを結ぶ線分をカメラ画像上に描画する。その際、ステップＳ１３０６で選択したシンボル種別に応じて人物シンボルの色を決定する。存在領域シンボル種別が選択されていた場合は、人物シンボルの色は、図１０のステップＳ１００８で描画された動線と同じ色とする。一方、非存在領域シンボル種別が選択されていた場合は、人物シンボルの色は存在領域シンボル種別の色を暗くしたものや透明にしたものなど、存在領域シンボル種別の色を変化させた色とする。図１４（ｃ）には、人物の足もとが存在領域に存在する場合の人物シンボルの例を示し、図１４（ｄ）には、人物の足もとが非存在領域に存在する場合の人物シンボルの例を示す。
【００５５】
以上のように本実施形態においては、人物の足もとと頭部とを結ぶ線分を人物シンボルとしてカメラ画像上に描画するようにしている。これにより、例えば、図１４（ｃ）に示すように、カメラのパースペクティブによって人物の鉛直方向がカメラ座標の軸とずれている場合でも、正しく人物の鉛直方向を人物シンボルで示すことができる。
【００５６】
図４の説明に戻り、次のステップＳ４０９において、表示制御部１１２は、動線及び人物シンボルを描画したカメラ画像と、人物及びカメラの３次元位置とを含む表示画面をディスプレイ２１６に表示する。
【００５７】
図１５は、処理結果の表示画面の一例を示す図である。図１５に示す例では、カメラ画像１５０１とマップ１５０４とが並べて表示されている。マップ１５０４には、カメラの位置を表すシンボル１５０２と人物の位置を示すシンボル１５０３とが表示される。人物の位置を示すシンボル１５０３の色は、シンボル１５０３が示す人物とカメラ画像中の人物とが同一人物である場合は、カメラ画像１５０１内の人物シンボルの色と同じものとする。
【００５８】
次に、ステップＳ４１０において、画像取得部１０１は、処理を継続するか否かを判定する。この判定の結果、カメラからさらなるカメラ画像が取得可能で処理を継続する場合はステップＳ４０３に戻り、取得不可で処理を終了する場合はそのまま処理を終了する。
【００５９】
以上のように本実施形態によれば、被写体が存在する可能性のある存在領域をカメラ画像内で予め設定し、存在領域と床面に投影した被写体の位置とを比較するようにした。これにより、外乱光や低照度、混雑、被写体の部分的な隠れ等による被写体の見た目の変化の影響を受けず、さらに遮蔽物の３次元構造によらず、人物の足もとが遮蔽物に隠れているか否かを容易かつ正確に判定することができる。また、人物の足もとが遮蔽物に隠れているか否かを３次元空間で判断することを不要とするとともに、遮蔽物の３次元構造の情報を事前に取得することを不要とするため、容易に被写体の位置を把握することができる。
【００６０】
また、本実施形態によれば、複数のカメラから世界座標系における被写体の位置を算出し、その被写体の足元の座標をカメラ画像の座標系に変換している。したがって、あるカメラに被写体が映っていない場合であっても、他のカメラにその被写体が映っている場合には、カメラ画像において被写体の位置を推定することができ、動線等の位置を正確に決定することができる。
【００６１】
また、本実施形態では、床面上の遮蔽物がない領域を存在領域とすることにより、実在する平面と存在領域とを一致させることができ、容易に存在領域を設定することができる。一方、床面ではない平面上の領域を基準に存在領域を設定してもよい。例えば、被写体の平均的な高さ座標を通る水平な平面上、または床面から一定高さの座標を通る平面を想定し、その平面上で遮蔽物がない領域を存在領域としてもよい。例えば床面に遮蔽物が多く存在し、ある一定高さにおいては遮蔽物が少ないような環境では、その高さの面を基準に存在領域を設定する方が、より正確に動線等を描画することができる。
【００６２】
さらに、水平ではない平面を基準として存在領域を設定してもよく、平面でなく曲面を基準に存在領域を設定するようにしてもよい。例えば段差もしくは坂がある場合など、存在領域の高さ座標が変化する場合においては、曲面を基準に存在領域を設定することにより、被写体の軌跡を示す動線を正確に描画することができる。
【００６３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６４】
１０１  画像取得部
１０２  被写体位置取得部
１０８  存在領域取得部
１０９  描画部
１１２  表示制御部
【図１】
2017103607.tif 000003
【図２】
2017103607.tif 000004
【図３】
2017103607.tif 000005
【図４】
2017103607.tif 000006
【図５】
2017103607.tif 000007
【図６】
2017103607.tif 000008
【図７】
2017103607.tif 000009
【図８】
2017103607.tif 000010
【図９】
2017103607.tif 000011
【図１０】
2017103607.tif 000012
【図１１】
2017103607.tif 000013
【図１２】
2017103607.tif 000014
【図１３】
2017103607.tif 000015
【図１４】
2017103607.tif 000016
【図１５】
2017103607.tif 000017