動画認識専用の時空間DataAugmentation!
3つの要点
✔️ 画像認識で用いられているDataAugmentationを動画認識に拡張
✔️ RandAugmentやCutmixを時間方向に拡張
✔️ 1st Visual Inductive Priors (1stVIPriors)等の少ないデータセットのタスクでSoTAと競合する結果
Learning Temporally Invariant and Localizable Features via Data Augmentation for Video Recognition
written by Taeoh Kim, Hyeongmin Lee, MyeongAh Cho, Ho Seong Lee, Dong Heon Cho, Sangyoun Lee
(Submitted on 13 Aug 2020)
Comments: European Conference on Computer Vision (ECCV) 2020, 1st Visual Inductive Priors for Data-Efficient Deep Learning Workshop (Oral)
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:
はじめに
近年、画像認識においてDataAugmentation(以下DA)は欠かせないものになっています。特に画像認識コンペなどでは、学習データの分布を少しでも、テストデータの分布に近づけて分類精度を向上させるために様々なDAが提案されています。画像を回転(rotate)させたり反転(Flip)させたり、色を変えたり(Invert,Grayscale,colorize)することはもちろん、2枚の画像を混ぜ合わせたり(mixup)、切り貼り(cutmix)することが当たり前になってきています。しかし、これらは全て画像認識タスクで研究されており、動画のクラスラベルを推論する動画認識タスクでは、これまでほとんど考えられてきませんでした。
本記事で紹介する論文では、画像認識用のDAを時間方向に拡張して、動画認識タスクで最適なDAの手法は何なのかを研究されています。動画認識タスクにDAを応用するポイントとして、動画の気持ちになって考えてやる必要があります。画像は縦横の2次元ですが、動画は時間方向の次元が加わり3次元になるので、この時間方向を貫く特徴をいかにモデルに学習させるかが重要です。
具体的には、動画は時間的に幾何的・光学的に変わります。上図は論文にて示されている図です。左の図は、スカイダイビングの映像でカメラが回るせいで画像内のオブジェクトの位置が変化しています。右の図は、バスケットの映像でカメラのフラッシュによってコントラストが変化しています。動画には、このような連続画像の質的変化(摂動)が往々にして含まれます。本記事では、そんな時間的変化をDAに組み込むために提案された、2つの手法を解説していきます。
- RandAugment-T:最適なDAをグリッドサーチで調べるRandAugmentを動画に拡張
- Cutmix系の拡張:Cutout, mixup, Cutmix, Cutmixupを動画に拡張
RandAugment-T
RandAugmentは2つのパラメータ(N、 M)をグリッドサーチすることで、最適なDAを見つけ出す手法です。NはDA(transform)の数、MはAugment度合いを示しています。 これは画像認識用に作られているので、動画の場合、各フレームごとに適用しなければなりません。すると、上記ポイントで示したような時間的な変化を再現することができないので、あまり嬉しくなさそうです。そこでRandAugment-Tは、3つのパラメータ(N、 M1、 M2)を用意します。
- N: DA(transform)の数
- M1: スタート画像のAugment度合い
- M2: エンド画像のAugment度合い
M1、 M2はそれぞれ時間端点(スタート画像とエンド画像)のAugment度合いを示しています。下記のpythonで記載された論文中の擬似コードを見ると、np.linspace(...)にて、M1、 M2の間がフレーム数Tで補完されていることがわかります。フレームを通して連続的にAugment度合いが移り変わります。M1とM2の差を大きくすればするほどAugment度合いの変化がきつくなります。
尚、RandAugment-TのDA(transform)の種類は、従来と変わらないので、rotate、shear-x、shear-y、translate-x、translate-yを調整することで論文中下図(a)のようにカメラの幾何学的変換をモデリングでき、solarize、color、posterize、contrast、brightnessを調整することで下図(b)のように高性能カメラの自動撮影モードにおける明るさ調整やコントラストの変化をモデリングできます。
Cutmix系の拡張
次に、論文中では画像認識で広く用いられるCutmix系の手法を動画versionに拡張しています。時間方向を考えると下図のように様々なヴァリエーションが存在することが示されています。
纏めて説明すると(a)、(b)、(d)のキャプションについて、Frame-(DA)は、テレビのチャンネルを切り替えるように、特定の時刻をキーとして変化します。Cube-(DA)はテレビのワイプのように動画内のフレームの特定箇所を暫くの間占有しています。そして(DA)をCutmixとかCutoutとかに変えることで、図のように様々な時間的摂動をモデリングできます。尚、(e)のFademixupに関しては、シーンチェンジすることで境界部分の急激な輝度変化を抑えつつDAする手法と示されています。
- Cutout 画像の特定箇所を注視するのを防ぐ
- Frame-Cutout さらに特定の時間区間(フレーム区間)を注視するのを防ぐ
- Cube-Cutout ハイブリッド型
- Cutmix 画像を切り貼りして特徴認識の空間的な場所を見出すように学習
- Frame-Cutmix 特徴認識の時間的な場所を見出すように学習
- Cube-Cutmix ハイブリッド型
(Cutmixup系はCutmixの境界変化を緩和するversion) - FadeMixup Cutmix系と比べて更に急激な輝度変化を緩和
3つの実験結果
ここからは、上記2つのAugmentの精度を見るための論文中の3つの実験について説明していきます。バックボーンとして、FastSlowネットワークを採用されています。
- UCF101によるアブレーション
- HMDB-51データセットで再実験
- 1stVIPriorでのSoTAとの比較
(尚、UCF101に関しては1stVIPriorというECCV2020コンペ専用のデータsplit)
計算環境はGTX1080Ti(Pytorchによる実装)。著者がほぼ同環境で実行したところ1日ほどで学習が完了しました。
どのDAが最も良いのか?(UCF101によるアブレーション)
RandAugment-T
こちらはRandAugment-Tの結果です。BaselineがDAなし、SpatialがオリジナルのRandAugment、Temporal+がRandAugment-Tです。MixはSpacialとTemporal+のMixです。ボールドされているスコアを見ると、Top1-acc, Top5-accともにTemporal+が最も高いAccであることが確認できます。Spatialでも精度は向上していますが、Temporal+のような時間的変化をモデリングするDA(以下、時間的DA)の方がより精度が高くなっていることが確認できますね。
Cutmix系の拡張
Table.3~5は順にCutout、 Cutmix、 Mixup系の検証です。
Cutout(Table.2)は軒並み精度が低下していることが確認できます。反面、Cutmix(Table.4)、Mixup(Table.5)では、Frame-(DA)系が最高値になっていることが確認できます。これはまさに、時間的DAが動画認識タスクのスコア向上につながることを示唆しています。また、Cutout系は軒並みスコアは下がっていますが、時間的DAであるFrame-CutoutやCube-Cutoutの方が、通常のCutoutよりマシであることが確認できます。さらに、Cutmix系(table.4, 5)よりも、 データをブレンドするMixup系(table.6)の方が特にスコアが高いことが分かります。著者曰く、動画は画像と比べてオブジェクトの動作領域が小さいため、空間領域のCutが致命的になるのではと示唆されています。
他のデータセットではどうか?(HMDB-51データセットで再実験)
HMDB-51はUCF101よりもデータセット規模が小さいので、動画認識の精度は全体的に低いです。ですが、こちらでもボールドされているスコアの行を見ると、RandAug-TやCube-(DA)のような時間的DAの方が高い精度をマークしていることが確認できます。以上より、概ねUCF101と似たような傾向を示しています。
コンペのSoTAと比べるとどう?(1stVIPriorでのSoTAとの比較)
最後に1stVIPriorというECCV2020にて開催されたコンペで、SoTAと比較されています。
表を見ると、本手法が3位までのチームと比べて競合的なスコアをマークしています。スコアを上回ってはいませんが、1位から3位までのチームはバックボーンに大きな2ストリームネットワークを採用しているのに対して、Oursではslowfast50にDA(RandAug-T & All methods)をかけて、データレベルのアンサンブルをしたのみです。かようにシンプルなネットワークながらも競合しているところが提案DAの汎用性を示しております。
2つの議論
1. 時間的DAがもっと突き放してもよくないか?
時間的モデリング手法が高い精度をマークしているのは、これまでの結果で分かります。ですが、単純なSpatialやCutmixなどの空間的DAでもそれなりに精度が確保できちゃっています。時間的DAのスコアが空間的DAを突き放さなかった理由として、以下の3つの理由が考えられると論文中で示されています。
- 学習データが少ないこと
- 時間的変化が検証データセットにあまり含まれなかったこと
- データセットが行儀よくトリミングされていること
特に、UCF101やHMDB-51はカメラ位置の幾何的な変化や、光学的な変化が少なくなるようにトリミングされています。(研究しやすいように)そのため、空間的DAでもある程度の向上は期待できてしまいます。すなわち、もっと行儀の悪い動画郡がデータセットであれば、もっと空間的DAと時間的DAの差が顕著になるかもしれません。尚、今後の方針としてKinetics等の大規模動画データセットで検証していくことを掲げられています。
2. CAMによる検証
CAMによる可視化は学習の違いを見る上で有用です。論文中の図では空間的DAのMixup(左)よりも、時間的DAのFadeMixup(右)の方がフレームを時間的にローカライズできることを示しています。右の方が勾配カラーが顕著に切り替わっていることが確認できます。論文では、Cutmix系についても同様の旨を示唆する結果が載せられています。
まとめ
本記事では、画像認識タスクで広く用いられるDAを、動画認識タスクに拡張する研究について紹介しました。その結果、時間的変化をモデル化するDAが動画認識に有用であることが分かりました。動画認識はCV界隈に渦巻く動画タスクの中でも極めて限定的な1タスクに過ぎません。今後は、動画の物体検出や、セグメンテーション、時空間のローカライゼーションなど様々なタスクに対して、どう時間的に拡張するかといったことを考える必要がありそうです。画像界隈の空間的DAを時間的にモデリングする、そんな本記事で紹介した研究のスタイルは、今後どんどんホットになっていきそうな予感です。
この記事に関するカテゴリー