Facebook開源算法代碼庫PySlowFast,輕松復現前沿視頻理解模型
在近些年的視頻理解研究中,Facebook AI Research 貢獻了許多精彩的工作。近日,FAIR視頻團隊在 ICCV 相關研討會上開源了視頻識別檢測代碼庫 PySlowFast,并同時發布了預訓練的模型庫。同時,該團隊表示,他們還將實時將他們的前沿工作添加至此代碼庫。
- 項目地址:https://github.com/facebookresearch/SlowFast
- Tutorial 地址(附 PPTT 資源):https://alexanderkirillov.github.io/tutorials/visual-recognition-iccv19/
視頻與動作理解儼然已成為當今最火熱的研究方向之一,然而在開源社區中找到一個簡潔、高效、易于修改的視頻理解代碼庫仍不是一件簡單的事情。更重要的是,復現當今前沿的 (state-of-the-art) 的深度學習模型一直是一件令研究者頭疼的事情。
這些視頻理解模型往往動輒幾十 GFlops,需要訓練數天,而復現出一個模型需要反復的實驗調參,讓每個細節都正確。這往往會耗費大量的時間和資源,讓很多研究者望而卻步。
Facebook AI Research 在 CVPR、ICCV 等國際會議發布了眾多研究工作,并贏得了 CVPR 2019 行為檢測挑戰賽的冠軍。而后,在今年的 ICCV 上,FAIR 推出了他們的視頻理解代碼庫:PySlowFast。
PySlowfast 是一個基于 PyTorch 的代碼庫,讓研究者可以輕而易舉地復現從基礎至前沿的視頻識別 (Video Classification) 和行為檢測 (Action Detection) 算法。
不但如此,PySlowFast 代碼庫同時開源了大量預訓練模型 (pretrain models),讓研究者省去了反復訓練模型的煩惱,可以直接使用 FAIR 預訓練的前沿 (cutting edge performance) 模型。
pySlowFast開源的模型的可視化檢測結果
自開源后,PySlowFast 就一度蟬聯 GitHub 趨勢榜前十。以下對此開源項目進行了簡要介紹。
根據研討會教程和開源代碼庫信息,PySlowFast 既提供視頻理解基線(baseline)模型,還提供了當今前沿的視頻理解算法復現。其算法不單單囊括視頻視頻(video classification),同時也包括行為檢測(Action Classification)算法。
與當今開源社區中各種視頻識別庫復現出參差不齊的性能相比,使用 PySlowFast 可輕而易舉地復現出當今前沿的模型。
視頻識別(Kinetics)
表 1:PySlowFast 在視頻分類數據庫 Kinetics 400 上的性能)(節選自 https://github.com/facebookresearch/SlowFast/blob/master/MODEL_ZOO.md)
PySlowFast 不單單可以用于視頻分類,同時也可用于視頻理解,并提供贏得了 2019 年 CVPR ActivityNet Challenge Winner 的視頻檢測模型。
行為檢測(AVA)
此外,PySlowFast 預留了接口,可通過簡單的編輯支持多模態視頻理解、視頻自監督學習等等任務。該團隊稱,PySlowFast 將被積極維護,實時更新其團隊和業界的前沿算法,同開源其預訓練模型,使代碼庫成為視頻理解領域的基線標桿。
通過以下教程,讀者們可以簡單試用下 PySlowFast 代碼庫。在完成安裝后,通過下載 MODEL_ZOO 提供的預訓練模型和相應的配置文件,運行如下代碼,就可以測試(Test)模型在不同視頻數據庫上的性能:
- python tools/run_net.py
- --cfg configs/Kinetics/C2D_8x8_R50.yaml
- DATA.PATH_TO_DATA_DIR path_to_your_dataset
- NUM_GPUS 2
我們可以發現,通過此代碼庫可以輕易復現出前沿的高性能模型,同時讀者們也可以嘗試通過簡單的修改來實現自己的模型,并用多臺 GPU 進行訓練得到前沿的性能。