説明

画像処理装置及びロボット装置ならびに車両誘導装置

【課題】
画像処理装置において、広い範囲にある対象物に対して、屋外や強い照明下においても安定して形状復元する。
【解決手段】
画像処理装置において、画像入力手段1aが時系列的に入力した画像上の特徴的な点の位置関係の変化を第1の計算手段1bが抽出する。位置関係の変化から特徴的な点の三次元位置と画像を捉えた際の視点の位置と方向を第2の計算手段1cが計算する。入力した画像と特徴的な点の三次元位置とから画像に捉えられている物体の三次元形状データを第3の計算手段が計算する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像から物体あるいは周囲の障害物の三次元的な形状を復元する画像処理装置及びそれを搭載したロボット装置ならびに車両誘導装置に関する。
【背景技術】
【0002】
従来の撮像画像を画像処理する装置の例が、特許文献1及び特許文献2に記載されている。特許文献1に記載の撮像画像処理装置は、対象物体を撮像して2次元輝度画像データを得、この2次元輝度画像データから3次元形状を復元している。その際、2次元輝度画像データについてエッジを検出し、エッジから対象物体の表面の滑らかさを示すパラメータを算出している。そしてパラメータを用いて3次元形状を正確に復元する陰影情報としての反射地図パラメータを決定し、このパラメータを用いて対象物体の3次元形状を復元している。
【0003】
一方特許文献2には、画像処理装置において、撮像手段が撮像した所定視点位置からの被写体画像を第1の記憶手段に記憶し、撮像された画像に最も近い視点位置からの対象物画像を標準3次元形状モデルに基づいて生成し、第2の記憶手段に記憶することが記載されている。そして、これら第1、第2の記憶手段に記憶された画像の差から差異を抽出し、この差に基づいて標準3次元形状モデルを修正することが記載されている。
【0004】
【特許文献1】特開平5-181980号公報
【0005】
【特許文献2】特開平8-233556号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上記特許文献1、2に記載の従来の画像処理装置においては、物体がカメラから遠方にあると視野角が非常に小さくなるため、物体の形状を精度よく復元することができない。また、屋外や明るい照明の下にある物体では、明るい反射光によりハレーションを起こしやすく、輝度値の識別が困難である。さらに、遠方にある物体や暗い場所の輝度は一般に低いから、低レベルな輝度の違いを区別するのは難しく、遠方や暗い場所の物体形状を復元しにくい。
【0007】
本発明は上記従来技術の不具合に鑑みなされたものであり、その目的は、遠方から至近距離まで広い範囲にある対象物に対して、屋外や強い照明下においても安定して形状復元を可能にすることである。本発明はまた、形状復元に要する時間を低減することも目的とする。
【課題を解決するための手段】
【0008】
上記目的は、画像入力手段と、前記画像入力手段より入力した画像上の特徴的な部分の位置関係の変化を抽出する第1の計算手段と、前記位置関係の変化から特徴的な部分の三次元位置を計算する第2の計算手段と、前記特徴的な部分の三次元位置を用いて画像に捉えられている物体の三次元形状データを計算する第3の計算手段を備えた画像処理装置により達成される。
【0009】
また、上記目的は、画像入力手段が時系列的に入力した複数の画像をセットとして、その先頭の画像に関して特徴部分を抽出する特徴部分抽出回路と、前記画像のセットの2番目の画像については、1番目の画像の特徴部分の位置を中心とした近傍を探索して対応する部分の位置を求め、前記画像のセットの3番目以後の画像については、その一つ前の画像について求めた部分の位置を中心とした近傍を探索して対応する部分の位置を求める特徴部分追跡回路と、前記画像のセットにおける特徴部分の位置が求まった段階で、特徴部分の三次元位置を計算する座標計算回路と、前記座標計算回路が特徴部分の三次元位置を求めた段階でこれらの特徴部分と記憶手段に記憶されている形状データの部分の対応関係を求め、前記新たに座標計算した特徴部分の三次元座標を変換するデータ統合回路とを備え、これら画像入力手段、特徴部分抽出回路、特徴部分追跡回路、座標計算回路、データ統合回路がパイプライン的に並列に動作するものである画像処理装置により達成される。
【発明の効果】
【0010】
本発明による画像処理装置によれば、対象を様々な方向から眺めた画像を得るだけで対象物の3次元形状を復元することができるので、空撮画像のような遠方の対象物に対しても、至近距離にある対象物に対しても3次元形状を復元することが可能である。また、特別な参照光を用いないので、屋外や強い照明下においても安定して形状復元が可能である。また、全ての処理を自動で行うことが可能であるので手間がかからない。また、LSIのようなチップとして構成することも可能であるので、安価でコンパクトな装置とすることができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施の形態を図面によって説明する。図1は、本発明による画像処理装置の一実施例である。1は本発明による画像処理装置、2は対象物体の画像を取り込むカメラ、3は画像処理装置が復元した対象物体の形状を利用する処理装置である。処理装置3は、具体的には例えば画像処理装置1が組込まれた機械装置の制御装置などであり、画像処理装置が復元した物体の形状データを元に機械装置の動きを制御するものである。また、1aは画像処理装置1内に設けられた画像入力手段、1bは時系列的に入力される画像上の特徴点の位置関係の変化を抽出する第1の計算手段、1cは特徴点の位置関係の変化から各点の三次元位置と各入力画像を捉えた際の視点の位置と方向(カメラ位置姿勢)を計算する第2の計算手段、1dは入力画像と特徴点の三次元位置とから画像に捉えられている物体の三次元形状データを計算する第3の計算手段、1eは復元した物体の三次元形状データに関する情報を制御装置3とやり取りする入出力手段、1fは第3の計算手段が計算した物体の三次元形状データと入出力手段から入力された三次元形状データを比較することにより、同一の形状の物体の位置・姿勢を求める第4の計算手段である。
【0012】
図2は、図1の各構成要素を更に詳しく示す図である。図2においては、特徴点・エッジ抽出手段12と特徴点追跡手段13が第1の計算手段1bを構成し、物体認識手段23と空間探索手段24が第4の計算手段を構成する。また、座標計算手段16が第2の計算手段1cに、線/面抽出・登録手段19が第3の計算手段1dに対応する。また、11、14、15、17はデータを一時的に記憶しておく記憶手段であり、それぞれ画像入力手段が入力した画像データ、特徴点追跡手段が生成した観測マトリックス、特徴点・エッジ抽出手段が生成した特徴点・エッジマップ、座標計算手段が計算した特徴点の3次元座標データを記憶する。
【0013】
20はCADデータの記憶手段であり、線/面抽出・登録手段が形状データを生成するたびにCADデータ記憶手段に記憶されている形状データ(以後CADデータと呼ぶ)と統合され、蓄積される。また、18はカメラ位置姿勢の記憶手段であり、座標計算手段が計算したカメラ位置姿勢データを記憶しておく。記憶しておくデータは最新のデータのみであっても、入力画像系列の全てに関するデータを記憶するものであっても良い。
【0014】
22はCADデータの中から探索すべき物体の形状モデルを記憶しておく記憶手段であり、物体認識手段23は22に記憶された形状データと一致する部分を20に記憶されているCADデータの中から探索する。また、空間探索手段24は20に記憶されているCADデータの中から物体認識手段23が探索すべき範囲を限定する。
【0015】
各部の詳細について説明する。図3は、画像入力手段10の具体的構成例を示すものである。一般に画像データを得るためには、CCD撮像素子等を用いたカメラなどが用いられる。このカメラは、例えば図3の2として示すように、画像を撮像素子上に結像するためのレンズ2a、CCD素子2b、CCD出力を読み出す読出回路2c、CCD出力を映像信号に変換する信号生成回路2dなどから構成される。
【0016】
一般にCCD素子は、格子状に配置された受光素子の行の方向に順次読み出すようになっており、信号生成回路2dは順次読み出された画素の明るさを信号の振幅によってアナログ的に表す信号(輝度信号)と画像の各行や1画面の区切りを表す同期信号を合成したいわゆるビデオ信号2eを生成する。
【0017】
図3に示す画像入力手段の例では、このビデオ信号から同期信号を分離する同期回路10aと、ビデオ信号から輝度信号を分離して画素の明るさをデジタル値に変換するA/D変換器10bと、明るさのデジタル値を同期信号に同期して記憶素子11に書き込む書込回路10cを備えている。
【0018】
図4は、画像入力手段10の別な具体的構成例を示すものである。上記のようなビデオ信号を出力するカメラの他に、画像をデジタル信号として出力するタイプのカメラも存在する。この様なカメラでは、例えば図4に示すように画素の輝度値を表す複数ビットのデジタル信号2gと同期信号2fから構成されるデジタル映像信号を出力する。この様なカメラでは、データ転送効率が良くなるため高速に画像データを得ることができる。また、カメラ内部で輝度値がデジタル化されるため、信号の歪やノイズによる画像の劣化が起こらないと言うメリットがある。
【0019】
図4に示す画像入力手段の例では、このデジタル映像信号から画素データの書込みアドレスを計算して画素データを記憶素子11に書込む書込回路10cを備えている。画像入力手段10の構成としては、図3に示す構成、あるいは図4に示す構成、あるいはその両方を備えた構成であっても良い。画像入力手段をこのような構成とすることにより、画像処理装置を直接カメラ等に接続することができる。このため、画像処理装置を機械装置等に組込む際に特別な付加回路等を設けなくても済む。
【0020】
図5は、画像入力手段10の更に別な具体的構成例を示すものである。図5は、画像処理装置1上にCCD素子のような受光素子10fを構成し、そこに画像を結像させるためのレンズ10dを設けたものである。受光素子10fが検出した輝度情報は直接あるいはデジタル値に変換されて記憶素子11に転送される。この様な構成とすることにより、画像データをカメラから画像処理装置に転送する必要がなくなるため、非常に高速に画像データを得ることができる。
【0021】
特徴点・エッジ抽出手段12の詳細について図6を用いて説明する。ここで、特徴点とは多角形の頂点、線と線の交点、曲線の折れ点や線の分岐点など空間において位置を一意に特定できる点のことを意味する。3次元の物体を線画の様に描いた画像から上記のような特徴点を抽出すると、これらの点は物体の頂点や物体表面に描かれた図形の頂点である場合が多い。従って、これらの点の3次元位置を求めて、線で結ぶことにより元の物体の形状や物体表面に描かれた図形の形状を再現することが可能となる。
【0022】
一方、エッジとは3次元物体の形状における稜線や、物体表面に描かれた図形の境界線、あるいは物体の2次元画像における輪郭線などを意味する。即ち、3次元の物体を線画の様に描いた場合に得られる線に対応するものである。上記の特徴点を線で結ぶ際に、この様なエッジに沿って結ぶことにより、物体形状を正しく再現することが可能となる。なお、エッジは画像において空間的に明るさが大きく変化する場所に現れることが多い。
【0023】
図6において、12aは画像の輝度値のU方向(横方向)の空間微分を計算する手段であり、12bは輝度値のV方向(縦方向)の空間微分を計算する手段である。具体的には、座標(u,v)における画像の輝度をI(u,v)とする時に、U方向微分Iu(u,v)とV方向微分Iv(u,v)は、例えば以下の式により計算する。(以後の説明において特に断りのない限り(u,v)は画像上の横方向と縦方向の座標を表すものとする。)
【0024】
【数1】

【0025】
これは、画像における空間的な明るさの変化を計算するものであり、具体的計算方法は上記に限定されるものではない。
【0026】
12cは、特徴点としての指標Efを計算する手段であり、例えば以下の式により計算する。
【0027】
【数2】

【0028】
ここで、Guu、Gvv、Guvは以下に示す様に近傍領域WにおいてU方向微分の二乗、V方向微分の二乗、U方向微分とV方向微分の積を積算したものである。
【0029】
【数3】

【0030】
指標Efは近傍領域Wにおいて明るさの変化の方向が変化する程度を表すものであり、具体的計算方法としては上記に限定されるものではない。
【0031】
特徴点・エッジ抽出手段12は、上記の指標Efを用いて、例えばEfがある設定値以上である画素を特徴点として抽出し、その画像上での座標(u,v)のリスト15aを出力する。12dは、エッジとしての指標Eeを計算する手段であり、例えば以下の式により計算する。
【0032】
【数4】

【0033】
指標Eeは画素(u,v)における明るさの空間変化の程度を表すものであり、具体的計算方法としては上記に限定されるものではない。
【0034】
特徴点・エッジ抽出手段12は、上記の指標Eeを用いて、例えばEeがある設定値以上である画素に対してはそれがエッジであることを示す値を、そうでない画素に対してはそれがエッジでないことを示す値を設定した画像データ(エッジパターン)15bを生成する。そして、上記特徴点の座標リスト15aとエッジパターン15bとにより特徴点・エッジマップ15を構成する。
【0035】
特徴点追跡手段13の詳細について、図7を用いて説明する。特徴点追跡手段13は、既に特徴点の位置が既知である第1の画像I1をもとに、特徴点の位置が未知である第2の画像I2における対応する特徴点の位置を求める。この時、対応する特徴点の位置は、既知の特徴点の位置を中心とした近傍領域を第2の画像I2について探索することにより求める。
【0036】
具体的探索手順を図7に示す。既知の特徴点の座標が(u0,v0)であるとして、(u0,v0)を中心とした近傍領域、例えばu,v座標がそれぞれ±wの範囲のI1の画像IW1を得る(s1)。この時、座標(u0,v0)は、必ずしも画像I1の画素を構成する格子点の座標と一致するものではないとし、s1ではI1の格子点の画素値から座標(u0,v0)を中心とした格子点の画素値を補間計算するものとする(サブピクセル処理)。
【0037】
IW1のU方向微分画像とV方向微分画像を求め、これをIu、Ivとする(s2)。この処理は、例えば図6に示したU方向微分計算手段12a、V方向微分計算手段12bを用いて行う。画像I2の対応する特徴点の推定位置(u,v)をまず(u0,v0)と置いて(s3)、繰り返し回数tを0と置く(s4)。I2に対して座標(u,v)を中心とした近傍領域、例えばu,v座標がそれぞれ±wの範囲の画像を得てIW2とする(s5)。この手順では、手順s1と同様にサブピクセル処理を行う。
【0038】
IW1、IW2、Iu、Ivとから行列Gとベクトルbを計算する(s6)。具体的には以下の式によりGとbを計算する。
【0039】
【数5】

【0040】
ここで、Guu、Gvv,Guvの定義は(数3)と同様であるが、積算する範囲は(u0,v0)を中心とする近傍領域、例えばu,v座標がそれぞれ±wの範囲である。また、bの積算演算はIW1,Iu,Ivについては(u0,v0)を中心とする近傍領域、IW2については(u,v)を中心とする近傍領域について積算することを表している。
【0041】
行列Gが逆行列を持つなら(s7)なら手順s8に示す式により(u,v)の修正量(du,dv)を計算する。Gが逆行列を持たないなら修正量は0とする(s9)。そして、(u,v)を(du,dv)により修正し(s10)、その修正量が所定の値dmより小さいなら(s11)、処理を終了する。また、修正量がdmより大きい場合には、繰り返し回数tを1増やし(s12)、繰り返し回数が所定の回数tmより小さければ処理を継続し、所定の回数tmとなったら処理を終了する(s13)。
【0042】
上記のように、特徴点追跡手段13においては、既知の特徴点の位置を初期値推定値として、その近傍領域から計算される修正量で推定値を修正することを繰り返すことにより対応する特徴点の位置を特定する。この繰り返し処理において、修正量が所定の値以下になった場合、あるいは繰り返し回数が所定の回数となった場合に処理を終了する。
【0043】
修正量に関するしきい値dmを小さくすると高精度に対応点の位置を特定することができる。しかし、場合によっては繰り返し回数が多くなり、対応点を求める計算に時間がかかることになる。これに対して、繰り返し回数に関するしきい値tmを設けることにより、常に所定の時間以内で計算が終了し、かつ収束の速い特徴点については高精度に対応点の位置を求めることができる。また、繰り返し計算が収束しない場合の無限ループを防ぐこともできる。
【0044】
画像入力手段10により入力される時系列的な画像に対しては、例えば、1番目の画像に対して特徴点・エッジ抽出手段12により特徴点の位置を求め、I1を1番目の画像、I2を2番目の画像として、上記の手順によりI2の対応する特徴点の位置を求める。次にI1を2番目の画像、I2を3番目の画像として、I1の特徴点の位置は上記で求めた特徴点とすることで、3番目の画像に対して対応する特徴点の位置を求める。以下、同様の手順を繰り返すことにより、時系列的な画像全体に渡って特徴点の位置を追跡することができる。
【0045】
以上の手順により、特徴点追跡手段は以下に示す観測行列を生成する。
【0046】
【数6】

【0047】
ここで、uij,vijはi番目の画像におけるj番目の特徴点の画像上での位置座標である。
【0048】
座標計算手段16の詳細について図8を用いて説明する。(数6)に示した観測行列はm個の異なる視点から対象物を観測して得た画像上でのn個の特徴点の位置座標を列挙したものと考えることができる。このようにm個の異なる視点におけるn個の点の見え方から点の3次元座標と視点の位置姿勢を求める計算方法としては、いくつかの方法が存在する。これらの方法は、点を画像面に投影するモデル、例えば正射影モデルであるか、パースペクティブモデルであるかなどの相異により異なる計算方法を用いる。ここでは、例えば正射影モデルを用いた場合の例について説明する。
【0049】
まず、観測行列の各行についてその行の平均値を差し引く(s20)。具体的には、以下の式により計算を行う。
【0050】
【数7】

【0051】
次に、上記で得られた行列を特異値分解して以下の形として、U行列とV行列を得る(s21)。なお、記号Tは行列の転置を表す。
【0052】
【数8】

【0053】
ここで、対角行列Sの対角要素は特異値の値の大きい順に並べられているものとする。
【0054】
次に、U行列の左3行列から得た2m行3列の行列U3から回転行列Rを計算する(s22)。具体的には、対角行列Sの左上3×3行列から得た部分行列をS3とする時、例えば以下の式によりRを計算する。
【0055】
【数9】

【0056】
同様に、V行列の左3行列から得たn行3列の行列V3から形状行列Pを計算する(s23)。具体的には、前記部分行列S3を用いて例えば以下の式により計算する。
【0057】
【数10】

【0058】
次に回転行列Rを正規直交化する変換行列Aを求める(s24)。これは、Rの各行から作ったベクトルをriとする時、以下の連立方程式を満たす解として求めることができる。
【0059】
【数11】

上記変換行列Aを右から掛けたものを回転行列、Aの逆行列をPの左から掛けたものを形状行列とすることにより(s25)、Rのi行とi+m行が第i番目の画像における視点の方向を規定する二つのベクトル座標となり、Pのj列がj番目の特徴点の3次元座標となる。また、視点の平行移動成分は、観測行列Mの各行の平均値として与えられる。
【0060】
線/面抽出・登録手段19の詳細について図9を用いて説明する。まず、特徴点群からデローニ三角形を生成する(s30)。ここで、デローニ三角形とは2次元空間上の点群を結んで空間を三角形に分割する時、三角形の最小角ができるだけ大きくなるような分割方法で三角形を構成するものである。数学的には、点群から構成されるボロノイ図の双対として与えられる。ここでは、座標計算に使用した任意の画像における特徴点の2次元位置に対してデローニ三角形を生成するものである。
【0061】
上記デローニ三角形を生成するのに用いた画像のエッジパターンを用いて、エッジで結ばれた特徴点のペアを求める(s31)。これは、例えばある特徴点から出発して直線状に伸びているエッジを辿って行き、他の特徴点に到達したなら、結ばれていると判定することにより求める。
【0062】
上記で求めたペアの間のエッジがデローニ三角形の辺と交差する部分に対して、デローニ三角形の辺がエッジと交差しないように修正する(s32)。例えば、図10(a)において、特徴点群40に対してデローニ三角形が点線41の様な形で生成されたとする。これに対して、特徴点同士を結ぶエッジの線が図10(b)の実線42のように得られたとする。この時、デローニ三角形の辺41aと41bとが、エッジの線42aと交差するので、41aと41bを例えば図10(c)に示す線41cとエッジ42aと重なる線に修正する。
【0063】
以上の手順によって得られた三角形の面に関して、互いに隣接していて面の方向がほとんど同じもの同士を統合する(s33)。例えば、図10(c)において、三角形43a、43b、43c、43d、43eの面の向きがほとんど同じであるので統合する。他の面についても同様の処理を行うことにより、図10(d)に示すような結果となる。但し、上記の処理において、面が接する辺がエッジの線と重なる場合には、統合しない。
【0064】
上記で得た面の色を求める(s34)。これは、画像上において面に対応する領域の画素の色の平均値として求める。物体表面上に描かれた図形などの境界は多くの場合エッジとして抽出され、境界の頂点などは特徴点として抽出される。従って、上記の処理により物体表面に描かれた図形なども形状データとして生成される。
【0065】
以上の手順により、生成した点と線と面により構成された形状データをCADデータに統合する(s35)。この統合処理の詳細手順を図10に示す。新たに生成された形状データの点(特徴点)に対応するCADデータ内の点を抽出する(s40)。これは、例えば特徴点・エッジ抽出手段12が特徴点を抽出した際に、特徴点の座標リスト15aに対して、個々の特徴点を識別する識別番号を付加しておく。そして、CADデータに登録する際に点のデータと合わせて識別番号も記憶しておく。次に、再び特徴点の抽出を行った際に、前回作成した特徴点の座標リスト15aを参照し、座標がほとんど同じ特徴点については、前回と同一の識別番号を付加するようにする。これにより、新たに生成した形状データにおける点の識別番号と同一の識別番号を持つ点をCADデータから探索することにより対応する点の抽出を行うことができる。
【0066】
新たに生成された形状データの点とCADデータより抽出した対応点の座標が一致するように変換する座標変換を求める(s41)。これは、点の座標に関する連立方程式を解くことにより求められる。新たに生成された啓上データの全ての点の座標を上記の座標変換により変換した後にCADデータに登録する(s42)。この時、新たな点の中でCADデータ内の点と対応のあるものは登録しない。点データの統合により生じる線や面のデータの修正処理を行う(s43)。これは、例えば新たに生成された形状データの中の線の端点や面の頂点の点がCADデータ内の点と対応のあるものであれば、その点への接続に置き換えるなどの処理を行うものである。
【0067】
形状データの統合処理の例を図12に示す。まず、カメラ位置201における画像に対して特徴点・エッジ抽出手段12により特徴点40a、40b、40c、40dの抽出が行われたとする。これらは、カメラ位置202、203においても視野の中に入っており、特徴点追跡手段13によって追跡され、それぞれ対応する画像上での位置が求められる。これらの位置データから特徴点40a、40b、40c、40dの3次元座標が計算され形状データとしてCADデータに登録されたとする。次に、カメラ位置204における画像に対して特徴点40c、40d、40e、40fが抽出され、続くカメラ位置205、206における画像に対して追跡処理が行われ、これらの特徴点の3次元座標が計算されたとする。この時、両者の間で共通する特徴点40c、40dの座標は必ずしも同一の3次元座標とはならない。これは、画面上での特徴点の位置関係から3次元座標を復元する計算処理において、カメラと特徴点の相対的な位置関係のみが求まるためである。そこで、カメラ位置201、202、203から計算した特徴点40c、40dの座標とカメラ位置204、205、206から計算した40c、40dの座標が重なるような座標変換を求め、これにより特徴点40e、40fの座標を変換して統合することにより、正しい形状データを得ることができる。
【0068】
次に、データ入出力手段21の詳細について図13を用いて説明する。データ入出力手段には、例えばアドレスを指定するアドレス信号線21a、データをセットまたは読み出すためのデータ線21b、画像処理装置1へのアクセスを指定するチップセレクト制御線21c、データの入力または読み出しを指定するリードライト制御線21d、データの書込みまたは読み出しのタイミングを指定するストローブ制御線21e、画像処理装置1に接続された制御装置に割り込み処理を要求する割込み制御線21fなどが備えられている。
【0069】
これらの信号線を用いて、例えば図14に示すような形の形状データの入出力を行う。図14において、44は形状を構成する点の座標データであり、45は線のデータであり、46は面のデータであり、47は物体のデータである。線のデータ45は二つ一組の数値データであり、それぞれ始点と終点の点の番号を表す。面のデータ46は任意個の組からなる数値データであり、それぞれ線の番号を表す。物体のデータ47は任意個の組からなる数値データであり、それぞれ面の番号を表す。例えば図14に示す例は、図15に示すような一つの面P1、四つの線L1、L2、L3、L4、四つの点(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)、(x4,y4,z4)からなる物体の形状データを表すものである。
【0070】
次に、物体認識手段23と空間探索手段24の詳細について図16を用いて説明する。
【0071】
物体認識手段23は、入出力手段21より入力され、記憶手段22に一時的に記憶された形状データと一致する形状部分をCADデータ20の中から探索し、その位置姿勢を求めるものである。この時行われる探索は、CADデータ20の全体に渡るものであっても良いが、例えば現在のカメラ位置姿勢を指定して現在のカメラから見える範囲の中から探索するものであっても良い。後者のように探索範囲を限定することにより、より短い時間で探索処理を行うことができる。例えば図17(a)において、例えば画像処理装置1が組込まれた作業機械に装着されたカメラが52に示す位置姿勢にあり、前記作業機械がこのカメラから見える範囲の物体51a,51b、51cに対して作業を行っている場合、この中のある特定の物体を探す目的においては、CADデータの全空間51を探索する必要はなく、カメラ位置姿勢52から見える範囲の空間52aの中だけを探索すれば良い。これによって、現在の作業には関係のない51dや51eの様な物体を探索する必要がなくなり、探索時間を短縮することができる。
【0072】
図16における手順s50はこのような探索範囲の限定を行うための処理であり、カメラ視点などによって指定される空間に含まれる形状データを抽出するものである。
【0073】
この抽出処理は、例えば図17(b)に示すような空間探索木を用いることによって高速に行うことができる。図17(b)に示す空間探索木の際下段のノード55は、図17(a)の空間51を分割した部分空間に対応し、それぞれ対応する数字で示した点線で囲まれた部分空間に対応する。2段目のノード54は、前記部分空間の隣接するもの同士を統合した空間に対応するものであり、最上位のノード53は、全空間51に対応する。
【0074】
この空間探索木を用いて、例えば図17(a)における探索範囲52aに含まれる物体は以下の手順で抽出される。まず、空間探索木の最上位ノードから出発して、探索範囲52aと重なる部分空間に対応したノードのみを残して、順次下位のノードに探索を進めていく。例えば図17の例では、2段目のノードにおいてノード4に対応する空間(図17(a)で11、12、15、16で示す空間)は、52aと重ならないので、ノード4より下につながっているノードに関する探索は行わない。ノード1、2、3についてはその下につながる第1段のノードについて同様に重なる部分があるものだけを残す。これにより、1、2、5、6、3、7、9、10、13のノードが残されることになる。そして最後に、この残されたノードに対応する部分空間に含まれる物体をもって、空間52aに含まれる物体とすることができる。正確には、物体は上記で求めた物体の中に空間52aに含まれない物体も存在し得るが、この数は空間の分割数を適切に設定することにより十分小さくすることができる。
【0075】
次に、記憶手段22に記憶されている形状データ(モデル)とs50で抽出された形状データの形状表面に点群を設定する(s51)。これは、例えば図18に示すように、形状データの表面に一様に分布するような点群56を設定するものである。
【0076】
次に、形状データの点群にモデルの点群を様々な位置姿勢で重ね合せてみて、最も良く重なる位置姿勢を求める(s52)。この重ね合せの探索手順としては種々提案されている手法、例えばA. Johnson and M. Hebert, "Using spin images for efficient object recognition in cluttered 3D scenes," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 21, No. 5, May, 1999, pp. 433 - 449などを用いる。
【0077】
次に、上記の結果得られた位置姿勢における形状データとモデルの点群の一致度が所定の値より大きければ(s53)、上記の位置姿勢データを出力し(s54)、そうでなければ物体が見つからなかった旨を出力する(s55)。次に、画像処理装置1の全体的な動作の流れについて図19を用いて説明する。
【0078】
図19において横方向の流れは、左から右へ時間の経過を表し、縦方向の流れは主にデータの流れを表す。また、図中の四角は主にそれらが並べられた各行の左端に示される処理が行われるタイミングを表す。
【0079】
まず、カメラが捉えた画像は画像入力手段10により60で示すタイミングで逐次画像処理装置に取り込まれる。これらの画像データを例えば60aに示すようなセットとした時に、その先頭の画像が取り込まれたタイミングで特徴点・エッジ抽出処理61が実行される。その結果得られた特徴点の画像上での座標データは、観測行列63の先頭行となる。画像のセット60aの2番目以後の画像については、特徴点の追跡処理62が実行され、その結果得られる各画像における特徴点の座標データは、観測行列63の2番目以後の行となる。
【0080】
以上の手順で画像のセット60aの全ての画像に関する特徴点追跡の処理が終了した段階で、生成された観測行列から特徴点の3次元座標とカメラの位置姿勢を計算する座標計算処理64が実行される。そして、特徴点の3次元座標が求まった段階で線/面の抽出と登録処理65が実行され、新たな形状データがCADデータ66に登録される。一方、入出力手段21を介して物体の探索指令が入力されると(68)、その時点から物体の認識処理の実行が開始され(67)、認識処理が終了した段階で結果である物体の位置姿勢データが出力される(69)。
【0081】
一般に特徴点の抽出処理や、特徴点の追跡処理に比べて座標計算処理や線/面抽出登録処理は非常に長い時間を必要とする。このため、画像取込から形状データ登録までの全ての処理が終了してから次の画像の取込を開始すると、最初の画像を取り込んでから次の画像を取り込むまでの間の時間が長くなる。すると、前の画像と後の画像の間での特徴点の対応関係を見つけることが非常に難しくなる。
【0082】
これに対して、画像をセットとしてまとめて、そのセットの長さを座標計算処理や線/面抽出登録処理の長さより長く取って、図19の様なパイプライン処理とすることにより、入力される画像の時間間隔を短く取ることができ、簡単な追跡処理によって特徴点の対応関係を求めることができる。また、特徴点の3次元座標計算に際しては、多くの画像データに関する情報を使うことができるので計算結果の精度を高めることができる。
【0083】
次に、上述した画像処理装置を搭載した各機器について、詳細に説明する。図20に、画像処理装置をマニピュレータ型ロボットに適用したときの、ブロック図を示す。ロボット70は、複数の関節を備えその先端に物体を把持する把持機構を備えている。把持機構の近くにカメラ71を設け、これにより取り込んだ画像を本発明による画像処理装置1に入力する。そして、画像処理装置1により求めた物体の形状データをロボットの制御手段72で利用する。
【0084】
例えば、今ロボットが把持している物体75を物体73に設けられた穴74に挿入する作業を行うとする。まず、ロボットの把持機構を物体73の周りで動かし、カメラ71から物体73を様々な方向から見た画像を得る。これらの画像を画像処理装置1で処理することにより、物体73の3次元形状データが生成される。ここで、制御手段72が物体73の形状モデルを画像処理装置1に入力し、この物体の位置姿勢を求めるように指示する。すると、画像処理装置1は、内蔵する物体認識手段により物体73を探索し、その位置姿勢を求めて制御手段72に出力する。制御手段72は、この位置姿勢データをもとに把持機構の位置姿勢を制御することにより、物体75を穴74に正しく挿入することができる。
【0085】
図21に、画像処理装置を移動機構に搭載したときの模式図を示す。。ロボット80は、移動機構83とカメラ81を備え、カメラ81で取り込んだ画像を本発明による画像処理装置1に入力する。そして、画像処理装置1により求めた物体の形状データをロボットの制御手段82で利用する。例えば、今ロボットが移動機構83を用いて家の中を移動しているとする。カメラ81から取り込まれたロボットの周囲の画像を画像処理装置1で処理することにより、ロボットの周囲の障害物の3次元形状データとカメラ81の位置姿勢が計算される。ここで、制御手段82は障害物の形状データとカメラの位置姿勢データを画像処理装置1から取り出し、周囲の障害物に対する現在のロボット自身の位置関係を計算する。これを用いることにより、ロボット80は周囲の障害物にぶつかることなく家の中を自由に移動することが可能となる。
【0086】
図22に、画像処理装置を搭載した車両の模式図を示す。車両90は、カメラ91、92と、車両誘導装置93と、表示装置94と、本発明による画像処理装置1を備え、カメラ91または92で取り込んだ画像を本発明による画像処理装置1に入力する。そして、画像処理装置1により求めた物体の形状データを車両誘導装置93で利用する。
【0087】
例えば、今車両90が道路を走行中であるとすると、カメラ91は車両90の前方を走行する別な車両の画像を捉え、画像処理装置1に入力する。すると、画像処理装置1は先行する車両の形状とカメラ91の位置姿勢を計算する。車両誘導装置93は、画像処理装置1から上記の形状データとカメラの位置姿勢データを読み出し、前記カメラの位置姿勢データを用いて前記先行車両の形状の自車に対する相対的な位置関係を計算する。そして、図23に示すように、自車94aと先行車両94bの位置関係を表示装置94に表示する。
【0088】
例えば車両90がバックで車庫に入ろうとしているとすると、カメラ92は車両90の後方の障害物の画像を捉え、画像処理装置1に入力する。すると、画像処理装置1は後方の障害物の形状データとカメラ92に位置姿勢を計算する。車両誘導装置93は、画像処理装置1から上記の形状データとカメラの位置姿勢データを読み出し、前記カメラの位置姿勢データを用いて前記後方障害物の形状の自車に対する相対的な位置関係を計算する。そして、図23に示すように、自車94aと後方障害物94cの位置関係を表示装置94に表示する。図23の様な表示は、車両90の運転者に対して、道路走行中あるいは車庫入れ中の運転の助けとなるものである。
【0089】
上記各実施例では、画像処理装置1の中の各種演算処理は、一般的なデジタル回路で実行している。しかしながら、デジタル回路として例えばLSIのような半導体チップを用いれば、コンパクトな画像処理装置になる。また、上記各種演算処理は、コンピュータで使用するコンピュータ・プログラムであってもよい。その場合、画像処理装置1は、コンピュータである。また、特徴点は画像における線分や模様などでも良い。
【図面の簡単な説明】
【0090】
【図1】本発明に係る画像処理装置の一実施例のブロック図である。
【図2】図1に示した画像処理装置の詳細ブロック図である。
【図3】図2に示した画像入力手段の模式図である。
【図4】図2に示した画像入力手段の他の実施例の模式図である。
【図5】図2に示した画像入力手段のさらに他の実施例の模式図である。
【図6】図2に示した特徴点およびエッジ抽出手段の模式図である。
【図7】図2に示した特徴点追跡手段の動作を説明するフローチャートである。
【図8】図2に示した座標計算手段の動作を説明するフローチャートである。
【図9】図2に示した線または面を抽出および登録する手段の動作を説明するフローチャートである
【図10】線または面の抽出方法を説明する図である。
【図11】形状データをCADデータに登録する方法を説明するフローチャートである。
【図12】形状データをCADデータに登録する方法を説明する図である。
【図13】第1ないし第4の計算手段が備える入出力手段の一実施例のブロック図である。
【図14】図13に示した入出力手段から入出力される形状データを説明する図である。
【図15】形状データの内容を説明する図である。
【図16】物体探索および物体認識手段の動作を説明するフローチャートである。
【図17】物体および空間探索を説明する図である。
【図18】形状表面の点群を説明する図である。
【図19】画像処理装置の動作を説明するタイムチャートである。
【図20】本発明に係るマニピュレータ型のロボットの一実施例のブロック図である。
【図21】本発明に係る移動機構の一実施例の模式図である。
【図22】本発明に係る車両誘導装置の一実施例の模式図である。
【図23】図22に示した車両誘導装置に用いる表示装置の表示画面例を示す図である。
【符号の説明】
【0091】
1…画像処理装置、2…カメラ、3…制御装置、10…画像入力手段、11…画像記憶手段、12…特徴点・エッジ抽出手段、13…特徴点追跡手段、14…観測行列記憶手段、15…特徴点・エッジマップ記憶手段、16…座標計算手段、17…3次元座標データ記憶手段、18…カメラ位置姿勢記憶手段、19…線/面抽出・登録手段、20…CADデータ記憶手段、21…入出力手段、22…物体モデル記憶手段、23…物体認識手段、24…空間探索手段。

【特許請求の範囲】
【請求項1】
画像入力手段と、この画像入力手段から入力した画像についてその特徴的な部分の位置関係の変化を抽出する第1の計算手段と、入力画像の位置関係の変化から特徴的な部分の三次元位置を計算する第2の計算手段と、この第2の計算手段が計算した特徴的な部分の三次元位置を用いて画像内に表示される物体の三次元形状データを計算する第3の計算手段とを備えたことを特徴とする画像処理装置。
【請求項2】
三次元形状を記憶する記憶手段と、前記第3の計算手段が計算した物体の三次元形状データと予め前記記憶手段に記憶された三次元形状データとを比較して、記憶された三次元形状データに類似する形状を有する物体の位置と姿勢を求める第4の計算手段を備えたことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像入力手段は、アナログ入力信号またはデジタル入力信号をデジタル画像データに変換する変換手段を有することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記画像入力手段は受光素子を有し、この受光素子が取り込んだ信号を画像データに変換する手段を備えたことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記第3の計算手段は、物体を表す点の座標値と、線分を構成する始点および終点の番号と、面を構成する線の番号とを用いて三次元形状データを計算することを特徴とする請求項1に記載の画像処理装置。
【請求項6】
入力された画像に対して予め基準座標系を設定し、この基準座標系における物体または視点の位置を3個のパラメータで、物体の姿勢または視点を3個のパラメータでそれぞれ表示し、前記第1ないし第3の計算手段はこれらのパラメータを用いて物体の三次元形状データを計算することを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記画像入力手段はアドレス信号とデータ信号と制御信号とを入力し、前記第1ないし第3の計算手段の少なくともいずれかは、前記画像入力手段から入力された画像のデータあるいはレジスタの内容を読み出すときは、前記アドレス信号に該当するアドレスを与えた状態で制御信号を出力することを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記第1の計算手段は、画像入力手段が入力した画像から画像の特徴的な部分を抽出する特徴部分抽出手段と、特徴的な部分の位置の変化を追跡する特徴部分追跡手段とを備えることを特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記第3の計算手段は、前記第2の計算手段が計算した点から複数の線分を演算し、この複数の線分が構成する面を計算することを特徴とする請求項1に記載の画像処理装置。
【請求項10】
前記第3の計算手段は、入力画像に表示される物体について求められた輪郭を構成する複数の線分を、その端点で接続して輪郭線を形成することを特徴とする請求項1に記載の画像処理装置。
【請求項11】
前記第3の計算手段は、前記第2の計算手段が計算した特徴的部分における隣接する点同士を結んで線分を形成するとともにこの線分が構成する面を計算し、線分と入力画像に表示される物体の輪郭線とが交差する場合には線分と輪郭線が交差しないように線分と計算した面を修正することを特徴とする請求項1に記載の画像処理装置。
【請求項12】
前記記憶手段に既に計算した形状データを記憶し、前記第2の計算手段が新たに座標計算した特徴部分と前記記憶手段に記憶されている形状データの部分の対応関係を用いて新たに座標計算した特徴部分を既に計算した形状データに統合する統合手段を設けたことを特徴とする請求項2に記載の画像処理手段。
【請求項13】
前記第4の計算手段は、記憶された三次元形状データに類似する形状を有する物体の位置と姿勢を求めるときに記憶された三次元形状データの一部を用いて類似する形状を有する物体の位置と姿勢とを求めるよう限定する手段を有することを特徴とする請求項2に記載の画像処理装置。
【請求項14】
前記記憶手段に記憶された三次元形状データと物体の形状とをともに点群で表示し、前記第4の計算手段は、記憶された三次元形状データと物体の形状における点群の一致度を比較する比較手段を有することを特徴とする請求項2に記載の画像処理装置。
【請求項15】
前記比較手段は、点群の一致度が所定の値より小さい場合には、前記記憶手段に記憶された三次元形状データに類似する形状が見つからないと判定することを特徴とする請求項14に記載の画像処理装置。
【請求項16】
前記第4の計算手段は、前記記憶手段に記憶された三次元形状に類似する物体を求めたときには、前記記憶手段に記憶された三次元形状を求めた物体形状で置換することを特徴とする請求項2に記載の画像処理装置。
【請求項17】
前記第4の計算手段は、前記記憶手段に記憶された三次元形状に類似する物体を求めたときには、類似する物体の識別情報と位置情報とを前記記憶手段に記憶させることを特徴とする請求項2に記載の画像処理装置。
【請求項18】
前記画像入力手段が入力した複数の画像の初めの画像から特徴部分を抽出する特徴部分抽出回路と、複数の画像の2番目の画像においては初めの画像から抽出された特徴部分に対応する部分を求めて特徴部分とし、複数の画像の3番目以後の画像においては直前の画像の特徴部分に対応する部分を求めて特徴部分とする特徴部分追跡回路とを、前記第3の計算手段に設けたことを特徴とする請求項1に記載の画像処理装置。
【請求項19】
前記第2の計算手段は、前記複数の画像のそれぞれにおける特徴部分の位置を求めて特徴部分の三次元位置を計算する座標計算回路を備えることを特徴とする請求項18に記載の画像処理装置。
【請求項20】
前記座標計算回路が求めた特徴部分の三次元位置と前記記憶手段に記憶された三次元形状データを用いて、前記座標計算回路が求めた特徴部分の三次元位置を三次元形状データに適合するように変換するデータ統合回路を設けたことを特徴とする請求項19に記載の画像処理装置。
【請求項21】
前記画像入力手段および前記特徴部分抽出回路、特徴部分追跡回路、座標計算回路、データ統合回路がパイプライン的に並列に動作するようにそれぞれを配置したことを特徴とする請求項20に記載の画像処理装置。
【請求項22】
画像入力手段と、この画像入力手段から入力した画像についてその特徴的な部分の位置関係の変化を抽出する第1の計算手段と、入力画像の位置関係の変化から特徴的な部分の三次元位置を計算する第2の計算手段と、この第2の計算手段が計算した特徴的な部分の三次元位置を用いて画像内に表示される物体の三次元形状データを計算する第3の計算手段とを有する画像処理装置と、この画像処理装置との間でデータを伝達する制御装置と、アームと手先とを有するマニピュレータとを備え、前記画像取込手段をこのマニピュレータのアームあるいは手先に設けたことを特徴とするロボット装置。
【請求項23】
画像入力手段と、この画像入力手段から入力した画像についてその特徴的な部分の位置関係の変化を抽出する第1の計算手段と、入力画像の位置関係の変化から特徴的な部分の三次元位置を計算する第2の計算手段と、この第2の計算手段が計算した特徴的な部分の三次元位置を用いて画像内に表示される物体の三次元形状データを計算する第3の計算手段とを有する画像処理装置と、この画像処理装置の出力を表示する表示装置とを備える車両の誘導装置であって、前記表示装置は前記画像処理装置が求めた物体の形状データに基づいて画像処理装置が搭載された車両の周囲の障害物の位置を表示することを特徴とする車両誘導装置。
【請求項24】
前記表示装置は、車両の周囲の障害物を上面図として表示することを特徴とする請求項23に記載の車両誘導装置。
【請求項25】
前記表示装置は、前記画像処理装置が搭載された車両の前方を走行する車両の位置を表示することを特徴とする請求項23に記載の車両誘導装置。
【請求項26】
前記表示装置は、前記画像処理装置が搭載された車両の駐車スペースにある物体の位置を表示することを特徴とする請求項23に記載の車両誘導装置。
【請求項27】
前記表示装置は、前記画像処理装置が搭載された車両の周囲の建物の位置関係に基づいて、地図上に車両の位置を補正して表示することを特徴とする請求項23に記載の車両誘導装置。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2006−4122(P2006−4122A)
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願番号】特願2004−179068(P2004−179068)
【出願日】平成16年6月17日(2004.6.17)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】