(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】演算装置、速度算出方法
(51)【国際特許分類】
G01C 3/06 20060101AFI20241111BHJP
G08G 1/16 20060101ALI20241111BHJP
G06T 7/00 20170101ALI20241111BHJP
G06T 7/593 20170101ALI20241111BHJP
【FI】
G01C3/06 110V
G01C3/06 140
G08G1/16 C
G06T7/00 650B
G06T7/00 300D
G06T7/593
(21)【出願番号】P 2021105309
(22)【出願日】2021-06-25
【審査請求日】2024-02-19
(73)【特許権者】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】小林 正幸
【審査官】▲高▼場 正光
(56)【参考文献】
【文献】特開2009-150862(JP,A)
【文献】特開平10-187974(JP,A)
【文献】米国特許出願公開第2010/0066588(US,A1)
【文献】中国特許出願公開第110556003(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01P 3/00 - G01P 3/80
G01B 11/00 - G01B 11/30
G01C 3/06
G06T 7/00 - G06T 7/90
G08G 1/00 - G08G 99/00
(57)【特許請求の範囲】
【請求項1】
移動体に搭載される演算装置であって、
前記移動体の進行方向と検知物体の進行方向とが交差する角度である交差角度を特定する交差角度特定部と、
カメラが撮影して得られる撮影画像を少なくとも含むセンシング結果を取得するセンシング情報取得部と、
前記センシング結果に基づき第1時刻における前記検知物体との距離を算出する測距部と、
前記撮影画像に基づき第2時刻における前記移動体の進行方向に対する角度である画角を特定する画角特定部と、
前記交差角度、前記第1時刻における前記移動体との距離、前記第2時刻における前記移動体との角度、前記第1時刻と前記第2時刻の時間差、および前記移動体の速度に基づき、前記検知物体の速度を算出する速度算出部と、を備える演算装置。
【請求項2】
請求項1に記載の演算装置において、
前記撮影画像は、第1撮像部が撮像する第1画像と、第2撮像部が撮像する第2画像とを含み、
前記測距部は、前記第1画像または前記第2画像における前記検知物体の撮影位置に基づき前記検知物体との距離を算出する、または前記第1画像および前記第2画像における前記検知物体の視差に基づき前記検知物体との距離を算出する、演算装置。
【請求項3】
請求項1に記載の演算装置において、
前記センシング結果は、撮像部が撮像する前記撮影画像と、距離センサが計測する距離情報とを含み、
前記測距部は、前記距離情報を前記検知物体との距離とする、演算装置。
【請求項4】
請求項1に記載の演算装置において、
前記交差角度特定部は、前記交差角度を90度と仮定する、演算装置。
【請求項5】
請求項1に記載の演算装置において、
前記交差角度特定部は、前記移動体の位置情報と地図情報に基づき前記交差角度を算出する、演算装置。
【請求項6】
請求項1に記載の演算装置において、
前記画角特定部は、前記第1時刻における前記撮影画像から前記移動体の画像情報を取得し、前記第2時刻における前記撮影画像に撮影された前記移動体の位置から前記画角を特定する、演算装置。
【請求項7】
請求項6に記載の演算装置において、
前記第1時刻における前記撮影画像における前記移動体のピクセル数、および前記第2時刻における前記撮影画像に撮影されると想定される前記移動体のピクセル数のうち、少ない方のピクセル数に基づきマッチング用テンプレートを作成するテンプレート作成部をさらに備え、
前記画角特定部は、前記マッチング用テンプレートを用いて前記第2時刻における前記撮影画像を探索することで前記画角を特定する、演算装置。
【請求項8】
請求項1に記載の演算装置において、
前記画角特定部は、前記測距部が測距可能な領域である測距可能領域の外側に存在する前記検知物体が撮影された前記撮影画像に基づき前記画角を特定する、演算装置。
【請求項9】
請求項8に記載の演算装置において、
前記第1時刻は前記第2時刻よりも遅い時刻である、演算装置。
【請求項10】
請求項8に記載の演算装置において、
前記第1時刻は前記第2時刻よりも早い時刻である、演算装置。
【請求項11】
請求項8に記載の演算装置において、
前記撮影画像は、第1撮像部が撮像する第1画像と、第2撮像部が撮像する第2画像とを含み、
前記第1撮像部の視野、および前記第2撮像部の視野は、ステレオ視野において重複し、
前記測距部は、前記第1画像および前記第2画像における前記ステレオ視野に存在する前記検知物体の視差に基づき前記検知物体との距離を算出し、
前記画角特定部は、前記第1画像における前記ステレオ視野ではない領域に存在する前記検知物体に基づき前記画角を特定する、演算装置。
【請求項12】
請求項1に記載の演算装置において、
前記撮影画像は、第1撮像部が撮像する第1画像を含み、
前記測距部は、前記第1画像における前記検知物体の撮影位置に基づき前記検知物体との距離を算出する、演算装置。
【請求項13】
移動体に搭載される演算装置が実行する速度算出方法であって、
前記移動体の進行方向と検知物体の進行方向とが交差する角度である交差角度を特定することと、
カメラが撮影して得られる撮影画像を少なくとも含むセンシング結果を取得することと、
前記センシング結果に基づき第1時刻における前記検知物体との距離を算出することと、
前記撮影画像に基づき第2時刻における前記移動体の進行方向に対する角度である画角を特定することと、
前記交差角度、前記第1時刻における前記移動体との距離、前記第2時刻における前記移動体との角度、前記第1時刻と前記第2時刻の時間差、および前記移動体の速度に基づき、前記検知物体の速度を算出することと、を含む速度算出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算装置、および速度算出方法に関する。
【背景技術】
【0002】
カメラによって撮像された画像等に基づき、画像中で移動する物体を検知するための様々な技術が知られている。特許文献1には、撮像手段により撮像した画像から物体領域を抽出する物体領域抽出手段と、前記撮像手段の撮像範囲外に照射した電磁波の反射波から前記撮像範囲外の物体までの距離情報を取得する距離情報取得手段と、前記距離情報取得手段が取得した距離情報を用いて、前記撮像範囲外の物体が前記撮像手段の撮像範囲内に入った際に前記物体領域抽出手段が該物体の物体領域を抽出するための予測領域情報を作成する情報作成手段と、を有することを特徴とする画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されている発明では、測定対象の速度を算出するためには異なる時刻における距離情報を取得する必要があり、距離情報が得られない状況では速度を算出できない。
【課題を解決するための手段】
【0005】
本発明の第1の態様による演算装置は、移動体に搭載される演算装置であって、前記移動体の進行方向と検知物体の進行方向とが交差する角度である交差角度を特定する交差角度特定部と、カメラが撮影して得られる撮影画像を少なくとも含むセンシング結果を取得するセンシング情報取得部と、前記センシング結果に基づき第1時刻における前記検知物体との距離を算出する測距部と、前記撮影画像に基づき第2時刻における前記移動体の進行方向に対する角度である画角を特定する画角特定部と、前記交差角度、前記第1時刻における前記移動体との距離、前記第2時刻における前記移動体との角度、前記第1時刻と前記第2時刻の時間差、および前記移動体の速度に基づき、前記検知物体の速度を算出する速度算出部と、を備える。
本発明の第2の態様による速度算出方法は、移動体に搭載される演算装置が実行する速度算出方法であって、前記移動体の進行方向と検知物体の進行方向とが交差する角度である交差角度を特定することと、カメラが撮影して得られる撮影画像を少なくとも含むセンシング結果を取得することと、前記センシング結果に基づき第1時刻における前記検知物体との距離を算出することと、前記撮影画像に基づき第2時刻における前記移動体の進行方向に対する角度である画角を特定することと、前記交差角度、前記第1時刻における前記移動体との距離、前記第2時刻における前記移動体との角度、前記第1時刻と前記第2時刻の時間差、および前記移動体の速度に基づき、前記検知物体の速度を算出することと、を含む。
【発明の効果】
【0006】
本発明によれば、距離情報が直接算出できない時刻のセンシング結果と、距離情報が直接算出できる時刻のセンシング結果とを用いて測定対象の速度を算出できる。上記した以外の課題、構成および効果は、以下の発明を実施するための形態の説明により明らかにされる。
【図面の簡単な説明】
【0007】
【
図3】第1の実施の形態に係るカメラシステムが有する機能を示す機能ブロック図
【
図5】ステレオマッチング部による視差画像生成を説明する概念図
【
図6】ステレオ検知部による立体物の検知方法を説明する概念図
【
図8】
図7のステップS705およびステップS706の詳細を示すフローチャート
【
図9】
図7のステップS708に示した速度算出処理の詳細を示すフローチャート
【
図11】
図10の例を自車両を中心とした相対的な位置に置き換えた図
【
図14】
図13の例を自車両を中心とした相対的な位置に置き換えた図
【
図17】
図8のステップS804に示すテンプレート選択処理の詳細を示すフローチャート
【
図19】変形例1におけるカメラシステムの機能構成図
【
図20】変形例2におけるカメラシステムの機能構成図
【
図21】第2の実施の形態に係るカメラシステムが有する機能を示す機能ブロック図
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明の実施形態を説明する。実施例は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0009】
同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0010】
実施例において、プログラムを実行して行う処理について説明する場合がある。ここで、計算機は、プロセッサ(例えばCPU、GPU)によりプログラムを実行し、記憶資源(例えばメモリ)やインターフェースデバイス(例えば通信ポート)等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)等である。
【0011】
プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施例において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0012】
―第1の実施の形態―
図1~
図18を参照して、演算装置の第1の実施の形態を説明する。本実施の形態に係る演算装置は、検知物体(以下では「測定対象」とも呼ぶ)が、特定可能な距離に存在している時刻の検知と測距結果と、その時刻以外のセンシング結果から特定したその物体の画角と、自車両の速度とを用いて、検知物体の速度を特定する。本実施の形態では、自車両の進路と検知物体の進路とが、略直交に交わると仮定する。検知物体の速度は、二つの時刻の間の検知物体の移動量から時刻差を割ることで求める。
【0013】
検知物体の移動量のうち、演算装置から見て奥行方向の移動量を自車の移動量と断定する。前述の一方の時刻の距離と移動量から、他方の時刻の奥行距離を特定し、該もう一方の時刻の物体の画角から、横方向の距離を特定することで、横方向の移動量も特定する。前述の直交に近い移動方向への特定は、物体の種別識別において行う。識別器で物体の種別を識別する際に、物体の向いている向きを識別し、その画角において該向きが直交に近い移動方向かを特定する。
【0014】
本実施の形態に係る画像処理システムは、カメラが撮影して得られる画像(以下では「撮影画像」と呼ぶ)から対象となる物体を検知する。対象となる物体は、たとえば移動体や立体物、特定の物体などである。この「移動体」とは、背景に対して動いているものを指す。ただし、「背景」とは、撮影画像中で変化しない画素からなる領域に限らない。たとえば、走行する車両に搭載されるカメラの撮影画像の場合には、車両の走行に伴い撮像位置が変化する路面も背景であり、路面に対して移動を行う歩行者や車両が移動体である。またたとえば、固定された監視カメラであれば、カメラ画像内で動く人物や動物、動かされる物、などが移動体である。
【0015】
「立体物」は、たとえば、路面に対して高さのある物体で、車両や歩行者、二輪車、電柱などである。「特定の物体」は、たとえば、車両や歩行者、二輪車などの設計者が意図的に検知したいと定めた特定の物体を指す。特定の物体は、テンプレートやパターンや機械学習の辞書などを予め用意して、テンプレートやパターンや機械学習の辞書との類似度が高いものを検知する。画像処理システムはこの検知を行うとともに、カメラから一定の範囲の物体を検知し、物体の距離と速度を算出する。
【0016】
図1は視野画角と車両の位置関係を説明する図である。車両100は、カメラシステム101と、左撮像部102と、右撮像部103とを備える。左撮像部102は車両100の左側に配された撮像部であり、光軸102Axは車両100の前方に向き、車両100の中心軸に対して図示右側に広い視野である右視野1021を有する。右撮像部103は車両100の右側に配された撮像部であり、光軸103Axは車両100の前方に向き、車両100の中心軸に対して図示左側に広い視野である左視野1031を有する。車両100は車両速度センサと、舵角センサまたはヨーレートセンサの少なくとも1つを備える。以下では、右撮像部103の撮影画像を右画像203と呼び、左撮像部102の撮影画像を左画像202と呼ぶ。
【0017】
図1に示すように、右視野1021と左視野1031は車両100の前方では重複している。この重複する視野を以下では「ステレオ視野」と呼び、右視野1021からステレオ視野を除いた視野を「右単眼視野」と呼び、左視野1031からステレオ視野を除いた視野を「左単眼視野」と呼ぶ。
【0018】
図2は、視野の相関関係を示す図である。図示上断は左撮像部102の撮影画像である左画像202、図示中断は右撮像部103の撮影画像である右画像203、図示下段は左画像202および右画像203を用いて作成された合成画像204である。合成画像204は、右単眼領域204Rと、ステレオ領域204Sと、左単眼領域204Lとに分けられる。
【0019】
右単眼領域204Rは、
図1を参照して説明した右単眼視野の領域に相当する。ステレオ領域204Sは、
図1を参照して説明したステレオ視野の領域に相当する。左単眼領域204Lは、
図1を参照して説明した左単眼視野の領域に相当する。
【0020】
図3は、第1の実施の形態に係るカメラシステム101が有する機能を示す機能ブロック図である。カメラシステム101は、1つのハードウェアである演算装置として実現されてもよいし、複数のハードウェア装置により実現されてもよい。カメラシステム101は、左撮像部102と、右撮像部103と、ステレオマッチング部301と、単眼検知部302と、単眼測距部303と、テンプレート作成部304と、画像保持部305と、類似箇所探索部306と、画角特定部307と、ステレオ検知部308と、速度算出部309と、車両速度入力部310と、車両舵角入力部311と、ヨーレート入力部312と、交差角度特定部1901Zとを備える。カメラシステム101は、車両100に搭載される車両速度センサ313と、車両舵角センサ314と、ヨーレートセンサ315とに接続される。
【0021】
交差角度特定部1901Zは、車両100の進行方向と他の車両の進行方向とが交差する角度である交差角度を特定するが、本実施の形態では交差角度は常に90度と仮定している。そのため本実施の形態における交差角度特定部1901Zは特段の演算を行わず、交差角度の値が「90」度であることを保持する構成を備えればよい。たとえば交差角度特定部1901Zは、不揮発性記憶装置により実現できる。
【0022】
左撮像部102および右撮像部103は撮像センサを含み、たとえば公知のカメラとして構成される。撮像センサにはレンズが取り付けられ、装置の外界を撮像する。撮像センサは、例えばCMOS(Complementary Metal Oxide Semiconductor)を備え、光を電気信号に変換する。
【0023】
左撮像部102および右撮像部103の撮像センサで電気信号に変換された情報は、さらに左撮像部102および右撮像部103内で、撮影画像を表す画像データに変換される。画像データは画素の輝度値を含む。輝度値は、たとえばデジタル値として表現することができ、RGB(Red Green Blue)やRC(Red Clear)等の色毎の輝度値や、モノクロの輝度値として表される。左撮像部102および右撮像部103は、画像データをステレオマッチング部301、単眼検知部302、単眼測距部303、テンプレート作成部304、画像保持部305、類似箇所探索部306、および画角特定部307に送信する。左撮像部102および右撮像部103は、所定の周期、たとえば17ミリ秒ごとに画像データを送信する。
【0024】
左撮像部102および右撮像部103は、撮像センサの露光条件を変更する機能を備える。たとえば、撮像センサにグローバルシャッタまたはローリングシャッタ等の電子シャッタが備わっており、露光時間を任意の時間に設定して撮影することができる。受光素子として、受光すると電荷が蓄積されるフォトダイオードを用いる場合には、露光時間は、フォトダイオードの蓄積電荷をリセットしてから、輝度値に係る情報を読み出すために電荷を取り出すまでの時間を指す。
【0025】
露光時間を長くすると電荷が多く蓄積されるので、読み出される輝度値が高くなる。一方で露光時間を短くすると蓄えられる電荷が少なくなるので、読み出される輝度が低くなる。そのため、露光時間に相関して、撮像センサから得られる画像の明るさが変化する。
【0026】
左撮像部102および右撮像部103は、フォトダイオードから取り出される電荷量を電圧に変換し、A/D(Analog Digital)変換を行ってデジタル値を取得する。左撮像部102および右撮像部103はA/D変換に用いる増幅器を備えており、露光条件の一部として増幅器のゲインが変更できるように構成される場合がある。その場合には、増幅器のゲイン設定に応じて読み出される輝度値が変化する。ゲインを高くすれば輝度値は高く、ゲインを低くすれば輝度値は低くなる。
【0027】
ここで、一般的に、露光条件(上記の例では露光時間およびゲイン)の変化により輝度値が低くなると、暗い対象物の輝度値が0になったり、コントラスト比が低い対象物の輝度値が一様になったりし、輪郭や濃淡等が判別できなくなる場合がある。この問題は輝度値をデジタル値として表現する場合に顕著であるが、アナログ値として表現する場合にも同質の問題が発生し得る。同様に、露光条件の変化により輝度値が高くなると、明るい対象物の輝度値が最大値となり、対象物の輪郭や対象物の濃淡が判別できなくなる場合がある。従って、撮影する対象物の明るさに応じて露光条件を設定する必要がある。
【0028】
左撮像部102および右撮像部103は、時系列的に繰り返し電子シャッタを切り、シャッタ毎の画像データを取得することにより動画を撮影することができる。単位時間あたりの電子シャッタを切り画像データを出力する回数をフレームレートと呼び、1秒あたりのフレームレートをFPS(Frame Per Second)の単位で表す。
【0029】
左撮像部102および右撮像部103が取得する撮影画像は、撮像素子がセンシングして得られた結果なので、以下では撮影画像を「センシング結果」とも呼ぶ。また、左撮像部102および右撮像部103は、センシング情報を取得するので、「センシング情報取得部」と呼ぶことができる。また以下では、左撮像部102と右撮像部103とを区別するために、前者を「第1撮像部」、後者を「第2撮像部」と呼ぶことがある。ただしこの呼び分けは便宜的であり、入れ替え可能な呼称である。
【0030】
ステレオマッチング部301は、左撮像部102および右撮像部103から画像データを含むデータを受信し、これを処理することにより視差を演算する。視差とは、複数の撮像部の位置の違いから生じる、同一物体の写る画像座標の差である。視差は、近距離のものは大きく、遠距離のものは小さくなり、視差から距離を算出することが可能である。
【0031】
ステレオマッチング部301では、左画像202および右画像203の画像データの歪みを補正する。たとえば、中心射影や透視投影モデルと言われる、同一の高さで同一の奥行距離の物体が、画像座標の水平に並ぶように画像データの歪を補正する。なお、水平方向に並ぶように補正するのは、左撮像部102と右撮像部103が左右方向に並んで配されているためである。補正された左画像202および右画像203を用いて、これらの一方を基準となる基準画像データとし、他方を比較対象とする比較画像データとして視差を求める。
【0032】
なお上述した説明では中心射影を用いる例を記載したが、画角が広い場合は画像データのサイズを抑制するために、たとえば円筒や球面に射影してもよい。その際のマッチングを行う際には、投影面上同一距離の物体が並ぶ探索線でマッチングをとる必要がある。
【0033】
視差を求める際は、まず前述の基準画像データと、比較画像データの消失点の垂直座標を合わせる。そして、基準画像データの各座標に対して、比較画像データの同一垂直座標のどの水平座標が同一物体を映しているのかを、たとえばSSD(Sum of Squared Difference)やSAD(Sum of Absolute Difference)などの手法で検査する。
【0034】
ただしSSDやSADに限定されず、そのほかの手法でもよい、たとえばコーナー特徴点抽出を行い、同一特徴点かを検査する、FAST(Features from Accelerated Segment Test)やBRIEF(Binary Robust Independent Elementary Features)などの手法を組み合わせて同一物体のマッチングを行ってもよい。
【0035】
単眼検知部302は、左画像202または右画像203に映る特定の物体を検知する。特定の物体とは、立体物や移動体であり、具体的には歩行者、車両、自転車などである。検知はカメラから一定の範囲内の特定の物体を検知する。検知された結果は、検知された物体の写る左画像202または右画像203の画像座標の情報を保持する。たとえば、検知物体を囲む長方形の枠(以下、「単眼検知枠」と呼ぶ)の左上と左下の垂直水平の画像座標として保持する。
【0036】
種別識別部317は、単眼検知部302やステレオ検知部308により検知された物体の種別を識別する。物体の種別は、横断動作を行うことが想定される物体である、四輪車、二輪車、歩行者は、移動方向となる物体の前面の向きが、何れの向きなのかも特定する。これらの移動体の前面の向きは、カメラシステム101に対しての物体の前面の向きである。本実施例では、直交に近い移動方向に限定して動作する。直交に近い移動方向かは、画角とカメラシステム101に対する物体の前面の向きにより判断する。例えばカメラシステム101の右側に写る物体の場合、物体の進行する向きの面と側面とが写る。45°の角度の場合は、前面と側面が45°の向きで見える場合に直交に近い移動方向の物体と分かる。種別識別部317は、直交に近い移動方向の物体か否かの判断結果を、速度算出部309に伝達する。
【0037】
単眼測距部303は、単眼検知部302で検知された特定の物体の位置を特定し、左撮像部102または右撮像部103からの距離と方向を求める。たとえば、特定された距離と方向は、車両100前方の奥行距離と横方向の横距離の平面上の位置を特定できる座標系で表す。ただし、カメラからの距離であるユーグリッド距離と方向で表す極座標系で表した情報を保持してもよく、奥行と横の2軸との相互変換は三角関数を用いればよい。単眼測距部303は、左画像202、右画像203、および合成画像204を路面に射影した俯瞰画像を用いて、俯瞰画像の垂直座標と水平座標と、実際の路面に対する俯瞰画像の垂直と水平方向の縮尺から位置を特定する。
【0038】
ただし位置の特定に俯瞰画像を用いることは必須の構成ではない。カメラの位置と姿勢の外部パラメータと、焦点距離・撮像素子の画素ピッチと光学系の歪の情報を用いて、幾何計算を行うことで特定してもよい。
【0039】
テンプレート作成部304は、撮影画像の1つを選択し、この撮影画像(以下、「検知画像」と呼ぶ)から特定の領域を切り抜いてテンプレートとする。具体的にはテンプレート作成部304は、単眼検知部302で検知された物体の単眼検知枠の内部および周辺の画素情報から、類似箇所を探すためのテンプレートを作成する。このテンプレートは、あらかじめ定められた画像サイズに拡大縮小される。テンプレートを拡大縮小する際は、縦横の比率を維持するか、大きく変えないこととする。拡大縮小処理の後に、画素の輝度値自体か、縮小画像内を複数の小領域(以下、「カーネル」とも呼ぶ)に分割し、カーネル内の輝度値の関係を、その画像の特徴として記憶する。画像の特徴は様々な形で抽出され、カーネル内の左右や上下の平均輝度差や、周辺と中央の平均輝度差、輝度の平均や分散など、様々な特徴量が存在するが、本実施の形態ではいずれを用いてもよい。
【0040】
画像保持部305は、左画像202および右画像203を一定時間、または異なる時刻の左画像202および右画像203が一定枚数蓄積されるまで保持する。この保持には記憶装置、たとえばDRAM(Dynamic Random Access Memory)などが用いられる。保持する記憶装置内の番地と範囲は、あらかじめ複数定めておき、撮像画像毎に転送先の番地を順に変えていき、一巡後は古い画像が記憶された領域を上書きしていくとよい。予め番地が定められているため、保持された画像を読み出す際に番地を通知する必要がない。
【0041】
類似箇所探索部306は、テンプレート作成部304で作成されたテンプレートに類似する箇所を、画像保持部305に格納される画像の中から探し出す。以下では、類似箇所探索部306がテンプレートとの類似箇所を探索する画像を「探索対象画像」と呼ぶ。探索対象画像は、単眼検知部302で検知された時刻の画像とは異なる画像である。どの時刻の画像を選択するかは、検知された時刻の画像のひとつ前の時刻に撮影された画像を選ぶことを基本とする。類似箇所は検知された時刻の単眼検知枠座標の近くに存在する可能性が高く、またテンプレートに対して、検知物体の向きの変化や、露光変化などによる輝度変化も少ないことが期待されるので、高精度な探索が可能である。
【0042】
ただし、撮像間隔が短い場合は、2つ以上前の時刻の画像を探索対象画像に選択してもよい。また、車速に応じて選択する画像を変えてもよい。たとえば、車速が閾値以上の場合は、検知された画像の撮像時刻に対して、近い時刻の古い画像を選び、車速が前述の閾値よりも遅い場合は、前述の近い時刻の古い画像よりも更に古い画像を選んでもよい。車両速度が速い場合は、検知された時刻に対して近い時刻の画像であれば、テンプレートに対して大きく見え方が変わらず、探索の精度が確保しやすい。また、車速が遅い場合は、検知された時刻に対して、類似箇所を探す画像での検知物体の位置変化が大きくなり、算出速度の精度を向上できる。
【0043】
画角特定部307は、類似箇所探索部306が特定した類似箇所に写る特定の物体の、カメラの水平画角を特定する。ただし位置とともに高さも特定する場合は、垂直画像も特定する。また、カメラがロール回転する可能性がある場合も、水平と垂直の両方の画角を特定することで、速度を高精度に算出できる。水平画角は、奥行距離と横距離の比率から三角関数で求めればよい。
【0044】
ステレオ検知部308は、ステレオマッチング部301で作成した視差画から、同一距離で一定のサイズの範囲の箇所を立体物として検知する。検知された物体は視差画座標情報を保持する。たとえば、検知物体を囲む長方形の枠(以下、「ステレオ検知枠」と呼ぶ)の左上と左下の垂直水平の画像座標として保持する。
【0045】
ステレオ測距部316は、ステレオ検知部308により検知された物体の位置を特定して距離と方向を特定する。たとえば、特定された距離と方向は、車両100前方の奥行距離と横方向の横距離の平面上の位置を特定できる座標系で表す。ただし、カメラからの距離であるユーグリッド距離と方向で表す極座標系で表した情報を保持してもよく、奥行と横の2軸との相互変換は三角関数を用いればよい。
【0046】
ステレオ測距部316は、物体の視差から奥行方向の距離を算出する。ステレオ測距部316は、算出した物体の視差にばらつきがある場合は、平均や最頻値を用いる。視差のばらつきが大きい際は、特定の外れ値をとる手法を用いてもよい。横距離は、ステレオ検知部308の検知枠の水平画角と奥行距離から、三角関数を用いて求める。
【0047】
速度算出部309は、単眼測距部303またはステレオ測距部316から測距結果を受け取り、画角特定部307から類似箇所の画角を受け取り、車両速度入力部310と車両舵角入力部311とヨーレート入力部312から車両挙動情報を受け取り、検知された特定の物体の速度を算出する。ただし速度算出部309は、車両速度入力部310から車両速度を受け取る代わりに、算出した相対的な奥行距離の微分値を車両速度として用いてもよい。これは、奥行距離は精度が良く測距でき、横距離は精度が悪く測距される場合に有用である。また奥行速度を車両速度の代わりに用いると、直交しない横断車両との衝突予測も精度よくできる。
【0048】
車両速度入力部310は、車両速度センサ313から車両の速度情報が入力される。車両舵角入力部311は、車両舵角センサ314から車両の舵角情報が入力される。ヨーレート入力部312は、ヨーレートセンサ315から車両の旋回速度が入力される。
【0049】
車両速度センサ313は、車両100に搭載された車両の速度を測定する装置である。車両速度センサ313はたとえば、車輪の回転速度と車輪の外周長から車両の速度を測定する。車両舵角センサ314は、車両100に搭載された、操舵輪の舵角を測定する装置である。車両舵角センサ314はたとえば、車両100に搭載されるステアリングの回転角度センサである。ヨーレートセンサ315は、車両100の旋回速度を測定する装置である。ヨーレートセンサ315はたとえば、車両100の重心付近や、複数個所に装着された慣性センサである。
【0050】
ステレオマッチング部301、単眼検知部302、単眼測距部303、テンプレート作成部304、類似箇所探索部306、画角特定部307、ステレオ検知部308、および速度算出部309は、次のように実現されてもよい。すなわちこれらの機能ブロックは、不図示の中央演算装置であるCPU、不図示の読み出し専用の記憶装置であるROM、および不図示の読み書き可能な記憶装置であるRAMを用いて、CPUがROMに格納されるプログラムをRAMに展開して実行することで実現されてもよい。
【0051】
ただしこれらの機能ブロックは、CPU、ROM、およびRAMの組み合わせの代わりに書き換え可能な論理回路であるFPGAや特定用途向け集積回路であるASICにより実現されてもよい。またこれらの機能ブロックは、CPU、ROM、およびRAMの組み合わせの代わりに、異なる構成の組み合わせ、たとえばCPU、ROM、RAMとFPGAの組み合わせにより実現されてもよい。
【0052】
車両速度入力部310、車両舵角入力部311、およびヨーレート入力部312は、通信ポート、たとえばIEEE802.3に対応する通信モジュールにより実現されてもよいし、電圧や電流を読み込み可能なADコンバータにより実現されてもよい。
【0053】
図4は単眼検知部302の動作を説明する概念図である。
図4の上段左に示す第1右画像203-1は、時刻t1に撮影された右画像203である。
図4の上段右に示す第1射影画像401は、第1右画像203-1を路面に射影変換して得られる。この射影変換では、1画素が路面の奥行と横の一定距離に相当するように変換される。変換のためには、カメラの姿勢であるカメラの路面からの高さと路面に対するカメラの光軸の向きを、チルト回転、パン回転、ロール回転の情報からカメラ幾何計算を行い、路面の一定距離間隔が第1右画像203-1のどこに対応するのか求めることで、変換用のアフィンテーブルを作成する。このアフィンテーブルを用いてアフィン変換を行い、第1右画像203-1を路面に射影した第1射影画像401を得る。
【0054】
図4の中段左に示す第2右画像203-2は、時刻t2に撮影された右画像203である。時刻t2は、前述の時刻t1よりも後の時刻である。
図4の中段右に示す第2射影画像402は、第2右画像203-2を路面に射影変換して得られる。
図4の下段に示す差分画像404は、第1射影画像401と第2射影画像402とを用いて以下のように作成される。
【0055】
差分画像404は、時刻t1と時刻t2との間に車両100が移動した分だけ、この移動を打ち消す方向に第2射影画像402を並進移動させ、第1射影画像401と重ねて差異を抽出して得られる。この差異は、第1射影画像401と第2射影画像402の輝度を比較するだけではなく、各画像のエッジの強度と方向を比較して差異を抽出することで、撮像された画角により立体物が映り込む角度が変わることを差分として取得できる。このようにして生成された差分画像404を用いることで立体物の検知が可能となる。
【0056】
図5はステレオマッチング部301による視差画像生成を説明する概念図である。
図5の下部に示す視差画像500は、右画像203を基準画像とし、左画像202との視差を算出して得られた画像である。視差とは、複数の撮像部の位置の違いから生じる、同一物体の写る画像座標の差である。視差は、近距離のものは大きく、遠距離のものは小さくなり、視差から距離を算出することが可能である。
【0057】
図6はステレオ検知部308による立体物の検知方法を説明する概念図である。短冊視差画像600は、視差画像500を縦長の短冊状に、換言すると図示左右方向に並ぶ縦長の複数の領域601に分割したものである。ステレオ検知部308は、分割された領域毎に、距離または視差が同一である存在の頻度を示すヒストグラムを作成して評価をする。このヒストグラムは、たとえば距離の逆数などの、路面のみが写る領域では頻度が一定となる横軸を設定する。符号603で示す短冊領域は路面しか映らないので、符号6031のヒストグラムに示すように頻度が一定となる。
【0058】
立体物を含む領域602のヒストグラム6021は、立体物の存在する距離までの路面の視差が頻度一定に存在し、立体物が存在する距離Z0の頻度にピークが生じる。このように立体物がある場合、ヒストグラム中の最頻値に一定以上の高さの立体物の距離にピークが生じるので、最頻値から立体物の距離を特定できる。
【0059】
ステレオ検知部308は、立体物の距離が特定できたら、視差画像の中の立体物の位置を特定する。符号604は、視差画像500上に立体物の検知結果を表示した例である。矩形6022は、立体物を検知した範囲を示している。ステレオ検知部308は、ヒストグラムで特定した立体物の水平座標の範囲で、特定した距離の視差の座標の集合を特定するラベリング処理およびクラスタリング処理を行う。なお無効視差や視差誤差等で立体物の視差の中に視差の無効値が含まれる場合や視差誤差が多い場合は、たとえばMean―Shiftを用いたクラスタリング処理などのように、分散離散した座標の視差から、一定距離の視差の集合を抽出できる手法を用いるとよい。
【0060】
図7は速度算出処理を示すフローチャートである。まずステップS701ではステレオマッチング部301がステレオマッチングを行う。ステレオマッチングでは、視差画像500を生成する。続くステップS702では、単眼検知部302またはステレオ検知部308が特定の物体や立体物や移動体を抽出して、画像座標上のいずれかの物体の座標を出力する物体検知処理を行う。
【0061】
続くステップS703では速度算出部309は、直前のステップS702において検知された物体の距離を算出する。続くステップS704では速度算出部309は、テンプレート作成部304で検知された物体の特徴をテンプレートとして抽出する。物体検知は、単眼検知部302またはステレオ検知部308で行った結果を用いる。続くステップS705の探索範囲設定処理と、S706の類似箇所特定処理は、いずれも類似箇所探索部306が実行する。ここではステップS705およびS706の概要を説明し、詳細は
図8を参照して後に説明する。
【0062】
ステップS705では、類似箇所を探索する画像上の座標の範囲を設定する。この設定ではさらに、探索する際のテンプレートと照会するテンプレートの代表点、たとえば下端中央の範囲や、テンプレートと照会する際の画像を切り抜く範囲である幅と高さ、さらには、幅と高さを決める縮尺も決定する。この設定ではさらに、類似箇所との照会方法によって、探索範囲の中の照会処理を行う点の間隔も設定する。代表点は、ステップS703において測距された距離に対して、車両の挙動情報から、類似箇所を探索する画像と、物体検知S702と物体測距S703を行った画像の撮像時刻の時間で、物体が静止していた場合にどの程度接近や離間したのかを想定した位置を中心に設定する。
【0063】
ステップS706では、S705で設定された探索範囲を対象として、S704で作成したテンプレートとの類似箇所を探索する。探索処理の対象となる画像は、S702とS703で検知や測距された画像とは異なる時刻に撮像された画像である。速度算出部309は、探索して最も類似した箇所の画像座標を出力する。さらに、最も類似した箇所において、識別器を用いて物体の種別を識別し、検知した物体の種別と一致しているか、または回帰推定を行い、検知された物体種別の座標を推定し座標が一致していることの検算も行う。この検算を行うことで、類似箇所の特定精度を上げることができる。また、この検算により、類似箇所を探索する画像において、遮蔽物や光の加減や露光の問題で、検知物体がカメラ画像上で見えない状態で、実際の物体の速度とは異なる速度を算出することを防ぐ。
【0064】
ステップS707では画角特定部307は、ステップS706で特定された類似箇所の画角を特定する。このステップS707では、類似箇所の画像座標から、カメラ幾何等を用いて、物体のカメラかの位置を特定し、奥行距離と横距離の比率から三角関数で画角を特定する。なお、カメラの姿勢変化や高さの変化の特定が困難で、カメラ幾何の誤差が懸念される場合には、光軸からの類似箇所の座標の距離から、画角を算出することで、カメラの姿勢変化や高さ変化を特定せずに画角を特定してもよい。ただし、カメラの姿勢変化や高さの変化を特定し算出した方がカメラ幾何計算による速度算出の精度が高まるので、カメラの姿勢や高さ変化の特定を行い、これらの特定に失敗する場合のみ光軸からの類似箇所の座標の距離からの画角算出を行い、この場合には速度の信頼度が下がったことをあわせて出力する。
【0065】
続くステップS708では、速度算出部309が速度算出処理を行う。速度算出部309は、ステップS707において特定した画角と、ステップS703における物体測距と車両挙動の情報から速度を算出する。車両挙動は、車両速度入力部310、車両舵角入力部311、およびヨーレート入力部312が取得する車両速度、車両舵角、およびヨーレートの情報を用いる。
【0066】
図8は、
図7のステップS705およびステップS706の詳細を示すフローチャートである。まずステップS801では速度算出部309は、車両挙動情報を用いてフレーム間の移動量を特定する。具体的には速度算出部309は、テンプレートを作成した検知画像の撮影時刻と、類似箇所を探索する画像の撮像時刻との差を算出し、車両挙動情報に含まれる車両の速度との乗算により移動量を算出する。続くステップS802では速度算出部309は、検知画像上の、検知物体の高さ幅のピクセル数を特定する。
【0067】
続くステップS803では速度算出部309は、探索対象画像における検知画像上の物体の大きさ、すなわちピクセル数を推定する。ステップS803における処理の詳細は次のとおりである。ステップS803ではまず、カメラ幾何を用いて、検知画像上の物体の実サイズを特定する。次に、検知画像上の検知物体の距離に対して、ステップS801において特定したフレーム間の移動量だけ動いた物体の位置を特定し、この物体が静止していた場合の探索対象画像上の物体位置を特定する。物体が移動している場合については後述する。次に、特定した実サイズを有する物体が、探索画像上の特定した物体位置に存在する場合の、画像上の高さおよび幅のピクセル数を、カメラ幾何等を用い特定する。以上のとおりステップS803では、探索画像上の物体の高さおよび幅のピクセル数を推定する。
【0068】
特定した物体が静止していない場合は次のように処理する。検知時点で判明している物体の種別と向きの情報から、移動速度を仮定して、等速直線運動している物体としてもよい。仮定する移動速度は、衝突事故の頻度が高い、たとえば四輪車両であれば30~80km/h程度、自転車であれば10~20km/h程度、歩行者であれば5~8km/h程度の速度を仮定してもよい。速度を仮定することで、衝突確率の高い物体の類似箇所を短時間で探索できる可能性を向上させ、事故回避の成功率を高めることができる。
【0069】
また、検知した物体の方向から、物体の移動速度を仮定して、等速直線運動の物体を想定してもよい。その場合は、例えば8方向を特定して、左右方向、前後方向、そしてその間の斜め方向に応じて、奥行と横の距離の特定処理に、物体の奥行または横速度を仮定する。前後方向では、物体の想定する速度をすべて奥行方向であると想定し、向きに応じて速度値の符号を決定する。
【0070】
左右方向では物体の速度をすべて左右方向であると想定し、向きに応じて速度値の符号を決定する。斜め方向では、速度の1/√2倍の速度を奥行と横速度の大きさとして、向きに応じて速度値の符号を決定する。種別と向きから物体の速度を仮定することで、探索時間の短縮を行うことができる。また、物体の速度の仮定は、速度算出においても考慮することで、算出速度の精度を改善することができる。以上がステップS803の説明である。
【0071】
続くステップS804ではテンプレート作成部304は、テンプレートサイズを決定する。テンプレートサイズは、テンプレートとして特徴を抽出する際の、画像を拡大縮小するサイズである。テンプレート作成時と探索時に過度な拡大をしてしまうと、探索精度が落ちる恐れがあるため、テンプレートサイズは、ステップS802で特定したピクセル数とステップS803で推定したピクセル数に応じて、そして予め探索処理で設計したテンプレートサイズのバリエーションの中から決定する。
【0072】
具体的にはテンプレート作成部304は、ステップS802で特定したピクセル数と、ステップS803において推定したピクセル数のうち、少ないピクセル数に対して、あらかじめ用意したテンプレートサイズのバリエーションの近いものを選択する。一般的に車両100の前方に向けて取り付けられたカメラシステムでは、前進している際に衝突する事故の回避を行う目的で取り付けられている。前進している際は、ステップS803において用いられる探索対象画像は、ステップS802において用いられる検知画像よりも過去の画像である。そのため、探索対象画像の方が距離が遠くピクセル数が少ないため、ステップS803で推定したピクセル数を用いてテンプレートサイズを決定する。
【0073】
ステップS805ではテンプレート作成部は検知画像における検知枠の周辺を切り抜く。具体的にはテンプレート作成部は、ステップS804において決定したテンプレートサイズの縦横比に合わせて、高さまたは幅を広げ、また予め探索処理で用いる処理で想定される、物体の周辺の余白サイズに応じて広げた範囲を切り抜く。
【0074】
続くステップS806ではテンプレート作成部は、ステップS805において切り抜かれた画像を、ステップS804において決定したテンプレートサイズに拡大または縮小する。拡大縮小する際は、縦横の比率を維持するか、大きく変えずに処理する。続くステップS807ではテンプレート作成部は、ステップS804において拡大縮小された画像の明るさの調整やノイズ除去処理等の前処理を行う。続くステップS808ではテンプレート作成部は、ステップS807において前処理が施された画像から、テンプレートとする特徴量を抽出し、
図8に示す処理を終了する。
【0075】
図9は
図7のステップS708に示した速度算出処理の詳細を示すフローチャートである。まずステップS901では速度算出部309は、ステップS801において特定した移動量を用いて、ステップS803と同様に、検知された物体が探索対象画像における奥行距離を特定する。具体的には、ステップS801において特定したフレーム間の奥行方向の移動量を用いて、検知画像上の検知物体の奥行距離に対して、S801の移動量だけ動いた物体の位置を特定し、この物体が静止していた場合の探索対象画像の撮像時刻の物体奥行距離を特定する。
【0076】
ステップS902では速度算出部309は、ステップS901において特定した奥行距離と、ステップS707において特定した画角とを用いて、探索対象画像の類似箇所の横距離を特定する。具体的には、奥行距離をZとして、画角をθとすると、横距離Xは次の式1により算出される。
【0077】
X=Z・Tan(θ) ・・・(式1)
【0078】
続くステップS903では速度算出部309は、ステップS703で測距した奥行距離および横距離から、ステップS901~S902で特定した奥行距離と横距離をそれぞれ減算する。この演算により、検知画像の撮影時刻と探索対象画像の撮影時刻との間に移動した移動量を算出する。
【0079】
続くステップS904では速度算出部309は、ステップS903において算出された移動量を、検知画像と探索対象画像の時刻差である時間で微分することで速度を算出して
図9に示す処理を終了する。なおフローチャートには記載していないが、算出された速度が検知された物体の種別に応じて、種別の想定される速度域の範囲に入っているか否かの検算を行い、大きく乖離がある場合は、速度の信頼度が低いことを出力してもよい。信頼度が低い場合は、車両制御を保留したり、制御量や制御の種類を限定することで、誤制御による弊害を抑制できる。
【0080】
図10~
図16を参照して4つの具体例を説明する。まず、
図10~
図12を参照して第1の具体例を説明する。
図10は、車両100(以下では「自車両」とも呼ぶ)と被衝突車両の衝突の様子を示す図である。
図10では、車両100が図示下部から上部に向かって走行し、被衝突車両が図示右から左に走行する。
【0081】
符号1000は時刻T0の自車両、符号1001は時刻T1の自車両、符号1002はT2の自車両、符号1010は時刻T0の被衝突車両、符号1011は時刻T1の被衝突車両、符号1012はT2の被衝突車両である。
図10では時刻T2において両車両が衝突する。自車両および被衝突車両は、おおよそ等速直進運動をしており、加減速や旋回をしていない。
【0082】
図11は
図10の例を、自車両の位置を中心に、相対的な位置で被衝突車両の見た位置に置き換えた、自車中心の相対位置の図である。本実施の形態では、自車両の進行方向に対する被衝突車両の位置をカメラの画角と同様に「画角」と呼ぶ。画角1120は、自車両と時刻T0の被衝突車両1010とを結ぶ直線が、自車両の進行方向となす角度である。画角1121は、自車両と時刻T1の被衝突車両1011とを結ぶ直線が、自車両の進行方向となす角度である。画角1122は、自車両と時刻T2の被衝突車両1012とを結ぶ直線が、自車両の進行方向となす角度である。本実施の形態では、自車両と被衝突車両の走行軌跡が直交する前提なので、被衝突車両の横位置は、画角と奥行距離を用いて推定できる。
【0083】
図12は、
図11における距離を説明する図である。
図12における各車両の位置は
図11と同様である。ただし時刻T2における被衝突車両は作図の都合により省略している。奥行距離Z1は、時刻T1における被衝突車両1011の、自車両から奥行き方向の距離である。横距離X1は、時刻T1における被衝突車両1011の、自車両から横方向の距離である。奥行距離Z0は、時刻T0における被衝突車両1010の、自車両から奥行き方向の距離である。横距離X0は、時刻T0における被衝突車両1010の、自車両から横方向の距離である。奥行差分距離Z10は、奥行距離Z0と奥行距離Z1の差分である。
【0084】
横距離X1、および奥行距離Z0は、ステップS703の処理で算出される。奥行差分距離Z10は、自車挙動から算出され、時刻T1とT0の時間がT10で、自車速度がV0の場合には、次の式2により算出される。
【0085】
Z10=V0・T10 ・・・(式2)
【0086】
横距離X0は、時刻T0の被衝突車両の角度1220を「θ0」とおくと、次の式3により算出される。
【0087】
X0=Z0・Tan(θ0)=(Z1+Z10)・Tan(θ0)・・・(式3)
【0088】
図13~
図14を参照して第2の具体例を説明する。第2の具体例では、自車両と横断車両が衝突しない。
図13は、直進する自車両と、自車両の前を横切る横断車両の走行軌跡を示す図である。1300は時刻T0の自車両、1301は時刻T1の自車両、1302はT2の自車両、1310は時刻T0の横断車両、1311は時刻T1の横断車両、1312はT2の横断車両である。横断車両は、自車両が交差点へ到達するよりも前に交差点を横断するため、横断車両は自車両に衝突しない。
【0089】
図14は、
図13に示した例を、自車両の位置を中心に、相対的な位置で横断車両の見た位置に置き換えた、自車中心の相対位置の図である。画角1420は、自車両と時刻T0の横断車両1310とを結ぶ直線が、自車両の進行方向となす角度である。画角1421は、自車両と時刻T1の横断車両1311とを結ぶ直線が、自車両の進行方向となす角度である。
【0090】
奥行距離Z41は、時刻T1における横断車両1311の、自車両から奥行き方向の距離である。横距離X41は、時刻T1における横断車両1311の、自車両から横方向の距離である。奥行距離Z40は、時刻T0における横断車両1310の、自車両から奥行き方向の距離である。横距離X40は、時刻T0における横断車両1310の、自車両から横方向の距離である。奥行差分距離Z410は、奥行距離Z0と奥行距離Z1の差分である。
【0091】
横距離X41、および奥行距離Z40は、ステップS703の処理で算出される。奥行差分距離Z410は、自車挙動から算出され、時刻T41とT40の時間がT40で、自車速度がV4の場合には、次の式4により算出される。
【0092】
Z410=V4・T40 ・・・(式4)
【0093】
横距離X40は、時刻T0の被衝突車両の角度1220を「θ4」とおくと、次の式5により算出される。
【0094】
X40=Z40・Tan(θ4)=(Z41+Z410)・Tan(θ4)・・・(式5)
【0095】
図15を参照して第3の具体例を説明する。この第3の具体例では、算出速度の精度の改善、または短時間で速度を算出する効果を奏する状況を説明する。
図15は、
図11や
図14のように、自車両100の位置を中心として、他の車両との相対的な位置関係を示している。符号1510は時刻T0における横断車両の相対位置であり、符号1511は時刻T1における横断車両の相対位置である。距離1521は、自車両のカメラシステム101における測距の上限の奥行距離である。
【0096】
時刻T1における横断車両1511は、カメラシステム101が測距可能な奥行き距離1521よりも手前に存在しているので、カメラシステム101は測距結果とともに速度も算出する。時刻T0における横断車両1510の奥行き距離は、前述の距離1521よりも若干遠いので測定可能であっても精度が低く、横断車両1510の位置の測距結果を用いて速度を算出すると、速度の精度が低く、誤ったブレーキ制御になる可能性がある。
【0097】
本実施の形態では、時刻T1における横断車両1511の測距結果と、自車挙動情報と、時刻T0における横断車両1510の画角の情報と、を用いて速度を算出することで、速度の算出精度を高めることができる。本実施の形態の利点は、溶断車両1511よりも近い位置に来てから速度を算出するよりも、速度算出の時刻を早めることができる点にあるともいえる。
【0098】
撮像画像の透視射影を奥行距離一定の面に対して行う場合は、同様に奥行距離一定の位置に平面上のキャリブレーションチャートを配置してキャリブレーションされる。この場合は、撮像画像の歪み補正の精度は奥行距離ごとにほぼ同じとなることが多い。画素の幾何精度が奥行距離毎にほぼ同じである場合に、本実施の形態におけるいずれの測距手段も原理上奥行距離が遠方になればなるほど、測距精度も悪くなる。
【0099】
なお
図15における前述の説明では、測距の奥行距離は符号1521で示す距離で一定としたが、キャリブレーション方法、光学系、測距原理によって、異なる測距の範囲や、上限距離を定めてもよい。たとえば360°の周囲を撮像し、円筒や球面に射影した画像で処理する場合は、カメラからのユーグリッド距離で測距精度が変わるため、カメラからのユークリッド距離で測距上限を設定した方がよい場合がある。
【0100】
符号1522は、近傍側の測距限界距離を示す。単眼測距部303は物体と路面の接地点の画像座標とカメラ幾何で距離を算出するが、近傍は垂直画角の制約で、一定よりも近い距離では接地点が撮影画像に写らず測距できない。そのため、一定距離以内となると測距ができなくなる。符号1520は、カメラシステム101が測距可能な範囲を示す。範囲1520は遠方側の測距上限距離1521と、近傍側の測距の限界距離1522と、センサの画角上限に挟まれた領域である。
【0101】
カメラシステム101は、測定対象が範囲1520から出る際と、入る際のどちらかにおいて、範囲1520内のにおける測定対象の測距結果と、範囲1520外の測定対象の画角を用いて速度を算出することで、従来技術では速度算出ができなかった際の速度を算出することができる。また、測定対象が範囲1520から出る場合には、速度だけでなく、範囲1520内の測距結果と速度算出の際に算出した移動量とを足し合わせて、範囲1520外の時刻における測定対象の距離を算出してもよい。
【0102】
図16を参照して第4の具体例を説明する。第4の具体例では、第3の具体例と同様に、算出速度の精度の改善、または短時間で速度を算出する効果を奏する状況を説明する。
図16は、
図15などと同様に、自車両100の位置を中心として、他の車両との相対的な位置関係を示している。符号1610は時刻T0における横断車両の相対位置であり、符号1611は時刻T1における横断車両の相対位置である。符号1620は、少なくとも1つの撮像部で撮影可能な画角である、単眼視視野の画角を示す。符号1621は、左撮像部102および右撮像部103の視野が重なり、ステレオマッチングやステレオ検知を行う、ステレオ視の画角を示す。
【0103】
カメラシステム101は、ステレオ視画角1621の範囲内だけでなく、単眼視画角1620の範囲内でも測距可能である。しかし、単眼視画角1620の範囲内よりもステレオ視画角1621の範囲内の方が測距精度が高い。そのためカメラシステム101は、単眼視画角1620における測距結果をあえて使わずに、範囲が狭いステレオ視画角1621の測距結果を用いて速度算出をすることで、速度の精度を上げることができる。具体的には、ステレオ視の測距結果の位置1611と単眼視の検知結果の位置1610の画角と自車挙動を用いて速度を算出することで精度を改善することができる。
【0104】
測距の誤差には、偶発的に正にも負にも値が分散する偶然誤差と、系統的に正または負に平均値がオフセットする系統誤差とがある。系統誤差は、測距手段、センサ、および撮像部などが切り替わる際に傾向が変化する場合がある。これはセンサ間や撮像部間で、アライメントがとれていない場合に生じることがある。センサや撮像部が切り替わる際に、異なるセンサや撮像部の測距結果の差分から移動量を求めて速度を算出すると精度が悪くなる恐れがある。本実施の形態では、左撮像部102および右撮像部103のいずれか一方のみを用いた測距結果と画角とを用いて速度を算出することで、精度を改善することができる。
【0105】
図17は、
図8のステップS804であるテンプレート選択処理の詳細を示すフローチャートである。まずステップS1701ではテンプレート作成部304は、ステップS802とS803とで算出された、検知画像のピクセル数と探索対象画像のピクセル数とのうち小さい方を選択し、このピクセル数を「基準ピクセル数」として決定する。続くステップS1702ではテンプレート作成部304は、基準ピクセル数が、あらかじめ定められた閾値である基準Aを超えるかを否かを判断し、超えると判断する場合はステップS1703に進み、超えないと判断する場合はステップS1704に進む。ステップS1703ではテンプレート作成部304は、1番目のテンプレートサイズであるテンプレートサイズ1をテンプレートサイズと決定する。
【0106】
続くステップS1704ではテンプレート作成部304は、基準ピクセル数が、あらかじめ定められた閾値である基準Bを超えるかを否かを判断し、超えると判断する場合はステップS1705に進み、超えないと判断する場合はステップS1706に進む。ステップS1705ではテンプレート作成部304は、2番目のテンプレートサイズであるテンプレートサイズ2をテンプレートサイズと決定する。ステップS1706ではテンプレート作成部304は、3番目のテンプレートサイズであるテンプレートサイズ3をテンプレートサイズと決定する。
【0107】
基準Aは基準Bよりも大きい。第1テンプレートサイズは第2テンプレートサイズよりも大きく、第2テンプレートサイズは第3テンプレートサイズよりも大きい。第1テンプレートサイズと基準Aは、同一または近い値である。第2テンプレートサイズと基準Bは、同一または近い値である。
【0108】
図18は、テンプレートのサイズを説明する図である。
図18は第1の具体例に連動しており、時刻T0よりも時刻T1の方が自車両と他の車両の距離が近く、撮影画像には他車両が大きく撮影される。符号1801は、時刻T0に撮影された撮影画像における車両の検知箇所の画像である。符号1802は、時刻T1に撮影された撮影画像における車両の検知箇所の画像である。符号1811は、時刻T0に撮影された撮影画像において、類似箇所を探す際に参照される画像である。符号1812は、時刻T1に撮影された撮影画像において、テンプレートを作成する際の画像のピクセル数の例である。
【0109】
図18に示す例では、テンプレートの作成対象となる撮影画像1812における車両のピクセル数と、類似箇所を探索する対象となる撮影画像1811における車両のピクセル数のうち、前者のピクセル数が少ない。そのため、撮影画像1812における車両のピクセル数に近い予め定められたテンプレートサイズに合わせてテンプレートを作り、探索時の照会も行う。
【0110】
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)カメラシステム101は、自車両100に搭載される。カメラシステム101は、移動体の進行方向と検知物体の進行方向とが交差する角度である交差角度を90度であると仮定する交差角度特定部1901Zと、カメラが撮影して得られる撮影画像を少なくとも含むセンシング結果を取得するセンシング情報取得部を含む左撮像部102および右撮像部103と、センシング結果に基づき第1時刻における検知物体との距離を算出する測距部である単眼測距部303およびステレオ測距部316と、を備える。カメラシステム101はさらに、撮影画像に基づき第1時刻とは異なる時刻である第2時刻における移動体の進行方向に対する検知物体の角度である画角を特定する画角特定部307と、交差角度、第1時刻における移動体との距離、第2時刻における移動体との角度、第1時刻と第2時刻の時間差、および移動体の速度に基づき、検知物体の速度を算出する速度算出部309と、を備える。そのため、距離情報が直接算出できない第2時刻のセンシング結果と、距離情報が直接算出できる第1時刻のセンシング結果とを用いて測定対象の速度を算出できる。
【0111】
たとえば、本実施の形態の構成によらず、たとえばステレオ測距部316が測定する異なる時刻の距離情報を用いて、測定対象の速度を算出することも可能である。しかしこの場合は、測定対象がステレオ視野に入った後に2回の測定周期を経なければ、2回の距離測定ができない。これに対して本実施の形態の構成によれば、測定対象がステレオ視野に入る前に画角を測定し、ステレオ視野に入った直後に1回だけ距離を測定できれば速度を算出できるため、早いタイミングで速度を算出できる。
【0112】
(2)撮影画像には、左撮像部102が撮影する左画像202と、右撮像部103が撮影する右画像203とを含む。測距部は単眼測距部303とステレオ測距部316とから構成される。単眼測距部303は、左画像202または右画像203における検知物体の撮影位置に基づき検知物体との距離を算出する。ステレオ測距部316は、左画像202および右画像203における検知物体の視差に基づき検知物体との距離を算出する。そのため、距離情報が直接算出できない撮影画像における測定対象の情報も用いて、測定対象の速度を算出できる。
【0113】
(3)交差角度特定部1901Zは、交差角度を90度と仮定する。2本の道路が交差する十字路では、道路同士が90度で直交することが多い。そのため、発生頻度が高い交差角度が90度のケースに限定することで、交差角度を特定する処理を省いて処理を高速化できる。
【0114】
(4)画角特定部307は、ある時刻における撮影画像から移動体の画像情報を取得し、別な時刻における撮影画像に撮影された移動体の位置から画角を特定する。そのため、ミリ波センサなどの距離を直接に測定できるセンサのセンシング結果を用いることなく、測定対象の速度を算出できる。
【0115】
(5)カメラシステム101は、
図8や
図17を参照して説明したように、ある時刻における撮影画像における移動体のピクセル数、および別の時刻における撮影画像に撮影されると想定される移動体のピクセル数のうち、少ない方のピクセル数に基づきマッチング用テンプレートを作成するテンプレート作成部304を備える。画角特定部307は、テンプレート作成部304が作成したテンプレートを用いて撮影画像を探索することで画角を特定する。そのため、テンプレートマッチングにおける誤マッチングを減らすことができる。
【0116】
(6)画角特定部307は、測距部であるステレオ測距部316が測距可能な領域である測距可能領域の外側に存在する検知物体が撮影された撮影画像に基づき画角を特定する。そのため、ステレオ測距部316が使用する、ある時刻における左画像202および右画像203に加えて、距離測定が不可能な別時刻に撮影された左画像202または右画像203を利用して、測定対象の速度を算出できる。
【0117】
(7)第1時刻は第2時刻よりも遅い時刻である。そのため、測定対象が無限遠から車両100に近づいてくる場合のように、遠くて正確な距離が測定できない状態が続く場合には、先に画角を測定し、その後に測定対象がより近づいてから距離を測定することで、高精度にかつ早いタイミングで速度を算出できる。
【0118】
(8)第1時刻は第2時刻よりも早い時刻である。そのため、測定対象が車両100から遠ざかる場合のように、先に距離を測定し、その後に画角を測定することで、第2時刻やそれ以降では距離情報が得られないにもかかわらず、測定対象の速度を算出できる。
【0119】
(9)撮影画像は、左撮像部102が撮像する左画像202と、右撮像部103が撮像する右画像203とを含む。
図1を参照して説明したように、左撮像部102の視野、および右撮像部103の視野は、ステレオ視野において重複する。ステレオ測距部316は、左画像202および右画像203におけるステレオ視野に存在する検知物体の視差に基づき検知物体との距離を算出する。画角特定部307は、左画像202または右画像203におけるステレオ視野ではない領域、すなわち
図2の左単眼領域204Lや右単眼領域204Rに存在する検知物体に基づき画角を特定する。そのため、ステレオ領域204Sで高精度に距離を測定し、単眼領域で画角を算出することで、高精度に早いタイミングで速度を算出できる。
【0120】
(10)撮影画像は、左撮像部102が撮像する第1画像であり、ステレオ測距部316は、第1画像における検知物体の撮影位置に基づき検知物体との距離を算出する。
【0121】
(変形例1)
上述した第1の実施の形態におけるカメラシステム101は、左撮像部102および右撮像部103を備えた。しかしカメラシステム101は撮像部を有さず、カメラシステム101の外部に存在する撮像部から撮影画像を取得するセンシング結果取得部を備えてもよい。
【0122】
図19は、変形例1におけるカメラシステム101Aの機能構成図である。
図3との相違点は、左撮像部102および右撮像部103の代わりにセンシング結果取得部110を備える点である。センシング結果取得部110は、左撮像部102および右撮像部103からセンシング結果である左画像202および右画像203を取得し、カメラシステム101Aが備える他の機能ブロックに出力する。なお第1の実施の形態では、センシング結果取得部110の機能は左撮像部102および右撮像部103に含まれていた。この変形例1によれば、カメラシステム101Aが撮像部を含まないため、任意の様々な撮像装置と組み合わせて使用できる。
【0123】
(変形例2)
上述した第1の実施の形態におけるカメラシステム101は、左撮像部102および右撮像部103を備えたが、一方の撮像部をミリ波センサと入れ替えてもよい。この場合は、ミリ波センサによる測距結果と、単眼カメラにおける類似箇所の探索および画角の特定とを用いて、対象物の速度を算出する。その際に、単眼カメラとミリ波センサの車両100への取り付け位置を考慮する必要があり、画角を算出する単眼カメラを基点として、測距結果から単眼カメラからミリ波センサの距離を差し引くことで変換する。なお本変形例は、前述の変形例1と組み合わせてもよい。
【0124】
図20は、変形例2におけるカメラシステム101Bの機能構成図である。
図3との相違点は、左撮像部102および右撮像部103の代わりにセンシング結果取得部110を備える点である。なお本変形例ではカメラシステム101Bは、ステレオマッチング部301、テンプレート作成部304、ステレオ検知部308、およびステレオ測距部316を備えなくてもよいが、
図20ではカメラシステム101Bに2台のカメラが接続された場合を考慮してこれらの構成を残している。本変形例では、ミリ波センサ103Rのセンシング結果から移動体と想定される物体を検出し、車両100と物体の位置関係に基づき撮影画像においてマッチングを行う。
【0125】
本変形例によれば、次の作用効果が得られる。
(11)センシング結果は、撮像部が撮像する撮影画像と、距離センサが計測する距離情報とを含む。測距部は、距離情報を検知物体との距離とする。そのため、ミリ波センサとカメラの組合せに対しても、第1の実施の形態において説明したた手法を組み合わせることができる。この組み合わせは、ミリ波センサによる測定が不可能な範囲をカメラで撮影可能な場合に効果がある。
【0126】
(変形例3)
上述した第1の実施の形態におけるカメラシステム101は、左撮像部102および右撮像部103の2つの撮像部を有したが、1つの撮像部のみを備えてもよい。この場合はカメラシステム101は、ステレオマッチング部301、ステレオ検知部308、およびステレオ測距部316を備えなくてもよく、単眼測距部303が測距する。
【0127】
この変形例3によれば、次の作用効果が得られる。
(12)撮影画像は、左撮像部102が撮像する第1画像である。単眼測距部303は、第1画像における検知物体の撮影位置に基づき検知物体との距離を算出する。そのため、1台のカメラが撮影する異なる時刻の撮影画像を用いて、距離情報が直接算出できない第2時刻のセンシング結果と、距離情報が直接算出できる第1時刻のセンシング結果とを用いて測定対象の速度を算出できる。換言すると、センシング情報が1台のカメラが撮影する複数の撮影画像であっても、早期に測定対象の速度を算出できる。
【0128】
―第2の実施の形態―
図21~
図22を参照して、演算装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、自車と横断車両の進行路が直交しない場合を考慮する点で、第1の実施の形態と異なる。
【0129】
図21は、第2の実施の形態に係るカメラシステム101Aが有する機能を示す機能ブロック図である。第1の実施の形態におけるカメラシステム101との相違点は、種別識別部317の代わりに交差角度特定部1901を備える点である。車両100には、GPS1903と地図情報1904も搭載され、位置特定装置1903および地図情報1904は交差角度特定部1901に接続される。
【0130】
位置特定装置1903は、衛星航法システムを構成する複数の衛星から電波を受信し、その電波に含まれる信号を解析することで車両100の位置、すなわち緯度と経度を算出する。位置特定装置1903は、算出した緯度と経度を交差角度特定部1901に出力する。
【0131】
地図情報1904は、道路の沿線方向を算出可能な情報を含む地図データベースである。地図情報1904はたとえば、交差点や道路の端点を示すノードと、ノード同士を接続するリンクの情報を含む。ノードの情報には、その緯度と経度の組合せの情報を含む。リンクの情報には、接続対象となる2つのノードの識別情報を含み、さらに屈曲点や通過点を示す緯度と経度の情報を複数含んでもよい。リンクの情報には、リンクの沿線方向を示す情報、たとえば北を0度とする0~180度の情報が含まれてもよい。
【0132】
交差角度特定部1901は、自車両100の進行方向と周辺を走行する車両の進行方向とが交差する角度である交差角度φを特定する。ただし交差角度φは、直交からのずれ分を示す値であり、2つの車両の進行方向が直交する場合には交差角度φはゼロである。交差角度特定部1901はたとえば、まず位置特定装置1903から取得する位置情報を用いて、最新の車両100の位置情報と、位置情報の微分から進行方向の情報とを得る。次に交差角度特定部1901は、地図情報1904を参照して車両100の進行方向に存在する交差点において、車両100が走行するリンクと他のリンクとが交わる角度を特定する。
【0133】
速度算出部1904は、交差角度特定部1901が特定する交差角度と、単眼測距部303またはステレオ測距部316が特定する距離と、自車の車速、操舵角、およびヨーレートとから、速度を算出する。詳しくは後述する。
【0134】
図22は、速度算出部1904による速度の算出方法を示す図である。符号2000は時刻T0における自車両100を示し、符号2001は時刻T1における自車両100を示す。符号2010は時刻T0における横断車両を示し、符号2011は時刻T1における横断車両を示す。画角θは、自車両100と時刻T0の被衝突車両2010とを結ぶ直線が、自車両の進行方向となす角度である。この画角の定義は第1の実施の形態と同様である。角度φは、自車両100と横断車両が交差する角度である。なお角度φは、第1の実施の形態ではゼロ度に固定されていた。
【0135】
奥行距離z9は、時刻T0から時刻T1に自車両100が走行した距離である。奥行距離z8は、時刻T1における自車両2001から交差点までの距離である。なお、奥行距離z9と奥行距離z8との和を「奥行距離z98」と呼ぶ。奥行距離z5は、時刻T0における自車両100から横断車両2010までの奥行距離である。横距離x5は、時刻T0における自車両100と横断車両2010との図示横方向の距離である。横距離x5は次の式6を用いて算出され、奥行距離z5は次の式7を用いて算出される。
【0136】
【0137】
【0138】
ただし式6および式7における「θ’」は、前述のθと次に示す数8の関係にある。
【0139】
θ’=90-θ ・・・(式8)
【0140】
奥行距離z9は、自車両100の奥行方向の速度と、時刻T0から時刻T1までの時間差の積で求まる。自車両100の奥行方向の速度は、自車速度と舵角とヨーレートより求められる。舵角とヨーレートが0で直進している場合は、自車速度が奥行方向の速度である。奥行距離Z8は、単眼測距部303またはステレオ測距部316で特定した距離の奥行成分である。角度θは、画角特定部307において特定された時刻T0の自車両のカメラからみた横断車両の画角である。式6と式7を用いることで、時刻T0の距離を直接観測せずに特定し、移動量から速度を算出することができる。
【0141】
上述した第2の実施の形態によれば、次の作用効果が得られる。
(13)交差角度特定部1901は、位置特定装置1903が取得する移動体の位置情報と、地図情報1904に基づき交差角度を算出する。そのため、車両100の位置や進行方向に基づき、より確かな交差角度を算出できる。
【0142】
(第2の実施の形態の変形例)
交差角度特定部1901は、検知された部分の物体の識別結果や、ステレオマッチング部301の三次元点群情報から、横断する車両の向きを特定することで交差角を算出してもよい。交差角度特定部1901はたとえば、識別器と横断車両の写る画像上の画角から、交差角度を特定する。仮に直交に近い角度で交差する場合は、横断車両の写る角度に応じて、車両の斜め前を角度が写る。例えば45°であれば、前面と側面がそれぞれ315°と45°の角度で写る。識別器で識別された車両の向きが、画角により直交に近い角度で交差する場合の向きに対して、どの程度角度差があるかが、自車と横断車両の交差する角度となる。また例えば、ステレオマッチングにより得られた視差は三次元点群となり、横断車両の前面と側面も、点群が面として検出できる。この面の向きより車両の進行方向を特定し、自車と横断車両の交差する交差角度を算出してもよい。
【0143】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0144】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。
【0145】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0146】
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。
【0147】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【0148】
101、101A…カメラシステム
102…左撮像部
103…右撮像部
301…ステレオマッチング部
302…単眼検知部
303…単眼測距部
304…テンプレート作成部
306…類似箇所探索部
307…画角特定部
308…ステレオ検知部
309、1904…速度算出部
1901、1901Z…交差角度特定部
1904…地図情報