(57)【要約】【課題】  視差計算処理の高速化を図る。【解決手段】  第１画像と第２画像とに基づいて視差計算処理を行う視差計算部と、それぞれ上記視差計算処理に使用されるワーク画像を保持可能な第１バッファ及び第２バッファとを設け、上記視差計算処理として、上記第１画像と上記第２画像との引き算により第１差分画像を得る第１処理（Ｓ１２）と、上記第１差分画像の画素値を加算平均する第２処理（Ｓ１３）と、上記加算平均された画像と上記第１バッファ内のワーク画像とを比較し、小さい方の値によって上記第１バッファ内のワーク画像の画素値を更新する第３処理（Ｓ１４）と、上記第１バッファ内のワーク画像と上記第２バッファ内のワーク画像との引き算により第２差分画像を得る第４処理（Ｓ１５）と、上記第２差分画像の画素値を変換する第５処理（Ｓ１６）とを含めることで、一般的な処理能力を有するＣＰＵで十分に処理できるようにする。【選択図】        図２
2006236022.tif 000002
【特許請求の範囲】
【請求項１】
第１カメラで得られた第１画像と、上記第１カメラに対して所定の間隔を有して配置された第２カメラで得られた第２画像とを取り込んで視差計算処理を行う視差計算部と、
それぞれ上記視差計算処理に使用されるワーク画像を保持可能な第１バッファ及び第２バッファと、を含み、
上記視差計算部での視差計算処理は、
上記第１画像と上記第２画像とを引き算して第１差分画像を得る第１処理と、
上記第１差分画像の画素値を加算平均する第２処理と、
上記第２処理で加算平均された画像と上記第１バッファ内のワーク画像とを比較し、小さい方の値によって上記第１バッファ内のワーク画像の画素値を更新する第３処理と、
上記第１バッファ内のワーク画像と、上記第２バッファ内のワーク画像との引き算により第２差分画像を得る第４処理と、
視差との関係で予め形成されたルックアップテーブルを用いて上記第２差分画像の画素値を変換することによって視差画像を得る第５処理と、を含む画像処理装置。
【請求項２】
上記第１バッファ内のワーク画像及び上記第２バッファ内のワーク画像は、上記視差計算部での視差計算処理の前に、最大画素値に初期化される請求項１記載の画像処理装置。
【請求項３】
上記第４処理の後に、上記第１バッファ内のワーク画像と上記第２バッファ内のワーク画像とが入れ換えられ、上記第１画像が、現在計算中の視差に相当する画素だけ一方向にシフトされた状態で、上記第１処理から上記第５処理までが再度実行される請求項２記載の画像処理装置。
【請求項４】
上記第１処理における引き算結果は絶対値化され、上記第４処理における引き算結果は「０」以下の場合に切り捨てられる請求項３記載の画像処理装置。
【請求項５】
現在計算中の視差を「ｉ」で示すとき、上記第５処理において、上記第４処理での上記第２差分画像の画素値が「０」場合には「０」に変換され、上記第４処理での上記第２差分画像の画素値が「０」以外の場合には「ｉ」に変換される請求項４記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視差計算技術に関し、例えば３次元座標計測システムに適用して有効な技術に関する。
【背景技術】
【０００２】
ステレオカメラ等によって前方に存在する障害物を検出し、かかる障害物情報を運転者や操縦者に提示することにより、自動車の走行中又は航空機の飛行中における安全性を向上させる技術が開発されている。例えば、立体視界情報と障害物情報との双方を提示する技術として、１対のステレオカメラを用いて撮像した１対の画像により得られる立体視界情報及び障害物情報から融合視界情報を生成し、生成した融合視界情報を可視像として搭乗者に提示する融合視界装置が提案されている（例えば特許文献１参照）。
【０００３】
また、注意を払いたい対象物までの距離を正確に測定して、この対称物の形状情報等を正確に提示するための技術として、人の両眼の間隔で配置された１対の固定カメラと、可動カメラと、２台のカメラの画像を処理する画像表示処理部と、距離情報を生成するステレオ画像処理部と、監視対象を指定する詳細画像指定部と、指定対象物を正確に撮像するカメラ間隔を求めるカメラ間隔計算部と、可動カメラを移動させるカメラ駆動装置と、可動カメラを含む１対のカメラによる画像情報から求めた距離情報に基づいて指定対象物を識別する詳細画像情報生成部と、固定カメラの画像と識別された指定対象物の画像とを重ねて表示する画像表示装置とを具備する視界装置が提案されている（例えば特許文献２参照）。
【０００４】
さらに、確実に移動体を分離検出することができ、その移動体の追跡や人数の計算などを高精度に行うための技術として、新規特徴点を追跡してその特徴点の空間座標を求め、この空間座標上での移動状態を示す動線を統合する技術が提案されている（特許文献３）
【特許文献１】特開２００１−３４４５９７号公報（図１）
【特許文献２】特開２００４−３１２５３７号公報（図１）
【特許文献３】特開平１１−６６３１９号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
移動体の追跡等のための３次元画像処理を行うに際して、第１カメラで得られた第１画像と、上記第１カメラに対して所定の間隔を有して配置された第２カメラで得られた第２画像とに基づいて視差画像が得られる。この視差画像を得るには、高度な３次元演算を中央処理装置（ＣＰＵ）で実行しなければならないから、演算処理能力が低いＣＰＵでは、その演算処理に時間がかかってしまう。
【０００６】
本発明の目的は、視差計算処理の高速化を図ることにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
すなわち、第１カメラで得られた第１画像と、上記第１カメラに対して所定の間隔を有して配置された第２カメラで得られた第２画像とに基づいて視差計算処理を行う視差計算部と、それぞれ上記視差計算処理に使用されるワーク画像を保持可能な第１バッファ及び第２バッファとを設ける。そして上記視差計算部での視差計算処理には、上記第１画像と上記第２画像との引き算により第１差分画像を得る第１処理と、上記第１差分画像の画素値を加算平均する第２処理と、上記第２処理で加算平均された画像と上記第１バッファ内のワーク画像とを比較し、小さい方の値によって上記第１バッファ内のワーク画像の画素値を更新する第３処理と、上記第１バッファ内のワーク画像と、上記第２バッファ内のワーク画像との引き算により第２差分画像を得る第４処理と、視差との関係で予め形成されたルックアップテーブルを用いて上記第２差分画像の画素値を変換することによって視差画像を得る第５処理とを含める。上記第２処理における加算平均処理は、上記第１差分画像を構成する小ブロック毎に行うことができる。
【００１０】
上記の手段によれば、上記視差計算部での視差計算処理として、上記第１画像と上記第２画像との引き算や、画素値を加算平均、画素値の比較、画素値変換等の各処理が行われるが、これらの処理は、一般的な処理能力を有するＣＰＵで十分に処理可能であるため、ＣＰＵの性能に殆ど影響されずに視差計算を行うことができる。また、上記視差計算部での視差計算処理においては、左画像（たとえば第１カメラで得られた第１画像）及び右画像（たとえば第２カメラで得られた第２画像）を取り込むことによってフレーム単位で処理しているため、左画像及び右画像を取り込むためのメモリアクセス回数の低減を図ることができる。以上のことが、上記視差計算部での視差計算処理の時間短縮を達成する。
【００１１】
このとき、上記視差計算部での視差計算処理の開始直後から視差画像を正しく得るには、上記第１バッファ内のワーク画像及び上記第２バッファ内のワーク画像は、上記視差計算部での視差計算処理前に、最大画素値に初期化すると良い。
【００１２】
上記第４処理の後に、上記第１バッファ内のワーク画像と上記第２バッファ内のワーク画像とが入れ換えられ、上記第１画像が、現在計算中の視差に相当する画素だけ一方向にシフトされた状態で、上記第１処理から上記第５処理までが再度実行することができる。
【００１３】
上記第１処理における引き算結果は絶対値化され、上記第４処理における引き算結果は「０」以下の場合に切り捨てることができる。
【００１４】
現在計算中の視差を「ｉ」で示すとき、上記第５処理においては、上記第４処理での上記第２差分画像の画素値が「０」場合には「０」に変換され、上記第４処理での上記第２差分画像の画素値が「０」以外の場合には「ｉ」に変換される。
【００１５】
上記第５処理によって得られた視差画像に対して３次元座標変換処理を施すことにより３次元画像を形成することができる。
【発明の効果】
【００１６】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１７】
すなわち、視差画像を得るための視差計算処理の高速化を図ることができる。
【発明を実施するための最良の形態】
【００１８】
図１には、本発明にかかる画像処理装置の一例とされる３次元座標計測システムの構成例が示される。このシステムは、特に制限されないが、人体などの被写体の位置や動線を検出して３次元画像を形成することができる。
【００１９】
図１に示される３次元座標計測システムは、特に制限されないが、ステレオカメラ１９、中央処理装置（ＣＰＵ）１６、第１バッファ１７、第２バッファ１８を含む。
【００２０】
上記ステレオカメラ１９は、被写体１０の左画像（ＬＩｍｇ）１１を得るための左カメラ１９Ｌと、上記左カメラ１９Ｌに対して所定の間隔を有して配置されることによって上記被写体１０の右画像（ＲＩｍｇ）１２を得るための右カメラ１９Ｒとを含む。左カメラ１９Ｌで得られた左画像１１及び右カメラ１９Ｒで得られた右画像１２は、それぞれ対応するフレームメモリ８，９を介してＣＰＵ１６に取り込まれる。
【００２１】
ＣＰＵ１６は、所定のプログラムを実行することによって、上記ステレオカメラ１９から伝達された左画像１１及び右画像１２についての演算処理を行う。具体的には、上記左画像１１及び上記右画像１２とに基づいて視差画像を得るための視差計算処理を行う視差計算部１３と、この視差計算部１３において得られた視差画像に対して３次元座標変換処理を施すことによって３次元画像を得るための３次元座標変換部１４とが機能的に実現される。上記３次元座標変換部１４における３次元座標変換処理においては、上記ステレオカメラ１９におけるレンズ歪み補正データ、カメラキャリブレーションデータ、カメラ設置データ（カメラの位置、焦点処理等）が必要とされ、それらは予め３次元座標変換部１４に与えられている。尚、３次元座標変換処理自体は公知の技術（例えば特許文献３など）を適用することができる。
【００２２】
第１バッファ１７及び第２バッファ１８は、それぞれ上記視差計算処理に使用されるワーク画像を格納するために設けられ、ＣＰＵ１６によってアクセス可能とされる。ここでは説明の便宜上、第１バッファ１７に格納されているワーク画像を「ＮｅｗＭｉｎ」とし、第２バッファ１８に格納されているワーク画像を「ＯｌｄＭｉｎ」とする。上記ワーク画像ＮｅｗＭｉｎ，ＯｌｄＭｉｎは、上記視差計算部１３での演算処理において適宜に読み出される。また、必要に応じて第１バッファ１７内のワーク画像と第２バッファ１８内のワーク画像との入換えが行われる。
【００２３】
図２には、上記視差計算部１３で行われる視差計算処理のアルゴリズムが示される。
【００２４】
上記視差計算部１３で視差計算処理が行われる前に、第１バッファ１７内のワーク画像ＮｅｗＭｉｎ、及び第２バッファ１８内のワーク画像ＯｌｄＭｉｎは、最大画素値に初期化される。特に制限されないが、画素値が符号無しの８ビットで示される場合には、「０ｘＦＦ」とされる。
【００２５】
また、求める視差の大きさ（ここでは「０〜Ｉ」とする）に対応する数だけ、画素値変換のためのルックアップテーブルが用意される。例えば、視差０に対応するルックアップテーブル、視差１に対応するルックアップテーブル、視差２に対応するルックアップテーブル、視差３に対応するルックアップテーブルのように、複数のルックアップテーブル２１が用意される。ルックアップテーブル２１は、図示されない読み出し専用メモリなどを利用して形成される。
【００２６】
先ず、視差０の右画像１２を基準にした視差画像を次のように計算する。
【００２７】
ステップＳ１２において、左画像１１から右画像１２を各画素毎引き算することによって第１差分画像を得る（ＳｕｂＡｂｓ）。このステップＳ１２の引き算結果は絶対値化される。
【００２８】
ステップＳ１３において、上記第１差分画像を所定のサイズの矩形領域毎に画素値の加算平均化処理を行う（Ａｖｒｇ）。上記矩形領域の大きさは任意に設定することができる。
【００２９】
ステップＳ１４において、上記ステップＳ１３で平均化処理された画像と、第１バッファ１７内の第１ワーク画像（ＮｅｗＭｉｎ）とが画素毎に比較され、この比較結果に基づいて第１バッファ１７内の第１ワーク画像（ＮｅｗＭｉｎ）の画素値が更新される。具体的には、上記ステップＳ１３で平均化処理された画像と、第１バッファ１７内の第１ワーク画像（ＮｅｗＭｉｎ）との画素毎の比較において小さい方の値によって第１バッファ１７内の第１ワーク画像（ＮｅｗＭｉｎ）の画素値が置き換えられる。
【００３０】
ステップＳ１５において、第１バッファ１７内の第１ワーク画像（ＮｅｗＭｉｎ）と、第２バッファ１８内の第２ワーク画像（ＯｌｄＭｉｎ）の引き算が行われることで第２差分画像が形成される（Ｓｕｂ）。このステップＳ１５の引き算において、「０」以下は切り捨てられる。
【００３１】
ステップＳ１６において、上記第２差分画像における画素値の変換処理が行われる（ＬＵＴ）。この変換処理においては、現在の計算視差値「０」に対応するルックアップテーブルが使用される。現在の計算視差値「０」に対応するルックアップテーブルによれば、上記第２差分画像における画素値「０」は、そのまま「０」とされ、上記第２差分画像における「０」以外の画素値の場合も「０」に変換される。これによって視差「０」についての視差画像２０が得られる。
【００３２】
次に、視差「１」についての視差画像が次のように求められる。
【００３３】
第１バッファ１７内の第１ワーク画像（ＮｅｗＭｉｎ）と、第２バッファ１８内の第２ワーク画像（ＯｌｄＭｉｎ）との入換えが行われ、左画像１１が、現在計算中の視差「１」に相当する画素だけ左にシフトされた状態で、上記ステップＳ１２〜Ｓ１６までの処理が再度実行される。このとき、ステップＳ１６での変換処理では、現在の計算視差値「１」に対応するルックアップテーブルが使用される。現在の計算視差値「１」に対応するルックアップテーブルによれば、上記第２差分画像における画素値「０」は、そのまま「０」とされ、上記第２差分画像における「０」以外の画素値は「１」に変換される。これによって視差「１」についての視差画像２０が得られる。
【００３４】
次に、視差「２」についての視差画像が次のように求められる。
【００３５】
再び第１バッファ１７内の第１ワーク画像（ＮｅｗＭｉｎ）と、第２バッファ１８内の第２ワーク画像（ＯｌｄＭｉｎ）との入換えが行われ、左画像１１が、現在計算中の視差「２」に相当する画素だけ左にシフトされた状態で、上記ステップＳ１２〜Ｓ１６までの処理が再度実行される。このとき、ステップＳ１６での変換処理では、現在の計算視差値「２」に対応するルックアップテーブルが使用される。現在の計算視差値「２」に対応するルックアップテーブルによれば、上記第２差分画像における画素値「０」は、そのまま「０」とされ、上記第２差分画像における「０」以外の画素値は「２」に変換される。これによって視差「２」についての視差画像２０が得られる。
【００３６】
このようにして、求めようとする視差（これを「ｉ」とする）までの視差画像２０を得ることができる。尚、現在の計算視差値「ｉ」に対応するルックアップテーブルによれば、上記第２差分画像における画素値「０」は、そのまま「０」とされ、上記第２差分画像における「０」以外の画素値は「ｉ」に変換される。これによって視差「ｉ」についての視差画像２０が得られる。
【００３７】
上記例によれば、以下の作用効果を得ることができる。
【００３８】
（１）ステップＳ１２での引き算処理、ステップＳ１３での加算平均化処理、ステップＳ１４での比較処理、ステップＳ１５での引き算処理、及びステップＳ１６での画素値変換処理は、高度な３次元演算処理ではなく、一般的な処理能力を有するＣＰＵで十分に処理可能であるため、ＣＰＵの性能に殆ど影響されずに視差計算を行うことができる。
【００３９】
（２）視差計算部１３での演算処理においては、フレームメモリ８，９から左画像１１及び右画像１２を取り込むことによってフレーム単位で処理している。換言すれば、視差計算部１３での演算処理の単位がフレームとされる。処理の単位が８×８画素の小ブロックとされる場合のようにフレームメモリを頻繁にアクセスして画像データを取り込む必要が無いので、その分、フレームメモリのアクセス回数が少なくて済む。
【００４０】
（３）上記（１）及び（２）の作用効果により、視差画像２０を得るまでの時間短縮を図ることができる。
【００４１】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００４２】
例えば、上記の例では、左画像１１が、現在計算中の視差に相当する画素だけ左にシフトされた状態で、上記ステップＳ１２〜Ｓ１６までの処理が実行される場合について説明したが、図３に示されるように、右画像１２が、現在計算中の視差に相当する画素だけ右にシフトされた状態で（ステップＳ１７）、上記ステップＳ１２〜Ｓ１６までの処理が実行されるようにしても良い。尚、図３においてステップＳ１２〜Ｓ１６までの処理は、図２に示される場合と同一とされるため、その詳細な説明を省略する。
【００４３】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野である３次元座標計測システムに適用した場合について説明したが、本発明はそれに限定されるものではなく、画像処理装置に広く適用することができる。
【００４４】
本発明は、少なくとも視差計算処理を行う視差計算部を含むことを条件に適用することができる。
【図面の簡単な説明】
【００４５】
【図１】本発明にかかる画像処理装置の一例とされる３次元座標計測システムの構成例ブロック図である。
【図２】上記３次元座標計測システムにおける視差計算アルゴリズムの説明図である。
【図３】上記３次元座標計測システムにおける別の視差計算アルゴリズムの説明図である。
【符号の説明】
【００４６】
８，９  フレームメモリ
１１  左画像
１２  右画像
１３  視差計算部
１４  ３次元座標変換部
１５  ３次元画像
１６  ＣＰＵ
１７  第１バッファ
１８  第２バッファ
１９  ステレオカメラ
１９Ｌ  左カメラ
１９Ｒ  右カメラ
２０  視差画像
２１  ルックアップテーブル
【図１】
2006236022.tif 000003
【図２】
2006236022.tif 000004
【図３】
2006236022.tif 000005