Blog

動画から行動単位を分類するAction Segmentation

1. はじめに

動画解析の研究分野において、 AI に動画内の行動を理解させるため、さまざまなタスクが設計されてきました。

最も基本的な Action Recognition は、trimmed 動画(動作区間が切り出された動画)を分類するタスクです。

さらに、untrimmed 動画(動作区間が切り出されていない動画)の中で行動が発生した時間帯を特定しつつ行動を分類する Action Localization があります。

そして今回紹介するメインタスクが Action Segmentation で、複数の動作について「いつからいつまで」「何が行われているか」を動画全体で特定します。

2. Action Segmentation とは

Action Segmentation は、一連の動作からなる工程動画を対象に、各フレームで「どのステップが行われているか」を推定し、「いつ・何が起きているか」を時間軸に沿って理解するタスクです。

例えば、「コーヒーを淹れる動画」を入力すると、モデルは動画の内容を解析しながら次のように判断します。

  • 3秒~20秒:コーヒー豆の重量を測る
  • 30秒~50秒:豆を挽く
  • 1分10秒~2分:お湯を準備する

2.1 セグメント単位とフレーム単位の二つの見方

このタスクには、二つの視点があります。

セグメント単位の視点

各行動を action instance として表します。action instance は、開始時刻・終了時刻・行動の種類(action class)をひとまとめにした形式です。動画全体にわたって、上記の三つの行動に対応する action instance を推論します。

フレーム単位の視点

動画の各フレームについて、行動の種類を分類します。上記の動画の例では、各フレームを三つの行動(コーヒー豆の重量を測る、豆を挽く、お湯を準備する)のいずれか、または background(対象となる action のどれも行われていないフレーム)に分類します。

多くの fully supervised モデルでは、各フレームの action class を予測し、同じクラスが連続するフレームを1つのセグメントとしてまとめるのが一般的です。

2.2 Semantic Segmentation との関係

「Action Segmentation」の “Segmentation” も、実は画像の「Semantic Segmentation」の 空間方向の “Segmentation” を時間方向に置き換えた1次元版と考えられます。

  • Semantic Segmentation :1枚の画像をピクセル単位で「どのクラスに属するか」を分類するタスク
    • 画像 → 各ピクセルをクラス分類
    • 空間方向
  • Action Segmentation :1本の動画をフレーム単位で「どの action class に属するか」を分類するタスク
    • 動画 → 各フレームをクラス分類
    • 時間方向

このように、同じ構造になっていて、“どの単位(pixel / frame)がどの class に属するかを連続的に推論する” という同じ意味で “Segmentation” が使われているのです。

2.3 Procedure 動画での活用

Action Segmentation は「人間の作業動画しか扱えないタスク」ではありませんが、特に人間が何か作業している動画(Procedure 動画) を理解するときに効果を発揮します。

Procedure 動画とは:

あるタスク(目的)を達成するために、複数のステップを順番に実行していく動画のことです。

たとえば、「料理」「DIY」「車の点検」「工場作業」「医療手技」「コーヒー抽出」などは典型的な例です。

Action Segmentation の結果(=各ステップの開始・終了・種類)が得られると、このような Procedure 動画に対し、非常に多くのことができるようになります。

Action Segmentation の応用例:

  • すべてのステップが実行されたかどうかのチェック タスクに必要な工程が漏れなく行われたかどうかを自動で確認できる
  • ステップの順番の検証 手順のミス(順番の入れ替わり)を自動で検出できる
  • 作業効率の分析 各ステップの所要時間やムダの分析が可能に
  • ミスや不良の原因解析 どの工程で異常が起きたのか、どこがボトルネックなのかを特定しやすい
  • 異常行動・異常パターンの検出 ルーティン作業からの逸脱を検知できる
  • イベント検索(“ある行動が起きた瞬間”を探す) 大量の動画から、特定の行動が起きた瞬間を一発検索できる
  • 操作者の熟練度の評価 ステップの安定性・順守率・時間などからスキルアセスメントが可能
  • リアルタイムの作業支援 今どのステップにいるかを理解し、次のアクションをガイドすることや警告を出せる

3. 代表的なモデル:MS-TCN と ASFormer

ここからは、Action Segmentation の研究の発展をたどるうえで代表的な2つのモデルを紹介します。

3.1 MS-TCN: Multi-Stage Temporal Convolutional Network for Action Segmentation (paper)

音声合成における時系列モデリングの発展に着想を得て、Temporal Convolutional Networks(TCNs) は、動画フレーム間の**長期的な時間依存関係(long-term temporal dependencies)**を捉えるために動画理解へ取り入れられました。この流れを受けて、Action Segmentation 向けにさらに改良・設計されたマイルストーン的なモデルが MS-TCN です。

Fig. MSTCN

この手法のメインアイデアは、複数のステージを重ねることで frame-wise の action 予測を段階的に洗練していくことです。モデルへの入力は、動画の各フレームから抽出した特徴系列(I3D で抽出。参考: Carreira & Zisserman, 2017, “Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset”)です。最初のステージで粗い frame-wise 予測を出し、次のステージでは前ステージの予測結果(特徴量ではなく前段が出力したframe-wise probabilitiesのみ)を入力として、さらに精度の高い予測へ改善します。

まずは、各ステージを構成する single-stage TCN(SS-TCN)を見てみましょう。

SS-TCN は、複数の dilated 1D convolution layer で構成されています。

下図の各段は、それぞれの dilated layer に入力されるフレーム特徴系列を表し、1つ上の段がその層の出力です。この出力は、次の層への入力にもなります。

黒い線は、最上段の中央の出力まで情報が伝わる経路を示しています。層が深くなるにつれて dilation を 1、2、4 と2倍ずつ大きくすることで、フレーム数を減らさずに受容野(モデルが参照できる時間範囲)を効率よく広げられます。これにより、近くの動きだけでなく、時間的に離れたフレーム間の関係も捉えやすくなります。

Fig. SS-TCN

この複数のSS-TCNステージ構造には、次の利点があります。

  1. frame-wise に action label を予測するために必要な context 情報をより多く集約でき、予測精度の向上に役立つ
  2. 初期予測を入力として、action 間の関連性や起こり得る Action Sequence の知識を学習できるため、over-segmentation を抑えられる

また、連続するフレーム間で予測が細かく切り替わる over-segmentation を抑えるため、分類 loss に加えて smoothing loss を導入しています。

これらの設計により、当時の最先端の性能(state of the art)を達成しました。

3.2 ASFormer: Transformer for Action Segmentation (paper)

TCN の次に、Transformer の力を借りて Action Segmentation を解く代表的なモデルが ASFormer です。

素朴な Transformer を直接使うと、self-attention では長い動画系列から有意義な関係を学習するのが難しいことや、小規模なデータセットでは inductive bias が不足して学習が進みにくいことなど、さまざまな問題があります。

ASFormer は、それらを解決するために、 Action Segmentation 用の encoder-decoder を設計しました。

encoder には動画のフレーム特徴系列を入力し、複数の encoder block を通して初期予測を出力します。各 encoder block は Feed-forward layer(FFL)と single-head self-attention layer で構成され、それぞれに residual connection が設けられています。

inductive bias の不足を補うため、FFL には、汎用性は高いものの大量のデータを必要とする fully connected layer ではなく、Action Segmentation のデータ特性に適した dilated 1D convolution layer を使用します。

また、self-attention はフレーム系列全体ではなく local window 内に制限することで、学習の質を高めます。さらに、その local window の window size は MS-TCN の dilation と同様に、block が深くなるにつれて2倍ずつ広げます。

Fig. Encoder

decoder は、encoder の出力を洗練する役割を担います。

構成は encoder block と似ていますが、self-attention が cross-attention に置き換えられています。cross-attention の Q と K は、encoder の出力と前の block の出力を結合したもので、V は前の block の出力です。

cross-attention にも encoder と同様の階層的な local window が適用され、block が深くなるにつれて参照範囲が広がります。これにより、encoder の情報を活用しながら、前の block の出力を洗練します。さらに、このような decoder を複数つなげることで、予測を徐々に改善していきます。

Fig. Decoder

論文の実験結果(50Salads dataset)では、セグメント単位の精度指標である F1@50 は encoder のみだと 47.0 ですが、decoder を 1 / 2 / 3 段にするとそれぞれ 71.6 / 76.8 / 76.0 まで向上します。

一方、frame-wise の精度は decoder の段数による影響が小さいと報告されています。

これらの結果から、decoder はover-segmentation を抑え、予測されたsegmentをより滑らかで正確なものにする役割を果たしていることがわかります。

4. まとめ

ASFormer は Transformer を action segmentation タスクへ本格的に導入し、新たな state-of-the-art の流れを牽引しました。その後も、さまざまな発展的研究が登場しています。

例えば、UVAST は decoding を auto-regressive framework に変更し、transcript を予測します。

DiffAct は ASFormer を backbone とし、denoising diffusion models を用いて state-of-the-art の性能を示しました。

さらに、FACTなど、frame-wiseとaction-wiseの特徴を同時にモデリングする発展的な手法も提案されています。Action segmentation の研究は今も進展しており、weakly supervised、unsupervised、few-shot、open-set action segmentation、Open-vocabulary など、さまざまな設定があります。

いずれも実用性が高く、今後も研究する価値のある領域です。

今回紹介しきれなかった内容についても、また別の記事で紹介できればと思います。

5. References

  1. Y. Abu Farha and J. Gall, “MS-TCN: Multi-Stage Temporal Convolutional Network for Action Segmentation,” CVPR, 2019.
  2. J. Carreira and A. Zisserman, “Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset,” CVPR, 2017.
  3. F. Yi, H. Wen, and T. Jiang, “ASFormer: Transformer for Action Segmentation,” BMVC, 2021.
  4. N. Behrmann et al., “Unified Fully and Timestamp Supervised Temporal Action Segmentation via Sequence to Sequence Translation,” ECCV, 2022.
  5. D. Liu et al., “Diffusion Action Segmentation,” ICCV, 2023.
  6. Z. Lu and E. Elhamifar, “FACT: Frame-Action Cross-Attention Temporal Modeling for Efficient Action Segmentation,” CVPR, 2024.
  7. G. Ding, F. Sener, and A. Yao, “Temporal Action Segmentation: An Analysis of Modern Techniques,” 2023.