唐曉晴 郭耀文
摘要:煙火檢測是計算機視覺和圖像處理領域的研究熱點和難點,在無人基站監(jiān)控、森林防火監(jiān)控等方面具有廣泛的應用。該文闡述了基于深度學習的煙火檢測技術,全面分析了煙火檢測技術以及深度學習理論的發(fā)展現狀,研究了煙火檢測技術的處理流程,并基于現有的YOLO v4模型進行了軟件系統的實現。實驗結果表明,深度學習技術在識別實時視頻以及剪輯視頻中對應的煙火時,均取得了較好的效果。最后,探討了煙火檢測技術在未來的進一步研究方向。
關鍵詞:煙火檢測;深度學習;YOLO;軟件系統;圖像處理
中圖分類號:TP301? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)08-0085-03
1 引言
近年來,目標檢測已成為圖像處理方向研究的熱點,煙火檢測就是目標檢測的一種,其核心內容是判斷視頻或者圖像中是否含有煙火,并標記出煙火所在的位置。傳統的煙火檢測主要通過溫度以及顏色等外觀特征進行特征的學習,并使用對應的分類器判斷特定區(qū)域內是否存在煙火[1-2]。但是該方法具有很大的局限性,研究者根據煙火的顏色特征,往往會將晚霞等目標誤判為煙火。因此,僅通過外觀特征不能夠全面地描述物體的所有屬性,很難滿足實際的需求。
長期以來,研究者對煙火檢測的研究主要基于外觀屬性特征的提取,因此在識別率方面一直未能取得很好的進展。直到深度學習理論的提出[3],研究者開始使用卷積神經網絡進行特征的學習,并多次成為ImageNet大規(guī)模視覺識別競賽(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)[4]的優(yōu)勝算法。研究人員發(fā)現基于深度學習學到的特征,能很好地表現出物體的外在和內在的關聯特征,具有更好的表達性。隨著深度學習的不斷發(fā)展,越來越多的研究者將其運用于圖像的目標檢測中[5-7]。本文基于深度學習理論實現的煙火檢測技術,在文章結構上主要包含深度學習的相關技術,煙火檢測的處理流程,YOLO v4模型的訓練,最后通過對煙火的分析驗證系統的準確度和實時性。
2基于深度神經網絡的檢測技術
深度學習的核心是深度神經網絡(Deep Neural Network,DNN)。卷積神經網絡是深度神經網絡的一種,目前已經在視頻分析,特別是目標檢測領域得到廣泛研究。本文描述的煙火檢測就是目標檢測中的一種,對應的檢測目標就是煙火,而不是其他的建筑物、晚霞等物體。
2015 年,研究者提出了YOLO(You Only Look Once)模型[8],并將其運用于目標檢測。該模型的核心思想是通過無錨框(Anchor-Free)進行目標檢測。隨后,人們在YOLO模型的基礎上產生了不同的版本,當前已經演進到YOLO v5[9-11]。YOLO v1與YOLO 進行相比,較好地解決了YOLO模型只能進行單目標,單分類的檢測問題。隨之而來的YOLO v2,在面對YOLO v1預測框不準確這一個問題,提出了一種并非直接預測bbox坐標的方法,而是改為預測基于grid的偏移量和基于anchor的偏移量。后來,研究者發(fā)現,YOLO v2也不是那么的完美,它在解決小目標的檢測時,出現的錯誤率較高。因此,人們在YOLO v2的基礎上又提出了YOLO v3,其基本核心思想是增加了多尺度預測, 并把YOLO v2的主干網絡(Backbone)從19層的Darknet變?yōu)榱?3層的Darknet。隨后的YOLO v4和YOLO v5都在原有YOLO架構的基礎上,引入了卷積神經網絡(CNN)領域中的優(yōu)化策略,雖沒有理論上的創(chuàng)新,但是在目標檢測的識別率方面有了較大的提高。
3煙火檢測系統
3.1檢測流程
煙火檢測最終的目的是將圖像中的煙火標注出來,本文設計的煙火檢測系統如圖1所示。
(1)輸入目標。本文主要的輸入目標是視頻源,需要對輸入源進行解碼操作。
(2)預處理。預處理階段是指各種視頻的前期操作,如去除塊效應、校準以及增強圖像等。
(3)幀過濾。該部分主要是過濾背景幀,提高后期目標檢測的效率。
(4)特定目標檢測。借助神經網絡模型從視頻流中檢測火焰。
(5)煙火識別。將檢測出的目標區(qū)域進行邊界框標注,并給出相應的提示信息。
3.2 檢測軟件
煙火檢測系統是一款基于C/S框架的軟件系統,客戶端主要完成視頻的采集,服務端通過YOLO v4 模型的部署來完成視頻的分析,檢測出視頻流中對應的煙火。
Python編程語言。Python與其他的Java,C++等語言相比,兼容神經網絡以及機器學習等開源庫,具有更好的兼容性。
軟件前臺GUI界面使用Qt開發(fā)庫進行開發(fā)。主要用來開發(fā)圖像用戶界面(GUI)程序,也可以開發(fā)不帶界面的命令行(CUI)程序。可支持 Windows、Linux等多種操作系統。該系統主要使用Qt中的QtGui模塊,為程序提供GUI程序的基礎功能,包括交互界面的創(chuàng)建以及交互事件的處理。
3.3 YOLO v4模型訓練
YOLO v4模型的訓練主要包含數據的標注、參數的調節(jié)、模型的訓練、圖像分類結果驗證。具體步驟如下:
步驟1:標注數據集。在本文中,標注數據使用的標注工具是Labelimg。
步驟2:配置YOLO模型的參數。對于參數的選擇,主要需要修改的模型參數包括batch、subdivisions、max_batches、steps4個主要的參數信息。
步驟3:模型訓練。該步驟首先下載一個預訓練模型,然后通過不斷改變步驟2中的對應參數,得到一個訓練完成的模型。
步驟4:分類驗證。使用訓練得到的模型,用新的測試數據驗證得到的結果。
在學習結束后生成的模型loss在0.1503左右提前終止了訓練,訓練3萬次左右,耗時38.36小時。詳細的訓練結果圖如圖2所示。
4系統驗證
YOLO v4作為一個新興的目標檢測算法,有著很多其他系統沒有的優(yōu)點,它的最大的特點是實現快速檢測的同時,還能具備高識別率。本系統除了可以識別上傳普通視頻中的煙火,還能有效識別實時視頻中的煙火。
4.1實時視頻驗證
使用實時視頻檢測,需要當前系統檢測攝像頭打開,才可以開啟檢測,否則系統將會提示請檢查設備,算法開始后如果檢測到有煙火圖像,系統將會顯示dangerous并且會將檢測到的煙火圖像對應的時間記錄下來,如圖3所示。
4.2剪輯視頻驗證
如需檢測視頻,則將之前錄制好的視頻通過上傳到系統中,等待上傳成功后,點擊檢測按鈕,即可驗證視頻中是否含有煙火等目標。若視頻中包含對應的煙火目標,會展示一個對應的目標邊界框。同時會在右下方的列表中顯示視頻出現的時間。詳細結果信息如圖4所示。
4.3識別成功率及分析
在系統驗證過程中,除了上述比較簡單且清晰度較高的視頻外,本文還驗證了一些復雜場景下的煙火視頻,詳細結果如表1所示。
從實驗結果可以發(fā)現,在處理簡單的煙火視頻時,本系統的識別率能高達95%以上。判定為火焰。對于晚霞,太陽等顏色外觀比較相似的煙火視頻,也能較好地進行識別。但是在較為復雜的火災現場視頻中,存在少量誤判,當天空被火焰映射時,部分天空也會被判定為煙火。
5結論
對于煙火的檢測是近年來計算機視覺領域的一大熱點問題,同時也是森林防火領域急需解決的技術問題。本文在現有的YOLOv4模型基礎上,實現了基于深度學習的煙火檢測系統。實驗結果表明,卷積神經網絡在進行煙火識別時,能夠滿足其在準確率和實時性方面的要求。
深度學習給煙火檢測帶來契機的同時,也帶來了相應的問題。首先,與傳統的機器學習方法相比,神經網絡模型的訓練需要使用的硬件設備要求更高。其次,深度學習訓練需要大量數據集,在獲取已標注的數據集和進行數據集的標注上,給研究者的研究帶來了困難。再者,煙火檢測采用的是目前通用的目標檢測模型,在一些復雜場景的識別中,存在一定量的錯誤率,建立針對煙火的特定檢測模型也是后續(xù)一個重要研究方向。
參考文獻:
[1] 馬忠.基于視頻監(jiān)控深度解析融合技術的實戰(zhàn)應用[J].信息技術,2018,42(4):121-124.[2] 陳娟.基于多特征融合的視頻火焰探測方法研究[D].合肥:中國科學技術大學,2009.
[3] Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[4] RussakovskyO,DengJ,SuH,etal.ImageNetlarge scale visual recognition challenge[J].International Journal of Computer Vision,2015,115(3):211-252.
[5] 蘇欣欣,郭元術,李妮妮.基于深度學習的車輛檢測算法研究[J].信息技術與網絡安全,2021,40(6):28-32.
[6] 石磊.基于深度學習的煙火檢測算法研究與實現[D].天津:中國民航大學,2020.
[7] 陳濤,路紅.基于深度學習的行人檢測技術研究[J].軟件導刊,2021,20(1):76-80.
[8] RedmonJ,DivvalaS,GirshickR,etal.You only look once:unified,real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition.June 27-30,2016,Las Vegas,NV,USA.IEEE,2016:779-788.
[9] RedmonJ,Farhadi A.YOLO9000:better,faster,stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition.July21-26,2017,Honolulu,HI,USA.IEEE,2017:6517-6525.
[10] Alexey Bochkovskiy, Chien-Yao Wang, Hong-Yuan Mark Liao.YOLOv4: Optimal Speed and Accuracy of Object Detection[C]. IEEE Conference on Computer Vision and Pattern Recognition,2020.
【通聯編輯:唐一東】