Closed2
TSM(Temporal Shift Module)
Videoを入力とするタスクで、2Dのencoderを使って擬似的に3Dを認識しようとする手法を2.5Dと呼ぶ場合が多いが、この手法もその一つ。
既存手法にはFactorized convolution(時間方向と空間方向で独立してconvolutionを適用)を用いたり、最後の数層のみ3D convolutionを用いてパラメータ数を削減する手法(late fusion)がある。この論文では、chanelの一部分をtime方向に+-1シフトするという計算量のオーバヘッドがほぼ0にもかかわらず、既存の1D convや3D convを用いた手法よりも計算効率と精度のトレードオフが良いという結果を示している。
数理的にはtime方向のchannel shiftは、後続の空間方向の2D convolutionと合わせることで擬似的な3D convolutionを実現している。
既存の手法よりも提案手法が優れている理由として、著者らは「late fusionの場合のように、ネットワークの一部にのみtime mixingする手法に比べて、提案手法はネットワークの全てのレイヤーにtime mixingを適用できるためではないか」といった趣旨の内容を考察している。
なお、time方向にchannelをシフトする手法は既存手法でもあるらしい(要確認)が、提案手法のcontributionは以下:
- residual pathにのみshiftを加えることで、shortcut接続により現在のフレームの情報を劣化させずに済む
- 全てのchannelにシフトを適用するのでなく、適用するチャネルを最初の1/nのチャネルのみ制限することで大幅な表現の劣化を防いでいる(例: 現在のフレームに写っているボールを蹴る瞬間の情報が重要な場合、全てのチャネルをシフトするとその情報が処理できなくなる)
他にも、
- offlineの処理にはbi-directional(+-1)なシフトを、online(リアルタイム処理)の場合は未来のフレームが利用できないのでuni-directional(-1)なシフトを加えることでともに本手法によってゲインが得られた。
Reference
- [1] TSM: Temporal Shift Module for Efficient Video Understanding
疑問点
- シフトするチャネルのindexと方向は学習、推論時で固定か?(多分そうしないと意味がない)
- おそらく最初の1/nチャネルを+1シフト、次の1/nチャネルを-1シフトというように固定しているように読み取れた。
- 学習により、これらのチャネルはそれぞれ未来と過去のフレームの情報のうち、現在のフレームの処理にとって重要な情報が集められると考えられる。
アイデア
- 厳密にshift + paddingにしなくてもroll(-1が0に移動)でも効果ありそう
このスクラップは2023/12/30にクローズされました