劉家樂,吳懷宇,+,陳志環(huán)
(1.武漢科技大學(xué) 機(jī)器人與智能系統(tǒng)研究院,湖北 武漢 430081;2.武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢 430081)
指針式儀表制造成本低,結(jié)構(gòu)簡單易維護(hù),廣泛用于大規(guī)模工業(yè)上的生產(chǎn)監(jiān)測。礦廠、變電站、化工企業(yè)的指針式儀表數(shù)量眾多且不固定、多分布在高溫、高壓場所,這種精密器件都需要按時校準(zhǔn)來維持自身精確度。傳統(tǒng)的檢測方法是通過人工完成,而個人可能因主觀干擾和危險環(huán)境而導(dǎo)致誤檢造成巨大經(jīng)濟(jì)損失。到目前為止,國內(nèi)外學(xué)者對儀表自動檢測方法已有大量的研究,此外,指針式儀表目標(biāo)多為室外高處的小目標(biāo),提高小目標(biāo)的檢測效果是目前一大挑戰(zhàn)。
以往的目標(biāo)檢測采用的大多是Hough變換等進(jìn)行監(jiān)測,而其對噪聲太敏感、泛化能力弱、復(fù)雜度較高,容易漏檢或多檢導(dǎo)致誤差。隨著深度學(xué)習(xí)的發(fā)展,已經(jīng)有許多學(xué)者利用其解決目標(biāo)檢測識別方面類似的問題,且已經(jīng)取得不錯的成效。目前,基于深度學(xué)習(xí)的目標(biāo)檢測方法已經(jīng)取得的突破大致可分為兩類。一種是基于區(qū)域推薦的Two Stage算法,如:Fast RCNN[1]、Faster RCNN[2],它們通常具有高精度,但通常實(shí)時性不足。另一種是基于回歸方法的One Stage算法,如YOLO[3]、SSD[4]、YOLOv3[5],其將檢測問題作為回歸問題來解決并直接預(yù)測目標(biāo)位置和類別,這些方法通常速度快但準(zhǔn)確度低。
Laroca R等[6]利用卷積神經(jīng)網(wǎng)絡(luò)對儀表圖像進(jìn)行分析,但精確度不夠;He P等[7]使用Mask RCNN來分割自然場景儀表盤,但實(shí)時性不高;Wang L等[8]使用YOLOv2對儀表進(jìn)行定位,但對小目標(biāo)的檢測效果有待提升。計(jì)算機(jī)內(nèi)置的內(nèi)存單元與計(jì)算單元有限,盡管目前利用深度學(xué)習(xí)實(shí)現(xiàn)指針式儀表檢測算法越來越多,但這些方法網(wǎng)絡(luò)規(guī)模大,實(shí)時性和準(zhǔn)確性仍有待提高,難以在算力有限的計(jì)算機(jī)上完成對指針式儀表的實(shí)時高效檢測,因此不能滿足工業(yè)上的實(shí)際工作[9]需要。
針對以上問題,本文首先對工業(yè)上的指針式儀表的數(shù)據(jù)集進(jìn)行采集與制作,然后對YOLOv3算法的系統(tǒng)模型框架結(jié)構(gòu)、損失函數(shù)、先驗(yàn)框聚類[10]進(jìn)行設(shè)計(jì)與改進(jìn),通過常用的評估指標(biāo)來對不同算法與改進(jìn)版YOLOv3進(jìn)行對比實(shí)驗(yàn)。最后對實(shí)驗(yàn)結(jié)果進(jìn)行分析,結(jié)果表明改進(jìn)的YOLOv3算法,針對工業(yè)中的半盤、整盤式指針式儀表檢測有較高的精度與速度,對小目標(biāo)檢測效果大幅提升,能夠滿足工業(yè)上指針式儀表檢測的實(shí)際需要。
YOLOv3借鑒了圖像金字塔FPN(feature pyramid networks)的思想,在3種不同的規(guī)模的特征圖下進(jìn)行預(yù)測,大尺寸特征圖用來檢測小目標(biāo),小尺寸特征圖用來檢測大目標(biāo),而中間特征層則適合檢測中等目標(biāo)。通過聚類選取先驗(yàn)框,對不同大小目標(biāo)的檢測識別都能很好兼顧。圖1為YOLOv3的自上而下檢測的FPN結(jié)構(gòu)圖。
圖1 YOLOv3的圖像金字塔結(jié)構(gòu)
框架上,YOLOv3參考SSD和ResNet網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)了分類網(wǎng)絡(luò)基礎(chǔ)模型DarkNet-53,相較于YOLOv2的DarkNet-19,DarkNet-53擴(kuò)充為更大的網(wǎng)絡(luò),共使用52層卷積層,且每個卷積層后都有歸一化操作(batch normalization)來防止過擬合;考慮到網(wǎng)絡(luò)復(fù)雜度與檢測準(zhǔn)確率,所以與常用的特征提取網(wǎng)絡(luò)VGG-16相比,DarkNet-53降低了模型運(yùn)算量,同時為了避免網(wǎng)絡(luò)層數(shù)的加深模型在訓(xùn)練過程中產(chǎn)生梯度爆炸的現(xiàn)象,使用了殘差學(xué)習(xí)的思想,在網(wǎng)絡(luò)中添加了大量的殘差塊。
YOLOv3使用多標(biāo)簽分類,這與先前版本中使用的互斥標(biāo)簽不同,它使用邏輯分類器來計(jì)算特定標(biāo)簽對象的可能性。所以對于分類損失,其模型摒棄了Softmax函數(shù)作為最終分類器,它使用每個標(biāo)簽的二進(jìn)制交叉熵?fù)p失,即常用的Logistic損失函數(shù)來作分類損失的損失函數(shù),而非YOLOv2中使用的一般均方誤差。表1為檢測網(wǎng)絡(luò)性能比較對比表,其中mAP為平均類別精度,F(xiàn)PS為幀率。
表1 檢測網(wǎng)絡(luò)性能比較對比
由表1可以看出,YOLOv3各指標(biāo)在檢測算法中表現(xiàn)較為均衡,且在精確度和速度性能上均取得了良好的效果。
盡管YOLOv3在目標(biāo)檢測領(lǐng)域已經(jīng)取得不錯的效果,但是對于本文工業(yè)上的指針式儀表數(shù)據(jù)集上來說,其對小目標(biāo)的檢測效果不太理想,且檢測速度仍難以應(yīng)對龐大數(shù)據(jù)量的檢測任務(wù),故需要對YOLOv3算法做適當(dāng)改進(jìn),以更好適應(yīng)實(shí)際工業(yè)應(yīng)用中的指針式儀表的檢測任務(wù)。
為了應(yīng)對工業(yè)上的指針式儀表檢測問題,本文主要對YOLOv3算法做如下3個改進(jìn)。
(1)改進(jìn)Kmeans聚類。使用最新的Mini Batch Kmeans來加速聚類時間,來應(yīng)對大量數(shù)據(jù)集的錨框Anchors選擇,主要作用是更快尋找到更合適的預(yù)測矩形框來檢測儀表圖像;
(2)改進(jìn)YOLOv3框架。使用輕量級框架MobileNet加速YOLOv3的訓(xùn)練時間,保證精確度的同時大幅度提高實(shí)時性;
(3)設(shè)計(jì)更合理損失函數(shù)。使用設(shè)計(jì)好的損失函數(shù)進(jìn)行訓(xùn)練,減小損失率,提升系統(tǒng)對小目標(biāo)儀表盤的檢測效果。圖2為改進(jìn)YOLOv3的檢測流程。
圖2 改進(jìn)版YOLOv3檢測結(jié)構(gòu)
SSD與Faster RCNN中邊界框尺寸都是通過主觀選擇的,這種方式會因數(shù)據(jù)集大小類別不同而產(chǎn)生較大誤差,故YOLOv3采用Kmeans聚類來自動選取邊界框的尺寸與數(shù)量,圖3為Kmeans聚類例圖,聚類中心用X表示,橫縱坐標(biāo)分別為樣本的序號和特征的分布情況。
圖3 Kmeans聚類
如圖3所示,傳統(tǒng)的Kmeans流程都是隨機(jī)初始化K個聚類中心,然后將樣本點(diǎn)分配到最近的中心,分開成K個類別,再更新中心點(diǎn),如此循環(huán)直到K個中心點(diǎn)不再變化或達(dá)到迭代閾值。因?yàn)殡S機(jī)初始化K個聚類中心會導(dǎo)致聚類結(jié)果準(zhǔn)確度不穩(wěn)定,所以使用Kmeans++初始化可以彌補(bǔ)Kmeans在初始化中心點(diǎn)的選擇上的不足,只預(yù)先選取一個中心點(diǎn),再計(jì)算每個點(diǎn)到與其最近的中心點(diǎn)的距離的概率,隨機(jī)選擇一個點(diǎn)作為中心點(diǎn)加入集合中,重復(fù)步驟直到選定K個中心點(diǎn)。隨著數(shù)據(jù)集的大小進(jìn)入萬級百萬級,日常目標(biāo)檢測所需要的精度越來越高,傳統(tǒng)聚類耗時費(fèi)資源且效果有限,而在聚類環(huán)節(jié)耗費(fèi)的時間可以用更加效率的Mini Batch彌補(bǔ)。具體步驟為:
(1)隨機(jī)拆分訓(xùn)練集為n份,首先抽取第一份訓(xùn)練集,使用Kmeans++初始化構(gòu)建出K個聚簇點(diǎn)的模型;
(2)繼續(xù)抽取訓(xùn)練集中的下一份樣本的數(shù)據(jù),并將其添加到模型中,且分配給距離最近的聚簇中心;
(3)更新聚簇的中心點(diǎn)坐標(biāo)(每次更新都只用抽取出來的部分?jǐn)?shù)據(jù)集)。
Mini Batch Kmeans模型能在保持聚類準(zhǔn)確性情況下大幅度降低計(jì)算時間。它采用分小批量的方法劃分?jǐn)?shù)據(jù)子集,以此減少計(jì)算時間,同時仍試圖優(yōu)化目標(biāo)函數(shù),采用這些隨機(jī)選取的數(shù)據(jù)進(jìn)行訓(xùn)練,極大減少了計(jì)算與Kmeans算法收斂的時間,這適用于當(dāng)數(shù)據(jù)量與類別數(shù)非常大時做聚類,選用通過Kmeans++初始化之后的Mini Batch Kmeans算法能在提升精度的情況下加速聚類時間。
隨著卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)加深,實(shí)際工程中所消耗的計(jì)算資源越來越大,大量的參數(shù)導(dǎo)致網(wǎng)絡(luò)訓(xùn)練與檢測速度緩慢,為了解決這個問題,最好辦法就是對模型進(jìn)行壓縮,在不損失網(wǎng)絡(luò)性能情況下提高運(yùn)行速度與檢測速度,因此,本文選用輕量級網(wǎng)絡(luò)MobileNet代替YOLOv3中使用的Darknet-53網(wǎng)絡(luò)。
MobileNet的主要優(yōu)點(diǎn)是深度可分離卷積 (depthwise separable convolution),它將常用的標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分解,變成深度卷積和1×1的逐點(diǎn)卷積,首先用深度卷積針對每個單輸入進(jìn)行單濾波器濾波,后用逐點(diǎn)卷積的方式結(jié)合深度卷積的輸出,這種分解方式能大幅減少計(jì)算量,減小模型的大小。MobileNet在計(jì)算量,權(quán)重內(nèi)存和精確度方面找到了非常合適的平衡點(diǎn)。表2為相同輸入分辨率數(shù)據(jù)集情況下,YOLOv3框架MobileNet與DarkeNet-53間在ImageNet數(shù)據(jù)集上的性能比較。
由表2可以看出,在相同條件下,YOLOv3使用MobileNet框架在參數(shù)數(shù)量上較DarkNet-53框架減小3倍;浮點(diǎn)數(shù)運(yùn)算量上MobileNet僅需150億次,將運(yùn)算量較DarkNet-53減小了4倍以上。從計(jì)算量和參數(shù)量來說MobileNet具有絕對優(yōu)勢,能有效加快訓(xùn)練速度,縮短訓(xùn)練時間。
表2 YOLOv3各框架之間的性能比較
圖4所示是改進(jìn)后的MobileNet的框架圖,共有27層卷積層,每個卷積層后都接有Batch Norm歸一化和激活函數(shù),抽出其中的第9層、14層、24層的特征圖出來進(jìn)行后續(xù)訓(xùn)練檢測操作。這里選用ELU代替原來的Relu激活函數(shù),函數(shù)在左側(cè)的負(fù)值賦予非零的斜率,不僅能避免或緩解梯度消失和梯度爆炸,而且能極大程度加速訓(xùn)練過程,使收斂速度加快,對儀表圖像的噪聲有更佳的魯棒性。
圖4 MobileNet框架
損失函數(shù)作為衡量預(yù)測值與真實(shí)值之間的誤差的指標(biāo),對于網(wǎng)絡(luò)模型檢測效果的好壞起著至關(guān)重要作用,一般來說,損失函數(shù)下降速率越快,損失值越小,系統(tǒng)模型越好。對于YOLOv3來說,損失函數(shù)共分為:f1邊界框的預(yù)測(bounding box prediction)、f2置信度計(jì)算(confidence prediction)、f3類別預(yù)測(class prediction)這3個部分,其總損失為
Loss=f1+f2+f3
(1)
其中,各部分損失為
(2)
上述公式中各參數(shù)信息詳見文獻(xiàn)[5]所示。對于式(2)中邊界框的預(yù)測f1采用的是真實(shí)值坐標(biāo)與預(yù)測值坐標(biāo)誤差的平方;而置信度計(jì)算f2與類別預(yù)測f3均采用的是交叉熵?fù)p失函數(shù)。對于邊界框的坐標(biāo)預(yù)測來說,自由場景下采集到的圖像可能尺寸大小不一,使YOLOv3檢測小目標(biāo)的效果會受到影響,因此,本文對于坐標(biāo)誤差的寬高部分損失函數(shù)的改進(jìn):采用了預(yù)測值和真實(shí)值的平方和作為損失。這是由于較大目標(biāo)的誤差相對較小目標(biāo)的誤差對最終的損失值影響更小,若損失函數(shù)不變,則損失函數(shù)難以下降,對小目標(biāo)檢測結(jié)果較差。根據(jù)本文模型的指針式儀表,為了更好擬合數(shù)據(jù),設(shè)計(jì)邊界框預(yù)測損失函數(shù)如式(3)所示
(3)
最后本文在坐標(biāo)誤差后加入激活函數(shù)tanh來減小預(yù)測框過大而產(chǎn)生的誤差,使預(yù)測框更加精確的檢測出儀表圓盤。最終總損失函數(shù)如式(4)所示
(4)
根據(jù)以上問題,本文選擇精確率均值A(chǔ)P(average precision),每秒檢測幀數(shù)FPS(frames per second)、平均IOU(交并比)作為模型評價指標(biāo),其中AP和FPS為檢測環(huán)節(jié)精度效率的評價指標(biāo),平均IOU為評價邊界框聚類準(zhǔn)度指標(biāo)
(5)
式中:TP(true positive)指的是正樣本,F(xiàn)P(false positive)指的是被判定為正樣本,但實(shí)際上是負(fù)樣本的樣本數(shù),其中TP與FP相加結(jié)果為總樣本數(shù)M,AP是針對單一類別預(yù)測,目前為止使用頻率最高,效果最優(yōu)的評價標(biāo)準(zhǔn)和度量指標(biāo)之一
(6)
幀率FPS(frames per second),即是每秒鐘內(nèi)最大可以處理的圖片數(shù)量。式(6)中S為測試總時間,一般以秒為單位,F(xiàn)為該S秒單位時間內(nèi)系統(tǒng)檢測的圖片數(shù)量。一般顯卡的內(nèi)存越大,一次性處理的圖片數(shù)量越大,則處理一張圖片所需要消耗的檢測時間越短,速度越快
(7)
平均IOU是評價真實(shí)框Ground Truth與預(yù)測邊框差異性的指標(biāo),其中P為預(yù)測框大小、G為真實(shí)框大小。其式(7)可以理解為神經(jīng)網(wǎng)絡(luò)計(jì)算出的框與標(biāo)記框的重合程度,即是檢測結(jié)果與真實(shí)框的交集比上其并集。IOU的值越高,預(yù)測邊界框的位置越準(zhǔn)。
根據(jù)以上3點(diǎn)改進(jìn),下面將進(jìn)行實(shí)驗(yàn)。
本文將根據(jù)實(shí)驗(yàn)的軟硬件開發(fā)環(huán)境,對工業(yè)上指針式儀表數(shù)據(jù)集進(jìn)行制作,包括變電站、化工廠等場景實(shí)地拍攝,并對訓(xùn)練集進(jìn)行聚類,得到合適的先驗(yàn)框輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過不同算法的對比實(shí)驗(yàn),得出結(jié)論。
實(shí)驗(yàn)環(huán)境配置如下:AMD Ryzen 5 2600 Six-Core Processor 處理器,NVIDIA GeForce GTX 1060 5 GB獨(dú)立顯卡,CUDA版本為9.0,Python版本為3.6,基于Tensorflow/Keras框架,操作系統(tǒng)為Windows 10,網(wǎng)絡(luò)具體參數(shù)配置見表3。
表3 網(wǎng)絡(luò)參數(shù)配置說明
針對本文的研究環(huán)境范圍主要是工業(yè)應(yīng)用,如變電站、化工廠等,而指針式儀表一般在比較隱蔽的高處,像電線桿上和相關(guān)管道處,且表盤多因環(huán)境原因模糊不清,因此,數(shù)據(jù)集的搜集非常不便。本文利用python網(wǎng)絡(luò)爬蟲技術(shù)從網(wǎng)絡(luò)爬取指針式儀表的數(shù)據(jù)集400張,實(shí)地拍攝儀表盤圖像照片300余張,用數(shù)據(jù)增強(qiáng)(data augmentation)手段擴(kuò)充數(shù)據(jù)集至1000張圖片,輸入到神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。樣本劃分具體是:訓(xùn)練集、交叉驗(yàn)證集、測試集之間的比例為6∶2∶2。
圖5是標(biāo)定數(shù)據(jù)集中真實(shí)框的分布,橫縱坐標(biāo)分別為各先驗(yàn)框坐標(biāo)的分布情況。
圖5 真實(shí)框Ground Truth分布
3.3.1 Mini Batch Kmeans聚類結(jié)果
圖6為Mini Batch Kmeans算法的聚類結(jié)果圖,橫縱坐標(biāo)分別為先驗(yàn)框選取的個數(shù)和平均IOU的大小。
圖6 Mini Batch Kmeans聚類結(jié)果
圖6中Mini Batch Kmeans算法平均IOU值明顯大于Kmeans,且聚類損耗時間短;鑒于增加候選框數(shù)量會影響系統(tǒng)模型的檢測速度,本文最終選擇9個聚類中心。經(jīng)過測驗(yàn)得到此時的精確度為81.97%,相對于普通的Kmeans算法提高了4.1%。這種對時間優(yōu)化的思路還廣泛應(yīng)用于梯度下降、深度網(wǎng)絡(luò)等。
3.3.2 網(wǎng)絡(luò)訓(xùn)練及其測試
為更好檢測大中小目標(biāo),在YOLOv3的網(wǎng)絡(luò)中,將圖片共分為3個不同尺寸的特征圖。每個特征圖設(shè)置有3個錨框Anchor boxes,因此會獲得9個Anchor boxes來進(jìn)行預(yù)測。根據(jù)預(yù)測的邊界框和實(shí)際邊界框之間的IOU進(jìn)行非極大抑制。根據(jù)反復(fù)實(shí)驗(yàn),減小學(xué)習(xí)率和增大迭代次數(shù)并不能有效減小損失值,故本次實(shí)驗(yàn)迭代次數(shù)定為1000次。圖7為改進(jìn)版YOLOv3與原版的損失函數(shù)對比曲線圖。
圖7 訓(xùn)練損失函數(shù)對比
圖7中輸入圖像分辨率為416×416,虛線為YOLOv3損失曲線,實(shí)線為改進(jìn)版YOLOv3曲線。培訓(xùn)結(jié)束后,整合培訓(xùn)過程中的數(shù)據(jù),由原版loss曲線可看出曲線前期震蕩較大,至900次迭代后趨于穩(wěn)定不再變化;由改進(jìn)版loss曲線圖可知在400次迭代epoch之前損失急速下降,隨著學(xué)習(xí)率的不斷減小,損失持續(xù)小范圍下降,后期迭代loss基本不再變化;最終改進(jìn)版YOLOv3損失值降為2.8,較原版損失率降低30%。
3.3.3 不同圖像分辨率的性能比較
根據(jù)多尺度訓(xùn)練方式,YOLOv3在不同的圖像分辨率下都有很好的檢測效果,魯棒性較好。為了驗(yàn)證YOLOv3和改進(jìn)YOLOv3的在不同圖像分辨率下的檢測效果,本文選出低、中、高{320,416,608}這3種不同分辨率下的圖像進(jìn)行算法檢測性能評估。由圖8可以看出改進(jìn)版的YOLOv3在不同分辨率大小上的檢測效果情況,左柱狀圖為YOLOv3效果圖,右柱狀圖為改進(jìn)版本YOLOv3效果圖。
由圖8可知,在不同分辨率輸入下改進(jìn)版本YOLOv3均比原版YOLOv3的檢測效果好。由此可得本文所提改進(jìn)算法能夠適應(yīng)不同分辨率大小的圖像,且精確度較原版有一定幅度提高。
圖8 兩種算法的圖像分辨率敏感性分析
為體現(xiàn)各不同檢測算法在指針式儀表數(shù)據(jù)集上的檢測效果,本文選取中分辨率的情況下,對原版YOLOv3與改進(jìn)版本的YOLOv3以及SSD、Mask RCNN在本數(shù)據(jù)集上進(jìn)行指標(biāo)評估對比,得出實(shí)驗(yàn)結(jié)果指標(biāo)對比表格。
通過表4可知YOLOv3的精確度(AP)為90.6%,精度方面比Mask RCNN低2%,比SSD高2%;實(shí)時性方面,YOLOv3幀率是Mask RCNN的20倍,較SSD提高16%,且小目標(biāo)檢出率達(dá)到81%;綜合來看,YOLOv3綜合性能最好,效果最優(yōu);而改進(jìn)版YOLOv3在精度方面高于Mask RCNN,且在視頻檢測方面的幀率(FPS)上每秒處理24幀圖像,較原版YOLOv3提升了66.7%,且小目標(biāo)檢出率提升了7.4%,每百張圖的小目標(biāo)檢出為87張,體現(xiàn)出本模型優(yōu)越的性能,因此綜合來看,本文提出的改進(jìn)版YOLOv3算法能夠在工業(yè)上指針式儀表檢測任務(wù)中,比原版算法更好,更符合工業(yè)環(huán)境下的檢測需求。
表4 IOU閾值為0.5時各算法的評估結(jié)果對比
本文選取以上4種算法進(jìn)行實(shí)際的檢測指針式儀表,以更直觀感受各算法的優(yōu)劣和效果,比較各算法使用的性能。
其中圖9為近處的半盤式(即刻度區(qū)約占表盤一半)指針式儀表,圖10為經(jīng)過局部放大后的遠(yuǎn)處整盤式(即刻度區(qū)覆蓋整個儀表表盤)指針式儀表圖像;圖(a)~圖(d)分別為SSD、Mask RCNN、YOLOv3、改進(jìn)YOLOv3的檢測效果圖像,圖像上附有各算法識別概率大小和儀表預(yù)測框的定位情況。
由圖9、圖10可知,各算法都能準(zhǔn)確預(yù)測,框出不同的指針式儀表表盤,但SSD準(zhǔn)確率不高,對表盤的檢測框偏差較大;Mask RCNN通過實(shí)例分割進(jìn)行儀表盤預(yù)測較為精準(zhǔn),但失去了一些邊界信息;原版YOLOv3對遠(yuǎn)處儀表盤的小目標(biāo)檢測準(zhǔn)確率低;而改進(jìn)版YOLOv3可以精確檢測出近處的半盤式儀表,也能快速準(zhǔn)確地檢測小目標(biāo)的整盤式儀表。通過實(shí)驗(yàn)結(jié)果可看出,本文提出的改進(jìn)版YOLOv3的準(zhǔn)確性、實(shí)時性和損失率基本已達(dá)到預(yù)期效果,并驗(yàn)證了這些思路和方法的可行性,能夠?yàn)楣I(yè)上的指針式儀表檢測問題提供更優(yōu)秀的方案。
圖9 近處的半盤式指針式儀表(5 m)
圖10 遠(yuǎn)處的整盤式指針式儀表(10 m 局部放大)
本文提出一種基于改進(jìn)YOLOv3的工業(yè)指針式儀表檢測識別方法。本算法通過Mini Batch Kmeans聚類算法對數(shù)據(jù)集聚類找出更合適樣本的先驗(yàn)框,并設(shè)計(jì)新?lián)p失函數(shù)與使用輕量級網(wǎng)絡(luò)MobileNet模型框架來進(jìn)行多尺度訓(xùn)練、預(yù)測。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的YOLOv3算法在保證較高準(zhǔn)確率的同時能夠有快速的檢測速率,能夠較好檢測出半盤式、整盤式等不同的指針式儀表表盤,且訓(xùn)練耗時短,對小目標(biāo)檢測定位效果提升明顯,該方法具有較好的魯棒性和實(shí)用性,能夠滿足在算力有限的計(jì)算機(jī)上完成指針式儀表的自動檢測任務(wù),也將為未來的指針式儀表指針提取及讀數(shù)工作提供思路。