JP6969738B2 - 物体検出装置及び方法 - Google Patents

物体検出装置及び方法 Download PDF

Info

Publication number
JP6969738B2
JP6969738B2 JP2017135100A JP2017135100A JP6969738B2 JP 6969738 B2 JP6969738 B2 JP 6969738B2 JP 2017135100 A JP2017135100 A JP 2017135100A JP 2017135100 A JP2017135100 A JP 2017135100A JP 6969738 B2 JP6969738 B2 JP 6969738B2
Authority
JP
Japan
Prior art keywords
image information
parallelization
conversion
stereo camera
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
JP2017135100A
Other languages
English (en)
Other versions
JP2019016308A (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.)
ZMP Inc
Original Assignee
ZMP Inc
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 ZMP Inc filed Critical ZMP Inc
Priority to JP2017135100A priority Critical patent/JP6969738B2/ja
Publication of JP2019016308A publication Critical patent/JP2019016308A/ja
Application granted granted Critical
Publication of JP6969738B2 publication Critical patent/JP6969738B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Analysis (AREA)

Description

本発明は、例えば、自動車の走行中に進行方向前方を撮像するステレオカメラ画像に基づいて、路面形状を取得して、車線,縁石,ガードレールや前走車,障害物等を検出したり、さらに屋内外を自律走行するロボットや、屋内外の3D物体検出を行うステレオ監視カメラシステム等において、特に路面や床面等の監視対象面の高さを凹凸も含めて精度良く検出するための物体検出装置及び方法に関するものである。
従来、例えばADAS(先進運転支援システム)や自動運転においては、自動車の走行中の進行方向前方の道路周辺の道路状況を把握するために、左右一対のカメラから成る所謂ステレオカメラで撮像したステレオカメラ画像を利用した種々の手法がある。
これらの手法によって、自動車の進行方向前方における路面形状そして道路状況を監視して、路面傾斜や車線,縁石,ガードレール等の路面形状や、前走車,駐車車両等の障害物等の物体を検出するようにしている。
前走車やガードレール等の障害物を検出するための手段として、特許文献1によれば、Stixelという手法が提案されている。
また、特許文献2によれば、ステレオカメラ画像を処理して、画像の縦方向の視差の頻度情報を求めたV−disparityなる情報を利用して、前方路面の傾斜を検出し、またステレオカメラ画像から横方向の視差の頻度情報を求めたU−disparityなる情報を利用して、前方障害物を検出する手法も提案されている。
これらの手法においても、左右のカメラの光軸が車両前方を向いた通常のステレオカメラを使用してステレオカメラ画像における視差情報に基づいて推定し、その平坦な部分とは異なる部分を前方障害物として検出すると共に、平坦な走行可能領域も検出している。この場合、路面の高さ位置が高精度かつ安定して検出できる限り、障害物の検出も安定して行なわれる。
一方、道路路面を1つの平面上にあると仮定して、推定した道路の傾きとカメラ高さなどのパラメータから、片側の(例えば左の)カメラ画像を仮想的な道路平面上に逆射影し、さらにそれを反対側の(例えば右の)カメラに射影して、元の(例えば左の)カメラの入力画像と比較することで、道路平面上の点は一致し、平面から上または下にずれている部分は一致しない。この性質を利用することで、道路平面上にあるかどうかがわかる。このような手法が特許文献3で提案されている。
さらに、最近では、車線,センターライン,路側帯等の白線がない道路であっても、道路を走行する自動車の道路外への逸脱防止のために、道路端の縁石を検出する必要性が高まっている。従って、路面そして道路外、即ち道路周辺の高さを正確に検出することが要求されている。
そして、前方障害物の検出に関しては、占有グリッドマップ(Occupancy Grid Map、以下「OGM」という)を用いて、視点から物体までの距離,高さ等の三次元(3D)情報を検出する物体検出方法が知られている。
US2011/0311108 A1号公報 特開2016−45891号公報 WO2006/123438 A1
特許文献3の手法では、道路路面が1つの平面上にあるという仮定を使ってステレオカメラの逆射影画像情報から道路平面上にある部分と、それ以外の部分の切り分けはできるが、平面上にない部分の高さを正確に求めることはできない。また、道路は一般に、部分的に凹凸やうねりがあり、必ずしも平面で近似されるとは限らない。そのため、安定して路面部分を切り出すことが難しい場合があった。
一方、特許文献1や2の場合は、通常のステレオ処理をベースとしている。この場合、図15に示すように、通常のステレオカメラ100においては、撮像対象として左右のカメラ101a,101bの光軸にほぼ垂直な面102を想定している。このような面102に対しては、どの位置に対してもほぼ同じ視差が得られる。
従って、ステレオカメラの視差計算のためのマッチング(対応づけ)アルゴリズムとして、よく使われているSAD(Sum of Absolute Difference)やSSD(Sum of Squared Difference)のブロック相関手法では、左右カメラ101a,101bの画像内のあるサイズのブロック内のすべての画素の明度値の微分情報などの差の絶対値や自乗の和を求めて、その最小値を与える視差を選んで、そこから三角測量の原理によって距離を求めている(ステレオ処理)。
その際、光軸に垂直な面に対しては、どの画素値に対しても明度値の微分情報などの差の絶対値は、同じ視差に対して最小値を持つ。なぜなら、カメラの主点(カメラ座標系の原点)位置からの距離が、垂直な面のどの点でも同じになるからである。
従って、前方車両の後部面がトラックやバスのように道路路面に対して垂直に近い面になっている場合には、上述した条件が当てはまり、前方車両後部面のどの位置でも同じ視差が得られるため、通常のステレオカメラは、視線方向を車両の前方に向けて、かつ水平に近いチルト角で搭載している。
これに対して、前述したように、図16のようにほぼ水平な路面を検出する場合には、検出したい路面103は、カメラ101a,101bの光軸とは垂直ではなく、むしろ平行に近い状態となる。その場合、上述したステレオカメラの特徴から、前向きの光軸が路面103に対して平行に近く設置したステレオカメラ100では、路面103の高さや距離を求める場合に、高い精度は期待できない。
なぜなら、ステレオカメラ100の視差を求める際のブロック内で、上下方向での異なる位置では、カメラ101a,101bからの距離が大きく異なるために、異なる視差を持つことになり、そのブロック内での平均値を取った際にそのブロックの路面に投影された形状によっては偏った距離(高さ)が求まることになるからである。
即ち、カメラの光軸に垂直な面102内のブロック領域では、どの部分でもカメラ101a,101bからの距離はほぼ同じであるため、ほぼ同じ視差が平均化され精度が向上する。
しかしながら、路面103上では視差は異なり、かつ、画像の上に行くに従って、指数関数的に距離が増大していくので、そのブロック全域にわたる視差の平均は、画像中央の距離よりも遠い位置に対する視差となるため、路面に対する距離は、実際の値よりも遠目に出てしまう。
例えば、図17(A)のような道路の画像内で、路面部分を長方形の領域で切り取ると、この部分は、上から見ると図17(B)のようになる。図17(B)の領域の中で、「浦安」において、下の「安」の部分は距離が近く、「浦」の部分は遠くなる。
そして、実際にステレオの視差を計算する場合には、図17(A)の枠内で計算するため、距離が近い部分と遠い部分が混在することから、異なる視差が含まれる。また、距離の変化は画像の上に行けば行くほど、非線形に急激に遠くなるため、図17(A)の枠内で距離を計算すると、この枠の中心における距離が求まるわけではなく、より遠い位置の距離が求まることになってしまう。図17(A)における枠のサイズはあくまでも説明のために設定したもので、実際のステレオカメラ画像処理の場合には、例えば11×11ピクセル程度の、より小さな領域が計算のためのブロックとして使用される。
また、夜間など、道路のテクスチャ情報が豊富でない場合には、実際の視差とかなり離れた位置に視差が求まったりする誤対応が発生しやすくなる。
現在一般的に使われているステレオカメラでは、ソフトウェアの処理によって左右カメラの光軸を平行化する処理を行っている。この平行化処理は、英語ではRectificationと呼ばれており、左右カメラの光軸を平行化する際に、キャリブレーションによって得られた左右レンズの各主点位置を通る線を新たなカメラの横方向の軸(X軸)とするが、平行化処理後の新しいカメラ座標系の前方の軸(Z軸)の向きは、このX軸に垂直でありさえすれば、任意に決めることができる。
通常は、画像の変形を最小にするために、元の画像に対してできるだけ同じ向きを持つように、平行化処理後の画像の光軸を決めるが、路面に対しては浅い角度で見ることになる。従って、前述のように、左右カメラのセンサ平面に対して路面がかなり傾いて位置することになるので、対応づけのブロック相関を取る際に、同じブロック領域内で上下方向で異なる視差を持つことになり、安定した視差が得にくくなり、距離を高精度で求めることが難しくなる。
本発明は、以上の点に鑑み、ステレオカメラ画像からチルト回転変換による平行化画像情報に基づいて、できるだけ少ない計算量で高速に、高精度で物体を検出できるようにした物体検出装置及び方法を提供することを目的としている。
本発明者は、前記左右レンズの主点位置を通る線を新たなX軸とし、それに垂直になるように、かつ、下方を向いたZ軸を選び、かつ、これらの新たなX軸、Z軸と垂直となるように新しいY軸を決定することで、左右ステレオカメラ画像のエピポーララインが平行となるような平行化条件が満たされ、あたかも上から見下ろしたような、俯瞰画像でありながら、ステレオ処理も同時に可能となる平行化画像が生成され、路面や床面などの監視対象面に対する距離(高さ)を高精度で求めるばかりでなく、路面上にある段差の高さも高精度で求めることが可能となることを見出し、本発明に想到した。
なお、この光軸を傾斜させてほぼ垂直にするレクティファイ処理は、あくまで仮想的にソフトウェアにより行なわれるので、元の画像即ちカメラを傾ける必要はないので、このような手法を、仮想チルトステレオ(Virtual Tilt Stereo)又はVTSと呼ぶことにする。
上記目的は、本発明の第一の構成によれば、路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置されたステレオカメラ画像情報を取得する左右一対の撮像手段と、撮像手段で取得されたステレオカメラ画像情報を平行化した平行化ステレオ俯瞰画像情報に基づいて、各対応点の視差を求めて、3D距離画像情報を生成する画像処理部と、画像処理部で取得された3D距離画像情報から監視対象面の物体を検出する物体検出部と、から成り、画像処理部が、左右一対の撮像手段で取得した左右画像にステレオカメラのキャリブレーション情報に基づく仮想的な下向きのチルト回転変換を施し、左右画像のエピポーララインが平行となるような平行化条件を満たす平行化変換処理によりステレオカメラ画像を生成し、該ステレオカメラ画像を座標変換により平行化ステレオ俯瞰画像情報に変換し、平行化ステレオ俯瞰画像情報における各対応点の視差から3D距離画像情報を生成し、物体検出部が、3D距離画像情報から路面又は床面の物体を検出することを特徴とする、物体検出装置により達成される。
上記構成において、画像処理部が、好ましくは、あらかじめ初期状態で求めておいた監視対象面に対するカメラの高さ・ピッチ・ロール角度情報から、3D距離画像情報から取得された3D座標値を監視対象面に平行な3D座標系へと変換する機能を有している。
上記構成によれば、撮像手段により撮像されたステレオカメラ画像情報が、下向きで路面や床面等の監視対象面を撮像したものであることから、従来のほぼ水平方向に向いて設置されたステレオカメラによるステレオカメラ画像情報と比較して、監視対象面により向き合うような画像情報とすることにより、さらに、この下向きのステレオカメラ画像情報を平行化変換処理した平行化画像情報に基づいて3D距離画像情報を生成するので、監視対象面に対して上から見下ろす俯瞰画像となるため、路面や床面に対する距離を高精度で求めることができる。
かくして、この構成によれば、通常のステレオ処理に比べて、前方路面・床面の高さおよび位置も安定かつ高精度に求めることができ、障害物検出を安定かつ容易にし、また縁石等の高さ方向の検出精度も向上させることができる。
上記目的は、本発明の第二の構成によれば、路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置されたステレオカメラ画像情報を取得する左右一対の撮像手段と、撮像手段で取得されたステレオカメラ画像情報を平行化し縦圧縮された平行化ステレオ俯瞰画像情報に基づいて、各対応点の視差を求めて、3D距離画像情報を生成する画像処理部と、画像処理部で取得された3D距離画像情報から監視対象面の物体を検出する物体検出部と、から成り、画像処理部が、左右一対の撮像手段で取得した左右画像にステレオカメラのキャリブレーション情報に基づく仮想的な下向きのチルト回転変換を施し、左右画像のエピポーララインが平行となるような平行化条件を満たす平行化変換処理によりステレオカメラ画像を生成し、該ステレオカメラ画像を座標変換により平行化ステレオ俯瞰画像情報に変換すると共にさらに縦圧縮処理、縦圧縮された平行化ステレオ俯瞰画像情報における各対応点の視差から3D距離画像情報を生成し、物体検出部が、3D距離画像情報から路面又は床面の物体を検出することを特徴とする、物体検出装置により、達成される。
上記構成において、画像処理部が、好ましくは、あらかじめ初期状態で求めておいた監視対象面に対するカメラの高さ・ピッチ・ロール角度情報から、3D距離画像情報から取得された3D座標値を監視対象面に平行な3D座標系へと変換する機能を有している。
上記構成によれば、チルト回転変換により生成された3D距離画像情報を使用することにより、路面や床面等の監視対象面に対する距離を高精度で求めることができると共に、チルト回転変換による3D距離画像情報が縦圧縮されることにより、特に監視対象面の遠い領域、即ち元々のカメラの画像中心に近い領域で、チルト回転変換により画素数が増大することを抑制して、チルト回転変換前の画像とほぼ同じ画素数とすることにより、その後、3D距離画像情報の処理速度の低下を抑制することができるので、ほぼリアルタイムで画像処理を行なうことが可能である。
上記目的は、本発明の第三の構成によれば、路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置されたステレオカメラ画像情報を取得する左右一対の撮像手段と、撮像手段で取得されたステレオカメラ画像情報を2通りの異なる平行化によって変換した平行化画像情報に基づいて、各対応点の視差を求めて、2通りの3D距離画像情報を生成する画像処理部と、から成り、平行化画像情報が、ステレオカメラのキャリブレーション情報に基づき、元々のカメラ光軸に近い向きで行なった第一の平行化変換と、仮想的に下向きのチルト回転変換を施した第二の平行化変換と、によってそれぞれ生成され、当該第一の平行化変換及び第二の平行化変換で取得した平行化画像情報に基づき、各対応点の視差から第一の平行化変換による第一の3D距離画像情報と、第二の平行化変換による第二の3D距離画像情報を生成し、路面・床面等に対して垂直な向きを持つ領域に対しては、第一の平行化変換で取得した第一の3D距離画像情報を用い、路面・床面等に対して平行な向きを持つ領域に対しては、第二の平行化変換で取得した第二の3D距離画像情報を用いることを特徴とする、物体検出装置により達成される。
この構成によれば、監視対象面に対して垂直な向きを持つ領域では、元々のカメラ光軸に近い向きへのチルト回転変換により生成された第一の3D距離画像情報を使用し、また監視対象面に対して平行な向きを持つ領域では、仮想的に下向きのチルト回転変換した画像情報に基づいて生成された第二の3D距離画像情報を使用することにより、それぞれの領域において、より高精度で路面や床面等の監視対象面に対する3D距離画像情報を得ることができると共に、監視対象面に対してほぼ垂直な向きを持つ領域では、通常のステレオ処理の持つ利点を発揮して、高精度な検出が可能である。
上記目的は、本発明の第四の構成によれば、路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置されたステレオカメラ画像情報を取得する左右一対の撮像手段と、撮像手段で取得されたステレオカメラ画像情報を2通りの異なる平行化によって変換した平行化画像情報に基づいて、各対応点の視差を求めて、2通りの3D距離画像情報を生成する画像処理部と、から成り、平行化画像情報が、ステレオカメラのキャリブレーション情報に基づき、元々のカメラ光軸に近い向きで行なった第一の平行化変換と、仮想的に下向きのチルト回転変換を施し、さらに縦圧縮を行なう第二の平行化変換と、によってそれぞれ生成され、当該第一の平行化変換及び第二の平行化変換で取得した平行化画像情報に基づき、各対応点の視差から第一の平行化変換による第一の3D距離画像情報と第二の平行化変換による第二の3D距離画像情報を生成し、監視対象面に対して垂直な向きを持つ領域に対しては第一の平行化変換で取得した第一の3D距離画像情報を用い、監視対象面に対して平行な向きを持つ領域に対しては、第二の平行化変換で取得した第二の3D距離画像情報を用いることを特徴とする、物体検出装置により達成される。
この構成によれば、監視対象面に対して垂直な向きを持つ領域では、元々のカメラ光軸に近い向きにより生成された第一の3D距離画像情報を使用し、また監視対象面に対して平行な向きを持つ領域では、仮想的に下向きのチルト回転変換を行い、さらに縦圧縮した平行化画像情報に基づいて生成された第二の3D距離画像情報を使用することにより、それぞれの領域において、より高精度で路面や床面等に対する3D距離画像情報を得ることができると共に、路面等に対してほぼ垂直な向きを持つ領域では、高精度に位置が求まり、且つ路面等に対してほぼ水平な向きを持つ領域では、縦圧縮により画素数が低減されるので、画像処理速度が向上し、全体として高速な画像処理が可能である。
本発明による物体検出装置は、好ましくは、画像処理部が、第一の3D距離画像情報と第二の3D距離画像情報を統合することにより、第一の3D距離画像情報を修正する。
この構成によれば、従来のようなステレオ処理された3D距離画像情報と、チルト回転変換した平行化画像情報に基づく3D距離画像情報とを統合して、3D距離画像情報を修正することにより、より高精度の3D距離画像情報を得ることができる。
上記目的は、本発明の第五の構成によれば、路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置された左右一対の撮像手段により撮像して、ステレオカメラ画像情報を取得する第一の段階と、第一段階で取得されたステレオカメラ画像情報を平行化した平行化ステレオ俯瞰画像情報に基づいて、各対応点の視差を求めて、3D距離画像情報を生成する第二の段階と、第二段階で取得された3D距離画像情報から監視対象面の物体を検出する第三の段階と、から成り、第二の段階にて、左右一対の撮像手段で取得した左右画像にステレオカメラのキャリブレーション情報に基づく仮想的な下向きのチルト回転変換を施し、左右画像のエピポーララインが平行となるような平行化条件を満たす平行化変換処理によりステレオカメラ画像を生成し、該ステレオカメラ画像を、座標変換により平行化ステレオ俯瞰画像情報に変換し、第二の段階にて、平行化ステレオ俯瞰画像情報における各対応点の視差から3D距離画像情報を生成し、第三の段階にて、3D距離画像情報から路面又は床面の物体を検出することを特徴とする、物体検出方法により達成される。
上記構成において、第二の段階にて、好ましくは、あらかじめ初期状態で求めておいた監視対象面に対するカメラの高さ・ピッチ・ロール角度情報から、3D距離画像情報から取得された3D座標値を監視対象面に平行な3D座標系へと変換する機能を有している。
また、上記目的は、本発明の第六の構成によれば、路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置された左右一対の撮像手段により撮像して、ステレオカメラ画像情報を取得する第一の段階と、第一段階で取得されたステレオカメラ画像情報を平行化し縦圧縮された平行化ステレオ俯瞰画像情報に基づいて、各対応点の視差を求めて、3D距離画像情報を生成する第二の段階と、第二段階で取得された3D距離画像情報から監視対象面の物体を検出する第三の段階と、から成り、第二の段階にて、左右一対の撮像手段で取得した左右画像にステレオカメラのキャリブレーション情報に基づく仮想的な下向きのチルト回転変換を施し、左右画像のエピポーララインが平行となるような平行化条件を満たす平行化変換処理によりステレオカメラ画像を生成し、該ステレオカメラ画像を、座標変換により平行化ステレオ俯瞰画像情報に変換する処理と、その後の該平行化ステレオ俯瞰画像情報の縦圧縮処理であって、第二の段階にて、縦圧縮された平行化ステレオ俯瞰画像情報における各対応点の視差から3D距離画像情報を生成し、第三の段階にて、3D距離画像情報から路面又は床面の物体を検出することを特徴とする、物体検出方法により達成され
上記構成において、好ましくは、第二の段階にて、あらかじめ初期状態で求めておいた監視対象面に対するカメラの高さ・ピッチ・ロール角度情報から、3D距離画像情報から取得された3D座標値を監視対象面に平行な3D座標系へと変換する機能を有している。
上記目的は、本発明の第七の構成によれば、路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置された左右一対の撮像手段により撮像して、ステレオカメラ画像情報を取得する第一の段階と、第一の段階で取得されたステレオカメラ画像情報を2通りの異なる平行化によって変換した平行化画像情報に基づいて、各対応点の視差を求めて、2通りの3D距離画像情報を生成する第二の段階と、から成り、平行化画像情報を、ステレオカメラのキャリブレーション情報に基づき、元々のカメラ光軸に近い向きで行なった第一の平行化変換と、仮想的に下向きのチルト回転変換を施した第二の平行化変換とによってそれぞれ生成し、当該第一の平行化変換及び第二の平行化変換で取得した平行化画像情報に基づき、各対応点の視差から第一の平行化変換による第一の3D距離画像情報と、第二の平行化変換による第二の3D距離画像情報を生成し、監視対象面に対して垂直な向きを持つ領域に対しては、第一の平行化変換で取得した第一の3D距離画像情報を用い、監視対象面に対して平行な向きを持つ領域に対しては、第二の平行化変換で取得した第二の3D距離画像情報を用いることを特徴とする、物体検出方法により達成される。
上記目的は、本発明の第八の構成によれば、路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置された左右一対の撮像手段により撮像して、ステレオカメラ画像情報を取得する第一の段階と、第一の段階で取得されたステレオカメラ画像情報を2通りの異なる平行化によって変換した平行化画像情報に基づいて、各対応点の視差を求めて、2通りの3D距離画像情報を生成する第二の段階と、から成り、平行化画像情報を、ステレオカメラのキャリブレーション情報に基づき、元々のカメラ光軸に近い向きで行なった第一の平行化変換と、仮想的に下向きのチルト回転変換を施し、さらに縦圧縮を行なう第二の平行化変換と、によってそれぞれ生成し、当該第一の平行化変換及び第二の平行化変換で取得した平行化画像情報に基づき、各対応点の視差から第一の平行化変換による第一の3D距離画像情報と、第二の平行化変換による第二の3D距離画像情報を生成し、監視対象面に対して垂直な向きを持つ領域に対しては、第一の平行化変換で取得した第一の3D距離画像情報を用い、監視対象面に対して平行な向きを持つ領域に対しては、第二の平行化変換で取得した第二の3D距離画像情報を用いることを特徴とする、物体検出方法により達成される。
本発明による物体検出方法は、好ましくは、第二の段階において、第一の3D距離画像情報と第二の3D距離画像情報を統合することにより、第一の3D距離画像情報を修正する。
これらの構成の物体検出方法によれば、上述した本発明による物体検出装置と同様にして、ステレオカメラ画像情報を平行化処理した平行化画像情報に基づいて、3D距離画像情報を生成すると共に、平行化画像情報が、仮想的な下向きのチルト回転変換を施した平行化変換処理により生成されるので、監視対象面に対してより垂直に近い角度を向くような俯瞰画像として3D距離画像情報を生成するので、監視対象面に対する距離を高精度で求めることができる。
このようにして、本発明によれば、ステレオカメラ画像からチルト回転変換した俯瞰画像に基づいて、さらに縦圧縮することにより、できるだけ少ない計算量で高速に且つリアルタイムに、高精度で物体を検出できるようにした物体検出装置及び方法を提供することができる。
本発明による物体検出装置の一実施形態の全体構成を示すブロック図である。 ステレオカメラによる三角測量を模式的に描いた説明図である。 レクティファイ(平行化)変換前後のステレオ写真の例を示す参考図である。 キャリブレーションのパラメータと縦圧縮用ルックアップテーブルを作成する処理を示すフローチャートである。 原画像から縦圧縮されたレクティファイ画像への処理を順次に示す図である。 レクティファイ画像を原画像に逆変換する処理を順次に示す図である。 道路を撮像したステレオカメラによる撮像画面を示す図である。 図7の撮像画面に対してチルト回転変換をし、かつレクティファイ変換後に縦圧縮した平行化ステレオ俯瞰画像を示す図である。 図7の撮像画面をチルト回転変換により平行化ステレオ俯瞰状態に変換したレクティファイ画像を示す図である。 双一次補間による変換後の画素の位置から画素の実数位置における画素値を求めるための説明図である。 VTSステレオ処理を連続的に行なうアルゴリズムを示すフローチャートである。 路面推定の処理を示すフローチャートである。 OGMの作成手順を示すフローチャートである。 連続した複数の画像フレームからなるシーケンスに対するトラッキング処理を示すフローチャートである。 従来のステレオカメラによる撮像状態を示す概略平面図である。 水平な路面を撮像する場合のステレオカメラによる撮像状態を示す概略側面図である。 ほぼ水平方向に光軸が向いたステレオカメラによる道路を撮像した参考図で、(A)は元の撮像画面を、(B)は枠内を上方から見た俯瞰状態の画像を示す。
以下、図面に示した実施形態に基づいて本発明を詳細に説明する。
図1は、本発明による物体検出装置の一実施形態の全体構成を示している。図1において、物体検出装置10は、物体を撮影する一対のカメラ即ち左カメラ11L及び右カメラ11Rからなるステレオカメラ11と、画像処理部20と物体検出部40と、を有している。本発明において、ステレオカメラ11で取得するのは、路面又は床面等の画像であるが、路面又は床面等を総称して監視対象面と呼ぶ。監視対象面は、自動車等の走行中の進行方向前方の路面、屋内外を自律走行するロボットの床面及び屋内外の3D物体検出を行うステレオ監視カメラシステム等で監視する面を意味している。以下の実施形態では、監視対象面は、車両に搭載したステレオカメラ11で監視する路面として説明する。
画像処理部20は、ステレオカメラ11の出力側に順次にカスケード接続された画像変換部21,視差算出部22,3D距離画像生成部としての距離・3D情報算出部23及び前方路面に合わせた傾き変換部25を有している。物体検出部40は、OGM生成部としてのOGM算出部26,ノイズ除去部27,ラベリング処理部28,検出物体情報の出力部29及びグローバルマップ表示部30を含んでいる。
これらの画像変換部21,視差算出部22,距離・3D情報算出部23,前方路面に合わせた傾き変換部25,OGM算出部26,ノイズ除去部27,ラベリング処理部28,検出物体情報の出力部29及びグローバルマップ表示部30は、例えばコンピュータ等の情報処理装置によって構成されている。
ステレオカメラ11は、左カメラ11Lによって左画像を取得し、右カメラ11Rによって右画像を取得する装置であり、この出力側に画像変換部21が接続されている。画像変換部21は、ステレオカメラ11からのステレオカメラ画像情報を歪補正及び平行化処理すると共に、平行化処理されたステレオカメラ画像情報を座標変換により俯瞰画像情報に変換し、さらに縦圧縮処理することにより縦圧縮されたステレオ俯瞰画像情報を作成するものであり、この出力側に視差算出部22が接続されている。
画像変換部21は、ステレオカメラ11から入力される左右のカメラ画像に基づいて、詳細に後述するように、歪補正処理,平行化処理,俯瞰画像への変換処理,縦圧縮処理して、縦圧縮されたステレオ俯瞰画像情報を生成する。
視差算出部22は、画像変換部21から入力される縦圧縮された俯瞰画像情報から画素毎の視差を求めるものであり、視差算出部22の出力側に距離・3D情報算出部23が接続されている。
距離・3D情報算出部23は、算出された視差から、物体までの距離と3D座標値即ち3D距離画像情報を求めるものであり、この出力側に、前方路面に合わせた傾き変換部25が接続されている。前方路面に合わせた傾き変換部25は、あらかじめ初期状態で求めておいた路面に対するカメラの高さ・ピッチ・ロール角度情報から、3D座標値を路面に平行な3D座標系へと変換する機能を有し、この出力側に、OGM算出部26が接続されている。
OGM算出部26は、第1OGMへの投票・閾値処理を行うものであり、変換された3D座標系において、ある条件を満たす3D点を路面に平行な2Dマップである第1OGM上に、予め決めた重みを掛けて投票し、得られた投票数から、第2占有グリッドマップ(Redundant Occupancy Grid Map、以下「ROGM」又は「第2OGM」という。)に対する投票値を求める。ROGMとは、従来のOGMを改良し、物体位置に関わらず、安定した物体検出を可能にする二次元マップであり、従来のOGMに対し、「冗長な」という意味のRedundantを加えた略語である。OGM算出部26では、更に、得られたROGMの投票値に対して、画像を2値化する機能を有している。このOGM算出部26の出力側には、ノイズ除去部27とラベリング処理部28が接続されている。
ノイズ除去部27とラベリング処理部28は、算出された2値のマップであるROGMに対して適切な回数の収縮・膨張処理を行い、処理された2値のROGMに対してラベリング処理を行い、更に、予め決めた幅、高さ等の大きさを満たす物体のみを抽出する機能を有し、この出力側に、検出物体情報の出力部29が接続されている。ここで、収縮・膨張処理はノイズ除去部27により、ラベリング処理は、ラベリング処理部28により行われる。
検出物体情報の出力部29は、抽出された物体に識別子(ID)、幅、高さ等の情報を付与して出力するものであり、この出力側に、グローバルマップ表示部30が接続されている。グローバルマップ表示部30は、出力部29の出力結果を表示画面に表示するものである。
以下、物体検出装置10によるVTSの処理は、概略的には、処理の前段階として、平行化(レクティファイ)変換を行なうためのキャリブレーションを行ない、その結果に基づいて、平行化変換(レクティファイ変換)を行なうための二次元ルックアップテーブルを作成する。画像の平行化は、レクティフィケーションとも通称され、又、レクティフィケーションをした画像を、レクティファイ画像と称する。この二次元ルックアップテーブルは、入力画像毎に作成するのではなく、例えば工場出荷前に作成しておき、固定パラメータとしてステレオカメラ11内のROM等に書き込んでおくことができる。これにより、平行化変換処理は、ステレオカメラ11からカメラ画像が入力される毎に、同じルックアップテーブルが利用され、処理が高速で行なわれる。
なお、キャリブレーション結果についても、同様に工場出荷前に作成され、同様にROM等に書き込まれる。
このようなルックアップテーブルは、従来のステレオカメラ11の画像のステレオ処理の際にも同様に工場出荷前に作成され、ステレオカメラ11のROM等に書き込まれているが、この場合には、後述するようにチルト回転変換も含む二次元ルックアップテーブルである点が、従来のものとは明らかに異なる点である。
上述した画像変換部21における各種処理、即ち平行化処理,歪補正及び縦圧縮処理について、それぞれ以下に詳細に説明する。
まず、ステレオカメラ11の左右のカメラ11L,11Rに関して、平行化処理の前処理として行なわれるキャリブレーションについて説明する。ここで、キャリブレーションとは、レクティファイのための変換式(レクティファイ変換の式)を求めることである。
一般に、カメラ座標系やキャリブレーションで使用される世界座標系の数学的な記号について説明する。
キャリブレーションを行なう際の三次元の世界座標系の座標を(X,Y,Z)で表す。この座標系は、ステレオカメラ11の左右カメラを含んだ空間を表すための座標系である。
次に、左カメラ11Lと右カメラ11Rのカメラ座標系を(X,Y,Z),(XR,YR,ZR)とする。このとき、回転行列R,RR、平行移動ベクトル t、tを用いて、これらの座標系を、次の式(1),式(2)のように関連づけることができる。ただし、R,Rは、3×3の行列であり、t,tは、3要素のベクトルである。
Figure 0006969738
次に、左右カメラ11の座標系と、それに対応する二次元画像座標系(x,y),(x,y)を関連づける。左カメラ11Lと右カメラ11Rの焦点距離をf,fとして、左右カメラ11に使われているセンサは同一のものとし、かつセンサの画素サイズを縦横同じサイズとして、uとする。このとき、左右カメラ11の各焦点距離を、それぞれ画素(pixel)単位で表すと、式(3),式(4)と書ける。
Figure 0006969738
そして、左右カメラ11をピンホールカメラとして近似したときの画像中心を(xLc,yLc),(xRc,yRc)とすると、左右カメラ11の内部パラメータ行列A,Aは、次の式(5),式(6)のようになる。
Figure 0006969738
この内部パラメータ行列を使って、左右カメラ11の3D座標(X,Y,Z),(X,Y,Z)とそれらに対応する二次元の画像座標(x,y),(x,y)との間には次の式(7),式(8)のような関係がある。
Figure 0006969738
ここで、s,sはパラメータ変数である。上記式(1),(2),(7),(8)より、世界座標から、各カメラの 二次元座標に変換する式は次の式(9),式(10)のようになる。
Figure 0006969738
次に、レクティファイ後の左右カメラ11の内部パラメータ行列を A’,A’とし、回転行列を R’,R’とすると、同様に、次の式(11),式(12)が得られる。
Figure 0006969738
一方、レンズの主点位置は、レクティファイの前後で変わらない。なぜなら、レクティファイ変換は、主点回りの回転か、スケール変換しかできないからである。そこで、世界座標系での左右カメラ11のレンズの主点位置をそれぞれc,cとすると、カメラ座標系の原点となるので、式(1),(2)より、式(13)が得られる。
また、式(9),(10)より、式(14),式(15)が得られる。
Figure 0006969738
これらを式(11),(12)に代入して、かつ、式(13)の関係を用いると、左右に対してそれぞれ、次の式(16),式(17)が得られる。
Figure 0006969738
ここで、式(18)とし、s’’=s’/s,s’’=s’/sとすると、上の式は、式(19),式(20)となる。
Figure 0006969738
そして、さらに式(21)とおくと、次のレクティファイ変換の式(22),式(23)が得られる。
Figure 0006969738
Figure 0006969738
以上から、仮想的に決めた任意の内部パラメータ行列 A’,A’と回転行列 R’,R’から、式(18),(21)によってレクティファイ変換行列TL,を求めて、それを式(22),(23)に適用することで、元の画像に対して、任意の回転、スケーリング変換を行なうことができる。その際、注意点として、これらの変換はあくまでも回転とスケーリングの変換に限定されるものであり、視点の平行移動を伴う変換を行なうことはできない。
したがって、式(22),(23)の変換によって、元の画像は、あたかも物理的に主点位置を中心として回転させたり、焦点距離を変えたのと同じように変換される。
このようにして、画像変換部21において、平行化処理におけるキャリブレーションが行なわれる。
次に、このようにして得られたレクティファイ変換の式を利用して、ステレオカメラ11の左右カメラ11の光軸を平行にする処理、即ち画像のレクティフィケーションの処理について説明する。
ここで、ステレオカメラ11による三角測量を行なうためには、単に左右カメラ11L,11Rの光軸を平行にするだけでなく、左右カメラ11L,11Rのセンサ面が、同一平面上に含まれることが必要である。
図2は、2つのカメラ(センサ)を用いたステレオカメラ11による三角測量を模式的に描いた図である。左下に左カメラ11Lのセンサ面があり、そのレンズの主点位置はCであり、右カメラ11Rの右センサのレンズの主点はCである。このステレオカメラ11の前方にある点Pまでの距離Lは、二つのレンズの主点を結んだ線を底辺とする三角形の高さになる。また、この三角形は左側と右側の二つの三角形に分離でき、それぞれの三角形は、左下と右下のセンサ面と主点と点Pを結ぶ直線と各レンズの光軸が作る三角形と相似の関係になっている。この相似の関係と主点間の距離Bと、レンズの焦点距離f及び点Pのセンサ面への投影点からセンサ面の中心(光軸との交点)までの距離x,xを使って、L=Bf/(x+x)と求めることができる。これが三角測量の原理である。
ここで、距離x,xは、向きを考慮せず、長さとして考えたため、上のような式になったが、軸の持つ方向に正負の符号をつけると、(x−x)という表現になり、視差ということになる。
上述の変換では、カメラ座標系の平行移動、つまり、主点位置をずらすことはできないので、上述したように、変換後の左右カメラ11のセンサ面が同一平面上に含まれるためには、左右カメラ11の主点同士を結んだ直線が、その平面と平行である必要がある。この条件が満たされていれば、つまり、二つの主点を結んだ直線と平行な平面上に、変換後の二つのセンサ平面があれば、二つのカメラ11の光軸は常に平行となり、かつ、それらの光軸とセンサ面は直交する。それに加えて、両センサの横方向(走査線)の向きが、両主点を結ぶ直線と平行であれば、エピポーララインは各センサの走査線と一致し、これによって、後で求める視差から三角測量の原理を使って、容易に距離を算出することが可能となる。
レクティファイ変換によって、元の画像はこのような状態の画像へと変換され、ステレオカメラ11の特徴である実世界の同一点を、二つの画像内で通る直線として結んだ線(エピポーラライン)が、左右のそれぞれの画像の走査線と一致するように変換される。
図3にその例を示す。図3の上の2枚の画像(a)、(b)は、レクティファイ変換前のステレオ画像であり、路面上のひし形の上の頂点は、二つの画像の同じ位置の走査線上にはない。右画像に引いた水平線は、ちょうどひし形の上の頂点を通っているが、左画像の同じ高さに引いた水平線はひし形の上の頂点の上側を通っている。
図3の下の2枚の画像(c)、(d)は、レクティファイ変換後のステレオ画像であり、ひし形の上の頂点を、左右画像上の同じ高さを通る走査線が通過している。レクティファイ変換後は、画像内のすべての実世界の同一点に対して、その点を通る左右の走査線は同じ高さとなる。
前述の主点を結んだ直線からレクティファイ変換を決めるやり方について、式を用いて詳細に説明する。式(13)より、左右カメラ11の主点位置の世界座標系での座標位置は、次式(24)、式(25)のように求まる。
Figure 0006969738
この主点位置から、左右カメラ11の横方向(X軸)の方向ベクトルuは、単位ベクトルとして、次の式(26)のように決まる。
Figure 0006969738
通常のステレオカメラ用のレクティファイでは、元の右カメラ11RのZ軸と新たに決めたX軸ベクトルuと直交する軸を新しいY軸として決めるが、VTSではチルトさせたZ軸を使う。
ここで、元の右カメラ11RのZ軸というのは、外部パラメータの回転行列の3番目の要素ベクトルになる。つまり、右カメラ11Rの回転行列RRを式(27)としたとき、Z軸の方向ベクトルは、(r31,32,33)である。
Figure 0006969738
本発明では、Z軸を下方向にチルトさせるので、次のように決める。チルト角をθとすると、X軸を中心とした回転は、次式(28)の回転行列で表される。
Figure 0006969738
前方路面を真上から見たかのようにするためには、ステレオカメラ11の取り付け角度に合わせてチルト角を決めればよいが、使用するコンピュータの能力に余裕がなく、チルト角をリアルタイムに変えて処理したくない場合には、固定したチルト角に設定する。また、VTSの効果をより高めるためには、車両に設置するステレオカメラ11の向きをあらかじめ下向きに傾けて設定した方が、路面に対してより深い角度で撮影できるので、より実質的な解像度を上げられる。この場合、チルト角は90度まで取る必要はなく、より小さな角度で済む。また、そのように傾けて設置しておくと、前方路面が縦に折れ曲がるように下っている場合でも90度以下の角度で、下がっている路面を真上から見下ろすように変換できる。
前記ベクトル(r31,32,33)に、この行列をかけてチルトさせたベクトルR(θ)(r31,32,33と、新しいX軸ベクトルuの外積を、式(29)に示す新しいY軸ベクトルuとする。ただし、ここで右肩の記号Tは、ベクトルに対する転置記号を示す。
Figure 0006969738
ここで、(r31,32,33)は回転行列の行ベクトルなので、単位ベクトルであり、回転変換をかけても長さは変わらないので、uも単位ベクトルである。古いZ軸を回転させたものは、新しいX軸と直交するとは限らないので、古いZ軸をチルトさせたものをそのまま新しいZ軸に使うことはできない。
そして、残ったZ軸は、新たなX軸とY軸に直交しなければいけないので、それぞれの単位方向ベクトルとの外積とする。つまり、式(30)とし、新しい回転行列を、次の式(31)、式(32)のように決める。
Figure 0006969738
Figure 0006969738
以上で求めたそれぞれの単位方向ベクトルを変換後の回転行列の各行ベクトルとする。また、内部パラメータ行列については、画像中心の座標値は、古いパラメータの平均値とし、焦点距離は、所望の値とする。VTS画像においては、元々の焦点距離を使うと、道路面を上から見下ろす角度に変換されたとき、路面が大きく拡大されるため、より広い範囲を対象とするためには、いくらか短い焦点距離にした方がよい場合がある。よって、左右の古い内部パラメータ行列AL,と新しい内部パラメータ行列 A’,A’を、式(33)〜式(36)と書いた場合に、新しい内部パラメータ行列を次のように決める。
Figure 0006969738
行列の第1行1列目の11成分と第2行2列目の22成分はpixelを単位とする焦点距離である。レクティファイ後のパラメータとして、ステレオカメラ11がレクティファイ後に出力する画像サイズを設計する過程で決まった望ましい焦点距離α’とする。それ以外は、古い内部パラメータ行列の平均値とする。ただし、左右もどちらも同じ値としなければならない。つまり、式(37)〜式(45)とする。
Figure 0006969738
次に、画像変換部21における歪補正について説明する。
実際のレンズでは、程度の差はあるが、ある程度の歪が存在する。歪は、レンズのいくつかの収差のうちの歪曲収差を指す。歪曲収差の補正については、1970年代から研究が行われてほぼ完成しており、公知の手法を使用して、以下に歪補正について説明する。
この歪補正は、入力画像から、式(7),(8)の歪のないカメラ画像へと変換することを指している。入力画像のx,y座標をそれぞれ式(46)及び式(47)の第1項とすると、次の式(46)〜式(50)のように変換される。左右カメラ11の補正後の座標を、それぞれ(x,y)とする。
Figure 0006969738
理論上は、式(46,47)のr,r,rよりも、より高次の項も無限に存在するのだが、実用上は、この次数までで十分と判断して、この項までの計算にとどめている。これらの変換を、左右の二次元座標(x,y),(x,y)へと適用する。歪パラメータであるK,K,K,x,yは、左右別々に存在し、それらのパラメータは、歪補正キャリブレーションによって求める。その求め方は、例えば公知の所謂プラムライン法などを用いる。入力画像から、歪補正を行った画像を作り出すためには、双一次補間等の公知の手法を用いればよい。
ここで、上述したキャリブレーションの手順により、レクティファイ行列およびY座標に対する縦圧縮用のルックアップテーブルは、図4のフローチャートを参照して、以下のようにして求められる。
即ち、カメラ用のキャリブレーション手法に従って、内部パラメータと二つのカメラ間の外部パラメータを求める。
まず、ステップST1にて、ステレオカメラ11により、例えばチェッカーパターンボードを撮影し、ステップST2にて、撮影した画像から、このチェッカーパターンの白黒境界の線を求め、それから前述のプラムライン法に従って、左右レンズの歪補正パラメータを求めて、入力画像の歪補正を行う。
次に、ステップST3にて、公知の手法、例えばTsaiのキャリブレーション等によって、ステレオカメラ11の内部パラメータと外部パラメータを算出する。内部パラメータは式(5),(6)で定義されるA,Aであり、外部パラメータは、式(1),(2)で定義されるR,R,t、tである。
続いて、ステップST4にて、上記外部パラメータを用いて、2つのカメラ11L,11Rの主点位置を式(24),(25)より求めて、ステップST5にて、左カメラ11Lの主点位置から右カメラ11Rの主点位置に伸ばした直線を、レクティファイ後の左右のカメラ座標系のX軸上の直線とする。つまり、左カメラ11Lの主点位置から右カメラ11Rの主点位置への方向ベクトルを正規化したものを、新しいカメラ座標系のX軸の単位ベクトルとする。これは、式(26)を計算することで行われる。
その後、ステップST6にて、VTSによって新たに仮想的にチルトした後の光軸方向を決める。この方向は、元々のカメラの光軸、つまりZ軸をX軸を中心として回転させる角度θによって決まる。この古いZ軸の方向ベクトルをチルト方向に回転させたベクトルと、上で決めたX軸の単位ベクトルとの外積を新しいY軸とする(式(29))。このとき、新しいY軸は、新しいX軸と直交する。
また、ステップST7にて、新しいZ軸は、新しいX軸と新しいY軸と共に直交座標系を構成するように、新しいX軸と新しいY軸に直交する単位ベクトルとして外積によって計算される(式(30)参照)。
次に、ステップST8にて、以上のように求めた新しいX軸、Y軸、Z軸の単位ベクトルによって新しい座標系が決まり、これらを元に新しい外部パラメータの回転行列R’L, R’Rを決める(式(31),(32)参照)。
そして、ステップST9にて、新しい左右の内部パラメータ行列は、焦点距離以外は左右の古い内部パラメータ行列A,Aの平均値とし、焦点距離はレクティファイ後の所望の画像サイズ等から決めた新しい焦点距離α’となるように決める(式(37)〜(45)参照)。ここで、新しい内部パラメータ行列A’,A’は、左右で同じものとなる。
その後、ステップST10にて、求めたR,R,A’,A’,R’,R,’,A’を式(18),(21)に適用して、レクティファイ行列TL,を求める。
最後に、ステップST11にて、歪補正後のカメラ画像の中央の軸上の(x,y)座標に対して、レクティファイ行列Tを適用して、レクティファイ変換後のy座標を、圧縮変換用のルックアップテーブルに登録する。
このようにして、レクティファイ行列による座標変換によって、元の画像情報から双一次補間等を使用して、俯瞰画像情報が作成される。
次に、このようにして作成された俯瞰画像情報を縦圧縮する処理について説明する。
俯瞰画像情報が表す俯瞰画像は、前記のレクティファイ変換行列によって、元の画像から双一次補間などを使って作成できる。しかし、このままでは画像サイズが膨大になるため、レクティファイ変換行列によって、いったん求めた座標位置(x,y)について以下のように処理する。
即ち、片側、例えば右側の画像に対するレクティファイ変換行列を用いて、元の画像の横方向の画像の中心位置xと、各Y座標値を俯瞰画像の座標位置へと変換する。その際のY座標値を元の画像のy座標に対応させて記録しておく。
縦圧縮処理のためには、キャリブレーションで作成したレクティファイ変換行列T,Tのどちらか一方を用いる。
通常、ステレオカメラ11は、どちらかのカメラ11Lまたは11Rをベースカメラとして選択する。これは、人間が両眼立体視をしている際に、どちらかの目を利き目として使っているのと同じである。基本的に、どちらのカメラ11Lまたは11Rをベースカメラとして使ってもいいが、ここでは説明のために、右カメラ11Rをベースカメラ(利き目)として扱う。
ステレオカメラ11における利き目は、三角測量時に用いるカメラ座標系の違いに主に影響するが、ここでの圧縮用のルックアップテーブルでも左右共通の変換とする必要があるので、便宜上右側のカメラを利き目とする。従って、レクティファイ変換行列Tを使って、画像の縦方向の位置の圧縮後の位置を計算する。
入力画像の縦横のサイズをw,hとする。例えばカメラの画像サイズがVGAであれば、w=640,h=480となる。上で求めたレクティファイ変換行列では、元の画像が、上から見下ろしたような俯瞰画像へと変換され、特に縦方向の位置は元の画像の範囲を大幅に超えた位置となる。このため、縦方向の位置を圧縮する。縦方向圧縮のための変換処理としては、種々の非線形的な変換があるが、最も合理的には、元の画像の解像度をなるべく有効に活用する変換方法が望ましい。すなわち、元の画像上で、下方領域では、おそらく直前の路面を見ていることが多いため、レクティファイ後の解像度は他の部分に比べて高いものになるが、上方になるにつれて、地平線の方を見ることになり、元の画像では、小さな点となるため、上から見下ろした画像になるレクティファイ後の俯瞰画像は、遠方の点が引き伸ばされたようになり、解像度としては低く、粗い画像となる。よって、下の方は細かく、上の方は粗くするような圧縮が望ましい。
このような縦圧縮処理を最も自然に行うやり方は、元の画像の縦方向の位置に合わせた場所に、レクティファイ後の画素情報を置くことである。これにより、元の画像の画素密度に合わせて、レクティファイ後の俯瞰画像の画素が配置され、元の画像の取り込み密度と同等の密度で、レクティファイ後の画像が配置される。
他方、横方向の位置については、ステレオカメラ11の視差を計算するために、レクティファイ後の画像位置をそのまま使う必要がある。なぜなら、ステレオの対応づけを行う際に、通常のステレオと同じように、縦方向と横方向の両方に対して、あるサイズのブロックの中での相関計算を行うために、縦も横も、同じ距離に対して同じ視差を持つためには、横方向のスケールは縦方向の位置の変化に対して極力同じスケールを保つことが望まれるからである。
そのため、圧縮は縦方向のみに行う必要があり、横方向の位置は、レクティファイ後の画像位置をそのまま使う。
このようにして、VTS用の縦方向に圧縮したレクティファイのために、以下のように圧縮用のルックアップテーブルを作成する。
縦方向に圧縮するルックアップテーブルの作成手順は、以下の通りである。
まず、レクティファイ行列TRを計算しておく。
続いて、元の画像において、x座標については水平方向の中心位置とし、y座標は、一番上の行から始めて一番下の行まで変化させながら、その(x,y)にレクティファイ行列を適用し、得られたy座標を、元のy座標に対応づけて圧縮変換用のルックアップテーブルに登録する。歪補正を行った後でレクティファイする前の画像の座標(x,y)に対して、レクティファイ変換して得た座標 (x’,y’)のy’の値を、右画像の圧縮変換用のルックアップテーブル CTR(y)に代入する。つまり、式(51)から求めたy’を式(52)として登録する。
Figure 0006969738
Figure 0006969738
次に、画像変換部21における縦圧縮した俯瞰画像情報に対するレクティファイ処理について説明する。このレクティファイ処理は、元の画像から、左右画像のエピポーララインが揃ったレクティファイをされ、かつ、上から見下ろしたような俯瞰画像を縦方向に圧縮した画像を作る処理のことを指している。この処理を行うためには、作成される圧縮画像のサイズを決めて、そのサイズに対応した二次元の縦横位置それぞれに対応する原画像の位置を、前記レクティファイ変換行列および、圧縮のためのY座標の変換テーブルを用いて求める。
以下では、実際のレクティファイ処理(画像変換処理)に用いるための二次元変換ルックアップテーブルを作る処理について述べる。
上述した画像の変換は、図5に示すように、原画像を歪補正して、歪補正された画像を、俯瞰画像を作り出すレクティファイ変換によりレクティファイ画像を得て、さらに縦方向に圧縮することにより、最終的なVTSのレクティファイ画像を得るためのものである。
しかしながら、このような画像をプログラムを使って作り出すためには、逆方向から元の画像位置での明度値を突き止めて、それを使って、新しく作られる画素値を決めるための内挿を行わなければならない。これは、上述した画像の変換とは異なり、図5とは逆の順番の図6に示すようになる。即ち、縦圧縮されたVTSのレクティファイ画像の座標位置(整数)から縦圧縮の逆変換を行ない、さらにレクティファイ変換の逆変換及び歪補正の逆変換を行なって、原画像の座標位置(整数)を求める。
図7は道路を撮像したステレオカメラによる撮像画面を示す図であり、図8は図7の撮像画面に対してチルト回転変換をし、かつレクティファイ変換後に縦圧縮処理されたレクティファイ画像を示す図であり、図9は、図7の撮像画面をチルト回転変換により平行化ステレオ俯瞰状態に変換したレクティファイ画像を示す図である。即ち、レクティファイ処理後に縦圧縮処理された画像は、図8のように、見た目は、歪んだ奇妙な画像ではあるが、画素間の連続性は保たれている。例えば、図8の路面上の中央の直進と左折を示すマークの部分を見ると、その部分は写真のように見える。つまり、滑らかな連続した画像として作らなければならない。
一方、先進運転システム(ADASとも呼ぶ)や自動運転等で、数十メートルにも及ぶ範囲に対してこのような俯瞰画像変換処理を適用する場合、例えば図7に示すステレオカメラ画像は、仮想的に90度近いチルト角で回転させて俯瞰画像に変換すると、図9に示すように、道路上の白い区分線(車線)は、ほぼ同じ幅で前方に向かって延びているが、右斜め前方の車は、極端に広い広角レンズで撮影したときと同等の、非常に大きな射影歪により、大きく変形してしまっている。
また、このような俯瞰画像においては、直近から遠方までに亘って路面を作成することになるため、元のステレオカメラ画像に対して非常に大きな画面サイズになると共に、画面上の各ブロック相関の計算量も膨大なものとなり、計算に要する時間が長くなってしまい、リアルタイムに処理することが困難になってしまう。
さらに、遠方の領域における俯瞰画像は、元のステレオカメラ画像を非常に拡大した粗い画像となっており、そのような画像に対してステレオ処理を行なっても、精度の良い視差及び距離を求めることは困難であると共に、いたずらに計算すべきデータ量が増大するだけである。
図8に示すレクティファイ処理をされた画像を取得するためには、変換後の画像位置(整数位置)が、変換前の画像のどの位置にあるかを実数(浮動小数点)で対応づけ、その実数位置を囲む4つの整数位置の画素の値から、その内部にある実数位置での画素の近似値を求めて、変換後の画像の画素値を作らなければならない。これにより、生成された変換後の画像の各画素は、整数位置ではあるが、生成された画素値は、元々は、その整数位置に変換された元の画像の実数位置の周囲の4つの整数位置の画素値で近似するため、カクカクした折れ線のような画像とはならずに、スムーズな画像として生成できる。これは、例えば双一次補間の手法により行なわれる。より高精度な補間の手法もあるが、この双一次補間は、比較的少ない計算量で精度の良い近似が可能である。
以下、双一次補間を使った画素値の近似について簡単に説明する。当然ではあるが、変換後の画像の画素は、整数位置での画素値でなければならない。例えば640掛ける(×)480画像の場合は、左上から(0,0),(1,0),(2,0),...,(639,0),(0,1),(1,1),..., (639,1),(0,2),..,(639,479)のように整数位置にある画素の値が並んでいる。
しかし、変換自体は必ずしも整数位置に変換されるわけではない。そこで、最終的な変換後は整数位置にする必要があるので、最終変換後の画像の整数座標位置にレクティファイの逆変換を行い、元の画像の実数位置を求める。その実数位置は、図10のように四つの整数位置画素に囲まれている。
図10において、4つの黒い格子点は整数位置にある画素を示し、それらに囲まれた黒い点が、前記の変換前の実数位置とする。そして、4つの格子点位置の画素値を、左上から時計回りに、ν,ν,ν,νとする。そして、中にある実数位置における求めたい画素値をνとする。そして、左上のνの格子点位置から、νの格子点位置までの横方向の距離をt, 縦方向の距離をuとするとき、νpの値は、双一次補間によって次式(53)のように表される。ただし、画素間の距離は1とする。
Figure 0006969738
以上から、レクティファイ変換行列が与えられた下で、最終画像を作るための二次元ルックアップテーブルは、以下の手順で作られる。これは右画像のためのものであるが、左画像も同様に行われる。
即ち、縦方向に圧縮するVTSレクティファイ用二次元ルックアップテーブルの作成手順は、以下の通りである。
まず、レクティファイ行列Tの逆行列(T−1を求める。次に、作成する(レクティファイ後の)画像の左上の位置から、右方向に走査し、その行の端まで走査したら、次下の行に移って、以下の手順を繰り返す。画像の最初の座標位置は、(0,0)とする。
続いて、現在の位置(x,y)に対して、縦方向に圧縮するためのルックアップテーブルCTR()を用いて、yを決める。つまり、 CTR(y)とする。
その後、(xi, y)に対して、レクティファイ変換の逆行列をかけて、レクティファイ変換前の位置(x’,y’)を求める。レクティファイ変換前の画像位置は、歪補正のない画像に対応した画像位置となり、以下の式(54)で表される。
Figure 0006969738
次に、この画像は歪んでいるので、歪補正パラメータを使って、歪んでない画像位置から歪んだ画像位置へと逆変換する。この際に、キャリブレーションで求めた歪補正パラメータ:(x,y),K,K,Kを使って歪んだ位置を求める。式(46)〜(50)に対して、例えばNewton-Raphson法によって、歪んだ後の入力画像の座標に対応する式(50)のrを求め、それから式(46),(47)より、元の歪んだ画像の位置 (x,y)を求めて、その位置をレクティファイ変換用の二次元ルックアップテーブルに代入して、二次元ルックアップテーブルとして式(55)が得られる。ただし、ここでC2DR(x,y)はベクトルである。
Figure 0006969738
以上の手順によって、縦方向に圧縮された俯瞰画像のためのレクティファイ用二次元ルックアップテーブルが作成される。このルックアップテーブルによって最終画像の各画素位置に対する元の画像の実数画素位置が与えられ、その実数画素位置に対して前述の双一次補間を使って、例えば図7のような画像から図8のような縦方向に圧縮された画像が生成される。
次に、VTSのステレオアルゴリズムについて説明する。
まず、このステレオアルゴリズムにおける視差からカメラ座標系の3D座標を求める部分と、求めた3D座標を車体座標系の3D座標に変換する部分と、を説明する。
まず、サブピクセルで求めた視差から、カメラ座標系の3D座標を求めるやり方を以下に記す。VTSで注意すべきことは、通常のステレオ処理とは異なり、得られる結果が、指定したチルト角度で下を向いているため、元々のカメラ座標系を、チルト方向に回転させた座標系となっている点である。
ここでは、元々の三次元カメラ座標系を以下のように取る。即ち、カメラのセンサ面の右手方向をX座標とし、下向き方向をY座標とし、光軸の前向き方向をZ軸とする右手座標系とする。
これに対して、VTSの場合は、この座標系を90度に近い角度だけチルト(前記X軸を中心として下向きに回転)させているので、X軸は変わらないが、Y軸は下向きではなく後ろ向きとなり、Z軸はカメラの下向きとなる。
焦点距離をピクセル単位で表したものをα(式(3)のαR)とし、画像の中心位置(主点とセンサ面との交点)を(xc,yc),ベースライン長(基線長)をB,視差をdとし、右画像の画像座標を(x,y’)とする。正しい3D位置を算出するためには、縦圧縮された画像座標位置を、圧縮されていない俯瞰画像座標位置へと戻して、それから計算する必要がある。x軸については圧縮されていないので、そのまま使用するが、y軸については圧縮されているので、圧縮されていないy座標値に戻さなければならない。あらかじめ作成しておいた縦圧縮用ルックアップテーブルCTR()を使って、今のy座標値であるy’から、圧縮されていないyをy=CTR(y’)として求める。このyと、xおよびそれ以外の前記パラメータの値を次の式(56)〜式(58)に代入して、3D座標位置を算出する。
Figure 0006969738
次に、カメラ座標系で得た3D座標を、カメラを搭載した自動車等の車両座標系の3D座標に変換するためには、以下のように回転変換を行う必要がある。VTSのチルト角度と実際にカメラを下向きに取り付けた角度との和をθ、車体座標系を(Xv,Yv,Zv)とすると、式(28)の回転行列と平行移動ベクトルtを使って、次式(59)のように表される。
Figure 0006969738
ただし、tは、カメラ座標系の原点から車体座標系の原点までの移動ベクトルである。
以上から、カメラから画像を入力して、リアルタイムにVTSステレオ処理をし続けるアルゴリズムの手順を、図11のフローチャートを参照して以下に記す。
図11のフローチャートにおいて、まずステップST11にて、画像処理部20は、前もって作成してあるVTS縦圧縮レクティファイ用の二次元ルックアップテーブルを読み込む。
続いて、画像変換部21は、ステップST12にて、ステレオカメラ11から入力される左右画像をキャプチャする。
次に、画像変換部21は、ステップST13にて、二次元レクティファイ用ルックアップテーブルを使って、双一次補間によって入力画像を変換する。これにより、左右画像は歪補正され、レクティファイされ、かつ縦方向に圧縮されることにより、縦圧縮されたステレオ俯瞰画像情報が作成される。
その後、視差算出部22は、ステップST14にて、左右画像の横方向の微分画像を求める。これは、左右の対応づけと縦方向のエッジ情報を抽出するためである。
続いて、視差算出部22は、ステップST15にて、左右画像の微分画像に対して、あらかじめ決めた領域に対してあらかじめ決めたサイズのブロックでSAD(Sum of Absolute Difference)を求める。
次に、視差算出部22は、ステップST16にて、各ブロック毎にSADの値を最小にする視差を求めて、視差情報(画像)としてメモリに蓄える。
続いて、視差算出部22は、ステップST17にて、得られた視差情報からサブピクセルの視差を求め、距離・3D情報算出部23は、ステップST18にて、y座標は、縦圧縮用のルックアップテーブルCTR()によって変換した値を用いて、かつ、式(56)〜(58)に従って、カメラの内部パラメータを使用して、カメラ座標系での3D位置を計算する。
そして、前方路面に合わせた傾き変換部25は、ステップST19にて、カメラ座標系の3D位置を式(59)により車体座標系の3D位置に変換して、OGM算出部26に出力する。
その後、画像処理部20は、ステップST20にて、終了コマンドが出ていれば終了し、出ていなければ、ステップST12に戻って、ステップST12〜19の処理を繰り返す。
ここで、視差算出部22において、右側のレクティファイ画像の横方向の微分画像を基準として左側の同じ画像との間のSADを計算し、その最小値を視差として求めているが、この際に、左側の同微分画像を基準として、右側の同画像との間のSADを計算して、その最小値を左側画像を基準とする視差として求め、前記右側画像を基準として求めた視差値と一致する部分だけを確実な対応点が得られたとして出力し、そうでないものは、確実ではないとして除外することによって、ステレオ対応付けの信頼性を上げる手法を使ってもよい。これは公知の手法として知られている。
このようにして、画像処理部20において、VTSにより算出された3D位置情報は、続いてOGM算出部26において以下のように処理される。
即ち、VTSによって路面の高さの精度が上がったために、相対的な高さの変化を利用して投票を行うことが可能である。以下では、その手法について説明する。
まず、ステレオカメラ11を搭載した車両を平坦な路面に停車させる。車両を停車させた状態で、前方路面上に障害物が何もない状態で、画像をキャプチャする。その画像に対して、VTSのステレオ処理を行い、画像の下側の路面だけが写っている領域にROIを指定して、その位置に対応する3D情報から、前方路面の傾きと高さを推定する。ROIとは、Region of Interestの略で、何等かの画像処理を行う部分的な対象領域を示す用語である。ここでは、画像内の左上と右下の座標位置で特定される矩形領域とする。
ここで、公知の平面推定の方法を適用することにより、平面上にあると思われるポイントクラウドを平面で近似したときの平面の法線ベクトルは以下の手順で求まる。なお、ポイントクラウドとは、3次元空間内の点の集合を指す。
即ち、路面推定は、図12のフローチャートを参照して、以下のようにして決まる。
まず、ステップST21にて、縦圧縮された平行化処理画像(VTS画像)内で、前方路面のみを含む領域をROIとして設定する。
続いて、ステップST22にて、ROI内の全ての画素に対応する3D点、即ちn個の車体座標系の3D点 p,i=1,・・・,nの平均値(重心)qを次式(60)のように求める。
Figure 0006969738
そして、ステップST23にて、この重心とp,i=1,・・・,nに対し、次式(61)で表される分散共分散行列の最小固有値に対する固有ベクトルが、推定平面の法線ベクトルとなる。この固有値問題は、公知の固有値問題の解法を使って解くことができる。
Figure 0006969738
続いて、ステップST24にて、得られた法線ベクトルから、車体座標系に対して、どれだけ傾いているかを求める。まず、X軸に対してどれだけ傾いているかを求めるために、X軸の単位方向ベクトル(1,0,0)と推定された平面の単位法線ベクトルとのなす角を求める。法線ベクトルを (ν,ν,νz)とすると、X軸の方向ベクトルとのなす角度θのcosと二つのベクトルの内積との間には次の式(62)の関係がある。
Figure 0006969738
即ち、角度θは、次式63により表される。これは、ピッチ角となる。
Figure 0006969738
同様に、ロール角φは、車体座標系のY軸のベクトルと、平面の法線ベクトルの関係から求まり、角度φは、式(64)で表される。
Figure 0006969738
以上から、カメラに対する路面の傾きがわかる。
そして、ステップST25にて、高さは、平面の方程式である式(65)に法線ベクトルと、前記重心ベクトル q=(q,q,q)を代入して求まるdの負の値となる。
以上から、車体の静止状態でのカメラと路面間の角度と高さが求まり、これを元に車両の走行中のOGMのマップの基準となる平面を決定する。
Figure 0006969738
以上から、車体の静止状態でのカメラと路面間の角度と高さが求まり、これを元に車両の走行中のOGMのマップの基準となる平面を決定する。
以下、物体検出方法におけるOGMへの投票に関して、幾つかの手法を説明する。
第一の手法は、ステレオカメラ11で撮影した物体の左右カメラ11の画像から画素毎に視差を求めて、三次元点群データから成る3D距離画像情報を生成し、この三次元点群データを、グリッド状の複数のセルが二次元面に配置された二次元マップに投票することにより、第一占有グリッドマップ(OGM)を生成して、このOGMを用いて前記物体の三次元情報を検出する物体検出方法において、投票の際に、3D距離画像情報のうち、各画素位置にて前方方向の変化分の絶対値で、上方向の変化分を除算した値が、あるしきい値よりも大きい場合に、投票を行なう物体検出方法である。
また、第二の手法は、ステレオカメラ11で撮影した物体の左右カメラ11の画像から画素毎に視差を求めて、三次元点群データから成る3D距離画像情報を生成し、この三次元点群データを、グリッド状の複数のセルが二次元面に配置された二次元マップに投票することにより、第一占有グリッドマップ(OGM)を生成して、このOGMを用いて物体の三次元情報を検出する物体検出方法において、投票の際に、3D距離画像情報のうち、各画素位置にて前方方向の変化分の絶対値で、上方向の変化分を除算した値が、あるしきい値よりも大きい場合に投票を行ない、かつその投票の際に、通常の平行化画像の縦方向の位置が、仮想的なチルト回転変換を伴って平行化変換された画像の縦方向の変化部を重みとして加算して投票する物体検出方法である。
これに対して、第三の手法は、ステレオカメラ11で撮影した物体の左右カメラ11の画像から画素毎に視差を求めて、三次元点群データから成る3D距離画像情報を生成し、この三次元点群データを、グリッド状の複数のセルが二次元面に配置された二次元マップに投票することにより、第一占有グリッドマップ(OGM)を生成して、このOGMを用いて物体の三次元情報を検出する物体検出方法において、複数のセルの境界付近に跨がって、冗長なセルをオーバーラップさせて配置し、冗長なセルにも三次元点群データを投票して、第二占有グリッドマップ(ROGM)を生成し、ROGMを用いて物体の三次元情報を検出する際の投票において、3D距離画像情報のうち、各画素位置にて前方方向の変化分の絶対値で、上方向の変化分を除算した値が、あるしきい値よりも大きい場合に、投票を行なう物体検出方法である。
また、第四の手法は、ステレオカメラ11で撮影した物体の左右カメラ11の画像から画素毎に視差を求めて、三次元点群データから成る3D距離画像情報を生成し、この三次元点群データを、グリッド状の複数のセルが二次元面に配置された二次元マップに投票することにより、第一占有グリッドマップ(OGM)を生成して、このOGMを用いて物体の三次元情報を検出する物体検出方法において、複数のセルの境界付近に跨がって、冗長なセルをオーバーラップさせて配置し、冗長なセルにも三次元点群データを投票して、第二占有グリッドマップ(ROGM)を生成し、ROGMを用いて物体の三次元情報を検出する際の投票において、3D距離画像情報のうち、各画素位置にて前方方向の変化分の絶対値で、上方向の変化分を除算した値が、あるしきい値よりも大きい場合に、投票の際に、通常の平行化画像情報の縦方向の位置が、仮想的なチルト回転変換で平行化変換された画像の縦方向の変化分を重みとして加算して投票する物体検出方法である。
これらの第一から第四の手法によれば、ステレオカメラ11の左右カメラ11の画像に対応付けを行なって、画像の各点(画素)に対して、三次元位置を求める。画像座標を縦方向に下から上へとスキャンして、X座標(前向き)の値とZ座標(上向き)の値の変化を求めて、dX,dZとする。これらの値から、dZをdXの絶対値で除算して得られる傾き率Srを求めて、その値がある値よりも大きい場合には、その部分の3D点の変化が壁のように垂直に近く切り立っていると見做して、該当するOGMに投票を行なう。
これにより、路面からの物体の高さ情報を使わずに、OGMに投票することができるので、常に路面の傾き推定を行なう必要がなくなる。また、投票の際に、VTSによる当該画素位置でのY座標(縦)方向の仮想的な路面の前方長さの増分の絶対値を重みとして加えることにより、距離の違いによる同じ大きさに対する物体への投票の偏りを減らす効果も得られる。
次に、新たに相対的な高さを用いた新しいOGMの作成方法と、それを使った物体のトラッキングの例を記載する。
まず、OGMの作成手順を、以下に説明する。
図13のステップST31にて、画面の左上を(xmin,ymin),右下を(xmax,ymax)となるようなROIを設定する。
そして、ステップST32にて、このROIの中の各画素位置に対して、横方向の位置xを、左端から右端へと移動しながら、そのときの横方向の位置において画像の下から上向きに縦方向にyを変化させて、上述したピッチ角θ、ロール角φ、そしてカメラ高さdによって、初期推定した平面上の3D位置を求めて、メモリに記憶させる。
そして、ステップST33にて、x=xminとし、ステップST34にて、y=ymaxとして、ステップST35にて、位置(x,y)に対する3D座標をメモリから(Xs,Ys,Zs)として取り出して、路面のパラメータθ,φ及びdを使って、推定路面平面上のOGM座標値(Xg,Yg,Zg)に変換し、メモリに記憶させる。
次に、ステップST36にて、下から上に1ライン変化させた(y=y−1)ときに、3D車体座標系の前後方向の変化、即ち現在のyに対するXgから一つ前のyに対するXgを減算した変化をdXとし、ステップST37にて、上下方向の変化、即ち現在のyに対するZgから一つ前のyに対するZgを減算した変化をdZとして、ステップST38に示すように、次式(65)で与えられるSrがあるしきい値δを超えた場合に、その部分の3D点の変化が壁のようにほぼ垂直に切り立っていると見做して、ステップST39にて、前記3D位置に対するOGMのグリッド(x−y平面上に構成されている)に投票する。
Figure 0006969738
その際、VTSの俯瞰画像での前後方向の距離に相当する縦方向に圧縮するためのルックアップテーブルの差であるCTR(y)−CTR(y+1)を重みとして加算投票する。これはVTSの縦方向の圧縮のために生じる奥行方向の密度を補正するためである。
そして、ステップST40にて、yがROIの上限(即ちy=ymin)となるまでは、ステップST41にて、y=y−1として、ステップST35に戻り、上記ステップST35〜39の処理を繰り返す。
これに対して、ステップST40にて、y=yminとなった場合には、ステップST42にて、xがROIの上限(即ちx=xmax)となるまでは、ステップST43にて、x=x+1として、ステップST34に戻り、上記ステップST34〜39の処理を繰り返す。
ステップST42にて、x=xmaxとなった場合には、ステップST44にて、得られたOGMに対して、必要に応じて冗長OGM化してROGMとする。
続いて、ステップST45にて、得られたOGM(またはROGM)に対して、ノイズ除去部27によりノイズ除去されると共に、モルフォロジーのオープニング処理を施した後、ステップST46にて、OGM(またはROGM)を二値化したマップを作成する。
その後、ステップST47にて、ラベリング処理部28が、二値化したマップに対してラベリング処理を行なって、物体検出情報としてのオブジェクトの塊を一つのものとして表したマップを作成する。
このようにして、ステレオカメラ11の左右画像を平行化処理した俯瞰画像から、画面のROI内の領域において、各オブジェクトの塊がそれぞれ一つのものとして、マップ上で検出することができる。
従って、ステップST48にて、各オブジェクトの塊ごとにそれぞれIDを割り当てて、各オブジェクトの重心位置,幅,高さ等の3D情報を各画像フレームの情報として付加して、リスト構造として登録する。
そして、連続した複数の画像フレームからなるシーケンスに対するトラッキング処理は、図14のフローチャートを参照して、以下のように行なわれる。
即ち、図14のフローチャートに示すように、ステップST51にて、一つの画像フレームkを読み込んで、ステップST52にて、この画像フレームkに対して、OGM(またはROGM)を使用して、上述したオブジェクト検出を行なう。
次に、ステップST53にて、画像フレームkと一つ前の画像フレーム(k−1)でそれぞれ検出されたオブジェクトのリストから、ID毎に当該オブジェクトの位置及び幅等の3D情報を比較して、最も位置が近く且つ幅等も近いものを、同じオブジェクトとして関連付けて、画像フレーム(k−1)のIDを割り当て直して、リスト構造として当該オブジェクトの位置や幅等を登録し直す。
そして、ステップST54にて、他のオブジェクトがある場合には、ステップST55にて、k=k+1として、ステップST51に戻って、ステップST51からステップST53の処理を繰り返す。
これに対して、ステップST54にて、すべてのオブジェクトに対する処理が終わったら、トラッキング処理を終了する。
以上で、チルト回転変換され縦圧縮された平行化画像情報に基づいて、路面または床面の物体を高速で検出することが可能となる。
本発明は、その趣旨を逸脱しない範囲において様々な形態で実施することができる。
例えば、上述した実施形態においては、例として車両の前方を撮像するステレオカメラ11の場合について説明したが、これに限らず、車両の後方や側方を撮像するステレオカメラに本発明を適用することも可能である。さらには、車両だけでなく、移動する物体、例えばロボット等から外部を撮像するステレオカメラに本発明を適用することも可能であり、あるいは監視用の固定ステレオカメラによって、床面上の薄い障害物の高さ判定に用いることも可能である。このように、上から見下ろしたような変換画像を使うことによって、路面部分の高さが高精度で求まり、車両だけでなく、室内の自律移動ロボットや、それほど広くない場所での監視用ステレオなどでの床面検出や、障害物検知に非常に有益である。
上述した実施形態においては、チルト回転変換された平行化画像情報に基づいて、OGMまたはROGMを使って、物体の検出を行なっているが、これに限らず、従来のステレオ処理によって、物体の検出を行なうことも可能である。
上述した実施形態においては、平行化画像情報を作成する際に、ステレオカメラ11の画像に対してチルト回転変換を行なうと共に、縦圧縮処理しているが、これに限らず、縦圧縮の処理を省略してもよい。この場合、例えば室内においてロボットの移動時における障害物の検出等に本発明による物体検出装置を使用する際には、ロボットの移動速度があまり速くないことと、移動範囲があまり広くないことから、十分に物体を検出することができると共に、ステレオカメラ11による撮像範囲もあまり遠くまで撮像する必要がないことから、チルト回転変換による画素数の増大もあまり多くないので、十分にリアルタイムで物体の検出を行なうことが可能である。
上述した実施形態においては、平行化画像情報を作成する際に、画面全体またはROIの領域全体を縦圧縮するようにしているが、これに限らず、路面に対してほぼ垂直な向きの領域を、チルト回転変換した平行化画像情報に基づく3D距離画像情報を用い、また路面に対してほぼ水平な向きの領域を、チルト回転変換しない平行化画像情報に基づく、即ち従来のステレオ処理と同様の3D距離画像情報を用いて、物体の検出を行なうようにしてもよい。この場合、路面に対してほぼ水平な向きの領域については、チルト回転変換しないことにより、平行化画像情報の画素数の増大が抑制され、処理すべきデータ量が抑制されるので、平行化画像情報の処理が高速で行なわれる。
さらに、チルト回転変換した平行化画像情報に基づく第二の3D距離画像情報を、チルト回転変換しない平行化画像情報に基づく第一の3D距離画像情報と統合して、第一の3D距離画像情報を修正するようにしてもよい。これにより、3D距離画像情報による物体の検出がより高精度で行なわれることになる。
10 物体検出装置
11 ステレオカメラ
11L 左カメラ
11R 右カメラ
20 画像処理部
21 画像変換部
22 視差算出部
23 機距離・3D情報算出部
25 前方路面に合わせた傾き変換部
26 OGM算出部
27 ノイズ除去部
28 ラベリング処理部
29 検出物体情報出力部
30 グローバルマップ表示部
40 物体検出部

Claims (14)

  1. 路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置されたステレオカメラ画像情報を取得する左右一対の撮像手段と、
    前記撮像手段で取得された前記ステレオカメラ画像情報を平行化した平行化ステレオ俯瞰画像情報に基づいて、各対応点の視差を求めて、3D距離画像情報を生成する画像処理部と、
    前記画像処理部で取得された3D距離画像情報から前記監視対象面の物体を検出する物体検出部と、
    から成り、
    前記画像処理部が、前記左右一対の撮像手段で取得した左右画像に前記ステレオカメラのキャリブレーション情報に基づく仮想的な下向きのチルト回転変換を施し、前記左右画像のエピポーララインが平行となるような平行化条件を満たす平行化変換処理によりステレオカメラ画像を生成し、該ステレオカメラ画像を座標変換により平行化ステレオ俯瞰画像情報に変換し、
    前記平行化ステレオ俯瞰画像情報における各対応点の視差から前記3D距離画像情報を生成し、
    前記物体検出部が、前記3D距離画像情報から前記路面又は床面の物体を検出することを特徴とする、物体検出装置。
  2. 前記画像処理部が、あらかじめ初期状態で求めておいた前記監視対象面に対するカメラの高さ・ピッチ・ロール角度情報から、前記3D距離画像情報から取得された3D座標値を前記監視対象面に平行な3D座標系へと変換する機能を有していることを特徴とする、請求項1に記載の物体検出装置。
  3. 路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置されたステレオカメラ画像情報を取得する左右一対の撮像手段と、
    前記撮像手段で取得された前記ステレオカメラ画像情報を平行化し縦圧縮された平行化ステレオ俯瞰画像情報に基づいて、各対応点の視差を求めて、3D距離画像情報を生成する画像処理部と、
    前記画像処理部で取得された3D距離画像情報から前記監視対象面の物体を検出する物体検出部と、
    から成り、
    前記画像処理部が、前記左右一対の撮像手段で取得した左右画像に前記ステレオカメラのキャリブレーション情報に基づく仮想的な下向きのチルト回転変換を施し、前記左右画像のエピポーララインが平行となるような平行化条件を満たす平行化変換処理によりステレオカメラ画像を生成し、該ステレオカメラ画像を座標変換により平行化ステレオ俯瞰画像情報に変換すると共にさらに縦圧縮処理し、
    前記縦圧縮された平行化ステレオ俯瞰画像情報における各対応点の視差から前記3D距離画像情報を生成し、
    前記物体検出部が、前記3D距離画像情報から前記路面又は床面の物体を検出することを特徴とする、物体検出装置。
  4. 前記画像処理部が、あらかじめ初期状態で求めておいた前記監視対象面に対するカメラの高さ・ピッチ・ロール角度情報から、前記3D距離画像情報から取得された3D座標値を前記監視対象面に平行な3D座標系へと変換する機能を有していることを特徴とする、請求項3に記載の物体検出装置。
  5. 路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置されたステレオカメラ画像情報を取得する左右一対の撮像手段と、
    前記撮像手段で取得された前記ステレオカメラ画像情報を2通りの異なる平行化によって変換した平行化画像情報に基づいて、各対応点の視差を求めて、2通りの3D距離画像情報を生成する画像処理部と、から成り、
    前記平行化画像情報が、前記ステレオカメラのキャリブレーション情報に基づき、元々のカメラ光軸に近い向きで行なった第一の平行化変換と、仮想的に下向きのチルト回転変換を施した第二の平行化変換と、によってそれぞれ生成され、
    当該第一の平行化変換及び第二の平行化変換で取得した平行化画像情報に基づき、各対応点の視差から第一の平行化変換による第一の3D距離画像情報と、第二の平行化変換による第二の3D距離画像情報を生成し、
    前記監視対象面に対して垂直な向きを持つ領域に対しては、第一の平行化変換で取得した第一の3D距離画像情報を用い、
    前記監視対象面に対して平行な向きを持つ領域に対しては、第二の平行化変換で取得した第二の3D距離画像情報を用いることを特徴とする、物体検出装置。
  6. 路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置されたステレオカメラ画像情報を取得する左右一対の撮像手段と、
    前記撮像手段で取得された前記ステレオカメラ画像情報を2通りの異なる平行化によって変換した平行化画像情報に基づいて、各対応点の視差を求めて、2通りの3D距離画像情報を生成する画像処理部と、から成り、
    前記平行化画像情報が、前記ステレオカメラのキャリブレーション情報に基づき、元々のカメラ光軸に近い向きで行なった第一の平行化変換と、仮想的に下向きのチルト回転変換を施し、さらに縦圧縮を行なう第二の平行化変換と、によってそれぞれ生成され、
    当該第一の平行化変換及び第二の平行化変換で取得した平行化画像情報に基づき、各対応点の視差から第一の平行化変換による第一の3D距離画像情報と第二の平行化変換による第二の3D距離画像情報を生成し、
    前記監視対象面に対して垂直な向きを持つ領域に対しては第一の平行化変換で取得した第一の3D距離画像情報を用い、
    前記監視対象面に対して平行な向きを持つ領域に対しては、第二の平行化変換で取得した第二の3D距離画像情報を用いることを特徴とする、物体検出装置。
  7. 前記画像処理部が、前記第一の3D距離画像情報と前記第二の3D距離画像情報を統合することにより、前記第一の3D距離画像情報を修正することを特徴とする、請求項またはに記載の物体検出装置。
  8. 路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置された左右一対の撮像手段により撮像して、ステレオカメラ画像情報を取得する第一の段階と、
    前記第一段階で取得された前記ステレオカメラ画像情報を平行化した平行化ステレオ俯瞰画像情報に基づいて、各対応点の視差を求めて、3D距離画像情報を生成する第二の段階と、
    前記第二段階で取得された3D距離画像情報から前記監視対象面の物体を検出する第三の段階と、
    から成り、
    前記第二の段階にて、前記左右一対の撮像手段で取得した左右画像に前記ステレオカメラのキャリブレーション情報に基づく仮想的な下向きのチルト回転変換を施し、左右画像のエピポーララインが平行となるような平行化条件を満たす平行化変換処理によりステレオカメラ画像を生成し、該ステレオカメラ画像を、座標変換により平行化ステレオ俯瞰画像情報に変換し
    前記第二の段階にて、前記平行化ステレオ俯瞰画像情報における各対応点の視差から前記3D距離画像情報を生成し、
    前記第三の段階にて、前記3D距離画像情報から前記路面又は床面の物体を検出することを特徴とする、物体検出方法。
  9. 前記第二の段階にて、あらかじめ初期状態で求めておいた前記監視対象面に対するカメラの高さ・ピッチ・ロール角度情報から、前記3D距離画像情報から取得された3D座標値を前記監視対象面に平行な3D座標系へと変換する機能を有していることを特徴とする、請求項8に記載の物体検出方法。
  10. 路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置された左右一対の撮像手段により撮像して、ステレオカメラ画像情報を取得する第一の段階と、
    前記第一段階で取得された前記ステレオカメラ画像情報を平行化し縦圧縮された平行化ステレオ俯瞰画像情報に基づいて、各対応点の視差を求めて、3D距離画像情報を生成する第二の段階と、
    前記第二段階で取得された前記3D距離画像情報から前記監視対象面の物体を検出する第三の段階と、
    から成り、
    前記第二の段階にて、前記左右一対の撮像手段で取得した左右画像に前記ステレオカメラのキャリブレーション情報に基づく仮想的な下向きのチルト回転変換を施し、左右画像のエピポーララインが平行となるような平行化条件を満たす平行化変換処理によりステレオカメラ画像を生成し、該ステレオカメラ画像を、座標変換により平行化ステレオ俯瞰画像情報に変換する処理と、その後の該平行化ステレオ俯瞰画像情報の縦圧縮処理であって、
    前記第二の段階にて、前記縦圧縮された平行化ステレオ俯瞰画像情報における各対応点の視差から3D距離画像情報を生成し、
    前記第三の段階にて、前記3D距離画像情報から前記路面又は床面の物体を検出することを特徴とする、物体検出方法。
  11. 前記第二の段階にて、あらかじめ初期状態で求めておいた前記監視対象面に対するカメラの高さ・ピッチ・ロール角度情報から、前記3D距離画像情報から取得された3D座標値を前記監視対象面に平行な3D座標系へと変換する機能を有していることを特徴とする、請求項10に記載の物体検出方法。
  12. 路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置された左右一対の撮像手段により撮像して、ステレオカメラ画像情報を取得する第一の段階と、
    前記第一の段階で取得された前記ステレオカメラ画像情報を2通りの異なる平行化によって変換した平行化画像情報に基づいて、各対応点の視差を求めて、2通りの3D距離画像情報を生成する第二の段階と、
    から成り、
    前記平行化画像情報を、前記ステレオカメラのキャリブレーション情報に基づき、元々のカメラ光軸に近い向きで行なった第一の平行化変換と、仮想的に下向きのチルト回転変換を施した第二の平行化変換とによってそれぞれ生成し、
    当該第一の平行化変換及び第二の平行化変換で取得した平行化画像情報に基づき、各対応点の視差から第一の平行化変換による第一の3D距離画像情報と、第二の平行化変換による第二の3D距離画像情報を生成し、
    前記監視対象面に対して垂直な向きを持つ領域に対しては、第一の平行化変換で取得した第一の3D距離画像情報を用い、
    前記監視対象面に対して平行な向きを持つ領域に対しては、第二の平行化変換で取得した第二の3D距離画像情報を用いることを特徴とする、物体検出方法。
  13. 路面や床面等の監視対象面に対して、光軸が水平方向よりも下を向いて設置された左右一対の撮像手段により撮像して、ステレオカメラ画像情報を取得する第一の段階と、
    前記第一の段階で取得された前記ステレオカメラ画像情報を2通りの異なる平行化によって変換した平行化画像情報に基づいて、各対応点の視差を求めて、2通りの3D距離画像情報を生成する第二の段階と、
    から成り、
    前記平行化画像情報を、前記ステレオカメラのキャリブレーション情報に基づき、元々のカメラ光軸に近い向きで行なった第一の平行化変換と、仮想的に下向きのチルト回転変換を施し、さらに縦圧縮を行なう第二の平行化変換と、によってそれぞれ生成し、
    当該第一の平行化変換及び第二の平行化変換で取得した平行化画像情報に基づき、各対応点の視差から第一の平行化変換による第一の3D距離画像情報と、第二の平行化変換による第二の3D距離画像情報を生成し、
    前記監視対象面に対して垂直な向きを持つ領域に対しては、第一の平行化変換で取得した第一の3D距離画像情報を用い、
    前記監視対象面に対して平行な向きを持つ領域に対しては、第二の平行化変換で取得した第二の3D距離画像情報を用いることを特徴とする、物体検出方法。
  14. 前記第二の段階において、前記第一の3D距離画像情報と前記第二の3D距離画像情報を統合することにより、前記第一の3D距離画像情報を修正することを特徴とする、請求項12または13に記載の物体検出方法。
JP2017135100A 2017-07-10 2017-07-10 物体検出装置及び方法 Active JP6969738B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017135100A JP6969738B2 (ja) 2017-07-10 2017-07-10 物体検出装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017135100A JP6969738B2 (ja) 2017-07-10 2017-07-10 物体検出装置及び方法

Publications (2)

Publication Number Publication Date
JP2019016308A JP2019016308A (ja) 2019-01-31
JP6969738B2 true JP6969738B2 (ja) 2021-11-24

Family

ID=65359031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017135100A Active JP6969738B2 (ja) 2017-07-10 2017-07-10 物体検出装置及び方法

Country Status (1)

Country Link
JP (1) JP6969738B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021060018A1 (ja) * 2019-09-25 2021-04-01
CN111507973B (zh) * 2020-04-20 2024-04-12 上海商汤临港智能科技有限公司 目标检测方法及装置、电子设备和存储介质
CN111783653B (zh) * 2020-07-01 2024-04-26 创新奇智(西安)科技有限公司 商标标签检测方法、装置、设备及存储介质
JPWO2023007625A1 (ja) * 2021-07-28 2023-02-02

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4297501B2 (ja) * 2004-08-11 2009-07-15 国立大学法人東京工業大学 移動体周辺監視装置
JP4809019B2 (ja) * 2005-08-31 2011-11-02 クラリオン株式会社 車両用障害物検出装置
JP2010128795A (ja) * 2008-11-27 2010-06-10 Aisin Seiki Co Ltd 障害物検出装置
JP2010250640A (ja) * 2009-04-17 2010-11-04 Sanyo Electric Co Ltd 画像処理装置
JP6257919B2 (ja) * 2013-05-16 2018-01-10 住友建機株式会社 ショベル
KR101622622B1 (ko) * 2014-10-13 2016-05-31 엘지전자 주식회사 차량 하부 이미지 제공 장치 및 이를 구비한 차량
JP6599685B2 (ja) * 2015-08-19 2019-10-30 シャープ株式会社 画像処理装置および誤差判定方法
WO2016013691A1 (ja) * 2015-10-15 2016-01-28 株式会社小松製作所 位置計測システム及び位置計測方法

Also Published As

Publication number Publication date
JP2019016308A (ja) 2019-01-31

Similar Documents

Publication Publication Date Title
US11080932B2 (en) Method and apparatus for representing a virtual object in a real environment
US10665025B2 (en) Method and apparatus for representing a virtual object in a real environment
JP6969738B2 (ja) 物体検出装置及び方法
CN102592124B (zh) 文本图像的几何校正方法、装置和双目立体视觉系统
JP4861574B2 (ja) 運転支援装置
JP3868876B2 (ja) 障害物検出装置及び方法
US7865039B2 (en) Method of ortho-rectification for high-resolution remote sensing image
US5734743A (en) Image processing method and apparatus for block-based corresponding point extraction
US20170019655A1 (en) Three-dimensional dense structure from motion with stereo vision
JP4872769B2 (ja) 路面判別装置および路面判別方法
CN112424565B (zh) 车载环境识别装置
JP5083443B2 (ja) 運転支援装置および方法、ならびに演算装置
JP2023505891A (ja) 環境のトポグラフィを測定するための方法
KR100574227B1 (ko) 카메라 움직임을 보상한 객체 움직임 추출 장치 및 그 방법
JP2008309519A (ja) 画像処理を用いた物体検出装置
JP2005217883A (ja) ステレオ画像を用いた道路平面領域並びに障害物検出方法
JP2004030461A (ja) エッジマッチング方法、エッジマッチングプログラム、エッジマッチングプログラムを記録したコンピュータ読み取り可能な記録媒体、ステレオマッチング方法、ステレオマッチングプログラム及びステレオマッチングプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006050451A (ja) 障害物警告システム及び画像処理装置
WO2012116350A2 (en) Figure-ground organization of 3-d scenes
Haggag et al. Towards automated generation of true orthoimages for urban areas
Sato et al. Efficient hundreds-baseline stereo by counting interest points for moving omni-directional multi-camera system
JP4410521B2 (ja) 画像処理装置および画像処理方法
JP3977505B2 (ja) 道路形状認識装置
CN112308984B (zh) 车载图像拼接方法、系统以及装置
JP3870255B2 (ja) 3次元復元方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210810

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: 20211012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211020

R150 Certificate of patent or registration of utility model

Ref document number: 6969738

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150