(58)【調査した分野】(Int.Cl.,DB名)
前記複数の入力画像は、広範囲な周囲の光を反射可能な形状を有する複数の鏡と、前記複数の鏡で反射される光を撮像する1つ以上のカメラとを備える撮像装置によって撮影された画像から得られる
請求項1〜5のいずれか1項に記載の測位処理装置。
前記光線情報保存部は、前記複数の入力画像に対応する複数の光学系において共通する基準点からの距離が互いに異なる2種類以上の光源が撮影された画像に基づいて、前記複数の入力画像内の少なくとも2つの画素に対応する前記光線ベクトルをそれぞれ計算し、計算した前記光線ベクトルを前記少なくとも2つの画素の各々に対応づけた前記光線情報を保存する
請求項1〜7のいずれか1項に記載の測位処理装置。
前記光線情報保存部は、前記光線ベクトルを前記複数の入力画像内の特定画素に対応付けた前記光線情報を保存しており、前記特定画素以外の画素およびサブ画素の光線ベクトルを補間計算により計算する
請求項8に記載の測位処理装置。
前記測位枠検出部は、人物、顔および特定物体の少なくとも1つの画像から抽出された特徴量が学習された学習データベースを参照することにより、前記少なくとも1つの入力画像の中から人物、顔および特定物体の少なくとも1つが映っている領域を、画像認識技術を用いて検出し、検出された領域を囲む枠を前記測位枠として検出する
請求項10に記載の測位処理装置。
【発明を実施するための形態】
【0018】
以下本発明の実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、本発明の一例であり、本発明を限定する主旨ではない。本発明は、請求の範囲の記載によって限定される。したがって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素は、本発明の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
【0019】
(実施の形態1)
図1は、本発明の実施の形態1における測位処理システムの構成を示すブロック図である。
【0020】
図1において、測位処理システムは、測位処理装置100と測位点指定部121と測位結果表示部122とを備える。
【0021】
測位点指定部121は、互いに異なる視点から測位対象が撮影された第1入力画像111および第2入力画像112のうちの一方の画像上において、測位対象が位置する点(測位点)の画像座標を指定する。そして、測位点指定部121は、測位点の画像座標を測位処理装置100が備えるエピポーラ平面計算部101へ送信する。
【0022】
測位結果表示部122は、測位処理装置100によって測定された測位対象の3次元位置を示す情報を画面上に表示する。
【0023】
測位処理装置100は、互いに異なる視点から撮影された複数の入力画像(ここでは、第1入力画像111および第2入力画像112が含まれる)に基づいて、測位対象の3次元位置を測定する。
図1に示すように、測位処理装置100は、測位部110と、光線情報保存部102とを備える。
【0024】
測位部110は、光線情報保存部102に保存されている光線情報を用いて、測位対象の3次元位置を測定する。具体的には、測位部110は、エピポーラ平面計算部101と、エピポーラ画像作成部103と、対応点計算部104と、測位点計算部105とを備える。
【0025】
エピポーラ平面計算部101は、光線情報を用いて、第1入力画像111に対応する第1光学系の位置と、第2入力画像112に対応する第2光学系の位置と、測位対象の位置とによって形成されるエピポーラ平面を計算する。具体的には、エピポーラ平面計算部101は、測位点指定部121によって指定された測位点の画像座標と、光線情報保存部102に保存されている光線情報とに基づいて、エピポーラ平面を計算する。そして、エピポーラ平面計算部101は、エピポーラ平面を示す情報をエピポーラ画像作成部103へ送る。
【0026】
エピポーラ画像作成部103は、エピポーラ平面の法線ベクトルと、第1入力画像111および第2入力画像112の各々におけるエピポーラ線ベクトルとに基づいて、第1入力画像111に対応する第1エピポーラ画像と、第2入力画像112に対応する第2エピポーラ画像とを作成する。具体的には、エピポーラ画像作成部103は、測位点指定部121によって指定された測位点の画像座標と、エピポーラ平面を示す情報と、第1入力画像111および第2入力画像112と、光線情報保存部102に保存されている光線情報とに基づいて、エピポーラ画像を作成する。そして、エピポーラ画像作成部103は、エピポーラ画像を対応点計算部104へ送信する。
【0027】
対応点計算部104は、エピポーラ画像作成部103によって生成されたエピポーラ画像に基づいて、測位点指定部121によって指定された測位点に対応する点であって、測位点を含む画像とは異なる視点から撮影された画像上の点である対応点の画像座標を計算する。具体的には、対応点計算部104は、第1エピポーラ画像内の測位対象が映っている画素である測位点に対応する、第2エピポーラ画像内の画素である対応点を計算する。そして、対応点計算部104は、対応点の画像座標を測位点計算部105へ送る。
【0028】
測位点計算部105は、測位点指定部121によって指定された測位点の画像座標と、対応点計算部104によって計算された対応点の画像座標と、光線情報保存部102に保存されている、測位点および対応点の各々の画像座標に対応する光線ベクトルに基づいて、測位対象の3次元位置を計算する。つまり、測位点計算部105は、測位点に対応する光線ベクトルと対応点に対応する光線ベクトルとが交差する3次元位置を、測位対象の3次元位置として計算する。そして、測位点計算部105は、計算した3次元位置を示す座標を測位結果表示部122へ送る。
【0029】
次に、互いに異なる視点から撮影された第1入力画像および第2入力画像を得るための撮像装置の一例を、
図2を用いて簡単に説明する。
【0030】
図2は、本発明の実施の形態1における撮像装置の一例を説明するための図である。
図2において、撮像装置は、カメラ201と、放物面鏡である主鏡202と、各々が放物面鏡である4つの副鏡(副鏡203を含む)と、防塵・防水用のアクリル製のドーム205とを備える。
【0031】
本実施の形態では、カメラ201と主鏡202とドーム205とによって第1光学系が構成されている。また、カメラ201と副鏡203とドーム205とによって第2光学系が構成されている。
【0032】
また、撮影画像211は、カメラ201で撮影された画像であり、主鏡202および副鏡203で反射した光によって形成される全方位画像を含む。
【0033】
主鏡画像222は、撮影画像211内で主鏡202が映る領域212を切り出した画像であり、
図1における第1入力画像111に相当する。副鏡画像223は、撮影画像211内で副鏡203が映る領域213を切り出した画像であり、
図1における第2入力画像112に相当する。主鏡画像222および副鏡画像223の各々には、測位対象204の像が含まれている。
【0034】
主鏡画像222および副鏡画像223は、例えば、カメラと接続されたコンピュータにおいて、画像処理等のプログラムを用いて撮影画像211から作成される。また、本実施の形態では、主鏡画像222内で測位対象204が映っている点が測位点224として指定される場合について説明する。
【0035】
なお、
図2に示す撮像装置は、第1入力画像111および第2入力画像112を得るための撮像装置の一例であり、撮像装置は、必ずしもこのような構成である必要はない。例えば、撮像装置は、双曲面鏡とカメラとを含む全方位センサーが2台並べられた構成であってもよい。また、撮像装置は、魚眼カメラが2台並べられた構成であってもよい。つまり、撮像装置は、互いに異なる視点から複数の画像を撮影できれば、どのように構成されてもよい。
【0036】
次に、光線情報保存部102に保存されている光線情報ついて説明する。
【0037】
図3は、本発明の実施の形態1における光線情報の一例を説明するための図である。
【0038】
光線情報とは、光学系の外部から入射する光線の進行方向を、カメラ201で撮影された撮影画像211内の各画素に対応付けた情報である。光線情報は、例えば、
図4に示す画素単位テーブル401のように、主鏡画像222および副鏡画像223内の画素を識別するための画素番号と、光線の進行方向を示す位置(X、Y、Z)および方向(X、Y、Z)とで表現される。
【0039】
ここで、光線の進行方向を光線ベクトルとも呼ぶ。また、位置を位置ベクトルとも呼ぶ。また、方向を方向ベクトルとも呼ぶ。光線ベクトルは、位置ベクトルと方向ベクトルとで構成され、主鏡画像222および副鏡画像223に含まれる各画素と対応関係がある。
【0040】
次に、光線情報を作成する方法の一例を説明する。
【0041】
図5は、本発明の実施の形態1における光線情報を作成する方法の一例を説明するための図である。
【0042】
図5に示すように、第1点光源503は、撮像装置のカメラ原点500から3m離れて設置されている。また、第2点光源504は、カメラ原点500から10m離れて設置されている。この第1点光源503および第2点光源504が撮影された画像に基づいて、光線の進行方向を示す光線ベクトルが計算される。
【0043】
カメラ原点500は、カメラ501の光軸とドーム502の天板との交点である。このカメラ原点500は、複数の入力画像に対応する複数の光学系において共通する基準点に相当する。
【0044】
なお、本実施の形態では、光線情報を作成するための画像を撮影する際に、第1点光源503および第2点光源504の位置を変化させる代わりに、撮像装置の姿勢を変化させる。そこで、撮像装置の姿勢を変化させるための構成を以下に説明する。
【0045】
Roll回転台505は、その回転軸がカメラ201の光軸と一致するように設置されており、撮像装置をRoll方向に回転させる。Tilt回転台506は、その回転軸がカメラ501の光軸(つまり、Roll回転台505の回転軸)と直交するように設置されており、Roll回転台505をTilt方向に回転させる。Roll回転台505およびTilt回転台506は、ステッピングモーターあるいはサーボモーター等が内蔵された回転ステージ等を用いて実現できる。
【0046】
以下において、Roll回転台505の回転軸をRoll回転軸と呼び、Tilt回転台506の回転軸をTilt回転軸と呼ぶ。
【0047】
撮影画像511は、Roll回転台505およびTilt回転台506を回転させて撮影した時に得られる画像である。Roll回転台505を回転させた場合、撮影画像511上では、第1点光源503および第2点光源504の像は、Roll回転軸を中心として円状に移動する。また、Tilt回転台506を回転させた場合、撮影画像511上では、第1点光源503および第2点光源504の像は、Roll回転軸からの距離(つまり、Roll回転における円の半径)が変化する。
【0048】
したがって、Roll回転台505およびTilt回転台506の回転を制御することで、撮影画像511上の任意の領域に、第1点光源503および第2点光源504の像を移動させることが可能である。
【0049】
図6は、本発明の実施の形態1における点光源計測結果テーブルの一例を示す図である。
【0050】
図6は、本発明の実施の形態1における点光源の計測結果を説明するための図である。点光源計測結果テーブル601は、RollおよびTiltの回転角度に対応づけて、第1点光源503および第2点光源504の像の画像座標を格納している。なお、点光源計測結果テーブル601には、主鏡画像および副鏡画像の各々について画像座標が格納されている。
【0051】
また、第1点光源503および第2点光源504の像の画像座標は、主鏡画像および副鏡画像内において高輝度領域を検出することにより計算される。この場合、撮像装置は、第1点光源503および第2点光源504を暗室で撮影することが好ましい。これにより、第1点光源503および第2点光源504の像を、輝度の閾値処理等の一般的な画像処理で簡単に検出することが可能となる。
【0052】
点光源計測結果テーブル602は、RollおよびTiltの回転角度に対応づけて、第1点光源503および第2点光源504の世界座標(3次元座標)を格納している。この点光源計測結果テーブル602は、点光源計測結果テーブル601に格納されているRoll角度およびTilt角度に応じた第1点光源503および第2点光源504の3次元座標を特定するためのテーブルである。
【0053】
この第1点光源503および第2点光源504の3次元座標は、
図5のカメラ原点500を原点とした3次元座標系における座標である。Roll回転行列をRrとし、Tilt回転行列をRtとし、カメラ原点500からTilt回転中心507までの平行移動をtとし、Roll回転角度とTilt回転角度とが0度におけるカメラ原点から見た点光源の3次元座標をP
0とすると、点光源の3次元座標Pは、以下の式(1)で算出される。
【0055】
上記式(1)を利用して、点光源計測結果テーブル602が得られる。その結果、点光源計測結果テーブル601に格納されたすべての画像座標について、第1点光源503および第2点光源504の3次元座標が特定される。
【0056】
次に、
図6の画素座標の点光源計測結果テーブル601内に存在しない画像座標における点光源の3次元座標を、点光源計測結果テーブル601、602を用いて、線形補完等の内分補完で計算する方法について説明する。つまり、光線情報保存部102が、光線ベクトルを複数の入力画像内の特定画素に対応付けた光線情報を保存している場合に、特定画素以外の画素およびサブ画素の光線ベクトルを補間計算により計算する方法について説明する。
【0057】
例えば、補完対象となる画像座標の周辺の画素座標ののうち点光源計測結果テーブル601内に存在する画像座標を探索する。続いて、補完対象となる画像座標と探索された画像座標との位置関係から補完係数を求める。そして、探索された画像座標に対応する点光源の3次元座標に補完係数を掛けて、補完対象の画像座標に対応する点光源の3次元座標を計算する。
【0058】
図7は、本発明の実施の形態1における点光源と光線ベクトルとの関係を示す図である。
図7に示すように、各画像座標に対応する光線ベクトルは、第1点光源503と第2点光源504との3次元座標によって定義される。
【0059】
具体的には、位置ベクトル701は、第1点光源503の3次元座標で定義される。また、方向ベクトル702は、第1点光源503から第2点光源504までの3次元座標上の方向で定義される。そして、光線ベクトルは、位置ベクトル701と方向ベクトル702との組として定義される。
【0060】
この様にして得られる、撮影画像上の各画素に対応する光線ベクトルが、画素番号ごとに画素単位テーブル401に格納される。光線情報保存部102は、この画素単位テーブル401を主鏡画像および副鏡画像の各々について保存している。
【0061】
以上のように、光線情報保存部102は、複数の入力画像(ここでは、主鏡画像および副鏡画像)に対応する複数の光学系において共通する基準点からの距離が互いに異なる2種類以上の光源が撮影された画像に基づいて、複数の入力画像内の少なくとも2つの画素に対応する光線ベクトルをそれぞれ計算する。そして、光線情報保存部102は、計算した光線ベクトルを少なくとも2つの画素の各々に対応づけた光線情報を保存する。
【0062】
また、光線情報保存部102は、
図6の点光源計測結果テーブル601、602も保存している。さらに、光線情報保存部102は、画像座標と光線ベクトル(位置ベクトルと方向ベクトル)を相互に変換する機能を持つ。
図8Aおよび
図8Bを用いて、光線情報保存部102の処理動作について簡単に説明する。
【0063】
図8Aおよび
図8Bは、本発明の実施の形態1における光線情報保存部102の処理動作を示すフローチャートである。具体的には、
図8Aは、画像座標を光線ベクトルに変換する処理の流れを示す。また、
図8Bは、光線ベクトルを画像座標に変換する処理の流れを示す。
【0064】
図8Aにおいて、画像座標を光線ベクトルに変換する場合、光線情報保存部102は、互いに異なる視点から撮影された画像(
図2の主鏡画像222および副鏡画像223など)を区別するための視点番号と、その視点番号に対応した画像の画像座標の入力を受け付ける(S801)。
【0065】
光線情報保存部102は、ステップS801で入力された視点番号に対応する画素単位テーブル401にアクセスする(S802)。
【0066】
光線情報保存部102は、ステップS801で入力された画像座標を画素番号に変換する。そして、光線情報保存部102は、画素番号に対応する光線ベクトルを画素単位テーブル401から取得し出力する(S803)。
【0067】
なお、光線情報保存部102は、サブピクセル単位で画像座標の入力を受け付けてもよい。この場合、隣接する画素間では滑らかに光線ベクトルが変化すると仮定すれば、光線情報保存部102は、Bi−liner補完等の一般的な線形補間によりサブピクセルに対応する光線ベクトルを求めてもよい。
【0068】
一方、
図8Bにおいて、光線ベクトルを画像座標に変換する場合、まず、光線情報保存部102は、光線ベクトルに含まれる方向ベクトルと視点番号との入力を受け付ける(S811)。
【0069】
光線情報保存部102は、ステップS811で入力された方向ベクトルと視点番号とから、光線情報を作成するために点光源を撮影した際の条件であるRollとTiltとのおよその回転角度を推定する(S812)。例えば、光線情報保存部102は、
図6の点光源計測結果テーブル602入力された方向ベクトルに対応する第1点光源503および第2点光源504の3次元座標を探索することで、およその回転角度を簡単に推定できる。
【0070】
光線情報保存部102は、ステップS812で推定したRollおよびTiltの回転角度から、ステップS811で入力された視点番号に対応する撮影画像上の探索範囲を限定する(S813)。例えば、光線情報保存部102は、
図6の点光源計測結果テーブル601を参照することにより、RollおよびTiltの回転角度から画像座標が簡単に算出できるので、ある程度の角度の幅を持たせて画像上の探索範囲を設定できる。
【0071】
また、光線情報保存部102は、RollおよびTiltの回転角度から別の視点の画像座標も同時に参照することができる。そのため、光線情報保存部102は、ある視点番号における光線ベクトルから別の視点番号における光線ベクトルが存在する画像上の探索範囲も同じ仕組みで限定できる。
【0072】
光線情報保存部102は、ステップS813で限定された探索範囲内の画素毎に光線ベクトルの中から、ステップS811で入力された方向ベクトルと同じ向きをもつ方向ベクトルを探索する。そして、光線情報保存部102は、探索された方向ベクトルに対応する画像座標を出力する(S814)。
【0073】
例えば、光線情報保存部102は、2つのベクトルの内積を用いて、2つのベクトルの向きが一致するか否かを判定すればよい。具体的には、光線情報保存部102は、例えば、2つのベクトルの内積と2つのベクトルの長さの積とが一致する場合に、2つのベクトルの向きが一致すると判定すればよい。
【0074】
なお、光線情報保存部102は、探索範囲に含まれる各画素に対応する方向ベクトルの中から、入力された方向ベクトルと向きが一致する方向ベクトルを探索したが、サブピクセル単位で方向ベクトルを探索してもよい。この場合、隣接する画素間では滑らかに光線ベクトルが変化すると仮定すれば、光線情報保存部102は、Bi−liner補完等の一般的な線形補間によりサブピクセルに対応する光線ベクトルを求めてもよい。
【0075】
また、光線情報保存部102は、探索の高速化のために、探索範囲を4つの矩形領域に縦横等分割し、各矩形領域の中心位置における光線ベクトルの方向ベクトルを比較し、最も方向ベクトルが近い矩形領域内を次の探索領域として限定し、順次方向ベクトルを探索してもよい。
【0076】
次に、エピポーラ平面計算部101の処理動作について、
図9を用いて説明する。
【0077】
図9は、本発明の実施の形態1におけるエピポーラ平面計算部101の処理動作を説明するための図である。
図9において、視点位置901は、主鏡に反射した光を撮影する仮想カメラの位置である。また、視点位置902は、副鏡に反射した光を撮影する仮想カメラの位置である。また、測位対象903は、3次元位置を測定する対象である。また、無限遠点904は、視点位置901と測位対象903とを通る直線上の点であり、視点位置901から無限遠方に離れた点である。また、法線ベクトル905は、エピポーラ平面の法線を示す。また、光線ベクトル906は、主鏡画像における測位点923の画像座標に対応する光線ベクトルである。また、光線ベクトル907は、副鏡画像における副鏡無限遠点924の画像座標に対応する光線ベクトルである。
【0078】
主鏡エピポーラ画像911は、主鏡に反射した光を撮影する仮想カメラで撮影された画像である。また、副鏡エピポーラ画像912は、副鏡に反射した光を撮影する仮想カメラで撮影される画像である。また、測位点913は、主鏡エピポーラ画像911上で測位対象903が映る画素である。また、副鏡無限遠点914は副鏡エピポーラ画像912上で無限遠点904が映る画素である。また、対応点915は、副鏡エピポーラ画像912上で測位対象903が映る画素である。
【0079】
測位点923は3次元座標上の測位対象903が主鏡画像222に映る画素である。また、副鏡無限遠点924は無限遠点904が副鏡画像922上に映る画素である。
【0080】
ここで、無限遠点904は、視点位置901と測位対象903とを通る直線上の点であり、主鏡の仮想カメラの視点位置901から無限遠方に離れた点である。したがって、無限遠点904から主鏡の仮想カメラの視点位置901へ入射する光と、無限遠点904から副鏡の仮想カメラの視点位置902へ入射する光は平行である。したがって、3次元座標上の測位対象903と、主鏡の仮想カメラの視点位置901と、副鏡の仮想カメラの視点位置902とを通る平面はエピポーラ平面となる。
【0081】
ここで、主鏡エピポーラ画像上の測位点913は、主鏡画像上の測位点923と同じ点であり、測位点指定部121によって画像座標が指定される。そのため、エピポーラ平面計算部101は、光線情報保存部102から、
図8AのステップS801〜S803に従って、主鏡エピポーラ画像上の測位点913に対応する光線ベクトル906を取り出すことができる。この光線ベクトル906は、主鏡の仮想カメラの視点位置901から測位対象903を通り、無限遠点904へ進行する光線を表す。
【0082】
一方、副鏡エピポーラ画像912上の副鏡無限遠点914を通る光線ベクトル907は、主鏡エピポーラ画像911上の測位点913を通る光線ベクトル906と同じ方向ベクトルを持つ。そのため、エピポーラ平面計算部101は、光線情報保存部102から、
図8BのステップS811〜S814に従って、無限遠点の光線ベクトル907と、副鏡画像223上の副鏡無限遠点924の画像座標とを取り出すことができる。この副鏡無限遠点924の光線ベクトル907は、副鏡の仮想カメラの視点位置902から、副鏡エピポーラ画像912上の副鏡無限遠点914を通過する光線を表す。
【0083】
すなわち、エピポーラ平面計算部101は、測位点指定部121から入力される、主鏡画像921上の測位点923の座標と、測位点923に対応する光線ベクトル906と、測位点923の光線ベクトル906と同じ方向ベクトルを持つ副鏡無限遠点924の光線ベクトル907と、副鏡無限遠点924の座標とを求めることにより、エピポーラ平面を定義する。
【0084】
次に、エピポーラ画像作成部103の処理動作について、
図10Aを用いて説明する。
図10Aは、本発明の実施の形態1におけるエピポーラ画像作成部103の処理動作を説明するための図である。
【0085】
図10Aにおいて、光線ベクトル1001〜1005は、主鏡の光線ベクトルである。視点位置1006は、主鏡の仮想カメラの視点位置である。測位対象1007は、3次元座標上の測位点である。無限遠点1008は、主鏡の仮想カメラの視点位置1006から測位対象1007を通る直線上の無限遠方に離れた点である。単位角度1009は、単位角度θEである。ここで、主鏡の光線ベクトル1003は、3次元座標上の測位対象1007を通り、第1光線ベクトルに相当する。
【0086】
主鏡画像222上の点1011〜1015は、主鏡の光線ベクトル1001〜1005に対応する主鏡画像222の画素である。
【0087】
主鏡エピポーラ画像1020は、主鏡の視点位置1006から仮想カメラによって撮影された場合に得られる画像であり、第1エピポーラ画像に相当する。主鏡エピポーラ画像1020上の画素1021〜1025は、主鏡画像1010上の点1011〜1015と同じ画素であり、同じ輝度値を持つ。
【0088】
同様に、光線ベクトル1032は、無限遠点1008を通る副鏡の光線ベクトルであり、第2光線ベクトルに相当する。副鏡無限遠点1041は、無限遠点1008を通る副鏡の光線ベクトル1032に対応した副鏡画像1040上の点である。副鏡エピポーラ画像1050は、副鏡の視点位置1031から仮想カメラによって撮影された場合に得られる画像であり、第2エピポーラ画像に相当する。点1051は、副鏡エピポーラ画像1050上の点であり、副鏡画像1040上の副鏡無限遠点1041と同じ画素であり、同じ輝度を持つ。
【0089】
法線ベクトル1061は、エピポーラ平面の法線ベクトルである。主鏡エピポーラ線ベクトル1062は、主鏡のエピポーラ線を示すベクトルであり、第1エピポーラ線ベクトルに相当する。副鏡エピポーラ線ベクトル1063は、副鏡のエピポーラ線を示すベクトルであり、第2エピポーラ線ベクトルに相当する。
【0090】
エピポーラ画像作成部103は、エピポーラ平面計算部101から測位点1013の光線ベクトル1003と副鏡無限遠点1041の光線ベクトル1032とを受け取る。そして、エピポーラ画像作成部103は、光線ベクトル1003と光線ベクトル1032とに垂直なベクトルをエピポーラ平面の法線ベクトル1061として、ベクトルの外積等を利用して計算する。
【0091】
次に、エピポーラ画像作成部103は、測位点1013の光線ベクトル1003とエピポーラ平面の法線ベクトル1061とに垂直なベクトルを主鏡エピポーラ線ベクトル1062として、ベクトルの外積等を利用して計算する。同様にして、エピポーラ画像作成部103は、副鏡無限遠点1041の光線ベクトル1032とエピポーラ平面の法線ベクトル1061とに垂直なベクトルを副鏡エピポーラ線ベクトル1063として、ベクトルの外積等を利用して計算する。
【0092】
主鏡エピポーラ線ベクトル1062が計算できると、主鏡エピポーラ画像1020の水平方向画素に対応した光線ベクトルが分かる。そこで、エピポーラ画像作成部103は、単位角度1009毎に、光線ベクトル1003を主鏡エピポーラ線ベクトル1062の方向に回転させて主鏡の光線ベクトル1001〜1005を作成する。次に、エピポーラ画像作成部103は、光線情報保存部102から、
図8BのステップS811〜S814に従って、それぞれの光線ベクトルに対応する画素である、主鏡画像222上の点1011〜1015の座標を計算する。そして、エピポーラ画像作成部103は、主鏡エピポーラ画像1020上の対応する画素1021〜1025に点1011〜1015の輝度を設定する。
【0093】
同様にして、エピポーラ平面の法線ベクトル1061が計算できると、主鏡エピポーラ画像1020の垂直方向画素に対応した光線ベクトルが分かる。エピポーラ画像作成部103は、同様な手順で主鏡エピポーラ画像を作成できる。また、測位点の光線ベクトル1003を副鏡無限遠点の光線ベクトル1032に、主鏡エピポーラ線ベクトル1062を副鏡エピポーラ線ベクトル1063に置き換えれば、エピポーラ画像作成部103は、同じ仕組みで副鏡エピポーラ画像1050を作成することができる。
【0094】
この時、主鏡エピポーラ画像1020と、副鏡エピポーラ画像1050とは、共通のエピポーラ平面の法線ベクトル1061を利用して作成されるため、エピポーラ画像上の垂直方向が一致する。同様に、主鏡エピポーラ線ベクトル1062と副鏡エピポーラ線ベクトル1063とは、同じエピポーラ平面上に存在し、同じ向きを持つため、エピポーラ画像上の水平方向が一致する。この時、エピポーラ画像の中心を通る水平画素は、エピポーラ線上の画素である。さらに、共通の単位角度1009を利用するため、同じ大きさで測位対象1007がエピポーラ画像上に映る。
【0095】
すなわち、エピポーラ画像作成部103は、エピポーラ平面計算部101から、測位点1013の光線ベクトル1003と副鏡無限遠点1041の光線ベクトル1032とを受け取る。そして、エピポーラ画像作成部103は、エピポーラ平面の法線ベクトル1061と、主鏡エピポーラ線ベクトル1062と、副鏡エピポーラ線ベクトル1063とを計算する。エピポーラ画像作成部103は、単位角度1009を用いて、測位点の光線ベクトル1003と副鏡無限遠点の光線ベクトル1032とをエピポーラ平面の法線方向とエピポーラ線方向とに回転させる。そして、エピポーラ画像作成部103は、
図1の光線情報保存部102を利用して、回転させた光線ベクトルに対応する主鏡画像1010または副鏡画像1040上の座標を求め、その座標における画素の輝度値を、エピポーラ画像上の画素の輝度値に設定することで、エピポーラ画像を生成する。
【0096】
また、単位角度1009は任意に決定されればよく、主鏡エピポーラ画像1020の一画素が、主鏡画像1010の測位点付近の一画素に相当するように定義されてもよい。また単位角度1009にエピポーラ画像の縦横画素数を掛けると、エピポーラ画像の視野角が求まるため、単位角度1009は、任意の視野角とエピポーラ画像の解像度とから求められてもよい。
【0097】
さらに、測位点の光線ベクトル1003を仮想カメラの視線ベクトルに、エピポーラ平面の法線ベクトル1061を仮想カメラの上方ベクトルに、単位角度θEを、仮想カメラの解像度と視野角度から計算する。この計算により、エピポーラ画像作成部103と同じ仕組みを用いて、仮想カメラから見た任意領域における歪み補正した画像が生成できる。
【0098】
エピポーラ画像作成部103によってエピポーラ画像が作成された後、対応点計算部104は、一般的なステレオマッチングと同様に、主鏡画像上の測位点に対応する副鏡画像上の対応点を、テンプレートマッチング等を利用して求める。また、対応点を求める際、マッチングの相関係数等を測位点の信頼度に割り当てることも可能である。
【0099】
次に、測位点計算部105は、主鏡画像上の測位点に対応する主鏡の光線ベクトルと、副鏡画像上の対応点に対応する副鏡の光線ベクトルとを、光線情報保存部102から取り出す。そして、測位点計算部105は、2つの光線ベクトルが交差する点(もしくは、お互いに最も近づく点)を求める。最後に、測位点計算部105は、この2つの光線ベクトルが交差する点の3次元座標を、測位対象の3次元座標として測位結果表示部122に送る。
【0100】
また、測位点計算部105は、2つの光線ベクトルが互いに最も近づいたときの距離を、対応点計算部104で実行したマッチングの相関係数と合わせて、測位対象の3次元座標の信頼度として、測位結果表示部122に出力してもよい。
【0101】
以上の測位処理装置100の処理動作をまとめると以下のようになる。
【0102】
図10Bは、本発明の実施の形態1の測位処理装置100の処理動作を示すフローチャートである。つまり、
図10Bは、測位対象の3次元位置を測定する測位ステップの処理の詳細を示す。
【0103】
まず、エピポーラ平面計算部101は、光線情報を参照することにより、(1)第1入力画像111内の測位点に対応する第1光線ベクトルと、(2)第1光線ベクトルと同じ方向を持つ光線ベクトルであって、第2入力画像112内の画素に対応する光線ベクトルである第2光線ベクトルとを取得する。そして、エピポーラ平面計算部101は、第1光線ベクトルと第2光線ベクトルとを用いて、エピポーラ平面を計算する(S1001)。
【0104】
続いて、エピポーラ画像作成部103は、第1入力画像111から第1エピポーラ画像を作成し、第2入力画像112から第2エピポーラ画像を作成する(S1002)。
【0105】
具体的には、エピポーラ画像作成部103は、第1光線ベクトルおよび第2光線ベクトルに直交するベクトルを、エピポーラ平面の法線ベクトルとして計算する。また、エピポーラ画像作成部103は、第1光線ベクトルおよび法線ベクトルに直交するベクトルを第1エピポーラ線ベクトルとして計算する。そして、エピポーラ画像作成部103は、法線ベクトルと第1エピポーラ線ベクトルとを用いて、第1入力画像111から第1エピポーラ画像を作成する。
【0106】
また、エピポーラ画像作成部103は、第2光線ベクトルおよび法線ベクトルに直交するベクトルを第2エピポーラ線ベクトルとして計算する。そして、エピポーラ画像作成部103は、法線ベクトルと第2エピポーラ線ベクトルとを用いて、第2入力画像112から第2エピポーラ画像を作成する。
【0107】
さらに具体的には、エピポーラ画像作成部103は、第1光線ベクトルの方向を、法線ベクトルの方向と第1エピポーラ線ベクトルの方向とに予め定められた単位角度ずつ回転させる。エピポーラ画像作成部103は、このように第1光線ベクトルの方向を回転させて得られる各方向に対応する、第1入力画像内の画素の輝度値を用いて、第1エピポーラ画像を作成する。
【0108】
また、エピポーラ画像作成部103は、第2光線ベクトルの方向を、法線ベクトルの方向と第2エピポーラ線ベクトルの方向とに上記単位角度ずつ回転させる。エピポーラ画像作成部103は、このように第2光線ベクトルの方向を回転させて得られる各方向に対応する、第2入力画像内の画素の輝度値を用いて、第2エピポーラ画像を作成する。
【0109】
そして、対応点計算部104は、第1エピポーラ画像内の前記測位対象が映っている画素である測位点に対応する、第2エピポーラ画像内の画素である対応点を計算する(S1003)。
【0110】
最後に、測位点計算部105は、光線情報を参照することにより、測位点に対応する光線ベクトルと対応点に対応する光線ベクトルとを取得する。そして測位点計算部105は、取得した2つの光線ベクトルが交差する3次元位置を測位対象の3次元位置として計算する(S1004)。
【0111】
以上、本発明の実施の形態1における測位処理装置100について説明したが、本発明はこの実施の形態に限定されるものではない。
【0112】
例えば、
図2において主鏡202および副鏡203は放物面鏡と説明したが、双曲面鏡あるいは半円球の曲面鏡等などであってもよく、広範囲な周囲の光を連続的に反射する鏡であればどのような形状であってもよい。この時、連続の定義としては、同一視点上の画像に対し、光線ベクトルの向きが一致する画素は1つであること(異なる画素で同じ方向を持つ光線ベクトルが存在しない)が条件である。
【0113】
また、本実施の形態では、撮像装置は、カメラ1台と複数の鏡とを備えていたが、広範囲な周囲の光を撮影可能な広角レンズまたは魚眼レンズを備えたカメラを2台以上備えてもよい。この時、
図5のカメラ原点500を、2台の魚眼カメラの中間点あるいは片方のカメラの光軸上に設置するなど、共通のカメラ原点が利用すされればよい。同様に、魚眼レンズでなく、一般のレンズを備えたステレオカメラでも同じ方式で測位できる。すなわち、測位処理装置100は、互いに異なる視点の画像が2つ以上存在すれば、レンズあるいはカメラの構成に左右されず、同じ仕組みで測位対象の3次元位置を測定することが可能である。
【0114】
また、光線情報を作成する際、
図5のRollやTilt回転台が利用されたが、必ずしもこれらの回転台が利用される必要はない。例えば、半径の異なる半球上のドームを2種類用意し、ドームの中心にカメラ原点を一致させるように設置した後、プロジェクタ等で半球上に輝点を投影させることで光線情報を作成してもよい。他にも、半球上のドーム自身にLED等を点光源として埋め込むことにより、光線情報を作成してもよい。この時、測位精度を高めるためには、カメラ原点(=ドーム中心)からの3次元座標を、それぞれの点光源に対し高精度に計算しておくことが好ましい。
【0115】
また、エピポーラ画像作成部103は、
図10Aの単位角度θEのように、等角度で光線ベクトルを回転させてエピポーラ画像を作成したが、必ずしもこのようにエピポーラ画像を作成する必要はない。例えば、エピポーラ画像作成部103は、等角度でなく、3次元座標上の平面(例えば、仮想カメラの光軸と垂直な平面)を等間隔に通過するように、光線ベクトルを回転させてもよい。
【0116】
具体的には、エピポーラ画像作成部103は、第1光線ベクトルを、法線ベクトルの方向と第1エピポーラ線ベクトルの方向とに、第1光線ベクトルと直交する平面との交点が等距離で移動するような角度で回転させてもよい。この場合、エピポーラ画像作成部103は、第2光線ベクトルを、法線ベクトルの方向と第2エピポーラ線ベクトルの方向とに、第1のエピポーラ画像を作成するときと同じ角度で回転させればよい。
【0117】
このように、互いに異なる視点間で共通の回転方式を用いてエピポーラ画像が作成されれば、各エピポーラ画像に映る測位対象が同じ大きさで同じ向きで映るので、対応点計算部104は、対応点を計算することができる。また、エピポーラ画像作成部103は、光線ベクトルを回転だけでなく、共通な量で移動させてもよい。
【0118】
また、エピポーラ画像の縦横幅は、任意に調整されてもよい。エピポーラ画像の縦幅は、光線情報の精度と対応点計算部104の方式に依存する。また、エピポーラ画像の横幅は、測位対象のカメラ原点からの最短距離に依存する。
【0119】
例えば、測位対象が無限遠方であれば、エピポーラ画像の中心画素に対応点が位置する。逆に測位対象がカメラ原点に近づくにつれ、エピポーラ画像の中心を通る水平画素上で、中心画素から離れた位置に対応点が位置することになる。
【0120】
また、対応点計算部104は、テンプレートマッチングにより対応点を計算したが、オプティカルフローや位相相関限定法等などを利用して、対応点を計算してもよい。また、対応点計算部104は、対応点を計算するために、エピポーラ画像を濃淡画像やカラー画像で扱ってもよく、さらに画像処理でエッジ画像等に変換した後、対応点を計算してもよい。
【0121】
また、光線情報は、
図4の画素単位テーブル401のように、画素単位で作成されたが、必ずしもこのように作成される必要はない。例えば、メモリー容量を削減するために、光線情報は、2画素あるいは4画素等の単位で作成されてもよい。この場合、数画素間では滑らかに光線ベクトルが変化すると考え、中間画素の光線ベクトルは線形補完等で求められればよい。
【0122】
(実施の形態2)
次に、本発明の実施の形態2について説明する。
【0123】
図11は、本発明の実施の形態2における測位処理装置1100の構成を示すブロック図である。
図11において、
図1と同じ構成要素については同じ符号を用い、説明を省略する。測位処理装置1100は、測位枠検出部1101と、測位点統合部1102とを備える。
【0124】
測位枠検出部1101は、第1入力画像111(または第2入力画像112)が入力されると、パノラマ展開等で全方位画像の歪みを補正する。その後、測位枠検出部1101は、学習データベースを参照することにより、第1入力画像111の中から人物、顔および特定物体の少なくとも1つが映っている領域を、画像認識技術を用いて検出し、検出された領域を囲む枠を測位枠として自動的に検出する。
【0125】
ここで、学習データベースとは、人物、顔および特定物体の少なくとも1つの画像から抽出された特徴量が学習されたデータを保持しているデータベースである。
【0126】
最後に、測位枠検出部1101は、測位枠内の領域を、縦横に分割し、分割領域の頂点を測位点として、測位点指定部121に送る。つまり、測位枠検出部1101は、測位枠内部に含まれる複数の画素を測位点として出力する。
【0127】
図12は、第1入力画像111上の測位点の一例を示す図である。測位枠検出部1101は、第1入力画像111をパノラマ展開した画像1201内に人物枠1202(測位枠)を検出すると、人物枠1202を縦横等分割する。そして、測位枠検出部1101は、人物枠1202内の交差点1203〜1206を順番に測位点として測位点指定部121に送る。
【0128】
測位点統合部1102は、測位点計算部105から出力される、
図12の人物枠内の交差点1203〜1206に対応する3次元座標上の測位点を受け取る。そして、測位点統合部1102は、カメラ原点からの距離で測位点をソートした後、測位点の3次元座標の中央値1211、あるいは中央値の周辺1212の平均値を、人物枠内の最終的な測位結果として、測位結果表示部122へ送る。
【0129】
以上の様に、測位処理装置1100は、測位枠検出部1101および測位点統合部1102を備えることで、測位対象を点でなく平面として捉えて測位することができる。また、測位処理装置1100は、複数の測位点から統計的な処理により測位誤差の大きな測位点を除き、精度の高い測位が実現できる。
【0130】
以上、本発明の実施の形態2における測位処理装置について説明したが、本発明はこの実施の形態に限定されるものではない。
【0131】
例えば、測位枠検出部1101は、人物枠1202内でエッジ検出を行い、エッジの強い画素を測位点として測位点指定部121に送信してもよい。これは、エッジの強い画素を測位点として利用すれば、対応点を計算する精度が高まるためである。
【0132】
また、測位枠検出部1101は、人物枠の事前知識を用いて背景の混入が少ない胸付近の領域を人物枠から求め、胸付近の領域に含まれる画素を測位点として選択してもよい。測位枠検出部1101は、例えば、人物枠検出に利用した人物の学習データにおける平均画像から胸付近の領域を求めることが可能である。
【0133】
また、測位枠検出部1101は、画像認識でなく、任意の画像処理を用いて測位枠を抽出してもよい。例えば、測位枠検出部1101は、背景差分等で背景と異なる領域が監視対象の人物・車・不審物だと仮定し、その領域を測位枠として自動検出してもよい。同様に、測位枠検出部1101は、フレーム間差分を用いてフレーム間の動く量が多い領域を測位枠として検出してもよい。
【0134】
また、測位点統合部1102は、カメラ原点からの距離で複数の測位点をソートして統計処理により最終的な測位点を出力したが、この方式以外を用いてもよい。例えば、測位点統合部1102は、測位点の信頼度で重み付けされた複数の測位点の3次元位置の平均を最終的な測位点として出力してもよい。この測位点の信頼度は、対応点計算部104によって計算される相関係数と、測位点計算部105によって計算される、2つの光線ベクトルが互いに最も近づいたときの距離との少なくとも一方に基づいて計算される。また、測位点の信頼度は、測位枠検出部1101の測位枠の信頼度(例えば、人物枠における枠の信頼度や、胸中心の信頼度等)に基づいて、計算されてもよい。
【0135】
(実施の形態3)
実施の形態1、2では、測位に関する一例を示していたが、実施の形態3では、光線情報を利用することで、全方位カメラ等の極座標系の画像から、実際に人間が目で見た画像と近い直交座標系の画像(つまり、歪み補正された画像)を生成する画像処理装置の一例を示す。この歪み補正された画像は、主に監視カメラ等で利用され、従来ではカメラの内部パラメータを利用して生成されたが、本実施の形態では、実施の形態1、2と同様に光線情報を利用することで生成される。これにより、防塵・防水用にアクリル製の半球型ドームを小型全方位カメラに取り付けた場合でも、カメラ内部パラメータを用いることなく、複雑な光学計算無しに高精度な歪み補正処理を実現することが可能である。
【0136】
図13は、本発明の実施の形態3における画像処理装置1300の構成を示すブロック図である。
図13において、
図1と同じ構成要素については同じ符号を用い、説明を省略する。画像処理装置1300は、歪み補正を実施する。画像処理装置1300は、歪み補正計算部1302と、歪み補正画像作成部1303と、光線情報保存部102とを備える。また、画像処理装置1300は、歪み補正指定部1301から入力を受け付け、歪み補正表示部1304に処理結果を出力する。
【0137】
歪み補正指定部1301は、歪み補正後の画像の中心位置と、水平垂直画角と、水平垂直解像度とを指定する。この時、歪み補正後の画像の中心位置は、歪み補正の対象となる、第1入力画像111内の画素が指定される。また、水平垂直画角は、一般的なズームに相当し、画角を広げるとより広範囲、画角を狭めるとより狭い範囲に歪み補正後の画像が生成されるため、用途に応じて適宜指定される。
【0138】
歪み補正計算部1302は、歪み補正後の画像を、縦方向が床面からの垂直ベクトルで、横方向が床面からの垂線と歪み補正後の画像の中心における光線ベクトルと直交するベクトルで、表現するために、必要なベクトルを計算する。まず、歪み補正計算部1302は、歪み補正指定部1301から指定される、歪み補正後の画像の中心における光線ベクトルを光線情報保存部102から取得する。次に、歪み補正計算部1302は、予め決めておいた床面からの垂直ベクトル、および歪み補正後の画像の中心における光線ベクトルと直交するベクトルを求める。
【0139】
歪み補正画像作成部1303は、歪み補正計算部1302から出力される、歪み補正後の画像の中心における光線ベクトルと、予め決めておいた床面からの垂直ベクトルと、これらの2つのベクトルと直交するベクトルと、水平垂直の解像度と、水平垂直の画角とから歪み補正後の画像を生成する。
【0140】
次に、
図14を用いて歪み補正画像作成部1303の処理動作を説明する。
図14は、本発明の実施の形態3における歪み補正画像作成部1303の処理動作を説明するための図である。
【0141】
図14において、光線ベクトル1401〜1405は、光線ベクトルである。点1406は、3次元上で歪み補正後の中心が存在する点である。単位角度1407は、単位角度θEである。また、光線ベクトル1403は、歪み補正後の画像の中心点を通る光線ベクトルである。
【0142】
入力画像1410は、歪み補正の対象となる画像であり、第1入力画像111に相当する。画素1411〜1415は、光線ベクトル1401〜1405に対応する画素であって、入力画像1410上の画素である。
【0143】
画像1420は、歪み補正後の画像である。画素1421〜1425は、入力画像1410上の対応する画素1411〜1415の輝度値が設定される画素である。
【0144】
また、垂直ベクトル1431は、床面と垂直なベクトルである。ベクトル1432は、歪み補正後の画像の中心点に対応する光線ベクトル1403と、垂直ベクトル1431とに直交するベクトルである。これらの垂直ベクトル1431およびベクトル1432とは、それぞれ歪み補正計算部1302から出力される。
【0145】
水平方向の単位角度1407は、水平方向の画角を水平方向の解像度で割ることにより計算される。また水平方向は、歪み補正計算部1302から出力される、歪み補正後の画像の中心点を通る光線ベクトル1403と、床面からの垂直ベクトル1431とに直交するベクトル1432を利用して計算される。
【0146】
これにより、光線ベクトル1401〜1405が計算により求まる。したがって、歪み補正画像作成部1303は、光線情報保存部102を参照して、光線ベクトル1401〜1405の各々と同じ方向ベクトルを持つ光線ベクトルに対応する画素を探索することで、光線ベクトル1401〜1405の各々に対応する入力画像1410上の各画素1411〜1415の輝度値を計算できる。その後、歪み補正画像作成部1303は、歪み補正後の画像1420の画素1421〜1425へ、対応する画素1411〜1415の輝度値を設定することにより、歪み補正後の画像を作成する。歪み補正画像作成部1303は、垂直方向の画素に関しても、予め決めておいた床面からの垂直ベクトル1431を利用することで同様な手順で輝度値を設定する。
【0147】
以上の手順により、画像処理装置1300は、光線情報を利用することで歪み補正した画像を生成することが可能となる。
【0148】
以上、本発明の一態様に係る測位処理装置および画像処理装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【0149】
例えば、上記実施の形態1〜3における測位処理装置または画像処理装置が備える構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。
【0150】
システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM(Read Only Memory)、RAM(Ramdom Access Memory)などを含んで構成されるコンピュータシステムである。ROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
【0151】
なお、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、あるいはLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0152】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0153】
また、本発明は、このような特徴的な処理部を備える測位処理装置または画像処理装置として実現することができるだけでなく、測位処理装置または画像処理装置に含まれる特徴的な処理部をステップとする測位処理方法または画像処理方法として実現することもできる。また、測位処理方法または画像処理方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムとして実現することもできる。そして、そのようなコンピュータプログラムを、CD−ROM等のコンピュータ読取可能な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。