陳琳 CHEN Lin;陳傳敬 CHEN Chuan-jing;張鵬 ZHANG Peng
(山東科技職業學院,濰坊 261053)
近年來,因電動自行車入戶充電造成的火災頻發,嚴重威脅人民群眾生命財產安全。2021年5月10 日晚,四川成都叢樹家園小區突發電瓶車在電梯內爆燃事故,造成數人受傷,包括1 名嬰兒。雖然,2019年7月1日,國家四部委聯合下發通知,堅決整治電動自行車“進樓入戶”“人車同屋”“飛線充電”等突出問題。但是因為具體操作難度太大,嚴令禁止的充電行為依舊存在。電梯作為電動自行車入戶的主要運輸工具,如果能夠通過電梯監控設備對電動自行車進行檢測并提示,將大大降低電動自行車入戶情況的發生,降低火災發生的風險。
目標檢測是計算機視覺中比較重要的研究方向,其主要任務是在給定的圖片中識別出目標并確定其位置。因為給定圖片中目標數量不定,且檢測出的目標位置要精確,因此目標檢測任務相比較與其他計算機視覺任務更復雜。如果能夠在電梯監控設備中嵌入一套目標檢測系統,那么電梯監控將能夠快速的檢測出電梯中的電動自行車,從而能夠做出實時決策。
當前目標檢測可分為基于傳統的目標檢測和基于深度學習的目標檢測,傳統的目標檢測算法需要手動設置特征及分類器。通過不同大小的滑動窗口對整幅圖像進行候選區域的設定,然后再將候選區域作為輸入送到認為設置好的特征提取模塊進行特征提取,最后將提取到的特征送入到已經訓練好的分類器中進行分類。分類過程如圖1 所示。

圖1 傳統目標檢測算法流程圖
傳統的目標檢測算法利用滑動窗口產生候選區域的方式進行特征提取,需要定義大量的候選口,并且存在候選框重疊的部分,這種策略導致效率比較低。因為需要用到人為設計所以相比較于其他算法傳統的目標檢測算法更加依賴于經驗,人為設置的特征不多且算法的魯棒性較差。
另一種基于深度學習的目標檢測算法是目前研究的熱點,基于深度學習的目標檢測分為兩類one-stage 和two-stage。Two-stage 為基于候選區域的目標檢測器,算法需要分兩步完成,首先需要獲取候選區域,然后進行分類,包括Fast R-CNN、Faster R-CNN 和FPN 等。One-stage 檢測為單次檢測器,可以理解為一步到位,不需要單獨尋找候選區域,包括YOLO、SSD 等,它們都是目前最優秀的目標檢測算法。
基于候選區域的目標檢測如R-CNN,首先會在圖像上生成一個候選框,然后在候選框上運行分類器進行分類,分類完成后進行邊框細化以及消除重復檢測,并且根據圖像的具體場景中可能存在的其他目標重新定義邊框。具體過程如圖2 所示。

圖2 two-stage 目標檢測算法流程圖
基于候選區域的檢測算法檢測準確率相對較高,但是算法相對復雜,流程相對較慢,針對圖像中存在的每個目標需要進行單獨的訓練,算法的優化難度較大,需要用到的檢測時間更多,不利于實時的目標檢測。
One-stage 方法省去了two-stage 方法中的確定候選區域步驟直接生成目標的類別概率和坐標位置,通過一次檢測即可得到最終的檢測結果,其檢測流程如圖3 所示。主流的one-stage 目標檢測算法有YOLO 和SSD。

圖3 one-stage 目標檢測算法流程圖
YOLO 算法將目標檢測表示為單一的回歸問題,直接從像素到邊界框坐標和類概率。可以利用單個卷積網絡同時預測盒子的多個邊界框和類概率。YOLO 可以在全圖像上訓練模型并直接進行優化檢測性能,這種統一的模型比傳統的目標檢測方法有一些好處。
首先,YOLO 速度非常快。由于YOLO 將檢測視為回歸問題,所以不需要復雜的流程,目標檢測速度比傳統算法模型要快。其次,與基于候選區域的算法不同,YOLO 隱式地編碼了目標類別的上下文信息。和fast R-CNN 相比,YOLO 的背景誤檢數量少了一半。第三,YOLO 學習目標的泛化表示,應用于新領域或碰到意外的輸入時不太可能出故障。
盧迪[1]等人利用YOLOv4-tiny 算法識別手勢,姚銳琳[2]等人利用YOLOv4-tiny 算法進行行人視頻檢測,叢玉華[3]等人利用YOLOv4-tiny 算法進行安全帽的檢測,化嫣然[4]等利用YOLOv4-tiny 算法對航拍圖像進行車輛檢測。
Redmon J[6]等人在CVPR2016 首次提出yolo 算法YOLOv1,開辟了單階段目標檢測算法的先河。其目標檢測步驟為:將一幅多目標圖像劃分為多個網格,通過網絡得到每個網格的分類概率、預測框和置信度,將每個框中的概率與置信度相乘,得到每個框特定于每個類的置信分數,輸出目標位置和類別信息。
YOLOv1 將目標檢測看作是回歸問題,用一個網絡實現位置輸出與類別檢測,實現了一個統一系統,從目標檢測的角度來看是單階段的。算法檢測速度快,能夠滿足高精度實時目標檢測的需求;基于圖像全貌進行預測而不是基于部分圖像,可以充分考慮外觀上下文信息;泛化能力好,當訓練集與測試集類型不同時,有較好的適應性,應用于新領域時出現崩潰情況較少,可移植性好。YOLOv1 雖然檢測速度快,但在定位方面不夠準確,并且召回率較低。
YOLOv2[7]采用了①新的主干網絡Darknet-19,主要采用3*3 的卷積,利用1*1 卷積來降維。相比較于v1 中采用的主干網絡GoogleNet,降低了模型的計算量和參數,有了更快的速度。②增加路由層,來融合底層圖像的特征,進一步提高檢測精度。在與訓練階段,先采用224*224 的數據輸入,然后再將輸入調整為448*448,以此來讓模型適應高分辨率數據的輸入,提高檢測平均準確率。③將v1 中使用的全連接層刪除,使用卷積和Faster R-CNN 中的先驗框策略來預測邊界框,使用K-means 方法對邊界框進行聚類,得到更合適的錨點框。④通過多尺度訓練,解決不同圖片大小輸入的問題,得到較好的預測效果。
YOLOv3[8]將主干網絡從v2 的Darknet-19 改為Darknet-53,加深了網絡結構。不再使用原來的池化操作改為使用殘差的跳層連接,用步長為2 的卷積來進行下采樣。仍然采用K-means 方法對邊界框進行聚類,得到更合適的錨點框。雖然檢測精度有所提高,但是檢測速度卻有所下降。
YOLOv4[9]將 v3 中 的 Darknet -53 替 換 為CSPDarknet53,將原來的激活函數Leakly 改為Mish;在網絡中加入SPP 結構,增大感受野,提高網絡特征的傳達能力,節省網絡訓練時間;通過新的數據增強算法Mosaic 進行數據增強。
YOLOv4-tiny 是YOLOv4 的簡化版,訓練參數為YOLOv4 的十分之一,隨著訓練參數的減少,檢測速度要比YOLOv4 更好。當然更少的參數以及更快地速度都是用準確率換來的。因為YOLOv4-tiny 只保留了2 個預測分支,所以對于小物體的檢測以及出現多目標折疊情況時檢測效果不好,但是對于獨立的物體檢測效果還是很好的。
本文選擇YOLOv4-tiny 作為目標檢測的原因有2 個。①相比較于其他的目標檢測算法,YOLOv4-tiny 參數量比較少,檢測速度快,能夠比較方便的部署在電梯監控系統內;②本文的使用場所相對固定,且電動自行車的尺寸大小相對固定,不會存在太大的差異。因此訓練數據與真實場景數據尺寸不會有較大差異,從算法的角度考慮,這種情況下不需要太多的不同尺寸的特征層進行目標檢測。
2.2.1 網絡結構
YOLOv4-tiny 是YOLOv4 的簡化版,YOLOv4-tiny 的訓練參數有5918006 個,而YOLOv4 的訓練參數有64363101。可以看出YOLOv4-tiny 的訓練參數是YOLOv4訓練參數的1/10,大大精簡了網絡結構在進行目標檢測是,YOLOv4-tiny 的檢測速度明顯高于YOLOv4。其網絡結構如圖4 所示。

圖4 YOLOv4-tiny 網絡結構圖
YOLOv4-tiny 主要由CSPdarknet53_tiny 和FPN 兩部分組成。CSPdarknet53_tiny 作為主干網絡,用于對圖像候選框進行分類和坐標預測。FPN 主要解決的是物體檢測中的多尺度問題,通過簡單的網絡連接改變在不增加原有模型計算量的前提下,大幅度提升物體檢測的性能[10]。
CSPdarknet53_tiny 網絡主要包含CBL 結構與CSP 結構。其中CBL 結構主要由卷積層(Conv)、批量標準化層(BN)和激活函數LeakyReLU 組成。LeakyReLU 可以解決神經元“死亡”問題,其公式為:

CSP 結構輸入特征在殘差塊堆疊通道旁再增加一條殘差邊通道,然后將兩個通道進行Concat 操作后輸出結果。CSP 結構如圖5 所示。

圖5 CSP 結構圖
主干網絡會將13×13 的特征層進行上操作后與26×26 的特征層進行融合,提高特征提取能力,最后會分別生成通道數為na×(nc+5)的兩個輸出通道,na 代表錨框數量;nc 為類別數。26×26 的通道預測小目標,13×13 的通道預測大目標[5]。
2.2.2 檢測模型
檢測模型如圖6 所示。具體步驟為:

圖6 檢測模型
①訓練階段:
1)獲取視頻數據(包含電動自行車);
2)將視頻數據通過OpenCV 技術分割為視頻幀;
3)通過濾波,去模糊等算法進行視頻幀數據增強;
4)將處理好的數據輸入到YOLOv4-tiny 算法中進行訓練,得到訓練模型。
②檢測階段:
1)將實時視頻數據輸入;
2)將實時視頻數據分割為視頻幀;
3)對視頻幀數據進行去噪處理,提高檢測率;
4)將處理好的視頻幀送入訓練好的檢測模型;
5)判定是否有電動自行車;
6)如果有電動自行車,則報警提示,電梯門常開,直到檢測不到電動自行車;
7)如果沒有電動自行車,則電梯門關閉,電梯正常運行。
本文利用YOLOv4-tiny 算法檢測速度快的優點,模型訓練參數少,能夠適用于嵌入式設備中等特點對電梯內電動自行車進行實時檢測,能夠很好的解決電動自行車入戶充電的問題。