一.部署
1. 先把項目Clone下來
git clone https://github.com/jfzhang95/pytorch-video-recognition.git
2. 安裝環境:
PyTorch 的安裝可以參考這里https://pytorch.org/
pip install opencv-python tqdm scikit-learn tensorboardX
3.下載C3D預訓練模型:
在項目目錄下新建一個models目錄,用來存放預訓練模型
百度雲地址:https://pan.baidu.com/s/1saNqGBkzZHwZpG-A5RDLVw
GoogleDrive:https://drive.google.com/file/d/19NWziHWh1LgCcHU34geoKwYezAogv9fX/view?usp=sharing
二.准備數據
本次實驗用的是公開數據集UCF101,
下載地址:https://www.crcv.ucf.edu/datasets/human-actions/ucf101/UCF101.rar
如果是自己准備數據,按照下面方法來做
在項目目錄下創建一個data目錄,將數據集放在data目錄下,每一個視頻分類為一個文件夾,視頻名稱以v開頭,”_”分隔,中間為類別名稱,g01,g02依次類推,如果視頻太長就分割成多個,名稱在g01后再加上c01,c02以此類推,每個視頻大小控制在500k內。結構如下:
data
├──UCF-101
├── ApplyEyeMakeup
│ ├── v_ApplyEyeMakeup_g01_c01.avi
│ └── ...
├── ApplyLipstick
│ ├── v_ApplyLipstick_g01_c01.avi
│ └── ...
└── Archery
│ ├── v_Archery_g01_c01.avi
│ └── ...
視頻名稱參見下圖:
三.訓練模型
1. 修改數據集和預訓練模型路徑,在mypath.py文件中需要改四個位置,參考下圖:
2. 訓練模型,在train.py文件中需要修改
訓練過程中的輸出:
訓練完成后會在run文件夾中生成模型,run目錄下最后一個文件夾就是最新模型路徑
3. 預測,修改inference.py文件
測試結果: