JP5918684B2 - ステレオ画像処理装置及びステレオ画像処理方法 - Google Patents

ステレオ画像処理装置及びステレオ画像処理方法 Download PDF

Info

Publication number
JP5918684B2
JP5918684B2 JP2012237592A JP2012237592A JP5918684B2 JP 5918684 B2 JP5918684 B2 JP 5918684B2 JP 2012237592 A JP2012237592 A JP 2012237592A JP 2012237592 A JP2012237592 A JP 2012237592A JP 5918684 B2 JP5918684 B2 JP 5918684B2
Authority
JP
Japan
Prior art keywords
block
image
image processing
area
stereo image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012237592A
Other languages
English (en)
Other versions
JP2014089498A (ja
JP2014089498A5 (ja
Inventor
亮 太田
亮 太田
裕史 大塚
裕史 大塚
寛人 三苫
寛人 三苫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2012237592A priority Critical patent/JP5918684B2/ja
Priority to PCT/JP2013/077418 priority patent/WO2014069196A1/ja
Publication of JP2014089498A publication Critical patent/JP2014089498A/ja
Publication of JP2014089498A5 publication Critical patent/JP2014089498A5/ja
Application granted granted Critical
Publication of JP5918684B2 publication Critical patent/JP5918684B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Measurement Of Optical Distance (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Description

本発明は、一対の画像(ステレオ画像)の視差に応じて物体までの距離を測距する、ステレオ画像処理装置及びステレオ画像処理方法に関する。
ステレオ画像における物体の視差を算出する手法として、特開2001−92969号公報(特許文献1)に記載されるように、一方の画像を一定の大きさのブロックで分割し、各ブロックの画像について、他方の画像から対応する領域(ブロック)を探索する「ブロックマッチング」が知られている。そして、一方の画像におけるブロックの位置と他方の画像におけるブロックの位置とのずれが、測距対象の物体の視差として算出される。
ところで、画像を分割するブロックのサイズが一定である場合、次のような不具合が生じるおそれがある。即ち、視差算出対象の物体が遠方にあるなど、その物体が占める画像上の面積が小さい場合、1つのブロック内に異なる視差を持つ物体と背景とが混在することがある。一方、視差算出対象の物体が近傍にあるなど、その物体が占める画像上の面積が大きい場合、物体が複数のブロックに亘って存在し、例えば、物体のエッジが含まれないブロックができてしまうことがある。このような状態でブロックマッチングを行っても、物体の視差を適切に算出することは困難であり、物体までの距離を精度良く測距できない可能性がある。
このような不具合に対処するため、特開2012−2683号公報(特許文献2)に記載されるように、ステレオ画像から倍率を変えた複数の縮小画像を生成し、各縮小画像について同一サイズのブロックを使用したブロックマッチングを行い、その評価が最も良好なものを採用する技術が提案されている。
特開2001−92969号公報 特開2012−2683号公報
しかしながら、特許文献2で提案される技術では、ステレオ画像における物体の視差を算出するために、ステレオ画像から複数の縮小画像を生成すると共に、各縮小画像についてブロックマッチングを行わなければならず、物体の視差を算出する処理負荷が高いという欠点があった。
そこで、本発明は、ステレオ画像における物体の視差を算出する処理負荷を低減した、ステレオ画像処理装置及びステレオ画像処理方法を提供することを目的とする。
ステレオ画像処理装置は、ステレオ画像を撮像する一対のカメラと、ステレオ画像からブロックマッチングにより物体の視差を算出する手段と、物体の視差から物体までの距離を算出する手段と、を有する。そして、物体の視差を算出する手段は、ステレオ画像を所定サイズのブロックで分割し、各ブロックの画像をマスクすることで、ブロックマッチングの進行状況に応じて、ブロックマッチングで使用するブロックのサイズを変更する。
かかるステレオ画像処理装置によれば、ステレオ画像における物体の視差を算出する処理負荷を低減することができる。
ステレオ画像処理装置の一例を示す概要図である。 画像処理の一例を示すフローチャートである。 画像処理の一例を示すフローチャートである。 画像データの取り込み範囲の説明図である。 画像処理ブロックの説明図である。 画像処理ブロックのマスク領域の説明図である。 左画像のブロックずらし方法の説明図である。 ブロックマッチング結果を正規化する方法の説明図である。 ブロックマッチング結果を正規化する他の方法の説明図である。 右画像のブロックずらし方法の説明図である。 画像処理ブロックのマスク領域を変更する方法の説明図である。 ブロックずらし量と有効画像領域との関係を示す線図である。 画像処理ブロックのマスク領域の変化の説明図である。 次の画像データの取り込み範囲の説明図である。 画像左端に未探索領域が残った状態の説明図である。 画像左端以外に未探索領域が残った状態の説明図である。 探索領域位置の一例を示す説明図である。 画像処理ブロックの他のマスク領域の説明図である。 画像処理ブロックのマスク領域の変化の説明図である。 ブロックが探索済領域や画像領域外にはみ出ることを許容する方法の説明図である。 ブロックマッチングを行う画素の抽出方法の一例を示す説明図である。
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
[第1の実施例]
図1は、車両に搭載されたステレオ画像処理装置の一例を示す。
ステレオ画像処理装置100は、左カメラ110と、右カメラ120と、左画像メモリ130と、右画像メモリ140と、左画像ブロック設定部150と、右画像ブロック設定部160と、左画像ブロックマスク部170と、右画像ブロックマスク部180と、右画像ブロック保持部190と、右画像マスクブロック保持部200と、マッチング処理部210と、正規化処理部220と、視差算出部230と、距離算出部240と、を含んで構成されている。
左カメラ110及び右カメラ120は、車両前方の状況を撮像すべく、フロントガラスの上部内面に、車幅方向(水平方向)に基線長L[m]隔てた状態で取り付けられている。左カメラ110及び右カメラ120は、雨天時などにフロントガラスが汚れることを考慮し、ワイパの払拭エリア内に配置される。左カメラ110及び右カメラ120は、例えば、CCD(Charge Coupled Device),CMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサであって、所定の焦点距離f[m]及び画素ピッチ[m/pixel]を有している。
ここで、左カメラ110及び右カメラ120の並び方向は、車幅方向に限らず、車高方向(垂直方向)であってもよい。また、フロントガラスの上部内面に3台以上のカメラを取り付け、例えば、車両走行条件などに応じて、その中から一対のカメラを選択して使用してもよい。さらに、左カメラ110及び右カメラ120として、赤外線カメラを使用して、夜間の視認性を向上させたり、カラー画像を撮像するカラーカメラを使用して、カラー情報を後段の処理で活用することもできる。
左画像メモリ130及び右画像メモリ140は、例えば、高速で読み書きが可能なRAM(Random Access Memory)などの揮発性メモリを含み、左カメラ110及び右カメラ120によって撮像された、視点の異なる左画像及び右画像を夫々格納する。ここで、左画像メモリ130及び右画像メモリ140には、左カメラ110及び右カメラ120によって撮像された左画像及び右画像を、揮発性メモリに取り込む機能が付設されている。
左画像ブロック設定部150及び右画像ブロック設定部160は、ブロックマッチングによって左画像と右画像との視差を算出する最大サイズのブロックを設定し、そのブロックによって区画される領域に含まれる画像データを抽出する。ここで、「ブロックマッチング」とは、例えば、右画像のある点におけるブロック(矩形形状の範囲)について、左画像をブロック単位で順次探索しつつ、ブロック間の見え方の類似度を表すスコア(数値)を算出し、そのスコアが良好な左画像のブロックを求める手法である。なお、左画像ブロック設定部150及び右画像ブロック設定部160は、ブロックマッチングの進行状況に応じて、ブロックを設定する位置を適宜変更する。
左画像ブロックマスク部170及び右画像ブロックマスク部180は、左画像ブロック設定部150及び右画像ブロック設定部160によって抽出された左右の画像データについて、その一部領域をマスクし、残りの領域を有効な画像領域とする。即ち、左画像ブロックマスク部170及び右画像ブロックマスク部180は、ブロックによって区画される領域の画像データのうち、ブロックマッチングを行う領域を限定する。なお、左画像ブロックマスク部170及び右画像ブロックマスク部180は、ブロックマッチングの進行状況に応じて、マスクする領域を順次縮小、即ち、有効な画像領域を順次拡大する。
右画像ブロック保持部190は、右画像ブロック設定部160によって抽出された右画像のデータを、例えば、揮発性メモリに保持する。このようにすれば、ブロックによって区画される領域の画像データは、右画像メモリ140をアクセスしなくとも利用可能となるため、処理速度を向上させることができる。
右画像マスクブロック保持部200は、右画像ブロックマスク部180によってマスクされた右画像のデータを、例えば、揮発性メモリに保持する。このようにすれば、右画像ブロック保持部190と同様に、マスクされた右画像のデータは、右画像メモリ140をアクセスしなくとも利用可能となるため、処理速度を向上させることができる。
マッチング処理部210は、右画像ブロックマスク部180によってマスクされた右画像のデータと、左画像ブロックマスク部170によってマスクされた左画像のデータと、をブロックマッチングする。なお、ブロックマッチングの詳細については後述する。
正規化処理部220は、マッチング処理部210によって行われたブロックマッチングではブロックのサイズが必ずしも同一でないため、これを同一条件で評価可能とすべく、ブロックマッチングにおけるスコアを正規化する処理を実行する。
視差算出部230は、正規化処理部220によって正規化されたスコアを評価し、そのスコアが良好なブロックについて視差(ずれ)δ[pixel]を算出する。
距離算出部240は、視差算出部230によって算出された視差δ[pixel]に基づいて、例えば、「Z=bf/δF」という式から、車両前方の物体までの距離Z[m]を算出する。距離算出部240によって算出された距離Zは、ブレーキ制御装置,エンジン制御装置などに出力され、例えば、オートクルーズコントロールなどに使用される。
図2及び図3は、ステレオ画像処理装置100が起動されたことを契機として、左カメラ110及び右カメラ120の撮像フレームごとに繰り返し実行される画像処理の一例を示す。
ステップ1(図では「S1」と略記する。以下同様。)では、左画像メモリ130が、左カメラ110で撮像した左画像を左画像メモリ130の揮発性メモリに取り込む。ここで、左画像メモリ130の揮発性メモリに取り込む左画像データは、図4に示すように、左画像の全体ではなく、例えば、4ラインなど、ブロックマッチングを行う最大サイズのブロックの高さ(縦方向のサイズ)に応じた複数ラインとする。そして、左画像メモリ130は、最初の取り込みでは、上から複数ラインの画像データを取り込み、それ以降の取り込みでは、続く複数ラインの左画像データを取り込む(右画像についても同様)。なお、左画像メモリ130の揮発性メモリに左画像の全体を取り込むようにしてもよい。
ステップ2では、右画像メモリ140が、右カメラ120で撮像した右画像を右画像メモリ140の揮発性メモリに取り込む。ここで、右画像メモリ140の揮発性メモリに取り込む右画像データは、図4に示すように、左画像データと同様に、右画像の全体ではなく、例えば、4ラインなど、ブロックマッチングを行う最大サイズのブロックの高さに応じた複数ラインとする。なお、右画像メモリ140の揮発性メモリに右画像の全体を取り込むようにしてもよい。
ステップ3では、右画像ブロック設定部160が、図5に示すように、右画像メモリ140の揮発性メモリに取り込んだ右画像データから、ブロックマッチングの開始位置において最大サイズのブロックによって区画される領域の右画像データを切り出し、これを右画像ブロック保持部190へと送る。以下、最大サイズのブロックによって区画される領域の右画像データを、「右画像処理ブロック」と称する(左画像についても同様)。
ステップ4では、右画像ブロック保持部190が、右画像処理ブロックを揮発性メモリに保持する。
ステップ5では、左画像ブロックマスク部170及び右画像ブロックマスク部180が、左画像処理ブロック及び右画像処理ブロックをマスクするマスク量の初期値として、最大サイズのマスク量を設定する。従って、ブロックマッチングを開始する位置においては、左画像処理ブロック及び右画像処理ブロックの有効画像領域は最小となる。
ここで、左画像処理ブロック及び右画像処理ブロックをマスクする領域は、図6に示すように、画像処理ブロックの左右端部のみとする。従って、マスク後の画像処理ブロックは、横方向の中央部が有効画像領域となる。このようにすれば、マスク量を変更した場合でも、画像全体の特徴が著しく変動しないようにすることができる。例えば、画像処理ブロックの左半分に車両、その右半分に路面が表れている場合、マスク領域を画像処理ブロックの左側又は右側に偏って設定すると、マスク状況によっては画像処理ブロックに路面のみが表れていたり、車両のみが表れている状況が発生する。このため、マスク前の画像処理ブロックとマスク後の画像処理ブロックとの間で、表れている画像が著しく異なってしまうおそれがある。そこで、画像処理ブロックの左右中央部を有効画像領域とすることで、有効画像領域のサイズを変更しても、車両と路面とが半分ずつ表れるようにする。
ステップ6では、右画像ブロックマスク部180が、右画像処理ブロックをマスクし、これを右画像マスクブロック保持部200へと送る。マスクされた右画像処理ブロックは、図6に示すように、左右方向の中央部が有効画像領域となっている。
ステップ7では、右画像マスクブロック保持部200が、マスクされた右画像処理ブロックを揮発性メモリに保持する。
ステップ8では、左画像ブロック設定部150が、右画像処理ブロックとブロックマッチングを行う左画像のブロック位置を設定する。ブロックマッチングの開始位置では、図5に示すように、ブロック位置は右画像処理ブロックの位置と同一位置となる。
ステップ9では、左画像ブロックマスク部170が、ブロックマッチングの進行状況に応じてマスク量を変更するため、ブロック位置のずらし量を計数する変数nを0にリセットする。
ステップ10では、左画像ブロックマスク部170が、変数nをインクリメント、即ち、変数nに1を加算する。
ステップ11では、左画像ブロック設定部150が、左画像メモリ130の揮発性メモリに取り込んだ左画像データから、左画像のブロック位置において最大サイズのブロックによって区画される領域の左画像処理ブロックを切り出す。
ステップ12では、左画像ブロックマスク部170が、左画像処理ブロックをマスクする。マスクされた左画像処理ブロックは、図6に示すように、左右方向の中央部が有効画像領域となっている。
ステップ13では、マッチング処理部210が、マスクされた右画像処理ブロックと左画像処理ブロックとをブロックマッチングする。即ち、マッチング処理部210は、右画像処理ブロックの有効画像領域及び左画像処理ブロックの有効画像領域に含まれる各画素について、例えば、SAD(Sum of Absolute Difference)を用い、左右の画像における各画素の輝度差の総和(スコア)を算出し、これが小さいほど類似度が高いと評価する。ここで、ブロックマッチングを行う手法としては、SADに限らず、SSD(Sum of Squared Difference),NCC(Normalized Cross Correlation),ISC(Increment Sign Correlation),SRF(Statistical Reach Feature)など公知の手法を利用することができる。
また、有効画像領域にエッジなどの特徴的な画像が殆んど又はまったく存在しない状況では、単純にブロックマッチングを行うと、評価を誤ってしまうおそれがある。このため、有効画像領域にエッジが一定面積未満しか存在しない場合には、ブロックマッチングを行わず、その有効画像領域が最終的に選択されないようにすべく、例えば、そのスコアを無効値又は理論上の最悪値とすることもできる。
ステップ14では、左画像ブロック設定部150が、図7に示すように、左画像のブロック位置を、所定量(例えば、1画素)だけ右方にずらす。なお、左画像のブロック位置をずらす量は、1画素に限らず、2画素以上、1画素未満であってもよい。ずらす量を2画素以上とした場合には、ブロックマッチングの高速化が期待でき、ずらす量を1画素未満とした場合には、ブロックマッチングの精度を向上させることができる。また、ずらす量を整数としない場合には、例えば、隣接する画素の輝度を加重平均することで擬似的に小数のずらし量を実現することができるが、その他の公知の手法を用いて実現してもよい。
ステップ15では、左画像ブロック設定部150が、左画像のブロック位置のずらし量が閾値Aより大きくなったか否かを判定する。ここで、閾値Aは、車両の先端部までの距離に応じた値とすることができる。即ち、閾値Aが大きな値をとると、車両前方に位置する物体までの距離が車両先端部よりも近い領域まで視差を探索することとなってしまう。このため、閾値Aを車両先端部までの距離に応じた値とすることで、視差の探索範囲を狭め、処理負荷を低減することができる。そして、左画像ブロック設定部150は、ブロック位置のずらし量が閾値Aより大きいと判定すれば処理をステップ16へと遷移させる一方(Yes)、ブロック位置のずらし量が閾値A以下であると判定すれば処理をステップ22へと遷移させる(No)。
ステップ16では、正規化処理部220及び視差算出部230が協働して、ブロックマッチングの結果を評価する。即ち、正規化処理部220は、ブロックマッチングを行ったブロックのサイズが必ずしも同一ではないため、これを同一条件で評価可能とする正規化処理を行う。具体的には、正規化処理部220は、ブロックマッチングの結果であるスコアを有効画像領域に含まれる画素数で除算することで、図8に示すように、有効画像領域の大小にかかわらず評価ができるようにする。
ここで、正規化の精度を向上させるため、有効画像領域の画素数に代えて、図9に示すように、有効画像領域を変更する地点付近において、有効画像領域の変更前及び変更後のブロックマッチングの結果であるスコアの比の平均を用いることもできる。そして、視差算出部230は、1ラインにおけるすべての正規化スコアのうち、最小の値をとるスコアに対応する有効画像領域を選択する。
また、ブロックマッチングのスコアが最小になっても、その値が絶対的には大きい場合には、ブロックマッチングの成績がよくないことから、視差の算出に失敗してしまうおそれがある。そこで、例えば、周囲の有効画像領域との整合性などの要素を勘案し、場合によってはスコアが最小でない有効画像領域を選択してもよい。
ステップ17では、視差算出部230が、右画像における有効画像領域と左画像における有効画像領域との視差δを算出する。
ステップ18では、距離算出部240が、視差δに基づいて、物体までの距離Zを算出する。
ステップ19では、右画像ブロック設定部160が、図10に示すように、右画像のブロック位置を、例えば、最大サイズのブロックの幅だけ右方にずらす。
ステップ20では、右画像ブロック設定部160が、右画像のブロック位置のずらし量が閾値Bより大きくなったか否かを判定する。ここで、閾値Bは、右画像の右端までブロックマッチングを行ったか否かを判定するためのものであって、例えば、右画像の解像度及びブロックの最大サイズに応じた値とすることができる。そして、右画像ブロック設定部160は、ブロック位置のずらし量が閾値Bより大きいと判定すれば処理をステップ21へと遷移させる一方(Yes)、ブロック位置のずらし量が閾値B以下であると判定すれば処理をステップ3へと遷移させる(No)。
ステップ21では、右画像ブロック設定部160が、最終ラインまでブロックマッチングを行ったか否かを判定する。そして、右画像ブロック設定部160は、最終ラインまでブロックマッチングを行ったと判定すれば処理を終了させる一方(Yes)、最終ラインまでブロックマッチングを行っていないと判定すれば処理をステップ1へと遷移させる(No)。なお、ステップ21の処理は、右画像ブロック設定部160に限らず、他の設定部、処理部が行うようにしてもよい。
ステップ22では、左画像ブロック設定部150が、変数nが閾値Cより大きくなったか否かを判定する。ここで、閾値Cは、ブロックマッチングを行う有効画像領域の大きさを変更するタイミングを判定するためのものであって、例えば、実験などを通して適当な値に設定される。そして、左画像ブロック設定部150は、変数nが閾値Cより大きいと判定すれば処理をステップ23へと遷移させる一方(Yes)、変数nが閾値C以下であると判定すれば処理をステップ9へと遷移させる(No)。
ステップ23では、左画像ブロックマスク部170及び右画像ブロックマスク部180が、図11に示すように、左画像処理ブロック及び右画像処理ブロックをマスクするマスク量を減少、即ち、左画像処理ブロック及び右画像処理ブロックの有効画像領域を拡大する。そして、左画像処理ブロック及び右画像処理ブロックの有効画像領域を拡大した後、処理をステップ6へと遷移させる。
ここで、画像処理ブロックの有効画像領域は、図12に示すように、左画像処理ブロックのずらし量に応じて離散的(階段状)に増加、要するに、ずらし量がi画素増えるごとに、有効画像領域の一辺の大きさがj画素増える。i及びjは、ステレオ画像処理装置100で求められる処理速度や視差算出精度などに応じて一定値としてもよいし、視差算出結果に応じた可変値としてもよい。
即ち、視差と距離とは反比例するため、左画像処理ブロックのずらし量とその有効画像領域の一辺の長さが略比例するように、マスク量の変更タイミングとその変更量を決定する。マスク量の変更タイミング及び変更量は、恒常的な関係が予め決められていてもよいし、状況に応じて可変としてもよい。
次に、ステレオ画像処理装置100の理解を容易ならしめることを目的として、ステレオ画像から物体までの距離を算出する一連の処理について説明する。
ステレオ画像処理装置100が起動されると、左画像メモリ130及び右画像メモリ140には、図4に示すように、複数ライン分の左画像データ及び右画像データが夫々取り込まれる。右画像メモリ140に取り込まれた右画像データから、図5に示すように、ブロックマッチングを行う最大サイズのブロックによって区画される領域の右画像処理ブロックが切り出され、これが揮発性メモリに保持される。揮発性メモリに保持された右画像処理ブロックは、図6に示すように、左右方向の中央部に最小の有効画像領域が設定されるように両端部がマスクされ、これが揮発性メモリに保持される。一方、左画像メモリ130に取り込まれた左画像データから、図5に示すように、ブロックマッチングを行う最大サイズのブロックによって区画される領域の左画像処理ブロックが切り出される。左画像処理ブロックは、図6に示すように、左右方向の中央部に最小の有効画像領域が設定されるように両端部がマスクされる。そして、マスクされた左画像処理ブロックと右画像処理ブロックとがブロックマッチングされ、右画像処理ブロックに対する左画像処理ブロックの類似度を表すスコアが算出される。
ブロックマッチングが終了すると、図7に示すように、左画像のブロック位置が所定量だけ右方にずらされ、左画像メモリ130に取り込まれた左画像データから、ずらされたブロックによって区画される領域の左画像処理ブロックが切り出される。このとき、ブロックのサイズが大きければ、最小サイズのブロックによってブロックマッチングを行う手法と比較して、処理負荷を低減することができる。また、前回のブロックマッチングと同じラインの画像データを使用するため、左画像メモリ130及び右画像メモリ140に取り込み済みの画像データをそのまま利用することができる。左画像処理ブロックは、図6に示すように、左右方向の中央部に最小の有効画像領域が設定されるように両端部がマスクされる。そして、マスクされた左画像処理ブロックと右画像処理ブロックとがブロックマッチングされて、右画像処理ブロックに対する左画像処理ブロックの類似度を表すスコアが算出される。このとき、右画像処理ブロックは、前回の処理と同じであるので、揮発性メモリに保持されている右画像処理ブロックを使用することができる。
このような処理が逐次行われ、左画像のブロック位置を所定量だけ右方にずらした結果、左画像のブロックのずらし量が閾値Cに達するたびに、図11に示すように、左画像処理ブロック及び右画像処理ブロックをマスクするマスク量が順次減少される。そして、左画像処理ブロック及び右画像処理ブロックがマスクされ、有効画像領域が拡大した左画像処理ブロックと右画像処理ブロックとがブロックマッチングされて、右画像処理ブロックに対する左画像処理ブロックの類似度を表すスコアが算出される。このとき、右画像処理ブロックは、ブロック位置が変更されていないので、揮発性メモリに保持されている右画像処理ブロックをマスクすればよく、右画像メモリ140から画像データを読み込む時間を省くことができる。なお、左画像処理ブロック及び右画像処理ブロックをマスクするマスク量は、最終的に0となり、図13に示すように、左画像処理ブロック及び右画像処理ブロックの有効画像領域は、最大サイズのブロックサイズとなる。
そして、左画像のブロックのずらし量が閾値Aに達すると、左画像処理ブロックと右画像処理ブロックとのブロックマッチング結果が評価され、右画像処理ブロックに対応する左画像処理ブロックが求められ、右画像処理ブロックと左画像処理ブロックとの視差から物体までの距離が算出される。物体までの距離が算出されると、図10に示すように、右画像のブロック位置が最大サイズのブロックの幅だけ右方にずらされ、前述した手順によって、右画像処理ブロックに対応する左画像処理ブロックの探索が行われる。
右画像のブロック位置が右方に順次ずらされた結果、右画像の右端までブロックマッチングが行われると、左画像メモリ130及び右画像メモリ140には、図14に示すように、次の複数ライン分の左画像データ及び右画像データが夫々取り込まれる。そして、左画像メモリ130及び右画像メモリ140に取り込まれた画像データについて、最終ラインに達するまで、前述した処理が順次行われる。
従って、ブロックマッチングの進行状況に応じて、ブロックマッチングで使用するブロックのサイズが徐々に大きくなることで、遠くの物体の視差を算出する場合には、小さなブロックを使用し、近くの物体の視差を算出する場合には、大きなブロックを使用することとなる。このため、従来技術のようにステレオ画像から複数の縮小画像を生成しなくとも、物体の測距精度を確保でき、ステレオ画像における物体の視差を算出する処理負荷を低減することができる。
2ライン目以降のブロックマッチングでは、その前のラインの画像から状態が大きく変化していないことが多く、算出対象の視差も前のラインから大きく変化していないことが期待できる。このため、ブロックマッチングを行うブロックのサイズを固定とし、そのブロックによって区画される領域でブロックマッチングを行うようにしてもよい。このようにすることで、ブロックマッチング及びブロックサイズ変更の負荷が軽減し、高速化を図ることができる。この場合、隣接するブロック又はそれ以上離れたブロックに視差の正解値が移動している可能性があることを考慮し、隣接するブロック又はそれ以上離れたブロックもカバーできるように、ブロックサイズを変更してもよい。さらにこの場合、ブロックサイズを所定のサイズに変更してもよいし、正規化処理及びブロックサイズ変更処理を省くために、ブロックサイズを固定としてもよい。
ここで、画像処理ブロックの有効画像領域が最大でない場合、図15及び図16に示すように、視差の未探索領域が発生してしまう。この場合、未探索領域に応じたサイズのブロックを用いて、未探索領域の視差を探索するようにしてもよい。また、探索済領域や画像領域外にブロックがはみ出ることを許容して、未探索領域を中心としたブロックの最大サイズを規定し、そのブロックを用いてブロックマッチングを行うようにしてもよい。
さらに、このような状況が画像左端を除いて発生しないようにするため、探索済領域の次の探索領域の位置を、図17に示すように、最小サイズのブロックが探索済領域の右隣に隣接するようにし、ブロックサイズを拡大した場合に探索済領域と一部重複するようにしてもよい。この場合、視差に対応するブロックのサイズにかかわらず、最小ブロックのサイズで視差が算出されるという利点がある。
このような状況が画像左端でも発生しないようにするため、画像左端でのブロックの位置を、最小サイズのブロックが画像左端に接するようにし、ブロックサイズを拡大した場合に、ブロックの一部が画像領域外となることを許容することとしてもよい。この場合、画像領域外にはみ出る部分は、左右画像ともに同一の所定の輝度値、例えば、0であるとしておき、その領域がブロックマッチングで影響を及ぼさないようにする。
また、画像領域外の領域を含むブロックマッチングを行った結果を正規化する場合には、画像領域外の存在を考慮する処理を行う。その方法は、画像領域外となるブロックの領域の面積を有効面積から除外したり、ブロックサイズの変更点前後におけるスコアの比を正規化係数としたり、ブロックから一定数の画素を抽出してブロックマッチングを行う場合に、画素抽出を画像領域外から行わないようにしたりするなどがある。
この他には、例えば、正規化係数を単純なブロックサイズに比例した値とするのではなく、画像領域外を除いたブロックの面積に比例した値としてもよい。また、画像左端でのブロックの位置は、最大サイズのブロックが左端に接するようにするが、このようにしても画像左端に未探索領域が発生した場合には、この部分の視差を探索せずに無視するようにしてもよい。このようにすれば、未探索領域は比較的小さくかつ画像端であるため、影響が小さい領域の例外的な処理を考慮する必要がない。
さらに、左側の視差探索済領域に最大サイズのブロックが接するようにして視差探索を行った結果、視差探索済領域の間に未探索領域が発生した場合には、その部分の視差を探索せずに無視するようにしてもよい。このようにすれば、視差探索精度が若干低下するが、処理プロセスの単純化及び高速化を図ることができる。
[第2の実施例]
ステレオ画像処理装置100の基本構成は、第1の実施例と同一であるので、その説明は省略する。そして、以下の説明では、重複説明を排除する観点から、第1の実施例と異なる部分についてのみ説明する。
図1において、左画像ブロックマスク部170及び右画像ブロックマスク部180は、左画像処理ブロック及び右画像処理ブロックについて、図18に示すように、周縁部の領域をマスクし、上下左右中央部の領域を有効画像領域とする。そして、左画像ブロックマスク部170及び右画像ブロックマスク部180は、有効画像領域の中心及び縦横比を一定に保持しながら、マスク量を適宜変更し、図19に示すように、有効画像領域を順次拡大する。そして、第1の実施例と同様な手順を経て、ステレオ画像の物体までの距離が測距される。
なお、第2の実施例では、画像処理ブロックをマスクする領域を除き、作用・効果は第1の実施例と同様であるので、その説明は省略する。必要であれば、第1の実施例を参照されたい。
[第3の実施例]
ステレオ画像処理装置100の基本構成は、第1の実施例と同一であるので、その説明は省略する。そして、以下の説明では、重複説明を排除する観点から、第1の実施例と異なる部分についてのみ説明する。
あるブロックでの視差算出処理が終了したら、画像内の未処理のブロックへ移動して同様に視差算出処理を行う。ここで、視差算出処理が行われたブロックは、ブロックマッチングが合致したサイズのブロックとする。このようにすることで、大きな視差となったブロック、即ち、サイズが大きくなったブロックでは処理済領域が大きくなり、以降処理すべき未処理領域が少なくなる。
ここで、ブロックマッチングで使用するブロックのサイズ拡大により、既に視差探索を行っている領域が当該ブロックに含まれてしまうと、その領域については探索が二重に行われて無駄となる。このため、極力重複が発生ないように、探索順序を設定することが望ましい。例えば、ブロックのマスク範囲を周縁部とする場合には、画像左上から右方向に探索することを大まかな探索順序とする場合において、初期探索ブロックの位置は、マスクされた最小の有効画像領域の左上が画像左上に接するようにするのではなく、画像処理ブロックの左上が画像左上に接するようにする。このようにすることで、マスク量を徐々に小さくしながらブロックマッチングを行う過程において、ブロック内にそもそも有効画像領域が含まれないという状況を防ぐことができる。
あるブロックでの視差探索の終了後、次の視差探索を行うブロックを設定する場合にも、画像処理ブロックが視差探索終了領域に接するようにする。このようにすることで、マスク量を徐々に小さくしながらブロックマッチングを行う過程において、ブロック内に視差探索終了領域が含まれるという状況を防ぐことができる。
なお、このような処理を逐次行うと、最終的に画像処理ブロックより縦又は横又はその両方の寸法が小さい未処理領域が残ってしまう場合がある。この場合には、当該領域について、探索を行う際のブロックサイズの上限を探索済領域にかからないサイズとして探索を行ったり、図20に示すように、ブロックが探索済領域に重複したり画像範囲外にはみ出ることを許容して、通常のブロックと同様な方法で探索を行ってもよい。
この場合、画像領域外にはみ出る部分は、左右画像共に同一の所定の輝度、例えば、0であるとしておき、この領域の存在がブロックマッチングに影響を及ぼさないようにする。また、正規化処理では、第1の実施例と同様に、画像領域外の領域が存在することに対応した処理を行う。
周囲に存在する探索済領域のブロックサイズが互いに略同じである場合には、未探索領域の視差及び対応すべきブロックサイズもこれらと同等である可能性が高い。このため、未探索領域の縦又は横又はその両方が、未探索領域をはみ出ない範囲で、極力周囲のブロックサイズ相当の長さとなるようにし、当該ブロックのサイズで探索する範囲のずらし量のみ探索を行ってもよい。また、未探索領域のブロックサイズは固定のまま、ずらし量の全範囲で探索を行ってもよい。
ここまで説明したステレオ画像処理装置100では、右画像のブロックを固定し、左画像のブロックをずらしてブロックマッチングを行っていたが、左画像のブロックを固定し、右画像のブロックをずらしてブロックマッチングを行ってもよい。この場合、視差が発生する方向の関係上、右画像のブロックをずらす方向が逆になる。
また、ブロックマッチングを行う過程において、画像処理ブロックをマスクせずに有効画像領域を最大とし、視差最大となるブロックのずらし位置から、ずらし量0となる方向へ探索を行い、その過程でブロックマスク量を一段階増やすようにしてもよい。
さらに、正規化処理部220で正規化処理を行わず、マッチング処理部210において、正規化と同等の効果となる方法にてブロックマッチングを行うようにしてもよい。例えば、図21に示すように、SADを用いる場合、画像領域のサイズによらず、輝度差を比較する画素の数を一定とすればよい。従って、画像領域の中から一定数の画素を抽出し、この画素の集合に対してブロックマッチングを行う。なお、左画像ブロック設定部150及び右画像ブロック設定部160が、画像にブロックを設定するときに、ブロックサイズを予め縮小して画素抽出領域を設定するようにしてもよい。
また、ブロックマッチングを行う画像範囲は、画像処理ブロックをマスクによって規定する構成に限らず、左画像メモリ130及び右画像メモリ140から取り込む画像処理ブロックのサイズを変えることで規定するようにしてもよい。この場合には、画像処理ブロックをマスクする処理は不要となる。
100 ステレオ画像処理装置
110 左カメラ
120 右カメラ
150 左画像ブロック設定部
160 右画像ブロック設定部
170 左画像ブロックマスク部
180 右画像ブロックマスク部
210 マッチング処理部
220 正規化処理部
230 視差算出部
240 距離算出部

Claims (10)

  1. ステレオ画像を撮像する一対のカメラと、
    前記ステレオ画像からブロックマッチングにより物体の視差を算出する手段と、
    前記物体の視差から物体までの距離を算出する手段と、
    を有し、
    前記物体の視差を算出する手段は、前記ステレオ画像を所定サイズのブロックで分割し、各ブロックの画像をマスクすることで、ブロックマッチングの進行状況に応じて、前記ブロックマッチングで使用するブロックのサイズを変更する、
    ことを特徴とするステレオ画像処理装置。
  2. 前記物体の視差を算出する手段は、前記ステレオ画像のブロックマッチングの結果を前記ブロックのサイズに応じて正規化し、正規化されたブロックマッチングの結果から対応する画像を特定して視差を算出する、
    ことを特徴とする請求項1に記載のステレオ画像処理装置。
  3. 前記ブロックマッチングで使用するブロックのサイズは、前記ブロックマッチングが進行するにつれて大きくなる、
    ことを特徴とする請求項1又は請求項2に記載のステレオ画像処理装置。
  4. 前記ブロックのサイズは階段状に大きくなる、
    ことを特徴とする請求項3に記載のステレオ画像処理装置。
  5. 前記各ブロックの画像をマスクした領域は、前記マスク領域に応じたサイズのブロック、又は、前記画像の領域外にはみ出たブロックによりブロックマッチングされる、
    ことを特徴とする請求項3又は請求項4に記載のステレオ画像処理装置。
  6. ステレオ画像を撮像する一対のカメラを有するステレオ画像処理装置が、
    前記ステレオ画像からブロックマッチングにより物体の視差を算出する処理と、
    前記物体の視差から物体までの距離を算出する処理と、
    を実行するときに、
    前記ステレオ画像を所定サイズのブロックで分割し、各ブロックの画像をマスクすることで、前記ブロックマッチングの進行状況に応じて、前記ブロックマッチングで使用するブロックのサイズを変更する、
    ことを特徴とするステレオ画像処理方法。
  7. 前記ステレオ画像処理装置が、前記ステレオ画像のブロックマッチングの結果を前記ブロックのサイズに応じて正規化し、正規化されたブロックマッチングの結果から対応する画像を特定して視差を算出する、
    ことを特徴とする請求項6に記載のステレオ画像処理方法。
  8. 前記ブロックマッチングで使用するブロックのサイズは、前記ブロックマッチングが進行するにつれて大きくなる、
    ことを特徴とする請求項6又は請求項7に記載のステレオ画像処理方法。
  9. 前記ブロックのサイズは階段状に大きくなる、
    ことを特徴とする請求項8に記載のステレオ画像処理方法。
  10. 前記ステレオ画像処理装置が、前記各ブロックの画像をマスクした領域を、前記マスク領域に応じたサイズのブロック、又は、前記画像の領域外にはみ出たブロックでブロックマッチングする、
    ことを特徴とする請求項8又は請求項9に記載のステレオ画像処理方法。
JP2012237592A 2012-10-29 2012-10-29 ステレオ画像処理装置及びステレオ画像処理方法 Active JP5918684B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012237592A JP5918684B2 (ja) 2012-10-29 2012-10-29 ステレオ画像処理装置及びステレオ画像処理方法
PCT/JP2013/077418 WO2014069196A1 (ja) 2012-10-29 2013-10-09 ステレオ画像処理装置及びステレオ画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012237592A JP5918684B2 (ja) 2012-10-29 2012-10-29 ステレオ画像処理装置及びステレオ画像処理方法

Publications (3)

Publication Number Publication Date
JP2014089498A JP2014089498A (ja) 2014-05-15
JP2014089498A5 JP2014089498A5 (ja) 2014-06-26
JP5918684B2 true JP5918684B2 (ja) 2016-05-18

Family

ID=50627110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012237592A Active JP5918684B2 (ja) 2012-10-29 2012-10-29 ステレオ画像処理装置及びステレオ画像処理方法

Country Status (2)

Country Link
JP (1) JP5918684B2 (ja)
WO (1) WO2014069196A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101690645B1 (ko) * 2015-09-21 2016-12-29 경북대학교 산학협력단 다단계 시차영상 분할이 적용된 시차탐색범위 추정 방법 및 이를 이용한 스테레오 영상 정합장치
CN109643437B (zh) * 2016-08-23 2023-01-10 株式会社日立制作所 图像处理装置、立体照相机装置以及图像处理方法
KR102297147B1 (ko) * 2019-08-12 2021-09-03 고려대학교 산학협력단 어류의 시기능 평가를 위한 3차원 영상 분석 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3524826B2 (ja) * 1999-09-16 2004-05-10 日本電信電話株式会社 三次元画像処理方法、装置、および三次元画像処理プログラムを記録した記録媒体
JP4537597B2 (ja) * 2001-02-22 2010-09-01 オリンパス株式会社 視差量測定装置
JP2004234423A (ja) * 2003-01-31 2004-08-19 Seiko Epson Corp ステレオ画像処理方法およびステレオ画像処理装置、並びにステレオ画像処理プログラム
JP4550081B2 (ja) * 2007-03-27 2010-09-22 株式会社トプコン 画像測定方法
CN102859551A (zh) * 2011-04-07 2013-01-02 松下电器产业株式会社 图像处理装置及图像处理方法

Also Published As

Publication number Publication date
WO2014069196A1 (ja) 2014-05-08
JP2014089498A (ja) 2014-05-15

Similar Documents

Publication Publication Date Title
JP5870273B2 (ja) 物体検出装置、物体検出方法及びプログラム
JP6577565B2 (ja) 深度画像処理用の方法及び装置
JP4832227B2 (ja) 物体検出装置および物体検出方法
JP6158779B2 (ja) 画像処理装置
US20150367781A1 (en) Lane boundary estimation device and lane boundary estimation method
CN111314689B (zh) 识别影像中前景物件的方法与电子装置
JP4521235B2 (ja) 撮影画像の変化抽出装置及び方法
JP6035774B2 (ja) 画像処理装置、画像処理方法、及び車両
JP2011118509A (ja) 道路認識装置
JP6810009B2 (ja) 視差算出装置
JP5918684B2 (ja) ステレオ画像処理装置及びステレオ画像処理方法
JPH11351862A (ja) 前方車両検出方法及び装置
US10043106B2 (en) Corresponding point searching method and distance detection device
WO2020209046A1 (ja) 物体検出装置
JP2010224918A (ja) 環境認識装置
CN117253234B (zh) 扫描笔连续图像拼接方法、装置、介质及计算机设备
US10789489B2 (en) Vehicle exterior environment recognition apparatus
US10810757B2 (en) Vehicle exterior environment recognition apparatus
CN112069924A (zh) 车道线检测方法、装置及计算机可读存储介质
JP7058128B2 (ja) 情報処理装置およびプログラム
KR101229376B1 (ko) 렌즈 왜곡 보정에 사용된 보간 패턴 검출을 통한 촬영 카메라 식별 방법 및 장치
JP2009187138A (ja) 対応点探索装置
JP2015215235A (ja) 物体検出装置及び物体検出方法
JP5921596B2 (ja) 画像処理装置および画像処理方法
JP7322576B2 (ja) 情報処理装置、撮像装置および移動体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140305

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160408

R150 Certificate of patent or registration of utility model

Ref document number: 5918684

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250