A Versatile Learning-based 3D Temporal
Tracker: Scalable, Robust, Online |
2018-08-23 - 2018-09-09 (update) |
|
|
*物体のトラッキング
物体のトラッキングは,入力データの種類として,2次元のカラー画像を利用する方法や3次元の距離画像を利用する方法があります.距離画像を利用する方法は,物体の3次元モデルと距離画像との残差を最小化する[link:ICP]に基づく方法が一般的です.一方,文献[1]では,[link:ランダムフォレスト]に基く機械学習を利用するトラッキングの方法が紹介されています.物体の隠れ(オクルージョン)も想定した条件も学習させることで,単純なICPと比べると安定性を向上できるようです.また,高速性や省メモリ,オンライン学習によるモデルのない物体のトラッキング機能も利点として紹介されています.
[youtube:E7nLGBWG-0w]
{{small:[1]D.Tan, F.Tombari, S.Ilic, N.Navab, "A Versatile Learning-based 3D Temporal Tracker: Scalable, Robust, Online", International Conference on Computer Vision (ICCV), 2015}}
{{small:[link:https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Tan_A_Versatile_Learning-Based_ICCV_2015_paper.pdf] }}
[img:3xy1]
{{small:図1 文献[1]で紹介されているトラッキングアルゴリズムの利点 画像出典[1]}}
*サンプルコード (C++)
ライブラリ:[link:simplesp]
サンプルコード:simplesp/sample/gl/track3d
シミュレーションで作成した動きのある距離画像に対して,トラッキングを行います.
トラッキングを始める前に1分弱の学習が必要になります.
*アルゴリズム
文献[1]のアルゴリズムの概要を説明します.
まずは,シミュレーションor実写により取得した距離画像を考えます(図2).その距離画像を基準として,「①3次元モデルの位置姿勢」を微小変化させたとき,「②距離画像とモデル上の点群の残差がどう変化するか」を計量します.そして,その微小変化のバリエーションを複数与えることで,①と②の関係を学習させるためのデータセットを生成できます.
生成したデータセットを入力とした学習により,決定木(decision tree)を作成します.ここで,ある距離画像を基にした決定木は,その距離画像の物体の見え方にしかか対応できません.そのため,物体の見え方も網羅的に変えた距離画像を準備し,それぞれ決定木を作成します.なお,学習が終わって位置姿勢を推定する際は,過去の時刻の位置姿勢(トラッキングなので過去の時刻の位置姿勢は得られる)をヒントに,利用する決定木を選ぶことになります.
[img:5t17]
{{small:図2 距離画像に設定する点群}}
**オクルージョン対策
単純に距離画像上の物体全体に分布するような点群を設定するのではなく,偏りを与えて点群を設定させます.これにより,物体の部分的な情報を使うデータセットも生成できます.このデータセットがあることで,オクルージョンが発生する条件においても,部分的な残った領域を利用した計算が可能になり,トラッキングの安定性を向上させることができます.
[img:lpkn]
{{small:図3 点群の設定の偏り 画像出典[1]}}
>> ご意見・ご質問など お気軽にご連絡ください.info