2ストリームアクション - 認識
UCF101データセットのビデオ情報をモデリングするために、ResNet101を備えた空間およびモーションストリームCNNを使用します。
参照ペーパー
- [1]動画でのアクション認識のための2ストリーム畳み込みネットワーク
- [2]時間セグメントネットワーク:深いアクション認識のための良い実践に向けて
- [3] TS-LSTMおよび時間的インセプション:活動認識のための時空間的ダイナミクスを活用する
1。データ
1.1空間入力データ - > RGBフレーム
- サンプリングレートでUCF101データセットの各ビデオからRGBフレームを抽出します。
1.2モーション入力データ - >積み重ねられた光フローイメージ
モーションストリームでは、2つの方法を使用して光フローデータを取得します。
- https://github.com/feichtenhofer/twostreamFusionから、Preprocessed TVL1光フローデータセットを直接ダウンロードしてください。
- Flownet2.0メソッドを使用して2チャンネル光フローイメージを生成し、そのX、Yチャネルをそれぞれディスクの.jpg画像として保存し、約56gの費用がかかります。
1.3(代替)Feichtenhofer/TwoStreamFusionからプリプロセッシングされたデータを直接ダウンロードしてください)
wget http://ftp.tugraz.at/pub/feichtenhofer/tsfusion/data/ucf101_jpegs_256.zip.001
wget http://ftp.tugraz.at/pub/feichtenhofer/tsfusion/data/ucf101_jpegs_256.zip.002
wget http://ftp.tugraz.at/pub/feichtenhofer/tsfusion/data/ucf101_jpegs_256.zip.003
cat ucf101_jpegs_256.zip* > ucf101_jpegs_256.zip
unzip ucf101_jpegs_256.zip
wget http://ftp.tugraz.at/pub/feichtenhofer/tsfusion/data/ucf101_tvl1_flow.zip.001
wget http://ftp.tugraz.at/pub/feichtenhofer/tsfusion/data/ucf101_tvl1_flow.zip.002
wget http://ftp.tugraz.at/pub/feichtenhofer/tsfusion/data/ucf101_tvl1_flow.zip.003
cat ucf101_tvl1_flow.zip* > ucf101_tvl1_flow.zip
unzip ucf101_tvl1_flow.zip
2。モデル
2.1空間CNN
- 前に言及したように、resnet101を使用して、最初にimagenetで事前に訓練し、次にUCF101空間RGB画像データセットで微調整します。
2.2モーションCNN
- モーションCNNの入力データは、10 xチャネルおよび10 yチャネル画像を含む光フロー画像のスタックであるため、入力形状は20チャネル画像と見なすことができます。
- モデルでイメージネットの事前訓練を受けた重量を利用するには、(64、3、7、7)から(64、20、7、7)からイメージネットで事前に訓練された最初の畳み込み層の重みを変更する必要があります。
- [2]で、Wangは** Cross Modality Pre-という方法を提供します
**そのような重みを行うには、形質転換。彼は最初にRGBチャネル全体の重量値を平均し、モーションストリーム入力のチャネル数によってこの平均を複製します(これは20です)
3。トレーニング戦略
3.1空間CNN
- ここでは、時間セグメントネットワークで手法を利用します。ミニバッチ内のすべてのビデオについて、各ビデオから3つのフレームをランダムに選択します。次に、損失を計算するためのビデオレベルの予測として、フレーム間のコンセンサスが導き出されます。
3.2モーションCNN
- すべてのミニバッチで、9537のトレーニングビデオから64(バッチサイズ)ビデオをランダムに選択し、各ビデオで1つの積み重ねられた光フローをランダムに選択します。
3.3データ増強
- どちらのストリームも、ランダムトリッピングなどの同じデータ増強手法を適用します。
4。テスト方法
- 3783個のテストビデオごとに、各ビデオで19フレームを均一にサンプリングし、ビデオレベルの予測は19フレームレベルすべての予測の投票結果です。
- 19番を選択する理由は、UCF101のビデオフレームの最小数が28であり、10スタックモーションストリームでテストするのに十分なフレームがあることを確認する必要があるためです。
5。パフォーマンス
| ネットワーク | TOP1 |
|---|
| 空間CNN | 82.1% |
| モーションCNN | 79.4% |
| 平均融合 | 88.5% |
6。事前に訓練されたモデル
- 空間ResNet101
- モーションResNet101
7。デバイスでのテスト
空間ストリーム
- このパスと、デバイスのUCF101データセットに適合するようにこのパスを変更してください。
- トレーニングとテスト
python spatial_cnn.py --resume PATH_TO_PRETRAINED_MODEL
python spatial_cnn.py --resume PATH_TO_PRETRAINED_MODEL --evaluate
モーションストリーム
- このパスと、デバイスのUCF101データセットに適合するようにこのパスを変更してください。
- トレーニングとテスト
python motion_cnn.py --resume PATH_TO_PRETRAINED_MODEL
python motion_cnn.py --resume PATH_TO_PRETRAINED_MODEL --evaluate