Pengenalan dua-aksi
Kami menggunakan CNN stream spasial dan gerak dengan resnet101 untuk memodelkan informasi video dalam dataset UCF101.
Kertas referensi
- [1] Jaringan Konvolusi Dua Aliran untuk Pengakuan Tindakan dalam Video
- [2] Jaringan segmen temporal: Menuju praktik yang baik untuk pengakuan tindakan mendalam
- [3] TS-LSTM dan Temporal-Inception: Mengeksploitasi dinamika spatiotemporal untuk pengenalan aktivitas
1. Data
1.1 Data Input Spasial -> Frame RGB
- Kami mengekstrak bingkai RGB dari setiap video dalam dataset UCF101 dengan laju pengambilan sampel: 10 dan simpan sebagai gambar .jpg dalam disk yang harganya sekitar 5,9g.
1.2 Data input gerak -> gambar aliran optik yang ditumpuk
Dalam aliran gerak, kami menggunakan dua metode untuk mendapatkan data aliran optik.
- Unduh dataset aliran optik TVL1 preproses langsung dari https://github.com/feichtenhofer/twostreamfusion.
- Menggunakan metode FLOWNET2.0 untuk menghasilkan gambar aliran optik 2-saluran dan menyimpan saluran x, y sebagai gambar .jpg dalam disk masing-masing, yang harganya sekitar 56g.
1.3 (alternatif) Unduh data preproses langsung dari 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. Model
2.1 CNN spasial
- Seperti yang disebutkan sebelumnya, kami menggunakan resnet101 terlatih terlatih pertama dengan ImageNet kemudian menyempurnakan pada dataset gambar RGB spasial UCF101 kami.
2.2 Motion CNN
- Input data gerak CNN adalah tumpukan gambar aliran optik yang berisi 10 X-channel dan 10-Y-channel gambar, sehingga bentuk inputnya adalah (20, 224, 224) yang dapat dianggap sebagai gambar 20-saluran.
- Untuk memanfaatkan bobot pra-terlatih Imagenet pada model kami, kami harus memodifikasi bobot lapisan konvolusi pertama yang dilatih sebelumnya dengan Imagenet dari (64, 3, 7, 7) menjadi (64, 20, 7, 7).
- Dalam [2] wang memberikan metode yang disebut ** modalitas silang pra-
** Untuk melakukan transformasi bentuk bobot seperti itu. Dia pertama kali nilai berat di seluruh saluran RGB dan mereplikasi rata -rata ini dengan jumlah saluran input aliran gerak (yang 20 adalah kasus ini)
3. Strategi Pelatihan
3.1 CNN spasial
- Di sini kita menggunakan teknik dalam jaringan segmen temporal. Untuk setiap video dalam mini-batch, kami secara acak memilih 3 frame dari setiap video. Kemudian konsensus di antara bingkai akan diturunkan sebagai prediksi tingkat video untuk menghitung kehilangan.
3.2 Motion CNN
- Di setiap mini-batch, kami secara acak memilih video 64 (ukuran batch) dari 9537 video pelatihan dan lebih cepat memilih 1 aliran optik yang ditumpuk di setiap video.
3.3 Augmentasi Data
- Kedua aliran menerapkan teknik augmentasi data yang sama seperti pemangkasan acak.
4. Metode pengujian
- Untuk setiap 3783 video pengujian, kami secara seragam mencicipi 19 frame di setiap video dan prediksi level video adalah hasil pemungutan suara dari semua prediksi level bingkai 19.
- Alasan kami memilih angka 19 adalah bahwa jumlah minimun frame video di UCF101 adalah 28 dan kami harus memastikan ada bingkai yang cukup untuk pengujian dalam 10 Stack Motion Stream.
5. Performace
| jaringan | Top1 |
|---|
| CNN spasial | 82,1% |
| Gerakan CNN | 79,4% |
| Fusi rata -rata | 88,5% |
6. Model pra-terlatih
- Resnet101 spasial
- Motion ResNet101
7. Menguji perangkat Anda
Aliran spasial
- Harap ubah jalur ini dan fungsi ini agar sesuai dengan dataset UCF101 di perangkat Anda.
- Pelatihan dan pengujian
python spatial_cnn.py --resume PATH_TO_PRETRAINED_MODEL
python spatial_cnn.py --resume PATH_TO_PRETRAINED_MODEL --evaluate
Aliran gerak
- Harap ubah jalur ini dan fungsi ini agar sesuai dengan dataset UCF101 di perangkat Anda.
- Pelatihan dan pengujian
python motion_cnn.py --resume PATH_TO_PRETRAINED_MODEL
python motion_cnn.py --resume PATH_TO_PRETRAINED_MODEL --evaluate