(57)【特許請求の範囲】
【請求項１】
対象物体に関するステレオ画像の相対応する両画素点間を結ぶエピポーラ線の方向を計算するエピポーラ線方向計算手段と、エピポーラ線に対し直交する直交方向を計算するエピポーラ線直交方向計算手段と、エピポーラ線方向およびエピポーラ線直交方向にそれぞれ相対応する両画素点を含むように画面上の２次元探索範囲を決定する探索範囲決定手段と、決定された２次元探索範囲内で対応点探索を行って視差ベクトルを求める対応点検出手段と、求められた視差ベクトルに対しエピポーラ線への写像を行って視差ベクトルのエピポーラ線方向成分を求め、求められたエピポーラ線方向成分に基づいて前記ステレオ画像から対象物体までの距離を計算する距離計算手段とを備えた３次元画像処理装置。
【請求項２】
請求項１に記載の３次元画像処理装置において、探索範囲決定手段は、決定した２次元探索範囲を、少なくとも対応点探索のマッチングブロックの大きさ相当分だけ画面の垂直方向に拡大する手段を持っている３次元画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、対象物体に関するステレオ画像の相対応する画素点間の視差ベクトルを求め、それをもとに対象物体までの距離を計算する３次元画像処理装置に関するものである。
【０００２】
【従来の技術】
ステレオカメラにより同一対象物体に関する左右一対の画像からなるステレオ画像を得て、対象物体上のある１点が一方の画面に投影されているとき、他方の画面上での投影先が分かれば、三角測量の原理に基づいて対象物体上の点までの距離を計算することができる。このことは例えば、文献「グラフィックスとビジョン」（オーム社発行、第２８〜３１頁）に開示されているところである。本発明は、この投影先の探索、すなわちステレオ画像の対応点探索技術を応用した３次元画像処理方法および装置に関するものである。
【０００３】
図６に示すように、上記文献においては対象物体２上の点Ｑ（ｘ，ｙ，ｚ）を、光軸Ｏｌ，Ｏｒ間に一定の距離（＝基線長）Ｂをおいて配置された左右一対の撮像カメラ４，６により撮像された左右一対のステレオ画像における対応画素のＸ−Ｙ座標平面上の座標Ｑｌ（Ｘｌ，Ｙｌ），Ｑｒ（Ｘｒ，Ｙｒ）を求め、その視差Ｑｌ−Ｑｒ＝（Ｘｌ−Ｘｒ，Ｙｌ−Ｙｒ）を用いて、対応画素に対応する対象物体２上の測定点までの距離Ｚを求める。ここで、ステレオ画像を処理する３次元画像入力装置では、通常、２台のカメラ４，６は光軸Ｏｌ，Ｏｒが同一Ｘ−Ｚ平面上に含まれるように配置されるので、Ｙｌ＝Ｙｒであり、対応点探索はエピポーラ線Ｅｐｌ，Ｅｐｒである同じ走査線上で行えば良いことになる。すなわち、撮像カメラ４，６の光軸Ｏｌ，Ｏｒ間の距離をＢ、焦点距離をｆとすると、対象物体２上の点Ｑ（ｘ，ｙ，ｚ）が左右のカメラ画面上の点Ｑｌ（Ｘｌ，Ｙｌ）、点Ｑｒ（Ｘｒ，Ｙｒ）にそれぞれ投影された時、対象物体２の点Ｑ（ｘ，ｙ，ｚ）までの距離Ｚは、
Ｚ＝Ｂ＊ｆ／( Ｘｌ−Ｘｒ）    …（１）
で表される。ここで、Ｘｌ−Ｘｒは視差を表し、左画像を基準画像とした場合、右画像の対応点Ｑｒ（Ｘｒ，Ｙｒ）における視差ベクトルは一般にＶｐ（Ｘｌ−Ｘｒ，Ｙｌ−Ｙｒ）と表される。
【０００４】
図７は従来の画像処理装置のブロック図を示すものである。図７において、対象物体２に関し、ＣＣＤ等からなる左画像用の撮像カメラ４および右画像用の撮像カメラ６によってステレオ画像を得て、それに基づき対応点検出器８により対応点探索が行われる。対応点検出器８は、例えば特開平９−３３２４９号公報に開示されている相関関数などの評価関数に従って画素毎の対応付けを行う。ここで、２台のカメラ４，６は光軸Ｏｌ，Ｏｒが同一Ｘ−Ｚ座標平面上に含まれるように、Ｙｌ＝Ｙｒの関係に配置されているものとする。対応点検出器８によって探索された対応点を用いて各画素毎の視差ベクトルを計算する。得られた視差ベクトルを用いて距離計算器１０により距離計算が行われる。
【０００５】
ここで、前述したように、２台の撮像カメラ４，６をその光軸Ｏｌ，Ｏｒが同一Ｘ−Ｚ座標平面上に含まれるように配置しておくことにより、対応点の探索はエピポーラ線Ｅｐｌ，Ｅｐｒである走査線上のみで行えば良いことになる。例えば左画像上の点Ｑｌ（Ｘｌ，Ｙｌ）と右画像上の点Ｑｒ（Ｘｒ，Ｙｒ）が対応する場合、点Ｑｌ（Ｘｌ，Ｙｌ）における視差ベクトルはＶｐ（Ｘｌ−Ｘｒ，Ｙｌ−Ｙｒ）である。ここで、２つの点Ｑｌ，Ｑｒは同じ走査線（エピポーラ線）上にあるので、Ｙｌ＝Ｙｒであり、視差ベクトルは、Ｖｐ（Ｘｌ−Ｘｒ，０）と表されることになる。このような視差ベクトルＶｐを、画像上の全ての画素点について求め、視差ベクトル群を作成する。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来の方法による対応点探索では、カメラ位置から推定するエピポーラ線方向の検出誤差が存在する場合、エピポーラ線上に対応点があると仮定して１次元的に探索すると、対応点マッチング誤差が本来極小になるべき領域を探索できないことがあり、その結果、間違った視差ベクトルを検出してしまい、信頼性の高い距離データを得ることが難しかった。
【０００７】
またエピポーラ線を意識せずに大きな２次元領域で対応点探索を行うと、画素検索のために非常に多くの計算量が必要となる。
【０００８】
本発明は上記事情を考慮してなされたものであり、エピポーラ線で対応点探索を行った場合のマッチングミスによる間違った視差ベクトルの検出を回避し、信頼性の高い距離データを得ることを目的とするものである。
【０００９】
さらに本発明は、画素検索のための計算量を減少させることを目的とするものである。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、請求項１に係る発明の画像処理装置は、対象物体に関するステレオ画像の相対応する両画素点間を結ぶエピポーラ線の方向を計算するエピポーラ線方向計算手段と、エピポーラ線に対し直交する直交方向を計算するエピポーラ線直交方向計算手段と、エピポーラ線方向およびエピポーラ線直交方向にそれぞれ相対応する両画素点を含むように画面上の２次元探索範囲を決定する探索範囲決定手段と、決定された２次元探索範囲内で対応点探索を行って視差ベクトルを求める対応点検出手段と、求められた視差ベクトルに対しエピポーラ線への写像を行って視差ベクトルのエピポーラ線方向成分を求め、求められたエピポーラ線方向成分に基づいてステレオ画像から対象物体までの距離を計算する距離計算手段とを備えたものである。
【００１１】
請求項２に係る発明は、請求項１に記載の３次元画像処理装置において、探索範囲決定手段は、決定した２次元探索範囲を、少なくとも対応点探索のマッチングブロックの大きさ相当分だけ画面の垂直方向に拡大する手段を持つようにしたものである。
【００１２】
上記のように構成された３次元画像処理装置によれば、エピポーラ線方向と、エピポーラ線に対し直交方向の２次元領域を含む領域の対応点探索を行うことができるので、実際に誤差を含むカメラ位置などの情報から算出して設定されたエピポーラ線で対応点探索を行った場合の、マッチングミスにより間違った視差ベクトルを検出してしまうことがなくなり、信頼性の高い距離データを得ることができる。
【００１３】
また、エピポーラ線を意識することなく大きな２次元領域で対応点探索を行う場合に比べ、エピポーラ線方向と、エピポーラ線に対し直交方向であって、対応点探索のマッチングブロックの大きさを加算した値の大きさ程度の２次元領域を含む領域の対応点探索を行うことができるので、正確で、しかも画素検索の計算量を大きく減少することができる。
【００１４】
【発明の実施の形態】
本発明の実施の形態を、図を参照して説明する。
図１は本発明による３次元画像処理装置のブロック図を示すものである。左右一対の撮像カメラ４，６により撮像された対象物体２についての左画像Ｐｌおよび右画像Ｐｒは対応点検出器８において、特開平９−３３２４９号公報に開示されている相関関数などの評価関数に従って、画素毎の対応付けが行われる。ここで、既に述べたように、２台の撮像カメラ４，６はその光軸が同一Ｘ−Ｚ平面上に含まれるように配置される。正しく配置される限り、対応点の探索はエピポーラ線である走査線上のみ行えばよいのであるが、実際には、走査線上に１画素分も誤差なく配置されていることはむしろ少ない。そこで、左画像Ｐｌおよび右画像Ｐｒは対応点検出器８に入力されると同時に、エピポーラ線方向計算器１２に入力される。
【００１５】
エピポーラ線方向計算器１２におけるエピポーラ線方向の計算方法を、図２を参照して説明する。ここでは予め判別されている対応点、もしくは、非常に判別しやすい特徴点が、左画像ＰｌにはＲ点（Ｘｌ，Ｙｌ）に、右画像ＰｒにはＳ点（Ｘｒ，Ｙｒ）に存在していたとする。この２点Ｒ，Ｓを直線で結ぶことによりエピポーラ線Ｅｐの方向が求められる。ここでは、エピポーラ線Ｅｐの方向はＸ軸方向線またはそれに平行な水平基準線Ｘ′に対して角度θだけ傾斜しているものとする。次に、このエピポーラ線Ｅｐの方向データをエピポーラ線直交方向計算器１４に入力する。ここでは、入力されたエピポーラ線Ｅｐに対して直角な直交方向Ｔを求める。
【００１６】
このようにして求められたエピポーラ線Ｅｐおよび直交方向Ｔのデータは次に探索範囲決定器１６に入力される。探索範囲決定器１６は対応点探索範囲をエピポーラ線Ｅｐおよび直交方向Ｔを用いてエピポーラ線方向探索範囲および直交方向探索範囲を決定する。各方向の探索範囲の幅は探索エンジンの処理能力などに依存していて、予め決定しておく値である。
【００１７】
図３において、エピポーラ線方向探索範囲をａ〜ｂ＝ｃ〜ｄとし、直交方向探索範囲をｂ〜ｃ＝ｄ〜ａとした場合の探索範囲を示す。この場合、エピポーラ線方向の探索幅はΔＥであって、それはほぼ画面幅によって決定される。直交方向Ｔの探索幅はΔＴであって、それは種々の誤差幅を考慮して決定される。次に、この探索範囲ａ〜ｂ〜ｃ〜ｄの長方形を含む、画面上の水平方向および垂直方向の２次元領域を設定する。図３の場合、傾斜した長方形ａｂｃｄを含む、傾斜しない最小の長方形ＡＢＣＤが求める領域となる。この領域Ａ〜Ｂ〜Ｃ〜Ｄは、点ａ，ｂ，ｃ，ｄの画素のアドレスの水平方向アドレスおよび垂直方向アドレスのそれぞれの最大値および最小値から容易に求めることができる。線分ＡＢおよび線分ＣＤはそれぞれ垂直方向の探索限界を決定するもので、ここでは基準線Ｍ，Ｎと称することにする。
【００１８】
次に、図４に示すように、基準線Ｍ，Ｎのもとで対応点探索する際のマッチングブロックの大きさ分ＭＢだけ更に垂直方向外側に基準線Ｋ，Ｌを設定する。マッチングブロックは一般的には１６×１６〜４×４画素四方のブロックであることが多い。この結果、画面上の探索範囲は、長方形ＥＦＧＨに拡大される。対応点の検索領域は、基準線Ｋ，Ｌの内部すなわち長方形ＥＦＧＨ内に設定される。ここで設定された探索範囲情報は対応点検出器８に入力される。
【００１９】
対応点検出器８は、設定された探索範囲内で探索を行う。探索は例えば左画像上の点Ｐｌ（Ｘｌ，Ｙｌ）と右画像上の点Ｐｒ（Ｘｒ，Ｙｒ）が対応した場合、点Ｐｌ（Ｘｌ，Ｙｌ）における視差ベクトルをＶｐ（Ｘｌ−Ｘｒ，Ｙｌ−Ｙｒ）と表す。このような視差ベクトルＶｐを、左画像上の全ての点について求める。この処理を画面全体にわたって行い、最終的に選択された視差ベクトルＶを距離計算器１０に送出する。
【００２０】
距離計算器１０は、図５に示すように、対応点検出器８で求められた視差ベクトルＶをエピポーラ線方向計算器１２で求めたエピポーラ線方向への写像Ｖｓに変換し、そのベクトルの長さを求めて、前述した式（１）を用いて画素毎の距離を計算し、距離情報を出力する。
【００２１】
【発明の効果】
本発明によれば、エピポーラ線方向と、それに対し直角な方向の２次元領域を含む領域の対応点探索を行うので、実際に誤差を含むカメラ位置などの情報から算出して設定されたエピポーラ線で対応点探索を行った場合の、マッチングミスによる間違った視差ベクトルの検出を回避し、信頼性の高い距離データを得ることができる。
【００２２】
更に、エピポーラ線を意識することなく大きな２次元領域で対応点探索を行う場合に比べ、エピポーラ線方向とそれに直角な方向に、対応点探索のマッチングブロック相当分だけ加算した値の大きさ程度の２次元領域を含む領域の対応点探索を行うことにより、正確性を保持しつつ、画素検索の計算量を大幅に減少することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態による３次元画像処理装置のブロック図。
【図２】図１の装置におけるステレオ画像のエピポーラ線方向とその直交方向の関係を示す説明図。
【図３】図１の装置におけるステレオ画像の探索範囲を説明するための説明図。
【図４】図３における探索範囲とマッチングブロックとの関係を説明するための説明図。
【図５】求められた視差ベクトルとエピポーラ線への写像の関係を説明するための説明図。
【図６】ステレオ画像による距離算出の原理を説明するための説明図。
【図７】従来の３次元画像処理装置のブロック図。
【符号の説明】
２  対象物体
４  左撮像カメラ
６  右撮像カメラ
８  対応点検出器（対応点検出手段）
１０  距離計算器（距離計算手段）
１２  エピポーラ線方向計算器（エピポーラ線方向計算手段）
１４  エピポーラ線直交方向計算器（エピポーラ線直交方向計算手段）
１６  探索範囲決定器（探索範囲決定手段）
【図１】
0003912638.tif 000002
【図２】
0003912638.tif 000003
【図３】
0003912638.tif 000004
【図４】
0003912638.tif 000005
【図５】
0003912638.tif 000006
【図６】
0003912638.tif 000007
【図７】
0003912638.tif 000008