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

改進YOLOv3的工業指針式儀表檢測方法

2021-07-21 03:46:44劉家樂吳懷宇陳志環
計算機工程與設計 2021年7期
關鍵詞:檢測

劉家樂,吳懷宇,+,陳志環

(1.武漢科技大學 機器人與智能系統研究院,湖北 武漢 430081;2.武漢科技大學 信息科學與工程學院,湖北 武漢 430081)

0 引 言

指針式儀表制造成本低,結構簡單易維護,廣泛用于大規模工業上的生產監測。礦廠、變電站、化工企業的指針式儀表數量眾多且不固定、多分布在高溫、高壓場所,這種精密器件都需要按時校準來維持自身精確度。傳統的檢測方法是通過人工完成,而個人可能因主觀干擾和危險環境而導致誤檢造成巨大經濟損失。到目前為止,國內外學者對儀表自動檢測方法已有大量的研究,此外,指針式儀表目標多為室外高處的小目標,提高小目標的檢測效果是目前一大挑戰。

以往的目標檢測采用的大多是Hough變換等進行監測,而其對噪聲太敏感、泛化能力弱、復雜度較高,容易漏檢或多檢導致誤差。隨著深度學習的發展,已經有許多學者利用其解決目標檢測識別方面類似的問題,且已經取得不錯的成效。目前,基于深度學習的目標檢測方法已經取得的突破大致可分為兩類。一種是基于區域推薦的Two Stage算法,如:Fast RCNN[1]、Faster RCNN[2],它們通常具有高精度,但通常實時性不足。另一種是基于回歸方法的One Stage算法,如YOLO[3]、SSD[4]、YOLOv3[5],其將檢測問題作為回歸問題來解決并直接預測目標位置和類別,這些方法通常速度快但準確度低。

Laroca R等[6]利用卷積神經網絡對儀表圖像進行分析,但精確度不夠;He P等[7]使用Mask RCNN來分割自然場景儀表盤,但實時性不高;Wang L等[8]使用YOLOv2對儀表進行定位,但對小目標的檢測效果有待提升。計算機內置的內存單元與計算單元有限,盡管目前利用深度學習實現指針式儀表檢測算法越來越多,但這些方法網絡規模大,實時性和準確性仍有待提高,難以在算力有限的計算機上完成對指針式儀表的實時高效檢測,因此不能滿足工業上的實際工作[9]需要。

針對以上問題,本文首先對工業上的指針式儀表的數據集進行采集與制作,然后對YOLOv3算法的系統模型框架結構、損失函數、先驗框聚類[10]進行設計與改進,通過常用的評估指標來對不同算法與改進版YOLOv3進行對比實驗。最后對實驗結果進行分析,結果表明改進的YOLOv3算法,針對工業中的半盤、整盤式指針式儀表檢測有較高的精度與速度,對小目標檢測效果大幅提升,能夠滿足工業上指針式儀表檢測的實際需要。

1 YOLOv3算法

YOLOv3借鑒了圖像金字塔FPN(feature pyramid networks)的思想,在3種不同的規模的特征圖下進行預測,大尺寸特征圖用來檢測小目標,小尺寸特征圖用來檢測大目標,而中間特征層則適合檢測中等目標。通過聚類選取先驗框,對不同大小目標的檢測識別都能很好兼顧。圖1為YOLOv3的自上而下檢測的FPN結構圖。

圖1 YOLOv3的圖像金字塔結構

框架上,YOLOv3參考SSD和ResNet網絡結構,設計了分類網絡基礎模型DarkNet-53,相較于YOLOv2的DarkNet-19,DarkNet-53擴充為更大的網絡,共使用52層卷積層,且每個卷積層后都有歸一化操作(batch normalization)來防止過擬合;考慮到網絡復雜度與檢測準確率,所以與常用的特征提取網絡VGG-16相比,DarkNet-53降低了模型運算量,同時為了避免網絡層數的加深模型在訓練過程中產生梯度爆炸的現象,使用了殘差學習的思想,在網絡中添加了大量的殘差塊。

YOLOv3使用多標簽分類,這與先前版本中使用的互斥標簽不同,它使用邏輯分類器來計算特定標簽對象的可能性。所以對于分類損失,其模型摒棄了Softmax函數作為最終分類器,它使用每個標簽的二進制交叉熵損失,即常用的Logistic損失函數來作分類損失的損失函數,而非YOLOv2中使用的一般均方誤差。表1為檢測網絡性能比較對比表,其中mAP為平均類別精度,FPS為幀率。

表1 檢測網絡性能比較對比

由表1可以看出,YOLOv3各指標在檢測算法中表現較為均衡,且在精確度和速度性能上均取得了良好的效果。

2 改進的YOLOv3算法

盡管YOLOv3在目標檢測領域已經取得不錯的效果,但是對于本文工業上的指針式儀表數據集上來說,其對小目標的檢測效果不太理想,且檢測速度仍難以應對龐大數據量的檢測任務,故需要對YOLOv3算法做適當改進,以更好適應實際工業應用中的指針式儀表的檢測任務。

為了應對工業上的指針式儀表檢測問題,本文主要對YOLOv3算法做如下3個改進。

(1)改進Kmeans聚類。使用最新的Mini Batch Kmeans來加速聚類時間,來應對大量數據集的錨框Anchors選擇,主要作用是更快尋找到更合適的預測矩形框來檢測儀表圖像;

(2)改進YOLOv3框架。使用輕量級框架MobileNet加速YOLOv3的訓練時間,保證精確度的同時大幅度提高實時性;

(3)設計更合理損失函數。使用設計好的損失函數進行訓練,減小損失率,提升系統對小目標儀表盤的檢測效果。圖2為改進YOLOv3的檢測流程。

圖2 改進版YOLOv3檢測結構

2.1 Mini Batch Kmeans聚類anchor選取

SSD與Faster RCNN中邊界框尺寸都是通過主觀選擇的,這種方式會因數據集大小類別不同而產生較大誤差,故YOLOv3采用Kmeans聚類來自動選取邊界框的尺寸與數量,圖3為Kmeans聚類例圖,聚類中心用X表示,橫縱坐標分別為樣本的序號和特征的分布情況。

圖3 Kmeans聚類

如圖3所示,傳統的Kmeans流程都是隨機初始化K個聚類中心,然后將樣本點分配到最近的中心,分開成K個類別,再更新中心點,如此循環直到K個中心點不再變化或達到迭代閾值。因為隨機初始化K個聚類中心會導致聚類結果準確度不穩定,所以使用Kmeans++初始化可以彌補Kmeans在初始化中心點的選擇上的不足,只預先選取一個中心點,再計算每個點到與其最近的中心點的距離的概率,隨機選擇一個點作為中心點加入集合中,重復步驟直到選定K個中心點。隨著數據集的大小進入萬級百萬級,日常目標檢測所需要的精度越來越高,傳統聚類耗時費資源且效果有限,而在聚類環節耗費的時間可以用更加效率的Mini Batch彌補。具體步驟為:

(1)隨機拆分訓練集為n份,首先抽取第一份訓練集,使用Kmeans++初始化構建出K個聚簇點的模型;

(2)繼續抽取訓練集中的下一份樣本的數據,并將其添加到模型中,且分配給距離最近的聚簇中心;

(3)更新聚簇的中心點坐標(每次更新都只用抽取出來的部分數據集)。

Mini Batch Kmeans模型能在保持聚類準確性情況下大幅度降低計算時間。它采用分小批量的方法劃分數據子集,以此減少計算時間,同時仍試圖優化目標函數,采用這些隨機選取的數據進行訓練,極大減少了計算與Kmeans算法收斂的時間,這適用于當數據量與類別數非常大時做聚類,選用通過Kmeans++初始化之后的Mini Batch Kmeans算法能在提升精度的情況下加速聚類時間。

2.2 框架選擇

隨著卷積神經網絡的層數加深,實際工程中所消耗的計算資源越來越大,大量的參數導致網絡訓練與檢測速度緩慢,為了解決這個問題,最好辦法就是對模型進行壓縮,在不損失網絡性能情況下提高運行速度與檢測速度,因此,本文選用輕量級網絡MobileNet代替YOLOv3中使用的Darknet-53網絡。

MobileNet的主要優點是深度可分離卷積 (depthwise separable convolution),它將常用的標準卷積神經網絡進行分解,變成深度卷積和1×1的逐點卷積,首先用深度卷積針對每個單輸入進行單濾波器濾波,后用逐點卷積的方式結合深度卷積的輸出,這種分解方式能大幅減少計算量,減小模型的大小。MobileNet在計算量,權重內存和精確度方面找到了非常合適的平衡點。表2為相同輸入分辨率數據集情況下,YOLOv3框架MobileNet與DarkeNet-53間在ImageNet數據集上的性能比較。

由表2可以看出,在相同條件下,YOLOv3使用MobileNet框架在參數數量上較DarkNet-53框架減小3倍;浮點數運算量上MobileNet僅需150億次,將運算量較DarkNet-53減小了4倍以上。從計算量和參數量來說MobileNet具有絕對優勢,能有效加快訓練速度,縮短訓練時間。

表2 YOLOv3各框架之間的性能比較

圖4所示是改進后的MobileNet的框架圖,共有27層卷積層,每個卷積層后都接有Batch Norm歸一化和激活函數,抽出其中的第9層、14層、24層的特征圖出來進行后續訓練檢測操作。這里選用ELU代替原來的Relu激活函數,函數在左側的負值賦予非零的斜率,不僅能避免或緩解梯度消失和梯度爆炸,而且能極大程度加速訓練過程,使收斂速度加快,對儀表圖像的噪聲有更佳的魯棒性。

圖4 MobileNet框架

2.3 損失函數的設計

損失函數作為衡量預測值與真實值之間的誤差的指標,對于網絡模型檢測效果的好壞起著至關重要作用,一般來說,損失函數下降速率越快,損失值越小,系統模型越好。對于YOLOv3來說,損失函數共分為:f1邊界框的預測(bounding box prediction)、f2置信度計算(confidence prediction)、f3類別預測(class prediction)這3個部分,其總損失為

Loss=f1+f2+f3

(1)

其中,各部分損失為

(2)

上述公式中各參數信息詳見文獻[5]所示。對于式(2)中邊界框的預測f1采用的是真實值坐標與預測值坐標誤差的平方;而置信度計算f2與類別預測f3均采用的是交叉熵損失函數。對于邊界框的坐標預測來說,自由場景下采集到的圖像可能尺寸大小不一,使YOLOv3檢測小目標的效果會受到影響,因此,本文對于坐標誤差的寬高部分損失函數的改進:采用了預測值和真實值的平方和作為損失。這是由于較大目標的誤差相對較小目標的誤差對最終的損失值影響更小,若損失函數不變,則損失函數難以下降,對小目標檢測結果較差。根據本文模型的指針式儀表,為了更好擬合數據,設計邊界框預測損失函數如式(3)所示

(3)

最后本文在坐標誤差后加入激活函數tanh來減小預測框過大而產生的誤差,使預測框更加精確的檢測出儀表圓盤。最終總損失函數如式(4)所示

(4)

2.4 模型評價指標

根據以上問題,本文選擇精確率均值AP(average precision),每秒檢測幀數FPS(frames per second)、平均IOU(交并比)作為模型評價指標,其中AP和FPS為檢測環節精度效率的評價指標,平均IOU為評價邊界框聚類準度指標

(5)

式中:TP(true positive)指的是正樣本,FP(false positive)指的是被判定為正樣本,但實際上是負樣本的樣本數,其中TP與FP相加結果為總樣本數M,AP是針對單一類別預測,目前為止使用頻率最高,效果最優的評價標準和度量指標之一

(6)

幀率FPS(frames per second),即是每秒鐘內最大可以處理的圖片數量。式(6)中S為測試總時間,一般以秒為單位,F為該S秒單位時間內系統檢測的圖片數量。一般顯卡的內存越大,一次性處理的圖片數量越大,則處理一張圖片所需要消耗的檢測時間越短,速度越快

(7)

平均IOU是評價真實框Ground Truth與預測邊框差異性的指標,其中P為預測框大小、G為真實框大小。其式(7)可以理解為神經網絡計算出的框與標記框的重合程度,即是檢測結果與真實框的交集比上其并集。IOU的值越高,預測邊界框的位置越準。

根據以上3點改進,下面將進行實驗。

3 實驗過程及結果分析

本文將根據實驗的軟硬件開發環境,對工業上指針式儀表數據集進行制作,包括變電站、化工廠等場景實地拍攝,并對訓練集進行聚類,得到合適的先驗框輸入網絡進行訓練,通過不同算法的對比實驗,得出結論。

3.1 軟硬件開發環境

實驗環境配置如下:AMD Ryzen 5 2600 Six-Core Processor 處理器,NVIDIA GeForce GTX 1060 5 GB獨立顯卡,CUDA版本為9.0,Python版本為3.6,基于Tensorflow/Keras框架,操作系統為Windows 10,網絡具體參數配置見表3。

表3 網絡參數配置說明

3.2 數據集制作

針對本文的研究環境范圍主要是工業應用,如變電站、化工廠等,而指針式儀表一般在比較隱蔽的高處,像電線桿上和相關管道處,且表盤多因環境原因模糊不清,因此,數據集的搜集非常不便。本文利用python網絡爬蟲技術從網絡爬取指針式儀表的數據集400張,實地拍攝儀表盤圖像照片300余張,用數據增強(data augmentation)手段擴充數據集至1000張圖片,輸入到神經網絡進行訓練。樣本劃分具體是:訓練集、交叉驗證集、測試集之間的比例為6∶2∶2。

圖5是標定數據集中真實框的分布,橫縱坐標分別為各先驗框坐標的分布情況。

圖5 真實框Ground Truth分布

3.3 改進YOLOv3訓練實驗

3.3.1 Mini Batch Kmeans聚類結果

圖6為Mini Batch Kmeans算法的聚類結果圖,橫縱坐標分別為先驗框選取的個數和平均IOU的大小。

圖6 Mini Batch Kmeans聚類結果

圖6中Mini Batch Kmeans算法平均IOU值明顯大于Kmeans,且聚類損耗時間短;鑒于增加候選框數量會影響系統模型的檢測速度,本文最終選擇9個聚類中心。經過測驗得到此時的精確度為81.97%,相對于普通的Kmeans算法提高了4.1%。這種對時間優化的思路還廣泛應用于梯度下降、深度網絡等。

3.3.2 網絡訓練及其測試

為更好檢測大中小目標,在YOLOv3的網絡中,將圖片共分為3個不同尺寸的特征圖。每個特征圖設置有3個錨框Anchor boxes,因此會獲得9個Anchor boxes來進行預測。根據預測的邊界框和實際邊界框之間的IOU進行非極大抑制。根據反復實驗,減小學習率和增大迭代次數并不能有效減小損失值,故本次實驗迭代次數定為1000次。圖7為改進版YOLOv3與原版的損失函數對比曲線圖。

圖7 訓練損失函數對比

圖7中輸入圖像分辨率為416×416,虛線為YOLOv3損失曲線,實線為改進版YOLOv3曲線。培訓結束后,整合培訓過程中的數據,由原版loss曲線可看出曲線前期震蕩較大,至900次迭代后趨于穩定不再變化;由改進版loss曲線圖可知在400次迭代epoch之前損失急速下降,隨著學習率的不斷減小,損失持續小范圍下降,后期迭代loss基本不再變化;最終改進版YOLOv3損失值降為2.8,較原版損失率降低30%。

3.3.3 不同圖像分辨率的性能比較

根據多尺度訓練方式,YOLOv3在不同的圖像分辨率下都有很好的檢測效果,魯棒性較好。為了驗證YOLOv3和改進YOLOv3的在不同圖像分辨率下的檢測效果,本文選出低、中、高{320,416,608}這3種不同分辨率下的圖像進行算法檢測性能評估。由圖8可以看出改進版的YOLOv3在不同分辨率大小上的檢測效果情況,左柱狀圖為YOLOv3效果圖,右柱狀圖為改進版本YOLOv3效果圖。

由圖8可知,在不同分辨率輸入下改進版本YOLOv3均比原版YOLOv3的檢測效果好。由此可得本文所提改進算法能夠適應不同分辨率大小的圖像,且精確度較原版有一定幅度提高。

圖8 兩種算法的圖像分辨率敏感性分析

3.4 指針式儀表對比實驗

為體現各不同檢測算法在指針式儀表數據集上的檢測效果,本文選取中分辨率的情況下,對原版YOLOv3與改進版本的YOLOv3以及SSD、Mask RCNN在本數據集上進行指標評估對比,得出實驗結果指標對比表格。

通過表4可知YOLOv3的精確度(AP)為90.6%,精度方面比Mask RCNN低2%,比SSD高2%;實時性方面,YOLOv3幀率是Mask RCNN的20倍,較SSD提高16%,且小目標檢出率達到81%;綜合來看,YOLOv3綜合性能最好,效果最優;而改進版YOLOv3在精度方面高于Mask RCNN,且在視頻檢測方面的幀率(FPS)上每秒處理24幀圖像,較原版YOLOv3提升了66.7%,且小目標檢出率提升了7.4%,每百張圖的小目標檢出為87張,體現出本模型優越的性能,因此綜合來看,本文提出的改進版YOLOv3算法能夠在工業上指針式儀表檢測任務中,比原版算法更好,更符合工業環境下的檢測需求。

表4 IOU閾值為0.5時各算法的評估結果對比

3.5 測試結果分析

本文選取以上4種算法進行實際的檢測指針式儀表,以更直觀感受各算法的優劣和效果,比較各算法使用的性能。

其中圖9為近處的半盤式(即刻度區約占表盤一半)指針式儀表,圖10為經過局部放大后的遠處整盤式(即刻度區覆蓋整個儀表表盤)指針式儀表圖像;圖(a)~圖(d)分別為SSD、Mask RCNN、YOLOv3、改進YOLOv3的檢測效果圖像,圖像上附有各算法識別概率大小和儀表預測框的定位情況。

由圖9、圖10可知,各算法都能準確預測,框出不同的指針式儀表表盤,但SSD準確率不高,對表盤的檢測框偏差較大;Mask RCNN通過實例分割進行儀表盤預測較為精準,但失去了一些邊界信息;原版YOLOv3對遠處儀表盤的小目標檢測準確率低;而改進版YOLOv3可以精確檢測出近處的半盤式儀表,也能快速準確地檢測小目標的整盤式儀表。通過實驗結果可看出,本文提出的改進版YOLOv3的準確性、實時性和損失率基本已達到預期效果,并驗證了這些思路和方法的可行性,能夠為工業上的指針式儀表檢測問題提供更優秀的方案。

圖9 近處的半盤式指針式儀表(5 m)

圖10 遠處的整盤式指針式儀表(10 m 局部放大)

4 結束語

本文提出一種基于改進YOLOv3的工業指針式儀表檢測識別方法。本算法通過Mini Batch Kmeans聚類算法對數據集聚類找出更合適樣本的先驗框,并設計新損失函數與使用輕量級網絡MobileNet模型框架來進行多尺度訓練、預測。實驗結果表明,改進的YOLOv3算法在保證較高準確率的同時能夠有快速的檢測速率,能夠較好檢測出半盤式、整盤式等不同的指針式儀表表盤,且訓練耗時短,對小目標檢測定位效果提升明顯,該方法具有較好的魯棒性和實用性,能夠滿足在算力有限的計算機上完成指針式儀表的自動檢測任務,也將為未來的指針式儀表指針提取及讀數工作提供思路。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 怡春院欧美一区二区三区免费| 香蕉网久久| 91在线中文| 国产91色在线| 丁香婷婷久久| 国产成人精品高清在线| 亚洲第一成年网| 国产一区二区三区在线精品专区| 狠狠亚洲婷婷综合色香| 特级毛片免费视频| 国产精品无码影视久久久久久久| 国产视频大全| 亚洲国产日韩在线成人蜜芽| 一区二区三区成人| 精品视频在线一区| 国产性猛交XXXX免费看| 日本午夜在线视频| 成人国产精品视频频| 国产大片黄在线观看| 国产不卡网| 天堂av高清一区二区三区| 久久久精品无码一区二区三区| 久久精品这里只有国产中文精品 | 91成人精品视频| 色首页AV在线| 亚洲精品老司机| a级毛片在线免费观看| 57pao国产成视频免费播放| 精品国产污污免费网站| 国产性生大片免费观看性欧美| 黄网站欧美内射| 国产亚洲欧美日韩在线观看一区二区 | 99热这里只有精品免费| 草草影院国产第一页| 伊人久久久久久久久久| 亚洲男人在线| 亚洲欧美日韩中文字幕一区二区三区| 欧美日韩中文国产va另类| 在线观看国产网址你懂的| 另类综合视频| 亚洲欧美日韩天堂| 国产H片无码不卡在线视频| 国产亚洲精| 国产综合亚洲欧洲区精品无码| 免费一级毛片完整版在线看| 欧美激情福利| 波多野结衣无码AV在线| 久久精品国产精品一区二区| 成人福利在线观看| 伊人久久精品无码麻豆精品| 久久青草免费91线频观看不卡| 国产18在线播放| 久久国产精品夜色| yjizz国产在线视频网| 91探花在线观看国产最新| 91亚洲视频下载| 亚洲性色永久网址| 久久精品中文字幕少妇| 亚洲国语自产一区第二页| 免费jjzz在在线播放国产| 亚洲无线国产观看| 麻豆国产在线观看一区二区| 久久久亚洲色| 亚洲天堂首页| 日韩无码一二三区| 波多野结衣中文字幕一区| aaa国产一级毛片| 国产成人一区二区| 欧美日本在线| 亚洲综合色婷婷| 免费无码AV片在线观看中文| 国产91在线免费视频| 成人韩免费网站| 丁香婷婷久久| 久久国产乱子| 91在线无码精品秘九色APP| 日韩欧美成人高清在线观看| 成人小视频网| 欧美另类第一页| 色悠久久久久久久综合网伊人| 日韩不卡高清视频| 一级在线毛片|