(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023132822
(43)【公開日】2023-09-22
(54)【発明の名称】追跡システム、追跡装置、追跡方法、追跡プログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20230914BHJP
G06T 7/00 20170101ALI20230914BHJP
G08G 1/16 20060101ALI20230914BHJP
G08G 1/00 20060101ALI20230914BHJP
【FI】
G06T7/20
G06T7/00 650B
G08G1/16 C
G08G1/00 A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022038365
(22)【出願日】2022-03-11
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(71)【出願人】
【識別番号】519373914
【氏名又は名称】株式会社J-QuAD DYNAMICS
(74)【代理人】
【識別番号】100106149
【弁理士】
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【弁理士】
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【弁理士】
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】中嶋 大介
【テーマコード(参考)】
5H181
5L096
【Fターム(参考)】
5H181AA01
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181CC30
5H181FF27
5H181LL09
5L096AA06
5L096AA09
5L096BA04
5L096CA04
5L096DA02
5L096FA16
5L096FA69
5L096FA77
5L096GA51
5L096GA55
5L096HA05
5L096HA08
5L096HA11
5L096JA03
5L096JA11
(57)【要約】
【課題】ターゲット移動体をより正確に追跡可能な追跡システム等を提供する。
【解決手段】追跡システムは、プロセッサを有し、外界センサ系にて検出されたターゲット移動体を追跡する。プロセッサは、今回サイクルにおいて検出された移動体に関する情報である検出情報を取得することを実行するように構成される。プロセッサは、前回サイクル以前に追跡した移動体に関する情報である追跡情報と、追跡情報と同一の移動体に関すると推定された検出情報と、を対応付けることを実行するように構成される。プロセッサは、追跡情報を、今回サイクルにおいて対応付けられた検出情報に応じて更新することを実行するように構成される。プロセッサは、追跡情報と検出情報との対応付けが誤りである可能性に関する過誤条件の成立する追跡情報が更新前の状態で複製された複製追跡情報を、追跡情報として生成することを実行するように構成される。
【選択図】
図5
【特許請求の範囲】
【請求項1】
プロセッサ(102)を有し、外界センサ系(10)にて検出されたターゲット移動体(3)を追跡する追跡システムであって、
前記プロセッサは、
今回サイクルにおいて検出された前記ターゲット移動体に関する情報である検出情報を取得することと、
前回サイクル以前に追跡した前記ターゲット移動体に関する情報である追跡情報と、前記追跡情報と同一の前記ターゲット移動体に関すると推定された前記検出情報と、を対応付けることと、
前記追跡情報を、前記今回サイクルにおいて対応付けられた前記検出情報に応じて更新することと、
前記追跡情報と前記検出情報との対応付けが誤りである可能性に関する過誤条件の成立する前記追跡情報が更新前の状態で複製された複製追跡情報を、前記追跡情報として生成することと、
を実行するように構成される追跡システム。
【請求項2】
前記追跡情報と前記検出情報とを対応付けることは、
前記追跡情報と前記検出情報との類似度が対応付け範囲に到達する前記追跡情報と前記検出情報とを対応付けることを含み、
前記複製追跡情報を生成することは、
前記類似度が、前記対応付け範囲の下限よりも高い上限により規定される過誤範囲内である場合に、前記複製追跡情報を生成することを含む請求項1に記載の追跡システム。
【請求項3】
前記追跡情報と前記検出情報を対応付けることは、
前記追跡情報が前記複製追跡情報であった場合、前記類似度が、前記複製追跡情報が生成されたサイクルにおいて対応付けられた複製元の前記追跡情報と前記検出情報との前記類似度よりも高い前記対応付け範囲内である前記複製追跡情報と前記検出情報とを対応付けることを含む請求項2に記載の追跡システム。
【請求項4】
前記複製追跡情報を生成することは、
前回サイクルにて前記検出情報と対応付けされなかった前記追跡情報が、前記今回サイクルにて前記検出情報と対応付けられた場合に、前記複製追跡情報を生成することを含む請求項1から請求項3のいずれか1項に記載の追跡システム。
【請求項5】
前記複製追跡情報を生成することは、
特定サイクルにて対応付けられた前記検出情報との前記追跡情報と前記検出情報との類似度の、前記特定サイクル以降における前記特定サイクルからの低下度合が許容低下範囲外となる状態が、所定サイクル数継続した場合に、前記複製追跡情報を生成することを含む請求項1に記載の追跡システム。
【請求項6】
前記追跡情報を更新することは、
前記検出情報に対応する前記ターゲット移動体と他の前記ターゲット移動体との重複度合に応じた更新態様にて、前記追跡情報を更新する請求項1から請求項5のいずれか1項に記載の追跡システム。
【請求項7】
前記追跡情報と前記検出情報とを対応付けることは、
他の前記ターゲット移動体との重複度合が許容重複範囲外である前記ターゲット移動体に関する前記検出情報と、前記追跡情報と、の対応付けを禁止する請求項1から請求項6のいずれか1項に記載の追跡システム。
【請求項8】
プロセッサ(102)を有し、ホスト移動体(1)に搭載可能に構成され、外界センサ系(10)にて検出されたターゲット移動体(3)を追跡する追跡装置であって、
前記プロセッサは、
今回サイクルにおいて検出された前記ターゲット移動体に関する情報である検出情報を取得することと、
前回サイクル以前に追跡した前記ターゲット移動体に関する情報である追跡情報と、前記追跡情報と同一の物体に関すると推定された前記検出情報と、を対応付けることと、
前記追跡情報を、前記今回サイクルにおいて対応付けられた前記検出情報に応じて更新することと、
前記追跡情報と前記検出情報との対応付けが誤りである可能性に関する過誤条件の成立する前記追跡情報が更新前の状態で複製された複製追跡情報を、前記追跡情報として生成することと、
を実行するように構成される追跡装置。
【請求項9】
外界センサ系(10)にて検出されたターゲット移動体(3)を追跡するために、プロセッサ(102)により実行される追跡方法であって、
今回サイクルにおいて検出された前記ターゲット移動体に関する情報である検出情報を取得することと、
前回サイクル以前に追跡した前記ターゲット移動体に関する情報である追跡情報と、前記追跡情報と同一の物体に関すると推定された前記検出情報と、を対応付けることと、
前記追跡情報を、前記今回サイクルにおいて対応付けられた前記検出情報に応じて更新することと、
前記追跡情報と前記検出情報との対応付けが誤りである可能性に関する過誤条件の成立する前記追跡情報が更新前の状態で複製された複製追跡情報を、前記追跡情報として生成することと、
を含む追跡方法。
【請求項10】
外界センサ系(10)にて検出されたターゲット移動体(3)を追跡するために記憶媒体(101)に記憶され、プロセッサ(102)に実行させる命令を含む追跡プログラムであって、
前記命令は、
今回サイクルにおいて検出された前記ターゲット移動体に関する情報である検出情報を取得させることと、
前回サイクル以前に追跡した前記ターゲット移動体に関する情報である追跡情報と、前記追跡情報と同一の物体に関すると推定された前記検出情報と、を対応付けさせることと、
前記追跡情報を、前記今回サイクルにおいて対応付けられた前記検出情報に応じて更新させることと、
前記追跡情報と前記検出情報との対応付けが誤りである可能性に関する過誤条件の成立する前記追跡情報が更新前の状態で複製された複製追跡情報を、前記追跡情報として生成させることと、
を含む追跡プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ターゲット移動体を追跡する追跡技術に、関する。
【背景技術】
【0002】
特許文献1には、画像の複数フレーム間で被写体を追尾する画像解析装置が開示されている。この画像解析装置は、現画像フレームと過去の画像フレーム間で、特徴量に基づいて同一の追尾対象を対応付ける。画像解析装置は、追尾対象が他の被写体と交錯していない場合には、当該追尾対象の特徴量を更新し、交錯している場合には、当該追尾対象の特徴量を更新しない。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
移動体の追跡において、追跡対象となるターゲット移動体の一部又は全部が他の移動体により隠れることで、ターゲット移動体が未検出となる場合がある。ターゲット移動体が未検出となっている間にターゲット移動体と類似する別の移動体が出現すると、この別の移動体の検出結果がターゲット移動体の過去データに対応付けられてしまう虞がある。これにより、ターゲット移動体の正確な追跡が不可能となり得る。
【0005】
本開示の課題は、ターゲット移動体をより正確に追跡可能な追跡システムを、提供することにある。本開示の別の課題は、ターゲット移動体をより正確に追跡可能な追跡装置を、提供することにある。本開示のまた別の課題は、ターゲット移動体をより正確に追跡可能な追跡方法を、提供することにある。本開示のさらに別の課題は、ターゲット移動体をより正確に追跡可能な追跡プログラムを、提供することにある。
【課題を解決するための手段】
【0006】
以下、課題を解決するための本開示の技術的手段について、説明する。尚、特許請求の範囲及び本欄に記載された括弧内の符号は、後に詳述する実施形態に記載された具体的手段との対応関係を示すものであり、本開示の技術的範囲を限定するものではない。
【0007】
本開示の第一態様は、プロセッサ(102)を有し、外界センサ系(10)にて検出されたターゲット移動体(3)を追跡する追跡システムであって、
プロセッサは、
今回サイクルにおいて検出されたターゲット移動体に関する情報である検出情報を取得することと、
前回サイクル以前に追跡したターゲット移動体に関する情報である追跡情報と、追跡情報と同一のターゲット移動体に関すると推定された検出情報と、を対応付けることと、
追跡情報を、今回サイクルにおいて対応付けられた検出情報に応じて更新することと、
追跡情報と検出情報との対応付けが誤りである可能性に関する過誤条件の成立する追跡情報が更新前の状態で複製された複製追跡情報を、追跡情報として生成することと、
を実行するように構成される。
【0008】
本開示の第二態様は、プロセッサ(102)を有し、ホスト移動体(1)に搭載可能に構成され、外界センサ系(10)にて検出されたターゲット移動体(3)を追跡する追跡装置であって、
プロセッサは、
今回サイクルにおいて検出されたターゲット移動体に関する情報である検出情報を取得することと、
前回サイクル以前に追跡したターゲット移動体に関する情報である追跡情報と、追跡情報と同一の物体に関すると推定された検出情報と、を対応付けることと、
追跡情報を、今回サイクルにおいて対応付けられた検出情報に応じて更新することと、
追跡情報と検出情報との対応付けが誤りである可能性に関する過誤条件の成立する追跡情報が更新前の状態で複製された複製追跡情報を、追跡情報として生成することと、
を実行するように構成される。
【0009】
本開示の第三態様は、外界センサ系(10)にて検出されたターゲット移動体(3)を追跡するために、プロセッサ(102)により実行される追跡方法であって、
今回サイクルにおいて検出されたターゲット移動体に関する情報である検出情報を取得することと、
前回サイクル以前に追跡したターゲット移動体に関する情報である追跡情報と、追跡情報と同一の物体に関すると推定された検出情報と、を対応付けることと、
追跡情報を、今回サイクルにおいて対応付けられた検出情報に応じて更新することと、
追跡情報と検出情報との対応付けが誤りである可能性に関する過誤条件の成立する追跡情報が更新前の状態で複製された複製追跡情報を、追跡情報として生成することと、
を含む。
【0010】
本開示の第四態様は、外界センサ系(10)にて検出されたターゲット移動体(3)を追跡するために記憶媒体(101)に記憶され、プロセッサ(102)に実行させる命令を含む追跡プログラムであって、
命令は、
今回サイクルにおいて検出されたターゲット移動体に関する情報である検出情報を取得させることと、
前回サイクル以前に追跡したターゲット移動体に関する情報である追跡情報と、追跡情報と同一の物体に関すると推定された検出情報と、を対応付けさせることと、
追跡情報を、今回サイクルにおいて対応付けられた検出情報に応じて更新させることと、
追跡情報と検出情報との対応付けが誤りである可能性に関する過誤条件の成立する追跡情報が更新前の状態で複製された複製追跡情報を、追跡情報として生成させることと、
を含む。
【0011】
これら第一~第四態様によると、追跡情報と検出情報との対応付けが誤りである可能性に関する過誤条件の成立する追跡情報が更新前の状態で複製された複製追跡情報が、追跡情報として生成される。故に、複製元の追跡情報が、それまで追跡していた本来のターゲット移動体と異なるターゲット移動体の検出情報に対応付けられて更新された場合であっても、次回サイクル以降において、更新前の状態で複製された複製追跡情報に対して、本来のターゲット移動体が対応付けられ得る。したがって、ターゲット移動体をより正確に追跡可能となり得る。
【図面の簡単な説明】
【0012】
【
図1】第一実施形態の全体構成を示すブロック図である。
【
図2】第一実施形態による追跡システムの機能構成を示すブロック図である。
【
図4】第一実施形態による追跡方法を示すフローチャートである。
【
図5】
図4におけるサブルーチン処理の詳細を示すフローチャートである。
【
図6】比較例における追跡システムの作動例を示す図である。
【
図7】比較例における類似度の算出例を示す表である。
【
図8】比較例における対応付け結果例を示す表である。
【
図9】第一実施形態における追跡システムの作動例を示す図である。
【
図10】第一実施形態における類似度の算出例を示す表である。
【
図11】第一実施形態における対応付け結果例を示す表である。
【
図12】第二実施形態による追跡方法のサブルーチン処理を示すフローチャートである。
【
図13】第三実施形態による追跡方法のサブルーチン処理を示すフローチャートである。
【
図14】第四実施形態による追跡方法を示すフローチャートである。
【
図15】
図14におけるサブルーチン処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本開示の実施形態を図面に基づき複数説明する。尚、各実施形態において対応する構成要素には同一の符号を付すことで、重複する説明を省略する場合がある。また、各実施形態において構成の一部分のみを説明している場合、当該構成の他の部分については、先行して説明した他の実施形態の構成を適用することができる。さらに、各実施形態の説明において明示している構成の組み合わせばかりではなく、特に組み合わせに支障が生じなければ、明示していなくても複数の実施形態の構成同士を部分的に組み合わせることができる。
【0014】
(第一実施形態)
図1に示す第一実施形態の追跡システム100は、ホスト移動体として
図1に示すホスト車両1の周辺の移動体としてのターゲット移動体3を追跡する。ホスト車両1を中心とする視点において、ホスト車両1は自車両(ego-vehicle)であるともいえる。ホスト車両1は、乗員の搭乗状態において走行路を走行可能な、例えば自動車等の移動体である。ホスト車両1を中心とする視点において、ターゲット移動体3は他道路ユーザであるともいえる。ターゲット移動体3は、例えば自動車、トラック、バイク、自転車、自律走行ロボット、歩行者、及び動物等のうち、少なくとも一種類を含む。
【0015】
ホスト車両1においては、運転タスクにおける乗員の手動介入度に応じてレベル分けされる、自動運転モードが与えられる。自動運転モードは、条件付運転自動化、高度運転自動化、又は完全運転自動化といった、作動時のシステムが全ての運転タスクを実行する自律走行制御により、実現されてもよい。自動運転モードは、運転支援、又は部分運転自動化といった、乗員が一部若しくは全ての運転タスクを実行する高度運転支援制御により、実現されてもよい。自動運転モードは、それら自律走行制御と高度運転支援制御とのいずれか一方、組み合わせ、又は切り替えにより実現されてもよい。
【0016】
ホスト車両1には、
図1に示す外界センサ系10が搭載される。外界センサ系10は、ホスト車両1の周辺環境となる外界から、追跡システム100により利用可能な外界情報を取得する。外界センサ系10は、ホスト車両1の外界に存在する物標を検知することで、外界情報を取得してもよい。物標検知タイプの外界センサ系10は、例えばカメラ、LiDAR(Light Detection and Ranging / Laser Imaging Detection and Ranging)、レーダ、及びソナー等のうち、少なくとも一種類である。
【0017】
追跡システム100は、例えばLAN(Local Area Network)回線、ワイヤハーネス、内部バス、及び無線通信回線等のうち、少なくとも一種類を介して外界センサ系10に接続されている。追跡システム100は、少なくとも一つの専用コンピュータを含んで構成されている。
【0018】
追跡システム100を構成する専用コンピュータは、ホスト車両1の運転を制御する、運転制御ECU(Electronic Control Unit)であってもよい。追跡システム100を構成する専用コンピュータは、ホスト車両1の走行経路をナビゲートする、ナビゲーションECUであってもよい。追跡システム100を構成する専用コンピュータは、ホスト車両1の自己状態量を推定する、ロケータECUであってもよい。追跡システム100を構成する専用コンピュータは、ホスト車両1の走行アクチュエータを制御する、アクチュエータECUであってもよい。追跡システム100を構成する専用コンピュータは、ホスト車両1における情報提示を制御する、HCU(HMI(Human Machine Interface) Control Unit)であってもよい。追跡システム100を構成する専用コンピュータは、例えばホスト車両1との間で通信可能な外部センタ又はモバイル端末等を構成する、ホスト車両1以外のコンピュータであってもよい。
【0019】
追跡システム100を構成する専用コンピュータは、ホスト車両1の運転制御を統合する、統合ECU(Electronic Control Unit)であってもよい。追跡システム100を構成する専用コンピュータは、ホスト車両1の運転制御における運転タスクを判断する、判断ECUであってもよい。追跡システム100を構成する専用コンピュータは、ホスト車両1の運転制御を監視する、監視ECUであってもよい。追跡システム100を構成する専用コンピュータは、ホスト車両1の運転制御を評価する、評価ECUであってもよい。
【0020】
追跡システム100を構成する専用コンピュータは、メモリ101及びプロセッサ102を、少なくとも一つずつ有している。メモリ101は、コンピュータにより読み取り可能なプログラム及びデータ等を非一時的に記憶する、例えば半導体メモリ、磁気媒体、及び光学媒体等のうち、少なくとも一種類の非遷移的実体的記憶媒体(non-transitory tangible storage medium)である。ここで記憶とは、ホスト車両1の起動オフによってもデータが保持される蓄積であってもよいし、ホスト車両1の起動オフによりデータが消去される一時的な格納であってもよい。プロセッサ102は、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、RISC(Reduced Instruction Set Computer)-CPU、DFP(Data Flow Processor)、及びGSP(Graph Streaming Processor)等のうち、少なくとも一種類をコアとして含んでいる。
【0021】
追跡システム100においてプロセッサ102は、ホスト車両1の周辺のターゲット移動体3を追跡するためにメモリ101に記憶された、追跡プログラムに含まれる複数の命令を実行する。これにより追跡システム100は、ホスト車両1の周辺のターゲット移動体3を追跡するための機能ブロックを、複数構築する。追跡システム100において構築される複数の機能ブロックには、
図2に示すように検出ブロック110、対応付けブロック120、トラック管理ブロック130、及び更新ブロック140が含まれている。
【0022】
検出ブロック110は、外界センサ系10による外界情報からターゲット移動体3を検出する。検出ブロック110は、この検出処理を追跡サイクルごとに実行することで、ターゲット移動体3に関する情報である検出情報を取得する。例えば、検出情報は、ターゲット移動体3の状態量及び特徴量を含んでいる。
【0023】
対応付けブロック120は、追跡サイクルの前回サイクル以前に追跡したターゲット移動体3に関する情報であるトラックと、当該トラックと同一のターゲット移動体3に関すると推定された検出情報と、を対応付ける。対応付けブロック120は、後述の類似度に基づいて、対応付けを実行する。
【0024】
ここで、トラックは、前回サイクル以前に追跡したターゲット移動体3に関する情報である。例えば、トラックは、ターゲット移動体3に関する状態量及び特徴量を、少なくとも含んでいる。この状態量及び特徴量は、少なくとも追跡中状態であった期間における最後のサイクルでの状態量及び特徴量である。トラックは、当該サイクル以前における時系列の状態量及び特徴量を、含んでいてもよい。トラックには、他のトラックとの識別のための識別情報として、IDが個別に付与されている。トラックは、「追跡情報」の一例である。
【0025】
以上のトラックについて、トラック管理ブロック130は、追跡処理に関連した状態を、設定する。具体的には、トラック管理ブロック130は、
図3に示すように、トラックに対して、追跡中状態、ロスト状態及び削除状態のいずれかの状態を設定する。追跡中状態は、少なくとも前回サイクルにて対応付けられる検出情報が存在し、更新が実行されたトラック、すなわち対応するターゲット移動体3の追跡が継続中のトラックに対して設定される。ロスト状態は、少なくとも前回サイクルにて対応付けられる検出情報が存在せず、更新が保留されたトラック、すなわち対応するターゲット移動体3の追跡が中断されたトラックに対して設定される。削除状態は、ロスト状態が所定のサイクル数継続されたトラック、すなわち対応するターゲット移動体3が外界センサ系10の検出範囲から完全に消失したとみなされるトラックに対して設定される。尚、削除状態のトラックは、そのデータ自体がトラックを格納するメモリ101等の記憶媒体から削除される。すなわち、トラックに対して削除状態を設定する処理は、当該トラックを削除する処理と実質同等である。
【0026】
管理ブロック130は、トラックと検出情報との対応付けが誤りである可能性に関する過誤条件の成立するトラックを、更新(後述)前の状態で複製された複製トラックを、生成する。管理ブロック130は、複製トラックを、ロスト状態にて生成する。管理ブロック130は、以降のサイクルで複製トラックと対応付けられる検出情報があった場合には、複製トラックにて当該検出情報に対応するターゲット移動体3の追跡を再開し、複製元のトラックには別のIDを付与する。
【0027】
更新ブロック140は、検出情報が対応付けられたトラックについて、検出情報に応じてトラックを更新する。具体的には、更新ブロック140は、トラックの状態量及び特徴量を、更新する。
【0028】
ここまで説明したブロック110,120,130,140の共同により、追跡システム100がターゲット移動体3を追跡する追跡方法のフロー(以下、追跡フローという)を、
図4,5に従って以下に説明する。本処理フローは、ホスト車両1の起動中に繰り返し実行される。尚、本処理フローにおける各「S」は、追跡プログラムに含まれた複数命令によって実行される複数ステップを、それぞれ意味している。
【0029】
まず、
図4のS100では、検出ブロック110が、外界情報からターゲット移動体3を検出する。検出ブロック110は、カメラの画像データからターゲット移動体3を検出してもよい。又は、検出ブロック110は、LiDARの点群データ又はレーダの反射波データからターゲット移動体3を検出してもよい。又は、検出ブロック110は、上述のセンシングデバイスのうち少なくとも二種類からのフュージョンデータからターゲット移動体3を検出してもよい。検出ブロック110は、こうした外界情報の入力に対してターゲット移動体3の検出結果を出力する物体検出を実行するように学習されたCNN(Convolutional Neural Network)等の学習済みモデルに対して、外界情報を入力することで、ターゲット移動体3を検出する。ターゲット移動体3は、例えばバウンディングボックス等に基づき、位置、形状等の状態量(検出状態量)が検出される。
【0030】
次に、S150では、検出ブロック110が、検出されたターゲット移動体3について、特徴量を抽出する。画像データの場合、検出ブロック110は、SIFT(Scale-Invariant Feature Transform)、HOG(Histograms of Oriented Gradients)等の手法により、特徴量を抽出する。ここでの特徴量は、複数の数値の組み合わせからなる多次元の量である。検出ブロック110は、ターゲット移動体3についての外界情報の入力に対して特徴量を出力するように学習されたCNN等の学習済みモデルに対して、外界情報を入力することで、特徴量を抽出する。
【0031】
以上のステップにより、検出ブロック110は、今回サイクルにおけるターゲット移動体3に関する情報である検出情報を取得する。上述のように、検出情報は、検出状態量及び特徴量を少なくとも含んでいる。
【0032】
続くS200では、対応付けブロック120が、各トラックに関して、今回サイクルでの状態量を予測する。
【0033】
状態量は、例えば位置及び形状を少なくとも含んでいる。この予測される状態量を、以下において予測状態量と表記する場合がある。例えば、対応付けブロック120は、カルマンフィルタの予測ステップを実行することにより予測状態量を算出する。
【0034】
そして、S250では、対応付けブロック120が、トラックと、当該トラックと同一の物体に関すると推定された検出情報と、を対応付ける。対応付けブロック120は、検出情報とトラックとの類似度に基づいて、対応付けを実行する。例えば、対応付けブロック120は、検出情報及びトラックそれぞれの状態量及び特徴量に基づいて、類似度を算出する。例えば、類似度は、検出情報とトラックとの状態量同士の差分や特徴量の同士の差分に相関する値である。そして、対応付けブロック120は、類似度が対応付け範囲に到達する検出情報及びトラックの組み合わせを、対応付ける。対応付け範囲は、例えば、類似度が所定の第一閾値以上又は第一閾値よりも大きい範囲とされる。
【0035】
ただし、対応付けブロック120は、トラックが後述の複製トラックである場合、対応付け範囲を通常のトラックの場合の範囲から変更する。具体的には、対応付けブロック120は、複製トラックが生成されたサイクルにおいて対応付けられた複製元のトラックと検出情報との類似度よりも、複製トラックと検出情報との類似度が大きい場合に、当該複製トラック及び当該検出情報を対応付ける。換言すれば、対応付けブロック120は、トラックが複製トラックである場合、対応付け範囲を、複製トラックが生成されたサイクルにおいて対応付けられた複製元のトラックと検出情報との類似度よりも高くする。
【0036】
トラック及び検出情報が複数存在する場合、対応付けブロック120は、トラックと検出情報との全ての組み合わせについて類似度を算出する。対応付けブロック120は、類似度が対応付け範囲に到達する組み合わせの中から、各類似度の総和が最大となるような組み合わせのパターンを選択し、トラックと検出情報とを対応付ける。
【0037】
続くS300では、トラック状態更新処理が実行される。トラック状態更新処理の詳細について、
図5を参照して説明する。
【0038】
まず、S301では、トラック管理ブロック130が、状態更新処理未完了のトラックのうちの任意のトラックについて、状態を判定する。具体的には、トラック管理ブロック130は、対象のトラックが追跡中(tracked)状態か、ロスト(lost)状態であるかを判定する。追跡中状態であると判定された場合、本フローがS302へと移行する。
【0039】
S302では、トラック管理ブロック130が、追跡中状態のトラックに対して対応付けられた検出情報があるか否かを判定する。対応付けられた検出情報があると判定されると、本フローがS303へと移行する。
【0040】
S303では、トラック管理ブロック130が、追跡中状態のトラックと、当該トラックに対応付けられた検出情報との対応付けが誤りである可能性に関する過誤条件が成立するか否かを判定する。過誤条件は、トラックと検出情報との対応付けが誤りである可能性が許容できないレベルにある場合に成立する条件である。
【0041】
具体的には、トラック管理ブロック130は、トラックと、当該トラックに対応付けられた検出情報との類似度が、過誤範囲内であるか否かを判定する。過誤範囲は、その上限が対応付け範囲の下限よりも高く規定された類似度の範囲である。具体的には、過誤範囲は、第一閾値よりも高い第二閾値以下又は当該第二閾値よりも低い類似度の範囲である。類似度が過誤範囲内であると判定されることは、過誤条件が成立すると判定されることに相当する。
【0042】
類似度が過誤範囲内であると判定された場合には、本フローがS304へと進む。S304では、トラック管理ブロック130が、過誤条件の成立する当該トラックを複製したトラックである複製トラックを、生成する。この複製トラックは、後述する特徴量の更新前の状態のトラックから複製される。このとき、トラック管理ブロック130は、複製トラックの状態を、ロスト状態と規定する。すなわち、トラック管理ブロック130は、複製トラックを生成したサイクルでは、当該複製トラックの検出情報との対応付けを実行しない。これにより、複製トラックは、生成されたサイクルにおいては後述のS314,S315での状態量、特徴量の更新が保留されることになる。複製トラックは、「複製追跡情報」の一例である。
【0043】
尚、以下において、この複製トラックに対する複製元のトラックを、オリジナルトラックと表記する場合がある。S304のステップの後に、本フローは後述のS314へと移行する。
【0044】
一方で、S303にて類似度が過誤範囲外であると判定された場合には、本フローは、S304の処理をスキップされた状態でS314へと進む。換言すれば、類似度が過誤範囲外であると判定された場合には、複製トラックの生成処理は中断される。
【0045】
尚、S302にて追跡中状態のトラックに対して対応付けられた検出情報が無いと判定された場合、本フローはS305へと移行する。S305では、トラック管理ブロック130が、当該トラックの状態を、追跡中状態からロスト状態へと変更する。S305の処理の後、本サブルーチン処理は終了し、
図4のフローはS350へと移行する。
【0046】
また、S301にてトラックがロスト状態であると判定された場合には、本フローがS306へと移行する。S306では、S302と同様に、トラック管理ブロック130が、追跡中状態のトラックに対して対応付けられた検出情報があるか否かを判定する。対応付けられた検出情報があると判定されると、本フローがS307へと移行する。
【0047】
S307では、トラック管理ブロック130が、対応付けられた検出情報があると判定されたトラックが、前回サイクル以前に生成された複製トラックであるか否かを判定する。複製トラックであると判定されると、本フローがS308へと移行する。
【0048】
S308では、トラック管理ブロック130が、ロスト状態の複製トラックについて、状態を追跡中状態に変更する。加えて、トラック管理ブロック130は、当該複製トラックの複製元であるオリジナルトラックについて、前回サイクルまで付与していたIDを、新規IDへと変更する。換言すれば、トラック管理ブロック130は、オリジナルトラックが、それまでとは異なるターゲット移動体3に関する情報のものであると定義する。S308の処理の後、本フローは、後述のS314へと移行する。
【0049】
一方で、S307にて対応付けられた検出情報があると判定されたトラックが複製トラックではないと判定された場合には、本フローがS309へと移行する。S309では、トラック管理ブロック130が、当該トラックの状態をロスト状態から追跡中状態へと変更する。
【0050】
続いて、S310では、トラック管理ブロック130が、当該トラックについて、対応付けられた検出情報との類似度が、過誤範囲内であるか否かを判定する。過誤範囲内であると判定された場合には、本フローがS311へと移行する。S311では、トラック管理ブロック130が、S304と同様に、当該トラックの複製トラックをロスト状態にて生成する。
【0051】
また、S306にて対応付けられた検出情報がないと判定された場合、本フローはS312へと移行する。S312は、トラック管理ブロック130が、対応付けられた検出情報のないトラックについて、ロスト状態と規定された期間であるロスト期間が、許容期間外であるか否かを判定する。許容期間は、例えば、ロスト状態となってから所定のサイクル数が経過する期間とされる。
【0052】
S312にてロスト期間が許容期間外であると判定されると、本フローがS313へと移行する。S313では、トラック管理ブロック130が、当該トラックの状態をロスト状態から削除状態へと変更する。換言すれば、トラック管理ブロック130は、ロスト状態で許容期間経過したトラックを削除する。S313の処理の後、本サブルーチン処理は終了し、
図4のフローはS350へと移行する。又、S312にて所定期間内であると判定されると、S313の処理はスキップされた状態で、本サブルーチンの処理が終了する。
【0053】
S303での否定判定処理、S304の処理、S308の処理、S311の処理、又はS310での否定判定処理の後、本フローはS314へと移行する。S314では、更新ブロック140が、対応付けられた検出情報に基づいてトラックの状態量を更新する。具体的には、更新ブロック140は、トラックの予測状態量と、当該トラックに対応付けられた検出情報による検出状態量と、に基づいて、今回サイクルでの状態量(推定状態量)を推定する。具体的には、更新ブロック140は、カルマンフィルタのフィルタリングステップを実行することにより、推定状態量を推定する。更新ブロック140は、推定状態量を今回サイクルにおけるトラックの状態量とする。
【0054】
続くS315では、更新ブロック140が、対応付けられた検出情報に基づいてトラックの特徴量を更新する。更新ブロック140は、前回サイクルでのトラックの特徴量を、S150にて取得された検出情報の特徴量で、規定の更新率にて更新する。
【0055】
さらに、S350では、トラック管理ブロック130が、全トラックについてトラック状態更新処理が完了したか否かを判定する。全トラックについてトラック状態更新処理が完了していないと判定されると、処理未完了のトラックについて、S300の処理が実行される。一方で、全トラックについてトラック状態更新処理が完了したと判定されると、本フローがS400へと移行する。S400では、トラック管理ブロック130が、既存のトラックと対応付けされなかった検出情報に対応する新規トラックを生成する。
【0056】
次に、比較例の追跡処理による作動例と、本実施形態の追跡処理による作動例との比較を、
図6~11を参照して説明する。以下においては、時刻T1~T4にてターゲット移動体3として複数の人物を追跡する例を説明する。具体的には、
図6,9に示すように、時刻T1は、人物A,Bが検出されるシーンである。時刻T2は、人物Aが人物Bの背後に隠れ、人物Bのみが検出されるシーンである。時刻T3は、人物Aが人物Bに隠れた状態で、時刻T1にて人物Aが存在していた場所付近に新たな人物Cが検出されるシーンである。時刻T4は、人物Aが人物Bの背後から現れ検出可能となり、人物A,B,C全員が検出されるシーンである。尚、時刻T1以前から、人物Aをトラックα、人物Bをトラックβに対応付けて追跡中であったとする。又、各作動例において、対応付け範囲は、類似度が0.5以上の範囲とされ、本実施形態の作動例において、過誤範囲は、類似度が0.5以上0.6未満の範囲とされる。
【0057】
まず、比較例の追跡処理による追跡例について説明する。この比較例の追跡処理では、対応付けられたトラック及び検出情報の類似度が過誤範囲内であっても複製トラックは生成されないものとする。
【0058】
時刻T1では、各人物の検出情報と各トラックの組み合わせについて、類似度が
図7の一番上の表に示すように算出される。この結果、類似度が対応付け範囲に到達しており、且つその総和が最大となるように、対応付けが実行され、トラックαに人物Aの検出情報が、トラックβに人物Bの検出情報が対応付けられる。トラックα及びトラックβは、それぞれ対応付けられた検出情報に応じて更新される。
【0059】
時刻T2では、人物Bの検出情報が、トラックαよりも類似度が大きいトラックβに対応付けられる。人物Aが未検出であり、トラックαに対応付く検出情報が無いためトラックαはロスト状態に規定される。
【0060】
時刻T3では、人物Aが未検出であり、且つトラックαと人物Cとの類似度が0.5以上となる。したがって、類似度の総和が最大になるように対応付けられた結果、トラックαに人物Cが、トラックβに人物Bが対応付けられる。この場合、トラックαは、人物Cの特徴量にて更新される。したがって、トラックαは、人物Cの情報を含む状態となる。
【0061】
時刻T4では、人物Aが再度検出される状態となるが、時刻T3での対応付け結果に伴い、トラックαに人物Cの情報が含まれるようになり、トラックαとの類似度は、人物Aよりも人物Cの方が高くなっている。したがって、類似度の総和が最大になるように対応付けられた結果、トラックαには人物Cが、トラックβには人物Bが対応付けられる。人物Aには対応付けられるトラックが無いため、新規に生成されたトラックγが対応付けられる。
【0062】
以上のように、比較例の追跡処理では、
図6及び
図8に示すように、時刻T3にて人物Aが未検出となっている間に人物Cが出現することにより、時刻T3にてトラックαが本来対応付けられるべき人物Aとは異なる人物Cの検出情報と対応付けられる。そして、時刻T4でも、人物Aが再検出された際に本来人物Aの検出情報と対応付けられるべきトラックαが、人物Cの検出情報と対応付けられる。
【0063】
次に、本実施形態の追跡処理による追跡例について説明する。時刻T1及び時刻T2での処理は、比較例のものと実質同じである。
【0064】
時刻T3では、トラックαに人物Cが、トラックβに人物Bが対応付けられる。ただし、トラックαと人物Cとの類似度は、過誤範囲内であるため、トラックαがロスト状態で複製される。
【0065】
時刻T4では、類似度の総和が最大になるように対応付けられた結果、複製トラックαと人物Aとの類似度が時刻T3におけるトラックαと人物Cとの類似度よりも大きいため、複製トラックαに人物Aが対応付けられる(
図10参照)。オリジナルトラックαは、IDを新規IDに変更される。これにより、オリジナルトラックαは、新規のトラックγへと変更される。
【0066】
すなわち、
図9及び
図11に示すように、本実施形態の追跡処理では、比較例と同様に時刻T3にてトラックαが本来対応付けられるべき人物Aとは異なる人物Cの検出情報と対応付けられる。しかし、
図11に示すように、本実施形態の追跡処理では、複製された方のトラックαが、時刻T4にて正しい対応付け先である人物Aの検出情報に再び対応付けられ得る。
【0067】
以上の第一実施形態によれば、トラックと検出情報との対応付けが誤りである可能性に関する過誤条件の成立するトラックが更新前の状態で複製された複製トラックが、トラックとして生成される。故に、複製元のトラックが、それまで追跡していた本来のターゲット移動体3と異なるターゲット移動体3の検出情報に対応付けられて更新された場合であっても、次回サイクル以降において、更新前の状態で複製された複製トラックに対して、本来のターゲット移動体3が対応付けられ得る。したがって、ターゲット移動体3をより正確に追跡可能となり得る。
【0068】
(第二実施形態)
図12に示すように第二実施形態は、第一実施形態の変形例である。
【0069】
第二実施形態において、トラック管理ブロック130は、過誤条件に、前回サイクルにて検出情報と対応付けられなかったトラックが、今回サイクルにて検出情報と対応付けられたことを含む。この場合、
図12に示すように、S309にてトラックの状態がロスト状態から追跡中状態へと変更されると、本フローがS311へと進む。すなわち、第一実施形態におけるS310の処理はスキップされ、トラックと検出情報との類似度に相関なくトラックが複製される。
【0070】
以上の第二実施形態によれば、前回サイクルにて検出情報と対応付けされなかったトラックが、今回サイクルにて検出情報と対応付けられた場合に、複製トラックが生成される。故に、本来のターゲット移動体3とは異なるターゲット移動体3の検出情報が対応付けられる可能性の比較的高いロスト状態からの復帰時に、より確実にターゲット移動体3を追跡可能となり得る。
【0071】
(第三実施形態)
図13に示すように第三実施形態は、第一実施形態の変形例である。
【0072】
第三実施形態において、トラック管理ブロック130は、過誤条件に、特定サイクルにて対応付けられた検出情報との類似度の、特定サイクル以降における特定サイクルからの低下度合が許容低下範囲外となる状態が、所定サイクル数継続することを含む。許容低下範囲は、類似度の低下量の大きさが所定の閾値以上又は当該閾値よりも大きい範囲である。例えば、トラック管理ブロック130は、今回サイクルにおける類似度の、前回サイクルにおける類似度からの低下量が、許容低下範囲外となった場合に、過誤条件の成立を判断する。これは、上述の所定サイクル数が1サイクルである場合に相当する。
【0073】
この場合、図に示すように、S303a及びS310aにて、トラック管理ブロック130が、今回サイクルにおける類似度の、前回サイクルにおける類似度からの低下量が、許容低下範囲外となるか否かを判定する。
【0074】
以上の第三実施形態によれば、前回サイクル以降で類似度が低下したトラックについて、複製トラックが生成され得る。故に、より確実にターゲット移動体3を追跡可能となり得る。
【0075】
(第四実施形態)
図14、15に示すように第四実施形態は、第一実施形態の変形例である。
【0076】
第四実施形態において、対応付けブロック120は、検出情報に対応するターゲット移動体3と他のターゲット移動体3との重複度合を取得する。例えば、対応付けブロック120は、所定の画像認識処理に基づいて重複度合を算出すればよい。
【0077】
そして、対応付けブロック120は、他の物体との重複度合が許容重複範囲外である物体に関する検出情報と、トラックと、の対応付けを禁止する。許容重複範囲は、例えば重複度合が所定の閾値以上又は当該閾値を上回る範囲とされる。
【0078】
又、更新ブロック140は、検出情報に対応するターゲット移動体3と他のターゲット移動体3との重複度合に応じた更新態様にて、トラックを更新する。重複度合に応じた更新態様の一例として、更新ブロック140は、重複度合に相関する観測ノイズ量に応じて、トラックの状態量を算出する。具体的には、更新ブロック140は、重複度合が大きいほど、カルマンフィルタのフィルタリングステップにて推定状態量を算出する際の観測ノイズ量を大きく設定する。
【0079】
又、重複度合に応じた更新態様の別の一例として、更新ブロック140は、当該重複度合に相関する更新率にて、トラックの特徴量を更新する。具体的には、更新ブロック140は、重複度合が大きいほど、トラックにおける特徴量の更新率を小さくする。
【0080】
この場合、
図14に示すように、S200の後に本フローがS260へと移行する。S260では、対応付けブロック120は、類似度及び重複度合を算出し、類似度及び重複度合に基づいて、対応付けを実行する。
【0081】
そして、
図15に示すように、S314の処理に代えてS316の処理を実行する。S316では、更新ブロック140が、重複度合に相関する観測ノイズ量にて推定状態量を算出することで、トラックの状態量を更新する。S316に続くS317では、更新ブロック140が、重複度合に相関する更新率にて特徴量を更新する。
【0082】
以上の第四実施形態によれば、検出情報に対応するターゲット移動体3と他のターゲット移動体3との重複度合に応じた更新態様にて、トラックが更新される。故に、トラックに他のターゲット移動体3の情報が含まれることを、抑制し得る。
【0083】
又、第四実施形態によれば、他のターゲット移動体3との重複度合が許容重複範囲外であるターゲット移動体3に関する検出情報とトラックとの対応付けが禁止される。故に、他のターゲット移動体3の情報が混ざり易い検出情報との対応付けが、回避され得る。
【0084】
(他の実施形態)
以上、複数の実施形態について説明したが、本開示は、それらの実施形態に限定して解釈されるものではなく、本開示の要旨を逸脱しない範囲内において種々の実施形態及び組み合わせに適用することができる。
【0085】
変形例において追跡システム100を構成する専用コンピュータは、デジタル回路及びアナログ回路のうち、少なくとも一方をプロセッサとして有していてもよい。ここでデジタル回路とは、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、SOC(System on a Chip)、PGA(Programmable Gate Array)、及びCPLD(Complex Programmable Logic Device)等のうち、少なくとも一種類である。またこうしたデジタル回路は、プログラムを記憶したメモリを、有していてもよい。
【0086】
変形例において追跡システム100の適用されるホスト移動体は、例えば自律走行又はリモート走行により荷物搬送又は情報収集等の可能な自律走行ロボットであってもよい。ここまでの説明形態の他に上述の実施形態及び変形例は、ホスト移動体に搭載可能に構成されてプロセッサ102及びメモリ101を少なくとも一つずつ有する制御装置である追跡装置として、処理回路(例えば処理ECU等)又は半導体装置(例えば半導体チップ等)の形態で実施されてもよい。
【符号の説明】
【0087】
1:ホスト車両(ホスト移動体)、3:ターゲット移動体、10:外界センサ系、100:追跡システム、101:メモリ(記憶媒体)、102:プロセッサ