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

基于改進YOLOX的落石檢測方法

2023-12-01 03:07:50楊長志歐陽飛向東升
計算機測量與控制 2023年11期
關鍵詞:特征實驗檢測

陳 墾 ,歐 鷗 ,楊長志 ,龔 帥 ,歐陽飛 ,向東升

(1.東南大學信息科學與工程學院 毫米波國家重點實驗室,南京 211189;2.四川數字交通科技股份有限公司,成都 610218;3.成都理工大學 計算機與網絡安全學院(牛津布魯克斯學院),成都 610059;4.成理智源科技(成都)有限公司,成都 610059)

0 引言

我國幅員遼闊,地大物博,同時也地形復雜,有風景秀美的山川,還有大量的丘陵地帶。部分城市靠山而建,山坡區域的地質情況不穩定,易受烈日與雨水的侵蝕,發生崩塌、滑坡和落石的情況[1]。落石的危害程度不一,輕者阻斷交通,落石災害發生在國道與隧道洞口[2],使行人和車輛不能正常通行;重者落石災害發生在行人經過的區域,危及人群的生命安全,或發生在輸油管道區域,對油氣運輸造成巨大影響[3]。而落石的發生,很可能是一些更具危害的災害如:崩塌、泥石流災害的前兆。修建于山坡附近的小區和公園等人流量大的場所,一旦發生落石等情況,容易造成人員受傷。為了保證人民群眾的生命和財產安全,防止落石災害帶來的巨大損失,通過實時的落石檢測的方法及時提醒民眾避難的重要性不言而喻。落石發生時,人們往往無法及時發現,而自動檢測識別和告警的方法,可以及時通知人們避難[4-6]。具體步驟為:通過山坡附近的攝像頭對落石現象進行監測,一旦發生落石,可以及時發出警告,提醒人民及時避難,防止人員受到危害。因此,如何利用目標檢測方法實時、高效并準確地檢測出落石現象,具有一定的研究價值。

傳統的落石檢測系統,是通過幀差法,檢測物體是否產生了移動,再根據移動物體的幾何特征判斷是否為落石[7],其檢測速度較慢、檢測精度不高,比較容易出現錯誤預報、漏報等現象,因此本文將深度學習的目標檢測算法融入落石檢測系統中,提高落石檢測效率、檢測精度。

目標檢測算法可分為Two-Stage和One-Stage模型。Two-Stage模型包含R-CNN、Fast R-CNN和Faster R-CNN等[8-10],整個檢測流程分為兩大步,即先產生候選框,再進行分類與回歸,Two-Stage模型的識別正確率較高,但實時性能較低,適用對檢測速度要求不高的場景。One-Stage模型包含YOLO系列[11-13]和SSD系列[13-16]等,整個檢測流程只需一個步驟,經過單次檢測得出目標位置以及置信度得分,其相比于Two-Stage模型,準確度稍低,但實時檢測性能較高,更適用需要快速檢測目標的場景。在YOLO系列的版本迭代中,YOLOX相比于YOLOv3、YOLOv4和YOLOv5,檢測幀率和準確率更高,并提供了強大的數據增強,在數據集容量較小的時候更能取得更好的學習效果,意味著更好的檢測效果。基于深度學習的落石檢測系統中,Two-Stage模型需要經過產生候選區域-提取特征框-分類與回歸的流程,在動態場景下,若目標移動速度較快,可能出現還沒來得及檢測目標就消失的情況;One-Stage模型中SSD系列和YOLO系列檢測速度都較快,但是YOLO系列版本迭代快,檢測效果更好,適合落石檢測的性能要求。

本文開展的實驗基于YOLOX模型,在落石的目標檢測問題上,由于落石的大小和形狀差異較大,背景環境復雜,為了得到更好的檢測和訓練效果,首先對主干網絡中的空間金字塔結構進行優化,以獲得更多的語義信息,其次在骨干網絡引入ECA-Net注意力機制[17],使網絡更關注落石目標本身的特征,降低周遭環境的干擾,且該注意力機制參數量少,幾乎不增加模型的復雜度,在不損失檢測性能的情況下,提高對落石目標的特征提取能力,并加強各層特征間的信息傳播。最后對損失函數進行改進,降低因樣本不均衡帶來的訓練效果較差的問題通過自制落石數據集,訓練出的網絡可以準確地檢測運動中的落石。實驗結果表明,改進后的YOLOX落石檢測方法相比原算法,對于落石情況發生的檢測更加靈敏,并且降低了落石檢測的誤報率,檢測性能與原始網絡無異。同一檢測場景下,平均精度更高,符合實時目標檢測的要求。

1 相關算法

1.1 YOLOX算法

YOLOX算法結構如圖1所示,分為Backbone、Neck和Head三大部分。

圖1 YOLOX算法結構

YOLOX的骨干網絡采用CSPDarknet,該網絡基于ResNet實現,其中主要模塊的功能分別如下。

Focus模塊用于增加特征圖的通道維度,輸入圖片進入后,按照縱橫兩個方向將特征圖切割為像素點,之后再間隔選取像素點,進行拼接與堆疊,將原始的單層特征圖變為四層特征圖,特征圖的通道長寬變為原來的一半,深度擴充為原來的四倍。借此模塊可以減少特征圖參數量,提升正向傳播和反向傳播的速度,并且不減少圖像的特征信息。Conv模塊是網絡中的基本卷積單元,輸入特征圖進入Conv模塊后,其中Conv2D層進行二維卷積操作,BN(批量歸一化)層進行正則化操作,而激活函數層則使用SiLU函數進行激活操作。CSPLayer采用了ResNet的殘差結構,將CSPLayer模塊劃分為兩個不同部分:其中一部分作為殘差主干結構,對殘差塊進行堆疊,增加神經網絡的深度;另一部分作為原始結構保留,最后將兩部分拼接,構建跳躍連接。這種方法相當于在殘差塊之間增加了一個捷徑,可以重復利用梯度信息,利于增加網絡的深度,緩解梯度消失等問題。SPPBottleneck模塊中,除了使用基本卷積單元Conv執行卷積操作以外,還有池化層進行池化和拼接操作,該層采用最大池化的方法,通過改變核的大小來提高感受野。骨干網絡的各模塊圖如圖2所示。

圖2 骨干網絡的模塊框架

YOLOX網絡的Neck部分由FPN(feature pyramid networks,特征金字塔)[18]和PAN(path aggregation network,路徑聚合網絡)[15]構成,其結構如圖3所示。FPN用于自頂向下傳播語義特征,而PAN則是自底向上傳播語義特征,FPN與PAN兩者結合,可以構建高層語義特征圖以及底層特征圖,并利用PAN的路徑增強方法提高特征信號,從而加快高低層特征之間的信息傳播速度,實現特征融合。

圖3 FPN與PAN結構

YOLOX網絡的Head部分為檢測結構,也稱為檢測頭。原始特征圖經過上一層結構處理后,生成三個不同尺寸的特征圖,應對不同尺寸目標的學習或預測。如圖4所示,YOLOX使用了Decoupled Head(解耦頭)結構,相比以往模型中的Coupled Head(耦合頭)結構,耦合頭用一個1×1卷積涵蓋了分類和回歸步驟,而解耦頭則將分類和回歸步驟解耦,先使用卷積對輸出進行降維,在分類和回歸兩個流程中,各使用兩個3×3 卷積。將檢測頭替換為解耦頭后,預測的精度提高且網絡的收斂速度更快。

圖4 耦合頭與解耦頭的結構圖

1.2 SiLU激活函數

激活函數對于網絡模型學習非線性特征具有非常重要的作用,可以解決線性模型解決問題的有限性。YOLOX模型采用了SiLU激活函數,函數如公式(1)所示。

f(x)=x·σ(x);f′(x)=f(x)+σ(x)(1-f(x))

(1)

SiLU是Sigmoid和ReLU的改進版,SiLU激活函數具備無上界、有下界、平滑、非單調的特性,相較于ReLU更平滑,其在深層模型上的效果優于ReLU激活函數。

2 算法改進

2.1 空間金字塔池化結構改進

空間金字塔池化結構廣泛運用于YOLO系列網絡中,在YOLOX網絡中使用SPPBottleneck進行特征提取,它首先使用一個卷積層和3個池化層對輸入的特征圖進行處理,將輸入通道縮減為原來的一半,然后將所得結果和上一步輸出的結果進行疊加處理,此時得到新的特征圖的通道數是最開始輸入特征圖的通道數的兩倍。最后,再進行卷積處理通道數減半,此時得到的特征圖大小和輸入特征圖大小保持一致,其結構如圖5(a)所示。

SPPCSPC結構在SPPBottleneck基礎上加深了網絡,采用殘差結構,其結構如圖5(b)所示。

圖5 金字塔池化結構改進

在落石檢測中,由于背景和目標相似,背景與目標難以完全區分,通過SPPBottleneck提取到的語義信息較少,不能完全提取出落石目標的特征,而SPPCSPC加深了網絡,通過不同層次網絡所提取到的信息將會更多,獲得的語義信息和特征信息更加明顯。神經網絡的加深容易導致梯度消失和梯度爆炸問題,學界之前常用數據的初始化和正則化解決梯度問題,而這種方法并不能解決網絡性能退化問題,而后殘差結構的提出能同時解決隨著網絡加深出現的梯度問題和網絡性能退化問題。因此SPPCSPC同時采用了殘差結構,提高網絡的檢測效率。本文通過將SPPBottleneck替換為SPPCSPC結構,在落石檢測中,可以將紋理、顏色等外形相似的落石與山坡背景區分開來,此外也可以減少數據訓練產生的誤差。

2.2 通道注意力改進

為了提取目標更精確的特征,增加特征信息的傳播能力,引入通道注意力模塊,可以使網絡更關注檢測物體本身而不是背景,因此在YOLOX中將ECA-Net注意力模塊引入到骨干網絡最后一個殘差塊,作為特征融合層,命名為ECALayer。改進后的主干網絡結構如圖6所示。

圖6 改進后的骨干網絡結構

ECA-Net(有效通道注意力)基于SENet(擠壓激勵網絡)[19]改進而來,它避免了SENet中因維數降低對通道注意預測帶來的不利影響,使用適當的局部跨通道交互,同時保持輕量化,ECA-Net可以在幾乎不增加網絡模型參數量的情況下,帶來明顯的性能提升。

如圖7所示,SENet(squeeze-and-excitation networks)通過兩個非線性的全連接層和一個激活層計算網絡通道的權值,而ECA-Net將局部信息進行了跨通道交互,提高特征信息的利用率。該結構采用核大小為k的快速一維卷積計算通道權值,k的取值范圍受通道維度C的影響,其映射關系如公式(2)所示:

(2)

k與C采用指數函數進行映射,C通常取值為2的整數冪。公式最后的odd代表取值最近的奇數。通過映射關系對內核大小k調優的方法,可以避免消耗過多的計算資源。

圖7 SENet和ECA-Net模塊結構

2.3 損失函數優化

深度學習中的損失類型由回歸損失和分類損失組成,其函數分別用于衡量各個框之間的位置信息以及減少樣本類別不均衡的問題。

YOLOX中的回歸損失函數分別采用IOU損失函數和GIOU損失函數,IOU損失函數無法準確反應真實框與目標框的重合度,而GIOU損失函數改進了預測框和真實框的相交問題,但當預測框與真實框處于包含關系時,該函數也難以劃分兩個框的位置關系,降低算法的回歸效果。為了改進以上缺點,CIOU函數直接計算回歸預測框和真實框的歐幾里得距離來加速收斂,并解決各個框位置不理想的問題,因此在本實驗中采用CIOU回歸損失函數替換IOU與GIOU損失函數,以降低預測框和真實框位置關系不理想導致的誤差。CIOU損失函數如式(3)所示:

(3)

(4)

(5)

CIOU損失函數相比上兩種損失函數,考慮了框的相交面積、歐幾里得距離和框的長寬比等,預測框的回歸更快且更準確。

YOLOX中的原始分類損失函數采用二元交叉熵,該方法會產生大量的預選框來保證框能夠覆蓋檢測目標,而其中只有小部分能準確涵蓋目標,產生大量冗余框,導致沒有檢測目標的負樣本數量過多,無法為算法網絡的訓練提供作用,導致算法學習無目標的背景,而無法分辨檢測目標,減緩函數的迭代過程,并且可能無法優化至最優。因此將二元交叉熵損失函數替換為Focal Loss損失函數,如式(6)所示:

FL(pt)=-αt(1-pt)γlog(pt)

(6)

其中:αt用于平衡正負樣本的重要性,取值范圍在0到1之間,取值在區間范圍內越大則更關注正樣本,反正則更關注負樣本。γ用于衡量簡單樣本和困難樣本的重要性,取值范圍在0到5之間,取值在區間范圍內越大則越關注困難樣本,反正則更關注簡單樣本,pt是sigmoid函數輸出的預測值。為降低函數的參數量,提出一種輕量的Focal Loss損失函數,其公式如式(7)所示:

FL(pt)=-(1-pt)2log(pt)

(7)

因此考慮將變量αt設為常量1,將第變量γ設為2,提高正樣本與簡單樣本的重要性,使該損失函數在本實驗中發揮最好作用。

2.4 數據增強

為了保證本次實驗的樣本數量飽和,防止訓練效果不好的情況發生,引入Mosaic[20]和Mixup[21]數據增強方式。Mosaic數據增強方式首先選擇四張圖片,再分別進行圖片的隨機變換,如使用裁剪或縮放的方式,最后將這四張圖片進行拼接。Mixup數據增強方式則是隨機選擇兩張圖片進行拼接,主要通過填充和融合的方式變換圖片。擴充后的數據集能一定程度上提高算法訓練效果,但是經過以上兩種數據增強生成的圖片與真實圖片有一定區別,生成的數據量過多,可能會帶來不準確的標注框,導致檢測的結果脫離實際應用。因此本文實驗僅在前90%的訓練流程中采用數據增強。

3 結果與分析

3.1 實驗環境

本文的實驗環境為一臺筆記本電腦,使用的操作系統為Linux,CPU型號為i7-10750H,GPU型號為GTX 2070,顯存大小為8 GB,內存大小為32 GB。使用的所有模型基于Pytorch1.9.1,cuda版本為10.1,cudnn版本為7.6.5。

在實際的應用環境中,在可能發生落石的區域布置攝像頭,作為前端,使用攝像頭二十四小時監測,遠程的監測中心作為后端,實時地對攝像頭捕捉到的畫面使用本文落石檢測方法檢測,一旦檢測到有落石發生的情況,就通過攝像頭監測區域附近的警示器向民眾發出警告。實際應用環境下的整個系統的檢測流程如圖8所示。

圖8 系統的檢測流程圖

3.2 數據集概述

本文的實驗采用從網上收集的圖片以及自己拍攝的真實環境的圖片作為數據,篩選后使用labelimg軟件標注,一共得到了518個樣本,每份樣本包含一張圖片和一個xml文件,作為訓練所用的數據集。經過Mixup數據增強后,共得到數據集5 439個,將所收集數據的80%作為訓練集,剩余20%均分為驗證集和測試集,最終得到訓練集、驗證集和測試集的數量分別為4351、 544和 544。數據集的標注過程如圖9所示。

圖9 使用labelimg標注數據

3.3 模型訓練

本實驗使用的輸入圖片分辨率大小設置為640×640,選擇較高輸入圖片分辨率可以增強網絡對細節的學習效果。本文模型基于YOLOXs預訓練權重,避免從零訓練網絡,可以提高網絡訓練速度,縮短網絡訓練時間,保證特征提取效果并減少權值隨機等問題。

模型的訓練分為兩個階段,經過多次嘗試,決定采用以下模型的訓練參數。設定訓練的總共次數為150個epoch,其中:0~50個epoch采用凍結訓練,凍結用于圖像特征提取的主干網絡,特征提取網絡不發生改變,僅對網絡進行微調,防止權值被破壞,設置凍結訓練的batch size為8,學習率為默認為0.001;51~150個epoch采用解凍訓練,更新圖像特征提取的主干網絡中的全部參數,占用顯存較大,為防止顯存壓力過大導致訓練失敗,因此設置解凍訓練的batch size為4,學習率設為默認的0.000 1。

模型訓練的迭代如圖10所示,在第50個epoch時,由凍結訓練到解凍訓練的轉換,導致誤差值發生波動,在第100個epoch之后,訓練誤差和驗證誤差的值保持穩定不變,趨近于收斂。此時若選取第150個epoch作為預測權重,可能出現過擬合的情況,為防止過擬合情況的發生,本文實驗選用第100個epoch的權重作為預測權重。

圖10 訓練誤差與驗證誤差的迭代

3.4 評估指標

本文采用每秒幀率FPS(frames per second)、均值平均精度mAP(mean average precision),作為模型的評估指標,其中mAP@0.5為主要指標,mAP@0.75為輔助指標。

mAP的計算基于AP的值,計算所有類別的AP@0.5并求平均值即得mAP@0.5,mAP@0.75同理。計算公式分別如式(8)和式(9)所示:

(8)

(9)

其中:P代表網絡檢測精確度,R代表網絡檢測召回率,T代表類別數量,由于本實驗中只有石頭1種類別的樣本,故T的值為1。

3.5 結果對比

本文實驗首先對比了YOLOv3、YOLOv4、YOLOv5和YOLOX的檢測效果,用mAP@0.5作為評估指標。同時本文也采用YOLOX算法和改進后的YOLOX算法應用于落石檢測,作對比實驗。

1)對比實驗:

所有實驗均采用相同的數據集進行訓練、測試和驗證。進行模型對比實驗,結果如圖11所示。

圖11 YOLO系列模型精度對比

通過算法自帶FPS性能檢測,對同一張圖反復檢測,測得每秒可以檢測的幀數,得到YOLO系列模型的對比實驗結果如表1所示。

表1 YOLO系列模型性能對比

由實驗結果可以看出,隨著YOLO版本的迭代,檢測精度在不斷提升,其中YOLOX在mAP@0.5的指標上相比以往版本有較大的提升,證明其性能較好,檢測精度高,在檢測結果上具有更高的準確率。

2)消融實驗:

如圖12(a)和12(b)所示,分別使用YOLOX算法和改進后的YOLOX算法對測試集544個樣本進行預測并評估,圖12(a)中,原生YOLOX的評估結果mAP@0.5為89.05%,圖12(b)中,在原生YOLOX上增加了ECA注意力機制、SPPCSPC結構改進和損失函數替換,最終mAP@0.5為92.50%。

圖12 測試集評估結果對比

采用模型改進的消融實驗,YOLOX改進前后的對比實驗結果如表2所示。

表2 YOLOX改進前后性能對比

由實驗數據可知,改進YOLOX算法在mAP@0.5與mAP@0.75在指標上取得了較大提升。相較于YOLOX算法,改進YOLOX算法的mAP@0.5提升3.45%,mAP@0.75提升2.51%,對于形狀不規則的石頭識別準確率提升較大;FPS保持穩定,性能損耗較小,改進后的模型依然滿足實時檢測的要求。

對比結果表明,改進的YOLOX落石檢測方法的檢測精度提升較大。引入空間金字塔池化、通道注意力和損失函數的改進提高網絡對目標本身的關注程度,減少復雜背景信息帶來的影響。

3.6 檢測效果

本實驗首先選用圖片作為檢測對象,如圖13所示,將落石放置于復雜環境下以模擬落石發生的場景,有樹枝、草地、落葉以及遮擋物的干擾,模型仍然能很好地對落石進行檢測,且具有較高的置信度。

圖13 圖片檢測結果

本實驗最終落實到視頻流的檢測上,將輸入視頻轉化為幀,對每一幀進行檢測。如圖14所示,截取了落石視頻中的部分圖片,以展示改進YOLOX模型在視頻檢測中的效果。

圖14 視頻檢測結果

用作落石視頻檢測的實驗素材的視頻幀率為30FPS,視頻分辨率為640×360,改進YOLOX的視頻檢測幀率相比于原視頻幀率,性能損失小,且對于視頻中形狀不一的落石有較高的檢測率。

4 結束語

本文提出了一種基于YOLOX的落石檢測方法,為了提高檢測準確率和檢測效果,設計了一種改進的YOLOX模型,在模型中對金字塔池化結構進行改進,引入ECA-Net注意力模塊,對Focal Loss損失函數進行調整并替換原有函數,此外采用了數據增強方法,擴充數據集,提升網絡的學習效果,訓練網絡時基于YOLOXs預訓練模型,采用凍結和解凍訓練的方式,避免網絡的權值被破壞和特征提取不明顯等問題。改進后的落石檢測算法與原算法相比,mAP@0.5提高了3.45%,達到了92.50%,每秒檢測幀率提升0.3,驗證了改進后的算法具有較高的識別精度與較快識別速度,提升了圖像與視頻落石檢測的檢測效果。

因主要采取自拍攝圖片、自收集數據的原因,目前數據集中石頭相關的樣本較少,訓練后的網絡可能在某些背景下的落石檢測精度較低,且有時會出現漏檢或檢測錯誤的情況,發生誤報,我們后續工作將繼續擴充數據集,推進本方法的實際應用。YOLOX作為較新提出的模型,我們后續將探究YOLOX的更多的改進方法,以滿足更高標準的實際應用需求。

猜你喜歡
特征實驗檢測
記一次有趣的實驗
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
如何表達“特征”
做個怪怪長實驗
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 久久精品国产精品一区二区| 久久婷婷综合色一区二区| 9久久伊人精品综合| 2048国产精品原创综合在线| 午夜视频免费一区二区在线看| 精品伊人久久久香线蕉| 亚洲综合色区在线播放2019| 污视频日本| 波多野结衣中文字幕一区| 国产亚洲精久久久久久久91| 欧美特黄一级大黄录像| 国产精品专区第1页| 久热中文字幕在线观看| 97se亚洲综合在线韩国专区福利| 无码网站免费观看| 69精品在线观看| 国产高清不卡| 国产精品国产主播在线观看| 青青久视频| 日韩欧美综合在线制服| 福利在线免费视频| 国产不卡一级毛片视频| 制服丝袜 91视频| JIZZ亚洲国产| 丁香婷婷激情网| 五月婷婷伊人网| 99中文字幕亚洲一区二区| 久久青草热| 色婷婷电影网| 精品国产福利在线| 久久久久九九精品影院| 亚洲天堂2014| 91精品免费高清在线| 欧美精品伊人久久| 国产主播在线观看| 国产成人欧美| 国产99在线观看| 日本在线免费网站| 青青青国产精品国产精品美女| 国产日韩AV高潮在线| 一级毛片a女人刺激视频免费| 伊人久久精品亚洲午夜| 免费人成视网站在线不卡| 精品99在线观看| 无码一区18禁| 亚洲娇小与黑人巨大交| 亚洲一区二区约美女探花| 欧美日韩国产精品综合| 国产麻豆另类AV| 亚洲经典在线中文字幕| 亚洲日韩精品综合在线一区二区| 69av在线| 91无码视频在线观看| 欧美日韩精品在线播放| 中文字幕日韩久久综合影院| 22sihu国产精品视频影视资讯| 亚洲精品麻豆| 亚洲AV永久无码精品古装片| 亚洲av成人无码网站在线观看| 国产精品亚洲综合久久小说| 国产精品香蕉在线| 久热re国产手机在线观看| 素人激情视频福利| 亚洲丝袜第一页| 亚洲成人一区二区| 国产免费观看av大片的网站| 色综合天天综合| 亚洲综合日韩精品| 国产色偷丝袜婷婷无码麻豆制服| 国产精品第三页在线看| 99尹人香蕉国产免费天天拍| 亚洲国产午夜精华无码福利| 日本欧美一二三区色视频| 日本一区二区三区精品国产| 三级毛片在线播放| 国产一级毛片yw| 国产91九色在线播放| 69综合网| 亚洲有码在线播放| 欧美另类视频一区二区三区| 久久久久亚洲av成人网人人软件| 91人妻日韩人妻无码专区精品|