IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカの特許一覧

<>
  • 特許-物体追跡方法及びプログラム 図1
  • 特許-物体追跡方法及びプログラム 図2
  • 特許-物体追跡方法及びプログラム 図3
  • 特許-物体追跡方法及びプログラム 図4
  • 特許-物体追跡方法及びプログラム 図5
  • 特許-物体追跡方法及びプログラム 図6A
  • 特許-物体追跡方法及びプログラム 図6B
  • 特許-物体追跡方法及びプログラム 図6C
  • 特許-物体追跡方法及びプログラム 図7A
  • 特許-物体追跡方法及びプログラム 図7B
  • 特許-物体追跡方法及びプログラム 図7C
  • 特許-物体追跡方法及びプログラム 図8
  • 特許-物体追跡方法及びプログラム 図9
  • 特許-物体追跡方法及びプログラム 図10
  • 特許-物体追跡方法及びプログラム 図11
  • 特許-物体追跡方法及びプログラム 図12
  • 特許-物体追跡方法及びプログラム 図13
  • 特許-物体追跡方法及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-15
(45)【発行日】2023-12-25
(54)【発明の名称】物体追跡方法及びプログラム
(51)【国際特許分類】
   G06T 7/246 20170101AFI20231218BHJP
【FI】
G06T7/246
【請求項の数】 8
(21)【出願番号】P 2020052978
(22)【出願日】2020-03-24
(65)【公開番号】P2021043940
(43)【公開日】2021-03-18
【審査請求日】2023-01-06
(31)【優先権主張番号】62/899,818
(32)【優先日】2019-09-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】岡田 雅司
(72)【発明者】
【氏名】竹中 慎治
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2019-109691(JP,A)
【文献】特開2018-026108(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/246
(57)【特許請求の範囲】
【請求項1】
コンピュータが行う映像の物体追跡方法であって、
時系列に連続した2以上の過去フレームに映る1以上の物体それぞれの姿勢を示す座標を含む姿勢の時系列データを、第1ニューラルネットワークを含み不確実性を考慮した姿勢予測を行う姿勢予測器に入力することで、前記姿勢予測器に、現在フレームにおける1以上の第1物体の予測姿勢位置それぞれの分布である予測分布を予測させる予測ステップと、
前記現在フレームを、第2ニューラルネットワークに入力することで、前記第2ニューラルネットワークに、前記現在フレームに映る1以上の第2物体それぞれの位置の集合を推定させる推定ステップと、
前記1以上の第2物体それぞれの位置の集合と、前記予測分布とをマッチングすることにより、前記1以上の第2物体それぞれが前記1以上の第1物体のいずれかに該当するかを示す識別情報、及び、前記1以上の第2物体それぞれの姿勢を示す位置である位置情報を取得して出力する出力ステップと、
前記出力ステップにおいて取得された前記識別情報及び前記位置情報に基づいて、前記予測ステップにおいて予測させた前記予測分布から得られる前記1以上の第1物体それぞれの姿勢を示す座標を含むデータを前記姿勢の時系列データに追加することで前記姿勢の時系列データを更新する更新ステップと、を含む、
物体追跡方法。
【請求項2】
前記出力ステップでは、
前記1以上の第2物体それぞれの位置の集合と、前記予測分布とをマッチングすることにより、マッチングスコアが所定値以上の前記予測分布と前記位置の集合とからなる組を算出し、算出した前記組に基づいて前記識別情報と前記位置情報を取得して出力する、
請求項1に記載の物体追跡方法。
【請求項3】
前記出力ステップでは、
前記1以上の第2物体それぞれの位置の集合と、前記予測分布とを二部マッチングすることにより、マッチングスコアが所定値以上の前記予測分布と前記位置の集合とからなる前記組を算出する、
請求項2に記載の物体追跡方法。
【請求項4】
前記予測ステップでは、
前記第1ニューラルネットワークは、前記不確実性を考慮するための1以上のモデルを用いて、前記1以上のモデルそれぞれに、前記姿勢の時系列データから、前記現在フレームにおける1以上の前記第1物体の予測姿勢位置を予測させることで、前記予測分布を予測する、
請求項1~3のいずれか1項に記載の物体追跡方法。
【請求項5】
前記予測分布は、前記不確実性を考慮した分布であって、予測された前記予測姿勢位置を含み、ガウス分布での分散で表現された分布である、
請求項4に記載の物体追跡方法。
【請求項6】
前記第1ニューラルネットワークは、リカレントニューラルネットワークと、前記1以上のモデルを形成する所定のニューラルネットワークとを有する、
請求項4または5に記載の物体追跡方法。
【請求項7】
前記1以上のモデルは、前記所定のニューラルネットワークにドロップアウトを適用し、前記所定のニューラルネットワークを構成する1以上のノードを不活性化させることにより形成される、
請求項6に記載の物体追跡方法。
【請求項8】
時系列に連続した2以上の過去画像に映る1以上の物体それぞれの姿勢を示す座標を含む姿勢の時系列データを、第1ニューラルネットワークを含み不確実性を考慮した姿勢予測を行う姿勢予測器に入力することで、前記姿勢予測器に、現在フレームにおける1以上の第1物体の予測姿勢位置それぞれの分布である予測分布を予測させる予測ステップと、
前記現在フレームを、第2ニューラルネットワークに入力することで、前記第2ニューラルネットワークに、前記現在フレームに映る1以上の第2物体それぞれの位置の集合を推定させる推定ステップと、
前記1以上の第2物体それぞれの位置の集合と、前記予測分布とをマッチングすることにより、前記1以上の第2物体それぞれが前記1以上の第1物体のいずれかに該当するかを示す識別情報、及び、前記1以上の第2物体それぞれの姿勢を示す位置である位置情報を取得して出力する出力ステップと、
前記出力ステップにおいて取得された前記識別情報及び前記位置情報に基づいて、前記予測ステップにおいて予測させた前記予測分布から得られる前記1以上の第1物体それぞれの姿勢を示す座標含むデータを前記姿勢の時系列データに追加することで前記姿勢の時系列データを更新するステップと、を、
コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、物体追跡方法及びプログラムに関する。
【背景技術】
【0002】
映像に映る複数の対象物体を追跡する物体追跡技術がある中で、映像中の複数の人間の姿勢を追跡する姿勢追跡技術が注目されている。そして、姿勢追跡技術では、2段階のスキームが多く採用されている(例えば、非特許文献1参照)。ここで、2段階のスキームとは、1)deep CNN(Convolutional Neural Network)を用いてフレーム毎の姿勢を推定し、2)フレーム毎にgreedy bipartite matchingするスキームである。
【0003】
非特許文献1に開示される姿勢追跡技術では、入力された映像の現在フレームから姿勢を推定し、過去フレームの姿勢とオプティカルフローとから、過去フレームの姿勢の座標をシフト処理することで現在フレームでの姿勢を予測する。そして、現在フレームから推定された姿勢と過去フレーム等から予測された姿勢とをマッチングし、マッチしたペアに同一のIDを付与する。なお、このマッチングには、推定された姿勢と予測された姿勢のオブジェクトキーポイント類似性(OKS:Object Keypoint Similarity)が用いられる。
【先行技術文献】
【非特許文献】
【0004】
【文献】B. Xiao, H. Wu, and Y. Wei, “Simple baselines for human pose estimation and tracking,” in European Conference on Computer Vision,2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1で開示されている姿勢追跡技術では、姿勢の予測の誤りに対して脆弱であるという課題がある。例えば、映像中の複数の人物の姿勢が、高速に変化したり、オクルージョンにより消失したり再現したりするなど、映像に外乱が発生することがある。非特許文献1で開示されている姿勢追跡技術では、上記のような外乱が発生すると、現在フレームでの姿勢を誤って推定してしまい、過去フレーム等から予測された姿勢と正しくマッチングできないことになる。つまり、非特許文献1で開示されている姿勢追跡技術では、上記のような外乱が発生すると、姿勢の追跡を誤ってしまうすなわち追跡ミスをしてしまう。
【0006】
本開示は、上述の事情を鑑みてなされたもので、追跡ミスを抑制することができる物体追跡方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本開示の一形態に係る物体追跡方法は、コンピュータが行う映像の物体追跡方法であって、時系列に連続した2以上の過去フレームに映る1以上の物体それぞれの姿勢を示す座標を含む姿勢の時系列データを、第1ニューラルネットワークを含み不確実性を考慮した姿勢予測を行う姿勢予測器に入力することで、前記姿勢予測器に、現在フレームにおける1以上の第1物体の予測姿勢位置それぞれの分布である予測分布を予測させる予測ステップと、前記現在フレームを、第2ニューラルネットワークに入力することで、前記第2ニューラルネットワークに、前記現在フレームに映る1以上の第2物体それぞれの位置の集合を推定させる推定ステップと、前記1以上の第2物体それぞれの位置の集合と、前記予測分布とをマッチングすることにより、前記1以上の第2物体それぞれが前記1以上の第1物体のいずれかに該当するかを示す識別情報、及び、前記1以上の第2物体それぞれの姿勢を示す位置である位置情報を取得して出力する出力ステップと、前記出力ステップにおいて取得された前記識別情報及び前記位置情報に基づいて、前記予測ステップにおいて予測させた前記予測分布から得られる前記1以上の第1物体それぞれの姿勢を示す座標を含むデータを前記姿勢の時系列データに追加することで前記姿勢の時系列データを更新する更新ステップと、を含む。
【0008】
なお、これらのうちの一部の具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体を用いて実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせを用いて実現されてもよい。
【発明の効果】
【0009】
本開示の物体追跡方法等によれば、追跡ミスを抑制することができる。
【図面の簡単な説明】
【0010】
図1図1は、実施の形態における物体追跡装置を示す図である。
図2図2は、実施の形態おける物体追跡装置の機能をソフトウェアにより実現するコンピュータのハードウェア構成の一例を示す図である。
図3図3は、実施の形態における物体追跡装置の構成の一例を示すブロック図である。
図4図4は、図3に示す姿勢予測器の詳細構成の一例を示すブロック図である。
図5図5は、図3に示す姿勢予測器のアーキテクチャの一例を示す図である。
図6A図6Aは、比較例における現在フレームの姿勢推定結果を示す図である。
図6B図6Bは、比較例における現在フレームの姿勢推定結果を示す図である。
図6C図6Cは、比較例における現在フレームの姿勢推定結果を示す図である。
図7A図7Aは、実施例1における現在フレームの姿勢予測結果を示す図である。
図7B図7Bは、実施例1における現在フレームの姿勢予測結果を示す図である。
図7C図7Cは、実施例1における現在フレームの姿勢予測結果を示す図である。
図8図8は、実施の形態おける物体追跡装置の動作を示すフローチャートである。
図9図9は、実施例2における物体追跡方法の擬似コードの一例を示す図である。
図10図10は、実施例2における物体追跡方法を概念的に示す図である。
図11図11は、実施例3における物体追跡性能の評価結果を示す図である。
図12図12は、実施例3における姿勢予測器のコンポーネントを無効化等した場合の性能評価実験の結果を示す図である。
図13図13は、本開示と比較例とにおける物体追跡方法による物体追跡結果を視覚的に示す図である。
図14図14は、本開示と比較例とにおける物体追跡方法による物体追跡結果を視覚的に示す図である。
【発明を実施するための形態】
【0011】
本開示の一形態に係る物体追跡方法は、コンピュータが行う映像の物体追跡方法であって、時系列に連続した2以上の過去フレームに映る1以上の物体それぞれの姿勢を示す座標を含む姿勢の時系列データを、第1ニューラルネットワークを含み不確実性を考慮した姿勢予測を行う姿勢予測器に入力することで、前記姿勢予測器に、現在フレームにおける1以上の第1物体の予測姿勢位置それぞれの分布である予測分布を予測させる予測ステップと、前記現在フレームを、第2ニューラルネットワークに入力することで、前記第2ニューラルネットワークに、前記現在フレームに映る1以上の第2物体それぞれの位置の集合を推定させる推定ステップと、前記1以上の第2物体それぞれの位置の集合と、前記予測分布とをマッチングすることにより、前記1以上の第2物体それぞれが前記1以上の第1物体のいずれかに該当するかを示す識別情報、及び、前記1以上の第2物体それぞれの姿勢を示す位置である位置情報を取得して出力する出力ステップと、前記出力ステップにおいて取得された前記識別情報及び前記位置情報に基づいて、前記予測ステップにおいて予測させた前記予測分布から得られる前記1以上の第1物体それぞれの姿勢を示す座標を含むデータを前記姿勢の時系列データに追加することで前記姿勢の時系列データを更新する更新ステップと、を含む。
【0012】
これにより、追跡ミスを抑制することができる物体追跡方法を実現できる。
【0013】
ここで、例えば、前記出力ステップでは、前記1以上の第2物体それぞれの位置の集合と、前記予測分布とをマッチングすることにより、マッチングスコアが所定値以上の前記予測分布と前記位置の集合とからなる組を算出し、算出した前記組に基づいて前記識別情報と前記位置情報を取得して出力するとしてもよい。
【0014】
また、例えば、前記出力ステップでは、前記1以上の第2物体それぞれの位置の集合と、前記予測分布とを二部マッチングすることにより、マッチングスコアが所定値以上の前記予測分布と前記位置の集合とからなる前記組を算出するとしてもよい。
【0015】
また、例えば、前記予測ステップでは、前記第1ニューラルネットワークは、前記不確実性を考慮するための1以上のモデルを用いて、前記1以上のモデルそれぞれに、前記姿勢の時系列データから、前記現在フレームにおける1以上の前記第1物体の予測姿勢位置を予測させることで、前記予測分布を予測するとしてもよい。
【0016】
また、例えば、前記予測分布は、前記不確実性を考慮した分布であって、予測された前記予測姿勢位置を含み、ガウス分布での分散で表現された分布であるとしてもよい。
【0017】
また、例えば、前記第1ニューラルネットワークは、リカレントニューラルネットワークと、前記1以上のモデルを形成する所定のニューラルネットワークとを有するとしてもよい。
【0018】
また、例えば、前記1以上のモデルは、前記所定のニューラルネットワークにドロップアウトを適用し、前記所定のニューラルネットワークを構成する1以上のノードを不活性化させることにより形成されるとしてもよい。
【0019】
以下、本開示の一態様に係る物体追跡方法について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【0020】
(実施の形態)
以下、実施の形態における物体追跡装置10の物体追跡方法等の説明を行う。
【0021】
[物体追跡装置10]
図1は、本実施の形態における物体追跡装置10を示す図である。
【0022】
本実施の形態における物体追跡装置10には、姿勢の時系列データとともに、映像すなわち追跡対象である1以上の物体が映る現在フレームが入力される。すると、物体追跡装置10は、追跡対象である1以上の物体それぞれの識別情報及び当該物体それぞれの姿勢を示す位置である位置情報を含む現在フレームにおける追跡結果を出力する。また、物体追跡装置10は、更新した姿勢の時系列データも出力する。後述するが、姿勢の時系列データには、時系列に連続した2以上の過去フレームに映る1の物体それぞれの姿勢を示す座標が含まれる。なお、物体追跡装置10は、続いて、更新した姿勢の時系列データとともに、次の現在フレームが入力されると、同様に追跡結果を出力する。このようにして、物体追跡装置10は、入力される映像に映る1以上の物体の姿勢を追跡する。以下では、物体の一例として人物を挙げて説明するが、これに限らない。骨があり姿勢がある動物でもよいし、後述するキーポイントを検出できれば、動物に限らず、生物でも物体でもよい。
【0023】
[ハードウェア構成]
次に、本実施の形態おける物体追跡装置10のハードウェア構成について、図2を用いて説明する。図2は、実施の形態おける物体追跡装置10の機能をソフトウェアにより実現するコンピュータ1000のハードウェア構成の一例を示す図である。
【0024】
コンピュータ1000は、図2に示すように、入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007、送受信装置1008及びバス1009を備えるコンピュータである。入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007及び送受信装置1008は、バス1009により接続される。
【0025】
入力装置1001は入力ボタン、タッチパッド、タッチパネルディスプレイなどといったユーザインタフェースとなる装置であり、ユーザの操作を受け付ける。なお、入力装置1001は、ユーザの接触操作を受け付ける他、音声での操作、リモコン等での遠隔操作を受け付ける構成であってもよい。
【0026】
内蔵ストレージ1004は、フラッシュメモリなどである。また、内蔵ストレージ1004は、物体追跡装置10の機能を実現するためのプログラム、及び、物体追跡装置10の機能構成を利用したアプリケーションの少なくとも一方が、予め記憶されていてもよい。
【0027】
RAM1005は、ランダムアクセスメモリ(Random Access Memory)であり、プログラム又はアプリケーションの実行に際してデータ等の記憶に利用される。
【0028】
読取装置1007は、USB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る。読取装置1007は、上記のようなプログラムやアプリケーションが記録された記録媒体からそのプログラムやアプリケーションを読み取り、内蔵ストレージ1004に記憶させる。
【0029】
送受信装置1008は、無線又は有線で通信を行うための通信回路である。送受信装置1008は、例えばネットワークに接続されたサーバ装置と通信を行い、サーバ装置から上記のようなプログラムやアプリケーションをダウンロードして内蔵ストレージ1004に記憶させる。
【0030】
CPU1003は、中央演算処理装置(Central Processing Unit)であり、内蔵ストレージ1004に記憶されたプログラム、アプリケーションをRAM1005にコピーし、そのプログラムやアプリケーションに含まれる命令をRAM1005から順次読み出して実行する。
【0031】
[物体追跡装置10の構成]
続いて、本実施の形態おける物体追跡装置10の構成について説明する。
【0032】
図3は、本実施の形態における物体追跡装置10の構成の一例を示すブロック図である。
【0033】
物体追跡装置10は、入力される映像に映る1以上の物体の姿勢を追跡する。本実施の形態では、物体追跡装置10は、図3に示すように、姿勢予測器11と、姿勢推定部12と、マッチング部13と、出力部14と、データ更新部15とを備える。以下、各構成要素について詳細に説明する。
【0034】
<姿勢予測器11>
姿勢予測器11は、第1ニューラルネットワークを含むアーキテクチャからなり、不確実性を考慮した姿勢予測を行う。アーキテクチャの詳細については後述する。
【0035】
姿勢予測器11は、時系列に連続した2以上の過去フレームに映る1以上の物体それぞれの姿勢を示す座標を含む姿勢の時系列データが入力されると、現在フレームにおける1以上の第1物体の予測姿勢位置それぞれの分布である予測分布を予測する。ここで、姿勢予測器11が予測する予測分布は、後述する2種類の不確実性の少なくとも一方を考慮した分布であって、予測された予測姿勢位置を含み、ガウス分布での分散で表現された分布である。なお、姿勢の時系列データは、当該座標に加えて1以上の物体それぞれを識別する識別子(ID)が含まれていてもよい。
【0036】
本実施の形態では、フレーム内の物体としての人物の姿勢は、フレーム内の人物の関節の場所の集合として予測される。なお、この関節は、例えば頭部、肩、手先、肘、手首などであり、キーポイントと称される。姿勢の時系列データは、キューというデータ構造で保持されており、後述するデータ更新部15により、姿勢予測器11に入力される。
【0037】
姿勢予測器11は、姿勢の時系列データから、現在フレームにおける1以上の人物の姿勢を構成するキーポイントの位置が現在フレーム内のどの辺にあるかを分布で(つまり、キーポイントの位置の分布として)予測する。このようなキーポイントの位置の分布は、上述した予測分布に該当する。このように、姿勢予測器11は、現在フレームにおける人物の姿勢を構成するキーポイントの位置がどこにあるか(1つの仮説)を予測するのではなく、現在フレームにおける人物の姿勢を構成するキーポイントの位置がどの辺にあるか(換言すると複数の仮説)を分布の形(つまり予測分布)で予測する。
【0038】
<姿勢推定部12>
姿勢推定部12は、現在フレームが入力されると、現在フレームに映る0以上の第2物体それぞれの位置の集合を推定する。なお、姿勢推定部12は、物体が映っていない場合には、出力がないすなわち推定を行わないとしてもよい。
【0039】
本実施の形態では、姿勢推定部12には、現在フレームのRGB画像が入力され、現在フレームに映る1以上の人物の姿勢を構成するキーポイントの位置の集合を推定する。なお、姿勢推定部12は、現在フレームにおいて、なんらかの人物の姿勢があることを推定できることに留まる。つまり、現在フレームに映る人物の姿勢が姿勢推定部12により推定されるものの、推定された姿勢の人物が誰かまではわからない(推定した姿勢の人物にIDが付与されていない)。
【0040】
また、姿勢推定部12は、第2ニューラルネットワークを含むアーキテクチャで構成される。そして、姿勢推定部12は、映像から取得した現在フレームを、第2ニューラルネットワークに入力することで、第2ニューラルネットワークに、現在フレームに映る1以上の第2物体それぞれの位置の集合を推定させる。本実施の形態では、第2ニューラルネットワークは、非特許文献1に開示されるdeep CNNであるとしている。なお、第2ニューラルネットワークは、現在フレームから、現在フレームに映る1以上の人物の姿勢を構成するキーポイントの位置の集合を推定できればどのような構成のDNN(Deep Neural Network)であってもよい。
【0041】
<マッチング部13>
マッチング部13は、姿勢推定部12が推定した1以上の第2物体それぞれの位置の集合と、姿勢予測器11が予測した予測分布とをマッチングする。マッチング部13は、マッチングすることにより、1以上の第2物体それぞれが1以上の第1物体のいずれかに該当するかを示す識別情報、及び、1以上の第2物体それぞれの姿勢を示す座標である位置情報を取得して出力する。より具体的には、マッチング部13は、マッチングすることにより、マッチングスコアが所定値以上の予測分布と位置の集合とからなる組を算出し、算出した組に基づいて識別情報と位置情報を取得して出力する。マッチング部13は、姿勢推定部12が推定した1以上の第2物体それぞれの位置の集合と、姿勢予測器11が予測した予測分布とを二部マッチングすることにより、当該組を算出してもよい。
【0042】
本実施の形態では、マッチング部13は、姿勢予測器11が予測したキーポイントの位置の分布と、姿勢推定部12が推定したキーポイントの位置の集合とを、オブジェクトキーポイント類似性(OKS)を用いて二部マッチングする。ここで、オブジェクトキーポイント類似性(OKS)とは、推定姿勢と正解姿勢との類似度を表す評価指標として用いられる。オブジェクトキーポイント類似性(OKS)は、アノテーションされている関節点についての推定座標と正解座標の類似度の平均を表す値となっており、人物の推定姿勢と正解姿勢とが完全に一致するとき1の値を示す。また、二部マッチングは、二部グラフマッチングとも称され、それぞれ複数の要素を含む2つのカテゴリ間で、有効なペアとなる複数の組を求める手法である。
【0043】
より詳細には、マッチング部13は、姿勢予測器11が予測したキーポイントの位置の分布と、姿勢推定部12が推定したキーポイントの位置の集合とのあらゆる組について、オブジェクトキーポイント類似性(OKS)を用いてマッチングスコアを算出する。マッチング部13は、あらゆる組のうち、閾値以上のマッチングスコアとなる組を有効な組であるとして取得する。閾値以上のマッチングスコアとなる組は、姿勢予測器11により予測され分布におけるキーポイントの位置と姿勢推定部12により推定された集合における位置とのペアからなる。
【0044】
マッチング部13は、閾値以上のマッチングスコアとなる組に基づいて、推定された現在フレームに映る1以上の人物の姿勢を示す位置情報を取得するとともに、推定した姿勢の人物にIDを付与する。なお、1以上の人物の姿勢を示す位置情報は、例えば、1以上の人物の姿勢を構成する複数のキーポイントの位置座標である。また、推定した姿勢の人物に付与したIDに関する情報は、上記の識別情報に該当する。
【0045】
そして、マッチング部13は、取得した位置情報と識別情報とを、出力部14に出力する。
【0046】
<出力部14>
出力部14は、マッチング部13から出力された位置情報と識別情報とを現在フレームに反映して、追跡結果として出力する。また、出力部14は、マッチング部13から出力された位置情報と識別情報とをデータ更新部15に出力する。
【0047】
<データ更新部15>
データ更新部15は、取得した識別情報及び位置情報に基づいて、姿勢予測器11において予測された予測分布から得られる1以上の第1物体それぞれの姿勢を示す座標を含むデータを姿勢の時系列データに追加することで、姿勢の時系列データを更新する。
【0048】
本実施の形態では、データ更新部15は、姿勢予測器11において予測された予測分布のうち、マッチング部13によるマッチング結果に基づき、確率的に良いものだけを、姿勢の時系列データに追加する。ここで、姿勢の時系列データは、上述したように、キューというデータ構造で保持されている。このため、データ更新部15は、予測分布のうち確率的に良いものだけを、姿勢の時系列データに追加(プッシュ)することで、姿勢の時系列データの最も古いデータが削除されるので、姿勢の時系列データを更新することができる。
【0049】
より詳細には、データ更新部15は、パーティクルフィルタを使用して、姿勢の時系列データを更新してもよい。ここで、パーティクルフィルタは、粒子フィルタまたは逐次モンテカルロ法とも称され、確率分布による時系列データの予測手法である。パーティクルフィルタは、ベイズフィルタのモンテカルロ近似とも解される。ここで、パーティクル(または粒子)を、キーポイントの集合からなる1つの姿勢と捉えればよい。したがって、データ更新部15がパーティクルフィルタを使用する場合、データ更新部15は、二部マッチングで算出したマッチングスコアに応じて時系列データのキューを更新してリサンプリングすればよい。このようにしてデータ更新部15は、上記の姿勢の時系列データの更新を行うことができる。
【0050】
[姿勢予測器11の詳細構成等]
続いて、姿勢予測器11の詳細構成について説明する。
【0051】
図4は、図3に示す姿勢予測器11の詳細構成の一例を示すブロック図である。図5は、図3に示す姿勢予測器11のアーキテクチャの一例を示す図である。なお、図5には、第1ニューラルネットワーク112が学習時のみ、誤差逆伝搬法(バックプロパゲーション)と対数尤度の誤差関数の計算とが行われることも示されている。
【0052】
姿勢予測器11は、上述したように、第1ニューラルネットワーク112を含むアーキテクチャからなり、不確実性を考慮した姿勢予測として、現在フレームにおける人物の姿勢を構成するキーポイントの位置がどの辺にあるかを姿勢分布で予測する。
【0053】
本実施の形態では、姿勢予測器11は、2種類の不確実性を考慮することで、確率的挙動を持つ多様な姿勢(複数の仮説とも称する)を、姿勢分布で予測することができる。ここで、2種類の不確実性とは、Epistemic UncertaintyとHeteroscedastic Aleatoric Uncertaintyである。
【0054】
Epistemic Uncertaintyは、モデル及びモデルに使われるパラメータに関する知識または情報の不足に起因する不確実性であり、モデルの不確実性とも称される。DNNを用いて推論を行う場合、Epistemic Uncertaintyは、学習用データの不足に起因する学習モデルの違いによる不確実性を意味する。なお、Epistemic Uncertaintyは、学習用データが十分にある場合に改善される。
【0055】
Aleatoric Uncertaintyは、観測に本来的に存在している差異または変動すなわち観測に固有に含まれるノイズに起因する不確実性である。換言すると、Aleatoric Uncertaintyは、観測誤差または外乱に起因する偶発的な不確実性である。この不確実性は、姿勢予測を行う場合、人間の歩調の突然の変化、高速カメラのパンとチルト、または、deep CNNモデルによる姿勢推定エラーから発生する。なお、Aleatoric Uncertaintyは、いくら学習したとしても改善しない。Heteroscedastic Aleatoric Uncertaintyは、入力によって観測に固有に含まれるノイズ量が異なる場合の不確実性である。
【0056】
図4に示すように、本実施の形態では、姿勢予測器11は、入力処理部111と、第1ニューラルネットワーク112と、出力処理部115とを備える。
【0057】
<入力処理部111>
入力処理部111は、姿勢予測器11に入力された姿勢の時系列データから、例えば10フレーム分など所定の時間に含まれる過去フレームに映る1以上の人物それぞれの姿勢を示す座標と、当該座標が過去フレームにおいて見えているか否かを示すビジブルフラグとを抽出して、出力する。
【0058】
図5に示す例では、入力処理部111は、姿勢予測器11に入力された姿勢の時系列データから、時間長さを示すパラメータLに含まれる数の過去フレームそれぞれにおける姿勢を構成するキーポイントの集合の位置座標を抽出し、時間方向で差分を算出する。入力処理部111は、算出した当該差分を第1ニューラルネットワーク112に出力する。
【0059】
<第1ニューラルネットワーク112>
第1ニューラルネットワーク112は、不確実性を考慮するための1以上のモデルを用いて、1以上のモデルそれぞれに、姿勢の時系列データから、現在フレームにおける1以上の第1物体の予測姿勢位置を予測させることで、予測分布を予測する。第1ニューラルネットワーク112は、リカレントニューラルネットワークと、1以上のモデルを形成する所定のニューラルネットワークとを有する。ここで、1以上のモデルは、所定のニューラルネットワークにドロップアウトを適用し、所定のニューラルネットワークを構成する1以上のノードを不活性化させることにより形成される。
【0060】
本実施の形態では、第1ニューラルネットワーク112は、図4に示すように、リカレントNN(Neural Network)113と全結合NN(Neural Network)114とを備える。
【0061】
リカレントNN113は、ある層の出力が遡って入力される再帰結合を持ち、時間の経過とともに値が変化していく時系列データを扱えるようにしたニューラルネットワークである。リカレントNN113は、例えばLSTM(Long Short Term Memory)であってもよい。なお、リカレントNN113は、LSTMに限らず、GRU(Gated Recurrent Unit)であってもよいし、QRNN(Quasi-Recurrent Neural Networks)であってもよい。
【0062】
ここで、LSTMは、長期の時系列データを学習することができるモデルであり、ネットワーク内部での短期記憶を長期間、活用できる。GRUは、LSTMをもう少しシンプルにしたモデルであるが、LSTMと同様に、長期の時系列データを学習することができる。QRNNは、RNNの機構をCNNで模したモデルである。QRNNは、LSTMを高速化するアルゴリズムとも解される。
【0063】
図5に示す例では、リカレントNN113は、64のユニット数からなるLSTMで構成されている。
【0064】
全結合NN114は、全結合層からなるニューラルネットワークであり、全結合型のニューラルネットワーク(フィードフォワード)とも称される。全結合NN114は、入力層と、複数の中間層と、出力層とから構成され、中間層がすべて全結合層となっている。全結合NN114は、ドロップアウトまたはアンサンブルを適用して、Epistemic Uncertaintyを考慮した複数の仮説(多様な姿勢)を分布の形で出力する。
【0065】
ここで、ドロップアウトは、ニューラルネットワークの一定のノードを不活性化(無効化とも称する)にさせながら学習等を進める手法である。本実施の形態では、ドロップアウトを予測時の全結合NN114に適用し、Epistemic Uncertaintyをモデル化する。これにより、中間層の一部が不活性したときの全結合NN114を1つのモデルとして扱うことができる。つまり、全結合NN114は、ドロップアウトを利用し、中間層の一部をランダムに不活性化することで、互いに異なる1以上のモデルを確率的にサンプリング(確率的モデルとも称する)しながらモデルごとに1つの姿勢予測を出力することができる。そして、全結合NN114は、姿勢予測の結果をガウス分布に近似して出力する。
【0066】
このようにして、全結合NN114は、確率的モデルから得た複数の姿勢をガウス分布に近似して予測結果として出力することができる。なお、ガウス分布は一例であり、カテゴリカル分布で近似されてもよいし、三角分布またはコーシー分布で近似されてもよい。
【0067】
図5に示す例では、全結合NN114は、例えば40の中間層すなわち隠れノードで構成され、隠れノードの活性化関数として例えばLeaky-ReLUが用いられている。また、隠れノードのドロップアウト確率は0.3としている。このように、全結合NN114は、ドロップアウトを予測時に利用することで、Epistemic Uncertaintyをモデル化することができる。なお、隠れノードの数は40に限らず、隠れノードの活性化関数はLeaky-ReLUに限らない。ドロップアウト確率も0.3に限らず、適宜設定できる。
【0068】
なお、図5では、全結合NN114は、ドロップアウトを予測時に利用する例が示されているが、これに限らず、アンサンブルを利用してもよい。その場合、全結合NN114は、1以上のモデルを備え、1以上のモデルそれぞれから得られた姿勢予測を融合した結果を例えばガウス分布に近似して出力すればよい。
【0069】
以上のように、全結合NN114は、様々なモデルが確率的にサンプリングされるので、LSTM113から出力される1つの結果(入力)から、複数の仮説(予測した複数の姿勢)を出力することができ、当該出力を分布の形(つまり予測分布)で出力処理部115に出力する。
【0070】
<出力処理部115>
出力処理部115は、第1ニューラルネットワーク112から出力される分布(上記の予測分布)を元に、さらに、複数の仮説(予測した複数の姿勢)を生成する。そして、第1ニューラルネットワーク112から出力される分布と生成した複数の仮説とを含む分布を、姿勢予測器11が出力する予測分布として、マッチング部13及びデータ更新部15に出力する。
【0071】
本実施の形態では、出力処理部115に、第1ニューラルネットワーク112の出力(上記の予測分布)に、さらに分散を加えて出力させることで、Heteroscedastic Aleatoric Uncertaintyをモデル化することができる。
【0072】
より具体的には、出力処理部115は、第1ニューラルネットワーク112から出力される分布と生成した複数の仮説とを含んだ分布を、第1ニューラルネットワーク112の出力に分散を加えた形で、姿勢予測器11が出力する予測分布として出力する。これにより、出力処理部115は、パーティクルフィルタのサンプル集合を構成するパーティクルとして扱える形で、姿勢予測器11が出力する予測分布を出力することができる。
【0073】
図5に示す例では、出力処理部115は、第1ニューラルネットワーク112から出力されるガウス分布を平均して、乱数をかけることで、複数の仮説に該当する複数の値を算出する。また、出力処理部115は、第1ニューラルネットワーク112から出力されるガウス分布と、姿勢の時系列データから抽出した最新の目に見えるキーポイントの座標との加算値から、分散を算出する。そして、出力処理部115は、算出した複数の値と分散値とを加算したガウス分布を、予測分布として出力する。なお、図5では、σはガウス分布の平均を示し、μは分散を示し、N(0,1)は標準ガウス分布を示している。
【0074】
このようにして、出力処理部115は、状況に応じてパーティクルの多様性つまり分散値を適応的に変化させながら、第1ニューラルネットワーク112の出力に依存したガウス分布を出力する。なお、ガウス分布は一例であり、カテゴリカル分布で近似されてもよいし、三角分布またはコーシー分布で近似されてもよい。
【0075】
なお、出力処理部115は、例えば映像に映る人物が高速に動く状況の場合、パーティクルをより広範囲に散布したことを表現したガウス分布を出力する。一方で、出力処理部115は、例えば映像に映る人物が低速で動く状況の場合、パーティクルをより狭い領域に集中させたことを表現するガウス分布を出力する。このような動作は、パーティクルフィルタのサンプル集合で用いる有限のパーティクルを効果的に利用するのに役立つ。
【0076】
(実施例1)
実施例1では、図5に示す姿勢予測器11を用いて現在フレームの予測分布を予測して姿勢予測結果を得た場合と、比較例として、非特許文献1で開示されている姿勢追跡技術を用いて現在フレームの姿勢を推定して姿勢推定結果を得た場合とについて説明する。ここで、非特許文献1で開示されている姿勢追跡技術を以下では、オプティカルフローベースの姿勢推定とも称する。
【0077】
図6A図6Cは、比較例における現在フレームの姿勢推定結果を示す図である。図7A図7Cは、実施例1における現在フレームの姿勢予測結果を示す図である。図6A及び図7A図6B及び図7B、並びに、図6C及び図7Cでは、それぞれ同じ現在フレームに対する姿勢推定結果及び姿勢予測結果が示されている。図6A図6Cにおいて、白抜きの丸は前のフレームにおいて推定されたキーポイントの位置を示し、白抜きの三角は現在フレームにおいて推定されたキーポイントの位置を示し、白抜きの星は現在フレームにおける真(つまり正解の)のキーポイントの位置を示す。一方、図7A図7Cにおいて、点線の領域は、現在フレームにおいて予測されたキーポイントの位置の分布(上記の予測分布に該当)し、予測分布の平均の位置を示し、白抜きの星は現在フレームにおける真(つまり正解の)のキーポイントの位置を示す。
【0078】
図6Aに示すように、動きの少ない人物に対しては、真のキーポイントの位置と推定されたキーポイントの位置とが比較的一致しており信頼性の高い姿勢推定結果が得られている。一方、図6B及び図6Cのように、動きの速い体の部分及び動きの速い人物に対しては、真のキーポイントの位置と推定されたキーポイントの位置とが離れており信頼性の低い姿勢推定結果となっている。
【0079】
これに対して、図5に示す姿勢予測器11を用いて、2つの不確実性を考慮して現在フレームの予測分布を予測した場合、図7A図7Cのように、真のキーポイントの位置が点線の領域で示される予測分布に含まれている。さらに、真のキーポイントの位置と予測分布の平均の位置とが比較的一致していることから、信頼性の高い姿勢予測結果が得られているのがわかる。
【0080】
[物体追跡装置10の動作等]
次に、以上のように構成される物体追跡装置10の動作等について説明する。
【0081】
図8は、本実施の形態における物体追跡装置10の動作例を示すフローチャートである。
【0082】
まず、物体追跡装置10は、姿勢予測器11に、姿勢の時系列データを入力して、現在フレームにおける予測分布を予測させる(S1)。より具体的には、物体追跡装置10は、姿勢の時系列データを、第1ニューラルネットワークを含み不確実性を考慮した姿勢予測を行う姿勢予測器11に入力して、現在フレームにおける1以上の第1物体の予測姿勢位置それぞれの分布である予測分布を予測させる。なお、姿勢の時系列データには、姿勢推定部12に入力される映像における時系列に連続した2以上の過去フレームに映る1以上の物体それぞれの姿勢を示す座標が含まれている。なお、本実施の形態では、物体は人物である。
【0083】
次に、物体追跡装置10は、姿勢推定部12に、映像を入力し、現在フレームに映る物体それぞれの位置の集合を推定させる(S2)。より具体的には、物体追跡装置10は、現在フレームのRGB画像を、姿勢推定部12を構成する第2ニューラルネットワークに入力して、現在フレームに映る1以上の第2物体それぞれの位置の集合を推定させる。
【0084】
次に、物体追跡装置10は、マッチングすることにより、現在フレームにおける物体の識別情報と位置情報とを取得して出力する(S3)。より具体的には、物体追跡装置10は、ステップS2で推定した位置の集合と、ステップS1で予測した予測分布とをマッチングする。これにより、物体追跡装置10は、1以上の第2物体それぞれが1以上の第1物体のいずれかに該当するかを示す識別情報、及び、1以上の第2物体それぞれの姿勢を示す座標である位置情報を取得して出力する。なお、本実施の形態では、物体追跡装置10は、マッチングとして二部マッチングを用いる。また、現在フレームにおける物体の識別情報は、現在フレームにおける物体に付与されたIDに関する情報である。現在フレームにおける物体の位置情報は、現在フレームにおける物体の姿勢を構成する複数のキーポイントの位置座標である。
【0085】
次に、物体追跡装置10は、ステップS3で取得した識別情報と位置情報とに基づいて、ステップS1で予測した予測分布から得られる現在フレームの物体の姿勢を示す座標を含むデータを姿勢の時系列データに追加することで更新する(S4)。
【0086】
このように、物体追跡装置10は、ステップS1~S4を、入力される映像に対して行うことで、映像に映る人物などの物体の姿勢を追跡することができる。
【0087】
(実施例2)
実施例2では、2つの不確実性を考慮して現在フレームの予測分布を予測する姿勢予測器11と、パーティクルフィルタとを活用した物体追跡装置10との物体追跡方法について説明する。実施例2では、物体は人物であるとして以下説明する。
【0088】
図9は、実施例2における物体追跡方法の擬似コードの一例を示す図である。図10は、実施例2における物体追跡方法を概念的に示す図である。なお、図9に示される擬似コードは、行列演算を行うためのツールであるTensorFlowによって実装され、最も外側のループを除くループの繰り返しと、すべての独立したスレッドとがGPUで並列実行される。GPUとしては、例えば単一のNVIDIA RTX2080 GPUを用いることで、30 fpsで10程度の姿勢を同時に追跡できる。図9に示される擬似コードにおいて、「(1)Pose Prediction」で示されるアルゴリズムは、物体追跡装置10の姿勢予測器11の姿勢予測処理に該当する。「(2)Pose Estimation」で示されるアルゴリズムは、物体追跡装置10の姿勢推定部12の姿勢推定処理に該当する。「(3)Greedy Matching」で示されるアルゴリズムは、物体追跡装置10のマッチング部13のマッチング処理に該当する。「(4)Particle Update」で示されるアルゴリズムは、物体追跡装置10のデータ更新部15の更新処理に該当する。
【0089】
ここで、時刻tにおける現在フレームtから推定された複数の姿勢からなる1以上の人物をCtとし、当該複数の人物それぞれを示す一時的なインデックスを、jとする。図9に示される擬似コードにより行う物体追跡方法は、最大Fmaxフィルタを用いて、複数の人物における複数の姿勢を追跡するとする。
【0090】
また、複数の姿勢それぞれは、一意の人物を示すtrack IDとしてのkを持ち、P個のパーティクルで表現される。フィルタkのパーティクルnは、過去の姿勢z(k,n) t-L:t-1を格納するLサイズのキューを含む。時刻に対する追跡処理の間、Ft(<Fmax)フィルタのみがアクティブになり実行される。フィルタのアクティブ化と非アクティブ化とは、フレーム中の人物の出現(消失)を管理するライフタイムカウントlkによって制御される。
【0091】
まず、図9に示される擬似コードにおいて、アルゴリズム1が開始されると、1行目の手順で示されるように、すべてのフィルタが非アクティブになる。
【0092】
次に、3行目及び4行目の手順で姿勢予測処理が行われる。より具体的には、まず、3行目の手順では、過去の姿勢z(k;n) t-L:t-1のFt×Pシーケンスからなる姿勢の時系列データが、アクティブフィルタから収集される。次いで、4行目の手順では、収集した姿勢の時系列データを、姿勢予測器11に入力して、Ft×Pの予測姿勢z(k;n) tを出力させる。
【0093】
なお、時刻t=1すなわち映像を構成する最初の現在フレームtに対して、または、アクティブなフィルタがない場合には、3行目及び4行目の手順は実行されない。また、Κtは、現在有効であるアクティブなフィルタの集合を表している。また、姿勢の時系列データは、図10では、複数の過去フレームの予測分布を示す座標と人物に付与されたIDとして示されている。
【0094】
次に、5行目の手順で姿勢推定処理が行われる。より具体的には、5行目の手順では、上述した非特許文献1に開示されるdeep CNNに、現在フレームのRGB画像を入力して、人物Ctを示す推定姿勢x(j) tを推定させる。なお、図10では、現在フレームのRGB画像を、姿勢推定部12に入力して、現在フレームに映る人物の複数の姿勢をキーポイントで推定させた推定結果を得ている、人物が誰か(付与すべきID)まではわからないことが示されている。
【0095】
次に、6行目~17行目の手順でマッチング処理が行われる。より具体的には、まず、6行目の手順では、貪欲法を用いて、Ft×Pの予測姿勢z(k;n) tと、Ctの推定姿勢x(j) tとから、全体として、Ct×Ft×PのOKS値を示すd(j,k,n) OKSが計算される。次いで、7行目の手順では、Ct×Ft×PのOKSテンソルの形状が、n軸に沿って重み平均を取ることによりCt×Ftに変換されて、マッチングスコアの行列が計算される。次いで、8行目の手順では、計算されたマッチングスコアの行列を用いて、尤もらしいペアを組み合わせる2部マッチング処理が行われる。この処理により、閾値を下回る(つまり、推定姿勢と予測姿勢とが離れて配置される)マッチングスコアを有するペアが削除されるので、不適切なマッチングを防止することができる。8行目の手順で示される変数j'k及びk'jは、それぞれフィルタk及び姿勢jに対応するもののインデックスを示す。なお、アクティブフィルタの不足及び過剰、並びに閾値の原因で、対応するものが割り当てられていない場合、変数j'k及びk'jは負の値を取る。また、{j'k}は、あるフィルタkから見たマッチした人物のIDを示し、{k'j}jは、検出されたjという人からみてマッチするフィルタを示す。
【0096】
次いで、10行目及び11行目の手順では、変数k'jが姿勢jに対して有効な値を持つ場合、(x(j) t, k'j)の組が追跡結果として出力部14に出力される。図10では出力部14(不図示)により出力された、当該組が現在フレームtに重畳された追跡結果が示されている。なお、10行目の手順で示されるk'j>-1は、変数k'jが姿勢jに対して有効な値を持ち、ペアが成立したフィルタがあることを示す。一方、12行目~17行目の手順では、変数k'jが姿勢jに対して無効な値を持つ場合、新たにフィルタknewがアクティブになる。そして、新しいインデックスが推定姿勢x(j) tとともに出力部14に出力される。
【0097】
次いで、15行目及び16行目の手順では、過去フレームの姿勢がわからないことから、姿勢の時系列データを示すキューを、0としてキーポイントを非表示させて初期化し、予測姿勢をx(j) tとすることで初期化する。
【0098】
次に、18行目~26行目の手順で更新処理が行われる。より具体的には、まず、18行目の手順では、最新の予測姿勢z(k,n) tが姿勢の時系列データを示すキューにプッシュされ、最も古い予測姿勢が削除される。次いで、20行目及び21行目の手順では、変数j'kが有効な値を持つ場合、フィルタkのキューは、前状態における尤度に基づいて、パーティクルを選び直す確率的リサンプリングが行なわれる。なお、20行目及び21行目の手順は、j' k <0の場合、実行されない。
【0099】
次いで、22行目及び24行目の手順では、ライフタイムカウントlkは、フィルタkに対応するものの存在に応じて増加または減少する。25行目及び26行目の手順では、ライフタイムカウントlkがゼロになると、フィルタkで追跡される人物は完全に消失したとみなされ、フィルタkは非アクティブ化される。
【0100】
(実施例3)
実施例3では、Pose-Track2018 Data setを用いて行った物体追跡装置10の性能評価実験の結果について説明する。なお、Pose-Track2018 Data setでは、ビデオ内の複数の人物に対して、17のボディキーポイントの場所と一意のtrack IDとを含むアノテーションが付与されている。実施例3でも、物体は人物であるとして以下説明する。
【0101】
本実施例では、Pose-Track2018 Data setを用いて、上述した図5に示す姿勢予測器11に対して学習と評価とを行った。学習用データは、Pose-Track2018 Data setの学習用のアノテーションデータから作成した。また、Adam optimizerを利用して、作成した学習用データで姿勢予測器11を学習した。ここで、学習率は10-3であり、ミニバッチサイズは30であるとした。
【0102】
図11は、実施例3における物体追跡性能の評価結果を示す図である。図11では、Pose-Track2018 Data setと既知の評価ツールを使用して、物体追跡性能として物体追跡精度(MOTA)をスコアで算出した。ここで、MOTAはMultiple Object Tracking Accuracyの略語である。図11では、姿勢予測器11の姿勢追跡方法のMOTAが本開示として示されている。また、図11では、非特許文献1で開示されている姿勢追跡方法のMOTAが比較例として示され、その他の既存の姿勢追跡方法のMOTAが参考例1~5として示されている。
【0103】
図11に示すように、本開示では、66.2のスコアを達成し、比較例における65.4のスコアより改善しているのがわかる。
【0104】
次に、図5に示す姿勢予測器11のどのコンポーネントが改善に貢献したかを明らかにする実験を行った。より具体的には、図5に示す姿勢予測器11のコンポーネントのうち、1)2種類の不確実性の両方またはいずれかを無効化した場合、2)時系列データの時間長さを示すパラメータLを変化させた場合の性能評価実験を行った。本実施例では、図5に示す全結合NN114に適用していたドロップアウトを非アクティブ化することにより、Epistemic Uncertaintyをモデル化しない場合を実現させた。一方で、図5に示す出力処理部115に用いる平均の値(つまりσの値)を固定させることにより、Heteroscedastic Aleatoric Uncertaintyをモデル化しない場合を実現させた。
【0105】
図12は、実施例3における姿勢予測器11のコンポーネントを無効化等した場合の性能評価実験の結果を示す図である。図12に示される表では、Epistemic Uncertaintyを有効にする場合すなわちEpistemic Uncertaintyをモデル化する場合にチェックが入っている。同様に、Heteroscedastic Aleatoric Uncertaintyを有効にする場合すなわちHeteroscedastic Aleatoric Uncertaintyをモデル化する場合にチェックが入っている。なお、図12において、Epistemic Uncertaintyは、E.Uncertaintyと表現されており、Heteroscedastic Aleatoric UncertaintyはH.A.Uncertaintyと表現されている。
【0106】
また、図12では、性能評価の指標として、MOTAの代わりに、MOTAを計算するための中間変数であるnum_switchesを用いた。なお、MOTAは、num_switches、num_misses及びnum_false_positivesの3つの変数で構成される。num_switchesは、あるフレームで例えばAという人物のキーポイントと認識していたが別のフレームで例えばBという人物のキーポイントと誤認識したというように、追跡エラーの総数を示す指標である。num_missesは、あるフレーム内で本来認識すべきキーポイントの位置を認識していない姿勢推定エラーの総数を示す指標である。num_false_positivesは、あるフレーム内で本来認識すべきでないキーポイントを誤って認識してしまった姿勢推定エラーの総数を示す指標である。なお、図12では、非特許文献1で開示されている姿勢追跡方法のnum_switchesが比較例として示され、参考のためにMOTAのスコアも示されている。
【0107】
図12において、本開示と比較例とのnum_switchesの値を比較すると、図11に示す姿勢予測器11のMOTAのスコアが、より正確な姿勢推定によってではなく、姿勢予測器11による姿勢予測によって達成されたことがわかる。さらに、図12に示すように、本開示と比較例とでは、num_switchesの値において、約50%改善していることがわかる。
【0108】
また、図12から、2種類の不確実性が関与することで追跡性能が改善することもわかる。また、2種類の不確実性が考慮された姿勢予測器11では、姿勢の時系列データの時間長さを示すパラメータLの値が10または15のより長いコンテキストを参照することにより、MOTAのスコアが高くなることがわかる。つまり、姿勢の時系列データとして長いコンテキストを参照することにより、2種類の不確実性が考慮された姿勢予測器11では、より多くのもっともらしい仮説(予測姿勢位置)を予測でき、結果として最終的な性能の改善を行うことができるのがわかる。なお、パラメータLは、LSTMの順次転送のメモリサイズ及び計算時間といった計算の複雑さと、学習の安定性とに影響するため、慎重に決定する必要がある。なお、これまでの説明では、キューの利用により姿勢の時系列情報を明示的に履歴として保持していたが、時系列情報を扱う手段はこれに限定されない。例えば、LSTMの内部変数を保持し、これをキューの代替としてもよい。
【0109】
[物体追跡装置10の効果等]
以上のように、本開示における物体追跡装置10によれば、予測結果の不確実性を考慮した姿勢予測を行う姿勢予測器11を利用して、映像に映る人物の姿勢追跡を行うことで、追跡ミスを抑制することができる。本実施の形態では、2種類の不確実性を組み込んで姿勢予測を行う姿勢予測器11と、パーティクルフィルタとを利用して映像に映る人物の姿勢追跡を行う。ここで、姿勢予測器11では、Epistemic Uncertainty及びHeteroscedastic Aleatoric Uncertaintyといった2種類の不確実性がモデル化されて組み込まれている。これにより、姿勢予測器11は、多様で尤もらしい仮説(つまり、予測姿勢位置)を現在フレームに映る人物の姿勢の予測分布(つまり、キーポイントの位置の分布)で予測することができる。また、姿勢予測器11に、リカレントニューラルネットワークを導入することで、長い時間のコンテキスト情報を活用できるので、映像に映る人物にオクルージョンが発生しても、追跡ミスを抑制することができる。
【0110】
ここで、図13及び図14を用いて、物体追跡装置10の効果について説明する。
【0111】
図13及び図14は、本開示と比較例とにおける物体追跡方法による物体追跡結果を視覚的に示す図である。図13では、映像に映る3人が高速に移動すなわち複数の人物の姿勢が高速に変化する場合における姿勢追跡結果が示されている。図14では、映像を構成する3枚の時系列フレームにおいて、2枚目のフレームで1人が他の人に隠れて3枚目のフレームで再現する場合すなわち、映像に映る人物の姿勢にオクルージョンが発生する場合の姿勢追跡結果が示されている。なお、図13の(a)及び図14の(a)では、非特許文献1で開示されている姿勢追跡技術による姿勢追跡結果が比較例として示されている。図13の(b)及び図14の(b)では、本実施の形態における物体追跡装置10による姿勢追跡結果が本開示として示されている。
【0112】
より具体的には、図13の(a)では、時系列フレームにおいて後のフレームでは、太丸線で示されるキーポイントが前のフレームと異なる人物に付されており、異なる人物を同一人物と誤認識してしまい追跡ミスをしているのがわかる。一方、図13の(b)では、時系列フレームにおいて前後のフレームにおいて、太丸線で示されるキーポイントが同一人物に付されていることから、正しく認識できており追跡ミスが抑制されているのがわかる。
【0113】
図14の(a)では、時系列フレームにおける最初のフレームと最後のフレームとで、オクルージョンが発生した人物に対して、丸線と丸点線とで示されるキーポイントが付されており、同一人物を異なる人物と誤認識しており追跡ミスをしているのがわかる。一方、図14の(b)では、時系列フレームにおける最初のフレームと最後のフレームとでも、オクルージョンが発生した人物に対して、丸線で示されるキーポイントが付されており、正しく同一人物と認識できており追跡ミスが抑制されているのがわかる。
【0114】
以上のように、本実施の形態における物体追跡装置10によれば、高速に姿勢が変化したり、オクルージョンにより姿勢が消失したり再現したりすることなどの外乱が発生しても、追跡ミスを抑制できることがわかる。
【0115】
(他の実施態様の可能性)
以上、実施の形態において本開示の物体追跡方法について説明したが、各処理が実施される主体や装置に関しては特に限定しない。ローカルに配置された特定の装置内に組み込まれたプロセッサーなど(以下に説明)によって処理されてもよい。またローカルの装置と異なる場所に配置されているクラウドサーバなどによって処理されてもよい。
【0116】
なお、本開示は、上記実施の形態に限定されるものではない。例えば、本明細書において記載した構成要素を任意に組み合わせて、また、構成要素のいくつかを除外して実現される別の実施の形態を本開示の実施の形態としてもよい。また、上記実施の形態に対して本開示の主旨、すなわち、請求の範囲に記載される文言が示す意味を逸脱しない範囲で当業者が思いつく各種変形を施して得られる変形例も本開示に含まれる。
【0117】
例えば、Aleatoric uncertaintyをモデル化するために、α-divergenceドロップアウトとニューラルネットワークアンサンブルとを利用してもよい。また、aleatoric uncertaintyをモデル化するために、Mixture Density Networksを導入することにより、上述したガウス分布ではなく混合ガウス分布で予測分布を表現してもよい。
【0118】
また、本開示の物体追跡方法は、パーティクルフィルタ、2種類の不確実性を考慮した姿勢予測、及びコンテキスト情報を活用する。このことから、本開示の物体追跡方法は、例えばSLAM(Simultaneous Localization and Mapping)のようなさまざまなSMC(Sequential Monte Carlo)ベースのロボット工学のタスクに適用できる可能性がある。また、本開示の物体追跡方法は、2次元の人物姿勢に留まらず、3次元の人物姿勢に適用できる可能性がある。
【0119】
本開示は、さらに、以下のような場合も含まれる。
【0120】
(1)上記の装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0121】
(2)上記の装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0122】
(3)上記の装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0123】
(4)また、本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0124】
(5)また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0125】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0126】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0127】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【産業上の利用可能性】
【0128】
本開示は、物体追跡方法及びプログラムに利用でき、特に映像に映る複数の人物に対する2次元の人物姿勢を追跡する物体追跡方法及びプログラムに利用できる。
【符号の説明】
【0129】
10 物体追跡装置
11 姿勢予測器
12 姿勢推定部
13 マッチング部
14 出力部
15 データ更新部
111 入力処理部
112 第1ニューラルネットワーク
113 リカレントNN
114 全結合NN
115 出力処理部
図1
図2
図3
図4
図5
図6A
図6B
図6C
図7A
図7B
図7C
図8
図9
図10
図11
図12
図13
図14