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

基于Inception-SSD算法的零件識別

2020-09-05 12:03:56余永維杜柳青
光學精密工程 2020年8期
關鍵詞:特征檢測模型

余永維,韓 鑫,杜柳青

(重慶理工大學 機械工程學院,重慶 400054)

1 引 言

零件識別和定位是柔性裝配機器人視覺任務中的重要組成部分。傳統圖像識別方法主要采用人工設計特征,例如SIFT(Scale-Invariant Feature Transform)特征[1]、LBP(Local Binary Pattern)特征[2]、HOG(Histogram of Oriented Gradient)特征[3]等,傳統人工特征方法效率低下,對特征多樣性變化缺乏魯棒性,已經不能夠滿足現代工業檢測需求。

近年來,深度學習方法在自然圖像檢測方面表現出優越性能[4],深度卷積神經網絡能夠完善分類器模型并自主訓練提取目標特征,訓練后得到的特征泛化性遠高于人工提取特征。目前基于卷積神經網絡的目標檢測算法主要有兩種,一種是基于區域的目標檢測算法,如Faster-RCNN(Regions with Convolutional Neural Networks)[5],Mask-RCNN[6]等,該類算法檢測精度高,但檢測速度慢,不能實現實時檢測;另一種是基于回歸的目標檢測算法,如YOLO(You Only Look Once)[7],SSD(Single shot MultiBox Detector)[8]等,該類算法檢測速度快,可以達到實時檢測的要求,將卷積神經網絡應用于圖像檢測領域的研究中,國內學者做了大量的工作:張博等[9]提出了一種基于Mask R-CNN算法的多目標圖像ORB除誤匹配方法,該方法主要用到區域神經網絡提取目標類別信息并生成標簽,然后通過各個卷積層進行像素矯正,該方法相對于傳統方法目標匹配精度提高了18.6%。方明等[10]提出了一種基于改進YOLO算法的安全帽佩戴情況檢測方法,利用卷積神經網絡由淺至深的語義信息提取并配合MobileNet輕量化模型,在保證檢測精度的同時有效的提高了檢測速度并減小了參數數量。王中宇等[11]將卷積神經網絡運用到自動駕駛場景語義分割中,提出一種融合了圖像底層像素信息、通道與空間信息的語義分割網絡,該方法能夠更加精細的分割目標,有效提高了均交比和均像素精度等關鍵指標。

本文的研究主要針對裝配零件的檢測,傳統的目標檢測方法對零件檢測環境要求極高,且不能兼顧目標識別精度和檢測實時性,故本文引入了深度學習方法到目標零件檢測中,綜合比較目前的主流目標識別方法優缺點,選取了SSD作為基礎算法。但SSD算法在復雜工況下檢測精度稍有遜色,為了克服這一缺陷,提出一種基于Inception-SSD框架的零件深度學習識別方法,建立了融合Inception預測結構的SSD優化框架Inception-SSD,在SSD額外層中引入Inception結構,以增加神經網絡寬度和對不同尺度特征適應性,實現不同尺度特征融合,優化模型對復雜環境的適應性,提高復雜環境下的檢測精度,同時對其損失函數和非極大值抑制進行優化,以克服模型表達能力不足的缺點。

2 SSD算法原理

SSD算法以VGG16為基礎網絡,其模型結構如圖1所示,輸入圖片的尺寸需要轉化成300×300,再將其輸入進SSD網絡中;SSD是以VGG-16卷積神經網絡為基礎,將VGG-16中的全連接層(fc6和fc7)改成卷積層(conv_fc6與conv_fc7),并在后面增加不同大小的卷積層用于對多尺度目標的預測,如圖1所示。VGG-16網絡后面新增的幾個卷積層conv_fc7,conv8_2,conv9_2,conv10_2,conv11_2,加上VGG-16網絡的conv4_3,SSD網絡有著不同的層次的特征圖,分別用于不同尺度目標的邊框偏移與類別預測。最后通過非極大值抑制(Non-Maximum Suppression, NMS)得到最終的檢測結果。

SSD采取了全卷積直接回歸預測的方式,不再產生區域候選框,極大地提升了SSD網絡的檢測速度。但SSD算法面對工業中一些視覺干擾、表面特征相似、零件堆疊等復雜情況時,有時也會發生漏檢和誤檢,而在實際的工廠生產環境中,以上的復雜情況往往不可避免。

圖1 SSD網絡結構Fig.1 SSD network structure

3 基于深度學習模型Inception-SSD的零件識別方法

在SSD算法網絡額外層尺寸較小,包含小目標信息有限,且額外層只有一種類型卷積內核,即3×3內核,存在目標細節特征遺漏的情況。同時SSD算法網絡具有復雜的神經網絡模型結構,想要提升其網絡性能,一般采取的方法是增加網絡寬度與深度。然而,這將導致網絡參數數量增加,進而造成計算量增加和過度擬合的問題。為此,本文提出Inception-SSD網絡結構,通過將Inception預測結構融入到SSD網絡額外層中,從而拓寬卷積神經網絡寬度,以此提升算法性能。

Inception結構具有密集矩陣的高性能特點,同時還保持著網絡稀疏結構,Inception模塊原始結構圖如圖2所示,其結構中使用了3個尺寸不同的濾波器(1×1,3×3,5×5),目的在于降低卷積運算過程的算力成本,解決計算量增加的問題。 GoogLeNet Inception-V1[12]證明,解決參數增加引起的計算量增加和過度擬合問題,基本方法是將完整連接層中至少一半的卷積層轉換為稀疏結構。 因此,Inception網絡可以在不增加網絡復雜性情況下,捕獲到更多目標信息。相比Inception-V1,Inception-V2和Inception-V3[13]增加了準確度和簡化計算復雜度的優化,提出了更加優越的因子分解方法,將濾波器5×5拆分為兩個3×3,使卷積運算更加高效。Inception-V4[14]則引入了縮減模塊到結構中,以改變網格高度與寬度,并輔以殘差結構連接,將縮減模塊的性能發揮到最大,解決了梯度彌散的問題。

圖2 Inception原始結構圖Fig.2 Inception original structure diagram

綜合考慮到Inception-V1到V4的變化,在SSD網絡的改進過程中,為了能夠保留更多目標的原始細節特征,對Inception網絡結構進行適應性優化,首先將5×5的卷積核替換成兩個3×3的卷積核,以提升計算速度,同時減少Inception網絡中每層特征圖數量,保持特征圖總和與原SSD網絡額外層特征圖總數相同。為了能夠反映本文引入的Inception網絡結構不同尺度卷積核的重要性,對結構中現存的兩種卷積核1×1和3×3附以加權,比值為1∶2,然后在每個卷積層之后都使用批量標準化操作(Batch Normalization,BN),以增加算法的整體魯棒性。在靠近輸出端添加1×1Conv來降低參數數量,加快計算速度。最后將整個結構輔以殘差結構連接,綜合提升算法的訓練與測試性能。圖3為優化后的Inception網絡結構。

圖3 優化后的Inception網絡結構Fig.3 Improved Inception network structure

用Inception網絡替換SSD原結構中的Conv8,Conv9,Conv10和Conv11層,即它們中每一層都被獨立的卷積組代替。將Conv4_3,Conv6_2,Conv7_2,Conv8_2 ,Conv9_2 和Conv10_2作為特征提取層來提取目標特征,并將Conv6和Conv7的輸出作為Inception特征層的輸入。

基于深度學習模型Inception-SSD的零件識別原理如圖4所示,在目標檢測階段,首先將圖片尺寸調整為300×300,然后輸入改進SSD網絡,先通過VGG16 conv5_3特征提取網絡,輸出大小為38×38尺度的特征圖,在經過兩個conv3×3特征提取網絡,分別輸出19×19和10×10尺度的特征圖,然后進入Inception特征提取網絡,得到尺度為3×3,1×1的特征圖,各種尺度的特征圖分別通過BN、激活層等系列操作,分別實現對輸入圖片進行5種尺度的特征檢測。輸出特征圖包含了位置信息、網格單元的置信度、類別信息的三類信息。然后將得到的特征圖集合得到8 732個候選框(default box),最后通過非極大值抑制,輸出最終檢測結果。Inception-SSD采用全卷積方式,其感受野為整幅圖像,還需要對每個感受野做分類,對于不同尺度、形狀的目標物體,Inception-SSD將對其類別與位置信息直接進行回歸預測,并將其分散于不同特征層來實現,從而提升了網絡整體檢測精度與速度,通過Inception稀疏結構來感知更多小尺度特征圖,在優化神經網絡的同時提高對小目標零件識別精度。

圖4 Inception-SSD識別原理Fig.4 Identification principle of Inception-SSD

4 模型優化

4.1 SSD損失函數優化

根據SSD算法檢測目標位置和類別的回歸原理,其目標函數為置信度損失(conf)和位置損失(loc)的加權和,具體表達式如下:

(1)

其中:N表示與真實目標框相匹配的默認框數量,如果N=0,則總體損失值為0;c表示預測框置信度,l表示預測框位置信息;g是真實框位置信息;α是一個權重參數,經過交叉驗證將其設為1;位置損失函數采用了Smooth L1函數;類別置信損失函數采用交叉熵損失函數。

針對SSD模型對堆疊零件檢測效果不佳的問題,在原始損失函數基礎上增加排斥損失[15],以提高對遮擋情況下零件的檢測準確率,改進后的損失函數如下:

L=L(x,c,l,g)+γLRePGT.

(2)

假設G+= {G}表示所有真實目標框的集合,P+={P}表示與真實目標框匹配且IoU>0.5的候選區域框集合,對于候選框P(P∈P+)而言,指定一個IoU值最大的目標框作為真實目標,如式(3):

(3)

對于P∈P+而言,因為排斥損失,指定目標之外的相鄰真實目標框與區域候選框產生排斥,排斥目標即為除其本身之外與其IoU值最大的真實目標:

(4)

(5)

因此排斥損失計算如下:

(6)

4.2 SSD非極大值加權優化

SSD算法基于前饋卷積神經網絡,最后再通過非極大值抑制得到最終檢測結果。當IoU值高于閾值時,邊界框(bounding box)就會被識別為相同目標。設B表示邊界框集,Ci表示第i個邊界框置信度,則非極大值抑制可表示如下:

box=BargmaxCi,

(7)

(8)

其中,box表示具有最高置信度的邊界框,這些邊界框將被作為最終輸出。然而,非極大值檢測結果可能會包含特征的最大值,因此直接調用非極大值抑制結果是不合適的。假設所有邊界框都來自于同一個對象,如果只考慮最大值結果,就會忽略掉通過保持邊界框最高置信度來充分利用對象信息的問題。針對以上問題,在原來非極大值抑制的基礎上進行加權,稱之為非極大值加權(Non-Maximum Suppression Weighting, NMW):

(9)

wi=Ci×iou(Bi,BargmaxCi),

(10)

(11)

5 實驗與分析

5.1 零件數據集

卷積神經網絡模型往往需要在大量數據集基礎上訓練,然后對權重進行相應優化得到效果穩定的最終模型。目前,目標識別領域研究主要采用的數據集有ImageNet[16],MS COCO[17]以及PASCAL VOC[18]等。以上數據集都取自我們日常生活中的常見物體,而本文研究面向工業柔性裝配機器人視覺系統實際應用,對待裝配零件進行識別,因此本文選用工業相機對所需檢測零件進行自主拍攝,并對每張拍攝圖片進行手工標注,完成零部件數據集制作工作,為后期模型訓練做準備。

為了驗證本文提出的Inception-SSD深度學習識別模型是否有效,在數據集制作上,本文針對性的選擇了如圖5所示的5類零件用于測試Inception-SSD的檢測效果,并拍攝了5 000張零件圖作為數據集,其中隨機選擇4 000張圖片用于訓練模型,剩下1 000張圖片作為測試集。

圖5 5類模型訓練零件圖Fig.5 Five types of parts for model training

為了能夠呈現直觀的識別效果,在數據集制作過程中對不同零件標注了相應英文單詞。如圖5所示,Bolt表示M8鍍鋅十字大扁頭螺釘、Nut1表示M10尼龍防松螺母、Nut2表示M8鍍鎳滾花大頭螺母、Capnut1表示M8鍍鋅螺帽、Capnut2表示M6鍍鋅蓋型螺帽。為了保證實驗結果可靠性,在數據集制作過程中,通過改變光照強度、變換相機拍攝位姿、變換零件位姿、模擬零件堆疊的方式來保證數據集更加貼近實際生產環境。

對于數據集標注工作,在Ubuntu16.04下,使用軟件LabelImg對每張零件圖進行位置信息和類別信息標注,每標注一張圖片就會生成相應xml信息文件,對于標記完之后的圖片進行微調,生成xml文件分別保存,根據xml文件提取出每種零件所包含的訓練集與測試集圖片數量分配情況及圖片尺寸信息,如表1所示。

表1 零件數據集圖像樣本分布

5.2 模型訓練方法

Inception-SSD模型的訓練主要分為預訓練和微調兩個階段,預訓練階段會在caffe框架中以自制零件圖數據集為基礎訓練得到一個SSD模型,然后用該模型來初始化Inception-SSD網絡,得到Inception-SSD模型相關初始化參數,微調階段則注重根據自制零件圖數據集對相關權重進行微調,最后用測試集數據驗證Inception-SSD模型的檢測精度與實時性。

本實驗Inception-SSD模型訓練是基于Linux操作系統,訓練環境為Ubuntu16.04,訓練之前進行相關重要參數修改,如表2所示。

表2 相關訓練參數

表2中,Weight-decay表示權重衰減系數,將每次學習后的參數按照固定比例降低,以防止出現過擬合現象;Momentum表示動量參數,對梯度下降到最優過程的速度有一定影響;Base_lr表示基礎學習率,決定權值更新速度;batch_size表示每批次訓練樣本量大小;Max_iter表示最大迭代次數。本次模型訓練實驗設置總迭代次數為50 000次,最大迭代次數為60 000次,訓練完成后得到的訓練過程中損失值變化曲線如圖6所示。

圖6 損失值變化曲線Fig.6 Loss value curve

從圖6可以看出,當訓練次數達到10 000次以后,損失值開始趨于平穩,考慮到深度神經網絡迭代次數過多會出現過擬合情況,故在訓練文件中做了相應修改,使得在訓練過程中每迭代5 000次就保存一次SSD訓練模型。而后隨機選擇500張測試圖片,根據文獻[19]的方法,選擇迭代5 000次到50 000次之間的SSD模型,用召回率進行測試,召回率Recall計算公式如下:

Recall=TP/(TP+FN),

(12)

在所有標簽為正例的樣本中,式中TP表示零件正確預測數,FN表示零件錯誤預測數,測試結果如表3所示。

表3 迭代次數與召回率

根據表中數據可知,SSD網絡最優迭代次數為15 000次。故選擇15 000次迭代的SSD模型作為零件檢測最終模型。

5.3 零件檢測實驗

(1)單類零件檢測實驗

由圖7和圖8可以看出單類零件檢測效果,本文提出的Inception-SSD算法在零件堆疊、遮擋和視覺干擾的情況下檢測效果較好。

(2)多類零件檢測實驗

在零件檢測效果測試中,本文特意模擬了實際生產中,工作臺多類零件堆疊遮擋、零件裝配、無關雜物干擾、變換相機位姿等復雜情況下,測試效果如圖9~圖11所示,檢測準確率達到97%以上,能夠滿足實際生產環境對零件的檢測要求。

為了對比Inception-SSD算法與其他目標檢測算法的檢測效果,引入測試集圖片進行驗證,檢測對比數據如表4所示,數據對比結果表明:正常情況下,各個算法檢測平均準確率相差不大;復雜情況下,本文方法檢測平均準確率達到97.8%,相比原SSD算法提升11.7%,相比YOLO算法提升10.4%,相比Faster R-CNN,檢測速率遙遙領先達到41 Frame/s,可實現實時檢測。綜上述,Inception-SSD算法在提高復雜情況檢測精度同時還保證了實時性,對復雜情況下的零件識別效果顯著。

圖7 單類零件檢測效果Fig.7 Detection effect of single type part

圖8 正常光照、過量曝光和光線不足檢測效果Fig.8 Detection effect of normal , overexposure and underexposure

圖9 多類零件混雜堆疊擺放和裝配狀態下檢測效果Fig.9 Detection effect of multi-class parts in hybrid stacking and assembling state

圖10 無關雜物干擾檢測效果Fig.10 Detection effect of irrelevant interference

圖11 過量曝光和變換相機角度檢測效果Fig.11 Detection effect of overexposure and change camera angle

表4 本文Inception-SSD與其他算法檢測效果對比

根據實際情況,多種零件相互堆疊最貼近生產實際,故分別隨機采取了200張正常和復雜情況下多種零件堆疊測試圖片,用于測試本文的Inception-SSD算法和原SSD算法檢測性能,檢測結果如表5所示。

表5 復雜工況下誤檢數據對比

從表5中對比數據可以看出,Inception-SSD算法性能相比原SSD算法有較大提升。在實際生產中,由于相距變大或較大雜物干擾情況下,零件會在成像平面呈現適應性像素縮小的狀況,對此特意增加了100張適應性像素縮小3倍的零件測試圖像,以此驗證改進SSD算法對小目標零件的檢測效果。實驗結果如表6所示。與原SSD算法零件識別效果對比如圖12所示。

表6 適應性像素縮小零件檢測準確率對比

從表6的對比數據可得,在優化SSD神經網絡結構同時提高對小目標零件的識別精度,檢測準確率綜合提升12.4%。從圖12對比識別效果和表4~表6的實驗數據得出,本文Inception-SSD目標識別算法相比于原SSD算法有以下幾點提升:

(1)測試集驗證中復雜情況下零件檢測準確率總體提升11.7%。對于適應性像素縮小零件,檢測準確率綜合提升12.4%。

(2)復雜情況下,零件堆疊、遮擋誤檢漏檢率降低10.7%。

(3)通過模型得到的坐標框更加貼近真實零件邊緣,減小定位坐標和真實坐標之間的誤差,為后續的研究提供更加精確地定位。

圖12 算法改進前后檢測效果對比

6 結 論

本文提出基于Inception-SSD框架的零件深度學習識別方法,在SSD網絡額外層中,插入Inception結構,以提高SSD網絡模型檢測精度而又不影響其檢測速度,并在每個卷積層后使用BN操作,增加算法整體魯棒性,再輔以殘差結構連接,提升算法訓練與測試性能;同時在損失函數中增加排斥損失,在非極大值抑制中引入加權算法,提升Inception-SSD算法對模型表達能力。在訓練階段,結合損失值變化曲線與不同迭代次數模型進行召回率測試,選取最佳零件檢測模型。實驗表明,在非結構性復雜條件下,本文方法在識別準確率達到97.8%,檢測速率41 frame/s,在保障證實時檢測的同時還保證了精度,相比原SSD網絡效果顯著提升,與其他算法相比優勢突出,能夠滿足實際生產中零件檢測需求。如何進一步提高本文方法的泛化能力,增強數據集包容性,是本文接下來的研究方向。

猜你喜歡
特征檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
3D打印中的模型分割與打包
主站蜘蛛池模板: 色婷婷亚洲综合五月| 国产精品3p视频| 欧美专区日韩专区| 色婷婷成人网| 91久久大香线蕉| 欧美性色综合网| 91精品啪在线观看国产91九色| 欧美日韩成人在线观看| 国产一级无码不卡视频| 免费 国产 无码久久久| 极品性荡少妇一区二区色欲| 日韩欧美在线观看| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久一日本道色综合久久| 免费观看精品视频999| 国产综合欧美| 婷婷亚洲最大| 亚洲av日韩av制服丝袜| 九九线精品视频在线观看| 国产综合精品日本亚洲777| 久久99热这里只有精品免费看| 日本欧美精品| 91视频区| 亚洲91在线精品| 91青青草视频| 国产人妖视频一区在线观看| 亚洲国产成人综合精品2020| 在线看片中文字幕| 国产91高跟丝袜| 国产精品蜜臀| 亚洲综合婷婷激情| 狠狠v日韩v欧美v| 欧美一级高清片欧美国产欧美| 亚洲成a人片| 国产靠逼视频| 亚洲第一成年免费网站| 亚洲色图另类| 国产麻豆aⅴ精品无码| 在线另类稀缺国产呦| 国产一区二区影院| 亚洲第一精品福利| 国产微拍精品| 澳门av无码| 国产一级无码不卡视频| 国产日本一区二区三区| 不卡的在线视频免费观看| 99精品热视频这里只有精品7| 香蕉久久国产超碰青草| 91毛片网| 亚洲成人免费看| 99久久精品免费看国产免费软件| 成人免费视频一区| 无码电影在线观看| 亚洲一区无码在线| 免费人成视网站在线不卡| 国产永久免费视频m3u8| 久草青青在线视频| 亚洲男人天堂2018| 中文字幕日韩久久综合影院| 国内精自视频品线一二区| www精品久久| 免费全部高H视频无码无遮掩| 精品一區二區久久久久久久網站| 自拍欧美亚洲| 亚洲视屏在线观看| 无码丝袜人妻| 无码精品国产VA在线观看DVD| 欧美一区精品| 在线观看国产网址你懂的| 日韩精品久久无码中文字幕色欲| 国产精品香蕉在线| 亚洲国产天堂久久综合| 亚洲国产系列| 亚洲Av综合日韩精品久久久| 伊人久久影视| 高清无码一本到东京热| 国产精品片在线观看手机版| 亚洲最猛黑人xxxx黑人猛交| 91在线日韩在线播放| 国产精品女熟高潮视频| 免费A级毛片无码无遮挡| 中文字幕 日韩 欧美|