本文做者:楊蕊1002html
導讀:飛槳(PaddlePaddle)致力於讓深度學習技術的創新與應用更簡單。7月初,隨着Paddle Fluid 1.5版本的發佈,國內業界首個視頻識別與定位工具集PaddleVideo也迎來了重磅更新。PaddleVideo在實際工業界能夠造成不少具體應用,包括:視頻精彩片斷預測、關鍵鏡頭定位、視頻剪輯等任務,例如定位NBA籃球賽視頻中扣籃鏡頭,電視劇中的武打鏡頭等。以下圖所示:git
本文末尾,爲廣大算法和開發同窗準備了PaddleVideo模型實戰的應用案例,視頻剪輯、素材拼接和標題生成工做徹底是程序模型自動完成的,極大地減輕了人力剪輯的工做量,效果也還不錯。不過,在看具體模型具體應用以前,讓咱們能夠先來了解一下PaddleVideo。github
PaddleVideo是飛槳在計算機視覺領域爲用戶提供的模型庫PaddleCV中的視頻識別與定位部分的模型庫。PaddleVideo的所有模型都是開源的,用戶能夠一鍵式快速配置模型完成訓練和評測。算法
PaddleVideo目前視頻分類和動做定位模型包括:json
本次重磅更新要點以下:網絡
首先是動做定位模型C-TCN。在介紹模型前,須要瞭解一下ActivityNet。框架
ActivityNet 是目前視頻理解領域影響力最大的賽事,與每一年的頂級學術會議 CVPR 一塊兒召開。在2019年的競賽中,百度公司計算機視覺團隊得到視頻動做提名、視頻動做檢測兩項任務的冠軍,並在新增任務 EPIC-Kitchens 動做識別挑戰賽中獲兩項測試集冠軍(Seen kitchens 和 Unseen kitchens)。 這已經是百度視覺團隊連續三年在 ActivityNet 相關賽事中斬獲冠軍。ide
瞭解了ActivityNet比賽的含金量,咱們快來看一下第1條更新:C-TCN模型。工具
問題背景:定位視頻中特定類別的時序動做片斷的動做起始時間和終止時間點並正確識別動做類別。性能
研究現狀:當前的主流作法是將視頻特徵(時間維度T*C單幀圖像特徵維度)沿着時間維度作一維卷積設計各類網絡結構1D-TCN,咱們實驗發現隨着網絡加深以後網絡的分類loss較淺層網絡結構會差不少,也就是說類別信息在1D時序卷積網絡中會隨着網絡變深而慢慢丟失,以下圖所示。所以,咱們設計了C-TCN,2D的保留類別信息的卷積,而且實驗證實了C-TCN的有效性。
CTCN卷積的過程以下圖:
用SSD+FPN框架加入了CTCN後,整個網絡結構以下圖:
在THUMOS14和ActivityNet1.3上都取得了較好的結果,以下圖:
具體來講,開發者選Non-local這個模型,以前版本只提供了最簡單的網絡結構,Resnet50 + C2D,這次版本更新,增長了兩個複雜一些的網絡結構:Resnet50 + I3D, 和 Resnet101 + C2D。
這裏給你們解釋一下Non-local模型的意思。
在CVPR 2018收錄的論文裏有一篇叫《Non-local Neural Networks》。論文中,做者提出了 non-local operation 來解決 CNN 網絡中的 long-range dependencies 問題。在論文中, 做者提出了 non-local operation 做爲一種通用的神經網絡的 building block 來捕捉基於 long-range 的依賴關係。受到經典的 non-local means 方法的啓發, non-local operation 會將某一位置的響應當作是一種從特徵圖譜全部位置的加權和來計算。
該 building block 能夠插入到如今計算機視覺的許多模型當中, 進而能夠提高分類, 檢測,分割等視覺任務的性能表現。
在PaddleVideo模型庫中Non-local模型專門用於視頻分類任務。
還有第3條更新: 優化已經發布的分類模型,NeXtVLAD訓練速度提高60%,TSM訓練速度領先同類框架39%。
以上的速度提高是指在一樣的硬件配置下,訓練速度比以前有了很大的提高。通過這次更新,NeXtVLAD模型訓練速度比TensorFlow快約1.88倍。採用的優化方法是將數據預處理部分浮點數相關的運算轉移到GPU上使用Paddle Op進行計算,而CPU上則使用uint8數據類型,能夠大幅減少從CPU到GPU數據拷貝的開銷。
接下來,教你們如何使用PaddleVideo中模型,以本次重磅更新的模型C-TCN爲例子。
首先進入GitHub的PaddleVideo相關頁面,地址以下:
https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/PaddleVideo?fr=ai5。
經過gitclone命令下載代碼到本地。
代碼結構說明以下:
C-TCN模型使用ActivityNet 1.3數據集,具體下載方法請參考官方下載說明(http://activity-net.org/index.html
)。在訓練此模型時,須要先對mp4源文件抽取RGB和Flow特徵,而後再用訓練好的TSN模型提取出抽象的特徵數據,並存儲爲pickle文件格式。咱們將會提供轉化後的數據下載連接。轉化後的數據文件目錄結構爲:
同時須要下載以下幾個數據文件
Activity1.3_train_rgb.listformat,
Activity1.3_val_rgb.listformat,
labels.txt,est_val_label.list,val_duration_frame.list,並放到dataset/ctcn目錄下。
數據準備完畢後,能夠經過以下兩種方式啓動訓練:
訓練策略:
能夠經過以下兩種方式啓動訓練:
可經過以下命令進行模型推斷:
以上也是PaddleVideo中全部模型的具體使用方法。
PaddleVideo目前已經在典型領域有一些實際應用,咱們來看一個實際的視頻剪輯集錦;案例:《傷心鏡頭集錦:看誰最能打動人心》
值得一提的是,以上視頻並非人工剪輯的,徹底是結合知識圖譜作出的智能化視頻生產。具體來講,首先運用知識圖譜的能力,咱們根據視頻標題能夠找到不少包含某些特殊動做類別的視頻, 而後再運用localization的技術能夠把每一個視頻中的這些片斷剪輯出來,組合成一個新視頻,而後用NLP的技術生成視頻標題分發出去。若是你以爲頗有趣,不妨點擊文末的項目地址試瞭解一下。
好啦,本期飛槳PaddleVideo的介紹就告一段落啦。若是有興趣的同窗,能夠加入官方QQ羣,您將趕上大批志同道合的深度學習同窗。
飛槳官方QQ羣:432676488。
若是您想詳細瞭解更多飛槳的相關內容,請參閱如下文檔。
官網地址:
https://www.paddlepaddle.org.cn?fr=ai5
項目地址:
https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/PaddleVideo?fr=ai5
最後給你們推薦一個GPU福利 - Tesla V100免費算力!配合PaddleHub能讓模型原地起飛~ 掃碼下方二維碼申請~