基於深度學習的視頻分析檢測可疑活動

基於深度學習的視頻分析檢測可疑活動

本文解釋了視頻分類的一種可能的實現。我們的目標是解釋我們是如何做到的以及我們獲得的結果,以便您可以從中學習。

在整篇文章中,您將找到解決方案體系結構,我們遵循的方法,我們使用的數據集,我們如何實現它以及我們實現的結果的一般描述。

這裡描述的系統能夠將視頻分為三類:

  • 犯罪或暴力活動
  • 潛在可疑
  • 安全

我們的解決這個問題的建議是基於卷積和遞歸神經網絡的體系結構。

解決方案的體系結構說明

第一個神經網絡是卷積神經網絡,目的是提取圖像的高級特徵並降低輸入的複雜度。我們將使用谷歌開發的預訓練模型inception。Inception-v3在ImageNet大型視覺識別挑戰數據集上進行了訓練。這是計算機視覺中的一項標準任務,模型試圖將整個圖像分為1000個類,如“zebra”、“dalmatian”和“dishwasher”。

我們使用這個模型來應用轉移學習技術。現代物體識別模型有數百萬個參數,可能需要數週才能完成訓練。轉移學習是一種技術,它通過對一系列類別(如ImageNet)採用經過充分訓練的模型,並從現有的權重中對新類進行重新訓練,從而優化許多此類工作。

基於深度學習的視頻分析檢測可疑活動

所使用的第二個神經網絡是一個循環神經網絡,這個網絡的目的是理解所描述的動作的順序。該網絡在第一層中具有LSTM單元,隨後是兩個隱藏層(一個具有1,024個神經元和relu激活,另一個具有50個具有sigmoid激活的神經元),並且輸出層是具有softmax激活的三神經元層,這給了我們最終的分類。

基於深度學習的視頻分析檢測可疑活動

方法

第一步是提取視頻的幀。我們每0.2秒提取一個幀,用這個框架,我們用初始模型做一個預測。考慮到我們正在使用遷移學習技術,我們不打算提取初始模型的最終分類。相反,我們提取了最後一個池化層的結果,它是一個包含2048個值(高級特徵映射)的向量。到目前為止,我們只有一個單一幀的特徵圖。然而,我們想要給我們的系統一個序列的感覺。為了做到這一點,我們不考慮單個幀來做出最終的預測。我們取一組幀,不是為了分類幀,而是為了分類視頻的一個片段。

我們認為,一次分析三秒鐘的視頻就足以很好地預測正在發生的活動。為此,我們存儲由inception模型預測生成的15個feature map,相當於3秒的視頻。然後,我們將這組特徵映射連接到一個單獨的模式中,這將是第二個神經網絡的輸入,即遞歸神經網絡,以獲得系統的最終分類。

基於深度學習的視頻分析檢測可疑活動

最後,我們在屏幕上看到的是對視頻進行實時分類,每隔三秒鐘,我們就會看到該視頻部分的分類 - 無論是安全的,可疑的還是犯罪活動。

訓練數據集

用於訓練網絡的數據集由150分鐘的篩選分為38個視頻。這些視頻大多是在商店和倉庫的安全攝像機上錄製的。每拍一幀,間隔0.2秒,結果就是有一個45000幀的訓練數據集——相當於3000段視頻,考慮到一段視頻代表了它的3秒(或15幀)。

我們對整個數據集進行了標記,並將其分為兩組:80%用於訓練,20%用於測試。

如您所見,最終的數據集實際上非常小。然而,由於遷移學習技術的存在,我們可以用較少的數據得到良好的結果。當然,為了使系統更準確,最好有更多的數據;這就是為什麼我們一直致力於獲得越來越多的數據來改進我們的系統。

基於深度學習的視頻分析檢測可疑活動

實現

整個系統是用Python 3.5實現的。

我們對Python使用OpenCV對視頻進行幀分割,並將其調整為200x200px。一旦我們擁有了所有的框架,我們就可以對初始模型進行預測。每個預測的結果都是一個“transfer value”,表示從特定框架中提取的高級特徵圖。我們將其保存在transfer_values變量及其各自的標籤在中label_train。

一旦我們有了這些變量,我們需要把它們分成15組。我們將結果保存在joint_transfer變量中。

基於深度學習的視頻分析檢測可疑活動

現在我們有了transfer values和它們的標籤,我們可以用這些數據來訓練我們的循環神經網絡。該網絡的實現採用Keras,創建模型的代碼如下:

基於深度學習的視頻分析檢測可疑活動

上面的代碼描述了模型的構造。下一步是關於訓練它:

基於深度學習的視頻分析檢測可疑活動

在我們訓練模型之後,我們需要將它保存如下:

基於深度學習的視頻分析檢測可疑活動

結果和其他可能的應用

在嘗試了不同的網絡體系結構和調整超參數之後,我們可以達到的最佳結果是98%的準確率。

我們可以用這個視頻分類器做的一件事是把它連接到一個安全攝像頭並實時分析視頻,當系統檢測到犯罪或可疑活動時,它就可以啟動警報或報警。

此外,您可以使用經過適當數據培訓的類似系統來檢測不同類型的活動;例如,在學校裡安裝一個攝像頭,你的目標可以是檢測欺負行為。


分享到:


相關文章: