国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)YOLOv4的工件識別*

2022-08-25 09:46張建華李克祥
關(guān)鍵詞:特征提取工件聚類

張建華,趙 維,趙 巖,王 唱,李克祥

(河北工業(yè)大學(xué)機(jī)械工程學(xué)院,天津 300401)

0 引言

隨著工業(yè)智能化快速發(fā)展,利用視覺技術(shù)迅速準(zhǔn)確地完成對工業(yè)零部件的自動識別,已經(jīng)成為智能裝配領(lǐng)域研究的熱點[1-3]。

傳統(tǒng)目標(biāo)檢測算法需手動提取目標(biāo)特征,然后通過分類器進(jìn)行訓(xùn)練分類。馮長建等[4]提出核心主成分分析(KPCA)與支持向量機(jī)(SVM)混合的機(jī)械零部件形狀識別方法,通過傅立葉描繪子獲取零部件輪廓信息,利用KPCA進(jìn)行特征矢量降維,最后用SVM進(jìn)行分類。實驗表明,該方法對位置分散且形狀完整的機(jī)械零部件有很高的識別率。王紅濤等[5]提出基于邊緣匹配的工件識別算法,在利用Canny算法提取圖像特征之后,將改進(jìn)的Hausdorff距離作為特征匹配的相似性度量方法,最后采用自適應(yīng)代溝替代策略的遺傳算法獲得距離最優(yōu)解。實驗結(jié)果表明,該算法不僅可以加速特征匹配過程,而且提高其抗噪性,可有效解決平移、旋轉(zhuǎn)、部分遮擋等情況下圖像匹配識別問題。傳統(tǒng)基于特征的工件檢測方法存在效率低、手工設(shè)計的特征魯棒性差等問題[6],難以滿足現(xiàn)代工業(yè)檢測需求。

近年來,隨著深度學(xué)習(xí)技術(shù)快速發(fā)展,上述問題得到一定程度的解決。LIU等[7]將二維工件檢測網(wǎng)絡(luò)PolishNet-2d和三維工件識別網(wǎng)絡(luò)PolishNet-3d串聯(lián)使用,完成制造業(yè)中拋光工件的識別任務(wù)。TANG等[8]利用神經(jīng)網(wǎng)絡(luò)檢測目標(biāo)工件角點信息,根據(jù)檢測概率和角點間幾何關(guān)系總結(jié)規(guī)律建立決策樹來識別工件類型。KHALID等[9]提出一種全卷積網(wǎng)絡(luò)結(jié)構(gòu),根據(jù)圖像點云信息劃分出工件區(qū)域和非工件區(qū)域,進(jìn)而檢測出工件數(shù)量及其位姿信息。YOLOv4[10]結(jié)合了大量前人研究技術(shù),加以組合并進(jìn)行適當(dāng)創(chuàng)新,實現(xiàn)了速度和精度的完美平衡,是目前性能最優(yōu)越的目標(biāo)檢測算法之一。但是針對工件的識別問題,因其網(wǎng)絡(luò)參數(shù)規(guī)模較大,對于實際工況網(wǎng)絡(luò)計算速度較慢。

針對上述問題,本文提出一種輕量化目標(biāo)檢測算法改進(jìn)YOLOv4算法,可以快速、準(zhǔn)確地完成工件識別任務(wù)。

1 YOLOv4算法原理

與R-CNN[11]和R-FCN[12]等基于候選區(qū)域的目標(biāo)檢測算法不同,YOLOv4作為單階段目標(biāo)檢測算法,將檢測視作回歸問題,不再生成區(qū)域候選框,極大提高了檢測速度,可滿足生產(chǎn)過程工件實時檢測需求。YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)由輸入端、Backbone特征提取網(wǎng)絡(luò)、Neck中間層和Head輸出層4部分組成。

其中,Backbone特征提取網(wǎng)絡(luò)是CSPDarknet53,由Darknet53和CSPNet[13]結(jié)合而成。借鑒CSPNet在降低計算量的同時保持準(zhǔn)確性的經(jīng)驗,YOLOv4在各殘差塊上添加跨階段局部網(wǎng)絡(luò)(CSP),將基礎(chǔ)層特征映射分為主干和支路兩個部分,主干繼續(xù)堆積原殘差塊,支路相當(dāng)于一個殘差邊,進(jìn)一步通過跨階段層級將兩部分融合。

Neck中間層包括空間金字塔池化網(wǎng)絡(luò)(SPP)和路徑聚合網(wǎng)絡(luò)(PAN)結(jié)構(gòu)兩個部分。SPP分別利用4個不同尺度的最大池化對上層輸出的特征圖進(jìn)行處理,顯著增加了感受野,分離最重要的上下文特征并且?guī)缀醪粫档蚘OLOv4的運行速度。高層特征含有語義信息,而低層特征包含更具體的細(xì)節(jié)信息。借鑒PANet進(jìn)行參數(shù)聚合經(jīng)驗,YOLOv4中PAN層先是利用一條自頂而下信息傳輸路徑捕捉強(qiáng)語義特征,再利用一條自底向上信息傳輸路徑傳遞細(xì)節(jié)信息,通過兩條路徑組合,可很好完成目標(biāo)檢測。

Head輸出層用來完成目標(biāo)檢測結(jié)果輸出。此階段將輸入圖像分成網(wǎng)格單元,目標(biāo)由目標(biāo)中心點落入的網(wǎng)格單元負(fù)責(zé)檢測,每個單元輸出結(jié)果為B×(5+C)。其中,B代表一個單元能夠預(yù)測的邊界框數(shù)量;C表示預(yù)測目標(biāo)類別數(shù)量;5代表四個邊界框參數(shù)和一個邊界框中目標(biāo)置信度。根據(jù)單個網(wǎng)格的輸出結(jié)果,最終網(wǎng)絡(luò)輸出為S×S×B×(5+C),其中S代表圖像中每行或每列的網(wǎng)格數(shù)量。

2 改進(jìn)YOLOv4輕量化高精度工件識別算法

2.1 特征提取網(wǎng)絡(luò)輕量化

YOLOv4特征提取網(wǎng)絡(luò)CSPDarknet53在分類準(zhǔn)確性上表現(xiàn)優(yōu)異,但是其缺點是參數(shù)量和計算量過大。因此,本文引入輕量化網(wǎng)絡(luò)Moblienetv3[14]代替CSPDarknet53作為特征提取網(wǎng)絡(luò)。Moblienetv3網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。

表1 Moblienetv3網(wǎng)絡(luò)結(jié)構(gòu)

表中Input為每層輸入特征圖大?。籓perate為每層處理特征圖所用方法;bneck為瓶頸結(jié)構(gòu),由一個卷積核大小為1×1的卷積層和深度可分離卷積層組成;Pool為平均池化操作;NBN代表沒有使用批歸一化操作;exp size為模塊中增加后的通道數(shù);#out為輸出通道數(shù);SE表示是否在該bneck模塊中使用SE模塊;NL為激活函數(shù)類型;RE代表ReLU;HS為hard-swish;s為步長。

Moblienetv3網(wǎng)絡(luò)結(jié)構(gòu)分為3部分。第1層為起始部分,通過1個卷積核大小為3×3的卷積層提取特征;第2到16層為中間部分,由多個bneck結(jié)構(gòu)組成;第17到20層為最后部分,用于輸出類別。除去最后部分,剩下的16層作為Moblienetv3的主體結(jié)構(gòu)。在保證各層網(wǎng)絡(luò)輸出特征圖尺度不變且訓(xùn)練環(huán)境相同的情況下,根據(jù)主體結(jié)構(gòu)不同網(wǎng)絡(luò)層對平均精度均值(mAP)的影響大小,對mAP影響較小的網(wǎng)絡(luò)層進(jìn)行剪枝。最后將Moblienetv3的寬度因子設(shè)為0.875,進(jìn)一步減少網(wǎng)絡(luò)參數(shù)量。Moblienetv3主體結(jié)構(gòu)不同網(wǎng)絡(luò)層對mAP的影響如表2所示。

表2 Moblienetv3主體結(jié)構(gòu)不同網(wǎng)絡(luò)層對mAP的影響 (%)

由表2可看出,Moblienetv3的第16層對mAP影響最小,其次是第11層,因此本文對這2層網(wǎng)絡(luò)進(jìn)行剪枝。

簡化后的Moblienetv3網(wǎng)絡(luò)主體結(jié)構(gòu)如表3所示。

表3 簡化后的Moblienetv3主體結(jié)構(gòu)

將CSPDarknet53、Moblienetv3與本文簡化后的Moblienetv3網(wǎng)絡(luò)參數(shù)量進(jìn)行對比,如表4所示。

表4 特征提取網(wǎng)絡(luò)參數(shù)量對比

由表可知,簡化后的Moblienetv3網(wǎng)絡(luò)可達(dá)到減少模型更新開銷、降低內(nèi)存占用和計算量的目的。

2.2 改變深層網(wǎng)絡(luò)卷積方式降低網(wǎng)絡(luò)計算量

為進(jìn)一步降低計算量,用深度可分離卷積層替換深層網(wǎng)絡(luò)的標(biāo)準(zhǔn)卷積層。圖1a為標(biāo)準(zhǔn)卷積過程,其輸入特征圖大小為DF×DF×M,輸出特征圖大小為DF×DF×N時,總計算量如式(1)所示:

Fs=DF×DF×Dk×Dk×M×N

(1)

與標(biāo)準(zhǔn)卷積相比,深度可分離卷積將通道和區(qū)域分開考慮,將卷積過程分為深度卷積與點卷積。深度卷積過程如圖1b所示,其計算量如式(2)所示:

Fd=DF×DF×Dk×Dk×M

(2)

由于深度卷積是將卷積核按通道分解,并且僅在通道之間進(jìn)行卷積,所以輸入和輸出的特征圖通道數(shù)量相同且無法改變。因此需續(xù)接一個點卷積,用以改變通道數(shù)量。圖1c表示點卷積過程,此過程計算量如式(3)所示:

F1=DF×DF×M×N

(3)

將深度可分離卷積與標(biāo)準(zhǔn)卷積的計算量進(jìn)行比較,如式(4)所示:

(4)

(a) 標(biāo)準(zhǔn)卷積計算過程

(b) 深度卷積計算過程

(c) 點卷積計算過程

可以看出,雖然深度可分離卷積將卷積過程分為兩步,但憑借輕量的卷積方式,可極大降低卷積過程計算量。

2.3 增加特征圖數(shù)量提高檢測精度

YOLOv4通過PAN結(jié)構(gòu)輸出13×13、26×26、52×52這3種不同尺度的特征圖。深層特征圖尺寸小、感受野大,有利于檢測大尺寸物體。淺層與之相反,更有利于檢測小尺寸物體。在實際檢測過程中,對于小尺寸物體依然存在漏檢情況。因此,為增加淺層細(xì)節(jié)信息,在YOLOv4結(jié)構(gòu)基礎(chǔ)上,增加104×104特征層,并與其他三個特征層進(jìn)行特征融合,從而提高網(wǎng)絡(luò)檢測精度。

2.4 基于K-means++的Anchor Box重聚類

原始YOLOv4算法的Anchor Box是由K-means算法在COCO和VOC數(shù)據(jù)集上聚類得出。由于本文采用自制數(shù)據(jù)集,與COCO和VOC數(shù)據(jù)集差異較大,原始聚類結(jié)果不能代表本文數(shù)據(jù),因此需重新對數(shù)據(jù)集進(jìn)行聚類,以選出具有代表性的Anchor Box。由于K-means算法存在對初始點選取較敏感、隨機(jī)選取的初始點對聚類結(jié)果影響較大、易陷入局部最優(yōu)等問題,本文采用K-means++[15]算法對數(shù)據(jù)集進(jìn)行重聚類。K-means++算法步驟如下:

步驟1:從數(shù)據(jù)集X中隨機(jī)選取一個樣本作為初始聚類中心。

步驟2:計算每個樣本xi與當(dāng)前已有聚類中心Ci的距離D(xi)。

D(xi)=1-IOU(xi,Ci)

(5)

步驟3:計算每個樣本被選為下一個聚類中心的概率P。

(6)

步驟4:按照輪盤法選出下一個聚類中心。

步驟5:重復(fù)步驟2~4,直至選出K個聚類中心。

兩種聚類分析算法的精度計算方法如下:計算最后得到K個Anchor Box與bounding box的重疊度(IOU),對于每個bounding box選取其對應(yīng)最大的IOU值代表其精度,聚類分析算法的精度值為所有IOU值的平均值。兩種聚類分析算法的精度對比如表5所示,表明K-means++算法聚類精度更高,獲得的Anchor Box更能代表本文數(shù)據(jù)集?;贙-means++算法獲得的Anchor Box值如表6所示。

表5 兩種聚類分析算法精度

表6 Anchor Box在特征圖上分布

至此,針對工件類型識別任務(wù),完成了本文對YOLOv4網(wǎng)絡(luò)的改進(jìn),搭建了輕量化的改進(jìn)YOLOv4模型,其結(jié)構(gòu)如圖2所示。

圖2 所提出的改進(jìn)YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)

3 實驗與結(jié)果分析

3.1 樣本集構(gòu)建

為驗證所提出的改進(jìn)YOLOv4目標(biāo)檢測算法的有效性,通過圖像采集和圖像標(biāo)注創(chuàng)建具有3類工件圖像樣本(六角螺栓、六角螺母、軸)的數(shù)據(jù)集。

首先,搭建圖3a所示圖像采集平臺,利用工業(yè)相機(jī)(海康威視MV-CA060-10GC,最大分辨率為3270×2048)采集圖像4100張,采集的部分圖像如圖3b所示,用Labelimg軟件對圖像進(jìn)行手工標(biāo)注。然后,進(jìn)行數(shù)據(jù)增廣,對圖像進(jìn)行翻轉(zhuǎn)、鏡像、亮度和對比度變換,將圖像擴(kuò)充至24 000張。并將數(shù)據(jù)集分為3組,其中訓(xùn)練集18 000張,驗證集2000張,測試集4000張。

(a) 圖像采集平臺 (b) 數(shù)據(jù)集部分圖像

3.2 網(wǎng)絡(luò)訓(xùn)練及評價指標(biāo)

3.2.1 網(wǎng)絡(luò)訓(xùn)練

網(wǎng)絡(luò)模型采用分階段訓(xùn)練策略:第一階段為凍結(jié)訓(xùn)練,因神經(jīng)網(wǎng)絡(luò)主干特征提取部分所提取的特征具有通用性,故凍結(jié)特征提取網(wǎng)絡(luò),以提高訓(xùn)練效率,同時可以防止權(quán)值被破壞。第二階段為解凍后訓(xùn)練。兩個階段的超參數(shù)如表7所示。

表7 模型訓(xùn)練參數(shù)

圖4 訓(xùn)練過程損失變化曲線

表中,Momentum表示動量參數(shù),可在梯度下降算法中加速模型收斂;Weight-decay表示權(quán)重衰減系數(shù),可有效限制參數(shù)變化幅度,起到一定正則作用;Base learning rate表示基礎(chǔ)學(xué)習(xí)率,決定權(quán)值的更新速度;Batch size表示每批次訓(xùn)練樣本量大?。籈poch表示全部訓(xùn)練樣本訓(xùn)練次數(shù)??傆?xùn)練次數(shù)為100個Epoch,損失值變化曲線如圖4所示。

3.2.2 評價指標(biāo)

選擇每秒傳輸幀數(shù)(fps)度量模型檢測速度,模型參數(shù)量(Params size)作為模型規(guī)模大小參數(shù),平均精度均值(mAP)衡量檢測精度。

AP值是P-R曲線的包圍面積,mAP為所有類別AP值的均值。P代表精確率,R代表召回率。P、R的計算方法如式(7)、式(8)所示:

P=TP/(TP+FP)

(7)

R=TP/(TP+FN)

(8)

式中,TP代表實際為正類且預(yù)測為正類的樣本數(shù)量;FP代表實際為負(fù)類但預(yù)測為正類的樣本數(shù)量;FN代表實際為正類但預(yù)測為負(fù)類的樣本數(shù)量。

3.3 實驗結(jié)果分析

改進(jìn)YOLOv4算法工件識別結(jié)果如圖5所示。

圖5 工件識別結(jié)果

將改進(jìn)YOLOv4算法與原始YOLOv4算法進(jìn)行對比,在測試集上進(jìn)行測試,對比結(jié)果如表8所示。

表8 改進(jìn)YOLOv4與原始YOLOv4對比結(jié)果

結(jié)果表明,在模型參數(shù)規(guī)模方面,YOLOv4算法的模型參數(shù)量為244.29 MB,改進(jìn)YOLOv4算法模型參數(shù)量為31.52 MB,降低了87.10%;在檢測速度方面,YOLOv4的檢測速度為30.51 fps,改進(jìn)YOLOv4達(dá)到42.67 fps,提升了39.86%,可達(dá)到實時檢測需求。雖然與YOLOv4相比,改進(jìn)YOLOv4檢測精度略有降低,但依然達(dá)到98.00%,可滿足實用需求。

4 結(jié)束語

針對工業(yè)機(jī)器人生產(chǎn)過程中自動工件識別需求,提出一種輕量化目標(biāo)檢測網(wǎng)絡(luò)改進(jìn)YOLOv4算法,實現(xiàn)工件自動識別。與YOLOv4算法相比,所提出的算法引入簡化的Moblienetv3作為主干特征提取網(wǎng)絡(luò),采用深度可分離卷積層代替深層網(wǎng)絡(luò)中標(biāo)準(zhǔn)卷積層,降低網(wǎng)絡(luò)參數(shù)量,并使用K-means++算法對數(shù)據(jù)集進(jìn)行重聚類獲取更有代表性的Anchor Box,同時在特征融合結(jié)構(gòu)中增加104×104特征檢測尺度并與另外三個尺度融合,提高工件識別精度。結(jié)果表明,改進(jìn)YOLOv4算法網(wǎng)絡(luò)參數(shù)規(guī)模減小87.1%,檢測速度提高39.86%,初步滿足機(jī)器人生產(chǎn)過程中工件自動檢測需求。在未來研究中,將進(jìn)一步針對零件相互堆疊遮擋導(dǎo)致漏檢問題,借鑒MAO[16]等解決行人遮擋問題的方法,引入額外特征,如分割信息和邊緣信息等,減少工件部分信息缺失對識別影響,提高檢測精度。

猜你喜歡
特征提取工件聚類
帶服務(wù)器的具有固定序列的平行專用機(jī)排序
帶沖突約束兩臺平行專用機(jī)排序的一個改進(jìn)算法
工業(yè)機(jī)器人視覺引導(dǎo)抓取工件的研究
一類帶特殊序約束的三臺機(jī)流水作業(yè)排序問題
空間目標(biāo)的ISAR成像及輪廓特征提取
基于Gazebo仿真環(huán)境的ORB特征提取與比對的研究
基于特征提取的繪本閱讀機(jī)器人設(shè)計方案
基于Daubechies(dbN)的飛行器音頻特征提取
面向WSN的聚類頭選舉與維護(hù)協(xié)議的研究綜述
基于高斯混合聚類的陣列干涉SAR三維成像