(57)【要約】【課題】複数のカメラの撮影画像から３次元情報を取得する画像処理装置で、カメラキャリブレーションを容易かつ効率的に行う。【解決手段】監視領域Ｒ内を移動する移動体の移動基準点Ａ、Ｂ、Ｃ、Ｄと、移動体の高さに応じた移動基準点Ａ、Ｂ、Ｃ、Ｄの上方点の３次元座標を画像処理装置２０に設定する。カメラ１０、１１により、移動基準点Ａ、Ｂ、Ｃ、Ｄを頂点に多角形を描くように移動する移動体を順次撮影し、画像処理装置２０により画像処理して各撮影画像から移動体を検出する。検出した移動体の下端と上端の移動軌跡を抽出して、移動基準点と上方点に対応する下端と上端の移動軌跡の頂点を判別し、各頂点の画像上の座標を移動基準点と上方点の３次元座標に対応付ける。各カメラ１０、１１の対応付けした複数対の座標に基づき、カメラ１０、１１毎にカメラキャリブレーションを行う。【選択図】          図１
2011069796.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラで撮影された共通する撮影領域の画像に基づき物体の３次元情報を取得する画像処理装置におけるカメラキャリブレーション方法であって、
撮影領域内を移動する移動体の３つ以上の移動基準点と、移動基準点上方の移動体の高さに応じた上方点の３次元座標を設定する工程と、
複数のカメラにより、移動基準点を頂点に多角形を描くように移動する移動体を撮影する工程と、
移動体の各撮影画像から移動体を検出する工程と、
検出した移動体の下端と上端の移動軌跡をカメラ毎に抽出する工程と、
移動基準点と上方点に対応する下端と上端の移動軌跡の頂点を判別する工程と、
移動軌跡の各頂点の画像上の座標を、移動基準点と上方点の３次元座標に対応付ける工程と、
各カメラの対応付けした複数対の座標に基づき、カメラ毎にキャリブレーション処理を行う工程と、
を有することを特徴とするカメラキャリブレーション方法。
【請求項２】
請求項１に記載されたカメラキャリブレーション方法において、
移動軌跡の頂点を判別する工程が、各移動軌跡から複数の直線を検出する工程と、複数の直線の交点を移動軌跡の頂点として検出する工程と、を有することを特徴とするカメラキャリブレーション方法。
【請求項３】
請求項１又は２に記載されたカメラキャリブレーション方法において、
移動体の下端又は上端の画像上の移動開始座標を取得する工程と、
移動する移動体の下端又は上端の画像上の座標を移動開始座標と比較する工程と、
座標の比較結果に基づき移動体の移動終了を判定する工程と、
を有することを特徴とするカメラキャリブレーション方法。
【請求項４】
複数のカメラで撮影された共通する撮影領域の画像に基づき物体の３次元情報を取得する画像処理装置であって、
撮影領域内を移動する移動体の３つ以上の移動基準点と、移動基準点上方の移動体の高さに応じた上方点の３次元座標を設定する手段と、
移動基準点を頂点に多角形を描くように移動する移動体を撮影した複数のカメラの各撮影画像から移動体を検出する手段と、
検出した移動体の下端と上端の移動軌跡をカメラ毎に抽出する手段と、
移動基準点と上方点に対応する下端と上端の移動軌跡の頂点を判別する手段と、
移動軌跡の各頂点の画像上の座標を、移動基準点と上方点の３次元座標に対応付ける手段と、
各カメラの対応付けした複数対の座標に基づき、カメラ毎にキャリブレーション処理を行う手段と、
を備えたことを特徴とする画像処理装置。
【請求項５】
請求項４に記載された画像処理装置において、
移動軌跡の頂点を判別する手段が、各移動軌跡から複数の直線を検出する手段と、複数の直線の交点を移動軌跡の頂点として検出する手段と、を有することを特徴とする画像処理装置。
【請求項６】
請求項４又は５に記載された画像処理装置において、
移動体の下端又は上端の画像上の移動開始座標を取得する手段と、
移動する移動体の下端又は上端の画像上の座標を移動開始座標と比較する手段と、
座標の比較結果に基づき移動体の移動終了を判定する手段と、
を備えたことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラで共通する領域を撮影し、複数の撮影画像に基づき物体の３次元情報を取得する画像処理装置と、この画像処理装置におけるカメラキャリブレーション方法に関する。
【背景技術】
【０００２】
従来、複数のカメラによる撮影画像を画像処理して、撮影された物体の実空間における３次元位置や距離を計測し、或いは、その形状を判別する等して、物体の３次元情報を取得する画像処理装置が使用されている。また、このような画像処理装置においては、正確な３次元情報を取得するため、予め、各カメラに対してカメラキャリブレーションを行う必要があり、そのための種々の方法や装置が知られている（特許文献１、２、３参照）。
【０００３】
ところで、カメラキャリブレーションは、カメラのパラメータ、又は、そのパラメータから校正される射影行列等を求めることであり、これにより、３次元空間の座標とカメラによる撮影画像の座標の対応関係を求めることができる。なお、射影行列は、撮影画像と３次元空間の座標同士を変換するための行列であり、透視投影行列、射影変換行列、又は投影行列ともいわれる。
【０００４】
これに対し、従来は、カメラの撮影画像上で、３次元空間における３次元座標が既知の点に対応する点を判別して、対応する点同士の座標の対を複数取得し、複数対の座標に基づき、カメラのパラメータや射影行列を算出するのが一般的である。その際、対応付けされた６対以上の座標があれば各算出処理が可能であり、例えば、カメラによる撮影領域内に周囲と区別できる特徴点があるときには、特徴点の３次元座標を設定し、撮影画像で特徴点を特定して複数対の座標を取得する。これにより、複数のカメラ毎に、６対以上の複数対の座標を取得してカメラキャリブレーションを行う。一方、特徴点がないときには、マーカを撮影領域内に設置して特徴点を作り出し、同様に複数対の座標を取得する。
【０００５】
図７は、マーカを使用した従来のカメラキャリブレーションについて説明するための模式図であり、２つのカメラで共通する矩形状の監視領域を撮影し、領域内の物体の３次元位置を計測する画像処理装置の例を示している。また、図では、監視領域を上方から見た平面図で示している。
この例では、図示のように、床面に１０ｍ×１０ｍの監視領域Ｒを設定し、２つのカメラ１０、１１を、監視領域Ｒの隣り合う頂点（図では、点Ａと点Ｂ）の外側に配置して、カメラ１０、１１により監視領域Ｒを異なる方向から撮影する。
【０００６】
カメラキャリブレーションを行うときには、監視領域Ｒの４つの頂点（点Ａ、Ｂ、Ｃ、Ｄ）に、所定高さ（ここでは１６０ｃｍ）の棒状のマーカＭを立てて設置する。この各マーカＭの上端と下端を特徴点として使用し、１つのマーカＭにつき２つ、監視領域Ｒに計８つの特徴点を作り、それぞれに監視領域Ｒにおける３次元座標を設定する。ここでは、点Ａを原点に、互いに直交する３方向（Ｘ、Ｙ、Ｚ方向）を設定し、床面に沿うＸ、Ｙ方向と垂直方向のＺ方向により、ｃｍを単位に３次元座標（Ｘ、Ｙ、Ｚ）を表す。これにより、特徴点の３次元座標は、点ＡのマーカＭの下端が（０、０、０）で上端が（０、０、１６０）等、図示の各座標になる。２つのカメラ１０、１１により監視領域Ｒを撮影し、撮影画像を画像処理して８つの特徴点を自動で抽出し、或いは、マウス等の入力装置で撮影画像毎に８つの特徴点を手動で指定し、画像上の８点の座標を特徴点の３次元座標に対応付ける。この８対の座標に基づき、カメラキャリブレーションを行う。
【０００７】
以上のように、この従来のカメラキャリブレーション方法では、予め、特徴点の数に応じて複数（少なくとも３本）のマーカＭを準備し、かつ、各マーカＭを座標が既知の複数点に同じ状態に設置する必要がある。そのため、この方法では、複数対の座標の取得に面倒な作業を要して手間がかかり、そのために必要な構成や手順が比較的複雑になる傾向がある。また、監視領域Ｒが広いときには、マーカＭをカメラ１０、１１から遠い位置に設置するため、画像上でマーカＭを認識できるように、マーカＭを大きくする必要がある。その際、マーカＭを自動認識するときには、特定し易いように、更に大きなマーカＭが必要となり、複数のマーカＭの準備や設置にかかる手間もより大きくなる。これに対し、手動で特徴点を指定するときには、カメラ毎に同じ手順を繰り返すため、作業時間が長くなり、カメラの数に比例して手間が増大する、という問題が生じる。
【０００８】
一方、１つのマーカＭで複数対の座標を取得するときには、監視領域Ｒの各点にマーカＭを設置する度にカメラにより撮影し、各撮影画像に対して特徴点の抽出や指定を行う。そのため、面倒で煩雑な作業を、時間や労力を消費して繰り返さなければならず、作業者の負担が大きくなる。このように、従来の画像処理装置のカメラキャリブレーション方法では、充分な効率が得られず、手間や負担を軽減する観点から、改良が求められている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−５３５４８号公報
【特許文献２】特開２００７−６４８３６号公報
【特許文献３】特開２００７−２００３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、このような従来の問題に鑑みなされたものであって、その目的は、複数のカメラの撮影画像から３次元情報を取得する画像処理装置で、対応する画像上の座標と３次元座標の複数対を簡単な構成や手順で取得し、そのための手間を軽減しつつ、カメラキャリブレーションを容易かつ効率的に行うことである。
【課題を解決するための手段】
【００１１】
本発明は、複数のカメラで撮影された共通する撮影領域の画像に基づき物体の３次元情報を取得する画像処理装置におけるカメラキャリブレーション方法であって、撮影領域内を移動する移動体の３つ以上の移動基準点と、移動基準点上方の移動体の高さに応じた上方点の３次元座標を設定する工程と、複数のカメラにより、移動基準点を頂点に多角形を描くように移動する移動体を撮影する工程と、移動体の各撮影画像から移動体を検出する工程と、検出した移動体の下端と上端の移動軌跡をカメラ毎に抽出する工程と、移動基準点と上方点に対応する下端と上端の移動軌跡の頂点を判別する工程と、移動軌跡の各頂点の画像上の座標を、移動基準点と上方点の３次元座標に対応付ける工程と、各カメラの対応付けした複数対の座標に基づき、カメラ毎にキャリブレーション処理を行う工程と、を有することを特徴とする。
また、本発明は、複数のカメラで撮影された共通する撮影領域の画像に基づき物体の３次元情報を取得する画像処理装置であって、撮影領域内を移動する移動体の３つ以上の移動基準点と、移動基準点上方の移動体の高さに応じた上方点の３次元座標を設定する手段と、移動基準点を頂点に多角形を描くように移動する移動体を撮影した複数のカメラの各撮影画像から移動体を検出する手段と、検出した移動体の下端と上端の移動軌跡をカメラ毎に抽出する手段と、移動基準点と上方点に対応する下端と上端の移動軌跡の頂点を判別する手段と、移動軌跡の各頂点の画像上の座標を、移動基準点と上方点の３次元座標に対応付ける手段と、各カメラの対応付けした複数対の座標に基づき、カメラ毎にキャリブレーション処理を行う手段と、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、複数のカメラの撮影画像から３次元情報を取得する画像処理装置で、対応する画像上の座標と３次元座標の複数対を簡単な構成や手順で取得でき、そのための手間を軽減しつつ、カメラキャリブレーションを容易かつ効率的に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態の監視装置の概略構成を示す平面図である。
【図２】本実施形態の画像処理装置の概略構成を示す機能ブロック図である。
【図３】複数のカメラによる監視領域の撮影画像を示す模式図である。
【図４】カメラ毎に抽出した移動体の移動軌跡を示す模式図である。
【図５】本実施形態の画像処理装置により移動軌跡の頂点を判別する手順を説明するための模式図である。
【図６】本実施形態の画像処理装置によるカメラキャリブレーションの手順を示すフローチャートである。
【図７】マーカを使用した従来のカメラキャリブレーションについて説明するための模式図である。
【発明を実施するための形態】
【００１４】
以下、本発明の画像処理装置と、この画像処理装置におけるカメラキャリブレーション方法の一実施形態について、図面を参照して説明する。
本実施形態の画像処理装置は、３次元空間（実空間）における物体の位置や形状に関する情報（３次元情報）を取得するための画像処理を実行する装置であり、カメラ等とともに３次元情報の取得装置を構成する。以下では、画像処理装置を、所定の監視領域を監視する監視装置で使用する場合を例に採り説明する。
【００１５】
図１は、本実施形態の監視装置の概略構成を示す平面図であり、各構成を監視領域に設置した状態を上方から見て模式的に示している。
監視装置１は、図示のように、監視領域Ｒを横方向から撮影する複数のカメラ１０、１１と、カメラ１０、１１が有線又は無線接続された制御装置を兼ねる画像処理装置２０とを備えている。監視領域Ｒは、地面や床面等に設定される監視対象の領域であり、ここでは、４つの点Ａ、Ｂ、Ｃ、Ｄを結んだ１０ｍ×１０ｍの矩形状の領域が設定されている。
【００１６】
複数（ここでは２つ）のカメラ１０、１１は、監視領域Ｒに向けて互いに離間して配置され、この予め設定された共通の監視領域Ｒ（撮影領域）を互いに異なる方向から、又は視差を有するように同期して撮影し、監視領域Ｒの全体を含む画像を撮影する。本実施形態では、２つのカメラ１０、１１を、監視領域Ｒの隣り合う頂点（図では、点Ａと点Ｂ）の外側に、光軸を水平にして対称に配置し、それぞれ監視領域Ｒを点Ａ、Ｂ側から撮影して、異なる水平方向から見た監視領域Ｒを、その内部の物体を含めて撮影する。このカメラ１０、１１は、画像を撮影する市販のデジタルカメラやデジタルビデオカメラ等からなり、画像処理装置２０により制御されて、監視領域Ｒの画像を連続して、又は所定の間隔やタイミングで同期して撮影する。また、カメラ１０、１１は、それぞれ撮影素子上に結像した画像を電気信号に変換等して、撮影画像の画像データを画像処理装置２０へ出力する。
【００１７】
画像処理装置２０は、ＣＰＵ（Central Processing Unit）２１、制御や画像処理のための各種プログラムを格納するＲＯＭ（Read Only Memory）２２、及びＣＰＵ２１が直接アクセスするデータを一時的に格納するＲＡＭ（Random Access Memory）２３等を備えたコンピュータから構成されている。また、画像処理装置２０は、監視装置１の各部と接続するための接続手段を備え、接続手段を介して画像データや制御信号を含む各種データを送受信する。画像処理装置２０は、所定のプログラムに基づき、画像処理や制御のための処理を実行しつつ、装置各部を制御して予め設定されたタイミングや条件で動作させる。
【００１８】
これにより、画像処理装置２０は、複数のカメラ１０、１１で共通する撮影領域である監視領域Ｒを撮影させ、撮影された監視領域Ｒの複数の撮影画像に基づき所定の画像処理を施して、画像中に撮影された物体の３次元情報を取得する。監視装置１は、この画像処理装置２０により、監視領域Ｒ内の物体の３次元位置を計測する等して、監視に必要な情報を取得する。また、カメラキャリブレーション時には、画像処理装置２０は、各カメラ１０、１１による撮影画像上の座標（２次元平面における座標）を、監視領域Ｒの３次元座標（３次元空間における座標）に対応付けて、カメラ１０、１１毎にキャリブレーション処理する。
【００１９】
ここで、本実施形態では、マーカの代わりに、高さが既知の１つの移動体により監視領域Ｒ内に６つ以上の特徴点を作り、移動体を２つのカメラ１０、１１により撮影してカメラキャリブレーションを行う。その際、撮影領域Ｒ内に３つ以上の移動体の移動基準点を予め設定し、所定高さの移動体を、移動基準点を頂点に、それらを結んで多角形（例えば、三角形、四角形、五角形等）を描くように撮影領域Ｒ内で移動させる。この移動基準点は、移動体の移動面に設定される撮影領域Ｒ内の特定位置（特定点）であり、予め測量等して位置が指定されて３次元座標が把握される。また、移動体は、所定の移動基準点から移動を開始し、予め定められた順序で移動基準点間を直線的に移動するとともに、各移動基準点で移動方向を明確に変化させて屈曲し、直線移動と屈曲とを順に繰り返して、移動を開始した移動基準点まで移動する。
【００２０】
ここでは、撮影領域Ｒの４つの頂点（点Ａ、Ｂ、Ｃ、Ｄ）を移動基準点として使用し、身長が既知の人を移動体として点Ａから移動を開始させ、点Ｂ、Ｃ、Ｄの順に移動させて点Ａで移動を停止させる。２つのカメラ１０、１１により、この移動する移動体を順次撮影し、画像処理装置２０により撮影画像を画像処理して、移動体の下端の移動軌跡から移動基準点に対応する屈曲点（頂点）を判別する。また、移動体の上端の移動軌跡からも、移動体の高さ（ここでは身長）に対応する移動基準点の上方点を判別し、各点Ａ、Ｂ、Ｃ、Ｄで２つずつ、計８つの特徴点を判別する。カメラ１０、１１毎に、これら８つの特徴点の３次元座標と画像上の座標とを対応付け、取得した８対の座標に基づき、カメラキャリブレーションを行う。以下、この画像処理装置２０によるカメラキャリブレーションの処理について、具体的に説明する。
【００２１】
図２は、画像処理装置２０の概略構成を示す機能ブロック図であり、接続された他の構成もブロックで模式的に示している。
画像処理装置２０は、図示のように、内部の各部が互いに接続されるとともに、出力部３０を介して画像や情報等を表示する表示装置１２が、入力部３１を介して２つのカメラ１０、１１とキーボードやマウス等の入力装置１３が接続されている。また、画像処理装置２０は、画像処理や監視装置１による監視処理を制御する制御部３２と、処理条件や画像等の各種情報を記憶する記憶部３３とを有し、記憶部３３に、画像処理やカメラキャリブレーションに関する設定や条件を記憶する。更に、画像処理装置２０は、設定部３４、移動体検出部３５、移動軌跡抽出部３６、座標取得部３７、及び、カメラキャリブレーション部３８を有し、これらにより、監視領域Ｒを移動する移動体の撮影画像を画像処理してカメラキャリブレーションを実行する。
【００２２】
設定部３４は、作業者等による入力装置１３を使用した入力に基づき、監視領域Ｒ内の複数の特徴点の３次元座標を設定する。ここでは、特徴点は、移動基準点（点Ａ、Ｂ、Ｃ、Ｄ）であり、点Ａを原点に、互いに直交する３方向（Ｘ、Ｙ、Ｚ方向）を設定し、各点の設定面に沿うＸ、Ｙ方向と、垂直方向のＺ方向とにより、ｃｍを単位に３次元座標（Ｘ、Ｙ、Ｚ）を設定する。ここでは、入力装置１３を介した各点の座標の入力に基づき、設定部３４は、点Ａは（０、０、０）、点Ｂは（１０００、０、０）、点Ｃは（１０００、１０００、０）、点Ｄは（０、１０００、０）と各座標を設定し、設定した座標を記憶部３３に記憶させる。また、各移動基準点から移動体の高さ（ここでは移動する人の身長１６０ｃｍ）分だけ垂直方向上方に、特徴点である上記した移動基準点の上方点が位置しており、その位置の３次元座標も設定する。これにより、点Ａの上方点は（０、０、１６０）、点Ｂの上方点は（１０００、０、１６０）、点Ｃの上方点は（１０００、１０００、１６０）、点Ｄの上方点は（０、１０００、１６０）と各座標を設定し、計８つの特徴点の座標を記憶部３３に記憶させる。
【００２３】
画像処理装置２０は、このようにして、設定部３４により、監視領域Ｒ内を移動する移動体の３つ以上の移動基準点と、移動基準点上方の移動体の高さに応じた上方点の３次元座標を設定する。また、３次元座標の設定に合わせて、移動体が移動を開始する所定の移動基準点と移動の順序を、ここでは、点Ａから移動を開始して、点Ａ、Ｂ、Ｃ、Ｄ、Ａの順に移動して移動を終了すると設定し、設定情報を記憶する。その後、監視領域Ｒ内に他に人がいない状態で、移動体を点Ａに位置させて撮影開始が指示されると、画像処理装置２０は、複数のカメラ１０、１１を作動させて監視領域Ｒの撮影を開始させる。この複数のカメラ１０、１１により、点Ａから移動を開始し、かつ、上記のように移動基準点を頂点に多角形（ここでは四角形）を描くように移動する移動体を連続して撮影する。これにより、画像処理装置２０は、移動体が再び点Ａに戻るまで、入力部３１を介して、各カメラ１０、１１による移動体の撮影画像を順次取得する。
【００２４】
移動体検出部３５は、移動体の撮影画像に基づき、監視領域Ｒ内の移動体を検出する手段であり、各カメラ１０、１１から順次取得する移動体の撮影画像から、移動体と移動体の位置を画像毎に検出する。その際、移動体検出部３５は、背景差分法やフレーム間差分法により移動体を検出し、検出結果を記憶部３３に記憶させる。背景差分法では、移動体のいない監視領域Ｒの背景画像を予め取得し、背景画像と各撮影画像を比較して、その差分等から移動体を検出する。一方、フレーム間差分法では、連続して撮影されたフレーム画像同士を比較し、その差分等から移動体を検出する。画像処理装置２０は、この移動体検出部３５により、複数のカメラ１０、１１毎に、それらの各撮影画像から移動体を検出し、移動体の位置の変化を経時的に把握する。
【００２５】
移動軌跡抽出部３６は、移動体検出部３５による検出結果に基づき、検出した移動体の下端と上端の位置（座標）を順に取得し、それらを各カメラ１０、１１の画像上でトラッキングする。移動軌跡抽出部３６は、このように取得した下端と上端の各座標同士を順に繋いで、検出した移動体の下端と上端の画像上の移動軌跡をカメラ１０、１１毎に抽出し、それぞれ記憶部３３に記憶させる。
【００２６】
図３は、カメラ１０、１１による監視領域Ｒの撮影画像を示す模式図であり、図３Ａは一方のカメラ１０による撮影画像の例を、図３Ｂは他方のカメラ１１による撮影画像の例を示している。また、図４は、カメラ１０、１１毎に抽出した移動体の移動軌跡を示す模式図であり、図４Ａは一方のカメラ１０の移動軌跡の例を、図４Ｂは他方のカメラ１１の移動軌跡の例を示している。
２つのカメラ１０、１１は、配置位置に応じて異なる方向から監視領域Ｒを撮影し、一方のカメラ１０（図３Ａ参照）は点Ａ側から、他方のカメラ１１（図３Ｂ参照）は点Ｂ側から、それぞれ監視領域Ｒを撮影する。
【００２７】
移動軌跡抽出部３６は、各カメラ１０、１１の画像上で、それぞれ点Ａから移動を開始する移動体の移動軌跡（図４参照）を、互いにずれた下端と上端の２つ抽出する。移動体の下端の移動軌跡４０Ａ、４０Ｂ（図４では太線で示す）は、移動体と、その移動面との接触部を主に繋いで、移動基準点である点Ａ、Ｂ、Ｃ、Ｄを頂点Ｓにした四角形状に抽出される。一方、移動体の上端の移動軌跡４１Ａ、４１Ｂ（図４では中線で示す）は、移動体の頂部を主に繋いで、移動基準点の上方点を頂点Ｓにした四角形状に抽出される。また、上端の移動軌跡４１Ａ、４１Ｂは、下端の移動軌跡４０Ａ、４０Ｂに近似した形状をなし、その上方に対応する位置に抽出される。これら移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂは、直線状の部分に、移動体の上下動や移動動作、又は、移動方向の変化等に応じた微小な変動が生じるものの、それらの間の移動基準点や上方点で大きく変化して、全体として四角形状に形成される。
【００２８】
画像処理装置２０は、各移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂに基づき、その形状や大きな変化点等から、座標取得部３７（図２参照）の頂点判別部３７Ａにより、下端と上端の移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂの頂点Ｓを判別し、各頂点Ｓの画像上の座標を取得する。下端の移動軌跡４０Ａ、４０Ｂの頂点Ｓは、それぞれ移動基準点（点Ａ、Ｂ、Ｃ、Ｄ）に対応し、その位置等から対応する移動基準点が判別される。これに対し、上端の移動軌跡４１Ａ、４１Ｂの頂点Ｓは、それぞれ移動基準点の上方点に対応し、その位置等から対応する上方点が判別される。
【００２９】
図５は、本実施形態の画像処理装置２０により移動軌跡４０Ａ、４１Ａの頂点Ｓを判別する手順を説明するための模式図であり、一方のカメラ１０の移動軌跡４０Ａ、４１Ａを示している。また、図５Ａは下端の移動軌跡４０Ａから、図５Ｂは上端の移動軌跡４１Ａから、それぞれ頂点Ｓを判別した状態を示している。
ここでは、頂点判別部３７Ａは、下端の移動軌跡４０Ａ（図５Ａ参照）の情報から、まず、ハフ変換等の直線検出処理により４つの直線５０、５１、５２、５３を検出する。この直線５０、５１、５２、５３は、移動体が直線的に移動した移動基準点間の移動軌跡４０Ａが、移動基準点と同数の直線として検出され、それぞれ両端側で他の直線５０、５１、５２、５３と交差する。続いて、検出した４つの直線５０、５１、５２、５３を用いて、移動軌跡４０Ａの頂点Ｓに対応する直線５０、５１、５２、５３の４つの交点を検出し、交点の座標を取得する。
【００３０】
このように、頂点判別部３７Ａは、各移動軌跡４０Ａから互いに交差する複数の直線５０、５１、５２、５３を検出する手段と、複数の直線５０、５１、５２、５３の交点を求めて、各交点を移動軌跡４０Ａの頂点Ｓとして検出する手段とを有する。また、座標取得部３７は、移動軌跡情報の収集を開始した周辺の交点を判別し、判別した交点を、移動体が移動を開始した移動基準点（ここでは点Ａ）と対応させる。続いて、座標取得部３７は、予め設定された移動体の移動順序の情報に基づき、移動軌跡４０Ａから順次検出される交点を点Ｂ、Ｃ、Ｄと対応させ、それぞれ交点に対応する移動基準点を判別する。同様に、座標取得部３７は、上端の移動軌跡４１Ａ（図５Ｂ参照）から４つの直線５４、５５、５６、５７と交点を検出し、検出した交点に対応する移動基準点の上方点を判別する。
【００３１】
その後、座標取得部３７は、座標対応付け部３７Ｂ（図２参照）により、移動軌跡４０Ａ、４１Ａの交点（各頂点Ｓ）の撮影画像上の座標を、予め設定された移動基準点と上方点の上記した３次元座標にそれぞれ対応付ける。座標取得部３７は、他方のカメラ１１に対しても同様に、移動軌跡４０Ｂ、４１Ｂの各頂点Ｓの撮影画像上の座標を、移動基準点と上方点の３次元座標に対応付ける。これにより、座標取得部３７は、カメラ１０、１１毎に、対をなす座標（座標対）を６対以上の複数対（ここでは８対）取得する。
【００３２】
画像処理装置２０は、これら各カメラ１０、１１の対応付けした複数対の座標に基づき、カメラキャリブレーション部３８により、カメラ１０、１１毎に所定のキャリブレーション処理（カメラキャリブレーション）を行う。カメラキャリブレーション部３８では、カメラ１０、１１毎に、複数対の３次元座標と画像上の座標の対応関係を算出する。その結果に基づき、画像上の座標を３次元座標に変換するために必要な各カメラ１０、１１のパラメータ、又は、パラメータから校正される両座標間の射影を定める射影行列を求める等してカメラキャリブレーションを行う。画像処理装置２０は、これらパラメータや射影行列等のカメラキャリブレーションの結果から、３次元情報の取得に使用する条件や情報を更新し、それぞれカメラ１０、１１に対応させて記憶部３３に記憶する。
【００３３】
以上に加えて、本実施形態では、移動体の撮影開始（移動開始）に伴い、制御部３２が、一方又は両方のカメラ１０、１１による撮影画像に基づき、移動体の下端又は上端の画像上の移動開始座標を取得する。また、制御部３２は、移動基準点間を移動する移動体の下端又は上端の画像上の座標を移動軌跡抽出部３６から順次取得し、取得した座標を対応する移動開始座標と比較する。この座標の比較結果に基づき、対応する座標同士が近づいて差が所定範囲内になったときに、制御部３２は、移動体の移動が終了したと判定して、移動体の撮影や検出等を停止させ、上記したキャリブレーション処理を開始させる。
【００３４】
次に、この監視装置１の画像処理装置２０により、カメラキャリブレーションを行う処理や手順の流れについて説明する。
図６は、画像処理装置２０によるカメラキャリブレーションの手順を示すフローチャートである。
まず、測量等により、監視領域Ｒの頂点（図１の点Ａ、Ｂ、Ｃ、Ｄ）を指定して監視対象の監視領域Ｒを決定し（Ｓ１０１）、複数（ここでは２つ）のカメラ１０、１１を、監視領域Ｒの全体を撮影できるよう所定位置に設置する（Ｓ１０２）。
【００３５】
次に、画像処理装置２０に初期設定を行い（Ｓ１０３）、監視領域Ｒ内に位置する６つ以上の特徴点の座標や、移動体が移動を開始する移動基準点と移動の順序を含めて、カメラキャリブレーションに必要な各条件や情報を入力等して設定する。その際、特徴点として、撮影領域（監視領域Ｒ）内を移動する移動体（ここでは人）の３つ以上の移動基準点と、移動基準点上方の移動体の高さに応じた上方点の３次元座標を設定する。これにより、移動基準点に監視領域Ｒの４つの頂点（点Ａ、Ｂ、Ｃ、Ｄ）の座標を、上方点に各頂点から人の身長分高い４つの座標を設定し、計８つの特徴点の座標を記憶させる。続いて、スタートの指示により（Ｓ１０４）、複数のカメラ１０、１１による監視領域Ｒの撮影を開始し、所定の移動基準点（ここでは点Ａ）から移動体の移動を開始させる。このカメラ１０、１１により移動体を上下端部を判別可能に撮影し、移動開始時の移動体の画像を取得する（Ｓ１０５）。また、撮影画像から、移動体検出部３５により移動体を検出し（Ｓ１０６）、移動体の下端又は上端の画像上の移動開始座標を取得して記憶する（Ｓ１０７）。
【００３６】
続いて、移動体が点Ａ、Ｂ、Ｃ、Ｄ、Ａの順に直線的に移動する間、この移動基準点を頂点に多角形を描くように移動する移動体を複数のカメラ１０、１１により撮影する。また、これら撮影画像を順次取得し（Ｓ１０８）、移動体検出部３５により、移動体の各撮影画像から移動体を検出し（Ｓ１０９）、移動軌跡抽出部３６により、検出した移動体の下端と上端の座標を取得する。これにより、移動体の下端と上端をトラッキングし、それらの座標情報及び移動軌跡情報をカメラ１０、１１毎に記憶する（Ｓ１１０）。
【００３７】
次に、制御部３２により、スタートから所定時間が経過したか否かを確認する（Ｓ１１１）。その結果、所定時間が経過していないときには（Ｓ１１１−ＮＯ）、移動体の移動終了には早い時間であり、移動体が移動開始点Ａに近いか、又は移動途中であるとして、次の撮影画像を取得する（Ｓ１０８）。画像処理装置２０は、所定時間が経過するまで、撮影画像からの移動体の検出と下端及び上端の座標の取得を繰り返す（Ｓ１０８〜Ｓ１１１−ＮＯ）。これにより所定時間が経過したときには（Ｓ１１１−ＹＥＳ）、制御部３２により、移動する移動体の下端又は上端の画像上の座標を、対応する移動開始座標と比較する。この比較結果に基づき、最新の座標が移動開始座標に近い（座標間の差が所定範囲内）か否かを判定し（Ｓ１１２）、それらが近くなるまで、以上の手順を繰り返す（Ｓ１１２−ＮＯ）。一方、座標同士が近いと判定されたときには（Ｓ１１２−ＹＥＳ）、移動体が移動開始点Ａまで戻り、移動を終了したと判定する。
【００３８】
このように、画像処理装置２０は、座標の比較結果に基づき移動体の移動終了を判定し、移動終了に応じて、移動体の撮影や画像取得、及び、移動体の検出や座標の取得を終了する。続いて、取得した座標に基づき、移動軌跡抽出部３６により、検出した移動体の下端と上端の移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂ（図４参照）をカメラ１０、１１毎に抽出する。次に、抽出した移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂから、頂点判別部３７Ａにより、移動体の移動基準点と上方点に対応する下端と上端の移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂの頂点Ｓを判別する。その際、各移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂから、ハフ変換等を用いて互いに交差する複数の直線（図５参照）を検出し（Ｓ１１３）、複数の直線の交点を移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂの頂点Ｓとして検出する（Ｓ１１４）。
【００３９】
続いて、画像処理装置２０は、交点（頂点Ｓ）の画像上の座標を取得し、座標取得部３７及び座標対応付け部３７Ｂにより、複数の頂点Ｓを、それぞれ複数の移動基準点と上方点に対応させる。これにより、移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂの各頂点Ｓの画像上の座標を、予め設定された移動基準点と上方点の３次元座標に対応付け、カメラ１０、１１毎に複数対の座標を取得する。その後、カメラキャリブレーション部３８により、各カメラ１０、１１の対応付けした複数対の座標に基づき、カメラ１０、１１毎に、上記のように座標同士の対応関係を算出（Ｓ１１５）する等して、キャリブレーション処理（カメラキャリブレーション）を行う。画像処理装置２０は、複数のカメラ１０、１１に対して、同時にカメラキャリブレーションを行い、その処理を終了させて、以降の３次元情報の取得まで待機する。
【００４０】
以上説明したように、この画像処理装置２０では、移動基準点間を移動する移動体（ここでは人）により特徴点を作り、移動体が移動するだけで、自動的に特徴点に対応する画像上の点を判別し、画像上の座標と３次元座標とを対応付ける。そのため、キャリブレーション処理に必要な複数対の座標を、面倒な作業や手間をかけずに、かつ、比較的簡単な構成や手順で取得でき、カメラキャリブレーションの効率を高めることができる。また、従来のように、特徴点の数に応じたマーカを予め準備して各々設置する必要がなく、画像上の特徴点の指定を手動で繰り返す必要もないため、作業者の負担を軽減して作業時間も短縮できる。同時に、面倒で煩雑な作業を繰り返すことなく、カメラキャリブレーションを容易に行え、そのための時間や労力を削減して負担も軽減できる。
【００４１】
従って、本実施形態によれば、複数のカメラ１０、１１の撮影画像から３次元情報を取得する画像処理装置２０で、対応する画像上の座標と３次元座標の複数対を簡単な構成や手順で取得でき、そのための手間を軽減しつつ、カメラキャリブレーションを容易かつ効率的に行うことができる。その際、人を移動体にすると、移動体を別途準備したり、移動体を操作して移動させたりする必要がないため、構成や手間をより低減させて、一層容易なカメラキャリブレーションを実現できる。また、複数のカメラ１０、１１で同時に撮影することで、各カメラキャリブレーションの処理も同時進行が可能であり、カメラの数が増えても、カメラキャリブレーションの効率や容易性を同程度に維持して手間の増加を抑制できる。
【００４２】
更に、移動体の下端又は上端の移動開始座標と順次検出される各座標を比較して移動体の移動終了を判定することで、自動で移動体の移動終了を認識できる。これにより、移動終了の判断や指示等のための手間をなくしつつ、以降の処理に自動で移行させることもでき、処理を円滑かつ遅滞なく進行させて効率をより向上できる。加えて、各移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂから複数の直線を検出して、その交点を移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂの頂点Ｓとして検出するときには、移動軌跡４０Ａ、４０Ｂ、４１Ａ、４１Ｂの変動に関わらず、移動基準点と上方点に対応する頂点Ｓを比較的正確に検出できる。その結果、複数対の座標をより正確に対応させて、カメラキャリブレーションの精度を高めることができる。
【００４３】
なお、本実施形態では、四角形を描くように移動体を移動させる例を説明したが、監視領域Ｒ内には、上記のように６つ以上の特徴点を作ればよいため、移動体は、三角形以上の多角形を描くように移動させればよい。また、移動体は、監視領域Ｒ内で移動させればよく、監視領域Ｒの頂点を結んで移動させる以外に、その内部で多角形を描くように移動させてもよい。ただし、より離れた位置の座標を対応付けに用いるほど、カメラキャリブレーション精度の向上効果が高くなるため、移動体は、監視領域Ｒ内の広い範囲を移動させるのが望ましい。
【符号の説明】
【００４４】
１・・・監視装置、１０、１１・・・カメラ、１２・・・表示装置、１３・・・入力装置、２０・・・画像処理装置、２１・・・ＣＰＵ、２２・・・ＲＯＭ、２３・・・ＲＡＭ、３０・・・出力部、３１・・・入力部、３２・・・制御部、３３・・・記憶部、３４・・・設定部、３５・・・移動体検出部、３６・・・移動軌跡抽出部、３７・・・座標取得部、３７Ａ・・・頂点判別部、３７Ｂ・・・座標対応付け部、３８・・・カメラキャリブレーション部、４０Ａ、４０Ｂ、４１Ａ、４１Ｂ・・・移動軌跡、Ｒ・・・監視領域、Ｓ・・・頂点。
【図１】
2011069796.tif 000003
【図２】
2011069796.tif 000004
【図３】
2011069796.tif 000005
【図４】
2011069796.tif 000006
【図５】
2011069796.tif 000007
【図６】
2011069796.tif 000008
【図７】
2011069796.tif 000009