【解決手段】車載移動物体検出システム1において、移動物体検出装置4は、撮影タイミングが時系列的に前後する2つの撮影画像に基づいて複数のオプティカルフローを算出するオプティカルフロー算出部24と、実空間の3次元座標を撮影画像の画像座標に変換する透視投影行列を、複数のオプティカルフローに基づいて算出する透視投影行列算出部26と、複数のオプティカルフローの各端点を3次元座標に投影したときの端点対応位置と、これらの端点対応位置を撮影画像の画像座標に透視投影行列を用いて再投影した端点再投影位置との差である再投影誤差を算出する再投影誤差算出部28と、オプティカルフローのそれぞれの再投影誤差に基づいて、撮影画像に写っている移動物体に対応するオプティカルフローを特定する移動物体検出部30と、を備える。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係る車載移動物体検出システム1の概略構成を、車載移動物体検出装置4の機能的構成とともに示す図である。
車載移動物体検出システム1は、車両2に設けられた車載システムであり、車両周辺の移動物体を検出し、必要に応じて表示や警告音を出力することで、運転者などの乗員に、移動物体の存在を提示するシステムである。
本実施形態の車載移動物体検出システム1は、
図1に示すように、カメラ3と、車載移動物体検出装置4と、HMIユニット6と、を備え、これらがCAN(Controller Area Network)などの車載ネットワークを介して、或いは、直接的に接続されている。
【0010】
カメラ3は、車両2の走行に伴って移動しながら当該車両2の周辺(本実施形態では、車両2の進行方向)を短い時間間隔(例えば、ミリ秒オーダー)で連続的に撮影することで、撮影タイミングが異なる撮影画像11を順次に車載移動物体検出装置4に出力するビデオカメラである。すなわち、カメラ3から出力される一連の撮影画像11は、いわゆる動画像であり、各撮影画像11は動画像のフレーム画像に相当する。
また本実施形態のカメラ3は、1台で広範囲を撮影可能な魚眼カメラであり、魚眼画像を撮影画像11として出力する。
なお、以下の説明において、車両2と周辺の物体(静止物体、及び移動物体)とは十分に離間しており、撮影画像11には複数の物体が写っているものとする。
【0011】
車載移動物体検出装置4は、撮影画像11に写っている物体のオプティカルフロー17(
図6)に基づいて、当該撮影画像11に写っている移動物体を検出し、検出結果をHMIユニット6に出力する車載装置である。
【0012】
詳述すると、車両2の走行中に撮影された撮影画像11において、当該撮影画像11に写っている物体の面積や数の割合は、静止物体が移動物体よりも大多数を占める。このため、撮影画像11について複数のオプティカルフロー17を求めた場合、これらのオプティカルフロー17の平均(以下、「オプティカルフロー平均」という)は、静止物体のオプティカルフロー17の影響を強く受け、移動物体のオプティカルフロー17との間に有意な差を生じる。
したがって、撮影画像11について求めた複数のオプティカルフロー17のうち、オプティカルフロー平均との差が所定閾値以上のものを、移動物体のオプティカルフロー17として特定することができ、特定されたオプティカルフロー17に基づいて、撮影画像11に写った物体の中から移動物体を区別することができる。
【0013】
ここで、車両2の走行に伴って移動するカメラ3によって撮影された撮影画像11から成る動画像においては、動画像に写っている物体は、その物体が静止物体、及び移動物体のいずれであっても、車両2の走行や、移動物体自身の移動に起因して動画像の中を移動する。
オプティカルフロー17は、物体のかかる移動のベクトルを表すものであり、当該オプティカルフロー17の始点17S、終点17E、方向、及び大きさのそれぞれが、物体の移動前の位置、移動後の位置、移動方向、及び移動量を表している。
したがって、撮影画像11に写っている物体の移動がオプティカルフロー平均と概ね一致すると仮定した場合、移動前、又は移動後の物体の位置にオプティカルフロー平均の始点17S、又は終点17Eを合わせることで、当該物体の移動後の位置、又は移動前の位置を推定することができる。この場合において、オプティカルフロー平均は、上述の通り、静止物体のオプティカルフロー17の影響を強く受けているため、物体が移動物体であったときには、オプティカルフロー平均に基づいて推定された移動後の位置、又は移動前の位置(以下、「推定端点位置」という)は、実際の移動後の位置、又は実際の移動前の位置であるオプティカルフロー17の終点17E、又は始点17Sから大きくずれる。
推定端点位置とオプティカルフロー17の終点17E、又は始点17Sとの間の位置ずれは、撮影画像11のオプティカルフロー平均と、移動物体のオプティカルフロー17との差に起因して生じるものである。
そこで、本実施形態の車載移動物体検出装置4は、撮影画像11についての複数のオプティカルフロー17と、これらのオプティカルフロー平均との差として、各オプティカルフロー17の始点17Sと、オプティカルフロー平均に基づいて推定される移動前の位置との位置ずれの大きさを求めている。
そして車載移動物体検出装置4は、所定閾値以上の位置ずれが生じているオプティカルフロー17を特定し、特定されたオプティカルフロー17に基づいて、撮影画像11の中から移動物体を検出している。
かかる車載移動物体検出装置4の具体的構成、及び動作については後述する。
【0014】
HMIユニット6は、ユーザインタフェースとなる入力装置、及び出力装置を備える。出力装置は、各種情報を表示する表示装置、及び各種音声を出力するスピーカを備え、移動物体の検出結果に基づいて、当該移動物体の存在を乗員に提示する表示や警告音を出力する。
【0015】
なお、車載移動物体検出装置4による移動物体の検出結果は、各種の運転支援に用いることができる。
【0016】
次いで、車載移動物体検出装置4の構成について詳述する。
車載移動物体検出装置4は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサと、ROM(Read Only Memory)やRAM(Random access memory)などのメモリデバイス(主記憶装置とも呼ばれる)と、HDD(hard disk drive)やSSD(Solid State Drive)などのストレージ装置(補助記憶装置とも呼ばれる)と、センサ類や周辺機器などを接続するためのインターフェース回路と、車載ネットワークを介して他の車載機器と通信する車載ネットワーク通信回路と、を備えたコンピュータ(本実施形態では、ECU(Electric Control Unit))を有する。そして、プロセッサがメモリデバイス又はストレージ装置に記憶されているコンピュータプログラムを実行することで、
図1に示す機能的構成が実現されている。
【0017】
すなわち、車載移動物体検出装置4は、機能的構成として、画像取得部20と、画像変換部22と、オプティカルフロー算出部24と、透視投影行列算出部26と、再投影誤差算出部28と、移動物体検出部30と、を備える。
【0018】
画像取得部20は、カメラ3が順次に出力する撮影画像11を取得し、当該撮影画像11を画像変換部22に出力する。
【0019】
画像変換部22は、カメラ3の撮影光学系(本実施形態では魚眼レンズ)に起因して歪みが生じた撮影画像11を、当該歪みが補正された画像に変換する。
具体的には、画像変換部22は、撮影光学系による歪みや、車両2におけるカメラ3の取付位置や取付姿勢に関する情報を、公知、又は周知のキャリブレーション手法を用いて推定する。そして、画像変換部22は、推定した情報に基づいて撮影画像11を、歪みが補正された画像である円筒画像12に変換する。
【0020】
キャリブレーション手法は、カメラ3の撮影光学系(レンズ)の焦点距離などの内部パラメータ、車両2におけるカメラ3の取付位置や取付姿勢を表す外部パラメータ、及び、撮影光学系の歪収差係数を、当該カメラ3の撮影画像11に基づいて求め、当該撮影画像11を補正するために用いられる手法である。
【0021】
内部パラメータは、カメラ3の撮影光学系に関するパラメータである。内部パラメータは、カメラ3のカメラ座標Acmと撮影画像11の画像座標Apcとを関連付けるパラメータでもあり、カメラ座標Acmを画像座標Apcに変換する行列に用いられる。
外部パラメータは、実空間におけるカメラ3の取付態様に係るパラメータである。外部パラメータは、実空間の3次元座標Awdとカメラ座標Acmとを関係付けるパラメータでもあり、3次元座標Awdからカメラ座標Acmに変換する行列に用いられる。なお、3次元座標Awdは、一般にワールド座標とも呼ばれる座標である。
【0022】
キャリブレーション手法には、例えば、3枚以上の撮影画像11から2枚ずつを組み合わせ、上記内部パラメータ、外部パラメータ、及び歪収差係数についての共通解を探すZhangの手法を用いることができる。
【0023】
図2は円筒画像12の説明図である。また
図3は撮影画像11、及び円筒画像12の一例を示す図である。
画像変換部22は、
図2に示すように、地面から垂直に起立し、カメラ3の焦点位置fを中心とし円弧状を成す仮想的な円筒面13を、上記キャリブレーション手法を用いて推定した各情報に基づいて設定する。次いで、画像変換部22は、この円筒面13に撮影画像11を投影した正距円筒画像を円筒画像12とする。
かかる投影によって、
図3に示すように、撮影画像11に生じた歪みが取り除かれた円筒画像12が得られる。また円筒画像12の円筒画像座標Acpcは、縦軸、及び横軸が車両2の走行時の方位角λ、及び仰角φ(いずれも
図7参照)に対応する。かかる円筒画像12によれば、物体(被写体)とカメラ3との間の距離情報の抽出が容易となる。
【0024】
図1において、オプティカルフロー算出部24は、撮影画像11の歪みを補正した画像である上記円筒画像12に基づいて、複数(本実施形態では少なくとも5つ以上)のオプティカルフロー17を算出する。
具体的には、オプティカルフロー算出部24は、撮影タイミングが異なる2つの撮影画像11のそれぞれの円筒画像12を取得し、各円筒画像12の中の輝度情報に基づき、これらの円筒画像12に写っている各物体の動きを解析する。そして、オプティカルフロー算出部24は、解析結果に基づいて、各物体について、物体の移動のベクトルを示すオプティカルフロー17を算出する。
なお、2つの撮影画像11の撮影タイミングの差は適宜であり、本実施形態では、カメラ3から順次に出力される撮影画像11のうち、時系列的に連続する2つの撮影画像11がオプティカルフロー17の算出に用いられる。
【0025】
透視投影行列算出部26、及び再投影誤差算出部28は、撮影画像11から求められた複数のオプティカルフロー17の始点17Sと、オプティカルフロー平均に基づいて推定される上記推定端点位置との位置ずれの大きさを求めることと同等の役割を果たす機能部である。
【0026】
具体的には、透視投影行列算出部26は、オプティカルフロー算出部24によって算出された複数のオプティカルフロー17に基づいて透視投影行列Pを算出する。透視投影行列Pは、円筒画像12の画像座標である円筒画像座標Acpcに3次元座標Awdを変換する行列である。
再投影誤差算出部28は、各オプティカルフロー17について、円筒画像座標Acpcの始点17Sを3次元座標Awdに投影したときの端点対応位置40wdを求め、透視投影行列Pを用いて円筒画像座標Acpcに端点対応位置40wdを再投影した端点再投影位置40ppを求める。そして、再投影誤差算出部28は、各オプティカルフロー17について、始点17Sと端点再投影位置40ppとの差(以下、「再投影誤差D」という)を求める。
透視投影行列Pは、円筒画像12の複数のオプティカルフロー17に基づいて求められているため、この透視投影行列Pによって再投影された端点再投影位置40ppがオプティカルフロー平均に基づく推定端点位置に対応し、再投影誤差Dがオプティカルフロー17の始点17Sと推定端点位置との位置ずれの大きさに対応することとなる。
【0027】
移動物体検出部30は、各オプティカルフロー17の再投影誤差Dに基づいて、これらのオプティカルフロー17の中から移動物体に対応するオプティカルフロー17を特定する。また移動物体検出部30は、移動物体に対応するオプティカルフロー17に基づいて、円筒画像12に写っている移動物体を検出する。
【0028】
図4は、車載移動物体検出装置4によって実行される移動物体検出処理のフローチャートである。
車両2の走行中において、カメラ3が周囲を時系列的に連続して撮影し、撮影画像11を順次、車載移動物体検出装置4に出力する。車載移動物体検出装置4においては、カメラ3が順次に出力した撮影画像11を画像取得部20が取得する(ステップS1)。そして画像変換部22が撮影画像11を順次に円筒画像12に変換し(ステップS2)、撮影タイミングが異なる2枚の撮影画像11の各々の円筒画像12に基づいてオプティカルフロー算出部24がオプティカルフロー17を算出する(ステップS3)。
【0029】
図5は、オプティカルフロー17の算出手順の説明図である。
なお、以下では、先に撮影された円筒画像に符号「12−1」を付し、後に撮影された円筒画像に符号「12−2」を付すことで、必要に応じて2枚の円筒画像12を区別する。
オプティカルフロー算出部24は、円筒画像12−1、12−2を取得すると、先ず、それぞれの円筒画像12−1、12−2から特徴点15−1、15−2を検出する(ステップSa1)。
特徴点15−1、15−2は、円筒画像12に写っている物体の輪郭に含まれる点であり、かつ、当該物体において特に区別し易い部分にある点である。
なお、特徴点15−1は、時間的に前に撮影された円筒画像12−1から検出された特徴点を示し、特徴点15−2は、時間的に後に撮影された円筒画像12−2から検出された特徴点を示す。
特徴点15−1、15−2の検出には、公知、又は周知の適宜の手法を用いることができる。
図5の例では、ランニングしている人物が移動物体として円筒画像12−1、12−2に写っており、この人物の身体を構成する複数の部位のそれぞれの輪郭から特徴点15−1、15−2が検出されている。
【0030】
次いで、オプティカルフロー算出部24は、2枚の円筒画像12−1、12−2を公知又は周知の手法を用いてマッチングすることで、円筒画像12−1の各特徴点15−1と、円筒画像12−2の各特徴点15−2とを対応付ける(ステップSa2)。
その後、オプティカルフロー算出部24は、2つの円筒画像12−1を円筒画像12−2に重畳し、重畳後の円筒画像12−2において、特徴点15−1、及び特徴点15−2の対ごとに、特徴点15−1を始点17Sとし特徴点15−2を終点17Eとしたベクトルに基づきオプティカルフロー17を求める(ステップSa3)。
【0031】
図6は、移動物体と静止物体を含む円筒画像12におけるオプティカルフロー17の概念図である。
同図の例では、静止物体である壁と、ランニングしている人(移動物体)とが円筒画像12に写っている。同図に示すように、円筒画像12に静止物体が写っている場合には、車両2の走行に伴ってカメラ3が移動することで、2枚の円筒画像12−1、12−2の間で壁の位置が変化し、当該静止物体についても、消失点19から放射状に延びる方向のオプティカルフロー17が発生する。
【0032】
次いで、
図4のステップS4において、透視投影行列算出部26が透視投影行列Pを複数のオプティカルフロー17に基づいて算出する。
【0033】
具体的には、透視投影行列算出部26は、先ず、複数のオプティカルフロー17に基づいて、基本行列Eを算出する。基本行列Eは、カメラ座標Acmから見た3次元座標Awdの回転要素を示す回転行列Rと、並進要素を示す並進ベクトルtとの情報を含む行列である。基本行列Eを求める手法としては、例えば5点アルゴリズムを用いることができる。5点アルゴリズムは、円筒画像12−1、12−2の中から、5点以上のオプティカルフロー17を取得し、これらのオプティカルフロー17に基づいて、基本行列Eを推定する手法である。この5点アルゴリズムについては、例えば、「(D.Nister,An efficient solution to the five-point relative pose problem, PAMI, 26(6), pp.756-770, 2004.)」に記載されている。
【0034】
なお、オプティカルフロー17の座標は、円筒画像座標Acpcであるため、透視投影行列算出部26は、各オプティカルフロー17の座標を円筒画像座標Acpcから透視投影座標Appへ変換し、変更後の各オプティカルフロー17を用いて基本行列Eを算出する。
【0035】
次いで透視投影行列算出部26は、基本行列Eを特異値分解(SVD:Singular Value Decomposition)することで、次に示す回転行列R、及び並進ベクトルtを求める。なお、特異値分解は、対象の行列を直交行列と対角行列に分解する演算である。
【0037】
次に透視投影行列算出部26は、これら回転行列R、及び並進ベクトルtと、カメラ3の焦点距離fx、fyと、円筒画像12の画像中心cx、cy(
図3)と、に基づいて透視投影行列Pを算出する。なお、カメラ3の焦点距離fx、fyには、ステップS2の撮影画像変換において、キャリブレーション手法によって推定された値が用いられる。
【0039】
その後、ステップS5において、再投影誤差算出部28がオプティカルフロー17ごとの再投影誤差Dを算出する。
【0040】
具体的には、再投影誤差算出部28は、先ず、各オプティカルフロー17について、式(I)、及び式(II)に示すように、始点17S、及び終点17Eの画像座標Apc(u、v)を円筒画像座標Acpc(λ、φ)に変換した後、当該円筒画像座標Acpc(λ、φ)を透視投影座標App(x、y、z)に変換する。
なお、画像座標Apcの要素u、vは、円筒画像12における縦の位置(pixel)、及び横の位置(pixel)に対応する。
円筒画像座標Acpcにおいて、要素λは車両2(カメラ3)の方位角を示し、
図7に示すように、透視投影座標Appのy軸周りの角度(rad)を示す。また要素φは車両2(カメラ3)の仰角を示し、透視投影座標Appのx軸周りの角度(rad)を示す。
また、式(I)において、パラメータδx、及びδyはそれぞれ、円筒画像12の画素の縦方向の幅(μm)、及び横方向の幅(μm)である。また、画像中心cx、cyの単位は(pixel)であり、焦点距離fx、fyの単位は(mm)である。
【0042】
次に再投影誤差算出部28は、オプティカルフロー17ごとに、始点17Sの透視投影座標App(x、y、z)を、3次元座標Awd(X,Y,Z)に変換し、当該3次元座標Awdにおける端点対応位置40wdを求める。
【0043】
詳述すると、透視投影座標AHpp(x、y、1)、及び3次元座標AHwd(X、Y、Z、1)の関係は、透視投影行列Pを用いて次式(1)によって表される。ただし、式(1)は式(2)によって表される。また式(1)、及び式(2)において、記号「〜」は、同次座標として等しいことを表す。
【0046】
オプティカルフロー17の始点17S及び終点17Eの透視投影座標Appと、ステップS4において求められた透視投影行列Pを式(2)に代入すると次式(3)が得られる。ただし、式(3)は式(4)によって表される。
なお、式(3)において、Bは行列を示し、bはベクトルを示す。また、式(4)において、(x、y)、及び(x’、y’)はそれぞれ、オプティカルフロー17の始点17S、及び終点17Eの透視投影座標Appである。またp、p’はそれぞれ、始点17S、及び終点17Eの各々の透視投影行列Pの要素に対応する。
【0049】
したがって、行列Bの疑似逆行列B
+を式(3)に適用することで、次式(5)が得られる。
なお、B
Tは行列Bの転置行列である。またAGwdは、透視投影行列Pを用いて推定された端点対応位置40wdの3次元座標である。
【0050】
AGwd=B
+b
=(B
TB)
−1B
Tb (5)
【0051】
再投影誤差算出部28は、上記式(1)から式(5)までの計算を実行することで、各オプティカルフロー17について始点17Sの端点対応位置40wdを求める。
【0052】
なお、上記式(1)から式(3)への変形手順は次の通りである。
すなわち、上記式(1)を表す式(2)の変形によって、次式(2)’が得られる。
【0054】
未知のスカラーsを用いて式(2)’を連立方程式で表すと、次式(A1)から式(A3)が得られる。
【0056】
次いで、式(A3)と式(A1)とでスカラーsを消去することで、次式(A4)が得られる。
【0058】
また、始点17Sの透視投影座標Appの要素yを両辺に乗じた式(A3)と、式(A2)とで、スカラーsを消去することで、次式(A5)が得られる。
【0060】
始点17Sの透視投影座標Appの座標(x’、y’)についても、同様に計算することで次式(A6)、及び式(A7)が得られる。
【0062】
そして、式(A4)から式(A7)までを行列形式に直すことで、上記式(4)が得られる。この式(4)において、左辺の行列、及び右辺のベクトルがそれぞれ、上記式(3)における行列B、及びベクトルbに対応する。
【0063】
さて、再投影誤差算出部28は、上記のようにして、オプティカルフロー17の始点17Sについて端点対応位置40wdを求めると、次式(6)に示すように、端点対応位置40wdの3次元座標AGwd(X、Y、Z、1)に透視投影行列Pを掛けることで、端点対応位置40wdを透視投影座標Appへと再投影し、透視投影座標Appにおける再投影位置(xr、yr、1)を求める。
【0064】
(xr、yr、1)〜P×AGwd (6)
【0065】
そして、再投影誤差算出部28は、オプティカルフロー17の始点17Sの位置(x、y)と、再投影位置(xr、yr)の円筒画像12における距離を再投影誤差Dとして次式(7)によって求める。
これにより、オプティカルフロー17の再投影誤差Dが求められる。
【0066】
D=[(x−xr)
2+(y−yr)
2]
1/2 (7)
【0067】
次に、
図4に示すステップ6において、移動物体検出部30は、各オプティカルフロー17の再投影誤差Dと所定閾値とを比較することで、再投影誤差Dが所定閾値を超えているオプティカルフロー17を特定し、特定されたオプティカルフロー17に基づいて、円筒画像12−2の中から移動物体を検出する。
【0068】
詳述すると、移動物体について求められたオプティカルフロー17は、拡大成分と並進成分を持つ。これに対し、静止物体について求められたオプティカルフロー17は、拡大成分しか持たない。また、上述の通り、円筒画像12における物体の面積や数は、静止物体が移動物体よりも大多数を占めている。
このため、移動物体のオプティカルフロー17の始点17Sに対し、上述のような擬似逆行列B
+や透視投影行列Pを用いた再変換を行った場合、静止物体のオプティカルフロー17に影響を大きく受けることで、再投影誤差Dも有意に大きくなる。
したがって、かかる有意な差を所定閾値(例えば、5pixel)として移動物体検出部30に予め設定し、再投影誤差Dが所定閾値以上のオプティカルフロー17を移動物体検出部30が特定することで、移動物体について求められているオプティカルフロー17が区別される。
【0069】
また、本実施形態の移動物体検出部30は、移動物体について求められているオプティカルフロー17を周知、又は公知の手法を用いてクラスタリングし、
図8に示すように、クラスタリングされたオプティカルフロー17の終点17Eを囲む矩形50の部分を、円筒画像12(円筒画像12−2)の中の移動物体の範囲として検出する。
クラスタリングの手法には、例えばK-means clustering法を用いることができる。この手法は、非階層型クラスタリングのアルゴリズムであり、クラスタの平均を用い、与えられたクラスタ数に分類することに因んで、MacQueenによって命名された手法である。
【0070】
上述した実施形態によれば、次のような効果を奏する。
【0071】
本実施形態の車載移動物体検出装置4は、実空間の3次元座標を円筒画像12の円筒画像座標Acpcに変換する透視投影行列Pを、当該円筒画像12から得られる複数のオプティカルフロー17に基づいて算出し、複数のオプティカルフロー17のそれぞれの始点17Sを3次元座標Awdに投影したときの端点対応位置40wdと、これらの端点対応位置40wdを円筒画像12に透視投影行列Pを用いて再投影した端点再投影位置40ppとの差である再投影誤差Dを算出し、オプティカルフロー17のそれぞれの再投影誤差Dに基づいて、移動物体に対応するオプティカルフロー17を特定する。
【0072】
これにより、円筒画像12(撮影画像11)に写る物体が移動物体よりも静止物体が支配的になる状況下において、円筒画像12の中から移動物体に対応するオプティカルフロー17を精度良く特定し、移動物体を検出することができる。
また、カメラ3(車両2)の移動方向と平行に移動物体が移動している場合や、円筒画像12(撮影画像11)の消失点19と略同じ位置で水平方向(円筒画像12の横方向)に移動物体が移動している場合であっても、車載移動物体検出装置4によれば、これらの移動物体のオプティカルフロー17を、静止物体のオプティカルフロー17と区別することができる。
【0073】
本実施形態の車載移動物体検出装置4によれば、移動物体に対応するオプティカルフロー17のクラスタリングに基づいて円筒画像12の中の移動物体を検出する。
これにより、円筒画像12の中から移動物体が写っている範囲を検出できる。
【0074】
本実施形態の車載移動物体検出装置4によれば、再投影誤差Dと所定閾値との比較に基づいて移動物体に対応するオプティカルフロー17を特定するため、所定閾値を適切に設定することで、移動物体に対応するオプティカルフロー17を、より正確に特定することができる。
【0075】
本実施形態の車載移動物体検出装置4によれば、カメラ3の撮影光学系によって歪みが生じた撮影画像11を、当該歪みが補正された円筒画像12に変換し、当該円筒画像12に基づいて複数のオプティカルフロー17を算出する。
これにより、広範囲の撮影のために、魚眼カメラがカメラ3に用いられている場合でも、魚眼レンズによる歪みの影響を受けずに、オプティカルフロー17を算出することができる。
また、歪みが補正された円筒画像12に撮影画像11を変換することで、円筒画像12に写っている物体とカメラ3との間の距離情報の抽出が容易となる。
【0076】
本実施形態の車載移動物体検出装置4によれば、車両2の走行中に撮影された撮影画像11から移動物体を精度良く検出することができ、各種の運転支援に有効に用いることができる。
【0077】
なお、上述した実施形態は、あくまでも本発明の一態様の例示であり、本発明の主旨を逸脱しない範囲において任意に変形、及び応用が可能である。
【0078】
上述した実施形態では、オプティカルフロー17の始点17Sについて端点対応位置40wd、及び端点再投影位置40ppを求め、これら端点対応位置40wd、及び端点再投影位置40ppに基づいて再投影誤差Dを算出した。
しかしながら、これに限らず、オプティカルフロー17の終点17E、及び始点17Sのどちらの端点も端点対応位置40wd、及び端点再投影位置40ppに用いることができる。
【0079】
上述した実施形態において、カメラ3の撮影光学系に起因した歪みが少ない場合、必ずしも撮影画像11の歪みを補正する必要はなく、当該撮影画像11に基づいて、オプティカルフロー17を算出してもよい。
【0080】
上述した実施形態において、カメラ3は、車両2に限らず、任意の移動体に設けてもよい。
【0081】
図1に示す機能ブロックは、本願発明を理解容易にするために、構成要素を主な処理内容に応じて分類して示した概略図であり、各構成要素は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
【0082】
上述した実施形態において、水平、及び垂直等の方向、各種の数値、及び形状に係る記載は、特段の断りがない限り、その方向の周辺、その数値の周辺、及び近似の形状を除外するものではない。すなわち、これらの方向、数値、及び形状と同じ作用効果を奏する限りにおいて、実施形態における方向、数値、及び形状は、その方向の周辺、その数値の周辺、及び近似の形状(いわゆる、均等の範囲)を含む。