説明

画像処理装置、画像処理方法および画像処理プログラム

【課題】種々の撮影対象について、ステレオマッチングにおける誤対応をより正確に検出することが可能な画像処理装置、画像処理方法および画像処理プログラムを提供する
【解決手段】画像処理装置201は、撮影対象を異なる方向から撮影して得られた複数の画像について、複数の画像間における画素の対応付けを行なうことにより視差を算出するためのステレオマッチング部10と、ステレオマッチング部10によって算出された視差に基づいて、画像における各画素の位置を3次元座標系における3次元座標に変換するための3次元座標計算部20と、3次元座標計算部20によって変換された各画素の3次元座標に基づいて、ステレオマッチング部10によって行われた対応付けの誤りを検出するための誤対応検出部30とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関し、特に、ステレオマッチングを行なう画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【0002】
従来、人工衛星および航空機等から撮影された複数の画像を基に、ステレオマッチングによって3次元モデルを自動生成する方法が広く行われている。
【0003】
ここで、ステレオマッチング処理とは、異なる視点から撮影した2枚の画像、いわゆるステレオ画像について、同一の点を撮像している各画像中の対応点を検出し、各画像間の視差を求め、三角測量の原理によって対象までの奥行きおよび対象の形状を求める処理である。
【0004】
ステレオマッチングについては、既に様々な手法が提案されているが、ステレオマッチングにおいて誤って対応付けがなされた場合には、奥行きおよび形状に誤差が生じ、精度の高い3次元モデルが得られない、という課題がある。
【0005】
このような課題を解決するために、ステレオマッチングにおいて誤って対応付けされた箇所を検出する方法が提案されている。たとえば、特表第2004−038661号公報(特許文献1)には、以下のような画像処理方法が開示されている。すなわち、基準画像と参照画像とを用いたステレオマッチングによって対象物の形状を復元するにあたり、基準画像および参照画像に対して、それぞれ所定の相関関係に基づいて対応付けされた複数のウィンドウを設定する。このとき、参照画像に設定されたウィンドウの並び順を基準画像における複数のウィンドウの並び順と一致させるように、参照画像における複数のウィンドウの並び順を修正する。
【0006】
すなわち、ステレオマッチングによって対応付けされて設定されたウィンドウに対して、参照画像に設定されたウィンドウの並び順と基準画像における複数のウィンドウの並び順とが一致していないウィンドウを、誤対応の箇所として検出する。そして、並び順が一致するように、参照画像における複数のウィンドウの並び順を修正する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特表第2004−038661号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に記載の技術等、従来の画像処理装置では、たとえば航空写真で撮影された高い建物を撮影した際に見られるように、基準画像および参照画像において見え方に大きな違いがある場合には、誤り箇所を正しく検出することができない。以下、この理由について図面を用いて説明する。
【0009】
図8は、航空写真で撮影された高い建物の、撮影位置による見え方の違いを示す図である。
【0010】
図8を参照して、たとえば航空写真で撮影された高い建物では、左右画像すなわち基準画像および参照画像において当該建物の倒れこみ方が大きく異なる。このため、背景である地面と前景である建物との画像上の並び順が左右画像で入れ替わってしまう。
【0011】
図9は、航空写真で撮影された高い建物の左右画像を、従来の画像処理装置で処理した場合の結果の一例を示す図である。
【0012】
図9を参照して、左右画像の対応付けが正しく行われた場合、基準画像の各ウィンドウの並び順と参照画像の各ウィンドウの並び順とが異なる結果となる。このため、従来の画像処理装置では、誤り箇所を正しく検出することができない。
【0013】
この発明は、上述の課題を解決するためになされたもので、その目的は、種々の撮影対象について、ステレオマッチングにおける誤対応をより正確に検出することが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することである。
【課題を解決するための手段】
【0014】
上記課題を解決するために、この発明のある局面に係わる画像処理装置は、撮影対象を異なる方向から撮影して得られた複数の画像について、上記複数の画像間における画素の対応付けを行なうことにより視差を算出するためのステレオマッチング部と、上記ステレオマッチング部によって算出された上記視差に基づいて、上記画像における各画素の位置を3次元座標系における3次元座標に変換するための3次元座標計算部と、上記3次元座標計算部によって変換された上記各画素の上記3次元座標に基づいて、上記ステレオマッチング部によって行われた上記対応付けの誤りを検出するための誤対応検出部とを備える。
【0015】
上記課題を解決するために、この発明のある局面に係わる画像処理方法は、撮影対象を異なる方向から撮影して得られた複数の画像について、上記複数の画像間における画素の対応付けを行なうことにより視差を算出するステップと、算出した上記視差に基づいて、上記画像における各画素の位置を3次元座標系における3次元座標に変換するステップと、変換した上記各画素の上記3次元座標に基づいて、上記対応付けの誤りを検出するステップとを含む。
【0016】
上記課題を解決するために、この発明のある局面に係わる画像処理プログラムは、コンピュータに、撮影対象を異なる方向から撮影して得られた複数の画像について、上記複数の画像間における画素の対応付けを行なうことにより視差を算出するステップと、算出した上記視差に基づいて、上記画像における各画素の位置を3次元座標系における3次元座標に変換するステップと、変換した上記各画素の上記3次元座標に基づいて、上記対応付けの誤りを検出するステップとを実行させるためのプログラムである。
【発明の効果】
【0017】
本発明によれば、種々の撮影対象について、ステレオマッチングにおける誤対応をより正確に検出することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の実施の形態に係る画像処理装置の概略構成図である。
【図2】本発明の実施の形態に係る画像処理装置が提供する制御構造を示すブロック図である。
【図3】画像座標と3次元座標との関係を示す図である。
【図4】空中に浮いている物体についての画像座標と3次元座標との関係を示す図である。
【図5】誤対応検出処理において誤対応と判定される場合の一例を示す図である。
【図6】本発明の実施の形態に係る画像処理装置が誤対応箇所の検出処理を行なう際の動作手順を定めたフローチャートである。
【図7】本発明の実施の形態に係る画像処理装置における誤対応検出部が誤対応検出処理を行なう際の動作手順を定めたフローチャートである。
【図8】航空写真で撮影された高い建物の、撮影位置による見え方の違いを示す図である。
【図9】航空写真で撮影された高い建物の左右画像を、従来の画像処理装置で処理した場合の結果の一例を示す図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0020】
本発明の実施の形態に係る画像処理装置は、典型的には、汎用的なアーキテクチャを有するコンピュータを基本構造としており、予めインストールされたプログラムを実行することで、後述するような各種機能を提供する。一般的に、このようなプログラムは、フレキシブルディスク(Flexible Disk)およびCD−ROM(Compact Disk Read Only Memory)などの記録媒体に格納されて、あるいはネットワークなどを介して流通する。
【0021】
本発明の実施の形態に係るプログラムは、OS等の他のプログラムの一部に組み込まれて提供されるものであってもよい。この場合でも、本発明の実施の形態に係るプログラム自体は、上記のような組み込み先の他のプログラムが有するモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本発明の実施の形態に係るプログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
【0022】
なお、代替的に、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【0023】
[装置構成]
図1は、本発明の実施の形態に係る画像処理装置の概略構成図である。
【0024】
図1を参照して、画像処理装置201は、演算処理部であるCPU(Central Processing Unit)101と、メインメモリ102と、ハードディスク103と、入力インタフェース104と、表示コントローラ105と、データリーダ/ライタ106と、通信インタフェース107とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
【0025】
CPU101は、ハードディスク103に格納されたプログラム(コード)をメインメモリ102に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ102は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク103から読み出されたプログラムに加えて、各種の演算処理結果を示すデータなどを保持する。また、ハードディスク103は不揮発性の磁気記憶装置であり、CPU101で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク103にインストールされるプログラムは、後述するように、記録媒体111に格納された状態で流通する。なお、ハードディスク103に加えて、あるいはハードディスク103に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
【0026】
入力インタフェース104は、CPU101とキーボード108、マウス109および図示しないタッチパネルなどの入力部との間のデータ伝送を仲介する。すなわち、入力インタフェース104は、ユーザが入力部を操作することで与えられる操作指令などの外部からの入力を受付ける。
【0027】
表示コントローラ105は、表示部の典型例であるディスプレイ110と接続され、ディスプレイ110での表示を制御する。すなわち、表示コントローラ105は、CPU101による画像処理の結果などをユーザに対して表示する。ディスプレイ110は、たとえばLCD(Liquid Crystal Display)またはCRT(Cathode Ray Tube)である。
【0028】
データリーダ/ライタ106は、CPU101と記録媒体111の間のデータ伝送を仲介する。すなわち、記録媒体111は、画像処理装置201で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ106は、この記録媒体111からプログラムを読み出す。また、データリーダ/ライタ106は、CPU101の内部指令に応答して、画像処理装置201における処理結果などを記録媒体111へ書き込む。なお、記録媒体111は、たとえば、CF(Compact Flash)およびSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体、またはCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体である。
【0029】
通信インタフェース107は、CPU101と他のパーソナルコンピュータおよびサーバ装置などの間のデータ伝送を仲介する。通信インタフェース107は、典型的には、イーサネット(登録商標)またはUSB(Universal Serial Bus)の通信機能を有する。なお、記録媒体111に格納されたプログラムを画像処理装置201にインストールする形態に代えて、通信インタフェース107を介して配信サーバなどからダウンロードしたプログラムを画像処理装置201にインストールしてもよい。
【0030】
また、画像処理装置201には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
【0031】
[制御構造]
次に、画像処理装置201における検索機能を提供するための制御構造について説明する。
【0032】
図2は、本発明の実施の形態に係る画像処理装置が提供する制御構造を示すブロック図である。図2に示す画像処理装置201における各ブロックは、ハードディスク103に格納されたプログラム(コード)などをメインメモリ102に展開して、CPU101に実行させることで提供される。なお、図2に示す画像処理装置201の制御構造の一部もしくは全部を専用ハードウェアおよび/または配線回路によって実現してもよい。
【0033】
図2を参照して、画像処理装置201は、その制御構造として、ステレオマッチング部10と、3次元座標計算部20と、誤対応検出部30とを備える。画像処理装置201は、ステレオマッチングで誤って対応付けされた箇所を検出する。
【0034】
画像処理装置201において、ステレオマッチング部10は、撮影対象を異なる方向から撮影して得られた複数の画像について、これら複数の画像間における画素の対応付けを行なうことにより視差を算出する。
【0035】
3次元座標計算部20は、ステレオマッチング部10によって算出された視差に基づいて、画像における各画素の位置を3次元座標系における3次元座標に変換する。
【0036】
誤対応検出部30は、3次元座標計算部20によって変換された各画素の3次元座標に基づいて、ステレオマッチング部10によって行われた対応付けの誤りを検出する。
【0037】
たとえば、誤対応検出部30は、画像における各画素の並び順、および3次元座標系における各画素の3次元座標の並び順に基づいてステレオマッチングの対応付けの誤りを検出する。
【0038】
具体的には、誤対応検出部30は、画像における基準位置からの同一直線上の複数の画素について、基準位置からこれら複数の画素までの距離と、3次元座標系において基準位置に対応する3次元基準位置から、3次元座標系において上記複数の画素に対応する複数の3次元画素までの距離とに基づいて、ステレオマッチングの対応付けの誤りを検出する。
【0039】
より具体的には、誤対応検出部30は、画像における基準位置からの同一直線上の複数の画素について、基準位置からこれら複数の画素までの距離の大小関係と、3次元基準位置から上記複数の3次元画素までの距離の大小関係とが異なる場合に、画像における上記複数の画素の対応付けが誤りであると判定する。
【0040】
たとえば、誤対応検出部30は、基準位置を端点とする半直線上の複数の画素において、画像座標上での基準位置からの距離と3次元座標上での基準位置からの距離との大小関係が入れ替わる場合にステレオマッチングの誤対応ありと判定する。そして、誤対応検出部30は、これら複数の画素を誤対応箇所として検出する。ここで、基準位置は、たとえばカメラ光軸と画像面の交点であり、画像の中心位置となる場合が多い。
【0041】
より詳細には、ステレオマッチング部10は、撮影部2によって撮影された左画像および右画像に対してステレオマッチング処理を施すことにより、左画像および右画像間の視差を計測し、計測した視差を示す視差データを生成する。
【0042】
3次元座標計算部20は、ステレオマッチング部10によって生成された視差データを3次元座標に変換し、3次元データを生成する。
【0043】
具体的には、3次元座標計算部20は、生成された視差データと、カメラの位置、姿勢、焦点距離および画素サイズ等を含むカメラパラメータとを組み合わせることにより、三角測量の原理を利用して、左右画像における各画素に対応する3次元座標系での位置を示す3次元座標を計算する。
【0044】
誤対応検出部30は、3次元座標計算部20によって生成された3次元データに基づいて、ステレオマッチング部10が行ったステレオマッチングにおける誤対応の箇所を検出し、検出した箇所を示す誤対応箇所データを生成する。
【0045】
ここで、誤対応検出部30は、以下のような条件で誤対応を検出する。すなわち、誤対応検出部30は、一方の画像、たとえば左画像について、基準位置からの画像座標の距離の並び順と、3次元座標系における基準位置からの3次元座標の距離の並び順とが入れ替わる画素が誤対応の箇所であると判断する。
【0046】
この条件は、エリアセンサカメラでは、画像中心より遠くに写っている物体は、実際の3次元空間においても撮影位置から遠い位置にある、という特徴を利用している。
【0047】
図3は、画像座標と3次元座標との関係を示す図である。
【0048】
図3を参照して、たとえば、航空写真または衛星写真を撮影する場合には、画像座標において、建物の屋上Aは、建物壁面B,Cより画像中心から遠い位置に写っており、また、3次元座標においても、屋上Aは、壁面B,Cより撮影位置から遠い位置にあることが分かる。
【0049】
ただし、飛行船などの空中に浮いている物体、および下方階層より上方階層が広がっている物体は、この特徴から外れてしまう。
【0050】
図4は、空中に浮いている物体についての画像座標と3次元座標との関係を示す図である。
【0051】
図4を参照して、たとえば、3次元座標において、屋上Aより撮影位置の近くに浮遊物体Dがある場合には、画像座標では、屋上Aより遠くに浮遊物体Dが写ることになる。
【0052】
しかしながら、このようなケースは、画像処理装置201の用途として想定している航空写真および衛星写真等の撮影では稀なケースある。このため、物体は空中に浮いていない、かつ、物体は上方階層に広がっていない、という制約条件は、自然な条件であり、このような制約条件を設定して上記特徴を利用することが可能である。
【0053】
図5は、誤対応検出処理において誤対応と判定される場合の一例を示す図である。
【0054】
図5を参照して、誤対応検出処理を具体的に説明すると、対象画素Eと基準位置たとえば画像中心とを端点とする線分を考えて、当該線分上の画素Fと画素Eとの位置関係を求める。
【0055】
ここで、画素Eが正しく対応付けされている場合には、画素Eの3次元座標は画素E1の位置となり、画像座標上でも3次元座標上でも画素Eより画素Fの方が基準位置に近くなる。
【0056】
しかしながら、画素Eが正しく対応付けされずに、3次元座標系において画素Eが異常に高い位置にあると算出された場合には、画像座標上では画素Eより画素Fの方が基準位置に近いが、3次元座標上では画素Fより画素Eの方が基準位置に近くなってしまう。すなわち、画素Eまたは画素Fのいずれかについて誤対応がなされていることが分かる。
【0057】
画像処理装置201では、このような方法により、ステレオマッチングにおける誤対応を検出することができる。
【0058】
また、ここでは、画素Eが3次元座標系において異常に高い位置にあると算出された場合の具体例を説明したが、画素Fが3次元座標系において異常に低い位置にあると算出された場合でも同様に考えることができる。すなわち、このような場合でも、画素Eまたは画素Fのいずれかについて誤対応がなされていることが分かる。
【0059】
[動作]
次に、本発明の実施の形態に係る画像処理装置の動作について図面を用いて説明する。本発明の実施の形態では、画像処理装置201を動作させることによって、本発明の実施の形態に係る画像処理方法が実施される。よって、本発明の実施の形態に係る画像処理方法の説明は、以下の画像処理装置201の動作説明に代える。なお、以下の説明においては、適宜図2を参照する。
【0060】
図6は、本発明の実施の形態に係る画像処理装置が誤対応箇所の検出処理を行なう際の動作手順を定めたフローチャートである。
【0061】
図6を参照して、まず、ステレオマッチング部10は、標定処理を実行して、撮影時のカメラパラメータを標定する(ステップS11)。
【0062】
次に、ステレオマッチング部10は、平行化処理を実行して、エピポーラ線が複数の走査線の一つに一致するように左画像と右画像とを共通平行面に再投影する(ステップS12)。
【0063】
次に、ステレオマッチング部10は、ステレオマッチング処理を実行して、左画像と右画像との相関をとっていき、相関係数が最大となる画素を対応付けて視差を算出する(ステップS13)。なお、ステレオマッチングは、テンプレートマッチング等の一般的な手法で良く、特定の手法に限定されるものではない。
【0064】
次に、3次元座標計算部20は、3次元座標計算処理を実行して、視差に基づき3次元座標への変換を行なう(ステップS14)。
【0065】
ここで、視差から3次元座標への変換は、たとえば以下の式(1)に示すような計算式を用いて行なう。
(X,Y,Z)=−(B/d)(x,y,f) ・・・(1)
【0066】
式(1)において、(X,Y,Z)は3次元座標であり、(x,y)は画像座標であり、Bはカメラ間距離であり、dは(x,y)における視差であり、fは焦点距離である。なお、3次元座標の原点はカメラ位置としている。
【0067】
次に、誤対応検出部30は、誤対応検出処理を実行して、ステレオマッチングにおける誤対応の箇所を検出する(ステップS15)。
【0068】
図7は、本発明の実施の形態に係る画像処理装置における誤対応検出部が誤対応検出処理を行なう際の動作手順を定めたフローチャートである。
【0069】
図7を参照して、まず、誤対応検出部30は、カメラパラメータに基づいて、カメラ光軸と画像面との交点である基準位置(x0,y0)を算出する(ステップS21)。
【0070】
次に、誤対応検出部30は、対象画素iと基準位置とを端点とする線分上の画素jを求める(ステップS22)。
【0071】
次に、誤対応検出部30は、求めた線分上の画素jについて、基準位置からの画像座標距離lおよび3次元座標距離Lを、式(2)および式(3)に示すような計算式を用いてそれぞれ求める(ステップS23)。
l=√((x−x0)2+(y−y0)2) ・・・(2)
L=√(X−X0)2+(Y−Y0)2 ・・・(3)
【0072】
式(2)および式(3)において、(x,y)は画像座標であり、(X,Y)は3次元座標であり、(X0,Y0)は3次元座標系における基準位置である。
【0073】
ここで、線分上の画素を求める方法として、具体的には、たとえばBresenhamのアルゴリズムを使用することにより、直線上に対応する画素を求めることができる。
【0074】
次に、誤対応検出部30は、線分上の各画素jについて、2つの画素i,jの画像座標の位置関係と3次元座標の位置関係とを比較する(ステップS24)。具体的には、誤対応検出部30は、以下の式(4)に示すような条件を使用して、両者の位置関係が異なっている場合には誤対応と判定し、両方の画素i,jを誤対応の箇所として検出する(ステップS25)。
li>ljかつLi<Lj、またはli<ljかつLi>Lj ・・・(4)
【0075】
式(4)において、li,ljは、それぞれ基準位置からの点i,jにおける画像座標距離であり、Li,Ljは、それぞれ基準位置からの点i,jにおける3次元座標距離である。
【0076】
次に、誤対応検出部30は、線分上のすべての画素jについて誤対応の判定が終了したか否かを判断する(ステップS26)。
【0077】
誤対応検出部30は、まだ線分上の判定していない画素jが残っている場合には(ステップS26でNO)、ステップS23〜ステップS25の処理を繰り返す。
【0078】
一方、誤対応検出部30は、線分上のすべての画素jについて誤対応の判定が終了した場合には(ステップS26でYES)、画像中のすべての画素iについて判定処理が終了したか否かを判断する(ステップS27)。
【0079】
誤対応検出部30は、まだ判定していない画素iがある場合には(ステップS27でNO)、ステップS22〜ステップS26の処理を繰り返す。すべての画素iについて判定処理が終了した場合には(ステップS27でYES)、誤対応検出処理は終了となる。
【0080】
ところで、特許文献1に記載の技術等、従来の画像処理装置では、たとえば航空写真で撮影された高い建物を撮影した際に見られるように、基準画像および参照画像において見え方に大きな違いがある場合には、誤り箇所を正しく検出することができない。
【0081】
これに対して、本発明の実施の形態に係る画像処理装置では、ステレオマッチング部10は、撮影対象を異なる方向から撮影して得られた複数の画像について、これら複数の画像間における画素の対応付けを行なうことにより視差を算出する。3次元座標計算部20は、ステレオマッチング部10によって算出された視差に基づいて、画像における各画素の位置を3次元座標系における3次元座標に変換する。そして、誤対応検出部30は、3次元座標計算部20によって変換された各画素の3次元座標に基づいて、ステレオマッチング部10によって行われた対応付けの誤りを検出する。
【0082】
このように、ステレオマッチングで対応付けされた結果を用いて算出した3次元座標に基づいて誤対応の箇所を検出する構成により、高い建物のように左右画像で見え方に大きな違いがある場合であっても、ステレオマッチングにおける誤対応の箇所を正しく検出することができる。
【0083】
すなわち、本発明の実施の形態に係る画像処理装置における各構成要素のうち、ステレオマッチング部10、3次元座標計算部20および誤対応検出部30からなる最小構成により、種々の撮影対象について、ステレオマッチングにおける誤対応をより正確に検出する、という本発明の目的を達成することが可能となる。
【0084】
また、本発明の実施の形態に係る画像処理装置では、誤対応検出部30は、画像における各画素の並び順、および3次元座標系における各画素の3次元座標の並び順に基づいてステレオマッチングの対応付けの誤りを検出する。
【0085】
このように、ステレオマッチングで対応付けされた結果を用いて、基準位置に対する画像座標の並び順および3次元座標の並び順に基づいて誤対応の箇所を検出する構成により、ステレオマッチングにおける誤対応の箇所を正しく検出することができる。
【0086】
また、本発明の実施の形態に係る画像処理装置では、誤対応検出部30は、画像における基準位置からの同一直線上の複数の画素について、基準位置からこれら複数の画素までの距離と、3次元座標系において基準位置に対応する3次元基準位置から、3次元座標系において上記複数の画素に対応する複数の3次元画素までの距離とに基づいて、ステレオマッチングの対応付けの誤りを検出する。
【0087】
このように、基準位置からの画像座標の距離および3次元座標の距離を用いる構成により、基準位置に対する画像座標の並び順および3次元座標の並び順を適切に求めることができる。
【0088】
また、本発明の実施の形態に係る画像処理装置では、誤対応検出部30は、画像における基準位置からの同一直線上の複数の画素について、基準位置からこれら複数の画素までの距離の大小関係と、3次元基準位置から上記複数の3次元画素までの距離の大小関係とが異なる場合に、画像における上記複数の画素の対応付けが誤りであると判定する。
【0089】
このように、基準位置からの画像座標の距離および3次元座標の距離の大小関係を比較する構成により、ステレオマッチングにおける誤対応の箇所をより正しく検出することができる。
【0090】
なお、本発明は、上記実施形態に限定されず、種々の変形、および応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。
【0091】
上記実施の形態では、一例として左画像上での誤対応を検出したが、右画像上で誤対応を検出してもよいし、左右画像の両方で誤対応を検出してもよい。
【0092】
さらに、左右画像の検出結果を統合して、左右画像のいずれかで誤対応が検出された画素を誤対応の箇所として検出してもよい。このような構成により、誤対応箇所の検出処理の簡易化を図ることができる。
【0093】
すなわち、誤対応検出部30は、左画像および右画像それぞれに対してステレオマッチングの誤対応の箇所を検出する。そして、誤対応検出部30は、左画像から検出された誤対応の箇所と右画像から検出された誤対応箇所を統合する。
【0094】
より詳細には、誤対応検出部30は、複数の画像のうち、少なくともいずれか1つの画像においてステレオマッチング部10によって行われた対応付けの誤りを検出した場合には、対応付けの誤りが検出された画素、および他の画像における対応の画素を、ステレオマッチング部10によって誤って対応付けられた画素であると判断する。
【0095】
左右画像の検出結果を統合する具体的な方法として、たとえば、右画像上の画素(xR,xR)で誤対応が検出された場合には、ステレオマッチングで対応付けされた左画像上の画素(xL,xL)を誤対応箇所としてもよい。また、逆に、たとえば左画像上の画素(xL,xL)で誤対応が検出された場合には、ステレオマッチングで対応付けされた右画像上の画素(xR,xR)を誤対応箇所としてもよい。
【0096】
また、上記実施の形態では、一例として誤対応と判定されたすべての画素を誤対応箇所として検出したが、これに限定するものではない。誤対応と判定された回数を画素ごとに記憶しておき、誤対応と判定された回数がある一定回数以上である画素のみを実際の誤対応箇所として検出してもよい。
【0097】
すなわち、誤対応検出部30は、対応付けの誤りを検出した回数を画素ごとに記憶し、回数が所定値未満である画素は、ステレオマッチング部10によって誤って対応付けられた画素であると判断せず、回数が所定値以上となる画素を、ステレオマッチング部10によって誤って対応付けられた画素であると判断する。
【0098】
たとえば、誤対応と判定された回数が2回以上の画素のみを誤対応箇所として検出する。具体的には、画素Aと画素Bが誤対応、画素Aと画素Cが誤対応、画素Bと画素Cが正しい対応であるとそれぞれ判定された場合には、画素Aのみが2回以上の誤対応であると判定されているので、画素Aのみを実際の誤対応箇所として検出する。
【0099】
このような構成により、誤対応箇所の検出処理において、安定した検出結果を得ることができる。
【0100】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0101】
上記実施の形態の一部または全部は以下の付記のようにも記載されうるが、本発明の範囲は、以下の付記に限定されるものではない。
【0102】
[付記1]
撮影対象を異なる方向から撮影して得られた複数の画像について、前記複数の画像間における画素の対応付けを行なうことにより視差を算出するためのステレオマッチング部と、
前記ステレオマッチング部によって算出された前記視差に基づいて、前記画像における各画素の位置を3次元座標系における3次元座標に変換するための3次元座標計算部と、
前記3次元座標計算部によって変換された前記各画素の前記3次元座標に基づいて、前記ステレオマッチング部によって行われた前記対応付けの誤りを検出するための誤対応検出部とを備える、画像処理装置。
【0103】
[付記2]
前記誤対応検出部は、前記画像における前記各画素の並び順、および前記各画素の前記3次元座標の並び順に基づいて前記対応付けの誤りを検出する、付記1に記載の画像処理装置。
【0104】
[付記3]
前記誤対応検出部は、前記画像における基準位置からの同一直線上の複数の画素について、前記基準位置から前記複数の画素までの距離と、前記3次元座標系において前記基準位置に対応する3次元基準位置から、前記3次元座標系において前記複数の画素に対応する複数の3次元画素までの距離とに基づいて、前記対応付けの誤りを検出する、付記2に記載の画像処理装置。
【0105】
[付記4]
前記誤対応検出部は、前記画像における基準位置からの同一直線上の複数の画素について、前記基準位置から前記複数の画素までの距離の大小関係と、前記3次元基準位置から前記複数の3次元画素までの距離の大小関係とが異なる場合に、前記画像における前記複数の画素の対応付けが誤りであると判定する、付記3に記載の画像処理装置。
【0106】
[付記5]
前記誤対応検出部は、前記対応付けの誤りを検出した回数を画素ごとに記憶し、前記回数が所定値未満である画素は、前記ステレオマッチング部によって誤って対応付けられた画素であると判断せず、前記回数が前記所定値以上となる画素を、前記ステレオマッチング部によって誤って対応付けられた画素であると判断する、付記1から4のいずれかに記載の画像処理装置。
【0107】
[付記6]
前記誤対応検出部は、前記複数の画像のうち、少なくともいずれか1つの画像において前記ステレオマッチング部によって行われた前記対応付けの誤りを検出した場合には、前記対応付けの誤りが検出された画素、および他の前記画像における対応の画素を、前記ステレオマッチング部によって誤って対応付けられた画素であると判断する、付記1から5のいずれかに記載の画像処理装置。
【0108】
[付記7]
撮影対象を異なる方向から撮影して得られた複数の画像について、前記複数の画像間における画素の対応付けを行なうことにより視差を算出するステップと、
算出した前記視差に基づいて、前記画像における各画素の位置を3次元座標系における3次元座標に変換するステップと、
変換した前記各画素の前記3次元座標に基づいて、前記対応付けの誤りを検出するステップとを含む、画像処理方法。
【0109】
[付記8]
前記対応付けの誤りを検出するステップにおいては、前記画像における前記各画素の並び順、および前記各画素の前記3次元座標の並び順に基づいて前記対応付けの誤りを検出する、付記7に記載の画像処理方法。
【0110】
[付記9]
前記対応付けの誤りを検出するステップにおいては、前記画像における基準位置からの同一直線上の複数の画素について、前記基準位置から前記複数の画素までの距離と、前記3次元座標系において前記基準位置に対応する3次元基準位置から、前記3次元座標系において前記複数の画素に対応する複数の3次元画素までの距離とに基づいて、前記対応付けの誤りを検出する、付記8に記載の画像処理方法。
【0111】
[付記10]
前記対応付けの誤りを検出するステップにおいては、前記画像における基準位置からの同一直線上の複数の画素について、前記基準位置から前記複数の画素までの距離の大小関係と、前記3次元基準位置から前記複数の3次元画素までの距離の大小関係とが異なる場合に、前記画像における前記複数の画素の対応付けが誤りであると判定する、付記9に記載の画像処理方法。
【0112】
[付記11]
前記対応付けの誤りを検出するステップにおいては、前記対応付けの誤りを検出した回数を画素ごとに記憶し、前記回数が所定値未満である画素は、誤って対応付けられた画素であると判断せず、前記回数が前記所定値以上となる画素を、誤って対応付けられた画素であると判断する、付記7から10のいずれかに記載の画像処理方法。
【0113】
[付記12]
前記対応付けの誤りを検出するステップにおいては、前記複数の画像のうち、少なくともいずれか1つの画像において前記対応付けの誤りを検出した場合には、前記対応付けの誤りが検出された画素、および他の前記画像における対応の画素を、誤って対応付けられた画素であると判断する、付記7から11のいずれかに記載の画像処理方法。
【0114】
[付記13]
コンピュータに、
撮影対象を異なる方向から撮影して得られた複数の画像について、前記複数の画像間における画素の対応付けを行なうことにより視差を算出するステップと、
算出した前記視差に基づいて、前記画像における各画素の位置を3次元座標系における3次元座標に変換するステップと、
変換した前記各画素の前記3次元座標に基づいて、前記対応付けの誤りを検出するステップとを実行させるための、画像処理プログラム。
【0115】
[付記14]
前記対応付けの誤りを検出するステップにおいては、前記画像における前記各画素の並び順、および前記各画素の前記3次元座標の並び順に基づいて前記対応付けの誤りを検出する、付記13に記載の画像処理プログラム。
【0116】
[付記15]
前記対応付けの誤りを検出するステップにおいては、前記画像における基準位置からの同一直線上の複数の画素について、前記基準位置から前記複数の画素までの距離と、前記3次元座標系において前記基準位置に対応する3次元基準位置から、前記3次元座標系において前記複数の画素に対応する複数の3次元画素までの距離とに基づいて、前記対応付けの誤りを検出する、付記14に記載の画像処理プログラム。
【0117】
[付記16]
前記対応付けの誤りを検出するステップにおいては、前記画像における基準位置からの同一直線上の複数の画素について、前記基準位置から前記複数の画素までの距離の大小関係と、前記3次元基準位置から前記複数の3次元画素までの距離の大小関係とが異なる場合に、前記画像における前記複数の画素の対応付けが誤りであると判定する、付記15に記載の画像処理プログラム。
【0118】
[付記17]
前記対応付けの誤りを検出するステップにおいては、前記対応付けの誤りを検出した回数を画素ごとに記憶し、前記回数が所定値未満である画素は、誤って対応付けられた画素であると判断せず、前記回数が前記所定値以上となる画素を、誤って対応付けられた画素であると判断する、付記13から16のいずれかに記載の画像処理プログラム。
【0119】
[付記18]
前記対応付けの誤りを検出するステップにおいては、前記複数の画像のうち、少なくともいずれか1つの画像において前記対応付けの誤りを検出した場合には、前記対応付けの誤りが検出された画素、および他の前記画像における対応の画素を、誤って対応付けられた画素であると判断する、付記13から17のいずれかに記載の画像処理プログラム。
【産業上の利用可能性】
【0120】
本発明は、ステレオマッチングを用いた画像処理に適用可能である。したがって、本発明は、産業上の利用可能性を有している。
【符号の説明】
【0121】
10 ステレオマッチング部
20 3次元座標計算部
30 誤対応検出部
101 CPU
102 メインメモリ
103 ハードディスク
104 入力インタフェース
105 表示コントローラ
106 データリーダ/ライタ
107 通信インタフェース
108 キーボード
109 マウス
110 ディスプレイ
111 記録媒体
121 バス
201 画像処理装置

【特許請求の範囲】
【請求項1】
撮影対象を異なる方向から撮影して得られた複数の画像について、前記複数の画像間における画素の対応付けを行なうことにより視差を算出するためのステレオマッチング部と、
前記ステレオマッチング部によって算出された前記視差に基づいて、前記画像における各画素の位置を3次元座標系における3次元座標に変換するための3次元座標計算部と、
前記3次元座標計算部によって変換された前記各画素の前記3次元座標に基づいて、前記ステレオマッチング部によって行われた前記対応付けの誤りを検出するための誤対応検出部とを備える、画像処理装置。
【請求項2】
前記誤対応検出部は、前記画像における前記各画素の並び順、および前記各画素の前記3次元座標の並び順に基づいて前記対応付けの誤りを検出する、請求項1に記載の画像処理装置。
【請求項3】
前記誤対応検出部は、前記画像における基準位置からの同一直線上の複数の画素について、前記基準位置から前記複数の画素までの距離と、前記3次元座標系において前記基準位置に対応する3次元基準位置から、前記3次元座標系において前記複数の画素に対応する複数の3次元画素までの距離とに基づいて、前記対応付けの誤りを検出する、請求項2に記載の画像処理装置。
【請求項4】
前記誤対応検出部は、前記画像における基準位置からの同一直線上の複数の画素について、前記基準位置から前記複数の画素までの距離の大小関係と、前記3次元基準位置から前記複数の3次元画素までの距離の大小関係とが異なる場合に、前記画像における前記複数の画素の対応付けが誤りであると判定する、請求項3に記載の画像処理装置。
【請求項5】
前記誤対応検出部は、前記対応付けの誤りを検出した回数を画素ごとに記憶し、前記回数が所定値未満である画素は、前記ステレオマッチング部によって誤って対応付けられた画素であると判断せず、前記回数が前記所定値以上となる画素を、前記ステレオマッチング部によって誤って対応付けられた画素であると判断する、請求項1から4のいずれかに記載の画像処理装置。
【請求項6】
前記誤対応検出部は、前記複数の画像のうち、少なくともいずれか1つの画像において前記ステレオマッチング部によって行われた前記対応付けの誤りを検出した場合には、前記対応付けの誤りが検出された画素、および他の前記画像における対応の画素を、前記ステレオマッチング部によって誤って対応付けられた画素であると判断する、請求項1から5のいずれかに記載の画像処理装置。
【請求項7】
撮影対象を異なる方向から撮影して得られた複数の画像について、前記複数の画像間における画素の対応付けを行なうことにより視差を算出するステップと、
算出した前記視差に基づいて、前記画像における各画素の位置を3次元座標系における3次元座標に変換するステップと、
変換した前記各画素の前記3次元座標に基づいて、前記対応付けの誤りを検出するステップとを含む、画像処理方法。
【請求項8】
コンピュータに、
撮影対象を異なる方向から撮影して得られた複数の画像について、前記複数の画像間における画素の対応付けを行なうことにより視差を算出するステップと、
算出した前記視差に基づいて、前記画像における各画素の位置を3次元座標系における3次元座標に変換するステップと、
変換した前記各画素の前記3次元座標に基づいて、前記対応付けの誤りを検出するステップとを実行させるための、画像処理プログラム。

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


【公開番号】特開2013−3753(P2013−3753A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−132912(P2011−132912)
【出願日】平成23年6月15日(2011.6.15)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】