(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】評価システム、評価方法及びプログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20241106BHJP
【FI】
G06T7/20
(21)【出願番号】P 2021199462
(22)【出願日】2021-12-08
【審査請求日】2023-07-11
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】長井 学
(72)【発明者】
【氏名】渡邊 英
(72)【発明者】
【氏名】中野 雄介
【審査官】高野 美帆子
(56)【参考文献】
【文献】“Challenges of Ground Truth Evaluation of Multi-target Tracking”,2013 IEEE Conference on Computer Vision and Pattern Recognition Workshops,2013年,p.735-742,DOI: 10.1109/CVPRW.2013.111
【文献】小平 美沙季,ドライブレコーダデータに対するヒヤリハット危険度推定,第11回データ工学と情報マネジメントに関するフォーラム (第17回日本データベース学会年次大会) [online] ,日本,2019年03月06日
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/20
(57)【特許請求の範囲】
【請求項1】
動画像における移動可能なオブジェクトの位置を推定して前記オブジェクトの追跡を行うアルゴリズムの品質を評価する評価システムであって、
前記動画像に対応する正解データと、前記動画像に対して推定を行った前記アルゴリズムの推定結果を示す出力データとを用いて、各オブジェクトについて、
少なくとも誤った推定結果の種類である複数の誤推定種類の
いずれであるかを判定する推定結果判定部と、
複数の前記誤推定種類それぞれに対応し当該誤推定種類の影響の度合いに応じて高くなるように設けられた誤推定係数を、当該誤推定種類に対応するオブジェクトの数だけ加算し、複数の前記誤推定種類ごとに得られた前記誤推定係数の加算値の合計値に基づいて、前記アルゴリズムの評価値を算出する評価値算出部と、
を有
し、
複数の前記誤推定種類のうち、前記アルゴリズムが前記正解データに含まれる複数の前記オブジェクトをあるタイミングと次のタイミングとで入れ替えて推定してしまうことに関する誤推定種類である第2の誤推定に対応する前記誤推定係数は、前記アルゴリズムが前記正解データに含まれる1つの前記オブジェクトをあるタイミングと次のタイミングとで別のオブジェクトであると推定してしまうことに関する誤推定種類である第3の誤推定に対応する前記誤推定係数よりも高く設定される、
評価システム。
【請求項2】
複数の前記誤推定種類のうち、前記正解データに含まれる前記オブジェクトを前記アルゴリズムが推定できなかったことに関する誤推定種類である第1の誤推定に対応する前記誤推定係数は、他の前記誤推定種類に対応する前記誤推定係数よりも高く設定される、
請求項1に記載の評価システム。
【請求項3】
動画像における移動可能なオブジェクトの位置を推定して前記オブジェクトの追跡を行うアルゴリズムの品質を評価する評価システムであって、
前記動画像に対応する正解データと、前記動画像に対して推定を行った前記アルゴリズムの推定結果を示す出力データとを用いて、各オブジェクトについて、少なくとも誤った推定結果の種類である複数の誤推定種類のいずれであるかを判定する推定結果判定部と、
複数の前記誤推定種類それぞれに対応し当該誤推定種類の影響の度合いに応じて高くなるように設けられた誤推定係数を、当該誤推定種類に対応するオブジェクトの数だけ加算し、複数の前記誤推定種類ごとに得られた前記誤推定係数の加算値の合計値に基づいて、前記アルゴリズムの評価値を算出する評価値算出部と、
前記誤推定係数を
、前記動画像における前記オブジェクトの位置を推定
するタイミングごとに算出する係数算出部
と、
を
有する評価システム。
【請求項4】
前記係数算出部は、あるオブジェクトについて前記誤推定種類の同じ誤推定が連続してなされた場合に、当該オブジェクトに関する当該誤推定種類に対応する前記誤推定係数をより高くするように、前記誤推定係数を算出する、
請求項
3に記載の評価システム。
【請求項5】
前記係数算出部は、前記正解データに含まれる前記オブジェクトを前記アルゴリズムが推定できなかったことに関する誤推定種類である第1の誤推定が連続してなされた場合に、前記第1の誤推定に対応する前記誤推定係数をより高くするように、前記誤推定係数を算出する、
請求項
4に記載の評価システム。
【請求項6】
前記係数算出部は、前記オブジェクトの速度が速いほど、当該オブジェクトに関する誤推定種類に対応する前記誤推定係数を高くするように、前記誤推定係数を算出する、
請求項
3から5のいずれか1項に記載の評価システム。
【請求項7】
前記係数算出部は、あるオブジェクトからの距離が予め定められた閾値以下である、当該オブジェクトと同じ種類の他のオブジェクトの数が多いほど、当該オブジェクトに関する誤推定種類に対応する前記誤推定係数を低くするように、前記誤推定係数を算出する、
請求項
3から6のいずれか1項に記載の評価システム。
【請求項8】
動画像における移動可能なオブジェクトの位置を推定して前記オブジェクトの追跡を行うアルゴリズムの品質を評価する評価方法であって、
前記動画像に対応する正解データと、前記動画像に対して推定を行った前記アルゴリズムの推定結果を示す出力データとを用いて、各オブジェクトについて、
少なくとも誤った推定結果の種類である複数の誤推定種類の
いずれであるかを判定し、
複数の前記誤推定種類それぞれに対応し当該誤推定種類の影響の度合いに応じて高くなるように設けられた誤推定係数を、当該誤推定種類に対応するオブジェクトの数だけ加算し、複数の前記誤推定種類ごとに得られた前記誤推定係数の加算値の合計値に基づいて、前記アルゴリズムの評価値を算出
し、
複数の前記誤推定種類のうち、前記アルゴリズムが前記正解データに含まれる複数の前記オブジェクトをあるタイミングと次のタイミングとで入れ替えて推定してしまうことに関する誤推定種類である第2の誤推定に対応する前記誤推定係数は、前記アルゴリズムが前記正解データに含まれる1つの前記オブジェクトをあるタイミングと次のタイミングとで別のオブジェクトであると推定してしまうことに関する誤推定種類である第3の誤推定に対応する前記誤推定係数よりも高く設定される、
評価方法。
【請求項9】
動画像における移動可能なオブジェクトの位置を推定して前記オブジェクトの追跡を行うアルゴリズムの品質を評価する評価方法であって、
前記動画像に対応する正解データと、前記動画像に対して推定を行った前記アルゴリズムの推定結果を示す出力データとを用いて、各オブジェクトについて、少なくとも誤った推定結果の種類である複数の誤推定種類のいずれであるかを判定し、
複数の前記誤推定種類それぞれに対応し当該誤推定種類の影響の度合いに応じて高くなるように設けられた誤推定係数を、当該誤推定種類に対応するオブジェクトの数だけ加算し、複数の前記誤推定種類ごとに得られた前記誤推定係数の加算値の合計値に基づいて、前記アルゴリズムの評価値を算出し、
前記誤推定係数を、前記動画像における前記オブジェクトの位置を推定するタイミングごとに算出する、
評価方法。
【請求項10】
動画像における移動可能なオブジェクトの位置を推定して前記オブジェクトの追跡を行うアルゴリズムの品質を評価する評価方法を実現するプログラムであって、
前記動画像に対応する正解データと、前記動画像に対して推定を行った前記アルゴリズムの推定結果を示す出力データとを用いて、各オブジェクトについて、
少なくとも誤った推定結果の種類である複数の誤推定種類の
いずれであるかを判定するステップと、
複数の前記誤推定種類それぞれに対応し当該誤推定種類の影響の度合いに応じて高くなるように設けられた誤推定係数を、当該誤推定種類に対応するオブジェクトの数だけ加算し、複数の前記誤推定種類ごとに得られた前記誤推定係数の加算値の合計値に基づいて、前記アルゴリズムの評価値を算出するステップと、
をコンピュータに実行させ
、
複数の前記誤推定種類のうち、前記アルゴリズムが前記正解データに含まれる複数の前記オブジェクトをあるタイミングと次のタイミングとで入れ替えて推定してしまうことに関する誤推定種類である第2の誤推定に対応する前記誤推定係数は、前記アルゴリズムが前記正解データに含まれる1つの前記オブジェクトをあるタイミングと次のタイミングとで別のオブジェクトであると推定してしまうことに関する誤推定種類である第3の誤推定に対応する前記誤推定係数よりも高く設定される、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、評価システム、評価方法及びプログラムに関する。
【背景技術】
【0002】
映像データを用いて移動可能なオブジェクトをトラッキングする技術がある。この技術に関連し、特許文献1は、予測的異常挙動検出のためのシステムおよび方法を開示する。特許文献1にかかるシステムは、ビデオ・データ等の監視データを受取り、複数の予測モデルの作成および更新を行う。また、システムは、移動物体に関係するビデオ・データを受取り、生成した予測モデルに基づいてその移動物体の将来の場所の予測を生成する。予測された動きは、スコア付けエンジンによってスコア付けし、その予測される動きが安全でないか否か、あるいはそのほかの形で望ましくないか否かを決定する。また、非特許文献1は、トラッキングシステムを評価する方法を開示する。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】Jonathon Luiten et. al、「HOTA: A Higher Order Metric for Evaluating Multi-Object Tracking」、International Journal of Computer Vision (2021) 129:548-578、https://doi.org/10.1007/s11263-020-01375-2
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば交通管制等の特定の使用環境下でトラッキングシステムが使用された場合に、当該トラッキングシステムがその使用環境下で良好に性能を発揮するか否かを評価することが求められる。一方、特許文献1には、トラッキングシステムの評価方法について開示されていない。また、非特許文献1にかかる技術では、MOTA(Multi-Object Tracking Accuracy)等の評価手法が挙げられている。しかしながら、トラッキングシステムの使用環境によっては、非特許文献1に挙げられた評価式の値(評価値)が高くても、トラッキングシステムの性能が良好であるとは限らない。したがって、移動可能なオブジェクトの位置を推定してオブジェクトの追跡を行うアルゴリズム(トラッキングシステム)の品質を適切に評価することが望ましい。
【0006】
本発明は、移動可能なオブジェクトの位置を推定してオブジェクトの追跡を行うアルゴリズムの品質を適切に評価することが可能な評価システム、評価方法及びプログラムを提供するものである。
【課題を解決するための手段】
【0007】
本発明にかかる評価システムは、動画像における移動可能なオブジェクトの位置を推定して前記オブジェクトの追跡を行うアルゴリズムの品質を評価する評価システムであって、前記動画像に対応する正解データと、前記動画像に対して推定を行った前記アルゴリズムの推定結果を示す出力データとを用いて、各オブジェクトについて、正しい推定結果又は誤った推定結果の種類である複数の誤推定種類のいずれかを判定する推定結果判定部と、複数の前記誤推定種類それぞれに対応し当該誤推定種類の影響の度合いに応じて高くなるように設けられた誤推定係数を、当該誤推定種類に対応するオブジェクトの数だけ加算し、複数の前記誤推定種類ごとに得られた前記誤推定係数の加算値の合計値に基づいて、前記アルゴリズムの評価値を算出する評価値算出部と、を有する。
【0008】
また、本発明にかかる評価方法は、動画像における移動可能なオブジェクトの位置を推定して前記オブジェクトの追跡を行うアルゴリズムの品質を評価する評価方法であって、前記動画像に対応する正解データと、前記動画像に対して推定を行った前記アルゴリズムの推定結果を示す出力データとを用いて、各オブジェクトについて、正しい推定結果又は誤った推定結果の種類である複数の誤推定種類のいずれかを判定し、複数の前記誤推定種類それぞれに対応し当該誤推定種類の影響の度合いに応じて高くなるように設けられた誤推定係数を、当該誤推定種類に対応するオブジェクトの数だけ加算し、複数の前記誤推定種類ごとに得られた前記誤推定係数の加算値の合計値に基づいて、前記アルゴリズムの評価値を算出する。
【0009】
また、本発明にかかるプログラムは、動画像における移動可能なオブジェクトの位置を推定して前記オブジェクトの追跡を行うアルゴリズムの品質を評価する評価方法を実現するプログラムであって、前記動画像に対応する正解データと、前記動画像に対して推定を行った前記アルゴリズムの推定結果を示す出力データとを用いて、各オブジェクトについて、正しい推定結果又は誤った推定結果の種類である複数の誤推定種類のいずれかを判定するステップと、複数の前記誤推定種類それぞれに対応し当該誤推定種類の影響の度合いに応じて高くなるように設けられた誤推定係数を、当該誤推定種類に対応するオブジェクトの数だけ加算し、複数の前記誤推定種類ごとに得られた前記誤推定係数の加算値の合計値に基づいて、前記アルゴリズムの評価値を算出するステップと、をコンピュータに実行させる。
【0010】
本発明においては、誤推定係数は、対応する誤推定種類の影響の度合いが大きいほど高くなるように設定されている。したがって、影響の度合いの大きな誤推定が多く行われるほど、評価は低くなり得る。そして、影響の度合いが大きな誤推定を多く行ってしまうアルゴリズムの品質は低いと言える。したがって、本発明は、アルゴリズムの品質を適切に評価することが可能となる。
【0011】
また、好ましくは、複数の前記誤推定種類のうち、前記正解データに含まれる前記オブジェクトを前記アルゴリズムが推定できなかったことに関する誤推定種類である第1の誤推定に対応する前記誤推定係数は、他の前記誤推定種類に対応する前記誤推定係数よりも高く設定される。
本発明は、このように構成されていることによって、アルゴリズムの品質をさらに適切に評価することが可能となる。
【0012】
また、好ましくは、複数の前記誤推定種類のうち、前記アルゴリズムが前記正解データに含まれる複数の前記オブジェクトをあるタイミングと次のタイミングとで入れ替えて推定してしまうことに関する誤推定種類である第2の誤推定に対応する前記誤推定係数は、前記アルゴリズムが前記正解データに含まれる1つの前記オブジェクトをあるタイミングと次のタイミングとで別のオブジェクトであると推定してしまうことに関する誤推定種類である第3の誤推定に対応する前記誤推定係数よりも高く設定される。
本発明は、このように構成されていることによって、アルゴリズムの品質をさらに適切に評価することが可能となる。
【0013】
また、好ましくは、前記誤推定係数を推定のタイミングごとに算出する係数算出部をさらに有する。
本発明は、このように構成されていることによって、状況の変化に応じて誤推定係数を変化させることができる。したがって、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【0014】
また、好ましくは、前記係数算出部は、あるオブジェクトについて前記誤推定種類の同じ誤推定が連続してなされた場合に、当該オブジェクトに関する当該誤推定種類に対応する前記誤推定係数をより高くするように、前記誤推定係数を算出する。
本発明は、このように構成されていることによって、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【0015】
また、好ましくは、前記係数算出部は、前記正解データに含まれる前記オブジェクトを前記アルゴリズムが推定できなかったことに関する誤推定種類である第1の誤推定が連続してなされた場合に、前記第1の誤推定に対応する前記誤推定係数をより高くするように、前記誤推定係数を算出する。
本発明は、このように構成されていることによって、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【0016】
また、好ましくは、前記係数算出部は、前記オブジェクトの速度が速いほど、当該オブジェクトに関する誤推定種類に対応する前記誤推定係数を高くするように、前記誤推定係数を算出する。
本発明は、このように構成されていることによって、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【0017】
また、好ましくは、前記係数算出部は、あるオブジェクトからの距離が予め定められた閾値以下である、当該オブジェクトと同じ種類の他のオブジェクトの数が多いほど、当該オブジェクトに関する誤推定種類に対応する前記誤推定係数を低くするように、前記誤推定係数を算出する。
本発明は、このように構成されていることによって、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【発明の効果】
【0018】
本発明によれば、移動可能なオブジェクトの位置を推定してオブジェクトの追跡を行うアルゴリズムの品質を適切に評価することが可能な評価システム、評価方法及びプログラムを提供できる。
【図面の簡単な説明】
【0019】
【
図1】実施の形態1にかかる評価システムを示す図である。
【
図2】本実施の形態にかかる誤推定種類を説明するための図である。
【
図3】本実施の形態にかかる誤推定種類を説明するための図である。
【
図4】実施の形態1にかかる評価装置の構成を示す図である。
【
図5】実施の形態1にかかる評価システムによって実行される評価方法を示すフローチャートである。
【
図6】実施の形態2にかかる評価装置の構成を示す図である。
【
図7】実施の形態2にかかる評価システムによって実行される評価方法を示すフローチャートである。
【
図8】実施の形態2にかかる評価システムによって実行される評価方法を示すフローチャートである。
【発明を実施するための形態】
【0020】
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0021】
図1は、実施の形態1にかかる評価システム1を示す図である。評価システム1は、追跡エンジン20と、動画像格納装置40と、評価装置100とを有する。追跡エンジン20と、動画像格納装置40と、評価装置100とは、有線又は無線のネットワーク2を介して通信可能に接続されていてもよい。
【0022】
追跡エンジン20は、例えばコンピュータである。追跡エンジン20は、移動可能なオブジェクト(移動オブジェクト)の位置を推定して移動オブジェクトの追跡を行う推定アルゴリズムを動作させる。つまり、推定アルゴリズムは、動画像からオブジェクトを検出する。追跡エンジン20は、後述する動画像格納装置40に格納された動画像を推定アルゴリズムに入力して、推定アルゴリズムを動作させる。推定アルゴリズムは、入力された動画像に対して、画像フレームごとにオブジェクトの位置及び種類の推定を行い、推定結果を出力する。追跡エンジン20は、推定アルゴリズムから出力されたオブジェクトの推定結果を、出力データとして、評価装置100に送信する。なお、推定アルゴリズムは、画像フレームの1つ1つに対して推定処理を行う必要はない。例えば偶数番目の画像フレームに対して推定処理が行われてもよい。
【0023】
なお、追跡エンジン20は、画像フレームごとに、出力データ(推定結果)を送信してもよい。あるいは、追跡エンジン20は、動画像全体について推定アルゴリズムがオブジェクトの推定及び追跡を行った後で、動画像全体に関する出力データ(推定結果)を送信してもよい。
【0024】
動画像格納装置40は、例えばストレージ装置である。動画像格納装置40は、推定アルゴリズムの品質を評価するのに使用される動画像を、予め格納している。動画像格納装置40は、動画像と正解データとを、画像フレームごとに対応付けて格納する。言い換えると、動画像を構成する画像フレームには、正解データが対応付けられている。正解データは、対応する画像フレームで撮影されたオブジェクトの位置と、その位置におけるオブジェクトの種類とを示す。オブジェクトの種類は、例えば、歩行者、自転車、バイク、自動車、大型車等である。また、オブジェクトの位置は、画像フレーム上の位置(画素の位置)であってもよいし、画像フレームによって撮影された実環境(例えば交差点など)における位置情報であってもよい。位置情報は、例えばGNSS(Global Navigation Satellite System;全球測位衛星システム)によって取得されてもよい。
【0025】
なお、追跡エンジン20は、後述する評価装置100によって実現されてもよい。つまり、評価装置100が、推定アルゴリズムを動作させてもよい。同様に、動画像格納装置40は、後述する評価装置100によって実現されてもよい。つまり、評価装置100が、正解データと対応付けられた動画像を格納してもよい。
【0026】
評価装置100は、例えばコンピュータである。評価装置100は、例えばサーバである。評価装置100は、例えばクラウドコンピューティングによって実現されてもよい。評価装置100(評価システム1)は、動画像を用いて推定アルゴリズムの品質を評価する。具体的には、評価装置100は、動画像に対応する正解データと、推定アルゴリズムの推定結果を示す出力データとを用いて、各オブジェクトについて、正しい推定(正推定)又は複数の誤推定の種類(誤推定種類)のいずれかを判定する。正推定(正推定結果)は、オブジェクトに対して正しく推定がなされた推定結果である。一方、誤推定種類は、誤った推定結果の種類である。つまり、誤推定種類は、オブジェクトに対して誤った推定がなされた推定結果(誤推定)の種類である。本実施の形態では、複数の誤推定種類がある。誤推定種類の詳細については後述する。
【0027】
また、評価装置100は、複数の誤推定種類それぞれについて、対応するオブジェクトの数だけ、当該誤推定種類に対応する誤推定係数を加算する。評価装置100は、複数の誤推定種類ごとに得られた誤推定係数の加算値の合計値を算出する。そして、評価装置100は、合計値に基づいて、推定アルゴリズムの評価値を算出する。なお、この評価値は、上記の合計値が大きいほどアルゴリズムの評価が低くなるような値であってもよい。評価値の詳細については後述する。
【0028】
図2及び
図3は、本実施の形態にかかる誤推定種類を説明するための図である。
図2は、誤推定種類の具体例を示す。
図2に示すように、実施の形態において、推定結果は、正しい推定(正推定)と、誤推定種類とを含む。「正推定(TP:True Positive)」は、推定アルゴリズムの出力における推定結果が、正解データに存在するオブジェクトと対応している状態に対応する。また、誤推定種類は、「誤検出(誤追跡)」、「見逃し」、「新規誤検出」、及び「入れ替わり」を含む。
【0029】
「誤検出(FP:False Positive)」は、(第4の誤推定)推定アルゴリズムの出力における推定結果が、正解データに存在するどのオブジェクトにも対応していない状態に対応する。言い換えると、「誤検出」は、推定アルゴリズムが、実際にはオブジェクトが存在しない位置にオブジェクトを推定(検出)してしまった状態に対応する。さらに言い換えると、「誤検出」は、推定アルゴリズムが、実際には存在しないオブジェクトが存在すると推定してしまったことに関する誤推定種類である。さらに言い換えると、「誤検出」は、実際に存在するオブジェクトを別の位置に追跡してしまっていることに関する誤推定種類である。したがって、「誤検出」の誤推定が発生すると、推定アルゴリズムによる推定結果では、正解データに存在しない位置に、架空のオブジェクト又は実際には別の位置に存在するオブジェクトに関するID(Identifier:識別子)が付与されている。
【0030】
「見逃し(FN:False Negative)」(第1の誤推定)は、正解データに存在するオブジェクトが、推定アルゴリズムの出力における推定結果のいずれにも対応していない状態に対応する。つまり、「見逃し」は、正解データに存在するオブジェクトが、推定アルゴリズムの出力において推定されていない状態に対応する。言い換えると、「見逃し」は、推定アルゴリズムが、実際に存在するオブジェクトの位置にオブジェクトを推定(検出)できなかった状態に対応する。さらに言い換えると、「見逃し」は、正解データに含まれるオブジェクトを推定アルゴリズムが推定(検出)できなかったことに関する誤推定種類である。したがって、「見逃し」の誤推定が発生すると、推定アルゴリズムによる推定結果では、正解データに存在するオブジェクトに、IDが付与されていない。
【0031】
「新規誤検出(IDSWn:ID Switch New;新規ID付与)」(第3の誤推定)は、推定アルゴリズムが、正解データに存在する1つのオブジェクトを、前回の推定処理と今回の推定処理とで異なるオブジェクトとして推定してしまう状態に対応する。つまり、「新規誤検出」は、正解データに存在する1つのオブジェクトが、推定アルゴリズムの出力において、あるタイミングの推定結果と次のタイミングの推定結果とで、別のオブジェクトとして推定(検出)されてしまっている状態に対応する。言い換えると、「新規誤検出」は、推定アルゴリズムが、実際には1つのオブジェクトを、あるタイミングと次のタイミングとで別のオブジェクトであると推定(検出)してしまう状態に対応する。さらに言い換えると、「新規誤検出」は、推定アルゴリズムが、正解データに含まれる1つのオブジェクトを、あるタイミングと次のタイミングとで別のオブジェクトであると推定してしまうことに関する誤推定種類である。したがって、「新規誤検出」の誤推定が発生すると、推定アルゴリズムによる推定結果では、正解データに存在する1つのオブジェクトに、あるタイミングと次のタイミングとで、互いに異なるIDが付与されている。
【0032】
「入れ替わり(IDSWc:ID Switch Change;ID入れ替わり)」(第2の誤推定)は、推定アルゴリズムが、正解データに含まれる複数のオブジェクトをあるタイミングと次のタイミングとで入れ替えて推定してしまうことに関する誤推定種類である。つまり、「入れ替わり」は、正解データに存在する複数のオブジェクトが、推定アルゴリズムの出力において、あるタイミングの推定結果と次のタイミングの推定結果とで、入れ替わって推定(検出)されてしまっている状態に対応する。したがって、「入れ替わり」の誤推定が発生すると、推定アルゴリズムによる推定結果では、正解データに存在する複数のオブジェクトそれぞれに対してあるタイミングで付与されたIDが、次のタイミングでは、複数のオブジェクトのうちの別のオブジェクトに付与されている。例えば、正解データにオブジェクトA及びオブジェクトBが存在する場合、あるタイミングでオブジェクトAの位置に付与されたIDが、次のタイミングではオブジェクトBの位置に付与されている。同様に、あるタイミングでオブジェクトBの位置に付与されたIDが、次のタイミングではオブジェクトAの位置に付与されている。
【0033】
図3は、動画像における複数の誤推定種類及び正しい推定を例示する。
図3は、道路の交差点の付近を撮影した動画像に含まれる複数のオブジェクト対して推定処理がなされた推定結果を例示する。
図3において、オブジェクトP(P1~P4)は、正解データに含まれるオブジェクトを示す。一方、矩形R(R11等)は、推定アルゴリズムが、オブジェクトが存在していると推定した位置を示す。また、
図3の例では、画像フレームごとに推定がなされるとする。そして、t(t=1~6)は、各画像フレームに対応し、対応する画像フレームにおける推定のタイミングを示す。
【0034】
図3に示した例では、オブジェクトP1について、t=1のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R11で示すように、正しく推定を行っている。このとき、このオブジェクトP1に対応する矩形R11には、「ID:#01」が付与されている。また、移動しているオブジェクトP1について、t=2~4のタイミング(画像フレーム)でも、推定アルゴリズムは、それぞれ矩形R12~R14で示すように、正しく推定を行っている。このとき、オブジェクトP1に対応する矩形R12~R14には、t=1で付与された「ID:#01」が、引き続き付与されている。
【0035】
一方、オブジェクトP1について、t=5のタイミング(画像フレーム)では、推定アルゴリズムは、推定を行うことができなかった。つまり、t=5では、オブジェクトP1について、「見逃し(FN)」の誤推定が発生している。同様に、t=6のタイミング(画像フレーム)でも、推定アルゴリズムは、推定を行うことができなかった。つまり、t=6でも、オブジェクトP1について、「見逃し(FN)」の誤推定が発生している。
【0036】
これに対し、t=5のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R15で示すように、オブジェクトP1が存在しない位置にオブジェクトP1が存在すると推定している。つまり、t=5では、オブジェクトP1について、「誤検出(FP)」(誤追跡)の誤推定が発生している。同様に、t=6のタイミング(画像フレーム)でも、推定アルゴリズムは、矩形R16で示すように、オブジェクトP1が存在しない位置にオブジェクトP1が存在すると推定している。つまり、t=6でも、オブジェクトP1について、「誤検出(FP)」の誤推定が発生している。このとき、矩形R15~R16には、t=1で付与された「ID:#01」が、引き続き付与されてしまっている。
【0037】
また、
図3に示した例では、オブジェクトP2について、t=1のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R21で示すように、正しく推定を行っている。このとき、このオブジェクトP2に対応する矩形R21には、「ID:#02」が付与されている。また、移動しているオブジェクトP2について、t=2のタイミング(画像フレーム)でも、推定アルゴリズムは、それぞれ矩形R22で示すように、正しく推定を行っている。このとき、オブジェクトP2に対応する矩形R22には、t=1で付与された「ID:#02」が、引き続き付与されている。
【0038】
これに対し、t=3のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R23で示すように、オブジェクトP2が存在しない位置にオブジェクトP2が存在すると推定している。つまり、t=3では、オブジェクトP2について、「誤検出(FP)」の誤推定が発生している。同様に、t=4のタイミング(画像フレーム)でも、推定アルゴリズムは、矩形R24で示すように、オブジェクトP2が存在しない位置にオブジェクトP2が存在すると推定している。つまり、t=4でも、オブジェクトP2について、「誤検出(FP)」の誤推定が発生している。このとき、矩形R23~R24には、t=1で付与された「ID:#02」が、引き続き付与されてしまっている。
【0039】
一方、オブジェクトP2について、t=3のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R2’3で示すように、t=1~2で推定が行われたオブジェクトP2とは別のオブジェクトであると推定してしまっている。つまり、t=3では、オブジェクトP2について、「新規誤検出(IDSWn)」の誤推定が発生している。このとき、矩形R2’3には、t=1で付与された、オブジェクトP2に対応する「ID:#02」とは異なる「ID:#12」が付与されてしまっている。また、t=4のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R2’4で示すように、t=3で推定が行われたオブジェクト(オブジェクトP2)と同じオブジェクトであると推定している。この場合、同じオブジェクトP2を前回の推定処理と今回の推定処理とで同じオブジェクトであると推定しているので、この推定結果は正しい推定(TP)である。このとき、矩形R2’4には、t=3で矩形R2’3に付与されたIDと同じ「ID:#12」が付与されている。
【0040】
また、
図3に示した例では、オブジェクトP3とオブジェクトP4とが、互いに接近して移動している。オブジェクトP3について、t=1のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R31で示すように、正しく推定を行っている。このとき、このオブジェクトP3に対応する矩形R31には、「ID:#03」が付与されている。また、移動しているオブジェクトP3について、t=2のタイミング(画像フレーム)でも、推定アルゴリズムは、それぞれ矩形R32で示すように、正しく推定を行っている。このとき、オブジェクトP3に対応する矩形R32には、t=1で付与された「ID:#03」が、引き続き付与されている。
【0041】
また、オブジェクトP4について、t=1のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R41で示すように、正しく推定を行っている。このとき、このオブジェクトP4に対応する矩形R41には、「ID:#04」が付与されている。また、移動しているオブジェクトP4について、t=2のタイミング(画像フレーム)でも、推定アルゴリズムは、それぞれ矩形R42で示すように、正しく推定を行っている。このとき、オブジェクトP4に対応する矩形R42には、t=1で付与された「ID:#04」が、引き続き付与されている。
【0042】
これに対し、t=3のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R43で示すように、オブジェクトP3の位置にオブジェクトP4が存在すると推定してしまっている。また、t=3のタイミング(画像フレーム)では、推定アルゴリズムは、矩形R33で示すように、オブジェクトP4の位置にオブジェクトP3が存在すると推定してしまっている。つまり、t=3では、推定アルゴリズムは、オブジェクトP3をオブジェクトP4と誤って推定し、オブジェクトP4をオブジェクトP3と誤って推定してしまっている。したがって、t=3では、オブジェクトP3及びオブジェクトP4について、「入れ替わり(IDSWc)」の誤推定が発生している。このとき、矩形R43には、t=1~2ではオブジェクトP4に付与された「ID:#04」が付与されてしまっている。また、矩形R33には、t=1~2ではオブジェクトP3に付与された「ID:#03」が付与されてしまっている。
【0043】
ここで、
図2に示すように、「誤検出(FP)」に関する誤推定係数をαとする。「見逃し(FN)」に関する誤推定係数をβとする。「新規誤検出(IDSWn)」に関する誤推定係数をγとする。「入れ替わり(IDSWc)」に関する誤推定係数をδとする。ここで、誤推定係数は、推定アルゴリズムの評価に用いられる評価式において、複数の誤推定種類それぞれの重みとして機能する。そして、誤推定係数は、複数の誤推定種類ごとに異なるように設けられている。複数の誤推定種類のうち、誤推定係数が大きい誤推定が発生するほど、推定アルゴリズムの評価式の評価値が低くなり得る。
【0044】
ここで、推定アルゴリズムが自動運転車制御システム等の交通管制で用いられる場合、推定アルゴリズムは、歩行者等のオブジェクトの位置を推定し、歩行者等のオブジェクトを追跡する。そして、推定アルゴリズムの複数のタイミング(画像フレーム)における推定結果を用いて、歩行者等のオブジェクトの移動方向及び速度を推定することができる。具体的には、オブジェクトの速度は、そのオブジェクトの各画像フレームにおける位置の差分(距離)から算出された移動距離と、フレームレートとを用いて算出されてもよい。つまり、オブジェクトの速度は、そのオブジェクトの移動距離と、ある画像フレームが取得されてから次の画像フレームが取得されるまでの時間とを用いて算出されてもよい。さらに具体的には、動画像を撮影したカメラの画角等を用いて、各画像フレーム上の画素の位置と、画像が撮影された実環境上の位置とが対応付けられていてもよい。そして、例えばオブジェクトの下端(歩行者の足など)に対応する画素の位置から、そのオブジェクトの実環境における位置(実位置)を推定してもよい。そして、ある画像フレームに関するオブジェクトの実位置と次の画像フレームに関するオブジェクトの実位置との差分を、そのオブジェクトの移動距離として算出してもよい。そして、移動距離とフレームレートとによって、オブジェクトの速度を推定してもよい。また、オブジェクトの移動方向は、前回の画像フレームにおけるオブジェクトの実位置から今回の画像フレームにおけるオブジェクトの実位置までの方向を算出することによって、算出されてもよい。
【0045】
また、歩行者等のオブジェクトの移動方向及び速度を推定することにより、そのオブジェクトが特定の位置(例えば交差点又は車道等)に到達する可能性、及び到達する場合の到達時刻を予測することができる。したがって、推定アルゴリズムの推定結果を用いて、走行している車両がオブジェクトと衝突することを回避するように制御を行うことができる。
【0046】
このように推定アルゴリズムが交通管制という環境で用いられる場合、上述した誤推定種類それぞれが発生した場合のリスクは、互いに異なり得る。そして、本実施の形態では、誤推定種類それぞれのリスクが高いほど、対応する誤推定係数の値が高く設定される。言い換えると、誤推定係数は、対応する誤推定種類による影響(インパクト)の度合い(深刻度)が大きいほど、高く設定されている。つまり、誤推定係数は、対応する誤推定種類による影響の度合い(深刻度)に応じて設定されている。
【0047】
「誤検出」が発生した場合、実際には存在しないオブジェクトを存在するとして衝突回避等の制御が行われ得る。この場合、過剰な(余計な)制御となるが、交通管制上は安全側への制御となる。したがって、「誤検出」が発生した場合のリスクは小さい。言い換えると、「誤検出」が発生した場合の影響の度合いは小さい。したがって、「誤検出」に対応する誤推定係数αは、比較的低く設定され得る。
【0048】
「見逃し」が発生した場合、実際にはオブジェクトが存在する位置にオブジェクトが存在しないと推定されてしまうので、そのオブジェクトに対する衝突回避の制御が行われない可能性がある。この場合、交通管制上は、衝突回避という必要な制御が行われない可能性があることとなる。したがって、「見逃し」が発生した場合のリスクは大きい。言い換えると、「見逃し」が発生した場合の影響の度合いは大きい。したがって、「見逃し」に対応する誤推定係数βは、比較的高く設定され得る。
【0049】
「入れ替わり」が発生した場合、実際にオブジェクトが存在する位置に何らかのオブジェクトが存在すると推定しているので、「見逃し」の場合よりも影響の度合い(リスク)は小さい。しかしながら、途中でIDが入れ替わってしまうと、以下に説明するように、複数のオブジェクトそれぞれの移動方向及び速度を精度よく推定できない可能性がある。
【0050】
例えば、
図3の例において、オブジェクトP3のt=1~3の実際の移動軌跡から、オブジェクトP3は、実際には、矢印A3で示される方向に移動すると予測されるべきであり得る。しかしながら、推定アルゴリズムの推定結果を用いると、「ID:#03」が付された矩形R31、R32、R33の移動軌跡から、この「ID:#03」に対応するオブジェクトが、破線矢印A3’で示される方向に移動すると予測されるおそれがある。同様に、オブジェクトP4のt=1~3の実際の移動軌跡から、オブジェクトP4は、実際には、矢印A4で示される方向に移動すると予測されるべきであり得る。しかしながら、推定アルゴリズムの推定結果を用いると、「ID:#04」が付された矩形R41、R42、R43の移動軌跡から、この「ID:#04」に対応するオブジェクトが、破線矢印A4’で示される方向に移動すると予測されるおそれがある。
【0051】
同様に、以下に説明するように、オブジェクトP3及びオブジェクトP4の移動速度も、精度よく予測できないおそれがある。特に、オブジェクトP3の実際の移動速度(時速)とオブジェクトP4の実際の移動速度(時速)との差が大きい場合に、両者の移動速度を精度よく予測できない可能性がある。
【0052】
具体的には、
図3の例において、オブジェクトP3及びオブジェクトP4が共に概ね一定の速度で移動しているが、オブジェクトP3の方がオブジェクトP4よりも速く移動しているとする。この場合、実際には、t=3におけるオブジェクトP3の位置とt=2におけるオブジェクトP3の位置との差分(移動距離)は、t=2におけるオブジェクトP3の位置とt=1におけるオブジェクトP3の位置との差分(移動距離)と概ね同じである。一方、矩形R33の位置と矩形R32の位置との差分は、矩形R32の位置と矩形R31の位置との差分よりも小さくなり得る。したがって、「ID:#03」に対応するオブジェクト(オブジェクトP3)の速度が、急に遅くなったと推定されてしまうおそれがある。したがって、以降の「ID:#03」に対応するオブジェクトの速度も、実際のオブジェクトP3の速度よりも遅く予測されてしまうおそれがある。
【0053】
同様に、t=3におけるオブジェクトP4の位置とt=2におけるオブジェクトP4の位置との差分は、t=2におけるオブジェクトP4の位置とt=1におけるオブジェクトP4の位置との差分と概ね同じである。一方、矩形R43の位置と矩形R42の位置との差分は、矩形R42の位置と矩形R41の位置との差分よりも大きくなり得る。したがって、「ID:#04」に対応するオブジェクト(オブジェクトP4)の速度が、急に速くなったと推定されてしまうおそれがある。したがって、以降の「ID:#04」に対応するオブジェクトの速度も、実際のオブジェクトP4の速度よりも速く予測されてしまうおそれがある。
【0054】
上述したように、交通管制において、オブジェクトの移動方向及び移動速度の推定により、オブジェクトが交差点等の特定の位置に何秒後に到達するかを予測できる。これにより、衝突回避の制御を行うことができる。しかしながら、オブジェクトの移動方向及び移動速度が精度よく推定できないと、上述した到達時刻を精度よく予測できないおそれがある。したがって、衝突回避の制御を適切に行うことができないおそれがある。したがって、「入れ替わり」が発生した場合の影響の度合い(リスク)は、やや大きい。
【0055】
「新規誤検出」が発生した場合、実際にオブジェクトが存在する位置に何らかのオブジェクトが存在すると推定しているので、「見逃し」の場合よりも影響の度合い(リスク)は小さい。しかしながら、あるオブジェクトを正しく追跡できていないため、「入れ替わり」の場合と同様に、オブジェクトの移動方向及び移動速度を精度よく行うことができないおそれがある。一方、新たにIDが付与された後は、正しく推定が行われる可能性があるので、「新規誤検出」の影響の度合い(リスク)は、「入れ替わり」の影響の度合い(リスク)よりも小さい。
【0056】
例えば、
図3の例において、オブジェクトP2について、t=2とt=3とで、異なるIDが付与されている。したがって、t=3におけるオブジェクトP2(矩形R2’3)の位置とt=2におけるオブジェクトP2(矩形R22)の位置との差分から、オブジェクトP2の移動方向及び移動速度を推定することはできない。一方、オブジェクトP2について、t=3とt=4とでは、同じID(ID:#12)が付与されている。したがって、t=4におけるオブジェクトP2(矩形R2’4)の位置とt=3におけるオブジェクトP2(矩形R2’3)の位置との差分から、オブジェクトP2の移動方向及び移動速度を適切に推定することは可能である。また、オブジェクトP2の移動方向及び移動速度が概ね一定であるとする。この場合、t=1~2における移動軌跡から推定されるオブジェクトP2(ID:#02)の移動方向及び移動速度は、それぞれ、t=3~4における移動軌跡から推定されるオブジェクトP2(ID:#12)の移動方向及び移動速度と、概ね同じとなり得る。したがって、「新規誤検出」が発生したときの影響の度合いは、「入れ替わり」の影響の度合いよりも小さい。したがって、「新規誤検出」が発生した場合の影響の度合い(リスク)は、やや小さい。
【0057】
以上より、誤推定係数α、β、γ、δは、以下の式(1)のように設定される。なお、実施の形態1では、誤推定係数は、一定(初期値から不変)であるとする。
【数1】
・・・(1)
【0058】
すなわち、「見逃し(FN)」の影響の度合いは最も大きいので、「見逃し(FN)」(第1の誤推定)に対応する誤推定係数βは、他の誤推定種類に対応する誤推定係数(α、γ、δ)よりも高く設定される。また、「入れ替わり(IDSWc)」の影響の度合いは「新規誤検出(IDSWn)」よりも大きい。したがって、「入れ替わり(IDSWc)」(第2の誤推定)に対応する誤推定係数δは、「新規誤検出(IDSWn)」に対応する誤推定係数γよりも高く設定される。また、γ+δ=1である。
【0059】
また、実施の形態1において、タイミングtで取得された画像フレームにおける推定アルゴリズムの評価に用いられる評価式は、以下の式(2)のように表される。
【数2】
・・・(2)
【0060】
式(2)において、GT(t)は、タイミングtの画像フレームに対応する正解データに含まれる実際のオブジェクトの数を示す。また、FP(t)は、タイミングtにおける画像フレームについて、「誤検出(FP)」であると誤推定されたオブジェクト(矩形)の数を示す。また、FN(t)は、タイミングtにおける画像フレームについて、「見逃し(FN)」であると誤推定されたオブジェクトの数を示す。また、IDSWn(t)は、タイミングtにおける画像フレームについて、「新規誤検出(IDSWn)」であると誤推定されたオブジェクト(矩形)の数を示す。また、IDSWc(t)は、タイミングtにおける画像フレームについて、「入れ替わり(IDSWc)」であると誤推定されたオブジェクト(矩形)の数を示す。
【0061】
式(2)の右辺第2項における分数の分子は、複数の誤推定種類それぞれについて対応するオブジェクトの数と誤推定係数とを乗算した値(α×FP(t)、β×FN(t)、γ×IDSWn(t)及びδ×IDSWc(t))の合計値に対応する。ここで、複数の誤推定種類それぞれについて対応するオブジェクトの数と誤推定係数とを乗算した値は、複数の誤推定種類それぞれに対応するオブジェクトの数だけ対応する誤推定係数を加算した値であると言える。例えば、「β×FN(t)」は、誤推定係数βを、「見逃し(FN)」に対応するオブジェクトの数FN(t)だけ加算した値(Σβ)に対応する。したがって、この合計値は、複数の誤推定種類それぞれに対応するオブジェクトの数だけ対応する誤推定係数を加算し、複数の誤推定種類ごとに得られた誤推定係数の加算値の合計値である。そして、式(2)に示すように、この合計値が大きいほど、評価値F(t)が小さくなる。つまり、この合計値が大きいほど、推定アルゴリズムの評価が低くなる。
【0062】
ここで、非特許文献1では、式(2)における全ての誤推定係数を1として、推定アルゴリズムの評価値を算出していた。したがって、非特許文献1では、複数の誤推定種類それぞれのリスク、つまり誤推定の影響の度合い(深刻度)を考慮しないで、評価値を算出していた。したがって、非特許文献1の技術を適用しても、推定アルゴリズムの評価が高いからといって、リスク(影響の度合い)の大きな誤推定を行わないとは限らない。したがって、推定アルゴリズムの品質を適切に評価することができないおそれがある。つまり、例えば、ある推定アルゴリズムでは「見逃し(FN)」に対応するオブジェクトの数が多く、別の推定アルゴリズムでは「誤検出(FP)」に対応するオブジェクトの数が多い場合に、両者の推定アルゴリズムの品質が同程度と評価されるおそれがある。
【0063】
これに対し、実施の形態1では、誤推定係数は、複数の誤推定種類ごとに異なるように設けられている。具体的には、誤推定係数は、対応する誤推定種類の影響の度合いが大きいほど高くなるように設定されている。したがって、影響の度合いの大きな誤推定が多く行われるほど、評価値が小さくなり得る。言い換えると、影響の度合いの高い誤推定が多く行われるほど、推定アルゴリズムの評価が低くなり得る。ここで、影響の度合いが大きな誤推定を多く行ってしまう推定アルゴリズムの品質は低いと言える。したがって、実施の形態1では、推定アルゴリズムの品質を適切に評価することが可能となる。なお、「誤推定係数が高い」とは、単に誤推定係数の数値が大きいことに限られない。誤推定係数の数値自体は、影響の度合いが大きいほど小さくなってもよい。この場合は、「誤推定係数が高い」とは、誤推定係数の数値が小さいことに対応する。また、この場合、「複数の誤推定種類それぞれに対応するオブジェクトの数だけ対応する誤推定係数を加算し、複数の誤推定種類ごとに得られた誤推定係数の加算値の合計値」が小さいほど、推定アルゴリズムの評価が低くなり得る。
【0064】
また、実施の形態1では、複数の前記誤推定種類のうちの「見逃し(FN)」(第1の誤推定)に対応する誤推定係数βは、他の誤推定種類に対応する誤推定係数よりも高く設定される。上述したように、「見逃し(FN)」の影響の度合いは、複数の前記誤推定種類のうちで最も大きい。したがって、誤推定係数βを他の誤推定種類に対応する誤推定係数よりも高く設定することによって、推定アルゴリズムの品質をさらに適切に評価することが可能となる。つまり、影響の度合いの大きな「見逃し(FN)」を多く行ってしまう推定アルゴリズムの評価を低くすることができる。
【0065】
また、実施の形態1では、「入れ替わり(IDSWc)」(第2の誤推定)に対応する誤推定係数δは、「新規誤検出(IDSWn)」(第3の誤推定)に対応する誤推定係数γよりも高く設定される。上述したように、「入れ替わり(IDSWc)」の影響の度合いは、「新規誤検出(IDSWn)」の影響の度合いよりも大きい。したがって、誤推定係数δを誤推定係数γよりも高く設定することによって、推定アルゴリズムの品質をさらに適切に評価することが可能となる。つまり、「新規誤検出(IDSWn)」よりも影響の度合いの大きな「入れ替わり(IDSWc)」を多く行ってしまう推定アルゴリズムの評価を低くすることができる。
【0066】
図4は、実施の形態1にかかる評価装置100の構成を示す図である。
図4に示すように、評価装置100は、主要なハードウェア構成として、制御部102と、記憶部104と、通信部106と、インタフェース部108(IF;Interface)とを有する。制御部102、記憶部104、通信部106及びインタフェース部108は、データバスなどを介して相互に接続されている。なお、追跡エンジン20及び動画像格納装置40も、
図4に示した評価装置100のハードウェア構成を有し得る。
【0067】
制御部102は、例えばCPU(Central Processing Unit)等のプロセッサである。制御部102は、制御処理及び演算処理等を行う演算装置としての機能を有する。なお、制御部102は、複数のプロセッサを有してもよい。記憶部104は、例えばメモリ又はハードディスク等の記憶デバイスである。記憶部104は、例えばROM(Read Only Memory)又はRAM(Random Access Memory)等である。記憶部104は、制御部102によって実行される制御プログラム及び演算プログラム等を記憶するための機能を有する。つまり、記憶部104(メモリ)は、1つ以上の命令を格納する。また、記憶部104は、処理データ等を一時的に記憶するための機能を有する。記憶部104は、データベースを含み得る。また、記憶部104は、複数のメモリを有してもよい。
【0068】
通信部106は、追跡エンジン20又は動画像格納装置40等の他の装置とネットワークを介して通信を行うために必要な処理を行う。通信部106は、通信ポート、ルータ、ファイアウォール等を含み得る。インタフェース部108(IF;Interface)は、例えばユーザインタフェース(UI)である。インタフェース部108は、キーボード、タッチパネル又はマウス等の入力装置と、ディスプレイ又はスピーカ等の出力装置とを有する。インタフェース部108は、例えばタッチスクリーン(タッチパネル)のように、入力装置と出力装置とが一体となるように構成されていてもよい。インタフェース部108は、ユーザ(オペレータ)によるデータの入力の操作を受け付け、ユーザに対して情報を出力する。
【0069】
実施の形態1にかかる評価装置100は、構成要素として、正解データ取得部112と、出力データ取得部114と、推定結果判定部120と、パラメータ格納部130と、評価値算出部160と、評価値出力部162とを有する。上述した各構成要素は、例えば、制御部102の制御によって、プログラムを実行させることによって実現できる。より具体的には、各構成要素は、記憶部104に格納されたプログラム(命令)を、制御部102が実行することによって実現され得る。また、必要なプログラムを任意の不揮発性記録媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。また、各構成要素は、例えばFPGA(field-programmable gate array)又はマイコン等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。これらのことは、後述する実施の形態2においても同様である。
【0070】
正解データ取得部112は、動画像格納装置40から、推定アルゴリズムが推定処理及び追跡処理を行った動画像に対応する正解データを取得する。正解データ取得部112は、動画像を構成する画像フレームごとに、正解データを取得してもよい。出力データ取得部114は、追跡エンジン20から、推定アルゴリズムの推定処理及び追跡処理による出力データを取得する。出力データ取得部114は、動画像を構成する画像フレームごとに、出力データを取得してもよい。
【0071】
推定結果判定部120は、取得された正解データ及び出力データを用いて、画像フレームごとに、推定結果を判定する。具体的には、推定結果判定部120は、正解データと出力データとを照合して、各オブジェクトについて、正しい推定結果又は複数の誤推定種類のいずれかを判定する。さらに具体的には、推定結果判定部120は、各オブジェクト(矩形)についての推定結果が、上述した「正推定(TP)」、「誤検出(FP)」、「見逃し(FN)」、「新規誤検出(IDSWn)」及び「入れ替わり(IDSWc)」のいずれであるかを判定する。さらに具体的には、推定結果判定部120は、正解データに含まれるオブジェクトの種類及び位置が、出力データにおいて正しく推定されているかを判定することで、推定結果を判定する。また、推定結果判定部120は、正解データに含まれる同じオブジェクトに対して、一連の画像フレームにおいて同じIDが付与されているかを判定することで、推定結果を判定する。
【0072】
図3の例では、t=1の画像フレームについては、矩形R11の位置がオブジェクトP1の位置と対応しているので、正解データに含まれるオブジェクトP1の位置が正しく推定されている。したがって、推定結果判定部120は、オブジェクトP1の推定結果が「正推定(TP)」であると判定する。同様に、推定結果判定部120は、他のオブジェクトP2~P4の推定結果についても「正推定(TP)」であると判定する。
【0073】
また、t=2の画像フレームについては、矩形R12の位置がオブジェクトP1の位置と対応しているので、正解データに含まれるオブジェクトP1の位置が正しく推定されている。さらに、矩形R12に付与されたID(#01)は、t=1において矩形R11に付与されたIDと同じである。したがって、推定結果判定部120は、オブジェクトP1の推定結果が「正推定(TP)」であると判定する。同様に、推定結果判定部120は、他のオブジェクトP2~P4の推定結果についても「正推定(TP)」であると判定する。また、t=3~4の画像フレームについても、推定結果判定部120は、上記と同様に、オブジェクトP1の推定結果が「正推定(TP)」であると判定する。
【0074】
また、t=3の画像フレームについて、矩形R2’3の位置がオブジェクトP2の位置と対応している。しかしながら、矩形R2’3に付与されたID(#12)は、t=2においてオブジェクトP2に対応する矩形R22に付与されたID(#02)と異なる。したがって、推定結果判定部120は、オブジェクトP2に対応する矩形R2’3の推定結果が「新規誤検出(IDSWn)」であると判定する。一方、t=4の画像フレームについては、矩形R2’4の位置がオブジェクトP2の位置と対応し、矩形R2’4に付与されたID(#12)は、t=3においてオブジェクトP2に対応する矩形R2’3に付与されたID(#12)と同じである。したがって、推定結果判定部120は、オブジェクトP2(矩形R2’4)の推定結果が「正推定(TP)」であると判定する。
【0075】
さらに、t=3の画像フレームについて、矩形R23の位置にオブジェクトP2が存在していると推定されているが、矩形R23の位置にはオブジェクトは存在していない。したがって、推定結果判定部120は、オブジェクトP2の付近の矩形R23の推定結果が「誤検出(FP)」であると判定する。t=4の画像フレームについても同様である。
【0076】
また、t=3の画像フレームについて、矩形R33の位置がオブジェクトP4の位置と対応している。ここで、矩形R33に付与されたID(#03)は、t=2においてオブジェクトP4に対応する矩形R42に付与されたID(#04)と異なり、t=2においてオブジェクトP3に対応する矩形R32に付与されたID(#03)と同じである。したがって、推定結果判定部120は、オブジェクトP4の推定結果が「入れ替わり(IDSWc)」であると判定する。
【0077】
同様に、t=3の画像フレームについて、矩形R43の位置がオブジェクトP3の位置と対応している。ここで、矩形R43に付与されたID(#04)は、t=2においてオブジェクトP3に対応する矩形R32に付与されたID(#03)と異なり、t=2においてオブジェクトP4に対応する矩形R42に付与されたID(#04)と同じである。したがって、推定結果判定部120は、オブジェクトP3の推定結果が「入れ替わり(IDSWc)」であると判定する。
【0078】
また、t=5の画像フレームについて、矩形R15の位置にオブジェクトP1が存在していると推定されているが、矩形R15の位置にはオブジェクトは存在していない。したがって、推定結果判定部120は、オブジェクトP1の付近の矩形R15の推定結果が「誤検出(FP)」であると判定する。t=6の画像フレームについても同様である。
【0079】
また、t=5の画像フレームについて、オブジェクトP1に対応する位置には矩形が存在しない。したがって、推定結果判定部120は、オブジェクトP1の推定結果が「見逃し(FN)」であると判定する。t=6の画像フレームについても同様である。
【0080】
さらに、推定結果判定部120は、画像フレームごとに、正推定及び各誤推定種類に対応するオブジェクト(矩形)の数をカウントする。具体的には、推定結果判定部120は、画像フレームごとに、「正推定(TP)」と判定されたオブジェクトの数をカウントする。同様に、推定結果判定部120は、画像フレームごとに、「見逃し(FN)」と判定されたオブジェクトの数をカウントする。同様に、推定結果判定部120は、画像フレームごとに、「入れ替わり(IDSWc)」と判定されたオブジェクトの数をカウントする。また、推定結果判定部120は、画像フレームごとに、「誤検出(FP)」と判定された矩形の数をカウントする。同様に、推定結果判定部120は、画像フレームごとに、「新規誤検出(IDSWn)」と判定された矩形の数をカウントする。
【0081】
図3の例では、t=3の画像フレームにおいて、推定結果判定部120は、「正推定(TP)」の数を1とカウントする。同様に、t=3の画像フレームにおいて、推定結果判定部120は、「誤検出(FP)」の数を1とカウントし、「新規誤検出(IDSWn)」の数を1とカウントし、「入れ替わり(IDSWc)」の数を2とカウントする。また、t=5の画像フレームにおいて、推定結果判定部120は、「誤検出(FP)」の数を1とカウントし、「見逃し(FN)」の数を1とカウントする。
【0082】
パラメータ格納部130は、評価値の算出の際に使用されるパラメータを格納する。実施の形態1においては、パラメータ格納部130は、上述した誤推定係数α、β、γ、δを格納する。また、パラメータ格納部130は、後述する処理により画像フレームごとに算出された評価値F(t)を、一時的に格納してもよい。
【0083】
評価値算出部160は、推定アルゴリズムの評価値を算出する。具体的には、評価値算出部160は、式(2)に示した評価式を用いて、評価値を算出する。評価値算出部160は、画像フレーム(タイミングt)ごとに、評価値を算出する。そして、全ての画像フレームについて評価値が算出された場合に、評価値算出部160は、以下の式(3)のように、全ての画像フレームについて算出された評価値を合計して、推定アルゴリズムの動画像全体に対する評価値である全体評価値Fを算出する。例えば、フレームレートが10fpsの5分間の動画像に対して推定アルゴリズムが推定処理(追跡処理)を行った場合、評価値算出部160は、10×60×5=3000枚の画像フレームで得られた評価値を合計して、全体評価値Fを算出する。
【数3】
・・・(3)
【0084】
評価値出力部162は、評価値算出部160によって算出された評価値を出力する。評価値出力部162は、例えば、インタフェース部108のディスプレイに評価値を表示させてもよい。また、評価値出力部162は、例えば、通信部106を制御して、他の装置(ユーザ端末等)のディスプレイに、評価値を表示させてもよい。評価値出力部162は、音声等によって評価値を出力してもよい。評価値出力部162は、全体評価値Fを出力してもよいし、画像フレームごとの評価値F(t)を出力してもよい。
【0085】
図5は、実施の形態1にかかる評価システム1によって実行される評価方法を示すフローチャートである。
図5に示す処理は、主に、評価装置100によって実行され得る。まず、追跡エンジン20によって、推定アルゴリズムによる推定処理が行われる(ステップS100)。なお、この推定処理(S100)が全ての画像フレームについて実行された後、S101以降の処理が実行されてもよい。
【0086】
評価装置100は、t=1として(ステップS101)、t番目の画像フレーム(タイミングtの画像フレーム)を処理対象とする(ステップS102)。つまり、評価装置100は、まず、1番目の画像フレームを処理対象とする。そして、評価装置100は、1番目の画像フレームについて後述するS104~S150の処理を行い、未処理の画像フレームがある場合に(S160のYES)、tを1つインクリメントして(ステップS162)、2番目の画像フレームを処理対象とする(S102)。評価装置100は、以後、同様にして、t番目の画像フレームについて、S104~S150の処理を行う。
【0087】
正解データ取得部112は、t番目の画像フレームについて、正解データを取得する(ステップS104)。出力データ取得部114は、t番目の画像フレームについて実行された推定処理に関する出力データを取得する(ステップS106)。推定結果判定部120は、上述したようにして、t番目の画像フレームに関する推定結果を判定する(ステップS110)。具体的には、推定結果判定部120は、t番目の画像フレームについて、オブジェクト及び矩形に対して、「正推定(TP)」、「誤検出(FP)」、「見逃し(FN)」、「新規誤検出(IDSWn)」又は「入れ替わり(IDSWc)」を判定する。推定結果判定部120は、上述したように、誤推定種類ごとに、オブジェクト数をカウントする(ステップS112)。評価値算出部160は、t番目の画像フレームについて、式(2)に示した評価式を用いて、推定アルゴリズムの評価値を算出する(ステップS150)。
【0088】
そして、評価装置100は、未処理の画像フレームがあるか否かを判定する(ステップS160)。未処理の画像フレームがある場合(S160のYES)、評価装置100は、tを1つインクリメントする(ステップS162)。そして、処理フローはS102に戻り、評価装置100は、次の画像フレームを処理対象とする(S102)。そして、S104~S150の処理が繰り返される。
【0089】
一方、未処理の画像フレームがない場合(S160のNO)、評価値算出部160は、式(3)に示すように、全ての画像フレームについて得られた評価値を合計する(ステップS164)。そして、評価値出力部162は、動画像全体の評価値を出力する(ステップS166)。
【0090】
(実施の形態2)
次に、実施の形態2について説明する。なお、実施の形態2にかかる評価システム1の構成については、
図1に示した実施の形態1にかかる評価システム1の構成と実質的に同様であるので、説明を省略する。実施の形態2にかかる評価装置100は、誤推定係数が、オブジェクトごとに異なり、画像フレームごとに変化し得る点で、実施の形態1にかかる評価装置100と異なる。
【0091】
図6は、実施の形態2にかかる評価装置100の構成を示す図である。実施の形態1と同様に、実施の形態2にかかる評価装置100は、主要なハードウェア構成として、制御部102と、記憶部104と、通信部106と、インタフェース部108とを有する。また、実施の形態2にかかる評価装置100は、構成要素として、正解データ取得部112と、出力データ取得部114と、推定結果判定部120と、パラメータ格納部130と、係数算出部240と、評価値算出部260と、評価値出力部162とを有する。係数算出部240は、連続誤推定演算部242と、オブジェクト群演算部244と、速度演算部246とを有する。
【0092】
なお、正解データ取得部112、出力データ取得部114、推定結果判定部120、パラメータ格納部130及び評価値出力部162の機能については、実施の形態1にかかるものと実質的に同様であるので、説明を省略する。なお、パラメータ格納部130は、後述する式(4)のa及び式(6)のcなどの、誤推定係数の算出に使用される定数を格納してもよい。また、パラメータ格納部130は、後述する処理により画像フレームごとにオブジェクト(矩形)ごとに算出された誤推定係数を、一時的に格納してもよい。
【0093】
係数算出部240は、変数である誤推定係数を、画像フレームごとに算出する。つまり、係数算出部240は、誤推定係数を推定のタイミングごとに算出する。さらに、係数算出部240は、画像フレームにおいて、複数の誤推定種類のうちのいずれかと判定されたオブジェクト(矩形)ごとに、誤推定係数を算出する。なお、あるオブジェクトに対する連続誤推定演算部242、オブジェクト群演算部244及び速度演算部246の処理は、互いに並行して実行されてもよいし、順次実行されてもよい。互いに並行して実行される場合、係数算出部240は、これらの処理で算出された値の合計値又は平均値を、そのオブジェクトに関する誤推定係数としてもよい。順次実行される場合については、後述する
図8を用いて説明する。
【0094】
各誤推定種類に対応するオブジェクトの状態は、同じ誤推定種類であっても、オブジェクトごとに異なり得る。そして、同じ誤推定種類であっても、オブジェクトの状態に応じて、誤推定の影響の度合いも異なり得る。さらに、各誤推定種類に対応するオブジェクトの状態は、画像フレームごとに変化する。そして、オブジェクトの状態の変化に応じて、誤推定の影響の度合いも変化する。また、各誤推定種類の誤推定の影響の度合いは、前の画像フレームにおける誤推定の発生に応じて変化し得る。このように、各誤推定種類の誤推定の影響の度合いは、動画像を通じて一定とは限らない。したがって、実施の形態2にかかる係数算出部240は、画像フレームごとに誤推定係数を算出する。これにより、状況の変化に応じて誤推定係数を変化させることができる。したがって、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【0095】
連続誤推定演算部242は、対応するオブジェクトについて誤推定種類の同じ誤推定が連続してなされた場合に、当該オブジェクトに関する当該誤推定種類に対応する誤推定係数を高くするように、誤推定係数を算出する。具体的には、連続誤推定演算部242は、対応するオブジェクトについて誤推定種類の同じ誤推定が連続してなされた回数が多いほど、当該オブジェクトに関する当該誤推定種類に対応する誤推定係数を高くするように、誤推定係数を算出する。
【0096】
さらに具体的には、連続誤推定演算部242は、例えばあるオブジェクトに対して「見逃し(FN)」の誤推定がなされた場合に、以下の式(4)を用いて、誤推定係数を算出する。なお、連続誤推定演算部242は、他の誤推定種類に対応する誤推定係数についても、式(4)と同様にして算出してもよい。
【数4】
・・・(4)
【0097】
ここで、iは、画像フレームにおける、「見逃し(FN)」がなされたオブジェクトのインデックスである。また、obji(t-1)は、タイミング(t-1)の画像フレームにおいて、オブジェクトiに対して判定された誤推定種類を示す。また、aは、重加算定数であり、0より大きな定数である。なお、aは、式4が適用される誤推定種類に応じて異なってもよい。例えば、βを算出する場合のaの値を、αを算出する場合のaの値よりも大きくしてもよい。また、β0は、誤推定係数βの初期値である。また、βi(t)は、タイミングtの画像フレームにおける、オブジェクトiに対応する誤推定係数βの値である。
【0098】
式(4)に示すように、オブジェクトiに対して、前回のタイミング(t-1)において「見逃し(FN)」と判定され、今回のタイミングtでも「見逃し(FN)」と判定された場合、前回のβの値に(1+a)が乗算された値が、今回のβの値となる。ここで、(1+a)は、1より大きい。したがって、誤推定係数βは、前回よりも高くなっている。さらに、オブジェクトiに対して連続して「見逃し(FN)」と判定されるごとに、誤推定係数βに(1+a)が乗算されることとなる。したがって、連続して「見逃し(FN)」と判定された回数が多いほど、誤推定係数βは高くなっていく。なお、式(4)は、連続誤推定演算部242の演算を示す一例である。連続誤推定演算部242は、あるオブジェクトに対して同じ誤推定が連続してなされた場合に誤推定係数が高くなるような他の式を用いて、誤推定係数を算出してもよい。
【0099】
図3の例では、t=5のタイミングでオブジェクトP1に対して「見逃し(FN)」と判定され、次のt=6のタイミングでも、オブジェクトP1に対して「見逃し(FN)」と判定されている。したがって、オブジェクトP1に対応する誤推定係数は、t=5ではβ
i(5)=β
0と算出され、t=6ではβ
i(6)=β
0×(1+a)と算出される。
【0100】
あるオブジェクトに対して一瞬だけ誤推定がなされても、次のタイミングで正しい推定が行われれば、オブジェクトの検出及び追跡を適切に行うことができる。したがって、影響の度合いはそれほど大きくない。一方、誤推定が連続して発生すると、その間、適切にオブジェクトの検出及び追跡を行うことができないおそれがある。そして、交通管制等において、オブジェクトの検出及び追跡を適切に行うことできない期間が長くなると、その期間ではそのオブジェクトに対する衝突回避の制御を適切に行うことができないおそれがある。したがって、影響の度合い(リスク)は増大する。したがって、このような推定処理を行ってしまう推定アルゴリズムの品質は低いと言える。逆に言うと、あるオブジェクトに対して連続して誤推定を行わないことが、推定アルゴリズムにとって望ましい。
【0101】
これに対し、実施の形態2にかかる評価装置100は、あるオブジェクトについて誤推定種類の同じ誤推定が連続してなされた場合に、当該オブジェクトに関する当該誤推定種類に対応する誤推定係数を高くするように、誤推定係数を算出する。これにより、誤推定が連続してなされたことにより影響の度合いが増大した場合に、誤推定係数を高くすることができる。したがって、誤推定が連続してなされるといった影響の度合いを増大させる推定処理を行ってしまう推定アルゴリズムの品質の評価を低くすることができる。逆に言うと、誤推定が連続してなされることが発生し難い推定アルゴリズムの品質の評価を高くすることができる。したがって、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【0102】
また、あるオブジェクトに対して「見逃し(FN)」の誤推定が連続してなされた場合、そのオブジェクトを以降の画像フレームでも検出することができず、したがって、そのオブジェクトを追跡することができなくなってしまうおそれがある。言い換えると、そのオブジェクトを完全に見逃してしまうおそれがある。その場合、そのオブジェクトに対する衝突回避の制御を全く行うことができないおそれがある。したがって、影響の度合いはかなり大きくなる。したがって、「見逃し(FN)」の誤推定を連続して行ってしまう推定アルゴリズムの品質は、かなり低いと言える。例えば、特定の色の服装を着た歩行者に対して、推定アルゴリズムによっては、「見逃し(FN)」の誤推定を連続して行ってしまうことがある。
【0103】
これに対し、実施の形態2にかかる評価装置100は、「見逃し(FN)」の誤推定(第1の誤推定)が連続してなされた場合に、誤推定係数βを高くするように、誤推定係数を算出する。これにより、「見逃し(FN)」の誤推定が連続してなされたことにより影響の度合いがかなり増大した場合に、誤推定係数βを高くすることができる。したがって、「見逃し(FN)」の誤推定が連続してなされてしまう推定アルゴリズムの品質の評価を低くすることができる。したがって、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【0104】
オブジェクト群演算部244は、あるオブジェクトからの距離が予め定められた閾値以下である他のオブジェクトの数が多いほど、当該オブジェクトに関する誤推定種類に対応する誤推定係数を低くするように、誤推定係数を算出する。ここで、「他のオブジェクト」は、当該オブジェクトと同じ種類のオブジェクトである。つまり、オブジェクト群演算部244は、オブジェクトの周囲に同じ種類の他のオブジェクトが多く存在する場合に、誤推定係数を、初期値よりも低くする。例えば、あるオブジェクトが「歩行者」である場合に、そのオブジェクトの周囲に他の「歩行者」が多く存在する場合に、そのオブジェクトに対する誤推定係数は低くなる。
【0105】
具体的には、例えば、オブジェクト群演算部244は、あるオブジェクトiに対して「見逃し(FN)」の誤推定がなされた場合について、以下の式(5)を用いて、誤推定係数を算出する。なお、オブジェクト群演算部244は、他の誤推定種類に対応する誤推定係数についても、式(5)と同様にして算出してもよい。
【数5】
・・・(5)
【0106】
ここで、nは、オブジェクトiからの距離が閾値以下の、オブジェクトiの種類と同じ種類の他のオブジェクトの数である。式(5)から、nが大きいほど、誤推定係数βは低くなる。なお、式(5)は、オブジェクト群演算部244の演算を示す一例である。オブジェクト群演算部244は、他のオブジェクトの数nが多いほど誤推定係数が低くなるような他の式を用いて、誤推定係数を算出してもよい。
【0107】
上述したように、実施の形態2にかかる評価装置100は、あるオブジェクトからの距離が予め定められた閾値以下である他のオブジェクトの数が多いほど、当該オブジェクトに関する誤推定種類に対応する誤推定係数を低くするように、誤推定係数を算出する。ここで、あるオブジェクトと同じ種類のオブジェクトがそのオブジェクトの周囲に存在する場合、それらの複数のオブジェクトを「オブジェクト群」として扱うことができる。したがって、そのオブジェクト群のうちの1つ程度を適切に検出できない(例えば「見逃し」)場合であっても、そのオブジェクト群に対して衝突回避の制御等を行えばよいので、影響の度合いはそれほど大きくない。言い換えると、このような誤推定が発生したときの影響の度合いは、周囲に同じ種類のオブジェクトがないオブジェクトに対して誤推定が発生した場合と比較して小さいと言える。つまり、このような誤推定を行ってしまう推定アルゴリズムの品質の評価を殊更低くする必要は、あまりないと言える。したがって、実施の形態2にかかる評価装置100は、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【0108】
速度演算部246は、対応するオブジェクトの速度に応じて誤推定係数を算出する。具体的には、速度演算部246は、オブジェクトの速度が速いほど、当該オブジェクトに関する誤推定種類に対応する誤推定係数を高くするように、誤推定係数を算出する。さらに具体的には、速度演算部246は、例えば「見逃し(FN)」の誤推定について、以下の式(6)を用いて、誤推定係数を算出する。なお、速度演算部246は、他の誤推定種類に対応する誤推定係数についても、式(6)と同様にして算出してもよい。
【数6】
・・・(6)
【0109】
ここで、vi(t)は、オブジェクトiのタイミングtにおける速度である。vi(t)は、オブジェクトiがタイミング(t-1)からタイミングtまでに移動した距離と、タイミング(t-1)の画像フレームとタイミングtの画像フレームとの間の時間とから算出される。つまり、vi(t)は、オブジェクトiの移動距離と、フレームレートとから算出される。また、cは、0より大きな定数である。なお、cは、式6が適用される誤推定種類に応じて異なってもよい。例えば、βを算出する場合とαを算出する場合とで、cの値は互いに異なってもよい。
【0110】
式(6)から、オブジェクトiの速度vi(t)が速いほど、誤推定係数βは高くなる。なお、式(6)は、速度演算部246の演算を示す一例である。速度演算部246は、オブジェクトの速度が速いほど誤推定係数が高くなるような他の式を用いて、誤推定係数を算出してもよい。
【0111】
速度の速いオブジェクトに対して誤推定がなされると、そのオブジェクトを適切に検出できていない間に、そのオブジェクトは、長い距離を移動してしまう。したがって、そのオブジェクトに対する衝突回避の制御を適切に行うことが困難となるため、影響の度合いは大きい。特に、オブジェクトの速度が速いほど、そのオブジェクトを適切に検出できていない間の移動距離は長くなるため、影響の度合いはさらに増大する。なお、速度の速いオブジェクトに対して「見逃し(FN)」の誤推定がなされると、推定アルゴリズムがそのオブジェクトを全く検出できていない(見逃している)間にそのオブジェクトは、長い距離を移動してしまうこととなる。したがって、特に、速度の速いオブジェクトに対する「見逃し(FN)」の誤推定の影響の度合いは大きい。逆に言うと、速度の速いオブジェクトに対して誤推定が発生しないことが、推定アルゴリズムにとって望ましい。
【0112】
これに対し、実施の形態2にかかる評価装置100は、オブジェクトの速度が速いほど、当該オブジェクトに関する誤推定種類に対応する誤推定係数を高くするように、誤推定係数を算出する。これにより、速度の速いオブジェクトに対して誤推定がなされたことにより影響の度合いが増大した場合に、誤推定係数を高くすることができる。したがって、速度が速いオブジェクトに対して誤推定がなされるといった影響の度合いを増大させる推定処理を行ってしまう推定アルゴリズムの品質の評価を低くすることができる。逆に言うと、速度が速いオブジェクトに対しても誤推定がなされ難い推定アルゴリズムの品質の評価を高くすることができる。したがって、より適切に、推定アルゴリズムの品質の評価を行うことが可能となる。
【0113】
評価値算出部260は、推定アルゴリズムの評価値を算出する。ここで、実施の形態1では、誤推定係数は、誤推定種類ごとに一定である。これに対し、実施の形態2では、誤推定係数は、オブジェクト(矩形)ごとに算出される。つまり、同じ種類の誤推定が複数のオブジェクトに対してなされたとしても、オブジェクトごとに、誤推定係数は異なり得る。
【0114】
したがって、実施の形態2では、評価値算出部260は、以下の式(7)に示した評価式を用いて、評価値を算出する。実施の形態1と同様に、評価値算出部260は、画像フレーム(タイミングt)ごとに、評価値を算出する。
【数7】
・・・(7)
【0115】
式(7)の右辺第2項の分数の分子の第2項(Σβi(t))は、タイミングtの画像フレームにおいて「見逃し(FN)」がなされたオブジェクトiに関する誤推定係数βi(t)を、「見逃し(FN)」に対応するオブジェクトの数(FN(t))だけ加算することを示している。言い換えると、式(7)の右辺第2項の分数の分子の第2項は、誤推定係数を、その誤推定種類に対応するオブジェクトの数だけ加算した値に対応する。
【0116】
式(7)の右辺第2項の分数の分子の第1項(Σαh(t))において、hは、「誤検出(FP)」の誤推定がなされた矩形(オブジェクト)のインデックスである。また、αh(t)は、タイミングtの画像フレームにおいて「誤検出(FP)」の誤推定がなされた矩形hについて算出された誤推定係数である。したがって、式(7)の右辺第2項の分数の分子の第1項は、タイミングtの画像フレームにおいて「誤検出(FP)」がなされた矩形hに関する誤推定係数αh(t)を、「誤検出(FP)」に対応するオブジェクト(矩形)の数(FP(t))だけ加算することを示している。言い換えると、式(7)の右辺第2項の分数の分子の第1項は、誤推定係数を、その誤推定種類に対応するオブジェクト(矩形)の数だけ加算した値に対応する。
【0117】
式(7)の右辺第2項の分数の分子の第3項(Σγj(t))において、jは、「新規誤検出(IDSWn)」の誤推定がなされた矩形(オブジェクト)のインデックスである。また、γj(t)は、タイミングtの画像フレームにおいて「新規誤検出(IDSWn)」の誤推定がなされた矩形jについて算出された誤推定係数である。したがって、式(7)の右辺第2項の分数の分子の第3項は、タイミングtの画像フレームにおいて「新規誤検出(IDSWn)」がなされた矩形jに関する誤推定係数γj(t)を、「新規誤検出(IDSWn)」に対応するオブジェクト(矩形)の数(IDSWn(t))だけ加算することを示している。言い換えると、式(7)の右辺第2項の分数の分子の第3項は、誤推定係数を、その誤推定種類に対応するオブジェクト(矩形)の数だけ加算した値に対応する。
【0118】
式(7)の右辺第2項の分数の分子の第4項(Σδk(t))において、kは、「入れ替わり(IDSWc)」の誤推定がなされたオブジェクトのインデックスである。また、δk(t)は、タイミングtの画像フレームにおいて「入れ替わり(IDSWc)」の誤推定がなされたオブジェクトkについて算出された誤推定係数である。したがって、式(7)の右辺第2項の分数の分子の第4項は、タイミングtの画像フレームにおいて「入れ替わり(IDSWc)」がなされたオブジェクトkに関する誤推定係数δk(t)を、「入れ替わり(IDSWc)」に対応するオブジェクトの数(IDSWc(t))だけ加算することを示している。言い換えると、式(7)の右辺第2項の分数の分子の第4項は、誤推定係数を、その誤推定種類に対応するオブジェクトの数だけ加算した値に対応する。
【0119】
したがって、式(7)の右辺第2項の分数の分子は、複数の誤推定種類それぞれに対応するオブジェクトの数だけ対応する誤推定係数を加算した値の合計値に対応する。そして、式(7)に示すように、この合計値が大きいほど、評価値F(t)が小さくなる。つまり、この合計値が大きいほど、推定アルゴリズムの評価が低くなる。そして、全ての画像フレームについて評価値が算出された場合に、評価値算出部260は、上記の式(3)のように、全ての画像フレームについて算出された評価値を合計して、推定アルゴリズムの動画像全体に対する評価値である全体評価値Fを算出する。
【0120】
図7及び
図8は、実施の形態2にかかる評価システム1によって実行される評価方法を示すフローチャートである。
図7及び
図8に示す処理は、主に、評価装置100によって実行され得る。まず、
図5のS100と同様に、追跡エンジン20によって、推定アルゴリズムの推定処理が行われる(ステップS200)。評価装置100は、t=1として(ステップS201)、t番目の画像フレームを処理対象とする(ステップS202)。
【0121】
正解データ取得部112は、
図5のS104と同様に、t番目の画像フレームについて、正解データを取得する(ステップS204)。出力データ取得部114は、
図5のS106と同様に、t番目の画像フレームについて実行された推定処理に関する出力データを取得する(ステップS206)。推定結果判定部120は、
図5のS110と同様に、t番目の画像フレームに関する推定結果を判定する(ステップS210)。推定結果判定部120は、
図5のS112と同様に、上述したように、誤推定種類ごとに、オブジェクト数をカウントする(ステップS212)。係数算出部240は、オブジェクト(矩形)ごとに、対応する誤推定係数を算出する(ステップS220)。S220の処理については
図8を用いて後述する。
【0122】
S220で誤推定係数が算出されると、評価値算出部160は、t番目の画像フレームについて、上記の式(7)に示した評価式を用いて、推定アルゴリズムの評価値を算出する(ステップS250)。そして、評価装置100は、未処理の画像フレームがあるか否かを判定する(ステップS260)。未処理の画像フレームがある場合(S260のYES)、評価装置100は、tを1つインクリメントする(ステップS262)。そして、処理フローはS202に戻り、評価装置100は、次の画像フレームを処理対象とする(S202)。そして、S204~S250の処理が繰り返される。一方、未処理の画像フレームがない場合(S260のNO)、評価値算出部160は、上記の式(3)に示すように、全ての画像フレームについて得られた評価値を合計する(ステップS264)。そして、評価値出力部162は、動画像全体の評価値を出力する(ステップS266)。
【0123】
図8を用いて、S220の処理について説明する。
図8には、「見逃し(FN)」の誤推定がなされたオブジェクトに対する処理が示されている。なお、他の誤推定種類についても、
図8と同様の処理が実行され得る。また、複数の誤推定種類に関する誤推定係数の算出は、並行して実行され得る。
【0124】
係数算出部240は、処理対象の画像フレームにおいて「見逃し(FN)」の誤推定がなされたオブジェクトから、処理対象のオブジェクトiを決定する(ステップS222)。処理対象のオブジェクトは、オブジェクトのIDごとに決定され得る。係数算出部240は、誤推定係数の初期値を設定する(ステップS224)。具体的には、係数算出部240は、パラメータ格納部130から、「見逃し(FN)」に関する誤推定係数βの初期値(β0)を抽出して、抽出された初期値を設定する。
【0125】
連続誤推定演算部242は、処理対象のオブジェクトiについて、前回の画像フレーム(t-1)における誤推定の判定と今回の画像フレーム(t)における誤推定の判定がともに「見逃し(FN)」であるか否かを判定する(ステップS230)。前回の画像フレームにおいてもオブジェクトiに対して「見逃し(FN)」の誤推定と判定された場合(S230のYES)、連続誤推定演算部242は、前回の画像フレームにおける誤推定係数βi(t-1)から高くなるように、誤推定係数βi(t)を算出する(ステップS232)。具体的には、連続誤推定演算部242は、上述した式(4)を用いて誤推定係数βi(t)を算出する。一方、前回の画像フレームにおいて「見逃し(FN)」の誤推定と判定されていない場合(S230のNO)、S232の処理はスキップされる。つまり、連続誤推定演算部242は、βi(t)=β0とする。
【0126】
オブジェクト群演算部244は、処理対象のオブジェクトiと、同じ種類の他のオブジェクトとの距離を算出する(ステップS234)。なお、オブジェクト間の距離は、例えば、処理対象のオブジェクトi及び他のオブジェクトそれぞれに対応する画素からそれぞれの実位置を推定し、推定された実位置の間の距離を算出することによって、算出されてもよい。あるいは、オブジェクト間の距離は、例えば、画像フレームにおいて、処理対象のオブジェクトiに対応する画素と、他のオブジェクトに対応する画素との間の距離を用いて算出されてもよい。
【0127】
オブジェクト群演算部244は、処理対象のオブジェクトiからの距離が閾値以下の他のオブジェクトが存在するか否かを判定する(ステップS236)。なお、距離の閾値は、例えば、実環境において5m程度であるが、これに限定されない。閾値は、オブジェクトiからの距離が閾値以内の1つ以上のオブジェクトをオブジェクトiとともにオブジェクト群と認識できる程度に、適宜、設定され得る。
【0128】
処理対象のオブジェクトiからの距離が閾値以下の他のオブジェクトが存在する場合(S236のYES)、オブジェクト群演算部244は、他のオブジェクトの数に応じて誤推定係数を算出する(ステップS238)。具体的には、オブジェクト群演算部244は、式(5)を用いて、誤推定係数βi(t)を算出する。なお、S232の処理が行われた場合、オブジェクト群演算部244は、式(5)のβ0を、S232の処理で得られたβi(t)の値と置き換えてもよい。
【0129】
一方、処理対象のオブジェクトiからの距離が閾値以下の他のオブジェクトが存在しな場合(S236のNO)、S238の処理はスキップされる。つまり、オブジェクト群演算部244は、βi(t)を、連続誤推定演算部242によって算出された誤推定係数の値のままとする。
【0130】
速度演算部246は、処理対象のオブジェクトiの速度に応じて誤推定係数を算出する(ステップS240)。具体的には、速度演算部246は、処理対象のオブジェクトiの速度を算出(推定)する。そして、速度演算部246は、式(6)を用いて、誤推定係数βi(t)を算出する。なお、S232及びS238の少なくともいずれかの処理が行われた場合、速度演算部246は、式(6)のβ0を、S238の処理までに得られたβi(t)の値と置き換えてもよい。
【0131】
係数算出部240は、処理対象の画像フレームにおいて、未処理のオブジェクトがあるか否かを判定する(ステップS242)。
図8の例では、係数算出部240は、「見逃し(FN)」に対応するオブジェクトのうち未処理のものがあるか否かを判定する。未処理のオブジェクトがある場合(S242のYES)、処理フローはS222に戻る。そして、未処理のオブジェクトから処理対象のオブジェクトが決定され(S222)、S224~S240の処理が繰り返される。一方、未処理のオブジェクトがない場合(S242のNO)、処理フローはS250に進む。
【0132】
(適用事例)
なお、本実施の形態にかかる評価装置100を用いて、推定アルゴリズムにおいて、交通管制等において誤推定に対する影響の度合いが小さくなるように、観測値と推定値との同一性判定の一致度の閾値を決定することができる。つまり、評価装置100による評価結果が高くなるような閾値を決定することによって、評価が高くなるような推定アルゴリズムを得ることができる。例えば、閾値を高く設定すると、「誤検出(FP)」が発生しやすくなり得る。一方、閾値を低く設定すると、「見逃し(FN)」が発生しやすくなり得る。そこで、例えば、推定アルゴリズムにおける閾値を70%,80%,90%とした場合それぞれについて、評価装置100を用いて推定アルゴリズムの評価を行い、評価値の大きな閾値を採用するということができる。
【0133】
また、本実施の形態にかかる評価装置100を用いて、オブジェクトの追跡に用いるセンサの異常をリアルタイムで検知することもできる。すなわち、評価装置100は、自動運転車等のオブジェクトから自身の位置情報を取得して、その位置情報を正解データとする。一方、それと並行して、推定アルゴリズムは、オブジェクト(自動運転車等)の位置の推定及び追跡を行い、推定結果を出力データとする。そして、評価装置100は、正解データと出力データとを用いて、上述したような、推定アルゴリズムの評価処理を行う。そして、そのときの評価結果を通常時の評価結果と比較して、所定の閾値以上に評価が低い場合に、センサが異常であると判定することができる。
【0134】
(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述したフローチャートの各ステップ(処理)の順序は、適宜、変更可能である。また、上述したフローチャートの各ステップ(処理)の1つ以上は、省略可能である。例えば、
図7のS212の処理は、省略されてもよい。
【0135】
また、実施の形態2において、係数算出部240を構成する連続誤推定演算部242、オブジェクト群演算部244及び速度演算部246の全てが処理を行う必要はない。つまり、
図8のフローチャートにおいて、S230~S232の処理、S234~S238の処理、及びS240の処理のうちのいずれかは、行われなくてもよい。
【0136】
また、上述した実施の形態では、推定アルゴリズムは、交通管制の環境で用いられるとしたが、推定アルゴリズムの使用環境は、交通管制に限られない。本実施の形態にかかる評価装置100は、交通管制以外の任意の物体検出を行う推定アルゴリズムに対して、適用可能である。
【0137】
上述したプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disk(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【符号の説明】
【0138】
1 評価システム
2 ネットワーク
20 追跡エンジン
40 動画像格納装置
100 評価装置
112 正解データ取得部
114 出力データ取得部
120 推定結果判定部
130 パラメータ格納部
160 評価値算出部
162 評価値出力部
240 係数算出部
242 連続誤推定演算部
244 オブジェクト群演算部
246 速度演算部
260 評価値算出部