(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022121377
(43)【公開日】2022-08-19
(54)【発明の名称】外界認識装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20220812BHJP
G06T 7/277 20170101ALI20220812BHJP
G08G 1/16 20060101ALI20220812BHJP
H04N 5/232 20060101ALI20220812BHJP
【FI】
G06T7/00 650B
G06T7/277
G08G1/16 C
H04N5/232 290
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021208698
(22)【出願日】2021-12-22
(31)【優先権主張番号】P 2021018600
(32)【優先日】2021-02-08
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000001487
【氏名又は名称】フォルシアクラリオン・エレクトロニクス株式会社
(74)【代理人】
【識別番号】240000327
【弁護士】
【氏名又は名称】弁護士法人クレオ国際法律特許事務所
(72)【発明者】
【氏名】酒井 貴大
(72)【発明者】
【氏名】坂野 盛彦
【テーマコード(参考)】
5C122
5H181
5L096
【Fターム(参考)】
5C122DA14
5C122EA01
5C122EA65
5C122FH04
5C122FH09
5C122FH11
5C122FH14
5C122FH23
5C122FH24
5C122HA88
5C122HB01
5C122HB05
5C122HB06
5C122HB09
5C122HB10
5H181AA01
5H181AA21
5H181CC04
5H181LL01
5H181LL02
5H181LL04
5H181LL09
5L096BA04
5L096CA04
5L096DA02
5L096GA30
5L096HA05
(57)【要約】
【課題】カメラによって取得した画像に基づいて、精度の高い動物体の追跡を行うことができる外界認識装置を提供する。
【解決手段】外界認識装置10は、自車両が備えたカメラにより撮影した画像に基づいて、動物体の位置を観測値として検出する物体位置検出部と、検出した観測値に基づいて、画像における動物体が属する領域を判定する領域判定部と、観測値に対する誤差を計算する観測誤差設定部と、前時刻までの観測値と観測誤差設定部で計算された誤差とに基づいて現在時刻における動物体の状態を予測する状態予測部と、予測した現在時刻における動物体の状態と物体位置検出部により検出した観測値とを対応付ける対応付け部と、対応付け部によって対応付けた結果に基づいて、動物体の状態を更新する状態更新部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
カメラを備えた移動体の周囲の動物体を検出、追跡する外界認識装置であって、
前記カメラにより撮影した画像に基づいて、前記動物体の位置を観測値として検出する物体位置検出部と、
前記物体位置検出部により検出した前記観測値に基づいて、前記画像における前記動物体が属する領域を判定する領域判定部と、
前記領域判定部による判定の結果に基づいて、観測値に対する誤差を計算する観測誤差設定部と、
現在時刻より前の時刻である前時刻までの前記観測値と前記観測誤差設定部で計算された誤差とに基づいて、前記現在時刻における前記動物体の状態を予測する状態予測部と、
前記状態予測部により予測した前記現在時刻における前記動物体の状態と前記物体位置検出部により検出した前記観測値とを対応付ける対応付け部と、
前記対応付け部によって対応付けた結果に基づいて、前記動物体の状態を更新する状態更新部と、を備えた外界認識装置。
【請求項2】
前記領域判定部は、
前記移動体に対する前記カメラの取付位置、取付姿勢及びレンズ歪みという物理的なパラメータに基づいて、複数の領域に分割した前記画像を用いて、前記物体位置検出部により検出した前記画像における前記観測値が、前記複数の領域のうちいずれの領域に属するかを判定する請求項1に記載の外界認識装置。
【請求項3】
前記物体位置検出部により検出した前記画像における前記観測値が、前記複数の領域のうち前記動物体の全体を含まない可能性が高い領域と対応づけられているときは、前記動物体を代替手段により検出する、請求項1又は2に記載の外界認識装置。
【請求項4】
前記物体位置検出部により検出した前記画像における前記観測値が、前記複数の領域のうち前記動物体の全体を含まない可能性が高い領域と対応づけられていて、前記代替手段による前記動物体の検出の際に、前記状態予測部の予測値により算出した前記画像の領域内で検出を行う請求項3に記載の外界認識装置。
【請求項5】
前記物体位置検出部により検出した前記画像における前記観測値が、前記複数の領域のうち前記画像の消失点よりも上方の領域と対応づけられているときは、前記動物体の位置を削除する、請求項1から4のうちいずれか1項に記載の外界認識装置
【請求項6】
前記観測誤差設定部は、
前記物体位置検出部により検出した前記画像における前記観測値に想定される誤差を、前記画像における前記観測値に、前記画像の上方向、下方向、右方向及び左方向のそれぞれに付加し、
前記誤差を付加した後の前画像における前記観測値を、ピンホールカメラモデルを用いて移動体座標系上に投影し、
その後、前記画像における前記観測値を移動体座標系に投影した位置との各方向への差の絶対値の平均を観測誤差として設定する、請求項1から5のうちいずれか1項に記載の外界認識装置。
【請求項7】
前記対応付け部は、
前記状態予測部により予測した前記現在時刻における前記動物体の状態と前記物体位置検出部により検出した前記観測値との対応付けを、マハラノビス距離を用いて行い、
前記対応付け部による対応付けの結果を、x二乗検定により検証する、請求項1から6のうちいずれか1項に記載の外界認識装置。
【請求項8】
前記状態予測部は、前記移動体の移動情報を用いることにより、前記画像の座標上ではなく、システム起動時における地点を原点とした座標系上において、前記観測値を予測し、
前記状態更新部は、前記状態予測部により予測した前記座標系上における前記観測値を更新して、対象の動物体を追跡する、請求項1から7のうちいずれか1項に記載の外界認識装置。
【請求項9】
前記状態予測部と前記状態更新部とを有する状態推定器において、追跡する対象が速度を含む内部状態を有する場合、前記状態更新部は、各状態推定器に対応付いた観測値に基づいて、前記追跡する対象の移動速度を計算する、請求項1から8のうちいずれか1項に記載の外界認識装置。
【請求項10】
前記状態予測部と前記状態更新部とを有する状態推定器により前記観測値を得られない場合は、前記状態予測部の予測結果を用いて、前記状態更新部で内部状態及び誤差共分散行列を更新する、請求項1から9のうちいずれか1項に記載の外界認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、本発明は外界認識装置に関する。
【背景技術】
【0002】
現在、様々な運転支援システムが開発され製品化されている。これらの運転支援システムの一つとして、衝突被害軽減ブレーキシステムがある。衝突被害軽減ブレーキシステムは、車両に搭載されたセンサによって、車両の周辺で動く物体(動物体)を精度よく検出し、その動物体を追跡する必要がある。
【0003】
動物体を追跡する手法として、カルマンフィルタを用いた手法が知られている。カルマンフィルタを用いた手法は、所定の時刻までの動物体の位置の変化に基づいて、所定の時刻よりも後の時刻における動物体の位置を予測することができる。
【0004】
しかし、この手法では、得られた観測(検出した動物体の位置)に対する観測誤差を正確に設定できない場合、予測の精度が低下する。画像に基づいて検出された動物体の情報を利用する場合、その画像において動物体が検出された位置に応じて、観測誤差の大きさは変化する。また、画像を撮影するカメラの画角や取付け角度によっては、追跡対象となる動物体が画像の外側に外れてしまって検出できない場合がある。これらの場合、動物体の追跡に失敗し、自車両が動物体と衝突するおそれがある。
【0005】
移動体に取り付けられたカメラを用いて動物体、特に人を追跡する方法として、次の手法が提案されている(例えば、特許文献1参照)。
【0006】
すなわち、移動体に取り付けられたカメラ装置により、カメラ装置の視野範囲内で、移動体の周辺の画像が一定の時間間隔で撮影される。そして、画像処理システムにより、撮影して得られた時系列で前後する複数の画像に基づいて、追跡対象である動物体に対応する画素が特定される。
【0007】
動物体のそれぞれについて、動物体が道路の面に接する空間点に対応する、画像座標への投影を表す画素が特定される。道路面に接する空間点の動きは、道路面に接する空間点の位置と道路面の関係速度とを成分とする、少なくとも4次元の状態ベクトルを用いた状態推定器によって追跡される。
【0008】
状態推定器による動きの追跡は、状態ベクトルごとに予測を生成する工程と、この予測に適した投影方程式を介して画像座標に変換する工程と、この予測に予想される誤差を共分散行列によって画像座標内で計算する工程と、この予測をより最近の画像内で抽出された画素と比較して更新する工程とにより行われ、この動きの追跡によって動物体を追跡する。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
衝突被害軽減ブレーキシステムのように、周囲の動物体の位置から自車両までの距離を計算して衝突までの時間を推定し、推定した時間に基づいて、衝突の危険がある場合に自動的にブレーキをかけるシステムは、動物体までの距離を正確に計測し、追跡する必要がある。このため、衝突被害軽減ブレーキシステムを実現するためには、継続して追跡するだけでなく、誤った検出結果を追跡しないことも重要となる。
【0011】
特許文献1により提案された技術を自動駐車システムに適用した場合、自車両の近傍では観測値に対して予想される誤差が大きくなり、自車両の直近の位置がずれた検出結果と対応付けられる。この結果、追跡中の動物体までの距離が正確に計測できないため、自車両は動物体と衝突するおそれがある。
【0012】
本発明は上記事情に鑑みなされたものであり、カメラによって取得した画像に基づいて、精度の高い動物体の追跡を行うことができる外界認識装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明は、カメラを備えた移動体の周囲の動物体を検出、追跡する外界認識装置であって、前記カメラにより撮影した画像に基づいて、前記動物体の位置を観測値として検出する物体位置検出部と、前記物体位置検出部により検出した前記観測値に基づいて、前記画像における前記動物体が属する領域を判定する領域判定部と、前記領域判定部による判定の結果に基づいて、観測値に対する誤差を計算する観測誤差設定部と、現在時刻より前の時刻である前時刻までの前記観測値と前記観測誤差設定部で計算された誤差とに基づいて、前記現在時刻における前記動物体の状態を予測する状態予測部と、前記状態予測部により予測した前記現在時刻における前記動物体の状態と前記物体位置検出部により検出した前記観測値とを対応付ける対応付け部と、前記対応付け部によって対応付けた結果に基づいて、前記動物体の状態を更新する状態更新部と、を備えた外界認識装置である。
【発明の効果】
【0014】
本発明に係る外界認識装置によれば、カメラによって取得した画像を利用して、精度の高い動物体の追跡を行うことができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態に係る外界認識装置を示すブロック図である。
【
図2】動物体の検出結果として人、車両を例とした模式図である。
【
図3】検出結果の画像中位置の定義を示した図である。
【
図4】実施形態1の処理の流れを示すフローチャートである。
【
図6】画像の分割された領域の一例を示す図である。
【
図7A】領域を分割する基準の一例として、画像を縦方向に走査する様子を示す模式図である。
【
図7B】
図7Aの走査により、画像中のy座標が1[ピクセル]変化するごとに、人までの距離がどの程度変化するかの対応関係を計算により求めて、曲線で近似したグラフである。
【
図8A】自車両に対して検出対象(例えば人)が相対的に遠方にいる場合の例を示す俯瞰画像である。
【
図8B】自車両に対して検出対象(例えば人)が相対的に近くにいる場合の例を示す俯瞰画像である。
【
図8C】
図8Aに示した検出対象及び
図8Bに示した検出対象をそれぞれ投影した移動体座標系の図である。
【
図9】検出結果の画像中位置から自車両までの距離計算方法を示した図である。
【
図12】カルマンフィルタの更新処理のフローチャートである。
【
図13】カルマンフィルタの状態管理テーブルの例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明に係る外界認識装置の具体的な実施形態について、図面を参照して説明する。
【0017】
[実施形態1]
図1は外界認識装置10を示すブロック図である。図示の外界認識装置10は本発明に係る外界認識装置の一実施形態である。外界認識装置10は、自動車などの移動体に搭載されている。以下、外界認識装置10が搭載される移動体を自車両と称して説明する。
【0018】
外界認識装置10は、外部システム40と組み合わされて使用されるものである。また、外界認識装置10は、予め決められた周期、例えば時間100[ms]ごとの周期で動作する。そして、外界認識装置10は、自車両から、速度、ハンドル角、シフト及びブレーキの状態などの車両情報を取得する機能と、カメラが撮影した画像を取得する機能と、を有する。
【0019】
図1に示すように、外界認識装置10は、物体位置検出部11と、領域判定部12と、観測誤差設定部13と、対応付け部14と、状態予測部15と、状態更新部16と、を備えている。外界認識装置10は、例えば、CPU、GPU、RAM及びROM等を有しており、ROMに格納された所定のプログラムをRAMに展開してCPUが実行することにより、上述した物体位置検出部11等の機能を実現する。なお、外界認識装置10は、その機能の一部又は全部を、FPGA、ASICなどのハードウェアを用いて実現してもよい。
【0020】
外界認識装置10には、自車両に取り付けられたカメラによって撮影された画像20と、自車両からCANなどを経由して取得した移動情報30が入力される。画像20は、自車両に搭載されたカメラによって所定のフレームレートで順次取得される。移動情報30は、自車両から得られる自車両の移動に関する情報及び移動に関する情報に準ずる情報であり、例えば、車両速度、ハンドル角度、車両旋回半径、アクセル及びブレーキの状態、並びにシフトレバーの状態などである。移動情報30も、画像20と同様に、所定の周期で、順次取得される。
【0021】
物体位置検出部11は、画像20に基づいて、人や車両など所望の動く物体(動物体)を、パターンマッチングなどの公知の手法を用いて検出する。
図2は動物体の検出結果として人、車両を例とした模式図である。
【0022】
図2に示すように、動物体の検出結果は、画像における動物体(人や車両)の位置を特定する情報である。具体的には、動物体を囲う矩形枠Fを定義する、矩形枠Fの鉛直(縦)方向の寸法である高さHと矩形枠Fの水平(横)方向の寸法である幅Wと矩形枠Fの特定の角部(本実施形態では、左上の角部)である矩形枠Fの原点Cの位置とにより規定された情報である。物体位置検出部11は、検出結果を領域判定部12及び対応付け部14へ出力する。
【0023】
図3は検出された動物体の、画像20(左上角部を画像原点O(0,0)、水平右方をx軸の正方向、鉛直下方をy軸の正方向とする)における位置を説明する模式図である。領域判定部12は、物体位置検出部11から入力された検出結果により、検出された動物体(検出動物体)が、画像20を複数の領域に分割したときの、画像20におけるいずれの領域に属しているかを判定する。
【0024】
ここで、
図3に示すように、検出動物体の位置は、上述した物体位置検出部11によって特定された矩形枠Fの、下縁における水平方向の中心点(矩形枠Fの原点から、矩形枠Fの高さHの位置で、矩形枠Fの幅Wの1/2の位置)を代表点とする。そして、領域判定部12は、画像20におけるこの代表点が属する領域を、動物体の位置として、観測誤差設定部13に出力する。
【0025】
観測誤差設定部13は、領域判定部12の結果に基づいて、観測値(画像20に基づいて物体位置検出部11が検出した動物体の位置)に含まれると想定される誤差を決定する。また、観測誤差設定部13は、領域判定部12の結果に基づいて、検出動物体の足元(足やタイヤの下部など)の一部など、画像に写っていない足切れや見切れなどにより、パターンマッチングによるパターン認識では検出できない領域であると判定された場合には、検出が無効であることを表す値を設定する。そして、観測誤差設定部13は、設定した誤差や無効であることを表す値を、対応付け部14に出力する。
【0026】
対応付け部14は、物体位置検出部11の検出結果及び観測誤差設定部13で設定された観測誤差に基づいて、状態推定器の状態予測部15により予測された、現在時刻での動物体の位置(動物体予測位置)を対応付ける。このとき、対応付けられる動物体予測位置が無い場合には、新規に検出された動物体(新規検出動物体)とする。対応付け部14は、ここで対応付けた結果と新規検出動物体の情報とを、状態更新部16に出力する。
【0027】
状態予測部15は、現在時刻よりも前の時刻(前時刻)までに物体位置検出部11により検出された結果を利用して、状態更新部16で更新することにより得られた検出動物体の状態に基づいて、動物体の現在時刻の状態を予測する。ここで、状態は少なくとも位置と速度を持つものとする。状態予測部15による予測結果は対応付け部14において利用される。
【0028】
状態更新部16は、状態予測部15と物体位置検出部11の結果とを、対応付け部14において対応付けた結果を利用した状態の更新や、新規検出動物体とされた動物体の追跡を開始する。更新された状態は外部システム40へ出力され、外部システム40は、この結果により、例えば自車両と人(動物体の一例)までの距離に基づいて、衝突までに要する時間を計測し、衝突までに要する時間以内に停止できるように、自動でブレーキを作動させるシステムにおいて利用する。
【0029】
次に、外界認識装置10の動作についてフローチャートを参照して説明する。
図4は外界認識装置10による処理全体の流れを示すフローチャートである。また、本実施形態は、自車両の後方にカメラが搭載されている状態を想定して説明する。
【0030】
ここで、フローチャートの説明に先立って、外界認識装置10の処理で用いられる座標系(世界座標系、移動体座標系)について説明する。
【0031】
図5Aは外部システム40が起動したときの自車両の位置を原点とし、外部システム40の起動時における自車両の後方を+x
w、+x
wに対して側を+y
w、+x
wから+y
wへの回転を+θ
wとする2次元のx-y平面上の値とする世界座標系を示す図、
図5Bは外界認識装置10が自車両の位置及び姿勢を表すために使用する、自車両の後方を+x
v、+x
vに対して側を+y
v、+x
vから+y
vへの回転を+θ
vとする2次元のx-y平面上の値とする移動体座標系を示す図である。移動体座標系は、x軸の+方向とy軸の+方向とθの+回転方向については世界座標と同じであるが、自車両の動きに伴って原点は移動する。
【0032】
次に、
図4のフローチャートについて説明する。フローチャートの全体処理は、外部システム40が立ち上ったことにより開始される。
【0033】
図4のフローチャートに示す一例を、自車両の後方を向いて自車両に取り付けられた単眼カメラ(以下、単にカメラという。)を利用するものとして説明する。また、このカメラ、自車両から取得されるデータの周期は33[ms]とする。また、カメラによって得られる画像のサイズは、横(幅)640[ピクセル]×縦(高さ)400[ピクセル]とする。車両情報は、自車両がどのように移動したかを計算するために必要となる情報である。さらに、検出対象の動物体の位置を予測するモデルは、等速運動を仮定したモデルを利用する。
【0034】
物体位置検出部11は、ステップ101(S101)において、S100において読み込んだ画像20に基づいて追跡対象となりうる動物体を検出する。ここでは、追跡対象の動物体を、例えば人と車両とする。
【0035】
本実施形態では、追跡対象となりうる動物体の検出を、公知の手法であるHistograms of Oriented Gradients(HoG)と、Support Vector Machineを(SVM)を利用する。
【0036】
ここで、HoGは、局所領域の画素値の勾配方向ごとの勾配強度を計算してヒストグラム化したもので、このヒストグラムを特徴量としたものをHoG特徴量という。HoG特徴量は勾配を特徴量としているため、画像20のスケール変化に対して頑健であるという利点がある。一方、HoG特徴量は回転変化に弱いという欠点がある。
【0037】
SVMは、入力に対して正解か不正解かの別を分類する分類器である。SVMは、大量のデータとラベルとの組に基づいて、データとラベルとの関係を学習することにより、正解と不正解とを分類するための境界を学習し、未知のデータが入力されたときに、学習した境界を利用することにより、入力されたデータが正解か不正解かの別を判断する。
【0038】
本実施形態では、HoG特徴量と、人及び車両の各ラベルを学習して分類器を作成する。また、検出結果は
図2に示す通り、検出結果の原点及び検出結果を囲む矩形枠Fを描画するための幅Wと高さH、人や車両といったラベルを想定する。
【0039】
それぞれの技術は公知のものであるため、詳細の説明は省略する。また、人、車両を検出する手法としては、パターン認識などの他の公知の手法を用いてもよく、検出手法は上述した手法に限定しない。また、動物体としては人や車両以外のものを検出対象、追跡対象としてもよい。
【0040】
フローチャートのS101において、
図3のように動物体の検出結果により、画像20中における動物体の位置を検出する。画像20の座標は
図3に示しているように、画像20の下方向が+y、画像20の右方向が+xとなる。画像中の位置(x,y)は、画像原点O(0,0)に、幅W/2(x軸方向)、高さH(y軸方向)を加算したものとする。
【0041】
図6は画像20の分割された領域A1,A2,A3,A4の一例を示す図、
図7Aは領域を分割する基準の一例として、画像20を縦方向に走査する様子を示す模式図、
図7Bは
図7Aの走査により、画像20中のy座標が1[ピクセル]変化するごとに、人までの距離がどの程度変化するかの対応関係を計算により求めて、曲線で近似したグラフである。
【0042】
S102の領域の判定は、
図6に示すように、画像20を例えば縦方向の4つの領域A1,A2,A3,A4に区切った際に、検出結果(動物体)の位置がいずれの領域に属しているかを判定する処理である。領域A1~A4の分割は、例えばカメラのレンズの歪みと自車両へのカメラの取付姿勢に基づいて、画像20中におけるy軸方向の位置ごとに、1[ピクセル]のずれに対応した距離の誤差を、
図7Bの曲線に基づいて決定する。
【0043】
図6の例では、4つの領域A1,A2,A3,A4に区切った。領域A1は、検出動物体の位置が1[ピクセル]ずれることで数メートルの距離の誤差が生じる又は空が映る領域、領域A2は、検出動物体の位置が1[ピクセル]ずれることで領域A1よりも小さいが相対的に大きな誤差が生じる領域、領域A3は、検出動物体の位置が1[ピクセル]ずれることで領域A2よりも小さい誤差が生じる領域、領域A4は自車両と検出対象までの距離が物理的に近く、検出対象を正しく検出できないと考えられる領域である。
【0044】
また、4つの領域A1,A2,A3,A4に区切った分割の基準(境界)は、画像20における消失点(
図6参照)よりも上方を領域A1、1[ピクセル]の誤差で距離約0.8[m]の移動体座標系上での検出位置が変化する地点から領域A1までを領域A2、領域A2から1[ピクセル]の誤差で距離約0.2[m]の移動体座標系上での検出位置が変化する地点から領域A2までを領域A3、領域A3より下方を領域A4として設定した。
【0045】
領域判定部12は、検出結果の画像20における位置が領域A1~A4のうちいずれの領域にあるかを判定して(S102)、観測誤差設定部13に出力する。さらに、領域A1のような検出誤差が非常に大きい位置にある検出動物体又は位置が地面上にないと考えられる検出動物体については、追跡対象としないで削除する。
【0046】
ここで、領域A1~A4の分割方法は、カメラのレンズの歪みやカメラの取付位置といった物理的なパラメータを利用したものに限定しない。また、分割する領域A1~A4も縦方向だけでなく横方向に分割したものと混在させてもよく、分割の数も4つに限定しない。
【0047】
S103において、状態推定器により追跡中の動物体の、現在時刻における世界座標系上での位置を予測する。状態推定器として用いられるものとしては、カルマンフィルタ、拡張カルマンフィルタ、アンセンテッドカルマンフィルタなどがあるが、本実施形態では、カルマンフィルタを利用する例で説明する。
【0048】
まず、本実施形態におけるカルマンフィルタは、等速運動モデルを利用するため、推定する状態は4次元ベクトルx=(x,y,vx,vy)となる。また、x,yは世界座標系上での位置、vx,vyは世界座標系上での速度を示している。現在時刻の世界座標系上での位置及びこの位置に対する誤差共分散行列の値は以下の式(1),(2)により予測する。
【数1】
【数2】
【0049】
ここで、添字のtは時刻を、-は予測値であること、+は観測を基に更新された値であること、をそれぞれ表している。また、式(1),(2)において、Fは状態遷移行列を、Qはシステムノイズ、をそれぞれ表しており、本実施形態では式(3),(4)で表される。
【数3】
【数4】
【0050】
式(3)中のΔtは処理周期、式(4)中のσ2
sysytemnoiseは本実施例のモデルを適用した際に想定される誤差である。S103の処理は、無効状態ではない全てのカルマンフィルタについて行う。
【0051】
S104では、車両からCAN(Control Area Network)など任意の方法で移動情報30を取得する。ここで、移動情報30は、S105で移動距離を計算するために必要となる情報である。例えば、自車両の速度、タイヤの回転数、ハンドルの転舵量などである。
【0052】
S105では、S104で取得した移動情報30を利用して自車両の位置を推定する。本実施形態では、タイヤ回転数とタイヤ径から計算した移動距離と、ハンドルの転舵量から推定した旋回半径を利用して、式(5)~(8)により車両位置を推定する。ここで、自車両は2次元平面上の移動を仮定しており、状態としてpose
car=(x
carpose,y
carpose,θ
yaw)の3状態を持つものとする。
【数5】
【数6】
【数7】
【数8】
【0053】
ここで、tは時刻、Rは旋回半径、ρは曲率、ΔSは移動距離、をそれぞれ表している。自車両の位置を推定する方法として、他のモデルを利用する方法や、画像20を利用して自車両の位置や姿勢を推定するVisual Odometryなどを用いてもよい。
【0054】
S106において、領域判定の結果に基づいて観測結果の誤差を設定する。本実施形態では、領域A1及び領域A4に関しては、無効な検出結果として観測結果の誤差として無効な値を設定する。領域A2に関しては
図8のように誤差を動的に設定する。誤差の設定の手順は、まず画像上で想定される検出位置の誤差x,yを検出対象の画像20中の座標へ付加する。その後、誤差を加えた画像20中の座標をピンホールカメラモデルに従って、カメラの姿勢と地面からのカメラの高さを利用して移動体座標系上に投影する。
【0055】
図8Aは自車両に対して検出対象(例えば人)が相対的に遠方にいる場合の例を示す俯瞰画像、
図8Bは自車両に対して検出対象(例えば人)が相対的に近くにいる場合の例を示す俯瞰画像、
図8Cは
図8Aに示した検出対象及び
図8Bに示した検出対象をそれぞれ投影した移動体座標系の図である。
【0056】
誤差を加えた画像20中の座標を移動体座標系上へ投影すると、
図8Aの俯瞰画像において、自車両に対して検出対象(例えば人)が相対的に遠方にいる場合には、検出対象は
図8Cに示すように自車両から遠い位置へ投影される。一方、
図8Bの俯瞰画像において、自車両に対して検出対象が相対的に近くにいる場合には、検出対象は
図8Cに示すように自車両に近い位置へ投影される。
【0057】
この移動体座標系(
図8C)に投影された、想定誤差を付加した画像中心位置を、観測誤差の値として、自車両に対して前後方向に投影されたx方向の差の平均をx方向の観測誤差、左右方向に投影されたy方向の差の平均をy方向の観測誤差の値とする。
【0058】
検出対象の移動を等速運動によりモデル化するため、観測誤差を以下のように表現する。本実施形態では、移動体座標系に従いσ
xを自車両から見て前後方向の観測誤差、σ
yを自車両から見て左右方向の観測誤差とする。
【数9】
【0059】
また、画像中のx座標の変化により移動体座標系上でのy位置が変化する場合、また反対に、y座標の変化により移動体座標系上でのx位置が変化する場合には、以下のように共分散値を設定してもよい。
【数10】
【0060】
領域A3では、領域A2と同じ方法で観測誤差を設定した場合、値が小さくなり過ぎることが考えられる。このため、領域A2と同じ方法で観測誤差を計算した後、予め設定した最小値と比較し、最小値よりも小さかった場合には最小値を利用することとする。
【0061】
上記のように観測誤差を動的に推定して設定することで、遠方の追跡対象に対する追従性の向上、及び車両近傍で誤検知した検出対象への追従性を低下させる効果がある。
【0062】
S106による観測誤差の設定はS102で処理対象となった全てのS101の検出結果に対して行う。
【0063】
S107において、状態推定器により予測した追跡中の動物体の現在時刻での位置と、画像20中から検出した検出対象の画像20中の位置とを、世界座標系に投影した結果に基づいて対応付ける。
【0064】
図9は検出結果の画像中の位置から自車両までの距離の計算方法を示した図である。世界座標系の計算は、
図9のように、地面から自車両に搭載されたカメラの原点までの高さと、自車両に対するカメラ取付位置、姿勢及びカメラの内部パラメータとを利用して、ピンホールカメラモデルと、検出した動物体は自車両と同じ平面上に存在するという仮定に基づき、カメラ原点と画像20中の位置を結んだ直線と地面の交点を移動体座標系上での足元位置(x
car,y
car)として計算する。
【0065】
次に、計算して得られた移動体座標系上の足元位置を、世界座標系上に変換する。世界座標系は、外部システム40が起動された時点での位置を原点とした座標系であるため、現在時刻での自車両の位置と姿勢に基づいて変換すればよい。このため、式(7)で求めた(x
carpose,y
carpose)を、
図9に示した方法により求めた移動体座標系上の足元位置に対して足すことで、移動体座標系から世界座標系に変換する。
【0066】
加えて、観測誤差の値も自車両の向きに合わせて回転させる。ここで、固定カメラを利用して本発明を実施する場合は、
図5において定義した世界座標系と移動体座標系とは常に一致するため、式(5)~(8)及び式(11),(12)を実施する必要はない。
【数11】
【数12】
【0067】
図10は対応付けの例を示した図である。画像から検出した結果のすべてに対して座標変換後、
図10に示すように、状態推定器により予測した追跡中の動物体の現在時刻での位置と、画像20中から検出した検出対象の世界座標系上での位置に基づいて対応付ける。
【0068】
本実施形態では、対応付けるための距離の指標として、統計学で用いられる距離の一種であるマハラノビス距離を利用する。マハラノビス距離は、あるデータ標本の分散共分散値に基づいて、新たなデータの類似性を明らかにするのに適した指標となる。マハラノビス距離の計算を以下に示す。
【数13】
【数14】
【0069】
ここで、distはマハラノビス距離、zpredはカルマンフィルタによる予測位置(xpred,ypred)、zdetectは画像20中から検出した動物体の位置(xworld,yworld)である。この処理を(カルマンフィルタの予測数)と(画像から検出した動物体の数)との積の数だけ繰り返して、画像20から検出した動物体に対してマハラノビス距離が最小となるカルマンフィルタ予測値を対応付ける。
【0070】
このとき、画像20から検出した動物体の1つに対してカルマンフィルタを複数対応付いてもよい。画像20から検出した動物体の1つに対してカルマンフィルタを複数対応付けることにより、カルマンフィルタを不要に削除することを防ぐ。
【0071】
また、これ以外の対応付け方法として、ハンガリアンアルゴリズムなど公知の手法を用いてもよい。また、対応付けの指標として、ユークリッド距離等を用いてもよい。
【0072】
図11は見切れ結果の例を示した図である。S107では、S102での領域判定の結果、
図11のように見切れが発生して対象全体が映っていないと考えられる領域(実施形態では領域A4)と対応付いたカルマンフィルタは、カルマンフィルタの予測値を利用してオプティカルフロー、メディアンフローなどの代替手段を利用して検出を試みる。
【0073】
ここで、代替手段により検出できた場合には、代替手段で検出した結果に基づいて、S107の処理により世界座標系上での位置及びマハラノビス距離を計算して観測値として利用する。
【0074】
オプティカルフローによる検出は、カルマンフィルタの予測値の内部状態x-=(x,y,vx,vy)のうちx、yを画像20上に投影して矩形枠Fを描き、矩形枠F内の速度ベクトルを計算する。矩形枠Fを描くために必要となる幅Wと高さHは、カルマンフィルタに最後に対応付いた観測値が持つ高さH及び幅Wを利用すればよい。
【0075】
ここで、代替手段で検出できなかった場合には観測値無しとする。オプティカルフロー等の手法は公知の手法であるため説明は省略する。
【0076】
S108では、カルマンフィルタの予測値に対して対応付いた検出結果を用いて追跡中の動物体の状態を更新する。本実施形態では、カルマンフィルタの状態を追跡開始、追跡候補、追跡中、補間中及び無効という5つの状態で管理する。
【0077】
追跡開始は、新規に動物体を検出した際の状態で検出した動物体の追跡を開始するためにカルマンフィルタの状態を初期化する。追跡候補は、検出開始から時間が経過しておらず、カルマンフィルタの内部状態が安定していない可能性が高い状態を指す。
【0078】
追跡中は、検出開始から時間が経過しており、カルマンフィルタの内部状態が安定している状態を指す。補間中は、検出動物体の追跡を開始した後に、何らかの理由により追跡対象が未検知状態になっていることを指す。無効は、対象のカルマンフィルタが何も追跡していない状態を指す。また、カルマンフィルタは内部状態として、内部状態x、誤差共分散行列P、補間回数Intpを持つこととする。
【0079】
図12はカルマンフィルタの更新処理のフローチャートである。
図12に示すように、まず、S201でカルマンフィルタに対応付く検出結果(観測値)があるか否かを確認する。観測値がある場合にはS202へ、無い場合にはS207へ移行する。
【0080】
S202では、カルマンフィルタの予測値と観測値に基づいて、式(14)で計算したマハラノビス距離を利用して棄却検定を行う。棄却検定には、x二乗検定を用いた。x二乗検定は、検定統計量が帰無仮説の下でx2分布に従うことを仮定して行う統計的検定である。
【0081】
実施形態では、(x,y)からマハラノビス距離を求めているため、自由度2のx二乗分布となる。本実施形態では有意水準を5[%]としたため、x二乗値は5.99146となる。マハラノビス距離が5.99146以上(又は5.99146超え)の値を採っている場合は予測値から考えにくい対応付けであると判断してS203へ、5.99146未満(又は5.99146以下)の値を採っている場合はS210へ移行する。
【0082】
また、x二乗値が5.99146以上の対応付けに関しては無効な対応付けとして、対応付いていた観測値は新規検出動物体とする。
【0083】
図13はカルマンフィルタの状態管理テーブルの例を示す図である。S203は、新規検出動物体である場合の処理であり、
図13に示すように、プログラム内部で保持しているテーブル(t-1)から無効状態のものを探索する。
【0084】
ここで、無効値(=テーブルに空き)がある場合(S204でYes)はS205へ、無効値が無い場合(S204でNo)はS206へ移行する。S205では、テーブルの中から無効値となっている場所へ、新規検出動物体の追跡用にカルマンフィルタを新規に登録して、内部状態x及び誤差共分散行列Pを初期化した後に、テーブルの状態を追跡開始とする。
【0085】
内部状態の初期化は以下のように観測値の世界座標系を代入する。速度成分は0とする。誤差共分散行列Pは予め設定した値、例えば、0.1を代入する。補間回数Intpには、例えば0を代入する。
【数15】
【0086】
S206はテーブルに空きが無い場合の処理である。テーブルの空きが無い場合は、予め決めた基準により、最も不要と考えられる追跡中の動物体を削除し、代わりに新規に検出した動物体を登録(新規検出動物体の登録)する。
【0087】
本実施形態では、まず、新規検出動物体と自車両の間のユークリッド距離と、テーブルに登録されている追跡中の動物体と自車両の間のユークリッド距離とを比較する。そして、最もユークリッド距離が大きいものが、テーブルに登録されている追跡中の動物体の場合は、自車両から最も遠い追跡中の動物体を衝突の可能性が最も低いと判定し、これを最も不要と考えられる追跡中の動物体として削除する。その後、新規検出動物体を、S205と同じ処理により登録する。
【0088】
最も遠い物体が新規検出動物体の場合には、その動物体を登録しないで終了する。ここで、テーブルから削除する条件は、ユークリッド距離の大小に限定されるものではなく、ユークリッド距離以外の、例えば、追跡中の動物体の状態(補間中など)を適用してもよい。
【0089】
S207では、観測値と対応付いてないカルマンフィルタに対して補間処理を行うか否かを判定する。判定は補間回数により行う。本実施形態では、補間回数が例えば3回以上の場合はS208へ、3回未満の場合はS209へ移行する。
【0090】
S208では、補間回数がしきい値を超えたことにより、追跡対象が撮影範囲外へ移動するなどの理由から見失ったと判定して、追跡対象外とするため、該当するカルマンフィルタのテーブル中の状態を補間中から無効値へ変更する。
【0091】
S209では、S103で予測した追跡中物体の予測値を更新後の値とする処理を行う。このとき補間回数を、1だけ加算する。
【数16】
【数17】
【数18】
【0092】
S210では、カルマンフィルタの状態により処理を判定する。状態が追跡中の場合、S211-aへ、追跡開始、追跡候補、補間中のものに関してはS211-bへ移行する。S211-a及びS211-bは、カルマンフィルタへ対応付いた観測値に基づいて、内部状態を更新する。
まず、観測誤差R′と事前誤差共分散行列P
-、観測行列H、観測値の世界座標zを利用して、カルマンゲインKを計算する。ここでIは単位行列を表す。
【数19】
【数20】
【数21】
【数22】
【0093】
S211-aでは、処理を終了する。S211-bではS212へ移行する。ここまでの処理を実施した場合、追跡開始状態は追跡候補状態へ、補間中状態で初期速度が計算済みの場合は追跡中状態へ、初期速度が計算されていない場合は追跡候補状態に、テーブルの値を更新する。
【0094】
S212では、カルマンフィルタの追跡開始時に0を代入した速度を計算するか否かを判定する。本実施形態では、初期速度の計算条件を3回以上カルマンフィルタが更新されていること、及び追跡開始位置から一定以上移動していることとする。
【0095】
ここで、一定以上移動というしきい値は、S102で実施した観測値の領域判定結果に基づき決定する。本実施形態では、領域A2で検出された場合は距離1.5[m]、領域A3で検出された場合は距離1.0[m]とした。初期速度を推定する式を以下に示す。
【0096】
式中のnは追跡した回数、x
world,y
worldは追跡中に対応付いた観測値の世界座標値、framerateは撮影周期から計算したフレームレートとなる。本実施形態では30[fps]となる。
【数23】
【数24】
【0097】
ここで計算した値を、x+のvx、vyに代入して初期速度とする。初期速度の計算後、追跡候補状態のカルマンフィルタを追跡状態に変更する。S108の一連の処理は、全てのカルマンフィルタ、新規検出動物体に対して行う。
【0098】
S109では、追跡中の動物体の位置を外部システム40へ出力する。本実施形態では、追跡中の動物体を最大3個出力する。出力対象となるのは追跡中、追跡候補、補間中の動物体のうち、自車両と追跡対象のユークリッド距離の近いものから順に、衝突の可能性が高いとして出力する。追跡開始状態の動物体に関しては、瞬間的な誤検知の可能性があるので出力しない。
【0099】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。例えば、前述した実施形態は本発明を詳細に説明したものであり、必ずしも説明した全ての構成を備える必要はない。また、構成に他の実施形態の構成を加えることも可能ある。加えて、構成の一部について、追加、削除、置き換えが可能である。
【符号の説明】
【0100】
10 外界認識装置
11 物体位置検出部
12 領域判定部
13 観測誤差設定部
14 対応付け部
15 状態予測部
16 状態更新部
20 画像
30 移動情報