佘 維,鄭 倩,田 釗,劉 煒,李英豪*
(1.鄭州大學(xué)軟件學(xué)院,鄭州 450002;2.互聯(lián)網(wǎng)醫(yī)療與健康服務(wù)河南省協(xié)同創(chuàng)新中心(鄭州大學(xué)),鄭州 450052)
工業(yè)中的氣門識(shí)別過程是通過相機(jī)拍攝氣門所在的區(qū)域,由視覺系統(tǒng)根據(jù)圖中物料的情況優(yōu)先判定距離最近、最上層的氣門毛胚件,然后返回目標(biāo)的位置信息以及中心點(diǎn)坐標(biāo)給機(jī)器人,機(jī)器人控制系統(tǒng)將驅(qū)動(dòng)機(jī)器手臂在適當(dāng)?shù)膮^(qū)域執(zhí)行抓取工作。
在實(shí)際的工業(yè)流程中,如何快速精準(zhǔn)地分揀工件是一個(gè)至關(guān)重要的問題。傳統(tǒng)的分揀過程中采用示教或離線編程的方法,需要專業(yè)的操作人員精準(zhǔn)把控目標(biāo)的放置和機(jī)器人的移動(dòng)軌跡,對(duì)操作人員和流程有一定的要求,不具備普遍性和實(shí)時(shí)性,無法適應(yīng)較復(fù)雜的工作環(huán)境[1]。將視覺系統(tǒng)與現(xiàn)有的機(jī)器人相結(jié)合具有較高的靈活性和可靠性,在提高生產(chǎn)效率的同時(shí)還節(jié)約了人工成本,提高了機(jī)器人的智能化程度[2]?;跈C(jī)器視覺技術(shù)的工業(yè)分揀系統(tǒng)已經(jīng)在工業(yè)自動(dòng)化生產(chǎn)領(lǐng)域廣泛應(yīng)用[3]。
在基于視覺系統(tǒng)的工業(yè)流程中,目標(biāo)的識(shí)別與檢測(cè)是視覺定位的核心。圓形目標(biāo)的自動(dòng)檢測(cè)與定位是工件氣門識(shí)別中的關(guān)鍵技術(shù)。目前基于圓形目標(biāo)的識(shí)別算法主要分為兩類:基于人工設(shè)計(jì)特征的提取算法和基于深度學(xué)習(xí)的算法。其中,在基于人工設(shè)計(jì)特征的提取算法中,霍夫圓變換(Circle Hough Transform,CHT)[4]是最早用來識(shí)別圓形目標(biāo)的經(jīng)典算法,通過將數(shù)據(jù)從原始圖像空間變換到定義的參數(shù)空間,并根據(jù)參數(shù)空間中的投票結(jié)果峰值來確定圓形的參數(shù)。該方法在部分圖像區(qū)域不完整的情況下有較好的魯棒性,但其檢測(cè)精度有待提高且隨機(jī)性大。針對(duì)Hough 圓變換算法中產(chǎn)生的問題,Xu 等[5]提出了一種隨機(jī)霍夫變換(Randomized Hough Transform,RHT)的圓檢測(cè)方法,隨機(jī)選取圓周上的3 個(gè)點(diǎn)并以這些點(diǎn)為圓心畫圓,經(jīng)過若干次迭代后找到在容忍閾值內(nèi)最優(yōu)的圓,該算法提高了圓的檢測(cè)效率。近年來,不少學(xué)者以此為基礎(chǔ)進(jìn)行了各種改進(jìn),熊雪琴[6]提出了一種基于像素比的圓檢測(cè)算法,只根據(jù)第一個(gè)樣本總結(jié)出的滑動(dòng)窗進(jìn)行遍歷找圓,極大地縮短了對(duì)目標(biāo)的檢測(cè)時(shí)間。
目前,深度學(xué)習(xí)的目標(biāo)檢測(cè)算法主要分為兩類:Twostage 算法和One-stage 算法。Two-stage 算法對(duì)應(yīng)R-CNN(Region Convolutional Neural Network)[7]、Fast R-CNN(Fast Region Convolutional Neural Network)[8]、Faster R-CNN(Faster Region Convolutional Neural Network)[9]這一系列基于深度學(xué)習(xí)的分類方法,這類算法先從輸入圖像中選取可能包含待檢測(cè)目標(biāo)的候選框,然后用分類器評(píng)估這些候選框中的目標(biāo),整個(gè)流程執(zhí)行下來較慢,但是精度較高[10]。
One-stage 算法以YOLO(You Only Look Once)系列的算法為代表,自提出后在工業(yè)領(lǐng)域有廣泛的應(yīng)用前景,其中心思想是利用整張圖像作為輸入,通過卷積神經(jīng)網(wǎng)絡(luò)將預(yù)測(cè)框的位置、大小和物體分類直接預(yù)測(cè)出來。YOLO 將目標(biāo)檢測(cè)重新定義為單個(gè)回歸問題,在提升速度的同時(shí)盡量保證了精度的可靠性。YOLOv1(YOLO version 1)[11]作為整個(gè)YOLO系列的開山之作,奠定了“分而治之”的中心思想。將輸入的圖像劃分為S×S個(gè)網(wǎng)格,當(dāng)網(wǎng)格內(nèi)包含待檢測(cè)對(duì)象的中心時(shí),就負(fù)責(zé)生成B個(gè)檢測(cè)框(bounding box)以及C個(gè)類別的概率,每個(gè)檢測(cè)框包含5 個(gè)矢量信息:位置信息(x,y,w,h)和置信度(confidence)。其中,置信度包含兩重信息,即檢測(cè)框中包含對(duì)象的可信度和檢測(cè)框與實(shí)際標(biāo)注框的交并比(Intersection Over Union,IOU)。YOLOv1 具有較快的檢測(cè)速度,但一個(gè)網(wǎng)格只能預(yù)測(cè)兩個(gè)框和一個(gè)類別,極大地限制了預(yù)測(cè)框的數(shù)量。針對(duì)YOLOv1 中的缺陷,YOLOv2(YOLO version 2)[12]在原YOLO 的基礎(chǔ)上加 入了批歸一化(Batch Normalization,BN)[13]加速了 網(wǎng)絡(luò)的收斂,同時(shí)采 用Darknet-19 作為新的主干特征提取網(wǎng)絡(luò);另外,YOLOv2 還參考anchor 機(jī)制運(yùn)用k-means 聚類算法[14]來生成適合數(shù)據(jù)集大小的先驗(yàn)框,以提升模型的召回率,獲得更快更準(zhǔn)確的檢測(cè)效果。YOLOv3(YOLO version 3)方法[15]在YOLOv2 的基礎(chǔ)上做了進(jìn)一步改進(jìn),采用Darknet-53 作為主干特征提取網(wǎng)絡(luò),同時(shí)借助殘差網(wǎng)絡(luò)(Residual Network,ResNet)[16]中的跳躍連接來防止有效信息的丟失,解決深層網(wǎng)絡(luò)退化等問題;YOLOv3 中通過改變卷積核的步長(zhǎng)來實(shí)現(xiàn)特征圖尺寸的縮小,在每個(gè)殘差網(wǎng)絡(luò)前添加一個(gè)步長(zhǎng)為2 的卷積層用于下采樣,且主干網(wǎng)絡(luò)中包含分別由1、2、8、8、4 個(gè)殘差塊組成的5個(gè)殘差網(wǎng)絡(luò),故共經(jīng)過5 次下采樣來獲取特征;除此之外,YOLOv3 還采用特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)[17]作為加強(qiáng)特征提取網(wǎng)絡(luò),經(jīng)過上采樣(up-sample)和拼接(concat)操作,將不同特征層之間的特征融合得到13×13、26×26、52×52 的分辨率,同時(shí)進(jìn)行通道調(diào)整得到3 個(gè)不同尺度的檢測(cè)頭用于大、中、小目標(biāo)的檢測(cè),YOLOv3 模型基本滿足任何尺寸的目標(biāo)檢測(cè)且符合預(yù)期效果。YOLOv4(YOLO version 4)[18]在目標(biāo)檢測(cè)上沒有革命性的改變,而是在YOLOv3 的基礎(chǔ)上結(jié)合了很多先進(jìn)的小技巧,可以大致分為4 個(gè)方向。首先,通過Mosaic 數(shù)據(jù)增強(qiáng)、自對(duì)抗訓(xùn)練(Self Adversarial Training,SAT)和跨小批量標(biāo)準(zhǔn)化(Cross mini-Batch Normalization,CmBN)對(duì)輸入端進(jìn)行改進(jìn);其次,在特征提取網(wǎng)絡(luò)的創(chuàng)新上采用跨階段部分連接(Cross-Stage-Partial-connection,CSP)的Darknet-53 為主干網(wǎng)絡(luò),同時(shí)使用Mish 激活函數(shù)并采取Dropblock 正則化的方法來豐富局部特征;接著,從Neck 入手,構(gòu)建加入空間金字塔池化層(Spatial Pyramid Pooling,SPP)和 路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PAN)的加強(qiáng)特征提取網(wǎng)絡(luò);最后,采用DIOU(Distance Intersection Over Union)作為新的損失函數(shù)。
在實(shí)際的目標(biāo)檢測(cè)過程中,圓形目標(biāo)識(shí)別的速度影響最終的抓取效率,而識(shí)別的精度影響結(jié)果的可靠性[19]?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)算法可以從海量的數(shù)據(jù)中自動(dòng)提取特征進(jìn)行識(shí)別定位,具有較高的準(zhǔn)確率和較快的檢測(cè)速率。其中,One-stage 模式比Two-stage 模式更有優(yōu)勢(shì)[20],因此YOLO方法更符合工業(yè)氣門中的識(shí)別定位環(huán)節(jié)。然而,在整個(gè)工件氣門識(shí)別的流程中零件數(shù)目龐大,目標(biāo)堆疊個(gè)數(shù)較多,基于深度學(xué)習(xí)的檢測(cè)算法仍存在檢測(cè)精度較低、重疊目標(biāo)漏檢率高以及目標(biāo)包裹度差、圓心定位不準(zhǔn)的問題。
基于以上問題,本文提出了一種基于雙重檢測(cè)的氣門識(shí)別方法進(jìn)行目標(biāo)圓的預(yù)測(cè)定位過程。首先,本文使用數(shù)據(jù)增強(qiáng)對(duì)樣本進(jìn)行輕量擴(kuò)充;然后,融合YOLOv3 及YOLOv4 框架,構(gòu)建適合氣門檢測(cè)的深度卷積網(wǎng)絡(luò)架構(gòu),識(shí)別單個(gè)氣門所在的矩形區(qū)域;最后,結(jié)合傳統(tǒng)算法中的霍夫圓變換對(duì)氣門進(jìn)行精準(zhǔn)識(shí)別。實(shí)驗(yàn)結(jié)果表明,本文提出的方法在滿足定位精度的基礎(chǔ)上,既能提高模型識(shí)別的準(zhǔn)確率,又能改進(jìn)目標(biāo)的包裹度,在實(shí)際應(yīng)用中有一定的實(shí)用價(jià)值。
本文提出了一種基于雙重檢測(cè)的氣門識(shí)別方法得到最終的氣門檢測(cè)定位結(jié)果。首先使用數(shù)據(jù)增強(qiáng)技術(shù)擴(kuò)充訓(xùn)練的樣本,然后從網(wǎng)絡(luò)結(jié)構(gòu)、先驗(yàn)框預(yù)測(cè)、損失函數(shù)三個(gè)方面改進(jìn)YOLO 模型以提高檢測(cè)結(jié)果的識(shí)別精度,接著引入霍夫變換進(jìn)行二次識(shí)別來提高目標(biāo)的包裹度及圓心的定位精度,最后將改進(jìn)后的深度卷積網(wǎng)絡(luò)模型與二次識(shí)別技術(shù)相結(jié)合,大致流程和每步的預(yù)測(cè)結(jié)果展示如圖1 所示。以下介紹每一步的主要工作。
圖1 基于深度卷積網(wǎng)絡(luò)與霍夫變換的工件氣門識(shí)別過程Fig.1 Identification process of workpiece valves based on deep convolutional network and Hough transform
在數(shù)據(jù)預(yù)處理階段,本文重點(diǎn)使用了數(shù)據(jù)增強(qiáng)技術(shù)。深度學(xué)習(xí)中數(shù)據(jù)集的樣本數(shù)量直接影響最終訓(xùn)練模型的好壞,本文對(duì)訓(xùn)練集中的每張圖像進(jìn)行數(shù)據(jù)增強(qiáng)。數(shù)據(jù)增強(qiáng)通過對(duì)原始圖像進(jìn)行旋轉(zhuǎn)、平移、調(diào)整曝光度等操作,增添了樣本的多樣性。該方法可以在擴(kuò)充數(shù)據(jù)集的同時(shí),對(duì)原始圖像中的手工標(biāo)注框進(jìn)行相應(yīng)的坐標(biāo)變換,生成對(duì)應(yīng)的xml 文件,不僅節(jié)省了標(biāo)注的人工成本,還可以自定義擴(kuò)充的圖像數(shù)量。
本文構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型用于氣門識(shí)別,以YOLOv3[15]模型為基礎(chǔ),分別從網(wǎng)絡(luò)結(jié)構(gòu)、先驗(yàn)框預(yù)測(cè)、損失函數(shù)三個(gè)方面進(jìn)行改進(jìn),以提升預(yù)測(cè)結(jié)果的準(zhǔn)確度和模型的泛化能力。
1.2.1 網(wǎng)絡(luò)結(jié)構(gòu)
本文提出的氣門識(shí)別深度卷積網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
圖2 本文提出的氣門識(shí)別深度卷積網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Deep convolutional network structure for valve identification proposed in this paper
當(dāng)輸入圖像尺寸為(416,416,3)時(shí),該模型在保持原有的主干網(wǎng)絡(luò)(Darknet53)的基礎(chǔ)上,依然保留(52,52,256)、(26,26,512)、(13,13,1 024)這三個(gè)特征層。同時(shí),本文模型將(13,13,1 024)這一輸出經(jīng)過三次卷積,同時(shí)引入SPP 結(jié)構(gòu),使用不同池化核大小的最大池化分離出顯著的上下文特征,與原YOLOv3 相比增大了網(wǎng)絡(luò)的感受野,保留了輸出的空間尺寸大小。接著,本文模型將經(jīng)過SPP 結(jié)構(gòu)的輸出進(jìn)行卷積和上采樣,與(26,26,512)這一特征層進(jìn)行拼接操作,再和(52,52,256)的特征層進(jìn)行拼接和卷積。最后,引入PAN結(jié)構(gòu),使用下采樣加卷積的方式自底向上傳達(dá)強(qiáng)定位特征,使層之間信息流動(dòng)的方式發(fā)生了改變,與原YOLOv3 相比能獲取到更加細(xì)粒度的局部特征,減少有效信息的流失。
1.2.2 先驗(yàn)框預(yù)測(cè)
考慮到通過聚類生成的先驗(yàn)框不太穩(wěn)定,YOLOv3 中使用k-means 聚類算法僅對(duì)先驗(yàn)框的寬高進(jìn)行聚類,本文方法基于不同聚類數(shù)對(duì)于識(shí)別結(jié)果的影響,選擇初始聚類數(shù),并以此確定先驗(yàn)框。本文中數(shù)據(jù)集是工業(yè)零件中的氣門毛胚件,原先的9 組先驗(yàn)框增加了正負(fù)樣本不均衡的比例,對(duì)氣門的識(shí)別檢測(cè)精度較低。因此本文重新對(duì)先驗(yàn)框進(jìn)行聚類分析,將各檢測(cè)框與其人工標(biāo)注框的交并比的平均值記為AugIOU,該值越大表示檢測(cè)框預(yù)測(cè)的結(jié)果越準(zhǔn)確。這里分別取k=1~9 時(shí),平均交并比AugIOU 隨k值變化,在k=1~5 時(shí)AugIOU 的值顯著增加,而k=6~9 時(shí)AugIOU 的值逐漸趨于平緩,因此k=5 為本文最優(yōu)的預(yù)測(cè)框數(shù)量解。經(jīng)重新聚類后的先驗(yàn)框 尺寸分別為:68×89、90×112、130×151、166×149、188×200。
1.2.3 損失函數(shù)
損失函數(shù)直接決定網(wǎng)絡(luò)效果的好壞,YOLOv3 網(wǎng)絡(luò)使用均方和誤差作為損失函數(shù)。本文中只標(biāo)注氣門這一類目標(biāo),因此不再計(jì)算由分類帶來的損失,簡(jiǎn)化YOLOv3 中的原損失函數(shù)以加速網(wǎng)絡(luò)的收斂,只考慮檢驗(yàn)框的坐標(biāo)預(yù)測(cè)誤差(Location Loss)和置信度預(yù)測(cè)誤差(Confidence Loss)。即:
另外,對(duì)Location-Loss使用對(duì)比度歸一化的方法[21]把式(1)中的平方和改為絕對(duì)值形式,提高算法的抗干擾性,改進(jìn)后的Location-Loss′為:
其中:S2表示圖像劃分的單元格數(shù);B表示每個(gè)網(wǎng)格單元生成的預(yù)測(cè)框個(gè)數(shù);表示第i個(gè)網(wǎng)格的第j個(gè)檢測(cè)框是否負(fù)責(zé)檢測(cè)這個(gè)目標(biāo)物體,如果負(fù)責(zé)取值1,否則為0;λcoord表示坐標(biāo)預(yù)測(cè)誤差權(quán)重,設(shè)為5;λnoobj表示不含對(duì)象的置信度誤差懲罰權(quán)重,設(shè)為0.5;xi、yi、wi、hi表示真實(shí)框的中心點(diǎn)橫縱坐標(biāo)以及框的寬度和高度,表示預(yù)測(cè)框的中心點(diǎn)橫縱坐標(biāo)以及框的寬度和高度;Ci表示擬合值、表示真實(shí)值,該值由網(wǎng)格的檢測(cè)框是否負(fù)責(zé)預(yù)測(cè)這個(gè)對(duì)象決定,若負(fù)責(zé)取值為1,否則取值為0。
基于本文提出的深度卷積模型輸出的檢測(cè)結(jié)果是貼合物體外部輪廓的矩形[22],不能精準(zhǔn)識(shí)別出氣門所在的圓形區(qū)域;同時(shí),將矩形框?qū)蔷€的交點(diǎn)作為氣門的中心定位點(diǎn)也存在一定誤差。因此本文采用霍夫圓變換的方法對(duì)輸出的結(jié)果進(jìn)行目標(biāo)定位處理,將氣門的中心點(diǎn)(圓心)進(jìn)行矯正。然而直接使用傳統(tǒng)的CHT 在相互遮擋的目標(biāo)圓檢測(cè)上表現(xiàn)欠佳,無法適應(yīng)較復(fù)雜的環(huán)境,檢測(cè)精度有待提高。綜上,本文提出了二次識(shí)別的方法:對(duì)于深度卷積網(wǎng)絡(luò)的檢測(cè)結(jié)果,獲取目標(biāo)的類別和位置信息,然后根據(jù)檢測(cè)結(jié)果對(duì)圖像進(jìn)行區(qū)域截圖得到細(xì)化框,再對(duì)細(xì)化框進(jìn)行CHT 檢測(cè)得到最終的氣門識(shí)別結(jié)果。二次識(shí)別過程的詳細(xì)步驟如下:
1)取位置坐標(biāo):根據(jù)本文提出的深度卷積網(wǎng)絡(luò)得到預(yù)測(cè)框的位置信息,該位置信息是指預(yù)測(cè)框的左下角頂點(diǎn)A=(au,av)和右上角頂點(diǎn)B=(bu,bv)的坐標(biāo)。
2)擴(kuò)充像素:考慮到個(gè)別檢測(cè)框可能沒有完全包裹氣門的輪廓,故對(duì)A、B兩點(diǎn)的值分別擴(kuò)充5 個(gè)像素得到A′=(au-5,av-5)、B′=(bu+5,bv+5)。
3)局部區(qū)域截圖:根據(jù)擴(kuò)充后的坐標(biāo)A′、B′在原圖上進(jìn)行截圖得到細(xì)化框。
4)細(xì)化框預(yù)處理:①灰度化處理;②中值濾波去噪;③平滑處理。
5)邊緣提取:對(duì)所得截圖用Canny 算法進(jìn)行邊緣提取,得到較完整的圓邊緣。
6)霍夫圓變換:使用CHT 進(jìn)行識(shí)別得到檢測(cè)圓,獲取矯正后的圓心定位結(jié)果,并輸出每個(gè)目標(biāo)的圓心坐標(biāo)和半徑。
本文最終輸出的是深度卷積網(wǎng)絡(luò)模型生成的預(yù)測(cè)框和二次識(shí)別生成的檢測(cè)圓。由于CHT 具有不穩(wěn)定性,不能保證每個(gè)目標(biāo)都得到有效識(shí)別,對(duì)于二次識(shí)別過程中存在的漏檢現(xiàn)象,本文實(shí)驗(yàn)以原來的預(yù)測(cè)框?yàn)檠a(bǔ)充,同時(shí)生成帶預(yù)測(cè)框和檢測(cè)圓的結(jié)果。最終的檢測(cè)結(jié)果中若有檢測(cè)圓則以二次識(shí)別的結(jié)果為準(zhǔn),否則以深度卷積網(wǎng)絡(luò)生成的預(yù)測(cè)框?yàn)闇?zhǔn),同時(shí)返回所有預(yù)測(cè)框的位置信息以及中心點(diǎn)坐標(biāo)。
2.1.1 實(shí)驗(yàn)環(huán)境
為了更直觀地驗(yàn)證本文提出方法的有效性,本文所有的實(shí)驗(yàn)均在同一環(huán)境下進(jìn)行。本文應(yīng)用的硬件和軟件配置如下:Ubuntu16.04 操作系統(tǒng),Intel Core i7-8700 處理器,NVIDA 1080Ti 獨(dú)立顯卡,以及Tensorflow-gpu、Cudn10.0、Cudnn7.4.1.5 庫(kù)。
2.1.2 參數(shù)設(shè)置
調(diào)整本文提出深度模型的配置文件以及訓(xùn)練過程中的參數(shù):在配置文件中將類別數(shù)目class 設(shè)為1(本數(shù)據(jù)集中只有一類),檢測(cè)頭輸出的維度層數(shù)設(shè)為18。在進(jìn)行訓(xùn)練時(shí),將一次訓(xùn)練所選取的樣本數(shù)量Batch 設(shè)為16,迭代次數(shù)epoch設(shè)為2 000,學(xué)習(xí)率設(shè)為0.001,動(dòng)量設(shè)為0.9,權(quán)重衰減值設(shè)為0.000 5。訓(xùn)練集與驗(yàn)證集的劃分比例為9∶1。另外,在實(shí)驗(yàn)中加入冷凍訓(xùn)練用于通用的主干網(wǎng)絡(luò)提取特征,加快網(wǎng)絡(luò)的收斂。
根據(jù)數(shù)據(jù)集的實(shí)際情況對(duì)二次識(shí)別中的參數(shù)進(jìn)行調(diào)整:首先將邊緣檢測(cè)Canny 算子中的雙閾值分別設(shè)為100(大閾值)、50(小閾值);經(jīng)過分析大量目標(biāo)預(yù)測(cè)框的位置信息,得到參數(shù)最小的圓半徑為100,最大的圓半徑為200,兩個(gè)圓心之間的最小距離為40。
2.1.3 矯正框
本文實(shí)驗(yàn)中將CHT 檢測(cè)到的所有目標(biāo)以圓心O=(xu,yv)、半徑r的形式回歸出來,并將原圖中的圓形目標(biāo)物體做最小外接矩形處理得到矯正框,這個(gè)矯正框?qū)⒆鳛樾碌念A(yù)測(cè)框。最終返回目標(biāo)的位置信息即為矯正框的左下角坐標(biāo)(Eu,Ev)、右上角坐標(biāo)(Fu,F(xiàn)v),其計(jì)算過程如下:
本文實(shí)驗(yàn)采用大恒MER-500-14GM 相機(jī)實(shí)地拍攝的圖像作為原始樣本,圖像的分辨率為2 592×1 944,圖像格式為.JPG。將實(shí)驗(yàn)數(shù)據(jù)集中的氣門毛胚件碼放在帶間隙的框架上,氣門之間會(huì)相互接觸,相機(jī)裝在籃筐上方的安裝架上進(jìn)行拍照取樣。本項(xiàng)目分別采集順光和逆光條件下,不同角度不同擺放位置的氣門照片,為了不增加標(biāo)注負(fù)擔(dān),這里只取50 張小樣本作為原始數(shù)據(jù)集。
本文實(shí)驗(yàn)使用PASCAL VOC2007 數(shù)據(jù)集格式,對(duì)圖像使用Labelimg 工具自帶的標(biāo)注框進(jìn)行手工標(biāo)注[23],并對(duì)目標(biāo)的標(biāo)注框類別進(jìn)行自定義命名。數(shù)據(jù)集中的氣門屬于圓形目標(biāo),因此對(duì)氣門命名為circle,標(biāo)注完一張圖中的所有目標(biāo)即生成了一個(gè)對(duì)應(yīng)的xml 文件,對(duì)原始的數(shù)據(jù)集均完成標(biāo)注后共獲得50 個(gè)xml 文件。
在完成圖像的采集和標(biāo)注后,實(shí)驗(yàn)使用數(shù)據(jù)增強(qiáng)方法對(duì)原始的樣本進(jìn)行1∶50 的擴(kuò)充,共得到2 500 張的圖片以及2 500 個(gè)對(duì)應(yīng)的xml 文件。本文實(shí)驗(yàn)中只需要較小的數(shù)據(jù)集就可以達(dá)到預(yù)期的效果,所以這里只進(jìn)行一個(gè)小規(guī)模的擴(kuò)充。
為了驗(yàn)證本文所提出的方法有利于解決工件氣門識(shí)別過程中出現(xiàn)的問題,這里使用采集到的圖像數(shù)據(jù)集,同時(shí)訓(xùn)練本文提出的模型以及原YOLOv3 模型、YOLOv4 模型。測(cè)試集共選取500 張圖片,分別使用原YOLOv3、YOLOv4 檢測(cè)方法和傳統(tǒng)的CHT 方法,以及本文所設(shè)計(jì)的方法對(duì)測(cè)試集進(jìn)行測(cè)試,將檢測(cè)結(jié)果作為本文的對(duì)比實(shí)驗(yàn)。
本文選取目標(biāo)檢測(cè)方法的精確率(Precision)、召回率(Recall)、交并比(IOU)以及檢測(cè)精度(Average Precision,AP)多個(gè)指標(biāo)聯(lián)合評(píng)價(jià)模型。其中,精確率和召回率的定義為:
以目標(biāo)氣門為例,TP表示被正確識(shí)別為氣門的樣本個(gè)數(shù),F(xiàn)P表示被錯(cuò)誤識(shí)別為氣門的樣本個(gè)數(shù),F(xiàn)N表示未被檢測(cè)到的樣本個(gè)數(shù)。精確率表示正確識(shí)別出目標(biāo)的檢測(cè)精度,召回率表示能夠正確識(shí)別目標(biāo)的概率。檢測(cè)框與人工標(biāo)注框的交并比(IOU)定義為:
其中:Pred指代最終的預(yù)測(cè)框(矯正框),Truth表示人工標(biāo)注的真實(shí)框。IOU 的值越大,表明預(yù)測(cè)目標(biāo)的包裹度越好,檢測(cè)結(jié)果的精度越高。平均檢測(cè)精度(Mean Average Precision,MAP)的計(jì)算過程是通過給定一組IOU 閾值,在每個(gè)IOU 閾值下求所有類的精度AP 并將其平均得到,將其作為這個(gè)IOU 閾值下的檢測(cè)性能。而本文檢測(cè)單一目標(biāo),MAP即AP,且本文數(shù)據(jù)集對(duì)檢測(cè)精度的要求較高,因此本文選取IOU 閾值為0.9 時(shí)的AP 作為最終的評(píng)價(jià)指標(biāo),記為AP@0.9。
為了方便對(duì)比,這里采取同一張測(cè)試圖的檢測(cè)結(jié)果進(jìn)行對(duì)比,各模型結(jié)果的展示如圖3 所示。從圖3 中的方形預(yù)測(cè)框可以看出,YOLOv4 方法和本文的方法都準(zhǔn)確地將框架邊角處的兩個(gè)氣門檢測(cè)出來,而圖3(a)中原始的YOLOv3 模型漏檢了這兩個(gè)目標(biāo)。觀察預(yù)測(cè)框的置信度得分,可以看出圖3(b)和圖3(d)中正確識(shí)別目標(biāo)的個(gè)數(shù)相同,但圖3(d)中識(shí)別出目標(biāo)的檢測(cè)精度高于圖3(b)中的檢測(cè)精度,且圖3(d)中大部分目標(biāo)的置信度得分為1,遠(yuǎn)遠(yuǎn)高于圖3(a)中的目標(biāo)置信度分?jǐn)?shù)??梢姡璝OLOv3 方法對(duì)框架邊角處的氣門存在漏檢的情況,而本文的方法可以有效地識(shí)別出框架上的目標(biāo),且相比原YOLOv3、YOLOv4 模型的檢測(cè)結(jié)果在檢測(cè)精度上有了進(jìn)一步提升。接著通過觀察CHT 得到的檢測(cè)圓可知,圖3(c)中傳統(tǒng)的CHT 檢測(cè)存在較多的漏檢目標(biāo),且在檢測(cè)重疊目標(biāo)時(shí),只能識(shí)別出上方的目標(biāo),下方被遮擋的目標(biāo)并未檢測(cè)到;而本文的方法可以將相互遮擋下的目標(biāo)全都識(shí)別出來,且針對(duì)圖中噪聲較大的區(qū)域也有很好的識(shí)別率。通過對(duì)比實(shí)驗(yàn)的預(yù)測(cè)結(jié)果可以看出,本文提出的基于深度卷積網(wǎng)絡(luò)與霍夫變換的方法不僅可以有效提高氣門識(shí)別的精度,還能增強(qiáng)模型的泛化能力。
圖3 不同模型結(jié)果對(duì)比展示Fig.3 Display of different model results comparison
表1 給出了不同方法進(jìn)行氣門識(shí)別的Precision、Recall以及AP 值。從表1 可以看出,在精確率方面,原YOLOv3 方法的精確率為94.2%,YOLOv4 檢測(cè)方法的精確率為96.9%,本文方法的精確率為97.1%,相較原YOLOv3 方法和YOLOv4 方法分別提高了2.9 個(gè)百分點(diǎn)和0.2 個(gè)百分點(diǎn);在召回率方面,本文方法召回率為94.4%,與YOLOv4 方法相同,相較原YOLOv3 方法提高了1.8 個(gè)百分點(diǎn);在IOU 閾值為0.9時(shí)的檢測(cè)精度上,原YOLOv3 方法的AP 為76.5%,YOLOv4方法的AP 為81.4%,而本文方法的AP 為88.3%,相較原YOLOv3 方法和YOLOv4 方法分別提高了11.8 個(gè)百分點(diǎn)和6.9 個(gè)百分點(diǎn)。傳統(tǒng)CHT 在精確率和召回率方面均低于其他三個(gè)目標(biāo)檢測(cè)方法,而在閾值為0.9 的檢測(cè)精度上均高于YOLOv3 和YOLOv4 方法,本文方法與傳統(tǒng)CHT 相比在AP 上提高了3.5 個(gè)百分點(diǎn),另外在精確率和召回率方面也分別提高了11.8 個(gè)百分點(diǎn)和13.7 個(gè)百分點(diǎn)。
表1 不同目標(biāo)檢測(cè)方法性能對(duì)比 單位:%Tab.1 Performance comparison of different target detection methods unit:%
從圖3 中目標(biāo)氣門的包裹度可以看出,圖3(a)中預(yù)測(cè)框的包裹性最差,圖3(b)其次,圖3(c)和圖3(d)不相上下。為了進(jìn)一步驗(yàn)證本文目標(biāo)檢測(cè)結(jié)果的定位精度,這里將各方法得到的IOU 值進(jìn)行對(duì)比,根據(jù)原500 張圖像的測(cè)試集中的目標(biāo)進(jìn)行計(jì)算,結(jié)果如表2 所示。
表2 展示了不同方法的IOU 值。從表2 中可以看出,本文方法相較原YOLOv3、YOLOv4 方法的IOU 值分別提高了0.17 和0.09;傳統(tǒng)CHT 的IOU 值為0.90,本文方法的IOU 值0.95,相較傳統(tǒng)CHT 又提高了0.05??梢?,與單獨(dú)使用深度學(xué)習(xí)的目標(biāo)檢測(cè)方法相比,本文基于深度卷積網(wǎng)絡(luò)與霍夫變換的方法得到的檢測(cè)框與真實(shí)框的交并比更高,目標(biāo)包裹度更好,目標(biāo)中心點(diǎn)的定位更準(zhǔn)確。
表2 交并比計(jì)算結(jié)果Tab.2 Calculation results of IOU
各目標(biāo)檢測(cè)方法的檢測(cè)速率結(jié)果如表3 所示。從表3 中可以看出,本文方法在檢測(cè)速率上相較YOLOv4 方法和傳統(tǒng)的CHT 分別提高了2.2 frame/s 和6.6 frame/s,但低于原YOLOv3 方法。
表3 檢測(cè)速率結(jié)果Tab.3 Detection rate results
本文提出了一種基于雙重檢測(cè)的氣門識(shí)別方法,旨在解決工業(yè)上氣門識(shí)別任務(wù)中存在的檢測(cè)精度較低、重疊目標(biāo)漏檢率高以及目標(biāo)包裹度差、圓心定位不準(zhǔn)的問題。通過將YOLOv3、YOLOv4、傳統(tǒng)的CHT 方法與本文方法進(jìn)行氣門檢測(cè)效果的對(duì)比,實(shí)驗(yàn)結(jié)果表明,本文提出的方法在檢測(cè)精度上達(dá)到了97.1%,在召回率上達(dá)到了94.4%,與原YOLOv3 方法相比,在精度和召回率上分別提高了2.9 個(gè)百分點(diǎn)和1.8個(gè)百分點(diǎn);且該方法使目標(biāo)中心點(diǎn)的定位更準(zhǔn)確,其矯正框和真實(shí)框的交并比達(dá)到了0.95,與傳統(tǒng)CHT 相比提高了0.05。本文通過優(yōu)化深度網(wǎng)絡(luò)卷積結(jié)構(gòu)并結(jié)合霍夫圓變換檢測(cè)的方法,使其在目標(biāo)相互遮擋、背景復(fù)雜度較高的情況下具有較好的魯棒性,相較單一檢測(cè)方法有效提高了模型識(shí)別的準(zhǔn)確率,增強(qiáng)了圓心的定位精度以及目標(biāo)的包裹程度,基本滿足了工業(yè)上氣門識(shí)別過程中的需求。本文實(shí)驗(yàn)中為了使目標(biāo)檢測(cè)的定位更準(zhǔn)確而犧牲了部分檢測(cè)速度,與達(dá)到實(shí)時(shí)的氣門檢測(cè)還存在一定的差距,未來可以在檢測(cè)速度上進(jìn)行改進(jìn)以達(dá)到實(shí)際應(yīng)用中的速率要求。