(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-10
(45)【発行日】2023-07-19
(54)【発明の名称】画像処理装置、および、画像処理方法
(51)【国際特許分類】
G06T 7/20 20170101AFI20230711BHJP
H04N 7/18 20060101ALI20230711BHJP
G06T 7/70 20170101ALI20230711BHJP
【FI】
G06T7/20 100
H04N7/18 J
H04N7/18 K
G06T7/70 B
(21)【出願番号】P 2019213076
(22)【出願日】2019-11-26
【審査請求日】2022-06-13
(73)【特許権者】
【識別番号】000237592
【氏名又は名称】株式会社デンソーテン
(74)【代理人】
【識別番号】110001933
【氏名又は名称】弁理士法人 佐野特許事務所
(72)【発明者】
【氏名】小笹 隆幸
(72)【発明者】
【氏名】大西 康司
(72)【発明者】
【氏名】垣田 直士
(72)【発明者】
【氏名】上林 輝彦
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2017-078923(JP,A)
【文献】特開2015-176488(JP,A)
【文献】特開2017-102832(JP,A)
【文献】特開2014-194618(JP,A)
【文献】原岡 昌平,ヒヤリハットデータベース解析のための車載単眼カメラ映像からのピッチ角推定,第25回 画像センシングシンポジウム SSII 2019,日本,画像センシング技術研究会,2019年06月12日,IS2-35 , SO2-35,全7頁
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/20
G06T 7/70
G06T 7/00
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
移動体に搭載されるカメラで撮影された撮影画像を処理する制御部を備えた画像処理装置であって、
前記制御部は、
前記撮影画像に対して特徴点を抽出する抽出領域を複数設定し、
前記移動体の移動時に撮影された前記撮影画像の変化から前記特徴点のオプティカルフローを算出し、
複数の前記抽出領域ごとに、前記オプティカルフロー
の分散及び/又は平均値を求め、
前記分散及び/又は前記平均値に基づき、前記複数の抽出領域
から1つまたは複数の前記抽出領域を選択し、選択された前記抽出領域で得られた前記オプティカルフローに基づき前記カメラの姿勢を推定する、画像処理装置。
【請求項2】
前記
分散及び/又は前記平均値は、
前記オプティカルフローを前記カメラのカメラ座標系から前記移動体が走行する路面の座標系へと座標変換して得られる路面ベクトルと、
前記移動体の移動情報と、
に基づき算出される、請求項1に記載の画像処理装置。
【請求項3】
前記
分散及び/又は前記平均値は、複数の前記撮影画像のそれぞれに対して算出された前記オプティカルフローを合わせて求められる、請求項1又は2に記載の画像処理装置。
【請求項4】
前記分散が所定の閾値を超えない前記抽出領域を
選択する、請求項1から3のいずれか1項に記載の画像処理装置。
【請求項5】
前記平均値の差が所定の範囲内となる前記抽出領域を
選択する、請求項1から3のいずれか1項に記載の画像処理装置。
【請求項6】
前記分散が所定の閾値を超えない前記抽出領域
から前記平均値の差が所定の範囲内となる前記抽出領域
を選択する、請求項1から3のいずれか1項に記載の画像処理装置。
【請求項7】
移動体に搭載されるカメラで撮影された撮影画像を
画像処理装置により処理する画像処理方法であって、
前記撮影画像に対して特徴点を抽出する抽出領域を複数設定
し、
前記移動体の移動時に撮影された前記撮影画像の変化から前記特徴点のオプティカルフローを算出
し、
複数の前記抽出領域ごとに、前記オプティカルフロー
の分散及び/又は平均値を求め
、
前記
分散及び/又は前記平均値に基づき、前記複数の抽出領域
から1つまたは複数の前記抽出領域を選択し、
選択された前記抽出領域で得られた前記オプティカルフローに基づき前記カメラの姿勢を推定する、画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
従来、形状や寸法が既知の図形を用いることなく車載カメラの現在の取り付け角度を求めることができる技術が知られる(例えば、特許文献1参照)。
【0003】
特許文献1に開示される方法は、車両に取り付けられたカメラが車両の周囲を撮像するステップと、カメラにより撮像された画像内の路面画像にもとづいて動きベクトルを検出するステップと、検出された動きベクトルを、真上視点の動きベクトルとなるように車両の進行方向軸、路面法線方向軸ならびに進行方向軸および路面法線方向軸に直交する路面平行方向軸の3軸の各軸周りに独立に回転補正させるための式である真上視点の動きベクトルへの変換式を作成するステップと、真上視点の動きベクトルへの変換式からカメラの車両に対する取り付け角度を求めるステップと、を有する。
【0004】
なお、動きベクトルを検出するステップは、カメラにより撮像された画像内の路面画像が特徴点を含む路面画像であるか否かを判定するステップと、路面画像が特徴点を含む路面画像であると判定されると、この特徴点を含む路面画像にもとづいて動きベクトルを検出するステップと、を有する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、カメラで撮影される撮影画像には、路面以外のものが映ることがある。例えば、移動物、立体的な静止物、降っている雪、路面に積もった雪、カメラへの付着物(雨滴やごみ等)等が撮影画像に映ることがある。そして、このような路面以外のものから特徴点が抽出されることがある。
【0007】
路面から抽出される特徴点と、路面以外のものから抽出される特徴点とでは、車両等の移動体の動きに対する特徴点の動きが異なった動きとなる可能性がある。路面からの特徴点と、路面以外のものからの特徴点との区別が簡単にできればよいが、これらの区別は必ずしも簡単でない。このために、撮影画像から抽出される特徴点の動きを利用してカメラの取り付け角度を推定する場合等において、誤った推定を行う可能性があった。
【0008】
本発明は、上記の課題に鑑み、狙った対象以外から抽出される特徴点の動きを利用して後続の処理が行われる可能性を低減することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明の画像処理装置は、移動体に搭載されるカメラで撮影された撮影画像を処理する画像処理装置であって、前記撮影画像に対して特徴点を抽出する抽出領域を複数設定する設定部と、複数の前記抽出領域から抽出された前記特徴点のオプティカルフローを算出するフロー算出部と、複数の前記抽出領域ごとに、前記オプティカルフローに基づき統計情報を求める統計処理部と、前記統計情報に基づき、複数の前記抽出領域の中に前記オプティカルフローの利用が許容される抽出領域が存在するか否かを判断する判断部と、を備える構成(第1の構成)になっている。
【0010】
また、上記第1の構成の画像処理装置は、前記オプティカルフローの利用が許容される前記抽出領域にて得られる前記オプティカルフローに基づき、前記カメラの姿勢を推定する推定部を更に備える構成(第2の構成)であることが好ましい。
【0011】
また、上記第1又は第2の構成の画像処理装置において、前記統計情報は、前記オプティカルフローを前記カメラのカメラ座標系から前記移動体が走行する路面の座標系へと座標変換して得られる路面ベクトルと、自装置の外部から入力される情報により得られる前記移動体の移動情報と、に基づき算出される所定値の統計情報である構成(第3の構成)が好ましい。
【0012】
また、上記第3の構成の画像処理装置において、前記所定値は、前記移動体の速度に依存しない値である構成(第4の構成)であることが好ましい。
【0013】
また、上記第1から4のいずれかの構成の画像処理装置において、前記統計情報は、複数の前記撮影画像のそれぞれに対して算出された前記オプティカルフローを合わせて求められる構成(第5の構成)であることが好ましい。
【0014】
また、上記第1から第5のいずれかの構成の画像処理装置において、前記統計情報は、分散であり、前記判断部は、前記分散が所定の閾値を超えない前記抽出領域を前記オプティカルフローの利用が許容される抽出領域と判断する構成(第6の構成)であってよい。
【0015】
また、上記第1から第5のいずれかの構成の画像処理装置において、前記統計情報は、平均値であり、前記判断部は、前記平均値の差が所定の範囲内となる前記抽出領域が存在する前記抽出領域を、前記オプティカルフローの利用が許容される抽出領域と判断する構成(第7の構成)であってよい。
【0016】
また、上記第1から第5のいずれかの構成の画像処理装置において、前記統計情報は、平均値と分散とを含み、前記判断部は、前記分散が所定の閾値を超えず、且つ、前記分散が所定の閾値を超えない前記抽出領域の中に前記平均値の差が所定の範囲内となる前記抽出領域が存在する前記抽出領域を、前記オプティカルフローの利用が許容される抽出領域と判断する構成(第8の構成)であってよい。
【0017】
また、上記目的を達成するために本発明の画像処理方法は、移動体に搭載されるカメラで撮影された撮影画像を処理する画像処理方法であって、前記撮影画像に対して特徴点を抽出する抽出領域を複数設定する設定工程と、複数の前記抽出領域から抽出された前記特徴点のオプティカルフローを算出するフロー算出工程と、複数の前記抽出領域ごとに、前記オプティカルフローに基づき統計情報を求める統計処理工程と、前記統計情報に基づき、複数の前記抽出領域の中に前記オプティカルフローの利用が許容される抽出領域が存在するか否かを判断する判断工程と、を備える構成(第9の構成)になっている。
【発明の効果】
【0018】
本発明によれば、狙った対象以外から抽出される特徴点の動きを利用して後続の処理が行われる可能性を低減することができる。
【図面の簡単な説明】
【0019】
【
図2】画像処理装置において実行されるカメラの姿勢推定処理の一例を示すフローチャート
【
図4】オプティカルフローの算出について説明するための図
【
図5】オプティカルフローから仮想的に形成される四角形を示す図
【
図6】所定の平面との交線が互いに平行になる面の組を2組特定する手法を説明するための図
【
図7】特定した面の組の一方に基づき、面同士の交線の方向を求める手法を説明するための図
【
図8】特定した面の組の他方に基づき、面同士の交線の方向を求める手法を説明するための図
【
図9】オプティカルフローの選択処理の一例を示すフローチャート
【
図11】オプティカルフローの利用が許容されるROIについて説明するための模式図
【
図12】第1変形例におけるオプティカルフローの選択処理を示すフローチャート
【
図13】第2変形例におけるオプティカルフローの選択処理を示すフローチャート
【発明を実施するための形態】
【0020】
以下、本発明の例示的な実施形態について、図面を参照しながら詳細に説明する。以下の説明では、移動体として車両を例にとり説明するが、移動体は車両に限定されない。車両には、例えば自動車、電車、二輪車、無人搬送車等の車輪のついた乗り物が広く含まれる。車両以外の移動体として、例えば船舶や航空機等が挙げられる。
【0021】
また以下の説明では、車両の直進進行方向であって、運転席からハンドルに向かう方向を「前方向」とする。また、車両の直進進行方向であって、ハンドルから運転席に向かう方向を「後方向」とする。また、車両の直進進行方向及び鉛直線に垂直な方向であって、前方向を向いている運転者の右側から左側に向かう方向を「左方向」とする。また、車両の直進進行方向及び鉛直線に垂直な方向であって、前方向を向いている運転者の左側から右側に向かう方向を「右方向」とする。
【0022】
<1.画像処理装置の概要>
図1は、本発明の実施形態に係る画像処理装置1の構成を説明するための図である。
図1には、画像処理装置1に情報を入力する撮影部2、舵角センサ3、および、速度センサ4も示されている。本実施形態では、画像処理装置1は、撮影部2が搭載される車両ごとに備えられる。以下、画像処理装置1が備えられる車両のことを自車両と表現することがある。なお、画像処理装置1は、車載装置であっても、車両から持ち出し可能な携帯型の装置であってもよい。また、画像処理装置1は、必ずしも車両等の移動体に搭載されなくてよい。
【0023】
撮影部2は、車両外部の状況を監視する目的で車両に設けられる。撮影部2は、少なくとも1つのカメラ21を備える。カメラ21は、いわゆる車載カメラであり、車両に固定配置される。カメラ21は、画像処理装置1に有線又は無線により接続され、撮影画像を画像処理装置1に出力する。
【0024】
なお、撮影部2が車両の周囲の状況を監視する目的で設けられる場合には、撮影部2は、好ましくは、フロントカメラと、バックカメラと、左サイドカメラと、右サイドカメラとの4つのカメラ21を備える。フロントカメラは、車両の前方を撮影するカメラである。バックカメラは、車両の後方を撮影するカメラである。左サイドカメラは、車両の左方を撮影するカメラである。右サイドカメラは、車両の右方を撮影するカメラである。これら4つのカメラ21は、例えば魚眼レンズを用いて構成され、水平方向の画角θは180度以上とされる。これにより、4つのカメラ21によって、車両の水平方向における全周囲を撮影することができる。
【0025】
舵角センサ3は、画像処理装置1および撮影部2が搭載される車両に備えられ、当該車両のステアリングホイール(ハンドル)の回転角を検出する。舵角センサ3の出力は、CAN(Controller Area Network)バス等の通信バスB1を介して画像処理装置1に入力される。
【0026】
速度センサ4は、画像処理装置1および撮影部2が搭載される車両に備えられ、当該車両の速度を検出する。速度センサ4の出力は、通信バスB1を介して画像処理装置1に入力される。
【0027】
画像処理装置1は、車両(移動体)に搭載されるカメラ21で撮影された撮影画像を処理する。本実施形態では、画像処理装置1は、カメラ21の姿勢を推定する姿勢推定装置としての機能も有する。カメラ21は、例えば、経年劣化や外部からの衝撃等によって取付け姿勢が変化することがある。姿勢推定装置として機能する本実施形態の画像処理装置1は、カメラ21の姿勢推定を行うことにより、カメラ21の取付け姿勢の変化(異常)を検出することができる。
【0028】
図1に示すように、画像処理装置1は、取得部11と、制御部12と、記憶部13と、を備える。
【0029】
取得部11は、車両に搭載されるカメラ21から撮影画像を取得する。取得部11は、カメラ21からアナログ又はデジタルの撮影画像を所定の周期(例えば、1/30秒周期)で時間的に連続して取得する。すなわち、取得部11によって取得される撮影画像の集合体がカメラ21で撮影された動画像である。そして、取得した撮影画像がアナログの場合には、取得部11は、そのアナログの撮影画像をデジタルの撮影画像に変換(A/D変換)する。取得部11は、取得した撮影画像(A/D変換が行われた場合には変換後の撮影画像)を制御部12に出力する。取得部11から出力される1つの撮影画像が1つのフレーム画像となる。
【0030】
制御部12は、例えばマイクロコンピュータ等のコンピュータであり、画像処理装置1の全体を統括的に制御するコントローラである。制御部12は、不図示のCPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)を含む。記憶部13は、例えば、フラッシュメモリ等の不揮発性のメモリであり、各種の情報を記憶する。記憶部13は、ファームウェアとしてのプログラムや各種のデータを記憶する。
【0031】
図1に示す設定部121、フロー算出部122、統計処理部123、判断部124、および、推定部125は、制御部12のCPUが記憶部13に記憶されるプログラムに従って演算処理を実行することにより実現される制御部12の機能である。言い換えると、画像処理装置1は、設定部121と、フロー算出部122と、統計処理部123と、判断部124と、推定部125とを備える。
【0032】
なお、制御部12の、設定部121、フロー算出部122、統計処理部123、判断部124、および、推定部125の少なくともいずれか一つは、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成されてもよい。また、設定部121、フロー算出部122、統計処理部123、判断部124、および、推定部125は、概念的な構成要素である。1つの構成要素が実行する機能を複数の構成要素に分散させたり、複数の構成要素が有する機能を1つの構成要素に統合させたりしてよい。また、取得部11は、制御部12のCPUがプログラムに従って演算処理を行うことによって実現される構成でもよい。
【0033】
設定部121は、撮影画像に対して特徴点を抽出する抽出領域を複数設定する。本実施形態において、撮影画像は、撮影部2から取得部11を介して得られたフレーム画像である。特徴点は、撮影画像中のエッジの交点など、撮影画像において際立って検出できる点である。特徴点は、例えば路面に描かれた白線のエッジ、路面上のひび、路面上のしみ、路面上の砂利などである。本実施形態では、好ましい形態として、コーナーらしさを示すコーナー度が高い特徴点を抽出する。コーナーとは2つのエッジが交わる部分である。コーナー度は、例えばHarrisオペレータやKLT(Kanade-Lucas-Tomasi)トラッカーなどの公知の検出手法を用いて求めることができる。
【0034】
抽出領域は、撮影画像中の狙った対象から特徴点を効率良く抽出する等の目的で設定される。本実施形態において、狙った対象は、自車両が走行する路面である。このために、抽出領域は、撮影画像における路面が映る領域に設定される。本実施形態では、抽出領域の数は複数である。すなわち、複数の抽出領域から特徴点が抽出される。抽出領域の数は複数であればよく、その数は特に限定されない。なお、本明細書では、抽出領域のことをROI(Region Of Interest)と記載することがある。
【0035】
フロー算出部122は、複数の抽出領域(ROI)から抽出された特徴点のオプティカルフローを算出する。本実施形態において、フロー算出部122は、各ROIで抽出された各特徴点に対してオプティカルフローを算出する。オプティカルフローは、特徴点の動きを表す動きベクトルである。各ROIにおいては、特徴点が抽出される場合と、抽出されない場合とがある。特徴点が抽出された場合に、オプティカルフローが算出される。各ROIにおいては、複数の特徴点が抽出されることもあり、複数の特徴点が抽出された場合には、各特徴点に対してオプティカルフローが算出される。オプティカルフローの算出の詳細ついては後述する。
【0036】
統計処理部123は、複数の抽出領域(ROI)ごとに、オプティカルフローに基づき統計情報を求める。ここで言うオプティカルフローは、フロー算出部122で算出したオプティカルフローである。ROIごとにオプティカルフローに基づく統計情報を求めることで、ROIごとに求められたオプティカルフローのばらつき状態等を確認することが可能になる。統計情報は、例えば、分散、平均値、ヒストグラムの中央値又はピーク値等である。統計情報を求める処理の詳細については後述する。
【0037】
なお、統計情報は、或る1つの撮影画像を得た時点で算出されたオプティカルフローのみを用いて求められてよい。ただし、統計情報は、複数の撮影画像のそれぞれに対して算出されたオプティカルフローを合わせて求められることが好ましい。これによれば、統計情報を得るために用いるデータの数を増やすことができ、統計情報の信頼性を向上することができる。
【0038】
判断部124は、統計情報に基づき、複数の抽出領域(ROI)の中にオプティカルフローの利用が許容される抽出領域(ROI)が存在するか否かを判断する。ここで言う統計情報は、統計処理部123で求められた情報であり、各ROIに対して求められている。判断部124は、各ROIに対して、統計情報により適切なオプティカルフローが得られているか否かを判断する。適切なオプティカルフローとは、本実施形態においては、路面から適切な条件で得られたオプティカルフローである。判断部124は、適切なオプティカルフローが得られていると判断されたROIを、オプティカルフローの利用が許容できるROIとする。判断部124の判断処理の詳細については後述する。
【0039】
設定部121、フロー算出部122、統計処理部123および判断部124を備える画像処理装置1によれば、狙った対象(本実施形態では路面)以外から抽出される特徴点の動き(オプティカルフロー)を利用して後続の処理(本実施形態では後述の姿勢推定処理)が行われる可能性を低減することができる。撮影画像に誤推定の要因となる物体が映り込んだ場合でも、適切なオプティカルフローを用いて後続の処理を精度良く行うことができる。
【0040】
推定部125は、オプティカルフローの利用が許容される抽出領域(ROI)にて得られるオプティカルフローに基づき、カメラ21の姿勢を推定する。本実施形態によれば、処理に適したオプティカルフローを用いてカメラ21の姿勢推定を行うことができ、姿勢推定の精度を向上することができる。カメラ21の姿勢推定処理の詳細については後述する。
【0041】
なお、推定部125は、例えば、特徴点の位置の時間変化(オプティカルフロー)に基づき自車両の移動量推定を行う構成であってもよい。
【0042】
<2.姿勢推定処理>
次に、画像処理装置1によって実行されるカメラ21の姿勢推定処理について説明する。
図2は、画像処理装置1において実行されるカメラ21の姿勢推定処理の一例を示すフローチャートである。なお、撮影部2が複数のカメラ21を備える場合には、画像処理装置1は、各カメラ21に対して、
図2に示す姿勢推定処理を実行する。ここでは、カメラ21がフロントカメラである場合を例に、画像処理装置1によって実行されるカメラ21の姿勢推定処理について説明する。
【0043】
図2に示すように、まず、制御部12は、カメラ21を搭載する自車両が直進しているか否かを監視する(ステップS1)。自車両が直進しているか否かは、例えば、舵角センサ3から得られるステアリングホイールの回転角情報に基づいて判断することができる。例えば、ステアリングホイールの回転角がゼロのときに自車両が完全にまっすぐに進むとした場合に、回転角がゼロの場合だけでなく、回転角がプラス方向とマイナス方向の一定範囲内の値である場合を含めて、自車両が直進していると判断してよい。なお、直進には、前方方向の直進と、後退方向の直進との両方が含まれる。
【0044】
制御部12は、自車両の直進を検出するまで、ステップS1の監視を繰り返す。言い換えると、制御部12は、自車両が直進しない限り、カメラ21の姿勢の推定処理を進めない。これによれば、直進移動中における特徴点の位置変化を用いて姿勢の推定が行われることになり、自車両の進行方向が曲がっている場合の情報を用いて姿勢の推定が行われないので、姿勢の推定処理が複雑になることを避けることができる。ただし、自車両の進行方向が曲がっているときの特徴点の位置変化を用いて、姿勢の推定処理が進められる構成としてもよい。
【0045】
なお、自車両が直進走行しているか否かの判断に加えて、制御部12は、自車両の速度が所定の速度範囲内であるか否かの判断を行う構成とすることが好ましい。自車両の速度が遅すぎると、特徴点の動きが少なくオプティカルフローの算出の精度が低下する可能性がある。一方、自車両の速度が速すぎると、特徴点の動きが速すぎて特徴点を追従できない可能性がある。自車両の速度が所定の速度範囲内である場合にのみ姿勢の推定処理を進めることにより、このような不具合の発生を抑制することができる。なお、所定の速度範囲は、例えば、時速10km以上、時速40km以下等であってよい。自車両の速度は、速度センサ4を利用して取得されてよい。
【0046】
自車両が直進していると判断される場合(ステップS1でYes)、制御部12は、取得部11を介してカメラ21から撮影画像を取得する(ステップS2)。制御部12は、例えば数フレームから数十フレームの撮影画像を取得する。なお、取得された各フレーム画像には、設定部121によって複数のROIが設定される。
【0047】
次に、フロー算出部122が、各フレーム画像について、複数の抽出領域のそれぞれから特徴点の抽出を行う(ステップS3)。
図3は、特徴点の抽出について説明するための図である。
図3は、カメラ21で撮影された撮影画像Pを模式的に示している。撮影画像Pは、自車両のボディが映り込む領域BOを含む。
図3に示す例では、設定部121によって2つのROI5が設定されている。2つのROI5は、路面RSが映る範囲に設定され、前後方向に並ぶ。2つのROI5は矩形状である。
図3に示す例では、ROI5は、矩形状であるが、例えば円形状や楕円状等の矩形状以外の形状であってもよい。
図3に示す例では、前方のROI5と後方のROI5とでサイズが異なるが、同じサイズであってもよい。
【0048】
図3に示す例では、路面RSに描かれている制限速度を示す数字の部分にコーナー度が高い第1特徴点FP1及び第2特徴点FP2が存在する。このために、フロー算出部122は、路面RS上に存在する第1特徴点FP1及び第2特徴点FP2を抽出する。第1特徴点FP1および第2特徴点FP2は、後方のROI5から抽出される。
【0049】
なお、
図3では、便宜的に2つの特徴点FP1、FP2のみが示されているが、コーナー度が所定の特徴点閾値を超える特徴点が存在すれば、これ以外にも特徴点は抽出される。逆に、コーナー度が所定の特徴点閾値を超える特徴点が存在しない場合には、特徴点は抽出されない。
図3に示す例では、前方のROI5においては、特徴点は抽出されていない。また、各フレーム画像において、特徴点が1つも抽出されないこともあり得る。
【0050】
図2に戻って、特徴点の抽出処理が全てのフレーム画像に対して完了すると、フロー算出部122は、オプティカルフローの算出を行う(ステップS4)。オプティカルフローは、異なる時刻で撮影された2つの撮影画像間における特徴点の動きを示す動きベクトルである。本例では、異なる時刻の間隔は、取得部11のフレーム周期と同一である。ただし、これに限らず、異なる時刻の間隔は、例えば、取得部11のフレーム周期の複数倍であってもよい。
【0051】
図4は、オプティカルフローの算出について説明するための図である。
図4は、
図3と同様に便宜的に示された模式図である。
図4は、
図3に示す撮影画像P(便宜的に前フレームPとする)の撮影後、1フレーム周期経過した後にカメラ21で撮影された撮影画像P’(便宜的に現フレームP’とする)である。
図3に示す撮影画像Pの撮影後、1フレーム周期の間、自車両は前方に直進している。
図4に示す丸印FP1Pは、
図3に示す前フレームPの撮影時点における第1特徴点FP1の位置を示す。
図4に示す丸印FP2Pは、
図3に示す前フレームPの撮影時点における第2特徴点FP2の位置を示す。
【0052】
図4に示すように、自車両が前方に直進すると、自車両の前方に存在する第1特徴点FP1及び第2特徴点FP2は自車両に近づく。すなわち、第1特徴点FP1及び第2特徴点FP2は、現フレームP’と前フレームPとで異なる位置に現れる。フロー算出部122は、現フレームP’の第1特徴点FP1と前フレームPの第1特徴点FP1とを、その近傍の画素値に基づいて対応付け、対応付けた第1特徴点FP1のそれぞれの位置に基づいて、第1特徴点FP1のオプティカルフローOF1を算出する。同様に、フロー算出部122は、現フレームP’の第2特徴点FP2と前フレームPの第2特徴点FP2とを、その近傍の画素値に基づいて対応付け、対応付けた第2特徴点FP2のそれぞれの位置に基づいて、第2特徴点FP2のオプティカルフローOF2を算出する。
【0053】
なお、フロー算出部122は、取得した複数のフレーム画像のそれぞれについて上述のようにしてオプティカルフローの算出を行う。また、各フレーム画像において2つより多くのオプティカルフローが得られる場合がある。逆に、各フレーム画像において、オプティカルフローが1つしか得られない場合や、1つも得られない場合がある。
【0054】
図2に戻って、オプティカルフローが求められると、以後に行われる処理に使用するオプティカルフローが所定の選択条件に従って選択される(ステップS5)。所定の選択条件にしたがって、以後に行われる姿勢の推定に適した、2つのオプティカルフローで構成されるオプティカルフローの組が選択される。選択される当該組の数は、1つの場合もあるし、複数の場合もある。また、選択される組の数は、ゼロの場合もある。
図2には記載されないが、選択される組の数がゼロの場合には、ステップS1に処理が戻される。
【0055】
オプティカルフローの選択処理の詳細については後述する。ここでは、ステップS5で選択された使用オプティカルフローの組に、
図4に示す第1オプティカルフローOF1と第2オプティカルフローOF2との組が含まれるものして、ステップS6以降の処理について説明する。
【0056】
推定部125は、第1特徴点FP1のオプティカルフローOF1と第2特徴点FP2のオプティカルフローOF2を用いた処理を進める。推定部125は、特徴点に対し、記憶部13に記憶されているカメラ21の内部パラメータを用いて座標変換を行う。座標変換では、カメラ21の収差補正と、歪み補正とが行われる。収差補正は、カメラ21の光学系の収差による歪みを補正するために行われる。具体的には樽型歪みや糸巻歪みなど歪曲収差の補正である。歪み補正は、カメラ21の光学系そのものの歪みを補正するために行われる。具体的には魚眼補正などである。座標変換により、特徴点の座標は、被写体が透視投影によって撮影された場合に二次元画像上で得られる座標に変換される。
【0057】
特徴点の座標変換が行われると、推定部125は、
図5に示すように、第1特徴点FP1のオプティカルフローOF1の始点を頂点SP1、第1特徴点FP1のオプティカルフローOF1の終点を頂点EP1、第2特徴点FP1のオプティカルフローOF2の始点を頂点SP2、及び第2特徴点FP2のオプティカルフローOF2の終点を頂点EP2とする四角形QLを仮想的に形成する(ステップS6)。以降、説明のために四角形や、該四角形の辺などの幾何的要素を仮想的に形成して用いる。しかし、実際の処理では、特徴点の座標や直線の方向などのベクトル演算に基づき、同等の作用を持つ幾何的要素に基づかない処理としてもよい。
【0058】
四角形QLが仮想的に形成されると、推定部125は、四角形QLと、記憶部13に記憶されているカメラ21の内部パラメータとを用いて、三次元空間におけるカメラ21の投影面IMG(
図6参照)上に四角形QLを移動させ、投影面IMG上での四角形QL1を仮想的に生成する(ステップS7)。
【0059】
なお説明のため、以下のように辺を定義する。四角形QL1の第1辺SD1は、四角形QLにおいて、頂点SP1および頂点SP2を結んだ辺に対応する。つまり、前フレームPにおける第1特徴点FP1と第2特徴点FP2を結んだ辺に相当する。同様に、四角形QL1の第2辺SD2は、四角形QLにおいて、頂点SP2および頂点EP2を結んだ辺に対応する。つまり、第2特徴点FP2のオプティカルフローOF2に相当する。同様に、四角形QL1の第3辺SD3は、四角形QLにおいて、頂点EP1および頂点EP2を結んだ辺に対応する。つまり、現フレームP’における第1特徴点FP1と第2特徴点FP2とを結んだ辺に相当する。同様に、四角形QL1の第4辺SD4は、四角形QLにおいて、頂点SP1および頂点EP1を結んだ辺に対応する。つまり、第1特徴点FP1のオプティカルフローOF1に相当する。
【0060】
また、以下のように面を定義する(
図6参照)。四角形QL1の第1辺SD1とカメラ21の光学中心OCとが含まれる面を第1面F1とする。同様に、四角形QL1の第2辺SD2とカメラ21の光学中心OCとが含まれる面を第2面F2とする。同様に、四角形QL1の第3辺SD3とカメラ21の光学中心OCとが含まれる面を第3面F3とする。同様に、四角形QL1の第4辺SD4とカメラ21の光学中心OCとが含まれる面を第4面F4とする。
【0061】
次に、推定部125は、所定の平面との交線が互いに平行になる面の組を2組特定する(ステップS8)。所定の平面とはあらかじめ平面の法線が分かっている面である。具体的には車両が移動を行っている平面であり、つまり路面である。所定の平面は、厳密な平面でなくてもよく、推定部125が所定の平面との交線が互いに平行になる面の組を2組特定する際に平面とみなすことができるものであればよい。
【0062】
本実施形態では、画像処理装置1は、自車両が直進している場合に、異なる時刻に撮影された2つの画像から特徴点を抽出し、該特徴点のオプティカルフローを算出する。また、該特徴点は所定の平面(本実施形態では路面)上に位置している静止物から抽出される。したがって、算出されるオプティカルフローは実世界上では、自車両に対する静止物の相対的な位置変化を表す。つまり向きが逆となった自車両の移動ベクトルである。
【0063】
四角形QL1の第2辺SD2と第4辺SD4とは、共に特徴点のオプティカルフローに対応するので、共に実世界上では自車両の移動ベクトルに相当する。したがって、路面上では互いに平行となると想定される。
【0064】
また、四角形QL1の第1辺SD1と第3辺SD3とは、共に特徴点同士の位置関係なので、実世界上では自車両の移動に伴う静止物同士の位置関係に相当する。移動前の位置関係が第1辺SD1に相当し、移動後の位置関係が第3辺SD3に相当する。このとき静止物の位置は変わらないため、移動前後で位置関係は変わらない。したがって、路面上ではこれも互いに平行となると想定される。
【0065】
したがって、推定部125は、路面との交線が平行な面として、第2面F2と第4面F4との組と、第1面F1と第3面F3との組と、の2つの組を特定する。つまり、推定部125は、オプティカルフローを含む面同士を1つの組とし、同時刻に撮影された特徴点を含む面同士を他の組として、計2つの組を特定する。
【0066】
なお、
図6において四角形QL2は、現フレームP’の撮影時点での第1特徴点FP1の3次元空間(実世界)上の位置、現フレームP’の撮影時点での第2特徴点FP2の3次元空間上の位置、前フレームPの撮影時点での第1特徴点FP1の3次元空間上の位置、及び前フレームPの撮影時点での第2特徴点FP2の3次元空間上の位置を頂点とする四角形である。第1面F1は、四角形QL2の第1辺SD11を含む。同様に、第2面F2は四角形QL2の第2辺SD12を含み、第3面F3は四角形QL2の第3辺SD13を含み、第4面F4は四角形QL2の第4辺SD14を含む。このとき、上記のように四角形QL2は路面上に形成される平行四辺形であると想定される。
【0067】
次に、推定部125は、路面の法線を算出する(ステップS9)。まず、推定部125は、先に特定した面の組の一方である第1面F1と第3面F3とに基づき、面同士の交線の方向を求める。詳細には、第1面F1と第3面F3との交線CL1の向きを求める(
図7参照)。交線CL1の方向ベクトルV1は、第1面F1の法線ベクトル及び第3面F3の法線ベクトルそれぞれと垂直なベクトルである。したがって、推定部125は、第1面F1の法線ベクトルと第3面F3の法線ベクトルとの外積により、交線CL1の方向ベクトルV1を求める。第1面F1と第3面F3は、路面との交線が平行となるため、方向ベクトルV1は路面と平行になる。
【0068】
同様に、推定部125は、先に特定した面の組の他方である第2面F2と第4面F4との交線の方向を求める。詳細には第2面F2と第4面F4との交線CL2の向きを求める(
図8参照)。交線CL2の方向ベクトルV2は、第2面F2の法線ベクトル及び第4面F4の法線ベクトルそれぞれと垂直なベクトルである。したがって、推定部125は、第2面F2の法線ベクトルと第4面F4の法線ベクトルとの外積により、交線CL2の方向ベクトルV2を求める。第2面F2と第4面F4も同様に、路面との交線が平行となるため、方向ベクトルV2は路面と平行になる。
【0069】
推定部125は、方向ベクトルV1と方向ベクトルV2との外積により、四角形QL2の面の法線、すなわち路面の法線を算出する。推定部125が算出した路面の法線はカメラ21のカメラ座標系で算出されるため、実際の路面の法線である垂直方向との違いから3次元空間の座標系を求め、路面に対するカメラ21の姿勢を推定することができる。その推定結果から推定部125は自車両に対するカメラ21の姿勢を推定する(ステップS10)。なお、ステップS9の算出処理は、例えば公知のARToolkitを利用して実行することができる。
【0070】
ステップS10における姿勢推定が終了すると、推定部125は、ステップS5で選択した全てのオプティカルフローの組について、姿勢の推定が完了したか否かを確認する(ステップS11)。全ての組に対して姿勢の推定が完了している場合には(ステップS11でYes)、
図2に示すフローが終了する。一方、全ての組に対して姿勢の推定が完了していない場合には(ステップS11でNo)、ステップS6に戻ってステップS6以降の処理が繰り返される。
【0071】
なお、上記の説明ではカメラ21の光学中心OCと、四角形QL1の1つの辺を含む平面を特定するとしたがこの限りではない。当該平面の法線方向の特定をもって平面を特定するとしてもよい。例えば光学中心OCから各頂点への方向ベクトルの外積により平面の法線方向を求め、該法線方向によって面を特定するとしてもよい。この場合、第1面F1の法線方向と第3面F3の法線方向とを1つの組とし、第2面F2の法線方向と第4面F4の法線方向とを他の組として2つの組を特定するとよい。
【0072】
また、面は平行移動させてもよい。例えば第1面F1の代わりに、第1面F1を平行移動させた面を第3面F3と組としてもよい。平行移動しても所定の平面との交線の向きは変わらないからである。
【0073】
また、画像処理装置1は、複数の推定結果に基づいて姿勢の推定を確定させることが好ましい。この場合、所定数以上の姿勢の推定結果が得られるまで
図2の処理を繰り返す構成としてよい。所定数以上の姿勢の推定結果が蓄積された時点で、例えば、平均値、又は、ヒストグラムの中央値やピーク値を求めて、当該求めた結果を姿勢推定の確定結果としてよい。姿勢推定の確定結果は、画像処理装置1における更なる処理に利用されてもよいし、外部装置に出力されてもよい。
【0074】
姿勢推定の確定結果に基づいて、例えば、カメラ21の取付けのずれが生じた状態であるか否かが判定されてよい。カメラ21の取付けのずれが生じた状態であると判定された場合、例えば、当該異常事態が自車両のユーザに報知される。これにより、自車両のユーザはディーラによるカメラの取付け調整を依頼する等の対策をとることが可能となる。
【0075】
また、カメラ21の姿勢推定の確定結果は、カメラ21のパラメータの補正に利用されてよい。これにより、カメラ21の取付けのずれが生じても、そのずれに応じたカメラのキャリブレーションが実行されることになり、カメラ21の取付けのずれが撮影画像に及ぼす悪影響を抑制することができる。また、姿勢の推定結果は、複数の車両とネットワークにより通信可能に設けられるセンターに撮影画像を送信する場合に、撮影画像とセットにしてセンターに送信されてもよい。これにより、センターでの撮影情報の取り扱いを適切に行うことができる。
【0076】
<3.オプティカルフローの選択処理>
図9は、オプティカルフローの選択処理の一例を示すフローチャートである。
図9は、
図2のステップS5の処理の詳細例を示す図である。
【0077】
まず、統計処理部123は、フロー算出部122によりフレーム画像ごとに求められたオプティカルフローについて、路面ベクトルに変換する(ステップS51)。路面ベクトルは、オプティカルフローを、カメラ21のカメラ座標系から車両が走行する路面の座標系へと座標変換して得られる。なお、カメラ21が魚眼レンズである場合、座標変換処理には歪補正が含まれることが好ましい。また、フレーム画像ごとに求められたオプティカルフローが複数の場合には、複数のオプティカルフローのそれぞれについて路面ベクトルへの変換が行われる。
【0078】
図10は、座標変換処理を説明するための図である。
図10の符号Pは撮影画像を示す。統計処理部123は、カメラ21の視点位置21aに基づいて、オプティカルフローOFを座標平面Rに投影することで路面ベクトルVrへ変換する。具体的には、統計処理部123は、カメラ21の取付け高さおよび取付け俯角によって設定される視点位置21aを仮想視点に変換することで、オプティカルフローOFを路面ベクトルVrへ変換する。 より詳細には、統計処理部123は、撮影画像Pを等距離射影方式により変換した平面を取り付け俯角だけ回転させることで、オプティカルフローOFを路面座標系である座標平面Rの路面ベクトルVrへ変換する。
【0079】
路面ベクトルへの変換を完了すると、統計処理部123は、路面ベクトルと、自装置1の外部から入力される情報により得られる車両の移動情報と、に基づき所定値を算出する。路面ベクトルごとに所定値の算出が行われる。車両の移動情報は、例えば自車両の移動距離又は車両の速度である。自装置1の外部から入力される情報は、例えば自車両の速度である。自車両の速度は、例えば速度センサ4から取得することができる。ただし、自車両の速度は、例えばGPS(Global Positioning System)受信機等の他の車載センサから取得されてもよい。なお、車両の移動情報は、自装置1の外部から入力される情報からそのまま得られる情報でもよいし、自装置1の外部から入力される情報に対して演算処理を行うことによって得られる情報でもよい。
【0080】
本実施形態において、所定値は、路面ベクトルの前後方向成分の大きさをVry、自車両の前後方向の移動距離の期待値をEyとした場合に、以下の式(1)で求められる移動量比率Myである。
My(%) = (Vry-Ey)/Ey × 100 (1)
【0081】
路面ベクトルの前後方向成分の大きさを利用するのは、車両が前後方向に直進する場合に撮影される画像から路面ベクトルの元になる特徴量の抽出が行われることを考慮するものである。自車両の前後方向の移動距離の期待値Eyは、前回フレーム画像の撮影タイミングから現フレーム画像の撮影タイミングまでの間における自車両の前後方向の移動距離である。前回フレーム画像と現フレーム画像との撮影時間間隔をTs、当該撮影時間間隔における自車両の速度をSとした場合、前後方向の移動距離の期待値Eyは、自車両が直進走行をしているために以下の式(2)で求められる。
Ey = S × Ts (2)
自車両の速度Sは、速度センサ4から取得することができる。
【0082】
なお、移動量比率Myは、車両の速度の変動によって変動しない値である。すなわち、所定値は、車両の速度に依存しない値である。このために、本実施形態によれば、各フレーム画像を取得する際における自車両の速度が変動した場合でも、複数のフレーム画像から得られる所定値(移動量比率My)の統計情報を、自車両の速度変動の影響を除外して算出することができる。
【0083】
また、所定値は、式(1)で求められるもの以外であってもよい。例えば、所定値は、式(1)の差分値(Vry-Ey)を、路面ベクトルVrの前後方向成分の大きさVryに替えて求めた値であってもよい。また、上記では移動距離を基準として所定値が設定されたが、速度を基準として所定値が設定されてもよい。また、上述したように、統計情報は、或る1つのフレーム画像の結果のみから得てもよい。この場合には、自車両の速度変動の影響を考慮しなくてもよい。このために、所定値は、例えば、単に、路面ベクトルの前後方向成分の大きさVryから自車両の前後方向の移動距離の期待値Eyを差し引いた値(Vry-Ey)等としてもよい。
【0084】
移動量比率My(所定値)が求められると、統計処理部123は、ROIごとに移動量比率Myの分散を算出する(ステップS53)。すなわち、本実施形態では、統計情報は分散である。分散は、例えば、以下の式(3)で求められる。
【数1】
n :算出対象ROIにおける移動量比率Myの数
xi :算出対象ROIにおける各移動量比率Myの値
m :算出対象ROIにおけるn個の移動量比率Myの平均値
【0085】
本実施形態では、複数のフレーム画像のそれぞれについて、ROIごとの移動量比率Myの算出結果が存在する。なお、各フレーム画像において、ROIごとに求められる移動量比率Myの数は、複数、単数、ゼロのいずれかである。算出対象ROIにおける移動量比率Myの数は、各フレーム画像の算出対象ROIで得られた移動量比率Myの数を全て足した値である。算出対象ROIにおける各移動量比率Myの値は、各フレーム画像の算出対象ROIで得られた移動量比率Myを一纏めとした場合における各移動量比率Myの値が該当する。
【0086】
なお、上述のように、ROIごとに求められる統計情報(ここでは分散)は、或る1つのフレーム画像の結果のみから得てもよい。この場合には、算出対象ROIにおける移動量比率Myの数は、当該フレーム画像の算出対象ROIで得られた移動量比率Myの数である。また、算出対象ROIにおける各移動量比率Myの値は、当該フレーム画像の算出対象ROIで得られた移動量比率Myの値のそれぞれが該当する。
【0087】
以上からわかるように、本実施形態では、ROIごとに得られる統計情報は、路面ベクトルと、車両の移動情報とに基づき算出される所定値の統計情報である。本実施形態によれば、車両の実際の移動情報(例えば移動量)を考慮して、各ROIにて得られるオプティカルフローの利用の適否を判断することができる。このために、路面以外のものから抽出された特徴点のオプティカルフローが得られる可能性が高いROIを除外できる可能性を向上できる。
【0088】
ROIごとの所定値(移動量比率My)の分散が算出されると、判断部124は、求めた分散が所定の閾値を超えないROIがあるか否かを判断する(ステップS54)。分散が大きいROIは、路面以外のものから抽出された特徴点を追跡したオプティカルフローが多く含まれている可能性が高い。また、分散が大きいROIは、例えば、走行環境(明るさや影の存在等)や路面状況(白線がかすれている等)が安定していない可能性が高い。すなわち、分散が大きいROIは、その後の姿勢推定処理に不適切なオプティカルフローを含む可能性が高い。ステップS54は、このような不適切なオプティカルフローが求められるROIを、オプティカルフローの選択対象から除外する目的で設けられる。
【0089】
所定の閾値は、路面以外のものから抽出された特徴点のオプティカルフロー等の、不適切なオプティカルフローが求められるROIの除外漏れがないように設定される。所定の閾値は、例えば実験やシミュレーション等によって求められる。路面以外のものとしては、例えば、立体物、降っている雪や雨、カメラ21への付着物等が挙げられる。立体物には、移動物および静止物が含まれる。移動物は、例えば他車両等である。静止物は、例えば道路に降り積もった雪等である。
【0090】
求めた分散が所定の閾値を超えないROIがある場合(ステップS54でYes)、判断部124は、当該ROIからオプティカルフローの選択を行ってよいと判断する。
図9においては、求めた分散が所定の閾値を超えないROIのことを許容ROIと表現している。許容ROIからオプティカルフローの選択が行われる(ステップS55)。許容ROIの数は、1つに限らず、複数のこともある。
【0091】
詳細には、各フレーム画像における許容ROIから、2つのオプティカルフローで構成されるオプティカルフローの組が選択される。許容ROIに含まれるオプティカルフローの数が2つを超える場合、例えば、組み合わせ可能な全ての組が選択される。なお、許容ROIから2つのオプティカルフローで構成される組が選択できないこともあり得る。オプティカルフローの組が選択できないフレーム画像について、当該フレーム画像を用いた姿勢推定を行うことはできない。
【0092】
一方、全てのROIの求めた分散が所定の閾値を超える場合(ステップS54でNo)、判断部124は、オプティカルフローの利用を許容されるROIがないと判断する。この場合、姿勢推定を行うためのオプティカルフローの組を得ることができないために、
図2のステップS1に戻ってステップS1以降の処理が行われる。
【0093】
以上のように、本実施形態では、判断部124は、分散が所定の閾値を超えない抽出領域(ROI)をオプティカルフローの利用が許容される抽出領域と判断する。このような構成では、路面以外のものから得られるオプティカルフローや、信頼性の低いオプティカルフローを用いて、その後の処理(本実施形態では姿勢推定処理)が行われることを避けられる。すなわち、本実施形態によれば、姿勢推定処理の精度を向上することができる。
【0094】
図11は、オプティカルフローの利用が許容されるROIについて説明するための模式図である。
図11において、符号100は自車両、符号200は他車両である。
図11に示す例では、第1抽出領域5a、第2抽出領域5b、第3抽出領域5c、および、第4抽出領域5dの4つのROIが設定されている。
図11において、黒丸は特徴点FPを示す。
【0095】
第1抽出領域5aおよび第2抽出領域5bにおいては、路面上の白線300から得られる特徴点FPの他に、他車両200から特徴点FPが抽出されている。一方、第3抽出領域5cおよび第4抽出領域5dにおいては、路面上の白線300から得られる特徴点FPのみが抽出されている。
【0096】
他車両200は立体物であり、路面以外のものである。上述のように、路面以外のものから抽出された特徴点のオプティカルフローは分散を大きくする原因となる。このために、
図11に示す例では、判断部124により、第1抽出領域5aおよび第2抽出領域5bから得られるオプティカルフローは利用が許容されないと判断される。一方、判断部124は、第3抽出領域5cおよび第4抽出領域5dから得られるオプティカルフローについて利用が許容されると判断する。
図11に示す例では、第3抽出領域5cおよび第4抽出領域5dから得られるオプティカルフローを用いて、推定部125による姿勢推定処理が行われることになる。
【0097】
<4.変形例>
以下、2つの変形例について説明する。変形例の説明に際して、上述の実施形態と重複する内容については、原則としてその説明を省略する。
【0098】
(4-1.第1変形例)
以上に示す実施形態では、統計処理部123が求める統計情報を分散としたが、例えば、統計情報は平均値であってよい。第1変形例は、統計処理部123が求める統計情報が平均値である場合を想定する。
【0099】
図12は、第1変形例におけるオプティカルフローの選択処理を示すフローチャートである。
図12は、
図2のステップS5の処理の詳細例を示す図である。
【0100】
上述の実施形態と同様に、統計処理部123は、まず、フレーム画像ごとに求められたオプティカルフローについて、路面ベクトルに変換する(ステップS51A)。路面ベクトルへの変換を完了すると、統計処理部123は、路面ベクトルごとに、上述の式(1)により移動量比率Myを算出する(ステップS52A)。
【0101】
移動量比率Myが求められると、統計処理部123は、ROIごとに移動量比率Myの平均値を算出する(ステップS53A)。第1実施形態と同様に、本変形例でも、複数のフレーム画像のそれぞれについて、ROIごとの移動量比率Myの算出結果が存在する。各フレーム画像の結果を一纏めとしてROIごとの平均値が算出される。なお、平均値の算出対象ROIにおける移動量比率Myの数は、各フレーム画像の算出対象ROIで得られた移動量比率Myの数を全て足した値である。
【0102】
ROIごとの所定値(移動量比率My)の平均値が算出されると、判断部124は、各ROIについて、平均値の差が所定の範囲内となるROIがあるか否かを判断する(ステップS54A)。平均値が他のROIと大きく異なるROIは、例えば、路面以外のものから抽出された特徴点のオプティカルフローが多く含まれている可能性が高い。すなわち、平均値が他のROIと大きく異なるROIは、その後の姿勢推定処理に不適切なオプティカルフローを含む可能性が高い。ステップS54Aは、このような不適切なオプティカルフローが求められるROIを、オプティカルフローの選択対象から除外する目的で設けられる。
【0103】
所定の範囲は、路面以外のものから抽出された特徴点のオプティカルフロー等の、不適切なオプティカルフローが求められるROIの除外漏れがないように設定される。所定の範囲は、例えば実験やシミュレーション等によって求められる。
【0104】
平均値の差が所定の範囲内となるROIがある場合(ステップS54AでYes)、判断部124は、当該ROIからオプティカルフローの選択を行ってよいと判断する。
図12においては、平均値の差が所定の範囲内となるROIが存在するROIのことを許容ROIと表現している。許容ROIからオプティカルフローの選択が行われる(ステップS55A)。許容ROIの数は、2つのみ限らず、3つ以上となる場合もある。
【0105】
一方、全てのROIにおいて平均値の差が所定の範囲内となるROIが存在しない場合(ステップS54AでNo)、判断部124は、オプティカルフローの利用を許容されるROIがないと判断する。この場合、姿勢推定を行うためのオプティカルフローの組を得ることができないために、
図2のステップS1に戻ってステップS1以降の処理が行われる。
【0106】
以上のように、本変形例では、判断部124は、平均値の差が所定の範囲内となる抽出領域(ROI)が存在する抽出領域を、オプティカルフローの利用が許容される抽出領域と判断する。このような構成では、路面以外のものから得られるオプティカルフロー等の不適切なオプティカルフローを用いて、その後の処理(本例では姿勢推定処理)が行われることが避けられる。すなわち、本変形例によれば、姿勢推定処理の精度を向上することができる。
【0107】
(4-2.第2変形例)
以上に示す実施形態では、統計処理部123が求める統計情報を分散としたが、例えば、統計情報は平均値と分散とを含んでよい。第2変形例は、統計処理部123が求める統計情報が平均値と分散とである場合を想定する。
【0108】
図13は、第2変形例におけるオプティカルフローの選択処理を示すフローチャートである。
図13は、
図2のステップS5の処理の詳細例を示す図である。
【0109】
上述の実施形態と同様に、統計処理部123は、まず、フレーム画像ごとに求められたオプティカルフローについて、路面ベクトルに変換する(ステップS51B)。路面ベクトルへの変換を完了すると、統計処理部123は、路面ベクトルごとに、上述の式(1)により移動量比率Myを算出する(ステップS52B)。
【0110】
移動量比率Myが求められると、統計処理部123は、上述した第1変形例と同様にして、ROIごとに移動量比率Myの平均値を算出する(ステップS53B)。また、統計処理部123は、上述した実施形態と同様にして、ROIごとの分散を算出する(ステップS54B)。
【0111】
ROIごとの所定値(移動量比率My)の平均値および分散が算出されると、判断部124は、求めた分散が所定の閾値を超えないROIがあるか否かを判断する(ステップS55B)。求めた分散が所定の閾値を超えないROIがある場合(ステップS55BでYes)、判断部124は、当該ROIを対象ROIとし、各対象ROIについて、対象ROIの中に、平均値の差が所定の範囲内となるROIがあるか否かを判断する(ステップS56B)。
【0112】
なお、全てのROIにおいて求めた分散が所定の閾値を超える場合(ステップS55BでNo)、判断部124は、オプティカルフローの利用を許容されるROIがないと判断して、
図2のステップS1に処理を戻す。
【0113】
対象ROIの中に平均値の差が所定の範囲内となるROIがある場合(ステップS56BでYes)、判断部124は、当該ROIからオプティカルフローの選択を行ってよいと判断する。
図13においては、分散が所定の閾値を超えず、且つ、分散が所定の閾値を超えない対象ROIの中に平均値の差が所定の範囲内となるROIが存在するROIのことを許容ROIと表現している。許容ROIからオプティカルフローの選択が行われる(ステップS57B)。許容ROIの数は、2つのみ限らず、3つ以上となる場合もある。
【0114】
一方、全ての対象ROIにおいて、対象ROIの中に平均値の差が所定の範囲内となるROIが存在しない場合(ステップS56BでNo)、判断部124は、オプティカルフローの利用を許容されるROIがないと判断して、
図2のステップS1に処理を戻す。
【0115】
以上のように、本変形例では、判断部124は、分散が所定の閾値を超えず、且つ、分散が所定の閾値を超えない抽出領域(対象ROI)の中に平均値の差が所定の範囲内となる抽出領域(ROI)が存在する抽出領域(ROI)を、オプティカルフローの利用が許容される抽出領域と判断する。このような構成では、単に分散のみや平均値のみを用いて不適切なオプティカルフローが算出される可能性が高いROIを除外する場合に比べて、不適切なオプティカルフローが算出される可能性が高いROIをより適切に除外することができる。このために、本変形例によれば、姿勢推定処理の精度をより向上することができる。
【0116】
<5.留意事項>
本明細書における実施形態や変形例の構成は、本発明の例示にすぎない。実施形態や変形例の構成は、本発明の技術的思想を超えない範囲で適宜変更されてよい。また、複数の実施形態及び変形例は、可能な範囲で組み合わせて実施されてよい。
【0117】
本発明は、自動駐車等の移動体の運転支援を行うカメラの姿勢推定を行うために利用することができる。また、本発明は、ドライブレコーダ等の運転情報を記録するカメラの姿勢推定を行うために利用することができる。また、本発明は、カメラの姿勢の推定情報を利用して撮影画像を補正する補正装置等に利用することができる。
【0118】
また、本発明は、複数の移動体とネットワークにより通信可能に設けられるセンターと連携して動作する装置等に利用することができる。当該装置は、例えば、センターに撮影画像を送信する場合に、カメラの姿勢の推定情報を撮影画像とセットにして送信する構成であってよい。そして、センターでは、カメラの姿勢の推定情報を用いて、各種画像処理(カメラの姿勢も考慮した画像の視点・視方向を変更する処理、例えば車両の車体前方方向の画像に視点・視方向変換した画像を生成する等)、画像を用いた計測処理におけるカメラの姿勢に対する補正処理、カメラ姿勢の経年変化の統計処理(多くの車両のデータ)等を行い、ユーザへの有用な提供データを生成する等を行う。
【符号の説明】
【0119】
1 画像処理装置
5 抽出領域
5a 第1抽出領域
5b 第2抽出領域
5c 第3抽出領域
5d 第4抽出領域
21 カメラ
100 自車両(移動体)
121 設定部
122 フロー算出部
123 統計処理部
124 判断部
125 推定部