(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-06
(45)【発行日】2024-12-16
(54)【発明の名称】情報処理装置、情報処理方法、及びコンピュータプログラム
(51)【国際特許分類】
G06T 7/277 20170101AFI20241209BHJP
G06T 7/00 20170101ALI20241209BHJP
G06V 10/764 20220101ALI20241209BHJP
G06V 20/54 20220101ALI20241209BHJP
G08G 1/09 20060101ALI20241209BHJP
G08G 1/00 20060101ALI20241209BHJP
【FI】
G06T7/277
G06T7/00 650B
G06V10/764
G06V20/54
G08G1/09 V
G08G1/09 F
G08G1/00 A
(21)【出願番号】P 2022169259
(22)【出願日】2022-10-21
【審査請求日】2023-06-15
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】後藤田 明
(72)【発明者】
【氏名】竹内 英司
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2022-121377(JP,A)
【文献】特開2019-191728(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G01P 1/00- 3/80
G06T 1/00- 7/90
G06V 10/00-20/90
G08G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
画像を取得する画像取得手段と、
前記画像に基づき前記画像上の物体位置を検出する物体位置検出手段と、
前記画像上の前記物体位置からワールド座標の物体位置へ変換する座標変換手段と、
前記ワールド座標の前記物体位置に対する信頼度を算出する信頼度算出手段と、
前記物体位置検出手段で検出した前記物体位置が路面上の位置推定誤差要因の影響を受けるか否かを判断する誤差要因存在判断手段と、
前記誤差要因存在判断手段の判断結果に応じて前記物体位置の信頼度を変更する信頼度変更手段と、
前記ワールド座標の前記物体位置の過去履歴及び前記変更後の信頼度の過去履歴を用いて物体の速度を推定する速度推定手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記位置推定誤差要因が路面標示を含むことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
路面上の前記位置推定誤差要因の影響を受けるか否かを判断する判断エリアを予め決定する判断エリア決定手段を有し、
前記誤差要因存在判断手段は前記物体位置検出手段で検出した前記物体位置が前記判断エリアの範囲内か否かに基づき前記判断をすることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記判断エリアはユーザが設定値により設定可能である事を特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記画像から路面標示を検出する路面標示検出手段を有し、前記路面標示検出手段による検出結果に応じて、予め前記判断エリアを算出することを特徴とする請求項3に記載の情報処理装置。
【請求項6】
前記物体位置検出手段はバウンディングボックスを生成し、前記誤差要因存在判断手段は前記バウンディングボックスのサイズの変化量に基づき前記判断をすることを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記物体位置検出手段はバウンディングボックスを生成し、前記誤差要因存在判断手段は前記画像における前記バウンディングボックスの内の所定色エリアの変化量に基づいて前記判断をする事を特徴とする請求項1に記載の情報処理装置。
【請求項8】
1つ以上のプロセッサが実行する情報処理方法であって、
画像を取得する画像取得ステップと、
前記画像に基づき前記画像上の物体位置を検出する物体位置検出ステップと、
前記画像上の前記物体位置からワールド座標の物体位置へ変換する座標変換ステップと、
前記ワールド座標の前記物体位置に対する信頼度を算出する信頼度算出ステップと、
前記物体位置検出ステップで検出した前記物体位置が路面上の位置推定誤差要因の影響を受けるか否かを判断する誤差要因存在判断ステップと、
前記誤差要因存在判断ステップの判断結果に応じて前記物体位置の信頼度を変更する信頼度変更ステップと、
前記ワールド座標の物体位置の過去履歴及び前記変更後の信頼度の過去履歴を用いて物体の速度を推定する速度推定ステップと、を有することを特徴とする情報処理方法。
【請求項9】
請求項1~7のいずれか1項に記載の情報処理装置の各手段をコンピュータにより制御するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体の位置検出を行う情報処理装置、情報処理方法、及びコンピュータプログラム等に関する。
【背景技術】
【0002】
従来から画像上の物体(車両など)の位置を検出して、検出した画像上の位置をワールド座標に変換し、変換後の物体の位置情報履歴を用いて速度を推定する技術は存在している。又、物体の位置情報履歴及び位置の信頼度情報から物体の速度の推定処理として代表的な手法としてカルマンフィルタなどの技術がある。
【0003】
特許文献1では、カルマンフィルタによる物体の速度推定精度を向上させるため、物体の種別や位置・姿勢に応じて、物体の検出位置の信頼度である観測ノイズを変更する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、物体(車両など)の周囲に路面標示などが存在する時に画像上の物体の検出位置が不安定になる場合があり、速度推定精度が低下する事があった。
【0006】
特許文献1では、物体の種別や位置・姿勢に応じて、位置の信頼度である観測ノイズを変更する技術の記載はある。しかし、路面標示など背景に応じた適用処理の記載がない。そのため、路面標示など路面上の位置推定誤差要因に対応するためには、撮影部設置後の実使用状態で物体の検出位置の信頼度情報を取得する必要がある。
【0007】
そこで、本発明の目的の1つは、路面上の位置推定誤差要因により発生する検出位置誤差による影響を低減可能な情報処理装置を提供することである。
【課題を解決するための手段】
【0008】
本発明の1側面の情報処理装置は、
画像を取得する画像取得手段と、
前記画像に基づき前記画像上の物体位置を検出する物体位置検出手段と、
前記画像上の前記物体位置からワールド座標の物体位置へ変換する座標変換手段と、
前記ワールド座標の前記物体位置に対する信頼度を算出する信頼度算出手段と、
前記物体位置検出手段で検出した前記物体位置が路面上の位置推定誤差要因の影響を受けるか否かを判断する誤差要因存在判断手段と、
前記誤差要因存在判断手段の判断結果に応じて前記物体位置の信頼度を変更する信頼度変更手段と、
前記ワールド座標の前記物体位置の過去履歴及び前記変更後の信頼度の過去履歴を用いて物体の速度を推定する速度推定手段と、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、路面上の位置推定誤差要因により発生する検出位置誤差による影響を低減可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施例1に係るシステムの俯瞰図である。
【
図2】観測装置100、101、統合装置110の構成例を示すブロック図である。
【
図3】CPU201が実施する機能を説明する機能ブロック図である。
【
図4】CPU201が実施する処理例を示すフローチャートである。
【
図5】実施例1における座標変換を説明する図である。
【
図6】CPU221が実施する処理を説明するフローチャートである。
【
図7】動体追跡(予測)部34の詳細な構成を説明するための機能ブロック図である。
【
図8】
図4のステップS430における詳細な処理を説明するためのフローチャートである。
【
図9】(A)~(F)は、路面標示の影響で観測対象車両の検出位置に誤差が発生する例を説明するための図である。
【
図10】(A)~(I)は、路面標示による観測対象車両の検出位置誤差の影響に対する本発明の効果を説明するためのグラフである。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施の形態を、実施例を用いて説明する。ただし、本発明は以下の実施例に限定されるものではない。なお、各図において、同一の部材または要素については同一の参照番号を付し、重複する説明は省略または簡略化する。
【実施例1】
【0012】
図1は、本発明の実施例1に係る運転支援システムの俯瞰図である。交差点の近傍に観測装置100、101が配置されており、観測装置100、101は統合装置110と通信可能である。観測装置100、101は観測対象車両130、131等の動きを観測して、統合装置110にデータを送信する。
【0013】
統合装置110は、報知対象車両120が右折をする際に、観測対象車両130、131が交差点に到達する時間を予測して、右折可否などの報知情報を報知対象車両120に報知する。報知対象車両120が例えば自動運転車であれば、報知情報に基づいて加速、減速、停止などを決定することができる。
【0014】
右折不可の報知情報を受信した場合、報知対象車両120は衝突注意領域140の手前で停止することが好ましい。報知対象車両120が自動運転車でなくても、報知対象車両120の運転者は報知情報を加速、減速、停止などの判断に用いることができる。ちなみに、観測装置100、101は、本実施例における情報処理装置としての移動体追跡装置として機能している。
【0015】
図2は、観測装置100、101、統合装置110の構成例を示すブロック図である。観測装置100と観測装置101とは同様の構成となっているため、観測装置100についてのみ説明する。観測装置100は、PC200、撮影部204、通信部205などを有する。
【0016】
PC200はコンピュータとしてのCPU201、メモリとしてのRAM202、ROM203などから構成されており、バスを通じて互いに通信可能である。撮影部204にはネットワークカメラなどから構成される。通信部205にはモバイルルーター等を用いることができる。PC200、撮影部204、通信部205は、スイッチングハブを通じてLAN接続されており互いに通信可能である。
【0017】
統合装置110は、PC220、報知部224、通信部225から構成される。PC220はコンピュータとしてのCPU221、メモリとしてのRAM222、ROM223などから構成されており、バスを通じて互いに通信可能である。
【0018】
報知部224は、報知対象車両120に報知できる手段を有していればよく、無線通信による報知であれば通信部225と共通でも良い。或いは、報知部224はディスプレイやスピーカーのような装置であっても良い。通信部225にはモバイルルーター等を用いることができる。PC220、報知部224、通信部225は、スイッチングハブを通じてLAN接続されており互いに通信可能である。
【0019】
尚、
図2に示す構成は1つの実施例に過ぎず、これに限定されるものではない。例えば、観測装置や撮影部の数はいくつであっても良い。又、複数のPC、CPU、RAM、ROM、通信部は、夫々共通にすることもできるし、更に分割することもできる。通信手段は有線、無線のいずれでも構わない。
【0020】
次に、
図3は、CPU201が実施する機能を説明する機能ブロック図である。尚、CPU211が実施する機能は同様なので説明は省略する。尚、
図3に示される機能ブロックの一部は、観測装置100に含まれるコンピュータとしてのCPU201に、記憶媒体としてのメモリに記憶されたコンピュータプログラムを実行させることによって実現されている。
【0021】
しかし、それらの一部又は全部をハードウェアで実現するようにしても構わない。ハードウェアとしては、専用回路(ASIC)やプロセッサ(リコンフィギュラブルプロセッサ、DSP)などを用いることができる。
【0022】
又、
図3に示される夫々の機能ブロックは、同じ筐体に内蔵されていなくても良く、互いに信号路を介して接続された別々の装置により構成しても良い。尚、
図3に関する上記の説明は、
図7についても同様に当てはまる。
【0023】
図3に示される機能ブロックは、画像取得部30、物体位置検出部31、誤検出除去部32、座標変換部33、物体追跡(予測)部34、データ送信部35等を有する。画像取得部30(画像取得手段)は、撮影部204から撮影画像を取得する画像取得ステップを実行する。物体位置検出部31(物体位置検出手段)は、前記撮影画像に基づき画像認識をして画像上の物体位置を検出する。
【0024】
誤検出除去部32は、物体位置検出部31での誤検出を除去する。座標変換部33(座標変換手段)は、画像上(画像座標)の物体位置からワールド座標の物体位置への変換をする。物体追跡(予測)部34は、物体の速度や進行方向等を推定する。データ送信部1005は、推定結果を統合装置110に送信する。
【0025】
次に
図4は、CPU201が実施する処理例を示すフローチャートである。尚、コンピュータとしてのCPU201がメモリに記憶されたコンピュータプログラムを実行することによって
図4のフローチャートの各ステップの動作が行われる。尚、CPU211が実施する処理は同様なので説明を省略する。
【0026】
図3のブロック図の機能と
図4の処理の対応関係は以下の通りである。物体位置検出部31では、ステップS400の処理を実施する。誤検出除去部32では、ステップS410の処理を実施する。座標変換部33では、ステップS420の処理を実施する。物体追跡(予測)部34では、ステップS430の処理を実施する。データ送信部35では、ステップS440の処理を実施する。
【0027】
図4のフローは、撮影部204から撮影画像が取得されることにより開始する。撮影部204は例えば60フレーム/秒で周期的に撮影画像を取得しており、フレーム毎に
図4のフローチャートが実施される。CPU201は、予めROM203に格納されたコンピュータプログラムを読込、RAM202に展開して処理を行う。
【0028】
ステップS400(物体位置検出ステップ)において、CPU201は撮影部204から取得した撮影画像の中から車両などの物体を画像認識により検出する。即ち、ステップS400において、画像に基づき画像上の物体位置を検出する。物体を検出する手段には、ディープラーニングで学習済みのモデルを用いることができる。検出した物体にはバウンディングボックスを付与する。
【0029】
ステップS410において、CPU201はステップS400で検出された物体から、誤検出を除去する。検出の対象とする車両やバイクなどの物体を精度良く検出するために、予め識別器を変更しておく、或いは識別結果の閾値を調整しておくことで、意図しない物体の検出を抑制する。
【0030】
又一方で、撮影画像において、検出した物体にバウンディングボックスを加える処理をした場合に、複数のバウンディングボックスが存在して、かつ、バウンディングボックス同士が重なる領域が存在する場合がある。
【0031】
その場合、撮影部に対して最も近いと判断できるバウンディングボックスの位置に全ての物体が位置するように処理しても良い。それによって、例えばバイクに人が乗っている場合に、バイクの位置に、バイクと人とが存在すると判断処理でき、報知対象車両120に報知する右折可否の判断精度を向上させることができる。
【0032】
ステップS420(座標変換ステップ)において、CPU201は撮影画像における物体の位置を、カメラ座標(平面)からワールド座標(平面)へと座標変換(射影変換)する。即ち、ステップS420において、画像上の物体位置からワールド座標の物体位置への変換を行う。
【0033】
図5は実施例1における座標変換を説明する図である。
図5(B)は撮影画像であり、撮影画像上の位置をカメラ座標(平面)とすることができる。
図5(A)はワールド座標(平面)に対応している。ワールド座標(平面)は、道路の路面(平面)と同じである(広域的には一致しないが、局所的には同じであるとする)。
【0034】
尚、座標変換するための射影変換行列は、観測装置の位置や撮影対象の3次元情報から生成しても良い。又、3次元情報の取得のためには3Dスキャナなどを用いることができる。或いは又、他の方法として、緯度経度などの地図情報を含んだオルソ画像と、観測装置100の撮影装置で撮影した撮影画像の対応点を紐づけておくことによっても、座標変換するための射影変換行列を作成しておいても良い。
【0035】
例えば、
図5(A)の路面標示520の特徴点と、
図5(B)の路面標示520の特徴点とを紐づけても良い。射影変換行列をROM203に予め格納しておくことで、CPU201がその射影変換行列を座標変換に用いるようにしても良い。座標変換によって、撮影装置からの奥行情報をCPU201が得ることができる。
【0036】
図5(B)のバウンディングボックス511は、観測対象車両130をステップS400において検出することで得られる。観測対象車両130の位置は、バウンディングボックス511の下辺の中点である位置512に代表させることができる。
【0037】
ステップS420における座標変換によって、ワールド座標(平面)における観測対象車両130の位置を、
図5(A)の位置512の1点で代表させることが可能になる。尚、上記のような観測対象車両130の位置の決め方は1例に過ぎず、この方法に限定されるものではない。
【0038】
ステップS430において、CPU201は観測対象車両130の位置の動体追跡(予測)を行う。撮影部204は周期的に撮影画像を取得しており、複数のフレームでの観測対象車両510の位置を追跡することで、将来の位置を予測することが可能になる。
【0039】
ステップS440において、CPU201は観測対象車両130の予測位置などの情報を、通信部205及び通信部225を経由して、統合装置110のPC220のCPU221へ送信する。
【0040】
次に
図6は、CPU221が実施する処理を説明するフローチャートである。尚、コンピュータとしてのCPU221がメモリに記憶されたコンピュータプログラムを実行することによって
図6のフローチャートの各ステップの動作が行われる。CPU221は、予めROM223に格納されたコンピュータプログラムを読出し、RAM222に展開して処理を行う。
【0041】
ステップS600において、CPU221は、観測装置100及び観測装置101の夫々から、観測対象車両の予測位置などの情報を受信する。観測対象車両の台数は、1台に限らず複数台であっても良い。CPU221は、観測装置100及び観測装置101の夫々が画像を取得した時刻情報に基づいて同期処理を行う。
【0042】
ステップS610において、CPU221は交差点の衝突注意領域140へ観測対象車両が到達するまでの時間や到達時刻を予測する。観測対象車両が複数であれば最も早く衝突注意領域140に到達する時刻を予測する。
【0043】
複数の車線がある場合、夫々の車線の先頭車両について予測する。又、CPU221は報知対象車両120の特性などに基づいて、観測対象車両と報知対象車両120が衝突する可能性の高さを判断して、報知対象車両120の右折可否を判断し報知することもできる。
【0044】
尚、報知対象車両120の特性とは、例えば報知対象車両120の加速力、質量、サイズ、車両種別(大型車両、中小型車両、バイクなど)の少なくとも1つを含む。又、CPU221は、道路構造(傾斜やカーブ等)や天候条件などの環境条件に応じて報知対象車両120の右折可否を判断することもできる。
【0045】
ステップS620において、CPU221は報知対象車両120に報知する右折可否などの報知情報を生成する。右折可否以外の情報として、観測対象車両130の到達時間、車両種別などの情報を含んでも良い。ステップS630において、CPU221は報知対象車両120に報知情報を報知する。通信部225を経由して無線通信によって報知しても良い。
【0046】
図7は動体追跡(予測)部34の詳細な構成を説明するための機能ブロック図である。物体追跡(予測)部34は、信頼度算出部710、誤差要因存在判断部711、信頼度変更部712、速度推定部713、基本観測ノイズテーブル720、補正観測ノイズテーブル721等を有する。観測ノイズは観測値の不確かさを表現しているものであり、誤差の共分散行列で表現される。
【0047】
信頼度算出部710(信頼度算出手段)では、ワールド座標の物体位置に対する信頼度を算出する信頼度算出ステップを実行する。ここでの信頼度は路面上の位置推定誤差要因に関わらない観測ノイズのである。本実施例では、ここで算出した観測ノイズの事を基本観測ノイズと呼ぶ。尚、位置推定誤差要因として代表的な例としては路面標示(横断歩道、停止線、最高速度標示など)があげられる。
【0048】
誤差要因存在判断部711(誤差要因存在判断手段)では、物体位置検出部で検出した物体位置が路面上の位置推定誤差要因(路面標示等)の影響を受けるか否かを判断する。信頼度変更部712(信頼度変更手段)では、誤差要因存在判断部711の判断結果に応じて上記物体位置の信頼度(基本観測ノイズ)を変更する。尚、本実施例では、信頼度変更部712で算出した観測ノイズの補正分を補正観測ノイズと呼び、ここで算出した補正後の観測ノイズを適用観測ノイズと呼ぶ。
【0049】
補正観測ノイズテーブル721では、補正観測ノイズを算出するためのテーブルなどを保持している。速度推定部713(速度推定手段)では、ワールド座標の物体位置の過去履歴及び前記変更後の信頼度の過去履歴を用いて物体の速度を推定する。
【0050】
図8は
図4のステップS430における詳細な処理を説明するためのフローチャートである。尚、コンピュータとしてのCPU201がメモリに記憶されたコンピュータプログラムを実行することによって
図8のフローチャートの各ステップの動作が行われる。
図8における動体追跡(予測)部の処理フローにより、誤差を含んだ観測対象車両の検出位置の履歴情報から実際の観測対象車両の位置及び速度の推測を行う。
【0051】
図7の機能ブロックと
図8の処理の対応関係は以下の通りである。信頼度算出部710では、ステップS800、ステップS801の処理を実施する。誤差要因存在判断部711では、ステップS801の処理を実施する。信頼度変更部712では、ステップS803、ステップS804の処理を実施する。速度推定部713では、ステップS805の処理を実施する。
【0052】
先ず、ステップS800において、ワールド座標での撮影部204の位置と観測対象車両130の検出位置のユークリッド距離を算出する。又、本実施例では、ここで算出したユークリッド距離を検出距離と呼ぶ。ワールド座標での撮影部204の位置は事前に設定しておく。又、ワールド座標での観測対象車両130の検出位置はステップS420で算出したものを用いる。この2つの位置の差分をとり、ユークリッド距離で検出距離を算出する。
【0053】
次のステップS801(信頼度算出ステップ)においては、路面上の位置推定誤差要因(路面標示等)が無い場合の観測ノイズである基本観測ノイズを信頼度として算出する。即ち、ステップS801では、ワールド座標の物体位置に対する信頼度を算出する。
【0054】
基本観測ノイズは、ステップS800で算出した検出距離に応じて変更する。事前に、前記検出距離に対する観測ノイズテーブルを準備して保持しておき、ステップS800で算出した検出距離と観測ノイズテーブルから基本観測ノイズを算出する。
【0055】
この時の観測ノイズテーブルは、認識種別に応じて変更しても良い。又、撮影部の設置高さや設置角度に応じて観測ノイズテーブルを変更しても良い。又、検出距離に依らず固定値としても良い。
【0056】
又、観測ノイズテーブルは、事前に計測した路面上の位置推定誤差要因(路面標示等)が無い場合の観測対象車両の検出位置の統計データ及び別途準備した観測対象車両の正解位置データから作成する。正解データは、観測対象車両を設置して測量する事で生成しても良い。
【0057】
又、GPS(Global Positioning Syetem)、LiDAR(Light Detection And Ranging)、撮影部などのセンサーを別に設置して正解データとして利用しても良い。
【0058】
統計処理の方法としては、観測対象車両の検出位置と正解データの差分に対して分散を算出する。この時、正解データを利用せず、観測対象車両の検出位置の平均値の差分に対して分散を算出しても良い。又、観測ノイズテーブルは認識種別毎、撮影部の設置高さ毎、撮影部の設置角度毎に統計処理して算出しても良い。
【0059】
又、カメラ座標での観測対象車両の検出位置の統計データから観測ノイズテーブルを算出しても良い。この場合、座標変換を用いてカメラ座標での分散値をワールド座標での分散値に変換して、テーブルデータを作成しても良い。
【0060】
次のステップS802においては、観測対象車両130の検出位置が、予め設定した判断エリア範囲内か否かの判断をする。本実施例では、路面上の位置推定誤差要因(路面標示等)の影響を受けるか否かを判断するためのエリアを判断エリアと呼び、ステップS802は、判断エリアを決定する判断エリア決定部としても機能している。又、ステップS802は、物体位置検出ステップとしてのステップS400で検出した物体位置が路面上の位置推定誤差要因の影響を受けるか否かを判断する誤差要因存在判断ステップとしても機能している。
【0061】
本実施例では、判断エリアは、ユーザが設置値により設定可能とする。又、路面標示の種別や路面標示のカメラ座標でのサイズに応じて設定しても良い。又、判断エリアは、カメラ座標のエリアとして指定しても良いし、ワールド座標でエリアとして指定しても良い。
【0062】
判断エリアの設定値の決定方法の例を以下に示す。事前に路面標示がある場合の観測対象車両の検出位置の統計データ及び別途準備した観測対象車両の正解位置データを収集しておく。カメラ座標上での観測対象車両の検出位置と正解位置の差が閾値以上の場合を路面上の位置推定誤差要因の影響を受けている誤検出データとする。
【0063】
この時、誤検出データの観測対象車両の検出位置は路面標示付近とどこかになっている。路面標示の特定箇所を基準とした路面標示座標系を設定し、カメラ座標の観測対象車両の検出位置と路面標示座標系に変換する。この時の路面標示座標系における観測対象車両の誤検出データの統計データを取得する。
【0064】
この統計データで発生している誤検出の位置を包含するエリアを判断エリアとして設定する。包含するエリアの基準としては、誤検出の位置の90%が含まれる領域などにしても良い。この統計データを取得する際、路面標示種別やカメラ座標での路面標示サイズ毎や路面標示の傾き毎や観測対象車両のカメラ座標のサイズ毎に統計をとっても良い。
【0065】
又、この統計データの収集は、利用する撮影部を設置前に実施しておくことで、判断エリア設定時は上記の統計データから適切な判断エリア選択する事ができる。但し、適切な統計データが無い場合は、利用する撮影部を設置後に統計データの収集を実施して、判断エリアを設定しても良い。
【0066】
又、判断エリア決定部での判断エリア決定方法として、路面標示検出部を用いて自動で設定する構成にしても良い。その場合は、ディープラーニング等で路面標示を事前に学習しておき、路面標示の種別と位置を認識可能にしておく。又、事前に認識した路面標示の種別やカメラ座標でのサイズ毎や姿勢毎に誤検出データの統計データをとる。
【0067】
この統計データにより認識した路面標示の種別・カメラ座標での路面標示のサイズや姿勢に対する判断エリア設定のテーブルを作成する。撮影部設置後に、路面標示検出部にて路面標示の認識を実施して、認識結果の路面標示種別・カメラ座標でのサイズ・姿勢から判断エリア決定部にて判断エリアを自動的に設定する。即ち、路面標示検出部による検出結果に応じて、予め前記判断エリアを算出する。
【0068】
又、路面上の位置推定誤差要因(路面標示等)の影響を受けているか否かを判断は、バウンディングボックスサイズの変化量を用いて判断する構成にしても良い。即ち、物体位置検出部31はバウンディングボックスを生成し、誤差要因存在判断部711はバウンディングボックスのサイズの変化量に基づき物体位置が路面上の位置推定誤差要因の影響を受けるか否かの判断をするようにしても良い。その場合は、バウンディングボックスの情報の履歴を参照して判断しても良い。
【0069】
利用する情報がバウンディングボックスのアスペクト比であれば、アスペクト比の変化量が閾値以上の場合に路面上の位置推定誤差要因の影響を受けていると判断する。又、バウンディングボックスのアスペクト比・縦サイズ・横サイズ・下端位置の内少なくとも1つの変化から判断する構成にしても良い。
【0070】
又、路面上の位置推定誤差要因の影響を受けているか否かを判断は、バウンディングボックスの内の白領域割合の変化量を用いて判断する構成にしても良い。実施例を以下に説明する。バウンディングボックスの内を信号レベルで2値化して白領域を算出する。
【0071】
次にバウンディングボックス内の画素数に対する2値化で算出した白領域の比で白領域割合を算出する。この白領域割合の変化量が閾値以上の場合に路面上の位置推定誤差要因の影響を受けていると判断する。
【0072】
尚、白領域割合の代わりに例えば黄色領域等の割合の変化を用いて判断するようにしても良い。即ち、画像におけるバウンディングボックスの内の所定色エリアの変化量に基づいて物体位置が路面上の位置推定誤差要因の影響を受けるか否かの判断をするようにしても良い。
【0073】
次のステップS803においては、路面上の位置推定誤差要因の影響を軽減するための補正観測ノイズを算出する。この処理は、路面上の位置推定誤差要因の影響を受けていると判断された場合に処理される。
【0074】
ここでは、事前に保持している補正観測ノイズテーブルを利用して、検出距離に応じて補正観測ノイズを算出する。この補正観測ノイズテーブルは、認識種別に応じて変更しても良い。又、撮影部の設置高さや設置角度に応じてテーブルデータを変更しても良い。又、路面標示のカメラ座標でのサイズに応じて変更しても良い。又、前記検出距離に依らず固定値でも良い。
【0075】
又、補正観測ノイズテーブルは、事前に計測した路面標示がある場合の観測対象車両の検出位置の統計データ及び正解データの統計データから作成する。カメラ座標上での観測対象車両の検出位置と正解位置の差が閾値以上の場合を路面上の位置推定誤差要因の影響を受けている誤検出データとする。この誤検出データと正解データで統計処理を実施する。
【0076】
統計処理の方法としては、ワールド座標での観測対象車両の誤検出位置と正解データの差分に対して分散を算出する。この時、正解データを利用せず、ワールド座標での観測対象車両の誤検出位置の平均値の差分に対して分散を算出しても良い。
【0077】
又、補正観測ノイズテーブルは路面標示の種別毎、路面標示のカメラ座標のサイズ毎、物体の認識種別毎、撮影部の設置高さ毎、撮影部の設置角度毎に統計データを算出しても良い。正解データは、観測対象車両を設置して測量する事で生成しても良い。又、GPS、LiDAR、カメラなどのセンサーを別に設置して正解データとして利用しても良い。
【0078】
又、カメラ座標での車両検出位置の統計データからテーブルを算出しても良い。この場合、座標変換を用いてカメラ座標での分散値をワールド座標での分散値に変換して、テーブルデータを作成しても良い。又、補正観測ノイズテーブルとしては、基本観測ノイズテーブルで算出される値の差分値を保持しても良い。
【0079】
次のステップS804においては、ステップS803で算出した補正観測ノイズを用いて基本観測ノイズを補正し、適用観測ノイズを算出する。補正処理としては、補正観測ノイズを基本観測ノイズで上書きする事で補正する。又、基本観測ノイズと補正観測ノイズを加算する構成でも良い。
【0080】
このように、ステップS803、ステップS804は、誤差要因存在判断ステップの判断結果に応じて物体位置の信頼度(観測ノイズ)を変更する信頼度変更ステップとして機能している。
【0081】
次に、ステップS805において、カルマンフィルタ処理によりワールド座標の位置情報の過去履歴及び位置情報の信頼度の過去履歴を用いて物体の速度を推定する。ここで、ステップS805は、ワールド座標の物体位置の過去履歴及び変更後の信頼度の過去履歴を用いて物体の速度を推定する速度推定ステップとして機能している。
【0082】
カルマンフィルタ処理の入力としては、ワールド座標での観測対象車両の検出位置、適用観測ノイズ、検出時刻である。このカルマンフィルタ処理部は従来技術をそのまま利用して良い。
【0083】
カルマンフィルタとしては、予測部と観測更新部に分けられる。又、カルマンフィルタでは、内部的に状態推定値を保持している。状態推定値としては、ワールド座標での物体の3次元位置及び3次元速度である。
【0084】
又、状態推定値の信頼度である誤差の共分散行列も保持している。又、この状態推定値の信頼度である誤差の共分散行列を推定値ノイズと呼ぶことにする。又、カルマンフィルタの入力としては、観測値であるワールド座標での観測対象車両の検出位置、観測時刻及び適用観測ノイズが入力される。
【0085】
動体追跡(予測)部では、保持している過去の速度及び位置(状態推定値)を利用して、前記観測時刻の速度及び位置を予測する。この時、推定値ノイズも更新する。観測更新部では、ワールド座標での観測対象車両の検出位置と適用観測ノイズを用いて、状態推定値及び状態ノイズを更新する。
【0086】
カルマンフィルタとしては、この観測更新部の状態推定値(観測対象車両の3次元位置及び3次元速度等)を出力する。ちなみに、適用観測ノイズが推定値ノイズよりも大きいと観測更新部の状態推定値の出力は前記予測部の状態推定値の重みが大きくなる。又、カルマンフィルタ処理としては、複数の観測対象車両の位置や速度を推定する構成でも良い。又、物体検出の位置が複数検出可能な構成でも良い。
【0087】
その場合の例として、マルチトラッカーのカルマンフィルタの説明をする。ここでは状態推定値と状態ノイズの組み合わせをトラッカーと呼び、トラッカーを複数保持して処理する構成をマルチトラッカーと呼ぶ。マルチトラッカーのカルマンフィルタでは、上記のカルマンフィルタの状態推定値と状態ノイズの組み合わせが複数保持される。
【0088】
マルチトラッカーのカルマンフィルタでは、複数の観測対象車両の検出位置と複数のトラッカーが存在する。そのため、検出した観測対象車両に対応したトラッカーがどれか対応関係判断する必要がある。この時、検出した観測対象車両の位置とトラッカーの状態推定値(位置)で近いもの同士を対応関係と判断する。
【0089】
又、対応判定としては、ワールド座標の位置を画像上の座標系に戻して、バウンディングボックスのオーバーラップ率が高いものを対応としても良い。対応判断後に、対応同士でカルマンフィルタの処理を実施する。この時の処理は単一のトラッカーでのカルマンフィルタと同じである。
【0090】
ここまでの実施例では、路面上の位置推定誤差要因として路面標示を含む例を説明した。しかし、本実施例における路面上の位置推定誤差要因としては、路面標示だけに限定されない。例えば、路面上の位置推定誤差要因としてはマンホールなどの路面上の構造物でも良いし、雪・水たまり・落下物(落ち葉)などの路面上に一時的に存在しているものでも良い。
【0091】
又、以上の実施例では、観測対象の物体として車両のみ記載した。しかし、本実施例における物体は車両に限定されない。移動体であれば、人でも動物でも構わない。
【0092】
又、以上の実施例では、ワールド座標の位置情報の過去履歴及び位置情報の信頼度の過去履歴を用いてフィルタ処理して物体の速度を推定する速度推定部713として、カルマンフィルタを用いる例のみ説明した。しかし、本実施例における速度推定部713としては、カルマンフィルタだけに限定されない。
【0093】
速度推定部713としては、カルマンフィルタ以外のベイズフィルタ(パーティクルフィルタなど)を用いても良いし、IIRフィルタ(Infinite Impulse Response Filter)やFIRフィルタ(Finite Impulse Response Filter)でも良い。
【0094】
IIRフィルタの場合は、観測ノイズを変更する代わりにフィードバックゲインを変更しても良い。FIRフィルタの場合は、観測ノイズを変更する代わりに重みの変更を実施しても良い。
【0095】
又、ここまで基本観測ノイズテーブル720や補正観測ノイズテーブル721など事前に取得した統計データをテーブルとして保持して利用する構成で説明した。しかし、本実施例における統計データの保持形態はテーブルに限らない。統計データをモデル化して関数式で表現しても構わない。
【0096】
以上の様な処理を実施する事で、路面標示など路面上の位置推定誤差要因により発生する検出位置誤差による速度推定精度の低下を抑制する事ができる。
【0097】
次に、
図9及び
図10を用いて、本実施例の効果例を説明する。先ず、
図9(A)~(F)は、路面標示の影響で観測対象車両の検出位置に誤差が発生する例を説明するための図である。
【0098】
図9(A)、(B)、(C)はワールド座標での観測対象車両の挙動を表現しており、
図9(A)、(B)、(C)は夫々の時刻における観測対象車両の位置を表している。観測対象車両130は位置Xの正方向に移動している。
図9(D)、(E)、(F)はカメラ座標での観測対象車両の挙動を表現している。
【0099】
図9(D)は
図9(A)と同一時刻、
図8(E)は
図9(B)と同一時刻、
図9(F)は
図9(C)と同一時刻の観測対象車両の挙動をしめしている。
図9(D)、(E)、(F)のバウンディングボックス511は観測対象車両の検出結果であり、位置512がカメラ座標での観測対象車両の位置である。
図9(D)では、観測対象車両の位置512は観測対象車両130の下面付近になっている。
【0100】
それに対し、観測対象車両に周囲に路面標示が存在する場合、
図9(E)の様に路面標示(横断歩道801)と観測対象車両を含んだバウンディングボックス511が検出される場合がある。この場合、カメラ座標での検出位置512が観測対象車両の下面から大きくずれている。
【0101】
このカメラ座標の観測対象車両を座標変換すると
図9(B)の様に実際の物体の位置と異なるワールド座標での観測対象車両の検出位置512が算出される。この様に路面標示の影響により観測対象車両の検出位置が所望の位置からずれることがある。
【0102】
次に、
図10(A)~(I)は、路面標示による観測対象車両の検出位置誤差の影響に対する本実施例の効果を説明するためのグラフである。先ずは
図10(A)、(B)、(C)を用いて、実際の観測対象車両130の位置X、速度V、交差点進入猶予時間Ty及び報知対象車両120の右折の可否に関して説明する。
【0103】
図10(A)は、横軸が時刻、縦軸がワールド座標での観測対象車両130の正解位置のグラフである。
図10(B)は、横軸が時刻、縦軸がワールド座標での観測対象車両130の正解速度のグラフである。
図10(B)に示すように一定の速度で移動している。
【0104】
図10(C)は、横軸が時刻、縦軸は観測対象車両が交差点に進入するまでの猶予時間のグラフである。報知対象車両120が猶予時間Ty1あれば右折可能である場合、報知対象車両120は時刻T4までは右折可であり、時刻T4よりも後では右折不可である。
【0105】
次に、
図10(D)、(E)、(F)を用いて、路面標示など路面上の位置推定誤差要因により発生する検出位置誤差を考慮しない場合の例を説明する。
図10(D)は、横軸が時刻、縦軸がワールド座標での観測対象車両の検出位置のグラフである。この例では、路面標示の影響により観測対象車両の検出位置誤差が発生して、時刻T1~T3にかけてワールド座標での観測対象車両の検出位置がほぼ一定になっている。
【0106】
図10(E)は、横軸が時刻、縦軸がワールド座標での観測対象車両の推定速度(対策前:路面上の位置推定誤差要因未考慮の場合)のグラフである。時刻T1~T3にかけて路面標示の影響で、推定速度が大きく変動してしまっている。
【0107】
図10(F)は、横軸が時刻、縦軸が推定猶予時間のグラフであり、路面上の位置推定誤差要因に対して対策をしない場合のグラフである。
図10(E)の様な推定速度の大きな変動により推定猶予時間も大きく変動している。
【0108】
これにより、この例では時刻T2で猶予時間Ty1を下回ってしまうためT2以降に右折不可と判断してしまう。これにより報知対象車両120は実際には右折可能なタイミングであっても右折が出来なくなってしまう。
【0109】
次に、
図10(G)、(H)、(I)を用いて、本実施例の様に路面標示など路面上の位置推定誤差要因により発生する検出位置誤差を考慮した場合の例を説明する。
図10(G)は、
図10(D)と同様に、横軸が時刻、縦軸がワールド座標での観測対象車両の検出位置のグラフである。この検出位置は、本実施例の場合でも
図10(D)と同じである。
【0110】
図10(H)は、本実施例における、横軸が時刻、縦軸がワールド座標での観測対象車両130の推定速度のグラフである。時刻T1~T3にかけて路面標示の影響が
図10(E)に比べて軽減していることが分かる。これは、時刻T1~T3の間において、位置推定誤差要因の影響を受けていると判断して、観測ノイズを大きくした結果T1以前の速度推定値が大きく採用されたためである。
【0111】
図10(I)は、本実施例における、横軸が時刻、縦軸が推定猶予時間のグラフである。
図10(H)の様に
図10(E)に比べて推定速度の変動が抑えられている。これにより、
図10(i)の様に推定猶予時間の変動も抑えられている。これにより、この例では時刻T4まで右折可と判断される。
【0112】
この様に、本実施例では、路面標示など路面上の位置推定誤差要因により発生する検出位置誤差による速度推定精度の低下を抑制する事が可能である。又、これにより観測対象車両の交差点への侵入猶予時間の誤差も軽減され、報知対象車両120が実際は右折できるタイミングでも右折不可と判断してしまうケースやその逆のケースを軽減できる。
【0113】
又、本実施例では基本観測ノイズテーブル720や補正観測ノイズテーブル721を利用して実現する事が可能である。このテーブルデータは、事前にさまざまな条件で取得しておき、撮影部設置後の状況に合わせてテーブルを選択する。そのため、撮影部設置前にテーブルデータを準備しておくことが望ましい。
【0114】
そうすることで、撮影部設置後に観測対象車両の検出位置の信頼度の計測を実施しなくても、路面標示など路面上の位置推定誤差要因により発生する検出位置誤差による速度推定精度の低下を抑制する事が可能である。
【0115】
この様に、本実施例によれば、撮影部設置後に物体の検出位置の信頼度の計測を実施しなくても、路面標示など路面上の位置推定誤差要因により発生する検出位置誤差による速度推定精度の低下を抑制する事を可能にした移動体追跡装置を提供することができる。
【0116】
以上、本発明をその好適な実施例に基づいて詳述してきたが、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。尚、上記実施例は、以下の組み合わせを含む。
【0117】
(構成1)画像を取得する画像取得手段と、前記画像に基づき前記画像上の物体位置を検出する物体位置検出手段と、前記画像上の前記物体位置からワールド座標の物体位置へ変換する座標変換手段と、前記ワールド座標の前記物体位置に対する信頼度を算出する信頼度算出手段と、前記物体位置検出手段で検出した前記物体位置が路面上の位置推定誤差要因の影響を受けるか否かを判断する誤差要因存在判断手段と、前記誤差要因存在判断手段の判断結果に応じて前記物体位置の信頼度を変更する信頼度変更手段と、前記ワールド座標の前記物体位置の過去履歴及び前記変更後の信頼度の過去履歴を用いて物体の速度を推定する速度推定手段と、を有することを特徴とする情報処理装置。
【0118】
(構成2)前記位置推定誤差要因が路面標示を含むことを特徴とする構成1に記載の情報処理装置。
【0119】
(構成3)路面上の前記位置推定誤差要因の影響を受けるか否かを判断する判断エリアを予め決定する判断エリア決定部を有し、前記誤差要因存在判断手段は前記物体位置検出手段で検出した前記物体位置が前記判断エリアの範囲内か否かに基づき前記判断をすることを特徴とする構成1又は2に記載の情報処理装置。
【0120】
(構成4)前記判断エリアはユーザが設定値により設定可能である事を特徴とする構成3に記載の情報処理装置。
【0121】
(構成5)前記画像から路面標示を検出する路面標示検出部を有し、前記路面標示検出部による検出結果に応じて、予め前記判断エリアを算出することを特徴とする構成3又は4に記載の情報処理装置。
【0122】
(構成6)前記物体位置検出手段はバウンディングボックスを生成し、前記誤差要因存在判断手段は前記バウンディングボックスのサイズの変化量に基づき前記判断をすることを特徴とする構成1~5のいずれか1つに記載の情報処理装置。
【0123】
(構成7)前記物体位置検出手段はバウンディングボックスを生成し、前記誤差要因存在判断手段は前記画像における前記バウンディングボックスの内の所定色エリアの変化量に基づいて前記判断をする事を特徴とする構成1~6のいずれか1つに記載の情報処理装置。
【0124】
(方法)画像を取得する画像取得ステップと、前記画像に基づき前記画像上の物体位置を検出する物体位置検出ステップと、前記画像上の前記物体位置からワールド座標の物体位置へ変換する座標変換ステップと、前記ワールド座標の前記物体位置に対する信頼度を算出する信頼度算出ステップと、前記物体位置検出ステップで検出した前記物体位置が路面上の位置推定誤差要因の影響を受けるか否かを判断する誤差要因存在判断ステップと、前記誤差要因存在判断ステップの判断結果に応じて前記物体位置の信頼度を変更する信頼度変更ステップと、前記ワールド座標の物体位置の過去履歴及び前記変更後の信頼度の過去履歴を用いて物体の速度を推定する速度推定ステップと、を有することを特徴とする情報処理方法。
【0125】
(プログラム)構成1~7のいずれか1つに記載の情報処理装置の各手段をコンピュータにより制御するためのコンピュータプログラム。
【0126】
尚、本実施例における制御の一部又は全部を実現するために、上述した実施例の機能を実現するコンピュータプログラムをネットワーク又は各種記憶媒体を介して情報処理装置等に供給するようにしてもよい。そしてその情報処理装置等におけるコンピュータ(又はCPUやMPU等)がそのプログラムを読み出して実行するようにしてもよい。その場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することとなる。
【符号の説明】
【0127】
100、101:観測装置
110:統合装置
120:放置対象車両
130,131:観測対象車両
140:衝突注意領域