(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】複数物体追跡装置、方法及びプログラム
(51)【国際特許分類】
G06F 17/16 20060101AFI20231219BHJP
G01S 13/66 20060101ALI20231219BHJP
G06N 3/088 20230101ALI20231219BHJP
G06N 20/00 20190101ALI20231219BHJP
【FI】
G06F17/16 K
G01S13/66
G06N3/088
G06N20/00 160
(21)【出願番号】P 2019217296
(22)【出願日】2019-11-29
【審査請求日】2022-10-05
(31)【優先権主張番号】P 2019106258
(32)【優先日】2019-06-06
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(74)【代理人】
【識別番号】100113549
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】100115808
【氏名又は名称】加藤 真司
(74)【代理人】
【識別番号】230121430
【氏名又は名称】安井 友章
(72)【発明者】
【氏名】河内 祐太
(72)【発明者】
【氏名】石川 康太
【審査官】坂東 博司
(56)【参考文献】
【文献】米国特許出願公開第2016/0239982(US,A1)
【文献】加藤 直樹 Naoki KATO,追跡軌跡の再同定を用いたオンライン複数物体追跡 Online Multi-Object Tracking with Tracklet Re-Identification,画像電子学会誌 Vol.47 No.4 2018 [CD-ROM] The Journal of the Institute of Image Electronics Engineers of Japan,日本,一般社団法人画像電子学会,2018年10月30日,第47巻 第4号,391~400,【ISSN】2186-716X
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/16
G01S 13/66
G06N 3/088
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
微分可能な関数により形成され観測値と複数のトラッカとを対応付ける連続緩和されたアサインメント行列を生成するアサインメントモデル及び微分可能な関数により形成され複数のトラッカの運動状態を示す運動モデルを有し、観測値から再構成値を生成するモデル部と、
少なくとも再構成値と元の観測値との損失関数を回帰誤差関数として前記アサインメントモデル及び前記運動モデルの学習を行う学習部と、
を具備する複数物体追跡装置。
【請求項2】
前記モデル部は、前記アサインメントモデルにより生成されたアサインメント行列により観測値を並べ替えて前記運動モデルに入力する並替処理部をさらに有する、
請求項1に記載の複数物体追跡装置。
【請求項3】
前記モデル部は、微分可能な関数により形成され複数のトラッカの活動及び休眠状態を示す連続緩和されたトラッカ活動状態を生成するトラッカ活動モデルをさらに有する、
請求項1に記載の複数物体追跡装置。
【請求項4】
前記モデル部は、観測値について観測方向に拡張し、アサインメント行列について行方向に拡張して観測点の欠落を示す列を導入し又は列方向に拡張してクラッタの存在を示す行を導入する、
請求項1に記載の複数物体追跡装置。
【請求項5】
前記アサインメントモデルは、アサインメント行列の生成において、アサインメント行列について置換行列への誘導処理を行う、
請求項1乃至3のいずれか1項に記載の複数物体追跡装置。
【請求項6】
前記学習部は、アサインメント行列が置換行列から遠ざかるのに応じて損失が増大する損失関数を回帰誤差関数に追加して学習を行う、
請求項1乃至3のいずれか1項に記載の複数物体追跡装置。
【請求項7】
前記学習部は、アサインメント行列が離散変数に一定程度以上近づくのに応じて損失が増大する損失関数を回帰誤差関数に追加して学習を行う、
請求項1乃至4のいずれか1項に記載の複数物体追跡装置。
【請求項8】
前記アサインメントモデルは、アサインメント行列の生成において、各行について観測点の欠落を示す拡張された列の要素を除いた行ベクトルのLpノルムを単位値から減算した値を当該拡張された列の要素の値とする処理又は各列についてクラッタの存在を示す拡張された行の要素を除いた列ベクトルのLpノルムを単位値から減算した値を当該拡張された行の要素の値とする処理を行う、
請求項4に記載の複数物体追跡装置。
【請求項9】
前記アサインメントモデルは、アサインメント行列の生成において、観測点の欠落を示す拡張された列を除く各列について列内の各要素を当該各要素の総和で除算する処理と、クラッタの存在を示す拡張された行を除く各行について行内の各要素を当該各要素の総和で除算する処理と、を繰り返す処理を行う、
請求項4に記載の複数物体追跡装置。
【請求項10】
前記学習部は、正解アサインメント行列と生成されたアサインメント行列との内の一方の行列と、他方の行列において要素ベクトルを並べ替えた各並替行列と、の各損失関数の内、最小となる損失関数を全体の損失関数として回帰誤差関数に追加して学習を行う、
請求項1に記載の複数物体追跡装置。
【請求項11】
微分可能な関数により形成され観測値と複数のトラッカとを対応付ける連続緩和されたアサインメント行列を生成するアサインメントモデル及び微分可能な関数により形成され複数のトラッカの運動状態を示す運動モデルを用い、観測値から再構成値を生成するステップと、
少なくとも再構成値と元の観測値との損失関数を回帰誤差関数として前記アサインメントモデル及び前記運動モデルの学習を行うステップと、
を具備する複数物体追跡方法。
【請求項12】
コンピュータに、
微分可能な関数により形成され観測値と複数のトラッカとを対応付ける連続緩和されたアサインメント行列を生成するアサインメントモデル及び微分可能な関数により形成され複数のトラッカの運動状態を示す運動モデルを有し、観測値から再構成値を生成するモデル機能と、
少なくとも再構成値と元の観測値との損失関数を回帰誤差関数として前記アサインメントモデル及び前記運動モデルの学習を行う学習機能と、
を実現させる複数物体追跡プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数物体についてのトラッカを推定する複数物体追跡装置、方法及びプログラムに関する。
【背景技術】
【0002】
従来、車載レーダ信号処理等において、複数物体の位置、速度等を示し、時刻方向及び観測方向に可変長であり、所定の時刻における観測順が不明な観測点群に対して、複数物体についての移動の軌跡であるトラッカを推定する複数物体追跡が行われている。
【0003】
このような複数物体追跡の解法として、確率的生成モデルに対して変分ベイズを適用する解法が用いられている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】Turner, Ryan D., Steven Bottone, and Bhargav Avasarala. "A complete variational tracker." Advances in Neural Information Processing Systems. 2014.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、複数物体追跡の解法として、確率的生成モデルに対して変分ベイズを適用する解法を用いる場合には、変分事後同時分布を平均場近似により分解した後の分布形状については、事後分布解析解が容易に求まる指数型分布族等の分布形状に限定されるため、モデル記述力が制約されてしまう。このようなモデル記述力の制約により、特に物体が複雑な運動を行う場合や複数物体が複雑な交差を行う場合について、複数物体についての追跡性能が低下してしまう。
【0006】
本発明は上記課題に鑑みてなされたものであり、その目的は、複数物体についての追跡性能が向上された複数物体追跡装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の第1実施態様は、微分可能な関数により形成され観測値と複数のトラッカとを対応付ける連続緩和されたアサインメント行列を生成するアサインメントモデル及び微分可能な関数により形成され複数のトラッカの運動状態を示す運動モデルを有し、観測値から再構成値を生成するモデル部と、少なくとも再構成値と元の観測値との損失関数を回帰誤差関数として前記アサインメントモデル及び前記運動モデルの学習を行う学習部と、を具備する複数物体追跡装置である。
【0008】
本実施態様では、離散変数であるアサインメント行列が連続緩和されているため、アサインメントモデルにも勾配が通過し、アサインメントモデルと運動モデルとについて一括して学習を行うことが可能である。そして、アサインメントモデル及び運動モデルを定義することなく、観測値から適切なアサインメントモデル及び運動モデルを獲得することができ、物体が複雑な運動を行う場合や複数物体が複雑な交差を行う場合であっても、複数物体についての追跡を正確に行うことが可能となっている。
【0009】
本発明の第2実施態様は、前記モデル部は、前記アサインメントモデルにより生成されたアサインメント行列により観測値を並べ替えて前記運動モデルに入力する並替処理部をさらに有する、第1実施態様の複数物体追跡装置である。
【0010】
本実施態様では、アサインメントモデルにより生成されたアサインメント行列により観測値を並べ替えて運動モデルに入力しているため、運動モデルについての学習を単純化することが可能となっている。また、アサインメントモデル及び運動モデルの学習の途中において推定されるトラッカ運動状態については、真の複数のトラッカ運動状態を線形結合したものとなり、真の複数のトラッカの中間を通過するトラッカを推定することになるため、アサインメントモデル及び運動モデルについては合理的な挙動を示すことになる。
【0011】
本発明の第3実施態様は、前記モデル部は、微分可能な関数により形成され複数のトラッカの活動及び休眠状態を示す連続緩和されたトラッカ活動状態を生成するトラッカ活動モデルをさらに有する、第1実施態様の複数物体追跡装置である。
【0012】
本実施態様では、微分可能な関数により形成され複数のトラッカの活動及び休眠状態を示す連続緩和されたトラッカ活動状態を生成するトラッカ活動モデルを用いているため、観測点群が観測方向に可変長であり、観測点が欠落する場合であっても、複数物体についての追跡を正確に行うことが可能となっている。
【0013】
本発明の第4実施態様は、前記モデル部は、観測値について観測方向に拡張し、アサインメント行列について行方向に拡張して観測点の欠落を示す列を導入し又は列方向に拡張してクラッタの存在を示す行を導入する、第1実施態様の複数物体追跡装置である。
【0014】
本実施態様では、観測値について観測方向に拡張し、アサインメント行列について行方向に拡張して観測点の欠落を示す列を導入し又は列方向に拡張してクラッタの存在を示す行を導入しているため、観測点群が観測方向に可変長であり、観測点が欠落する又はクラッタが存在する場合であっても、複数物体についての追跡を正確に行うことが可能となっている。
【0015】
本発明の第5実施態様は、前記アサインメントモデルは、アサインメント行列の生成において、アサインメント行列について置換行列への誘導処理を行う、第1乃至第3のいずれか1実施態様の複数物体追跡装置である。
【0016】
本実施態様では、アサインメント行列については置換行列となるべきところ、アサインメント行列の生成において、アサインメント行列について置換行列への誘導処理を行っているため、アサイメントモデルの学習を簡易化することが可能となっている。
【0017】
本発明の第6実施態様は、前記学習部は、アサインメント行列が置換行列から遠ざかるのに応じて損失が増大する損失関数を回帰誤差関数に追加して学習を行う、第1乃至第3のいずれか1実施態様の複数物体追跡装置である。
【0018】
本実施態様では、アサインメント行列については置換行列となるべきところ、アサインメント行列が置換行列から遠ざかるのに応じて損失が増大する損失関数を回帰誤差関数に追加して学習を行っているため、アサイメントモデルの学習を高速に行うことが可能となっている。
【0019】
本発明の第7実施態様は、前記学習部は、アサインメント行列が離散変数に一定程度以上近づくのに応じて損失が増大する損失関数を回帰誤差関数に追加して学習を行う、第1乃至第4のいずれか1実施態様の複数物体追跡装置である。
【0020】
本実施態様では、アサインメント行列の少なくとも一部が離散変数に近づくとアサインメント性能が向上するが、離散変数に近づきすぎると勾配が発生しにくくなってアサインメントモデルの学習が困難となるところ、アサインメント行列が離散変数に一定程度以上近づくのに応じて損失が増大する損失関数を回帰誤差関数に追加して学習を行っているため、アサイメント性能の向上と学習の安定化を実現することが可能となっている。
【0021】
本発明の第8実施態様は、前記アサインメントモデルは、アサインメント行列の生成において、各行について観測点の欠落を示す拡張された列の要素を除いた行ベクトルのLpノルムを単位値から減算した値を当該拡張された列の要素の値とする処理又は各列についてクラッタの存在を示す拡張された行の要素を除いた列ベクトルのLpノルムを単位値から減算した値を当該拡張された行の要素の値とする処理を行う、第4実施態様の複数物体追跡装置である。
【0022】
本実施態様では、アサインメント行列については、観測点の欠落又はクラッタの存在には複数個数が許容されるものの、その他の観測点とトラッカとは一対一に対応するという一対一制約が存在するところ、アサインメント行列の生成において、各行について観測点の欠落を示す拡張された列の要素を除いた行ベクトルのLpノルムを単位値から減算した値を当該拡張された列の要素の値とする処理又は各列についてクラッタの存在を示す拡張された行の要素を除いた列ベクトルのLpノルムを単位値から減算した値を当該拡張された行の要素の値とする処理を行うことにより、一対一制約を満たすアサインメント行列を生成することが可能となっている。
【0023】
本発明の第9実施態様は、前記アサインメントモデルは、アサインメント行列の生成において、観測点の欠落を示す拡張された列を除く各列について列内の各要素を当該各要素の総和で除算する処理と、クラッタの存在を示す拡張された行を除く各行について行内の各要素を当該各要素の総和で除算する処理と、を繰り返す処理を行う、第4実施態様の複数物体追跡装置である。
【0024】
本実施態様では、アサインメント行列については、観測点の欠落又はクラッタの存在には複数個数が許容されるものの、その他の観測点とトラッカとは一対一に対応するという一対一制約が存在するところ、アサインメント行列の生成において、観測点の欠落を示す拡張された列を除く各列について列内の各要素を当該各要素の総和で除算する処理と、クラッタの存在を示す拡張された行を除く各行について行内の各要素を当該各要素の総和で除算する処理と、を繰り返す処理を行うことにより、一対一制約を満たすアサインメント行列を生成することが可能となっている。
【0025】
本発明の第10実施態様は、前記学習部は、正解アサインメント行列と生成されたアサインメント行列との内の一方の行列と、他方の行列において要素ベクトルを並べ替えた各並替行列と、の各損失関数の内、最小となる損失関数を全体の損失関数として回帰誤差関数に追加して学習を行う、第1実施態様の複数物体追跡装置である。
【0026】
本実施態様では、所定の観測点系列を追跡するトラッカについて、複数のトラッカの内で何番目のトラッカに順番付けるかには不定性が存在し、正解アサインメント行列と生成されたアサインメント行列とではトラッカの順番付けは必ずしも一致しないところ、正解アサインメント行列と生成されたアサインメント行列との内の一方の行列と、他方の行列において要素ベクトルを並べ替えた各並替行列と、の各損失関数の内、最小となる損失関数を全体の損失関数として回帰誤差関数に追加して学習を行うことにより、適切な学習を行うことが可能となっている。
【0027】
本発明の第11実施態様は、微分可能な関数により形成され観測値と複数のトラッカとを対応付ける連続緩和されたアサインメント行列を生成するアサインメントモデル及び微分可能な関数により形成され複数のトラッカの運動状態を示す運動モデルを用い、観測値から再構成値を生成するステップと、少なくとも再構成値と元の観測値との損失関数を回帰誤差関数として前記アサインメントモデル及び前記運動モデルの学習を行うステップと、を具備する複数物体追跡方法である。
本実施態様では、第1実施態様と同様の作用効果を奏する。
【0028】
本発明の第12実施態様は、コンピュータに、微分可能な関数により形成され観測値と複数のトラッカとを対応付ける連続緩和されたアサインメント行列を生成するアサインメントモデル及び微分可能な関数により形成され複数のトラッカの運動状態を示す運動モデルを有し、観測値から再構成値を生成するモデル機能と、少なくとも再構成値と元の観測値との損失関数を回帰誤差関数として前記アサインメントモデル及び前記運動モデルの学習を行う学習機能と、を実現させる複数物体追跡プログラムである。
本実施態様では、第1実施態様と同様の作用効果を奏する。
【発明の効果】
【0029】
本発明では、複数物体についての追跡性能が向上されている。
【図面の簡単な説明】
【0030】
【
図2】本発明の第1実施形態の複数物体追跡確率的生成モデルのグラフィカルモデルを示す模式図。
【
図3】本発明の第1実施形態の自己符号化器型複数物体追跡装置の概略構成を示すブロック図。
【
図4】本発明の第1実施形態の自己符号化器型複数物体追跡装置の各構成を示すブロック図。
【
図5】本発明の第1実施形態の回帰誤差算出手順を示すフロー図。
【
図6】本発明の第2実施形態のアサインメント行列を示す模式図。
【
図7】本発明の第2実施形態のアサインメントエンコーダを示す模式図。
【
図8】本発明の第2実施形態の並替処理部を示す模式図。
【
図9】本発明の第2実施形態の補完処理部を示す模式図。
【
図10】本発明の第2実施形態の運動エンコーダを示す模式図。
【
図11】本発明の第2実施形態の運動デコーダを示す模式図。
【
図12】本発明の第2実施形態の再並替処理部を示す模式図。
【発明を実施するための形態】
【0031】
図1乃至
図5を参照して、本発明の第1実施形態の自己符号化器型複数物体追跡装置及び方法について説明する。
【0032】
【0033】
車載レーダ信号処理等における複数物体追跡については、複数物体の位置、速度等を示し、時間方向及び観測方向に可変長であり、所定の時刻における観測順が不明な観測点群から、複数の物体のトラッカを推定するものである。このためには、観測点群とトラッカとを対応付けるアサインメント処理を行う必要がある。このようなアサインメント処理においては、トラッカに対応して観測点が存在するはずであるのに欠落してしまう観測点の欠落や、トラッカが存在しないにもかかわらずノイズ等により観測点が存在してしまうクラッタの存在といった問題がある。
【0034】
例えば、
図1では、5個の物体が等速直線運動をしている場合について、一定の時間間隔で観測を行った観測点群を示しており、直線が真のトラッカ、〇印及び+印が観測点群を示している。ここで、物体は等速直線運動をしているのであるから、真のトラッカを示す直線に沿って観測点群は等間隔で並ぶはずであるが、存在するはずの観測点が欠落しているのが看取される。また、真のトラッカを示す直線が存在しないにもかかわらず、+印で示される観測点群が存在していることが看取され、当該観測点群がクラッタである。
【0035】
図2を参照して、本実施形態における複数物体追跡確率的生成モデルについて説明する。
【0036】
図2に示されるように、複数物体追跡確率的生成モデルでは、以下の確率変数が用いられる。即ち、離散時刻をtとし、複数物体の位置、速度等を示し、時刻方向及び観測方向に可変長であり、所定の時刻tにおける観測順がランダムな観測点群の観測値をY={y
t}とする。複数のトラッカの活動及び休眠状態を示すトラッカ活動状態をS={s
t}とする。複数のトラッカの位置、速度等の運動状態を示すカルマン状態をX={x
t}とする。観測値Y={y
t}と複数のトラッカとを対応付けるアサインメント行列をA={A
t}とする。
【0037】
そして、複数物体追跡確率的生成モデルでは、各確率変数は以下の依存性を有する。即ち、時刻tのトラッカ活動状態stは、前時刻t-1のトラッカ活動状態st-1及びトラッカ活動状態遷移確率πに依存する。時刻tのアサインメント行列Atは、同時刻tのトラッカ活動状態st、並びに、クラッタ発生確率λ及びトラッカ観測確率Pdに依存する。時刻tのカルマン状態xtは、前時刻t-1のカルマン状態xt-1及びカルマン状態遷移確率θTに依存する。時刻tの観測ytは、同時刻tのカルマン状態xt、カルマン出力確率θE及び同時刻tのアサインメント行列Atに依存する。
【0038】
以下、本実施形態における複数物体追跡確率的生成モデルの解法として、近似事後分布を入力変数で条件づける償却推論法(amortized inference)を適用し、自己符号化器型ニューラルネットワークを利用する解法について説明する。
【0039】
複数物体追跡確率的生成モデルを周辺尤度情報最小化問題として解くにあたり、上記償却推論法を適用することで、最小化対象である周辺尤度情報量を以下の式(1)のような3項に分解することが可能である。なお、自己符号化器型ニューラルネットワークでは、エンコーダ及びデコーダにより入力値を再構成し、再構成値と元の入力値との損失関数を回帰誤差関数としてパラメータ学習を行う。ここでは、確率的生成モデルに対応するデコーダpの全パラメータをθ、エンコーダqの全てのパラメータをφとする。また、全ての離散変数について、連続緩和がなされているものとする。
【数1】
【0040】
上式の第1項については、近似事後分布誤差項であり、学習には用いられない。第2項については、再構成誤差項であり、観測値Yについてのデコーダに対応する。第3項については、事前分布に由来する制約項であり、トラッカ活動状態S,アサインメント行列A及びカルマン状態Xについてのデコーダに対応する。本実施形態では、パラメータ学習に第2項の再構成誤差項を用いるが、第3項の事前分布に由来する制約項を用いるようにしてもよい。
【0041】
第2項の再構成誤差項について、アサインメント行列A、トラッカ活動状態S及びカルマン状態Xの同時近似事後分布については取り扱いが困難なため、構造化近似法により、全ての潜在変数A、S及びXについて任意の条件付近似事後分布に分解する。なお、平均場近似法により、全ての潜在変数A,S及びXについて独立な近似事後分布に分解してもよい。さらに、各潜在変数A,S及びXについて、各時刻tの近似事後分布の積に分解するようにしてもよい。このように各潜在変数A、S及びXについての近似事後分布に分解することは、各潜在変数A,S及びXについてのエンコーダに分解することに対応する。本実施形態では、アサインメント行列A、トラッカ活動状態S及びカルマン状態Xについての各エンコーダから観測値Yについてのデコーダに入力を行って観測値Yを再構成し、再構成値Y^と元の観測値Yとの損失関数を回帰誤差関数とする。潜在変数A,S及びXのエンコードの順番については、構造化近似の順番に応じて任意に設定可能であるが、本実施形態では、アサインメント行列A、トラッカ活動状態S、カルマン状態Xの順にエンコードする。また、各潜在変数A,S及びXについて再パラメータ化を実施する。代わって、再パラメータ化を実施せずに、離散変数についての分布パラメータについてはそれを実現値としてそのまま用い、連続変数についてのガウス分布パラメータについてはその平均値のみを用いるようにしてもよい。
【0042】
図3乃至
図5を参照して、本実施形態の観測数固定の自己符号化器型複数物体追跡装置について説明する。
【0043】
観測点群については、観測方向に可変長であるため、時刻tにおける観測数は可変であるが、本実施形態では、全ての時刻tにおいて観測数がJに固定されているものとする。なお、観測点群の観測時刻数をTとする。
【0044】
観測数Jが固定されているため、時刻tにおける観測値ytについては、J行のベクトルとなり、第j行要素についてはj番目に観測された観測値を示す。時刻tにおけるカルマン状態xtについては、J行のベクトルとなり、第j行要素についてはj番目のトラッカの運動状態を示す。時刻tにおけるアサインメント行列Atについては、J行J列の正方行列となり、第i行第j列要素についてはi番目のトラッカとj番目の観測値との対応関係を示し、i番目のトラッカとj番目の観測値とが対応付けられる場合には1、対応付けられない場合には0となる。観測数Jが固定されている場合には、時刻tにおいてトラッカと観測値ytとが全て対応付けられるため、アサインメント行列Atについては置換行列となる。また、トラッカ活動状態S={st}については考慮する必要が無いため、本実施形態では関連する説明を省略する。
【0045】
図3を参照して、本実施形態の自己符号化器型複数物体追跡装置について概説する。
【0046】
自己符号化器型複数物体追跡装置については、モデル部10及び学習部12によって形成されている。モデル部10は、アサインメントモデル16及び運動モデル18を有する。アサインメントモデル16は、ニューラルネットワークにより形成され、観測値Yと複数のトラッカとを対応付ける連続緩和されたアサインメント行列Aを生成する。運動モデル18は、ニューラルネットワークにより形成され、複数のトラッカの運動状態を示す。そして、モデル部10は、観測値Yの再構成値Y^を生成する。学習部12は、少なくとも再構成値Y^と元の観測値Yとの損失関数を回帰誤差関数として、確率的勾配降下法によりアサインメントモデル16及び運動モデル18のパラメータθ及びφを学習する。なお、アサインメントモデル16及び運動モデル18については、微分可能な関数により形成されればよく、ニューラルネットワークに代わって、主成分分析(Principal Component Analysis, PCA)、ガウス過程等のモジュールにより形成されてもよい。
【0047】
図4を参照して、自己符号化器型複数物体追跡装置における回帰誤差算出構成について説明する。
【0048】
図4に示されるように、モデル部10において、アサインメントモデル16をなすアサインメントエンコーダ30については、多層パーセプトロン(MLP)により形成され、各時刻tにおいて、時刻tにおける観測値y
tと、1時刻前の時刻t-1におけるカルマン状態x
t-1(後述するように、1時刻前の時刻t-1における現時刻t-1についての予測値y~
t-1
(0))とに基づき、時刻tにおけるアサインメント行列A
tを生成する。アサインメントエンコーダ30では、過去時刻における予測値Y~に代えて、過去時刻のアサインメント行列Aによって観測値Yを並べ替えたものを用いてもよく、その他、後述する運動モデル18の運動エンコーダ34の再帰型ニューラルネットワーク(RNN)の隠れ層のベクトル等、トラッカの運動状態に関連する様々な値を用いることが可能である。
【0049】
並替処理部32では、各時刻tにおいて、アサインメント行列Atと観測値ytとの内積をとることにより、アサインメント行列Atによって観測値ytを並べ替えて、並替観測値y’tを生成する。ここで、アサインメント行列Atと観測値ytとの内積をとること自体をアサインメント行列Atの連続緩和とみなすことができる。
【0050】
運動モデル18をなす運動エンコーダ34については、RNNにより形成されており、各時刻tにおいて、並替観測値y’tと、前時刻t-1におけるRNN隠れ層のベクトルht-1とに基づき、カルマン状態xtを生成する。なお、並替処理部32を用いずに、運動エンコーダ34において、アサインメント行列Atと観測値ytとを直接用いてカルマン状態xtを生成するようにしてもよい。
【0051】
運動モデル18をなす運動デコーダ36については、MLPにより形成されており、カルマン状態xtに基づき,時刻tからk時刻先の時刻t+kまでについての予測値y~t
(tp)(tp=0,…,k)を生成する。なお、運動デコーダ36においては、現時刻tについての予測値y~t
(0)のみを生成するようにしてもよい。
【0052】
ここで、並替処理部32において、アサインメント行列Aによって観測値Yを並べ替えるようにしているため、カルマン状態Xのエンコーダと観測値Yのデコーダとを同一視することができ、カルマン状態xtと現時刻tについての予測値y~t
(0)とを同一視することが可能である。
【0053】
再並替処理部38では、全てのtp(=0,…,k)について、アサインメント行列At+tpの転置行列と予測値y~t
(tp)との内積をとり、アサインメント行列At+tpの転置行列によって予測値y~t
(tp)を並べ替えて、観測値ytの再構成値y^t
(tp)を生成する。
【0054】
学習部12において、回帰誤差算出部40では、全ての時刻tにおいて、再構成値y^t
(tp)と観測値yt+tpとの二乗和損失Et
(tp)の全てのtp(=0,…,k)についての総和Et=ΣtpEt
(tp)を算出し、さらに全ての時刻t(1,…,T)についての二乗和損失Etの総和E=ΣtEtを算出し、回帰誤差関数とする。
【0055】
図5を参照して、自己符号化器型複数物体追跡方法における回帰誤差算出方法について説明する。なお、各ステップの詳細については、回帰誤差算出構成について説明したとおりである。
【0056】
図5に示されるように、全ての時刻t(=1,…,T)について(S1~S7)、観測値y
t及び1時刻前のカルマン状態x
t-1に基づくアサインメント行列A
tの生成(S3)、アサインメント行列A
tによる観測値y
tの並べ替えによる並替観測値y’
tの生成(S4)、並替観測値y’
tに基づくカルマン状態x
tの生成(S5)、カルマン状態x
tに基づく全てのt
p(=0,…,k)についての予測値y~
t
(tp)の生成(S6)を行う。
【0057】
続いて、全ての時刻t(=1,…,T)について(S8~S12)、全てのtp(=0,…,k)について、アサインメント行列At+tpの転置行列による予測値y~t
(tp)の並べ替えによる再構成値y^t
(tp)の生成(S10)、再構成値y^t
(tp)と観測値yt+tpとの二乗和損失Et
(tp)の全てのtp(=0,…,k)についての総和Et=ΣtpEt
(tp)の算出(S11)を行う。
【0058】
続いて、全ての時刻t(=1,…,T)についての二乗和損失Etの総和E=ΣtEtの算出(S13)を行う。
【0059】
以下、自己符号化器型複数物体追跡装置及び方法の各構成について詳説する。
【0060】
アサインメントエンコーダ30におけるアサインメント行列Atの生成について説明する。
アサインメント行列Atについては置換行列となるべきであり、置換行列の連続緩和については二重確率行列であるから、アサインメントエンコーダ30におけるアサインメント行列Atの生成において、二重確率行列への誘導処理を行う。二重確率行列では、各要素については0乃至1の範囲内の値となり、各行の要素の総和及び各列の要素の総和は1となる。このため、アサインメント行列Atの生成においては、各要素にシグモイド関数を掛けることで0乃至1の範囲内の値とし、各行又は各列毎にソフトマックス関数を掛けることで各行の要素の総和又は各列の要素の総和を1とする。
【0061】
アサインメントエンコーダ30のMLPの学習について説明する。
【0062】
アサインメント行列Atについては置換行列となるべきであり、置換行列については直交行列であるから、アサインメント行列Atが直交行列から遠ざかるのに応じて損失が増大する損失関数を回帰誤差関数に追加して、直交性を誘導して学習を行う。本実施形態では、直交行列については自身の転置行列との内積が単位行列となるため、アサインメント行列Atと自身の転置行列との内積から単位行列を引いたものの二乗和損失を損失関数として、線形結合等で回帰誤差関数に追加する。
【0063】
また、アサインメント行列を離散変数に近づけることで、推定されるトラッカの分散を低下させることができるため、アサインメント性能を向上させることができる。一方で、アサインメント行列を離散変数に近づけすぎると、勾配が発生しにくくなってアサインメントエンコーダ30のMLPの学習が困難となる。このため、アサインメント行列が離散変数に一定程度以上近づくのに応じて損失が増大する損失関数を回帰誤差関数に追加して学習を行う。本実施形態では、各行又は各列毎の離散エントロピーの値が一定値以下となると損失が増大する損失関数を用いる。離散エントロピーについては、ワンホットベクトルの場合に最小値である0をとり、全ての要素が同一である場合に最大値であるlog(次元数)をとるため、0乃至log(次元数)の範囲内の所定値を閾値に設定し、離散エントロピーが当該閾値以下となった場合には、離散エントロピーと閾値との二乗和損失を損失関数として、線形結合等で回帰誤差関数に追加する。
【0064】
運動モデル18のRNN及びMLPの学習の安定化について説明する。
【0065】
運動モデル18のパラメータについては、各トラッカ毎に個別のパラメータとしてもよいし、全てのトラッカについて共通のパラメータとしてもよい。
【0066】
運動モデル18のRNN隠れ層のベクトル又は潜在変数Xの初期値については、乱数又は定数を用いる。代わって、RNN隠れ層のベクトル又は潜在変数Xがトラッカ運動状態を保持することから、初期時刻の観測値からRNN隠れ層のベクトル又は潜在変数Xの初期値を生成するニューラルネットワークを用いるようにしてもよい。
【0067】
トラッカの滑らかさに制約を加えるため、複数の異なる時刻における予測値Y~間の損失関数を回帰誤差関数に追加する。本実施形態では、1時刻前と現時刻とにおける予測値Y~間の差分の二乗和損失を損失関数として、線形結合等で回帰誤差関数に追加する。同様に、RNN隠れ層のベクトルのノルムの遷移の滑らかさに制約を加えるために、複数の異なる時刻におけるRNN隠れ層のベクトルのノルム間の損失関数を回帰誤差関数に追加してもよい。
【0068】
運動モデル18においては、RNNに代えて、LSTM(Long short-term memory)を用いてもよく、LSTMを用いる場合には、細胞その他の時刻に応じて変化する隠れ層の値について上記と同様な制約を加えてもよい。
【0069】
また、運動モデル18ついては、ニューラルネットワークのみから形成するのに代えて、DWNA(Discrete White Noise Acceleration)モデルのような運動モデルを含めて構成するようにしてもよい。
【0070】
本実施形態の自己符号化器型複数物体追跡装置及び方法は以下の効果を奏する。
【0071】
本実施形態の自己符号化器型複数物体追跡装置及び方法では、離散変数であるアサインメント行列が連続緩和されているため、アサインメントエンコーダ30のMLPにも勾配が通過し、アサインメントエンコーダ30のMLPと運動エンコーダ34のRNN及び運動デコーダ36のMLPとについて一括して学習を行うことが可能である。そして、アサインメントモデル16及び運動モデル18を定義することなく、観測値から適切なアサインメントエンコーダ30のMLP並びに運動エンコーダ34のRNN及び運動デコーダ36のMLPを獲得することができ、物体が複雑な運動を行う場合や複数物体が複雑な交差を行う場合であっても、複数物体についての追跡を正確に行うことが可能となっている。また、自己符号化器型ニューラルネットワークにより教師無し学習が可能となっているため、人手によるアサインメントという高スキルかつ高コストを要する作業が不要となっている。
【0072】
さらに、アサインメントエンコーダ30により生成されたアサインメント行列Atにより観測値ytを並べ替えて運動モデル18に入力しているため、運動モデル18のMLP及びRNNについての学習を単純化することが可能となっている。また、アサインメントエンコーダ30のMLP並びに運動エンコーダ34のRNN及び運動デコーダ36のMLPの学習の途中においては、推定されるトラッカ運動状態は真の複数のトラッカ運動状態を線形結合したものとなり、真の複数のトラッカの中間を通過するトラッカを推定することになるため、アサインメントエンコーダ30のMLP並びに運動エンコーダ34のRNN及び運動デコーダ36のMLPについては合理的な挙動を示すこととなる。
【0073】
加えて、アサインメント行列Atについては置換行列となるべきであり、置換行列は二重確率行列であるところ、アサインメント行列Atの生成において二重確率行列への誘導処理を行っているため、アサインメントエンコーダ30のMLPの学習を簡易化することが可能となっている。また、置換行列は直交行列でもあるところ、アサインメント行列Atが直交行列から遠ざかるのに応じて損失が増大する損失関数を回帰誤差関数に追加して、直交性を誘導して学習を行っているため、アサインメントエンコーダ30のMLPの学習を高速に行うことが可能となっている。さらに、アサインメント行列Atが離散変数に近づくとアサインメント性能が向上するが、離散変数に近づきすぎると勾配が発生しにくくなってアサインメントエンコーダ30のMLPの学習が困難となるところ、アサインメント行列Atが離散変数に一定程度以上近づくのに応じて損失が増大する損失関数を回帰誤差関数に追加して学習を行っているため、アサイメント性能の向上と学習の安定化を実現することが可能となっている。
【0074】
図6乃至
図12を参照して、本発明の第2実施形態について説明する。
【0075】
本実施形態では、第1実施形態と異なり、時刻tにおける観測値ytの観測数が可変となっており、観測点の欠落及びクラッタの存在に対応している。以下では、第1実施形態と同様な構成については説明を省略する。
【0076】
図6を参照し、アサインメント行列A
tについて説明する。
【0077】
図6(a)に示されるように、観測点の欠落に対応するために、観測値y
tを観測方向に拡張し、第0行を導入して、第0行要素を0とする。そして、アサインメント行列A
tについて行方向に拡張し、観測点の欠落を示す第0列を導入する。即ち、第i行第0列要素については、i番目のトラッカに対応する観測点が欠落している場合には1となり、欠落していない場合には0となる。そして、第i行第0列要素が1となる場合には、第i行において第1列以降の要素は全て0となる。このため、i番目のトラッカに対応する観測点が欠落しており、アサインメント行列A
tの第i行の第0列の要素が1、第1列以降の要素が0となっている場合には、アサインメント行列A
tと観測値y
tとの内積をとり、アサインメント行列A
tにより観測値y
tを並べ替えた場合には、並替観測値y’
tにおいて、i番目のトラッカに対応する第i行要素については0となる。
【0078】
図6(b)に示されるように、クラッタの存在に対応するために、観測値y
tを観測方向に拡張し、第0行を導入して、第0行要素を0とする。そして、アサインメント行列A
tについて列方向に拡張し、クラッタの存在を示す第0行を導入する。即ち、第0行第j列要素については、観測値y
tの第j行要素がクラッタに対応する場合には1となり、クラッタに対応しない場合には0となる。そして、第0行第j列要素が1となる場合には、第j列において第1行以降の要素は全て0となる。このため、アサインメント行列A
tと観測値y
tとの内積をとり、アサインメント行列A
tにより観測値y
tを並べ替えた場合には、並替観測値y’
tにおいて、第0行については、クラッタに対応する観測値の総和となり、第1行以降にはクラッタに対応する観測値は反映されない。
【0079】
なお、アサインメント行列Atについて行方向及び列方向に拡張する場合には、第0行第0列要素を0とする。
【0080】
図7を参照して、アサインメントエンコーダ30について説明する。
【0081】
図7に示されるように、アサインメントエンコーダ30については、双方向RNNにより形成され、第1実施形態と同様に、各時刻tにおいて、時刻tにおける観測値y
tと、1時刻前の時刻t-1におけるカルマン状態x
t-1(1時刻前の時刻t-1における現時刻t-1についての予測値y~
t-1
(0))とに基づき、時刻tにおけるアサインメント行列A
tを生成する。具体的には、カルマン状態x
t-1に観測値y
tの各要素を夫々連結し、連結した各ベクトルを夫々双方向RNNに入力し、双方向RNNから出力された両ベクトルを加算又は連結により夫々合成し、合成された各ベクトルを連結することで、アサインメント行列A
tを生成する。
【0082】
本実施形態では、
図7に示されるとおり、観測値y
tについては、第6、1、4、7行要素が第1、3、4、5番目のトラッカに対応し、2番目のトラッカに対応する観測点が欠落し、第2、3、5、8行要素がクラッタに対応する場合を想定している。このため、アサインメント行列A
tについては、観測点の欠落に対応する第0列については、第2行要素が1となり、第2行の第1列目以降の要素が0となる。クラッタの存在に対応する第0行については、第2、3、5、8列要素が1となり、第2、3、5、8列の第1行以降の要素が0となる。当該行及び列以外のトラッカと観測値y
tとの対応を示す部分については、第1行第6列、第3行第1列、第4行第4列、第5行第7列要素が1となり、その他の要素は0となる。
【0083】
アサインメントエンコーダ30については、双方向RNNに代わって、LSTM、Transformer等の観測方向に可変長の観測点群に対応可能なその他のニューラルネットワークを用いて形成してもよい。
【0084】
また、アサインメント行列Atについては、置換行列を拡張したものであり、アサインメント行列Atと自身の転置行列との内積をとると、第0行及び第0列を除いた右下部分については単位行列となる。このため、第1実施形態と同様に、アサインメント行列Atと自身の転置行列との内積の当該右下部分から単位行列を引いたものの二乗和損失を損失関数として、線形結合等で回帰誤差関数に追加して、直交性を誘導して学習を行うことが可能である。
【0085】
【0086】
図8に示されるように、並替処理部32では、第1実施形態と同様に、各時刻tにおいて、アサインメント行列A
tと観測値y
tとの内積をとることにより、アサインメント行列A
tによって観測値y
tを並べ替えて、並替観測値y’
tを生成する。ここで、並替観測値y’
tにおいて、観測点が欠落しているトラッカに対応する行要素は0となる。また、並替観測値y’
tにおいて、第0行要素については、クラッタに対応することとなる。このため、並替観測値y’
tの第0行要素については、無意味な値となるため、削除ないし0でマスクする等の処理を行ってもよい。
【0087】
本実施形態では、
図8に示されるとおり、並替観測値y’
tにおいて、第1、3、4、5行要素については、観測値y
tの1、3、4、5番目のトラッカに対応する第6、1、4、7行要素となる。第2行要素については、2番目のトラッカに対応する観測点の欠落に応じて0となる。第0行要素については、観測値y
tのクラッタに対応する第2、3、5、8行要素の総和となる。
【0088】
【0089】
図9に示されるように、補完処理部50では、トラッカ活動状態s
tに基づき、並替観測値y’
tから、並替観測値y’
tの休眠状態のトラッカに対応する要素を削除し、さらに、並替観測値y’
tの当該要素として、1時刻前の時刻t-1におけるカルマン状態x
t-1の休眠状態のトラッカに対応する要素を補完して、補完観測値y’’
tを生成する。
【0090】
即ち、トラッカ活動状態stについては、トラッカ数を行数とするベクトルであり、i番目のトラッカが活動状態にある場合には第i行要素が1となり、休眠状態にある場合には0となる。このため、トラッカ活動状態stの転置ベクトルと並替観測値ytとの内積をとることで、並替観測値y’tから休眠状態のトラッカに対応する要素が削除される。
【0091】
本実施形態では、トラッカ活動状態stについて、トラッカに対応する観測点が欠落している場合に、そのトラッカが休眠状態にあるとみなす。アサインメント行列Atの第0列については観測点の欠落を示しており、第i行第0列要素については、i番目のトラッカに対応する観測点が欠落している場合には1となり、欠落していない場合には0となるため、1ベクトルからアサインメント行列Atの第0列を引くことでトラッカ活動状態stが生成される。
【0092】
このように、本実施形態では、アサインメントエンコーダ30については、トラッカの活動及び休眠状態を示すトラッカ活動状態Sを生成するトラッカ活動モデルとしてのトラッカ活動エンコーダを兼ねている。代わって、トラッカ活動モデルとして、微分可能な関数により形成されトラッカ活動状態を生成するトラッカ活動エンコーダを用いてもよく、トラッカ活動エンコーダでは、アサインメント行列Atの第0列からトラッカ活動状態Sを生成するようにしてもよい。
【0093】
なお、本実施形態では、上記並替処理部32の説明で述べたように、アサインメント行列Atによって観測値ytを並べ替えた並替観測値y’tにおいて、休眠状態のトラッカに対応する要素は既に0となっていることが期待される。
【0094】
さらに、1ベクトルからトラッカ活動状態stを引いたトラッカ休眠状態の転置ベクトルと、カルマン状態xt-1との内積を加算することで、並替観測値y’tの休眠状態のトラッカに対応する要素として、1時刻前の時刻t-1におけるカルマン状態xt-1の休眠状態のトラッカに対応する要素が補完される。
【0095】
本実施形態では、
図9に示されるとおり、アサインメント行列A
tにおいて、観測点の欠落に対応する第0列については第2行要素が1となり、トラッカ活動状態s
tについては第2行要素が休眠状態0となり、それ以外の要素は活動状態1となる。並替観測値y’
tの第2行要素については、2番目のトラッカに対応する観測点の欠落に応じて既に0となっている。補完観測値y’’
tでは、第2行要素として、前時刻t-1のカルマン状態x
tの第2行要素が補完されている。
【0096】
図10を参照して、運動モデル18をなす運動エンコーダ34について説明する。
運動エンコーダ34については、RNNにより形成されており、各時刻tにおいて、補完観測値y’’
tと、前時刻t-1におけるRNN隠れ層のベクトルh
t-1とに基づき、カルマン状態x
tを生成する。カルマン状態x
tの第0行要素についてはクラッタの運動状態を示している。
【0097】
図11を参照して、運動モデル18をなす運動デコーダ36について説明する。
運動デコーダ36については、MLPにより形成されており、第1実施形態と同様に、カルマン状態x
tに基づき,時刻tからk時刻先の時刻t+kまでについての予測値y~
t
(tp)(t
p=0,…,k)を生成する。予測値y~
t
(tp)(t
p=0,…,k)の第0行要素についてはクラッタの予測値を示している。
【0098】
図12を参照して、再並替処理部38について説明する。
再並替処理部38では、第1実施形態と同様に、全てのt
p(=0,…,k)について、アサインメント行列A
t+tpの転置行列と予測値y~
t
(tp)との内積をとり、アサインメント行列A
t+tpの転置行列によって予測値y~
t
(tp)を並べ替えて、観測値y
tの再構成値y^
t
(tp)を生成する。
図12についてはt
p=0の場合について図示したものであり、本実施形態では、再構成値y^
t
(0)の第6、1、4、7行要素については、1、3、4、5番目のトラッカに対応する予測値となっている。第0行要素については、観測点が欠落していた2番目のトラッカに対応する予測値となっており、第2、3、5、8行要素については、クラッタの予測値となっている。
【0099】
本実施形態の自己符号化器型複数物体追跡装置及び方法は以下の効果を奏する。
【0100】
本実施形態の自己符号化器型複数物体追跡装置及び方法では、アサインメントエンコーダ30を用いて、複数のトラッカの活動及び休眠状態を示すトラッカ活動状態Sを生成するようにしているため、観測点群が観測方向に可変長であり、観測点が欠落する場合であっても、複数物体についての追跡を正確に行うことが可能となっている。
【0101】
さらに、観測値ytについて観測方向に拡張して第0行を導入し、アサインメント行列Atについて第0行及び第0列を拡張して、観測点の欠落を示す第0列及びクラッタの存在を示す第0行を導入しているため、観測点群が観測方向に可変長であり、観測点が欠落し又はクラッタが存在する場合であっても、複数物体についての追跡を正確に行うことが可能となっている。
【0102】
本実施形態の変形例として、アサインメントエンコーダ30について、観測方向に可変長の観測点群に対応可能なニューラルネットワークを用いるのに代えて、最大観測数を設定し、実際の観測数が最大観測数以下である場合には不足する個数の観測値を適宜パティングするようにしてもよい。この場合には、アサインメントエンコーダ30への入力側では、実際の観測数を入力するようにし、出力側では、パティングに対応する領域を0でマスクするマスク処理を行ってもよい。
【0103】
観測点の欠落に対応して、カルマン状態xtについて、トラッカ数方向に拡張して第0行を導入するようにしてもよく、再構成値y^tの生成において第0行に発生する無意味な値について、削除又は0でマスクする処理を行ってもよい。
【0104】
クラッタの存在に対応して、クラッタ運動モデルとして、微分可能な関数により形成されクラッタ運動状態を生成するクラッタエンコーダを用いるようにしてもよく、クラッタエンコーダについても、クラッタについての損失を回帰誤差関数に追加する等して、一括して学習を行うようにしてもよい。
【0105】
クラッタの観測値については、トラッカに由来する観測値に対して広い分散を有する。これに対応するために、回帰誤差関数については、本来の定式化どおり観測値Yを確率変数とみなし、広義の回帰誤差関数としての正規分布等での尤度情報量に拡張してもよい。本変形例では、従来の予測値Y~については平均値と解釈し、さらに分散σ~
2を出力する分岐ネットワークを追加する。そして、平均値Y~及び分散σ~
2に同様に再並替処理を行って再構成値Y^及びσ^
2を得て、回帰誤差算出においては、n番目の要素について、二乗和損失を次の式(2)で示される正規分布情報量から導出される項を含む形に差し替える。
【数2】
【0106】
以下、本発明の第3実施形態について説明する。
本実施形態については、第2実施形態と同様に、観測点の欠落を示す第0列及びクラッタの存在を示す第0行を拡張したアサインメント行列Atを用い、アサインメントエンコーダ30において、一対一制約を満たすアサインメント行列Atを生成するようにしたものである。
【0107】
アサインメント行列Atについては、観測点の欠落及びクラッタの存在には複数個数が許容されるものの、その他の観測点とトラッカとは一対一に対応するという一対一制約が存在する。
【0108】
ここで、上述したとおり、アサインメント行列Atでは、観測点の欠落を示す第0列において、第i行第0列要素については、i番目のトラッカに対応する観測点が欠落している場合には1となって、第i行において第1列以降の要素は全て0となり、一方で観測点が欠落していない場合には0となる。また、クラッタの存在を示す第0行において、第0行第j列要素については、観測値ytの第j行要素がクラッタに対応する場合には1となって、第j列において第1行以降の要素は全て0となり、一方でクラッタに対応しない場合には0となる。そして、第0行及び第0列を除く第i行第j列要素についてはi番目のトラッカとj番目の観測値ytjとの対応関係を示し、i番目のトラッカとj番目の観測値ytjとが対応付けられる場合には1、対応付けられない場合には0となる。
【0109】
このため、アサインメント行列Atが一対一制約を満たすとは、第0行を除く各行ベクトルについて行内の各要素の総和が1となり、かつ、第0列を除く各列について列内の各要素の総和が1となることである。
【0110】
本実施形態では、一対一制約を満たすアサインメント行列Atを生成するために、クラッタ又は欠落した観測点を自動決定する処理を行う。
【0111】
クラッタを自動決定する処理を行う場合には、まず、クラッタの存在を示す拡張された第0行を除く各行に、ソフトマックス関数を掛ける処理を行うことにより、第0行を除く各行について行内の各要素の総和を1とする。
【0112】
続いて、クラッタを自動決定する処理を行う。即ち、いずれのトラッカにも対応付けられなかった観測値ytの第k行要素を選択してクラッタに対応付ける。ここで、観測値ytの第k行要素がいずれのトラッカにも対応付けられなかったとは、アサインメント行列Atの第k列において第1行以降の最大値が0となったということであり、観測値ytの第k行要素をクラッタに対応付けるとは、アサインメント行列Atの第k列の第0行要素を1とすることである。一方、観測値ytの第k行要素がいずれかのトラッカに対応付けられたとは、アサインメント行列Atの第k列において第1行以降の最大値が1となったということであり、観測値ytの第k行要素をトラッカに対応付けるとは、アサインメント行列Atの第k列の第0行要素を0とすることである。このため、クラッタの対応付け処理については、アサインメント行列Atの各列について、第1行以降の列ベクトルの各要素の最大値を1から減算した値を第0行要素の値とすることと等価である。さらに、列ベクトルの各要素の最大値関数については、列ベクトルのLpノルムにおいてp値を無限大としたものと等価である。このp値を有限値とすることで、クラッタの対応付け処理を微分可能な形式として、ニューラルネットワーク等に組み込むことが可能となる。
【0113】
以上述べたところにより、式(3)に示されるように、アサインメント行列A
tの各列について、第1行以降の列ベクトルのLpノルムを1から減算した算出値を第0行要素の値とする処理を行う。但し、Lpノルムが1以上となり、算出値が負値となることがあるため、算出値に、ReLU関数等の負領域で0値を出力し、正領域で入力値をそのまま出力する関数を掛けたうえで、第0行要素の値とする。
【数3】
【0114】
欠落した観測点を自動決定する処理についても、クラッタの自動決定の処理と同様に実行することが可能である。即ち、観測点の欠落を示す拡張された第0列を除く各列に、ソフトマックス関数を掛ける処理を行うことにより、第0列を除く各列について列内の各要素の総和を1とする。そして、欠落した観測点の自動決定処理として、アサインメント行列Atの各行について、第1列以降の行ベクトルのLpノルムを1から減算した算出値を第0列要素の値とする処理を行う。
【0115】
本実施形態の自己符号化器型複数物体追跡装置及び方法は以下の効果を奏する。
アサインメント行列については、観測点の欠落又はクラッタの存在には複数個数が許容されるものの、その他の観測点とトラッカとは一対一に対応するという一対一制約が存在する。本実施形態では、クラッタの存在を示す拡張された第0行を除く各行に、ソフトマックス関数を掛ける処理を行うことにより、第0行を除く各行について行内の各要素の総和を1とした後、クラッタの自動決定処理として、アサインメント行列Atの各列について、第1行以降の列ベクトルのLpノルムを1から減算した算出値を第0行要素の値とする処理等を行っている。このため、一対一制約を満たすアサインメント行列を生成することが可能となっている。
【0116】
以下、本発明の第3実施形態の変形例について説明する。
本変形例では、一対一制約を満たすアサインメント行列A
tを生成するために、次の(i)の処理と(ii)の処理とを繰り返し実行する。即ち、(i)アサインメント行列A
tにおいて、式(4)に示されるように、クラッタの存在を示す拡張された第0行を除いた各行について、行内の各要素を当該各要素の総和で除算する処理を実行し、当該各要素の総和を1とする。
【数4】
(ii)アサインメント行列A
tにおいて、式(5)に示されるように、観測点の欠落を示す拡張された第0列を除いた各列について、列内の各要素を当該各要素の総和で除算する処理を実行し、当該各要素の総和を1とする。
【数5】
上記(i)の処理と(ii)の処理とを繰り返し実行することにより、アサインメント行列A
tが収束し、収束解が得られることが経験的に判明している。
【0117】
以下、本発明の第4実施形態について説明する。
本実施態様の自己符号化器型複数物体追跡装置及び方法については、半教師有り学習を行うものである。即ち、正解アサインメント行列Atを備える観測値については、正解アサインメント行列Atと出力アサインメント行列A^
tとの損失関数を回帰誤差関数に追加して学習を行う。
【0118】
本実施形態では、正解アサインメント行列Atと出力アサインメント行列A^
tとの損失関数を次のように設定する。
【0119】
所定の観測点系列を追跡するトラッカについて、全てのトラッカの内で何番目のトラッカに順番付けるかには、不定性が存在する。当該トラッカの順番付けの不定性については、全トラッカの並替えの総数と同一となる。
【0120】
正解アサインメント行列Atと出力アサインメント行列A^
tとではトラッカの順番付けは必ずしも一致しておらず、学習においては、両行列の内の一方の行列と、他方の行列において行ベクトルを並べ替えて一方の行列とトラッカの順番付けを同一とした並替行列と、が一致するように学習を行うのが適切である。換言すれば、正解アサインメント行列Atと出力アサインメント行列A^
tとの損失関数としては、両行列の内の一方の行列と、他方の行列において行ベクトルを並べ替えて一方の行列とトラッカの順番付けを同一とした並替行列と、の損失関数を用いるのが適切であるということになる。ここで、他方の行列においてその行ベクトルを並べ替えた全通りの並替行列の内、一方の行列とトラッカの順番付けを同一とした並替行列が最も一方の行列に近似しており、一方の行列との損失関数も最小となる。このため、正解アサインメント行列Atと出力アサインメント行列A^
tとの損失関数としては、両行列の内の一方の行列と、他方の行列においてその行ベクトルを並べ替えた全通りの並替行列と、の全損失関数の内、最小の損失関数を全体の損失関数として用いる。
【0121】
本実施形態では、式(6)で示されるように、正解アサインメント行列A
tと、出力アサインメント行列A
^
tにおいて、並替演算行列R(RはS
k(全並替演算行列)に属する。)により、クラッタの存在を示す拡張された第0行を除く各行を並べ替えた全通りの並替行列と、の全二乗和損失関数の内、最小の二乗和損失関数を全体の損失関数とする。ここで、R
+については、並替演算行列Rを第0行及び第0列に拡張したものであり、第0行及び第0列の各要素は0である。なお、二乗和損失関数に代えて、各行又は各列毎の交差エントロピー損失関数の総和等を用いてもよい。
【数6】
【0122】
本実施形態の自己符号化器型複数物体追跡装置及び方法は以下の効果を奏する。
所定の観測点系列を追跡するトラッカについて、全てのトラッカの内で何番目のトラッカに順番付けるかには不定性が存在し、正解アサインメント行列Atと出力アサインメント行列A^
tとではトラッカの順番付けは必ずしも一致しない。本実施形態では、正解アサインメント行列Atと、出力アサインメント行列A^
tにおいてクラッタの存在を示す拡張された第0行を除いた各行を並べ替えた全通りの並替行列と、の全損失関数の内、最小の損失関数を全体の損失関数としている。このため、適切な半教師有り学習を行うことが可能となっている。
【0123】
以上説明した学習済みの自己符号化器型複数物体追跡装置については、アサインメント自動付与装置として、また、人手を誤り訂正のみに限定したアサインメント付与支援装置として用いることができ、アサインメントコストの低減が可能となっている。
【0124】
以上の各実施形態では、自己符号化器型複数物体追跡装置及び方法について述べたが、コンピュータに当該装置の各機能を実現させるプログラム、又は、コンピュータに当該方法の各ステップを実行させるプログラムについても、本発明の範囲に含まれる。
【符号の説明】
【0125】
10…モデル部
12…学習部
16…アサインメントモデル
18…運動モデル
30…アサインメントエンコーダ
32…並替処理部
34…運動エンコーダ
36…運動デコーダ
38…再並替処理部
40…回帰誤差算出部
50…補完処理部