説明

回転推定装置、回転推定方法およびプログラム

【課題】3次元画像において画像が低品質で基準となる面に目印となるものが無くても撮像系の回転やその時間変動の推定を可能とする。
【解決手段】回転推定装置は、撮像装置が複数のタイミングで撮像した複数の3次元の画像を受け付け、前記複数の画像に共通に存在する面領域を検出し、前記画像ごとに、当該画像に基づいて、当該画像内の前記面領域に対する前記撮像装置の相対的な姿勢を求める姿勢判定手段と、前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態を求める回転状態推定手段と、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回転推定装置、回転推定方法およびプログラムに関し、特には、撮像装置から入力された3次元画像を用いて撮像装置の回転を推定する回転推定装置、回転推定方法およびプログラムに関する。
【背景技術】
【0002】
移動体(例えば、空中または宇宙を飛行する飛翔体、または、水中を航行する航走体)に固定された撮像装置(例えば、ステレオカメラ、または、レーダー)の姿勢を推定する姿勢推定方法が知られている(特許文献1参照)。
【0003】
この姿勢推定方法では、まず、予め決められた基準対象物(例えば、地面、海底面、海面、または、その面上の植生や建築物などの構造物)が、移動体に固定された撮像装置にて撮影され、その基準対象物を含む撮像画像が生成される。
【0004】
続いて、撮像画像と、基準画像(予め入手されている基準対象物を表す地形図または基準対象物の形状を表す形状図等)と、を照らし合わせ、撮像画像内での基準対象物の位置、および、撮像画像内での基準対象物の歪みに基づいて、撮像装置の姿勢が推定される。
【0005】
この姿勢推定方法にて推定された撮像装置の姿勢に基づいて、移動体内のジャイロスコープなどの姿勢センサに蓄積された誤差を補正することが可能になる。
【0006】
また、この姿勢推定方法にて撮像装置の姿勢を精度良く求めることができるならば、ジャイロスコープなどの姿勢センサが不要となり、飛翔体または航走体をより小型化できる。
【0007】
さらには、一旦姿勢を推定できれば、複数時刻の姿勢に基づいて、撮像装置が回転しているかどうかを判別することは容易であり、回転している場合は、その回転速度や回転軸の向きを算出することも可能である。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004−127080号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
予め決められた基準対象物が撮影された撮像画像と、基準画像と、を用いて、撮像装置の姿勢および回転状態を算出する技術では、以下のような課題があった。
【0010】
撮影環境または撮像装置の性能のために、撮像画像が、不鮮明であったり、ノイズ過多であったりする場合、撮像画像内の基準対象物を判別することができない。よって、撮像装置の姿勢の推定、および、撮像装置の回転状態の推定を行うことができない。
【0011】
本発明の目的は、上述した課題を解決可能な回転推定装置、回転推定方法およびプログラムを提供することである。
【課題を解決するための手段】
【0012】
本発明の回転推定装置は、撮像装置が複数のタイミングで撮像した複数の3次元の画像を受け付け、前記複数の画像に共通に存在する面領域を検出し、前記画像ごとに、当該画像に基づいて、当該画像内の前記面領域に対する前記撮像装置の相対的な姿勢を求める姿勢判定手段と、前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態を求める回転状態推定手段と、を含む。
【0013】
本発明の回転推定方法は、回転推定装置が行う回転推定方法であって、撮像装置が複数のタイミングで撮像した複数の3次元の画像を受け付け、前記複数の画像に共通に存在する面領域を検出し、前記画像ごとに、当該画像に基づいて、当該画像内の前記面領域に対する前記撮像装置の相対的な姿勢を求める姿勢判定ステップと、前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態を求める回転状態推定ステップと、を含む。
【0014】
本発明のプログラムは、コンピュータに、撮像装置が複数のタイミングで撮像した複数の3次元の画像を受け付け、前記複数の画像に共通に存在する面領域を検出し、前記画像ごとに、当該画像に基づいて、当該画像内の前記面領域に対する前記撮像装置の相対的な姿勢を求める姿勢判定手順と、前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態を求める回転状態推定手順と、を実行させる。
【発明の効果】
【0015】
本発明によれば、予め決められた基準対象物を用いずに、撮像装置の回転状態を推定することが可能になる。このため、予め決められた基準対象物を撮像された画像内で認識できない場合、および、撮像された画像内に基準対象物が存在しない場合でも、撮像装置の回転状態を推定することが可能になる。
【図面の簡単な説明】
【0016】
【図1】本発明の第1の実施の形態を含む回転推定システム10を示したブロック図である。
【図2】基準面3Aに対する撮像装置5の姿勢および位置の例を示した模式図である。
【図3】基準面3Aに対する撮像装置5の姿勢および位置の例を示した模式図である。
【図4】y軸に対してヨー(γ)がある場合の基準面3Aに対する撮像装置5の姿勢および位置関係の例を示した模式図である。
【図5】撮像装置5の回転運動に基づいた基準面3Aに対する撮像装置5の姿勢および位置関係の例を示した模式図である。
【図6】本発明の第2の実施の形態を含む回転推定システム10Aを示したブロック図である。
【図7】本発明の第3の実施の形態を含む回転推定システム10Bを示したブロック図である。
【図8】本発明の第4の実施の形態を含む回転推定システム10Cを示したブロック図である。
【図9】本発明の第5の実施の形態を含む回転推定システム10Dを示したブロック図である。
【発明を実施するための形態】
【0017】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0018】
(第1の実施の形態)
図1は、本発明の第1の実施の形態を含む回転推定システム10を示したブロック図である。
【0019】
図1を参照すると、回転推定システム10は、入力装置1と、記憶装置2と、データ処理装置3と、通信装置4と、を含む。
【0020】
入力装置1は、画像入力部1aと、文字入力部1bと、を含む。
【0021】
画像入力部1aは、撮像装置5が複数のタイミングで撮像した複数の3次元の画像(以下「3次元画像」と称する)5Aを受け付ける。
【0022】
撮像装置5は、例えば、ステレオカメラ、レーザーレンジファインダー、レーダー、ソーナー、または、ライダー(lidar)であり、撮影に伴って、3次元画像5Aを生成する。
【0023】
なお、撮像装置5が、飛翔体または航走体等の移動体に固定される場合、撮像装置5の姿勢は、撮像装置5が固定されている移動体の姿勢も意味する。
【0024】
3次元画像5Aは、3次元画像5A内の種々の物体と、撮像装置5と、の距離を表す情報を含むものであれば、特に限定されない。
【0025】
3次元画像5Aは、例えば、複数の時刻のそれぞれにおける3次元の静止画像でもよいし、3次元の動画像であってもよい。3次元の動画像は、当然のことながら、撮像装置5が複数のタイミングで撮像した複数の3次元の静止画像を含む。
【0026】
また、3次元画像5Aは、速度場または磁場などの様々な空間的な大きさまたは時間的な大きさを示す物理量、または、特定関数による畳み込みなどの各種演算により得られた画像特徴量を表した3次元画像でもよいし、または、画像特徴量の時間的変化を高次元で表した3次元画像でもよい。
【0027】
本実施形態では、3次元画像5Aには、撮像装置5による撮影日時を示す撮影日時情報が付与されているとする。よって、3次元画像5Aが撮像されたタイミング(時刻)は、3次元画像5Aに付与された撮影日時情報によって認識可能である。
【0028】
文字入力部1bは、例えば、キーボード、マウス、または、タッチパネルであり、文字情報を入力する。
【0029】
記憶装置2は、しきい値記憶部2aと、パラメータ記憶部2bと、画像記憶部2cと、を含む。
【0030】
しきい値記憶部2aは、文字入力部1bから入力された各種しきい値を記憶する。
【0031】
パラメータ記憶部2bは、例えば、検出対象である基準面(平面や曲面)3Aの検出の際に使うパラメータ空間と、検出候補の面のリストと、を記憶する。
【0032】
なお、基準面3Aは、3次元画像5Aに共通に存在する面領域、さらに言えば、その面領域を含む面である。
【0033】
画像記憶部2cは、画像入力部1aから入力された複数の3次元画像5Aと、データ処理装置3内の各構成要素によって処理されている途中または処理結果の画像と、を記憶する。
【0034】
データ処理装置3は、一般的に回転推定装置と呼ぶことができる。
【0035】
データ処理装置3は、2値化部3aと、姿勢推定部3bと、回転パラメータ算出部3cと、を含む。2値化部3aと姿勢推定部3bとは、姿勢判定部3dに含まれる。
【0036】
姿勢判定部3dは、一般的に姿勢判定手段と呼ぶことができる。
【0037】
姿勢判定部3dは、撮像装置5が複数のタイミングで撮像した複数の3次元画像5Aを受け付ける。姿勢判定部3dは、複数の3次元画像5Aに共通に存在する基準面3A(面領域)を検出する。
【0038】
基準面3Aは、例えば、地面、海面、または、壁面などである。
【0039】
姿勢判定部3dは、3次元画像5Aごとに、3次元画像5Aに基づいて、その3次元画像5A内の基準面3Aに対する撮像装置5の相対的な姿勢を求める。
【0040】
2値化部3aは、一般的に検出手段と呼ぶことができる。
【0041】
2値化部3aは、複数の3次元画像5Aを受け付け、3次元画像5Aごとに、その3次元画像5Aから基準面3Aの候補となる候補領域CRを検出する。
【0042】
本実施形態では、2値化部3aは、画像入力部1aから入力された3次元画像5Aごとに、3次元画像5Aの画素値に基づいて、その3次元画像5Aを、候補領域CRと、候補領域CR以外の領域(以下「背景領域」と称する)BRと、に分割する。
【0043】
例えば、2値化部3aは、複数の3次元画像5Aの各画素に対して、共通の2値化を行って、各3次元画像5Aを、候補領域CRと、背景領域BRと、に分割する。
【0044】
このため、各3次元画像5Aでは、各3次元画像5Aに共通に撮像されている物体が有する面が、候補領域CRとして設定される可能性が高くなる。
【0045】
姿勢推定部3bは、一般的に姿勢推定手段と呼ぶことができる。
【0046】
姿勢推定部3bは、3次元画像5Aごとに、3次元画像5A内の候補領域CRに基づいて、基準面3Aを検出し、3次元画像5Aごとに、3次元画像5Aに基づいて、3次元画像5A内の基準面3Aに対する撮像装置5の相対的な姿勢を求める。
【0047】
本実施形態では、姿勢推定部3bは、3次元画像5Aごとに、3次元画像5A内での候補領域CRの位置に基づいて、基準面3Aの位置を特定し、同時に、3次元画像5Aに基づいて、基準面3Aに対する撮像装置5の姿勢および距離を求める。
【0048】
回転パラメータ算出部3cは、一般的に回転状態推定手段と呼ぶことができる。
【0049】
回転パラメータ算出部3cは、3次元画像5Aごとに求められた、基準面3Aに対する撮像装置5の相対的な姿勢に基づいて、撮像装置5の回転状態、つまり、撮像装置5の回転パラメータを求める。
【0050】
回転パラメータ算出部3cは、3次元画像5Aごとに求められた、基準面3Aに対する撮像装置5の相対的な姿勢に基づいて、撮像装置5の回転状態(撮像装置5の回転パラメータ)として、予め定められた基準方向に対する撮像装置5の回転角と、撮像装置5の回転角の時間変動と、を求める。
【0051】
本実施形態では、回転パラメータ算出部3cは、姿勢推定部3bによって3次元画像5Aごとに求められた、換言すると、姿勢推定部3bによって複数の時刻において得られた、基準面3Aに対する撮像装置5の相対的な姿勢および距離を受け付ける。
【0052】
回転パラメータ算出部3cは、複数の時刻における基準面3Aに対する撮像装置5の相対的な姿勢および距離に基づいて、予め定められた基準方向に対する撮像装置5の回転角と、回転速度および回転加速度などの回転角の時間変動と、を撮像装置5の回転状態(撮像装置5の回転パラメータ)として求める。
【0053】
回転パラメータ算出部3cは、撮像装置5の回転状態(撮像装置5の回転パラメータ)を、通信装置4を介して、外部の制御システム6などへ渡す。
【0054】
通信装置4は、有線または無線のネットワークを介して、撮像装置5の回転状態(撮像装置5の回転パラメータ)を、外部の制御システム6等へ送付するデータ送信部4aを含む。
【0055】
次に、図1を参照して、回転推定システム10の動作を説明する。
【0056】
画像入力部1aは、撮像装置5から3次元画像5Aを受け付けるごとに、3次元画像5Aを画像記憶部2cに記憶する。
【0057】
2値化部3aは、画像記憶部2cを参照し、画像記憶部2cから3次元画像5Aを1つずつ受け付け、各3次元画像5Aを、3次元画像5Aの画素値に基づいて、候補領域CRと、背景領域BRと、に分割する。
【0058】
2値化部3aが、各3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割する方法としては、2次元画像を2つの領域に分割する一般的な方法が用いられる。
【0059】
例えば、2値化部3aは、公知のPタイル法を用いて、各3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割してもよい。
【0060】
この場合、3次元画像5Aが有する全画素数に対する候補領域CRの画素数の割合が、予めしきい値として定められ、そのしきい値が、しきい値記憶部2aに記憶される。2値化部3aは、しきい値記憶部2a内のしきい値に従って、各3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割する。
【0061】
また、2値化部3aは、公知のモード法を用いて、各3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割してもよい。
【0062】
この場合、2値化部3aは、3次元画像5Aについて、横軸を画素値、縦軸を頻度としたヒストグラムを作成し、ヒストグラムが双峰形と仮定して、その谷をしきい値として用いて、3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割する。
【0063】
また、2値化部3aは、候補領域CRと背景領域BRの各々の内部で画素値の分散が最小になり、かつ、候補領域CRと背景領域BRとの間で分散が大きくなるようにしきい値を決め、そのしきい値を用いて、3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割してもよい。
【0064】
また、2値化部3aは、公知の固定しきい値法を用いて、各3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割してもよい。
【0065】
この場合、予め画素値のしきい値が定められ、そのしきい値がしきい値記憶部2aに記憶される。2値化部3aは、3次元画像5Aが有する各画素について、画素値が、しきい値記憶部2a内のしきい値よりも大きいかどうかを判定し、その判定結果に基づいて、各3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割してもよい。
【0066】
また、2値化部3aは、公知の動的しきい値法を用いて、3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割してもよい。
【0067】
この場合、2値化部3aは、3次元画像5Aを一定サイズの小領域に分割し、小領域ごとに、Pタイル法、モード法または判別分析法を使って、3次元画像5Aを、候補領域CRと背景領域BRとの2つの領域に分割する。
【0068】
2値化部3aは、候補領域CRと背景領域BRとに分けられた3次元画像5Aを、3次元画像5Aごとに、画像記憶部2cに記憶する。
【0069】
続いて、姿勢推定部3bは、3次元画像5Aごとに、3次元画像5A内での基準面3Aの位置を特定し、3次元画像5A内の基準面3Aの位置に基づいて、基準面3Aに対する撮像装置5の相対的な姿勢を推定する。
【0070】
例えば、基準面3Aと撮像装置5との位置関係が、図2に示したような状況である場合を考える。
【0071】
図2では、基準面3Aと撮像装置5との位置関係等は、以下のようになっている。
【0072】
基準面3Aは、平面である。撮影時の撮像装置5の視線方向は、一般的なカメラで例えると、撮像装置5の撮影レンズの光軸方向である。撮影時の撮像装置5の視線方向を軸とした、基準位置からの撮像装置5の回転角、すなわち「ロール」(roll)は、右向きでαである。基準面3Aが、撮影時の撮像装置5の視線方向となす角度、すなわち「ピッチ」(pitch)は、βである。基準面3Aが撮像装置5の上方に位置しており、基準面3Aと撮像装置5との距離が、dである。
【0073】
図2において、x軸、y軸およびz軸のそれぞれの向き(xyz座標系)は、基準面3Aに基づいて設定される。具体的には、x軸とy軸は、x軸とy軸とを含む平面が基準面3Aと平行になるように、設定されている。x軸、y軸およびz軸の原点は、撮像装置5の中心位置となるように設定されている。
【0074】
なお、図2に示した状況において撮像装置5の姿勢を推定することは、例えば、深度dの海中を航行する航走体(撮像装置5が固定された移動体)の姿勢を、海面(基準面3A)を元に推定することに相当する。
【0075】
計算を容易にするため、ここでは、撮像装置5の視線方向をxy平面へ投影した線は、y軸に一致するものとする。
【0076】
また、撮像装置5の中心位置を原点とし、撮像装置5の視線方向にy’軸、撮像装置5の横方向にx’軸、撮像装置5の縦方向にz’軸をとった、撮像装置5に固定された座標系(x’y’z’座標系)を想定する。
【0077】
撮像装置5から出力された3次元画像5Aにて表されるものは、撮像装置5に固定された座標系(x’y’z’座標系)を用いて、3次元画像5A上での位置を特定することが可能である。
【0078】
撮像装置5に固定された座標系(x’y’z’座標系)と、基準面3Aに応じた座標系(xyz座標系)と、の関係は、座標変換行列を用いた式(1)に示した関係になる。
【0079】
【数1】

【0080】
このため、基準面3Aは
【0081】
【数2】

【0082】
と表される。
【0083】
基準面3Aが3次元画像5A内で鮮明で精度よく映っているならば、姿勢推定部3bは、撮像装置5に固定された座標系(x’y’z’座標系)にて特定される基準面3Aの3点の位置と式(2)とを用いて、α、βおよびdを求めることができる。
【0084】
3次元画像5Aが不鮮明であったり、3次元画像5A内にノイズが多かったりする場合は、姿勢推定部3bは、例えば、基準面3Aを最小2乗法でフィッティングすることにより、α、βおよびdを求めることができる。
【0085】
あるいは、姿勢推定部3bは、本出願人の提案による特願2008−022710号明細書に記述してあるように、ハフ変換に基づいた方法で、α、βおよびdを求めてもよい。
【0086】
特願2008−022710号明細書に記述してあるように、基準面3Aが、図3のような球面であっても、姿勢推定部3bは、基準面3Aに対する撮像装置5の相対的な姿勢を求めることができる。
【0087】
また、基準面3Aの候補が、平面または球面で無くても、その候補の一部が、平面または球面とみなせるならば、姿勢推定部3bは、上記と同じ手法で、基準面3Aに対する撮像装置5の相対的な姿勢を求めることができる。
【0088】
また、姿勢推定部3bは、特願2008−022710号明細書に記述してあるように一般化ハフ変換を適用すれば、基準面3Aが任意形状でも、基準面3Aに対する撮像装置5の相対的な姿勢を求めることができる。
【0089】
続いて、回転パラメータ算出部3cは、複数の3次元画像5Aのそれぞれについて得られた、換言すると、複数の時刻について得られた、基準面3Aに対する撮像装置5の相対的な姿勢を保持し、その複数の姿勢から、時刻間の撮像装置5の回転角の変位を求め、さらに、時刻間隔から、撮像装置5の回転速度および回転加速度など、撮像装置5の回転についての時間変動を、撮像装置5の回転パラメータとして算出する。
【0090】
なお、回転パラメータ算出部3cは、各3次元画像5Aに付与されている撮影日時情報を用いて、複数の時刻すなわち複数の撮影時刻を認識する。
【0091】
本実施形態では、回転パラメータ算出部3cは、複数の時刻間の撮像装置5の姿勢の変動に基づく第1の座標変換行列として、「ロール」、「ピッチ」および「ヨー」(yaw)をパラメータとして用いて姿勢変動行列1を求める。
【0092】
なお、「ロール」と「ピッチ」は、「α」と「β」として、姿勢推定部3bによって、それぞれ求められている。このため、この段階では、「ロール」、「ピッチ」および「ヨー」のうち、「ヨー」だけが求められていない。
【0093】
次に、回転パラメータ算出部3cは、姿勢変動行列1を求めるときに用いた時刻間の撮像装置5の姿勢の変動に応じた第2の座標変換行列として、姿勢変動行列2を求める。
【0094】
なお、姿勢変動行列2で用いられる後述するパラメータは、この段階では、求められていない。
【0095】
姿勢変動行列1と姿勢変動行列2は等しいことを利用して、回転パラメータ算出部3cは、姿勢変動行列2で用いられるパラメータやヨーを、既知の「ロール」および「ピッチ」で記述する式を生成する。
【0096】
以下、姿勢変動行列1と姿勢変動行列2について説明する。
【0097】
まず、図4を参照して、姿勢変動行列1について説明する。
【0098】
図4に示すように、「ロール」が右向きでαであり、「ピッチ」がβであり、さらにz軸の周りを反時計回りにy軸正の方向に対してγ「ヨー」がある場合、回転パラメータ算出部3cは、姿勢変動行列1として、座標変換行列Uを算出する。
【0099】
座標変換行列Uの各成分
【0100】
【数3】

【0101】
は、次のようになる。
【0102】
【数4】

【0103】
次に、図5を参照して、撮像装置5の回転運動に基づいた姿勢変動行列2について説明する。
【0104】
図5には、撮像装置5の回転運動に関して以下のように示してある。
【0105】
撮像装置5の回転の基準となる平面として、撮像装置5の回転軸5Bを法線とする回転面5Cが定められている。撮像装置5の視線方向と回転面5Cのなす角度は、Aである。回転面5Cは、ある任意の方向から反時計回りにBだけ回転している。回転軸5Bと基準面3Aとのなす角度は、Cである。さらに、回転軸5Bは、ある任意の方向を基準として反時計回りにDだけ回転している。A、B、CおよびDが、姿勢変動行列2のパラメータとして用いられる。
【0106】
この場合、回転パラメータ算出部3cは、姿勢変動行列2として、座標変換行列Vを算出する。
【0107】
なお、座標変換行列Vの各成分
【0108】
【数5】

【0109】
は、次のようになる。
【0110】
【数6】

【0111】
さて、式(3)と式(4)で示された2つの座標変換行列は、同一の座標変換を各々異なる回転を組み合わせて構成したものであり、変換の結果は一致する。すなわち
U=V 式(5)
の関係が成り立つ。
【0112】
姿勢推定部3bの算出結果では、γ(ヨー)が不定であるが、回転パラメータ算出部3cは、式(5)で示された各行列の第3列の関係から得ることができる式(6)を用いて、A、B、Cをα、βを用いて記述することができる。
【0113】
【数7】

【0114】
例えばAとCが一定で既知の場合、時刻1で求まった姿勢がα1およびβ1であると、回転パラメータ算出部3cは、時刻1のときの回転角B1を式(6)から容易に求めることができる。すなわち、回転パラメータ算出部3cは、式(7)を用いて、時刻1のときの回転角B1を求めることができる。
【0115】
【数8】

【0116】
さらに、時刻2で求まった姿勢がα1およびβ1であり、時刻2のときの回転角をB2である場合、回転パラメータ算出部3cは、時刻1と時刻2の時間間隔と、B1およびB2とから、回転速度を求めることができる。
【0117】
式(7)は、また、Aが分からなくてもCがわかれば、回転パラメータ算出部3cは、式(7)を用いることで、回転角を求めることができ、回転速度を求めることができることを示している。
【0118】
また、AとCが一定ならば、AとCが未知であっても、回転パラメータ算出部3cは、式(6)の下段の2つの式を利用して
【0119】
【数9】

【0120】
を得て、Aを求めることができる。
【0121】
そしてAが求まれば、回転パラメータ算出部3cは、式(6)の下段の2つの式を利用して得られた
【0122】
【数10】

【0123】
を用いて、Cを求めることができる。
【0124】
Cが求まれば、回転パラメータ算出部3cは、式(7)を用いて回転角を求めることができ、複数の時刻の回転角から回転の時間変動を求めることができる。
【0125】
AとCが一定でなくても、時間変動が小さく、時刻1と時刻2の間だけでもAとCが一定とみなせるならば、回転パラメータ算出部3cは、AとCが一定の場合と同様にして、回転角と回転の時間変動を求めることができる。
【0126】
回転パラメータ算出部3cは、このようにして得られた姿勢、回転角、および、回転角の時間変動を、パラメータ記憶部2bに記憶する。
【0127】
パラメータ記憶部2b内の、姿勢、回転角、および、回転角の時間変動は、データ送信部4aからの指示、または、文字入力部1bを介したユーザからの指示により、有線や無線のネットワークを介して、外部の制御システム6に渡される。
【0128】
なお、姿勢、回転角、および、回転角の時間変動は、ユーザ指定時に、ディスプレイやプロジェクタ、プリンタなどで表示されてもよい。
【0129】
本実施形態によれば、姿勢判定部3dは、複数の3次元画像5Aに共通に存在する基準面3A(面領域)を検出し、3次元画像5Aごとに、3次元画像5Aに基づいて、その3次元画像5A内の基準面3Aに対する撮像装置5の相対的な姿勢を求める。
【0130】
回転パラメータ算出部3cは、3次元画像5Aごとに求められた、基準面3Aに対する撮像装置5の相対的な姿勢に基づいて、撮像装置5の回転状態を求める。
【0131】
このため、画像にノイズが多かったり不鮮明であったりして、基準となる面の表面上の凹凸形状や模様などのパターンや表面上の構造物を識別できない3次元画像においても、高い精度で、基準面3Aを検出して、撮像装置5の姿勢を推定でき、さらに、撮像装置5の回転角およびその時間変動を算出することが可能になる。
【0132】
(第2の実施の形態)
次に、本発明の第2の実施の形態について図を参照して詳細に説明する。
【0133】
図6は、本発明の第2の実施の形態を含む回転推定システム10Aを示したブロック図である。図6において、図1に示したものと同一構成のものには同一符号を付してある。
【0134】
回転推定システム10Aは、姿勢推定部3bの代わりに重み姿勢推定部3bAを含む点で、図1に示した回転推定システム10と異なっている。
【0135】
以下、回転推定システム10と異なる点を中心に、回転推定システム10Aについて、説明する。
【0136】
重み姿勢推定部3bAは、一般的に姿勢推定手段と呼ぶことができる。
【0137】
重み姿勢推定部3bAは、3次元画像5Aごとに、3次元画像5A内の候補領域CR内の画素値に基づいて、基準面3Aを検出し、3次元画像5Aごとに、3次元画像5Aに基づいて、3次元画像5A内の基準面3Aに対する撮像装置5の相対的な姿勢を求める。
【0138】
重み姿勢推定部3bAは、例えば、特願2008−022710号明細書に記載されたように、候補領域CRにおける画素値か、もしくは、その画素値を予め与えた関数で変換した結果を用いて、その候補領域CRに基準面3Aがくる確率を算出し、最もらしさを示す重みとして基準面3Aを検出する。
【0139】
本実施形態によれば、重み姿勢判定部3bAは、候補領域内の画素値に基づいて、基準面3Aを検出する。このため、基準面3Aを高い精度で検出することが可能になる。
【0140】
(第3の実施の形態)
次に、本発明の第3の実施の形態について図を参照して詳細に説明する。
【0141】
図7は、本発明の第3の実施の形態を含む回転推定システム10Bを示したブロック図である。図7において、図1に示したものと同一構成のものには同一符号を付してある。
【0142】
回転推定システム10Bは、データ処理装置内に、回転軸パラメータ算出部3eBをさらに含む点で、図1に示した回転推定システム10と異なっている。
【0143】
以下、回転推定システム10と異なる点を中心に、回転推定システム10Bについて、説明する。
【0144】
回転軸パラメータ算出部3eBは、一般的に回転軸状態推定手段と呼ぶことができる。
【0145】
回転軸パラメータ算出部3eBは、回転パラメータ算出部3cにて算出された撮像装置5の回転状態に基づいて、撮像装置5の回転軸(撮像装置5の「ヨー」の回転軸)の回転状態を求める。
【0146】
回転軸パラメータ算出部3eBは、撮像装置5の回転状態に基づいて、撮像装置5の回転軸の回転状態として、予め定めた特定方向に対する撮像装置5の回転軸の回転角と、撮像装置5の回転軸の回転角の時間変動と、を求める。
【0147】
本実施形態では、回転軸パラメータ算出部3eBは、回転パラメータ算出部3cが算出したA、BおよびCを用いてDを求めるために、式(3)、式(4)および式(5)を用いて
【0148】
【数11】

【0149】
を得て、式(5)の各行列要素から、γを消去する。
【0150】
回転軸パラメータ算出部3eBは、続いて、DをA、B、C、αおよびβで記述することによりDを求める。
【0151】
回転軸パラメータ算出部3eBは、複数の時刻でDを求めることにより、Dの時間変動を求めることができる。
【0152】
さらには、回転軸パラメータ算出部3eBは、式(10)を用いて、γを求めることができる。
【0153】
回転軸パラメータ算出部3eBは、こうして得られた回転軸5Bの向き(α、βおよびγ)およびその時間変動(Dの時間変動)を、姿勢、回転角、および、回転角の時間変動とともに、パラメータ記憶部2bに記憶する。
【0154】
パラメータ記憶部2b内の回転軸5Bの向き、および、その時間変動は、データ送信部4aからの指示、または、文字入力部1bを介したユーザからの指示により、有線や無線のネットワークを介して、外部の制御システム6に渡される。
【0155】
また、回転軸5Bの向き、および、その時間変動は、ユーザ指定時に、ディスプレイやプロジェクタ、プリンタなどで表示されてもよい。
【0156】
本実施形態によれば、回転パラメータ算出部3cにて算出された撮像装置5の回転状態に基づいて、撮像装置5の回転軸の回転状態を求める。
【0157】
このため、画像にノイズが多かったり不鮮明であったりして、基準となる面の表面上の凹凸形状や模様などのパターンや表面上の構造物を識別できない3次元画像においても、撮像装置5の回転軸の回転状態、例えば、予め定めた特定方向に対する撮像装置5の回転軸の回転角と、撮像装置5の回転軸の回転角の時間変動と、を算出することが可能になる。
【0158】
なお、本実施形態において、姿勢推定部3bの代わりに、重み姿勢推定部3bAが用いられてもよい。
【0159】
(第4の実施の形態)
次に、本発明の第4の実施の形態について図を参照して詳細に説明する。
【0160】
図8は、本発明の第4の実施の形態を含む回転推定システム10Cを示したブロック図である。図8において、図1に示したものと同一構成のものには同一符号を付してある。
【0161】
回転推定システム10Cは、データ処理装置内に、回転パラメータ平滑化部3fCをさらに含む点で、図1に示した回転推定システム10と異なっている。
【0162】
以下、回転推定システム10と異なる点を中心に、回転推定システム10Cについて、説明する。
【0163】
回転パラメータ平滑化部3fCは、一般的に回転状態平滑化手段と呼ぶことができる。
【0164】
回転パラメータ平滑化部3fCは、回転パラメータ算出部3cが複数回求めた撮像装置5の回転状態を平滑化する。
【0165】
さらに言えば、回転パラメータ平滑化部3fCは、回転パラメータ算出部3cにて複数の時刻で得られた撮像装置5の回転状態を時間について平滑化する。
【0166】
回転パラメータ平滑化部3fCは、平滑化方法として、例えば、ある時刻の前後について重みをつけて畳み込む移動平均を用いてもよい。
【0167】
また、平滑化方法として、ローパスフィルタにより高周波成分を取り除く方法が用いられてもよい、
また、平滑化方法として、ある時間間隔について時間に関する多項式を最小2乗フィッティングする方法が用いられてもよい。
【0168】
また、平滑化方法として、カルマンフィルタのような最適状態推定フィルタを使用する方法が用いられてもよい。
【0169】
回転パラメータ平滑化部3fCは、こうして得られた平滑化した撮像装置5の回転状態を、パラメータ記憶部2bに記憶する。
【0170】
パラメータ記憶部2b内の平滑化した撮像装置5の回転状態は、データ送信部4aからの指示、または、文字入力部1bを介したユーザからの指示により、有線や無線のネットワークを介して、外部の制御システム6に渡される。
【0171】
平滑化した撮像装置5の回転状態は、ユーザ指定時に、ディスプレイやプロジェクタ、プリンタなどで表示されてもよい。
【0172】
また、平滑化した撮像装置5の回転状態と平滑化する前の撮像装置5の回転状態の両方が、パラメータ記憶部2bに記憶され、両方が、外部の制御システム6に渡されたり、表示されたりしてもよい。
【0173】
本実施形態によれば、回転パラメータ平滑化部3fCは、回転パラメータ算出部3cが複数回求めた撮像装置5の回転状態を平滑化する。
【0174】
このため、画像がノイズ過多で求まる姿勢の精度が高くなくても、精度よく、撮像装置5の回転状態を求めることが可能になる。
【0175】
なお、本実施形態において、姿勢推定部3bの代わりに、重み姿勢推定部3bAが用いられてもよい。
【0176】
また、本実施形態において、さらに、回転軸パラメータ算出部3eBが追加されてもよい。
【0177】
(第5の実施の形態)
次に、本発明の第5の実施の形態について図を参照して詳細に説明する。
【0178】
図9は、本発明の第5の実施の形態を含む回転推定システム10Dを示したブロック図である。図9において、図7または8に示したものと同一構成のものには同一符号を付してある。
【0179】
回転推定システム10Dは、データ処理装置内に、回転軸パラメータ算出部3eBと、回転軸パラメータ平滑化部3gDと、をさらに含む点で、図8に示した回転推定システム10Cと異なっている。
【0180】
以下、回転推定システム10Cと異なる点を中心に、回転推定システム10Dについて、説明する。
【0181】
回転軸パラメータ平滑部化3gDは、一般的に回転軸状態平滑化手段と呼ぶことができる。
【0182】
回転軸パラメータ平滑化部3gDは、回転軸パラメータ算出部3eBが複数回求めた撮像装置5の回転軸の回転状態を平滑化する。
【0183】
さらに言えば、回転軸パラメータ平滑化部3gDは、回転軸パラメータ算出部3eBにて複数の時刻で得られた撮像装置5の回転軸の回転状態を時間について平滑化する。
【0184】
回転軸パラメータ平滑化部3gDは、平滑化方法として、例えば、ある時刻の前後について重みをつけて畳み込む移動平均を用いてもよい。
【0185】
また、平滑化方法として、ローパスフィルタにより高周波成分を取り除く方法が用いられてもよい、
また、平滑化方法として、ある時間間隔について時間に関する多項式を最小2乗フィッティングする方法が用いられてもよい。
【0186】
また、平滑化方法として、カルマンフィルタのような最適状態推定フィルタを使用する方法が用いられてもよい。
【0187】
回転軸パラメータ平滑化部3gDが用いる平滑化方法は、回転パラメータ平滑化部3fCが用いる平滑化方法と同一であってもよいし、異なっていてもよい。
【0188】
回転軸パラメータ平滑化部3gDは、こうして得られた平滑化した撮像装置5の回転軸の回転状態を、パラメータ記憶部2bに記憶する。
【0189】
パラメータ記憶部2b内の平滑化した撮像装置5の回転軸の回転状態は、データ送信部4aからの指示、または、文字入力部1bを介したユーザからの指示により、有線や無線のネットワークを介して、外部の制御システム6に渡される。
【0190】
平滑化した撮像装置5の回転軸の回転状態は、ユーザ指定時に、ディスプレイやプロジェクタ、プリンタなどで表示されてもよい。
【0191】
また、平滑化した撮像装置5の回転軸の回転状態と平滑化する前の撮像装置5の回転軸の回転状態の両方が、パラメータ記憶部2bに記憶され、両方が、外部の制御システム6に渡されたり、表示されたりしてもよい。
【0192】
本実施形態によれば、回転軸パラメータ平滑化部3gDは、回転軸パラメータ算出部3eBが複数回求めた撮像装置5の回転軸の回転状態を平滑化する。
【0193】
このため、画像がノイズ過多で求まる姿勢の精度が高くなくても、精度よく、撮像装置5の回転軸の回転状態を求めることが可能になる。
【0194】
なお、上記各実施形態のデータ処理装置は、専用のハードウェアにより実現されるもの以外に、データ処理装置内の各部の機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。
【0195】
コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory)等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。
【0196】
さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの(伝送媒体もしくは伝送波)、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【0197】
以上説明した実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【符号の説明】
【0198】
10、10A〜10D 回転推定システム
1 入力装置
1a 画像入力部
1b 文字入力部
2 記憶装置
2a しきい値記憶部
2b パラメータ記憶部
2c 画像記憶部
3、3A〜3D データ処理装置
3a 2値化部
3b 姿勢推定部
3bA 重み姿勢推定部
3c 回転パラメータ算出部
3d 姿勢判定部
3eB 回転軸パラメータ算出部
3fC 回転パラメータ平滑化部
3gD 回転軸パラメータ平滑化部
4 通信装置
4a データ送信部
5 撮像装置
6 制御システム

【特許請求の範囲】
【請求項1】
撮像装置が複数のタイミングで撮像した複数の3次元の画像を受け付け、前記複数の画像に共通に存在する面領域を検出し、前記画像ごとに、当該画像に基づいて、当該画像内の前記面領域に対する前記撮像装置の相対的な姿勢を求める姿勢判定手段と、
前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態を求める回転状態推定手段と、を含む回転推定装置。
【請求項2】
請求項1に記載の回転推定装置において、
前記回転状態推定手段は、前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態として、予め定められた基準方向に対する前記撮像装置の回転角と、当該撮像装置の回転角の時間変動と、を求める、回転推定装置。
【請求項3】
請求項1または2に記載の回転推定装置において、
前記姿勢判定手段は、
前記複数の3次元の画像を受け付け、前記画像ごとに、当該画像から前記面領域の候補となる候補領域を検出する検出手段と、
前記画像ごとに、当該画像内の前記候補領域内の画素値に基づいて、前記面領域を検出し、前記画像ごとに、当該画像に基づいて、当該画像内の前記面領域に対する前記撮像装置の相対的な姿勢を求める姿勢推定手段と、を含む、回転推定装置。
【請求項4】
請求項1から3のいずれか1項に記載の回転推定装置において、
前記撮像装置の回転状態に基づいて、前記撮像装置の回転軸の回転状態を求める回転軸状態推定手段を、さらに含む、回転推定装置。
【請求項5】
請求項4に記載の回転推定装置において、
前記回転軸状態推定手段は、前記撮像装置の回転状態に基づいて、前記回転軸の回転状態として、予め定めた特定方向に対する前記撮像装置の回転軸の回転角と、当該回転軸の回転角の時間変動と、を求める、回転推定装置。
【請求項6】
請求項4または5に記載の回転推定装置において、
前記回転軸状態推定手段は、前記回転軸の回転状態を複数回求め、
前記複数回求められた前記回転軸の回転状態を、時間について平滑化する回転軸状態平滑化手段をさらに含む、回転推定装置。
【請求項7】
請求項1から6のいずれか1項に記載の回転推定装置において、
前記回転推定手段は、前記撮像装置の回転状態を複数回求め、
前記複数回求められた前記撮像装置の回転状態を、時間について平滑化する回転状態平滑化手段をさらに含む、回転推定装置。
【請求項8】
回転推定装置が行う回転推定方法であって、
撮像装置が複数のタイミングで撮像した複数の3次元の画像を受け付け、前記複数の画像に共通に存在する面領域を検出し、前記画像ごとに、当該画像に基づいて、当該画像内の前記面領域に対する前記撮像装置の相対的な姿勢を求める姿勢判定ステップと、
前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態を求める回転状態推定ステップと、を含む回転推定方法。
【請求項9】
請求項8に記載の回転推定方法において、
前記回転状態推定ステップでは、前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態として、予め定められた基準方向に対する前記撮像装置の回転角と、当該撮像装置の回転角の時間変動と、を求める、回転推定方法。
【請求項10】
請求項8または9に記載の回転推定方法において、
前記姿勢判定ステップは、
前記複数の3次元の画像を受け付け、前記画像ごとに、当該画像から前記面領域の候補となる候補領域を検出する検出ステップと、
前記画像ごとに、当該画像内の前記候補領域内の画素値に基づいて、前記面領域を検出し、前記画像ごとに、当該画像に基づいて、当該画像内の前記面領域に対する前記撮像装置の相対的な姿勢を求める姿勢推定ステップと、を含む、回転推定方法。
【請求項11】
請求項7から10のいずれか1項に記載の回転推定方法において、
前記撮像装置の回転状態に基づいて、前記撮像装置の回転軸の回転状態を求める回転軸状態推定ステップを、さらに含む、回転推定方法。
【請求項12】
請求項11に記載の回転推定方法において、
前記回転軸状態推定ステップでは、前記撮像装置の回転状態に基づいて、前記回転軸の回転状態として、予め定めた特定方向に対する前記撮像装置の回転軸の回転角と、当該回転軸の回転角の時間変動と、を求める、回転推定方法。
【請求項13】
請求項11または12に記載の回転推定方法において、
前記回転軸状態推定ステップでは、前記回転軸の回転状態を複数回求め、
前記複数回求められた前記回転軸の回転状態を、時間について平滑化する回転軸状態平滑化ステップをさらに含む、回転推定方法。
【請求項14】
請求項8から13のいずれか1項に記載の回転推定方法において、
前記回転推定ステップでは、前記撮像装置の回転状態を複数回求め、
前記複数回求められた前記撮像装置の回転状態を、時間について平滑化する回転状態平滑化ステップをさらに含む、回転推定方法。
【請求項15】
コンピュータに、
撮像装置が複数のタイミングで撮像した複数の3次元の画像を受け付け、前記複数の画像に共通に存在する面領域を検出し、前記画像ごとに、当該画像に基づいて、当該画像内の前記面領域に対する前記撮像装置の相対的な姿勢を求める姿勢判定手順と、
前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態を求める回転状態推定手順と、を実行させるためのプログラム。
【請求項16】
請求項15に記載のプログラムにおいて、
前記回転状態推定手順では、前記画像ごとに求められた前記撮像装置の相対的な姿勢に基づいて、前記撮像装置の回転状態として、予め定められた基準方向に対する前記撮像装置の回転角と、当該撮像装置の回転角の時間変動と、を求める、プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−181366(P2010−181366A)
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2009−27207(P2009−27207)
【出願日】平成21年2月9日(2009.2.9)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】