999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CG-yolo 的煙火檢測*

2022-02-16 08:32:46鄒輝軍焦良葆張智堅趙維科
計算機與數(shù)字工程 2022年1期
關鍵詞:檢測

鄒輝軍 焦良葆 孟 琳 張智堅 趙維科

(南京工程學院人工智能產(chǎn)業(yè)技術研究院 南京 211167)

1 引言

山火煙霧如果不能及時被發(fā)現(xiàn)并采取措施,較大的煙霧會污染輸電線路,火勢較大時甚至會燒毀輸變電設施,造成大規(guī)模停電。由于煙火存在發(fā)生時間、地點不固定的特點,低效率的人工監(jiān)控方式和高成本的服務器端圖像識別已無法滿足現(xiàn)階段的需求。因此,迫切需要一種能夠在邊緣計算平臺上自動進行圖像處理的煙火預警檢測網(wǎng)絡,來緩解人工監(jiān)控的壓力,降低監(jiān)控成本。

現(xiàn)階段的卷積神經(jīng)網(wǎng)絡包含單階段(one stage)算法與雙階段(two stage)算法兩個大類,典型的單階段算法主要有YOLO 系列[10~15]和SSD[16]系列,這些算法檢測速度快,檢測精度高。文獻[1]中通過增加VGG16 網(wǎng)絡中的卷積層和池化層來重構SSD算法,提高了煙火的檢測精準度。文獻[2]中使用高斯參數(shù)設計損失函數(shù),以實現(xiàn)新的YOLOv3 煙火檢測模型,相較于原模型準確度提高了5.5%。這兩種算法在煙火檢測上的成功應用,證明單階段算法滿足實際煙火檢測的精準度需求。文獻[17~19]在不同的場景中運用了YOLOv5[10]算法,證明單階段算法YOLOv5,在保持高精準度的同時,具有很快的運行速度,且工程應用范圍廣。但上述方法均存在計算量過大,存在部署不便或成本高昂的問題。

為便于智能檢測算法在低算力設備上的部署,業(yè)界提出了諸如MobileNets[3~4]和SqueezeNet[5]等輕量化網(wǎng)絡,2020 年華為諾亞方舟實驗室提出了檢測速度更快的GhostNet[6]。這些算法雖然減少了大量的卷積運算與浮點運算,但其精度不足,無法滿足工程實際中煙火檢測的精度需求。文獻[7]提出一種使用DH-MobileNet 網(wǎng)絡結構代替SSD 結構中的VGG16 網(wǎng)絡,以此來簡化模型,減少了運算量。文獻[8]采用GhostNet 所構建的殘差結構改進yolov4-tiny 后得到YOLO-GhostNet,在檢測速度方面較原網(wǎng)絡提升了24%,加快了推理速度。文獻[9]提出一種將Ghost 卷積模塊替代原始卷積,并引入三個SPP 模塊,形成目標識別輕量化算法GS-YOLO,預測速度得到了顯著的提升。這類算法普遍將輕量化的網(wǎng)絡模塊與深度卷積網(wǎng)絡進行融合,提升了運行速度,但查全率與查準率均下降明顯。

為解決上述單階段網(wǎng)絡計算量大和輕量化網(wǎng)絡準確度低的問題,本文選擇檢測精度較高且速度快的YOLOv5s[10]算法,在輕量化模塊中添加注意力機制,形成CG 模塊,并取代YOLOv5s 主干網(wǎng)絡中的CSP1_X 模塊,構成輕量級識別網(wǎng)絡CG-yolo。最后將該網(wǎng)絡通過模型轉換部署到Jetson Nano 平臺上,滿足了基于邊緣計算模式煙火監(jiān)測的性能和效率需求。

2 YOLOv5框架

YOLOv5s 結構最小的網(wǎng)絡YOLOv5 具體結構如圖1所示。

圖1 YOLOv5s結構

YOLOv5s 的網(wǎng)絡結構分為輸入端、Backbone、Neck、預測層(Prediction)四個部分組成,每個部分都應用了一些新技術。輸入端采用Mosaic 數(shù)據(jù)增強和自適應的錨點框計算,在豐富數(shù)據(jù)多樣性的同時,還進一步提升了檢測速度。主干網(wǎng)絡Backbone中使用Focus結構和CSP1_X 結構,其中X 代表CSP結構中使用的殘差組件,每個殘差組件都使用了兩個CBL(Conv+BN+LeakyRelu)結構。網(wǎng)絡中的Neck 部分采用與YOLOv4 相同的FPN+PAN 結構,并且使用CSP2_X 結構來加強網(wǎng)絡特征融合。YOLOv5s 在邊緣計算平臺上直接運行,其檢測速度只有4fps,因此本文提出CG-yolo輕量化算法。

3 CG-yolo輕量化目標檢測算法

由于bottleneck中的CSP1_X 結構復雜,本文先將其替換為結構簡單且計算量小的Ghostbottleneck模塊。

3.1 輕量化模塊Ghostbottleneck

文獻[6]發(fā)現(xiàn)卷積層的輸出特征圖通常包含很多冗余,并且其中一些可能彼此相似,因此提出了一種新的Ghost 模塊,它通過簡單的濾波和線性變換得到特征圖中的相似特征,以此來減少計算量。

Ghostbottleneck 由兩個堆疊的Ghost 模塊組成。第一個Ghost 模塊用作擴展層,增加了通道數(shù)。第二個Ghost模塊減少通道數(shù),來與shortcut通道數(shù)匹配。然后,使用shortcut連接這兩個Ghost模塊的輸入和輸出。其中第二個Ghost module 不使用ReLU,而其他層在每層之后都應用了批量歸一化(BN)和ReLU 激活函數(shù)。而stride=2 的結構是兩個Ghost module 之間,通過一個stride=2 的深度卷積(DWConv)進行連接。Ghostbottleneck 結構如圖2所示。

圖2 Ghostbottleneck結構圖

本文采用stride=1 的Ghostbottleneck 模塊替代原網(wǎng)絡中較為復雜的CSP1_X 模塊,減少網(wǎng)絡運算量,提高檢測速度。為了確保mAP 指標不會嚴重下降,需要在Ghostbottleneck 中添加注意力機制CoordAttention。

3.2 注意力機制CoordAttention

文獻[20]提出了一種專為輕量級網(wǎng)絡設計的新注意力機制,稱為CoordAttention,簡稱CA。為了能讓輕量級網(wǎng)絡在更大區(qū)域上擁有注意力,同時減小計算開銷,該注意力機制在通道注意力中嵌入了位置信息。該方法的實現(xiàn)過程分為兩個步驟:坐標信息嵌入(coordinate information embedding)和坐標注意力生成(coordinate attention generation),CA 注意力機制具體結構如圖3所示。

圖3 CoordAttention結構圖

CA 模塊將全局池化分解為兩個一維的特征編碼操作,實現(xiàn)沿兩個空間方向進行特征聚合。這樣,可以沿一個空間方向捕獲遠程依賴關系,同時保存沿另一空間方向的精確位置信息。具體而言,對輸入X,先使用尺寸(H,1)和(1,W)的池化核沿著水平坐標方向和豎直坐標方向對每個通道進行編碼。然后將生成的特征圖分別編碼為一對方向感知和位置敏感的attention map,應用于輸入特征圖以增強關注對象的表示。將坐標信息嵌入的操作對應著圖中X AvgPool 和Y AvgPool 兩個部分。作者在設計坐標注意力生成操作時,先級聯(lián)模塊生成的兩個特征圖,然后使用一個共享的1×1 卷積進行變換,生成中間特征圖。接著,沿著空間維度將f切分為兩個單獨的張量,再利用兩個1×1卷積Fh和Fw將特征圖變換到和輸入X 同樣的通道數(shù)。CA 模塊的最終輸出可以表述如下式。

至此CA模塊同時完成了水平方向和豎直方向的注意力,同時它也是一種通道注意力。該注意力機制優(yōu)于傳統(tǒng)的SE Attention,在保證參數(shù)量的前提下,提高精度且靈活輕量。Ghostbottleneck 模塊過于簡潔,使得特征提取不足,因此本文選用CA注意力機制,插入Ghostbottleneck 模塊中,提高網(wǎng)絡的檢測準確度。

3.3 CG-Yolo

YOLOv5s 的主干網(wǎng)絡中有對圖片進行切片操作的Focus模塊,本文為減少計算量,將其替換為普通的下采樣。此處引入浮點運算數(shù)FLOPs 對兩個模塊進行比較。FLOPs 常用于衡量算法中模型的復雜度,F(xiàn)LOPs與算法運行速度成反比。計算時通常只考慮乘加操作的數(shù)量,而且只考慮Conv 和FC等參數(shù)層的計算量,一般忽略BN 和激活函數(shù)等。計算方法是當前層filter×輸出的feature map,具體公式如下。

普通下采樣是將一張640×640×3 的圖片輸入3×3 的卷積中,步長為2,輸出通道64,下采樣后得到320×320×64 的特征圖,那么普通卷積下采樣理論的計算量為88473600。而Focus 進行了切片操作,將原來的三輸入通道,改成了12 個輸入通道,而其他參量與Conv 一樣,可以明顯看到,F(xiàn)ocus 的計算量是普通卷積的4 倍,但是下采樣時沒有信息的丟失。為了減輕計算量,我們將原來的Focus 功能模塊,替換為普通的Conv卷積模塊。

由于YOLOv5 網(wǎng)絡的結構復雜性,冗余較大,導致檢測速度變慢。為了在檢測性能不變的情況下,提高網(wǎng)絡的檢測速度,本文提出一種CG(CA+Ghostbottleneck)模塊來對YOLOv5 網(wǎng)絡進行輕量化。CG 模塊不僅實現(xiàn)了YOLOv5 網(wǎng)絡中冗余特征圖的提取,而且提取的特征圖還體現(xiàn)特征通道重要程度,CG模塊其結構如圖4所示。

圖4 CG模塊結構圖

本文提將CA 注意力機制融入stride 為1 的Ghostbottleneck 模塊之中,在降低運算量的同時保證了查全率和查準率。在第一個Ghost 卷積操作后,由于需要進入BN 層對輸入激活函數(shù)的輸入進行歸一化,隨后采用ReLU 激活函數(shù),使得Ghost 卷積表達能力就更加強大。在ReLU激活函數(shù)后添加CA 注意力機制,在這樣解決了輸入數(shù)據(jù)發(fā)生偏移和增大的影響,CA 模塊在輸入輸出通道上的不變性,可以在其后繼續(xù)進行第二個Ghost 卷積操作。將新的CG 模塊替換掉原來網(wǎng)絡Bottleneck 中的CSP1_X 模塊。由此,對于YOLOv5s 的改進完成,改進后的YOLOv5網(wǎng)絡命名為CG-yolo。

4 搭建邊緣計算平臺

現(xiàn)有的輸電通道煙火檢測方法,主要是從攝像機捕捉到的畫面中截取圖片,然后通過網(wǎng)線進行遠距離傳輸,最后使用高性能圖形服務器進行檢測。該方法所需的高性能圖形服務器價格高昂,并且網(wǎng)絡傳輸效率帶來的時延,使得檢測并非實時。因此,本文提出一種基于邊緣計算平臺的輸電線路隱患檢測方法,能夠在監(jiān)控點實現(xiàn)無時延檢測,隨后將隱患信息傳遞至主機。

4.1 邊緣計算

邊緣計算是指在數(shù)據(jù)源頭測,使用廉價且具有計算、存儲等能力的平臺,就近進行服務。就煙火檢測而言,終端計算需要將大量圖片通過網(wǎng)絡傳輸?shù)礁咝阅芊掌髦?,再使用深度卷積神經(jīng)網(wǎng)絡進行檢測,具有運行成本高且顯卡利用率不足的短板。邊緣計算則是利用計算平臺,直接對多個就近的監(jiān)測點進行檢測,最終只將檢測結果傳遞回終端或網(wǎng)絡平臺。

4.2 邊緣計算平臺Jetson Nano

本文使用CG-yolo 算法對煙火樣本進行訓練,將得到的模型部署于NVIDIA 公司提供的Jetson Nano 平臺上,以此來驗證算法的工程實用性。為了得到更快的檢測速度,本文使用NVIDIA 開發(fā)的TensorRT 進行加速。但由于CG-yolo 算法訓練后得到的模型為pt 格式文件,因此需要進行模型轉換。首先將pt 轉為wts 格式,對模型進行可視化操作,驗證模型完整性,并根據(jù)可視化后的結構對C++版的YOLOv5 進行更改,最后將wts 文件轉為engine文件由此模型轉換完成并進行部署。

Jetson Nano 平臺具體配置見表1,設備實物如圖5所示。

表1 Jetson Nano平臺配置

圖5 邊緣平臺Jetson Nano

5 測試分析

為驗證基于CG-yolo 的煙火檢測算法的有效性,本次實驗在Pytorch 深度學習框架下進行,訓練過程使用高性能服務器,其CPU 為Intel(R)Xeon(R)Gold 5118,兩塊顯卡均為GTX2080ti,單個顯卡的顯存為12GB。邊緣計算平臺為Jetson Nano 4GB,中央處理器為64 位四核ARM A57,GPU 為128核NVIDIA Maxwell。

5.1 數(shù)據(jù)集準備

為了保證算法的適用性,本文使用的煙火數(shù)據(jù)集,主要由國網(wǎng)南京分公司提供。先通過鏡像的方法對數(shù)據(jù)集進行擴充,然后使用標注軟件labelImg,對煙霧與山火分開標注,標注過程如圖6所示。

圖6 labelImg標注示例圖

標注完成后會產(chǎn)生一個xml 文件,使用自制的python 腳本工具將xml 文件轉化為帶有圖片信息txt文件,保存到和圖片同一文件夾下。本文按8∶1∶1 的比例隨機生成訓練集、驗證集和測試集,總共擁有1608 張,其中山火圖片401 張,煙霧圖片共計1207張。具體分配如表2所示。

表2 數(shù)據(jù)集準備

5.2 評估指標

為比對本文選取的方法與其他深度卷積檢測識別算法的差異,本文主要采用查全率Recall、查準率Precision、mAP 與FPS 四種指標進行分析。FPS表示每秒的識別幀數(shù)。mAP 是所有類別準確度的平均值。其中Recall、Precision的計算公式如下:

T表示將目標隱患檢測為相應的目標。F表示目標隱患檢測為非對應目標。P 表示檢測到的目標是沒有隱患的目標。通過計算傳輸通道隱患的查全率和查準率,繪制出查準率-查準率(PR)曲線,mAP 為曲線下面積。在實際工程應用中,為了防止事故的發(fā)生,監(jiān)管者更注重召回和檢測速度FPS。

5.3 實驗結果

本文主要對YOLOv5s 算法進行改進,得到CG-yolo算法,并最終運行在Jetson Nano平臺上,以此來實現(xiàn)更低成本的山火煙霧的檢測與識別。為了確保實驗的可靠性,我們所有的訓練測試都在同一臺設備上進行,且保證訓練過程一致。在訓練過程中,使用YOLOv5 的自動聚類方法,設置整個訓練集的迭代次數(shù)epochs 為400 輪,一次輸入圖片張數(shù)batch-size 為32,輸入圖片尺寸img-size 統(tǒng)一縮放到640×640。測試時輸入的圖片尺寸設置為640,置信度IOU 為0.6。在GPU 上使用CG-yolo 算法對訓練集進行訓練,花費約7h,獲得最終煙火檢測模型權重。

在對比實驗中,本文主要從檢測數(shù)據(jù)和實際檢測結果圖兩個方面進行對比分析,輔之以兩種網(wǎng)絡關于查全查準率的實時圖。

一方面,在相同的運算環(huán)境下,將傳統(tǒng)輕量化的深度學習算法YOLOv4-Tiny、傳統(tǒng)單階段算法SSD、原網(wǎng)絡YOLOv5s 同本文算法進行比較分析。通過對比實驗得出本文算法要優(yōu)于其他三種算法。與原網(wǎng)絡相比mAP 僅下降0.2%,算法的檢測速度提高了9.5%,查全率提升1.8%,CG-yolo 更適合實際工程應用。此外,通過與YOLOv4-tiny 相比較,本文算法的速度略慢于tiny,但mAP 遠優(yōu)于tiny。CG-yolo各項指標優(yōu)于SSD 算法。可見在實際工程應用中,本文提出的算法和架構更具優(yōu)勢。三種算法的對比如表3所示。

表3 幾種深度學習網(wǎng)絡對比

另一方面,為了驗證本文提出的算法在實際場景應用中的有效性,展示如圖7 所示的實際效果圖。

圖7 CG-yolo與YOLOv5檢測結果對比

第一列圖片為CG-yolo 的檢測結果圖,第二列為YOLOv5s 的檢測結果圖,通過比較兩組隨機挑選的測試結果圖可知,在速度提升的前提之下,兩種算法關于火焰與煙霧的識別效果相同。為了從總體趨勢上說明CG-yolo 的查全查準率與原網(wǎng)絡相近,本文對圖8與圖9進行分析。

圖8 recall對比圖

圖9 precision對比圖

圖8 和圖9 是采用每輪訓練結束后的模型,對測試集進行測試,計算其查全查準率,最終繪制出的曲線圖。其中藍色線條為改進版CG-yolo,橙色線條為YOLOv5s 網(wǎng)絡,橫坐標為訓練次數(shù),縱坐標為查全率與查準率的小數(shù)形式。從圖中我們可以分析得出,在第400 輪訓練結束時,CG-yolo 在召回率上較原網(wǎng)絡提升1.8%,查準率下降1.7%。從整體曲線圖分析增長趨勢,可以發(fā)現(xiàn)查全率高于原網(wǎng)絡,而查準率略低。

本文在邊緣計算平臺上部署一個能夠實時檢測的卷積神經(jīng)網(wǎng)絡,因此,將轉換后的模型放入邊緣計算設備nano 中,利用測試集進行測試。發(fā)現(xiàn)在邊緣設備中,我們的算法依然有很好的表現(xiàn),運行速度達到13fps,且檢測效果與在服務器端相同,滿足煙火檢測在邊緣計算平臺部署的需求。邊緣設備運行效果如圖10所示。

圖10 在Jetson Nano中的檢測效果

6 結語

針對現(xiàn)有煙火檢測算法計算量大,無法在邊緣計算平臺上部署的問題,本文提出了一種基于CA-Ghostbottleneck 模塊的YOLO 目標識別模型壓縮算法CG-YOLO。采用高效輕量化模塊Ghostbottleneck 替換原來的CSP1_X 模塊,并在Ghostbottleneck 模塊中添加CA 注意力機制,在保證精確度的基礎上提升了算法的檢測速度。本文算法相較于YOLOv5s 的檢測速度提升了9.5%,但本文僅考慮了使用更加輕量級模塊,并未考慮到剪枝、量化和蒸餾等減輕模型的有效方法。通過實驗結果證明,本文提出的方法有效地對YOLOv5s 結構進行了優(yōu)化,相較于傳統(tǒng)的YOLOv5 模型有著更小的體積和更快的預測速度,對算力低、內存少的嵌入式平臺十分友好,并在邊緣計算設備Jetson Nano上成功部署,得到了13fps的檢測速度。此外,本文所提方案不僅可以對YOLOv5 模型進行高效的壓縮與加速,其他卷積神經(jīng)網(wǎng)絡模型都可參照本文方案進行操作模塊的替換,為其他深度學習算法部署在資源有限的嵌入式平臺上提供方法參考。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 一级毛片在线播放免费观看| 国产av无码日韩av无码网站| 色综合天天娱乐综合网| 免费国产黄线在线观看| 亚洲人成电影在线播放| 国产精品免费p区| 国产人前露出系列视频| 久久久久免费精品国产| 国产色婷婷视频在线观看| 亚洲欧美综合在线观看| 无码日韩人妻精品久久蜜桃| 亚洲一级毛片免费观看| 五月婷婷丁香色| 亚洲日韩精品无码专区| 亚洲国产中文欧美在线人成大黄瓜| 国产在线视频二区| 2020国产免费久久精品99| 黄色网址免费在线| 中文字幕啪啪| 久久精品国产亚洲麻豆| 精品精品国产高清A毛片| 成年人视频一区二区| 日韩二区三区| 国产麻豆精品久久一二三| 欧美亚洲第一页| 成人日韩欧美| 国产91高跟丝袜| 免费无码一区二区| 精品久久高清| 久久影院一区二区h| 亚洲人网站| 国产97色在线| 农村乱人伦一区二区| 久久国产成人精品国产成人亚洲| 久久国产精品影院| 国产探花在线视频| 久久精品一品道久久精品| 国产粉嫩粉嫩的18在线播放91| 久久9966精品国产免费| 国产微拍精品| 亚洲h视频在线| 午夜福利免费视频| 日本精品中文字幕在线不卡| 蜜桃臀无码内射一区二区三区| 国产导航在线| 久久综合亚洲色一区二区三区| 亚洲无码熟妇人妻AV在线| 亚洲精品爱草草视频在线| 色婷婷狠狠干| 日韩黄色大片免费看| 人妻少妇乱子伦精品无码专区毛片| 无码免费的亚洲视频| 欧美国产日韩在线观看| 777国产精品永久免费观看| 国产精品极品美女自在线看免费一区二区| 真实国产精品vr专区| 91探花国产综合在线精品| 国产成人久视频免费| 又污又黄又无遮挡网站| 在线国产资源| 台湾AV国片精品女同性| 日韩av无码DVD| 亚洲欧美人成电影在线观看| 丝袜美女被出水视频一区| 18禁影院亚洲专区| 国产欧美视频一区二区三区| 国产区在线看| 2022国产91精品久久久久久| 九色在线观看视频| 国产三级a| 国产男人的天堂| 亚洲无码高清视频在线观看| 精品三级在线| 国产自产视频一区二区三区| 亚洲精品波多野结衣| 日本亚洲成高清一区二区三区| 成人在线观看一区| 日韩在线成年视频人网站观看| 亚洲日韩精品无码专区97| 欧美日韩一区二区三区在线视频| 国产欧美在线视频免费| 日韩精品久久久久久久电影蜜臀|