Googleが提案する人手によるラベル付けなしに学習する動画像の物体トラッキング手法

課題
動画上で動く物体を追跡することは、映像の分析・合成や自動運転における歩行者の検出、ロボットによる人の追従など、 様々な場面で必要とされる要素技術です。映像が与えられたとき、フレーム毎の特徴やフレーム間の変化を捉え、特定の点や領域がその後のフレームでどこに移動するかを推定することが課題となります。
物体やカメラが動くと、物体像の位置は変化しますが、同時に大きさ、向きや陰影なども変化します。 このような変化を許容しながら物体の動きを捉える処理を設計することは容易ではありません。 一方で、畳み込みニューラルネットワーク(CNN)やLSTMなどの機械学習手法は、 トラッキングのために必要な処理を訓練によって獲得することができますが、 その訓練のために大量のラベル付きデータを必要とします。
解決方法
Google AIは、実質的に教師なしで学習できるトラッキング手法を提案しました。 本手法は、データに元々含まれている情報を教師信号として利用する、self-supervised learningというアプローチをとっています。手動でラベル付けする必要がないため、データセットの用意にかかる労力が大幅に削減できます。
学習時は、グレースケールに変換した動画に再び色を付けることをCNNに課します。この場合、訓練データから取り除かれた色の情報が教師信号として利用されることになります。 ここで面白い点は、CNNが直接色を推定するのではなく、入力画像の各画素に特徴ベクトルを割り当てる、特徴抽出器として振舞うということです。
CNNの入力はグレースケール画像で、画像の各点について、その周辺の特徴を表す数十次元程度のベクトルを出力します。この特徴ベクトルによって、ある画像のこの部分と、別の画像のこの部分は似ている、全く異なるなど、類似度を評価することができます。 この類似度に基づいて、動画のあるフレーム(参照フレーム)から、その数フレーム先(対象フレーム)の画像に色をコピーし、なるべく元の動画のフレームに近い画像を生成しようとします。
参照フレームに映っていた物体は、多くの場合、対象フレームにも映っているでしょう。そして、色(色相)は両者の間で不変であるはずです。 もし両フレームの対応する部分について常に高い類似度を与えられれば、参照フレームから対象フレームに正しい色をコピーすることができます。 逆に、色付けの誤差が小さくなるようにCNNの重みを更新することで、そのような特徴抽出器を訓練することができます。
トラッキングは、初期フレームの各画素に対象となる領域のラベルが与えられた状態から開始されます。つまり、画像の各点に赤、緑のように色が割り当てられているのと同様に、各点に物体1、物体2 色付けと同様に、学習済みの特徴抽出器に基づいて、フレーム1からフレーム2へ、フレーム2からへフレーム3へというように、ラベルをコピーして行きます。特徴抽出器は、色ではなくフレーム間の同じ部分と違う部分を区別する特徴量を学習しているため、対応する部分にラベルをコピーして行くことによりトラッキングが実現できます。
どうなったか
本手法によるトラッキングの精度は、各フレームにラベルの付いた動画による教師あり学習には劣りますが、 オプティカルフローを用いたものなど、既存の教師なし手法よりも高い精度が得られました。
また、一度CNNの訓練が完了すれば、初期ラベルの与えかたによって様々なトラッキングを実行できます。 もちろん、元々色付けを学習しているため、白黒動画への色付けも行うこともできます。 ただし、初期フレームは色付きである必要があります。 トラッキングの精度はCNNの構造やデータセットに依存します。 計算コストとのトレードオフを考慮しつつ、用途に応じてトラッカーを構成するために、 教師なしで学習できることは大変有益でしょう。
本手法を筆者がTensorFlowで実装したものをこちらで公開しています。 筆者は、学習済みの特徴抽出器を用いて、ロボットが初めて見た物体を記憶するためのシステムを構築しました。ロボットはいくつかの向きで呈示された物体の特徴量を抽出して記憶します。同じ物体を検出するときは,カメラ画像の特徴量と記憶した特徴量とのマッチングを行います。 呈示された物体を認識する新たなCNNを学習するためには数時間を要しますが、この方法では記憶・認識のプロセスを実時間で実行できます。
筆者が参加したワールドロボットサミット2018(WRS2018)のパートナーロボットチャレンジでは、ロボットが写真を見せられて、それと同じ物を持って来るというタスクがありましたが、我々のチームは競技中に物体を記憶するために、この技術を利用しました。 また、本手法を転移学習に利用することもできるでしょう。
まとめ
ここでは、動画の色付けにより、教師なしで学習する、CNNベースのトラッカーについて紹介しました。
本手法により訓練された特徴抽出器は、様々な物体の移動に伴う様々な変化を許容しつつ、その物体(の各部分)が持つ本質的な視覚的特徴を捉えていると考えられます。 その意味で、この手法は大変汎用性の高い特徴抽出器を教師なしで学習できる手法といえます。 例えば、この手法を用いて大量のラベルなし動画を学習したCNNをベースとすれば、 ラベル付きサンプル数の小さいデータセットでも過学習の起こりにくいモデルを構築できるでしょう。
参考資料
Self-Supervised Tracking via Video Colorization(Google AI blog)
Tracking Emerges by Colorizing Videos(論文)
(横山裕樹)