余永維,韓 鑫,杜柳青
(重慶理工大學(xué) 機(jī)械工程學(xué)院,重慶 400054)
零件識別和定位是柔性裝配機(jī)器人視覺任務(wù)中的重要組成部分。傳統(tǒng)圖像識別方法主要采用人工設(shè)計(jì)特征,例如SIFT(Scale-Invariant Feature Transform)特征[1]、LBP(Local Binary Pattern)特征[2]、HOG(Histogram of Oriented Gradient)特征[3]等,傳統(tǒng)人工特征方法效率低下,對特征多樣性變化缺乏魯棒性,已經(jīng)不能夠滿足現(xiàn)代工業(yè)檢測需求。
近年來,深度學(xué)習(xí)方法在自然圖像檢測方面表現(xiàn)出優(yōu)越性能[4],深度卷積神經(jīng)網(wǎng)絡(luò)能夠完善分類器模型并自主訓(xùn)練提取目標(biāo)特征,訓(xùn)練后得到的特征泛化性遠(yuǎn)高于人工提取特征。目前基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法主要有兩種,一種是基于區(qū)域的目標(biāo)檢測算法,如Faster-RCNN(Regions with Convolutional Neural Networks)[5],Mask-RCNN[6]等,該類算法檢測精度高,但檢測速度慢,不能實(shí)現(xiàn)實(shí)時(shí)檢測;另一種是基于回歸的目標(biāo)檢測算法,如YOLO(You Only Look Once)[7],SSD(Single shot MultiBox Detector)[8]等,該類算法檢測速度快,可以達(dá)到實(shí)時(shí)檢測的要求,將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖像檢測領(lǐng)域的研究中,國內(nèi)學(xué)者做了大量的工作:張博等[9]提出了一種基于Mask R-CNN算法的多目標(biāo)圖像ORB除誤匹配方法,該方法主要用到區(qū)域神經(jīng)網(wǎng)絡(luò)提取目標(biāo)類別信息并生成標(biāo)簽,然后通過各個卷積層進(jìn)行像素矯正,該方法相對于傳統(tǒng)方法目標(biāo)匹配精度提高了18.6%。方明等[10]提出了一種基于改進(jìn)YOLO算法的安全帽佩戴情況檢測方法,利用卷積神經(jīng)網(wǎng)絡(luò)由淺至深的語義信息提取并配合MobileNet輕量化模型,在保證檢測精度的同時(shí)有效的提高了檢測速度并減小了參數(shù)數(shù)量。王中宇等[11]將卷積神經(jīng)網(wǎng)絡(luò)運(yùn)用到自動駕駛場景語義分割中,提出一種融合了圖像底層像素信息、通道與空間信息的語義分割網(wǎng)絡(luò),該方法能夠更加精細(xì)的分割目標(biāo),有效提高了均交比和均像素精度等關(guān)鍵指標(biāo)。
本文的研究主要針對裝配零件的檢測,傳統(tǒng)的目標(biāo)檢測方法對零件檢測環(huán)境要求極高,且不能兼顧目標(biāo)識別精度和檢測實(shí)時(shí)性,故本文引入了深度學(xué)習(xí)方法到目標(biāo)零件檢測中,綜合比較目前的主流目標(biāo)識別方法優(yōu)缺點(diǎn),選取了SSD作為基礎(chǔ)算法。但SSD算法在復(fù)雜工況下檢測精度稍有遜色,為了克服這一缺陷,提出一種基于Inception-SSD框架的零件深度學(xué)習(xí)識別方法,建立了融合Inception預(yù)測結(jié)構(gòu)的SSD優(yōu)化框架Inception-SSD,在SSD額外層中引入Inception結(jié)構(gòu),以增加神經(jīng)網(wǎng)絡(luò)寬度和對不同尺度特征適應(yīng)性,實(shí)現(xiàn)不同尺度特征融合,優(yōu)化模型對復(fù)雜環(huán)境的適應(yīng)性,提高復(fù)雜環(huán)境下的檢測精度,同時(shí)對其損失函數(shù)和非極大值抑制進(jìn)行優(yōu)化,以克服模型表達(dá)能力不足的缺點(diǎn)。
SSD算法以VGG16為基礎(chǔ)網(wǎng)絡(luò),其模型結(jié)構(gòu)如圖1所示,輸入圖片的尺寸需要轉(zhuǎn)化成300×300,再將其輸入進(jìn)SSD網(wǎng)絡(luò)中;SSD是以VGG-16卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),將VGG-16中的全連接層(fc6和fc7)改成卷積層(conv_fc6與conv_fc7),并在后面增加不同大小的卷積層用于對多尺度目標(biāo)的預(yù)測,如圖1所示。VGG-16網(wǎng)絡(luò)后面新增的幾個卷積層conv_fc7,conv8_2,conv9_2,conv10_2,conv11_2,加上VGG-16網(wǎng)絡(luò)的conv4_3,SSD網(wǎng)絡(luò)有著不同的層次的特征圖,分別用于不同尺度目標(biāo)的邊框偏移與類別預(yù)測。最后通過非極大值抑制(Non-Maximum Suppression, NMS)得到最終的檢測結(jié)果。
SSD采取了全卷積直接回歸預(yù)測的方式,不再產(chǎn)生區(qū)域候選框,極大地提升了SSD網(wǎng)絡(luò)的檢測速度。但SSD算法面對工業(yè)中一些視覺干擾、表面特征相似、零件堆疊等復(fù)雜情況時(shí),有時(shí)也會發(fā)生漏檢和誤檢,而在實(shí)際的工廠生產(chǎn)環(huán)境中,以上的復(fù)雜情況往往不可避免。
圖1 SSD網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 SSD network structure
在SSD算法網(wǎng)絡(luò)額外層尺寸較小,包含小目標(biāo)信息有限,且額外層只有一種類型卷積內(nèi)核,即3×3內(nèi)核,存在目標(biāo)細(xì)節(jié)特征遺漏的情況。同時(shí)SSD算法網(wǎng)絡(luò)具有復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu),想要提升其網(wǎng)絡(luò)性能,一般采取的方法是增加網(wǎng)絡(luò)寬度與深度。然而,這將導(dǎo)致網(wǎng)絡(luò)參數(shù)數(shù)量增加,進(jìn)而造成計(jì)算量增加和過度擬合的問題。為此,本文提出Inception-SSD網(wǎng)絡(luò)結(jié)構(gòu),通過將Inception預(yù)測結(jié)構(gòu)融入到SSD網(wǎng)絡(luò)額外層中,從而拓寬卷積神經(jīng)網(wǎng)絡(luò)寬度,以此提升算法性能。
Inception結(jié)構(gòu)具有密集矩陣的高性能特點(diǎn),同時(shí)還保持著網(wǎng)絡(luò)稀疏結(jié)構(gòu),Inception模塊原始結(jié)構(gòu)圖如圖2所示,其結(jié)構(gòu)中使用了3個尺寸不同的濾波器(1×1,3×3,5×5),目的在于降低卷積運(yùn)算過程的算力成本,解決計(jì)算量增加的問題。 GoogLeNet Inception-V1[12]證明,解決參數(shù)增加引起的計(jì)算量增加和過度擬合問題,基本方法是將完整連接層中至少一半的卷積層轉(zhuǎn)換為稀疏結(jié)構(gòu)。 因此,Inception網(wǎng)絡(luò)可以在不增加網(wǎng)絡(luò)復(fù)雜性情況下,捕獲到更多目標(biāo)信息。相比Inception-V1,Inception-V2和Inception-V3[13]增加了準(zhǔn)確度和簡化計(jì)算復(fù)雜度的優(yōu)化,提出了更加優(yōu)越的因子分解方法,將濾波器5×5拆分為兩個3×3,使卷積運(yùn)算更加高效。Inception-V4[14]則引入了縮減模塊到結(jié)構(gòu)中,以改變網(wǎng)格高度與寬度,并輔以殘差結(jié)構(gòu)連接,將縮減模塊的性能發(fā)揮到最大,解決了梯度彌散的問題。
圖2 Inception原始結(jié)構(gòu)圖Fig.2 Inception original structure diagram
綜合考慮到Inception-V1到V4的變化,在SSD網(wǎng)絡(luò)的改進(jìn)過程中,為了能夠保留更多目標(biāo)的原始細(xì)節(jié)特征,對Inception網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行適應(yīng)性優(yōu)化,首先將5×5的卷積核替換成兩個3×3的卷積核,以提升計(jì)算速度,同時(shí)減少Inception網(wǎng)絡(luò)中每層特征圖數(shù)量,保持特征圖總和與原SSD網(wǎng)絡(luò)額外層特征圖總數(shù)相同。為了能夠反映本文引入的Inception網(wǎng)絡(luò)結(jié)構(gòu)不同尺度卷積核的重要性,對結(jié)構(gòu)中現(xiàn)存的兩種卷積核1×1和3×3附以加權(quán),比值為1∶2,然后在每個卷積層之后都使用批量標(biāo)準(zhǔn)化操作(Batch Normalization,BN),以增加算法的整體魯棒性。在靠近輸出端添加1×1Conv來降低參數(shù)數(shù)量,加快計(jì)算速度。最后將整個結(jié)構(gòu)輔以殘差結(jié)構(gòu)連接,綜合提升算法的訓(xùn)練與測試性能。圖3為優(yōu)化后的Inception網(wǎng)絡(luò)結(jié)構(gòu)。
圖3 優(yōu)化后的Inception網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Improved Inception network structure
用Inception網(wǎng)絡(luò)替換SSD原結(jié)構(gòu)中的Conv8,Conv9,Conv10和Conv11層,即它們中每一層都被獨(dú)立的卷積組代替。將Conv4_3,Conv6_2,Conv7_2,Conv8_2 ,Conv9_2 和Conv10_2作為特征提取層來提取目標(biāo)特征,并將Conv6和Conv7的輸出作為Inception特征層的輸入。
基于深度學(xué)習(xí)模型Inception-SSD的零件識別原理如圖4所示,在目標(biāo)檢測階段,首先將圖片尺寸調(diào)整為300×300,然后輸入改進(jìn)SSD網(wǎng)絡(luò),先通過VGG16 conv5_3特征提取網(wǎng)絡(luò),輸出大小為38×38尺度的特征圖,在經(jīng)過兩個conv3×3特征提取網(wǎng)絡(luò),分別輸出19×19和10×10尺度的特征圖,然后進(jìn)入Inception特征提取網(wǎng)絡(luò),得到尺度為3×3,1×1的特征圖,各種尺度的特征圖分別通過BN、激活層等系列操作,分別實(shí)現(xiàn)對輸入圖片進(jìn)行5種尺度的特征檢測。輸出特征圖包含了位置信息、網(wǎng)格單元的置信度、類別信息的三類信息。然后將得到的特征圖集合得到8 732個候選框(default box),最后通過非極大值抑制,輸出最終檢測結(jié)果。Inception-SSD采用全卷積方式,其感受野為整幅圖像,還需要對每個感受野做分類,對于不同尺度、形狀的目標(biāo)物體,Inception-SSD將對其類別與位置信息直接進(jìn)行回歸預(yù)測,并將其分散于不同特征層來實(shí)現(xiàn),從而提升了網(wǎng)絡(luò)整體檢測精度與速度,通過Inception稀疏結(jié)構(gòu)來感知更多小尺度特征圖,在優(yōu)化神經(jīng)網(wǎng)絡(luò)的同時(shí)提高對小目標(biāo)零件識別精度。
圖4 Inception-SSD識別原理Fig.4 Identification principle of Inception-SSD
根據(jù)SSD算法檢測目標(biāo)位置和類別的回歸原理,其目標(biāo)函數(shù)為置信度損失(conf)和位置損失(loc)的加權(quán)和,具體表達(dá)式如下:
(1)
其中:N表示與真實(shí)目標(biāo)框相匹配的默認(rèn)框數(shù)量,如果N=0,則總體損失值為0;c表示預(yù)測框置信度,l表示預(yù)測框位置信息;g是真實(shí)框位置信息;α是一個權(quán)重參數(shù),經(jīng)過交叉驗(yàn)證將其設(shè)為1;位置損失函數(shù)采用了Smooth L1函數(shù);類別置信損失函數(shù)采用交叉熵?fù)p失函數(shù)。
針對SSD模型對堆疊零件檢測效果不佳的問題,在原始損失函數(shù)基礎(chǔ)上增加排斥損失[15],以提高對遮擋情況下零件的檢測準(zhǔn)確率,改進(jìn)后的損失函數(shù)如下:
L=L(x,c,l,g)+γLRePGT.
(2)
假設(shè)G+= {G}表示所有真實(shí)目標(biāo)框的集合,P+={P}表示與真實(shí)目標(biāo)框匹配且IoU>0.5的候選區(qū)域框集合,對于候選框P(P∈P+)而言,指定一個IoU值最大的目標(biāo)框作為真實(shí)目標(biāo),如式(3):
(3)
對于P∈P+而言,因?yàn)榕懦鈸p失,指定目標(biāo)之外的相鄰真實(shí)目標(biāo)框與區(qū)域候選框產(chǎn)生排斥,排斥目標(biāo)即為除其本身之外與其IoU值最大的真實(shí)目標(biāo):
(4)
(5)
因此排斥損失計(jì)算如下:
(6)
SSD算法基于前饋卷積神經(jīng)網(wǎng)絡(luò),最后再通過非極大值抑制得到最終檢測結(jié)果。當(dāng)IoU值高于閾值時(shí),邊界框(bounding box)就會被識別為相同目標(biāo)。設(shè)B表示邊界框集,Ci表示第i個邊界框置信度,則非極大值抑制可表示如下:
box=BargmaxCi,
(7)
(8)
其中,box表示具有最高置信度的邊界框,這些邊界框?qū)⒈蛔鳛樽罱K輸出。然而,非極大值檢測結(jié)果可能會包含特征的最大值,因此直接調(diào)用非極大值抑制結(jié)果是不合適的。假設(shè)所有邊界框都來自于同一個對象,如果只考慮最大值結(jié)果,就會忽略掉通過保持邊界框最高置信度來充分利用對象信息的問題。針對以上問題,在原來非極大值抑制的基礎(chǔ)上進(jìn)行加權(quán),稱之為非極大值加權(quán)(Non-Maximum Suppression Weighting, NMW):
(9)
wi=Ci×iou(Bi,BargmaxCi),
(10)
(11)
卷積神經(jīng)網(wǎng)絡(luò)模型往往需要在大量數(shù)據(jù)集基礎(chǔ)上訓(xùn)練,然后對權(quán)重進(jìn)行相應(yīng)優(yōu)化得到效果穩(wěn)定的最終模型。目前,目標(biāo)識別領(lǐng)域研究主要采用的數(shù)據(jù)集有ImageNet[16],MS COCO[17]以及PASCAL VOC[18]等。以上數(shù)據(jù)集都取自我們?nèi)粘I钪械某R娢矬w,而本文研究面向工業(yè)柔性裝配機(jī)器人視覺系統(tǒng)實(shí)際應(yīng)用,對待裝配零件進(jìn)行識別,因此本文選用工業(yè)相機(jī)對所需檢測零件進(jìn)行自主拍攝,并對每張拍攝圖片進(jìn)行手工標(biāo)注,完成零部件數(shù)據(jù)集制作工作,為后期模型訓(xùn)練做準(zhǔn)備。
為了驗(yàn)證本文提出的Inception-SSD深度學(xué)習(xí)識別模型是否有效,在數(shù)據(jù)集制作上,本文針對性的選擇了如圖5所示的5類零件用于測試Inception-SSD的檢測效果,并拍攝了5 000張零件圖作為數(shù)據(jù)集,其中隨機(jī)選擇4 000張圖片用于訓(xùn)練模型,剩下1 000張圖片作為測試集。
圖5 5類模型訓(xùn)練零件圖Fig.5 Five types of parts for model training
為了能夠呈現(xiàn)直觀的識別效果,在數(shù)據(jù)集制作過程中對不同零件標(biāo)注了相應(yīng)英文單詞。如圖5所示,Bolt表示M8鍍鋅十字大扁頭螺釘、Nut1表示M10尼龍防松螺母、Nut2表示M8鍍鎳滾花大頭螺母、Capnut1表示M8鍍鋅螺帽、Capnut2表示M6鍍鋅蓋型螺帽。為了保證實(shí)驗(yàn)結(jié)果可靠性,在數(shù)據(jù)集制作過程中,通過改變光照強(qiáng)度、變換相機(jī)拍攝位姿、變換零件位姿、模擬零件堆疊的方式來保證數(shù)據(jù)集更加貼近實(shí)際生產(chǎn)環(huán)境。
對于數(shù)據(jù)集標(biāo)注工作,在Ubuntu16.04下,使用軟件LabelImg對每張零件圖進(jìn)行位置信息和類別信息標(biāo)注,每標(biāo)注一張圖片就會生成相應(yīng)xml信息文件,對于標(biāo)記完之后的圖片進(jìn)行微調(diào),生成xml文件分別保存,根據(jù)xml文件提取出每種零件所包含的訓(xùn)練集與測試集圖片數(shù)量分配情況及圖片尺寸信息,如表1所示。
表1 零件數(shù)據(jù)集圖像樣本分布
Inception-SSD模型的訓(xùn)練主要分為預(yù)訓(xùn)練和微調(diào)兩個階段,預(yù)訓(xùn)練階段會在caffe框架中以自制零件圖數(shù)據(jù)集為基礎(chǔ)訓(xùn)練得到一個SSD模型,然后用該模型來初始化Inception-SSD網(wǎng)絡(luò),得到Inception-SSD模型相關(guān)初始化參數(shù),微調(diào)階段則注重根據(jù)自制零件圖數(shù)據(jù)集對相關(guān)權(quán)重進(jìn)行微調(diào),最后用測試集數(shù)據(jù)驗(yàn)證Inception-SSD模型的檢測精度與實(shí)時(shí)性。
本實(shí)驗(yàn)Inception-SSD模型訓(xùn)練是基于Linux操作系統(tǒng),訓(xùn)練環(huán)境為Ubuntu16.04,訓(xùn)練之前進(jìn)行相關(guān)重要參數(shù)修改,如表2所示。
表2 相關(guān)訓(xùn)練參數(shù)
表2中,Weight-decay表示權(quán)重衰減系數(shù),將每次學(xué)習(xí)后的參數(shù)按照固定比例降低,以防止出現(xiàn)過擬合現(xiàn)象;Momentum表示動量參數(shù),對梯度下降到最優(yōu)過程的速度有一定影響;Base_lr表示基礎(chǔ)學(xué)習(xí)率,決定權(quán)值更新速度;batch_size表示每批次訓(xùn)練樣本量大小;Max_iter表示最大迭代次數(shù)。本次模型訓(xùn)練實(shí)驗(yàn)設(shè)置總迭代次數(shù)為50 000次,最大迭代次數(shù)為60 000次,訓(xùn)練完成后得到的訓(xùn)練過程中損失值變化曲線如圖6所示。
圖6 損失值變化曲線Fig.6 Loss value curve
從圖6可以看出,當(dāng)訓(xùn)練次數(shù)達(dá)到10 000次以后,損失值開始趨于平穩(wěn),考慮到深度神經(jīng)網(wǎng)絡(luò)迭代次數(shù)過多會出現(xiàn)過擬合情況,故在訓(xùn)練文件中做了相應(yīng)修改,使得在訓(xùn)練過程中每迭代5 000次就保存一次SSD訓(xùn)練模型。而后隨機(jī)選擇500張測試圖片,根據(jù)文獻(xiàn)[19]的方法,選擇迭代5 000次到50 000次之間的SSD模型,用召回率進(jìn)行測試,召回率Recall計(jì)算公式如下:
Recall=TP/(TP+FN),
(12)
在所有標(biāo)簽為正例的樣本中,式中TP表示零件正確預(yù)測數(shù),F(xiàn)N表示零件錯誤預(yù)測數(shù),測試結(jié)果如表3所示。
表3 迭代次數(shù)與召回率
根據(jù)表中數(shù)據(jù)可知,SSD網(wǎng)絡(luò)最優(yōu)迭代次數(shù)為15 000次。故選擇15 000次迭代的SSD模型作為零件檢測最終模型。
(1)單類零件檢測實(shí)驗(yàn)
由圖7和圖8可以看出單類零件檢測效果,本文提出的Inception-SSD算法在零件堆疊、遮擋和視覺干擾的情況下檢測效果較好。
(2)多類零件檢測實(shí)驗(yàn)
在零件檢測效果測試中,本文特意模擬了實(shí)際生產(chǎn)中,工作臺多類零件堆疊遮擋、零件裝配、無關(guān)雜物干擾、變換相機(jī)位姿等復(fù)雜情況下,測試效果如圖9~圖11所示,檢測準(zhǔn)確率達(dá)到97%以上,能夠滿足實(shí)際生產(chǎn)環(huán)境對零件的檢測要求。
為了對比Inception-SSD算法與其他目標(biāo)檢測算法的檢測效果,引入測試集圖片進(jìn)行驗(yàn)證,檢測對比數(shù)據(jù)如表4所示,數(shù)據(jù)對比結(jié)果表明:正常情況下,各個算法檢測平均準(zhǔn)確率相差不大;復(fù)雜情況下,本文方法檢測平均準(zhǔn)確率達(dá)到97.8%,相比原SSD算法提升11.7%,相比YOLO算法提升10.4%,相比Faster R-CNN,檢測速率遙遙領(lǐng)先達(dá)到41 Frame/s,可實(shí)現(xiàn)實(shí)時(shí)檢測。綜上述,Inception-SSD算法在提高復(fù)雜情況檢測精度同時(shí)還保證了實(shí)時(shí)性,對復(fù)雜情況下的零件識別效果顯著。
圖7 單類零件檢測效果Fig.7 Detection effect of single type part
圖8 正常光照、過量曝光和光線不足檢測效果Fig.8 Detection effect of normal , overexposure and underexposure
圖9 多類零件混雜堆疊擺放和裝配狀態(tài)下檢測效果Fig.9 Detection effect of multi-class parts in hybrid stacking and assembling state
圖10 無關(guān)雜物干擾檢測效果Fig.10 Detection effect of irrelevant interference
圖11 過量曝光和變換相機(jī)角度檢測效果Fig.11 Detection effect of overexposure and change camera angle
表4 本文Inception-SSD與其他算法檢測效果對比
根據(jù)實(shí)際情況,多種零件相互堆疊最貼近生產(chǎn)實(shí)際,故分別隨機(jī)采取了200張正常和復(fù)雜情況下多種零件堆疊測試圖片,用于測試本文的Inception-SSD算法和原SSD算法檢測性能,檢測結(jié)果如表5所示。
表5 復(fù)雜工況下誤檢數(shù)據(jù)對比
從表5中對比數(shù)據(jù)可以看出,Inception-SSD算法性能相比原SSD算法有較大提升。在實(shí)際生產(chǎn)中,由于相距變大或較大雜物干擾情況下,零件會在成像平面呈現(xiàn)適應(yīng)性像素縮小的狀況,對此特意增加了100張適應(yīng)性像素縮小3倍的零件測試圖像,以此驗(yàn)證改進(jìn)SSD算法對小目標(biāo)零件的檢測效果。實(shí)驗(yàn)結(jié)果如表6所示。與原SSD算法零件識別效果對比如圖12所示。
表6 適應(yīng)性像素縮小零件檢測準(zhǔn)確率對比
從表6的對比數(shù)據(jù)可得,在優(yōu)化SSD神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)同時(shí)提高對小目標(biāo)零件的識別精度,檢測準(zhǔn)確率綜合提升12.4%。從圖12對比識別效果和表4~表6的實(shí)驗(yàn)數(shù)據(jù)得出,本文Inception-SSD目標(biāo)識別算法相比于原SSD算法有以下幾點(diǎn)提升:
(1)測試集驗(yàn)證中復(fù)雜情況下零件檢測準(zhǔn)確率總體提升11.7%。對于適應(yīng)性像素縮小零件,檢測準(zhǔn)確率綜合提升12.4%。
(2)復(fù)雜情況下,零件堆疊、遮擋誤檢漏檢率降低10.7%。
(3)通過模型得到的坐標(biāo)框更加貼近真實(shí)零件邊緣,減小定位坐標(biāo)和真實(shí)坐標(biāo)之間的誤差,為后續(xù)的研究提供更加精確地定位。
圖12 算法改進(jìn)前后檢測效果對比
本文提出基于Inception-SSD框架的零件深度學(xué)習(xí)識別方法,在SSD網(wǎng)絡(luò)額外層中,插入Inception結(jié)構(gòu),以提高SSD網(wǎng)絡(luò)模型檢測精度而又不影響其檢測速度,并在每個卷積層后使用BN操作,增加算法整體魯棒性,再輔以殘差結(jié)構(gòu)連接,提升算法訓(xùn)練與測試性能;同時(shí)在損失函數(shù)中增加排斥損失,在非極大值抑制中引入加權(quán)算法,提升Inception-SSD算法對模型表達(dá)能力。在訓(xùn)練階段,結(jié)合損失值變化曲線與不同迭代次數(shù)模型進(jìn)行召回率測試,選取最佳零件檢測模型。實(shí)驗(yàn)表明,在非結(jié)構(gòu)性復(fù)雜條件下,本文方法在識別準(zhǔn)確率達(dá)到97.8%,檢測速率41 frame/s,在保障證實(shí)時(shí)檢測的同時(shí)還保證了精度,相比原SSD網(wǎng)絡(luò)效果顯著提升,與其他算法相比優(yōu)勢突出,能夠滿足實(shí)際生產(chǎn)中零件檢測需求。如何進(jìn)一步提高本文方法的泛化能力,增強(qiáng)數(shù)據(jù)集包容性,是本文接下來的研究方向。