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

?

基于改進的SSD深度學(xué)習(xí)算法的雙目視覺紗筒識別定位

2021-07-13 01:58倪奕棋管聲啟管宇燦衛(wèi)艷芳胡璐萍
關(guān)鍵詞:雙目卷積損失

倪奕棋,管聲啟,2,管宇燦,衛(wèi)艷芳,胡璐萍

(1.西安工程大學(xué) 機電工程學(xué)院,陜西 西安 710048;2.紹興市柯橋區(qū)西紡紡織產(chǎn)業(yè)創(chuàng)新研究院,浙江 紹興 312030;3.山西大同大學(xué) 計算機與網(wǎng)絡(luò)工程學(xué)院,山西 大同 037009)

0 引 言

近年來計算機視覺技術(shù)的發(fā)展,為紗筒的自動識別定位提供一種新的思路,高效的視覺識別定位也是機器人實現(xiàn)上紗的關(guān)鍵技術(shù)之一[1]。王紀程等提出了一種ORB+RANSAN特征匹配算法,搭建了雙目視覺模型對工件進行三維重建,消除了誤匹配,實現(xiàn)了工件的識別與定位[2]。任慧娟等通過視覺系統(tǒng)獲取了多目標(biāo)紗筒圖像,基于顏色特征實現(xiàn)了不同顏色紗筒的識別定位與分揀[3]。李毅等利用Kinect V2相機獲取紗筒的圖像和深度信息,通過構(gòu)建二維圖像與三維空間轉(zhuǎn)換的模型,實現(xiàn)了紗筒的三維質(zhì)心定位[4]。傳統(tǒng)的視覺方法對特定的目標(biāo)進行識別定位精度較好,但是都需要手動提取目標(biāo)特征。

隨著深度學(xué)習(xí)技術(shù)的迅速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)在圖像分類、目標(biāo)檢測和語義分割等多個領(lǐng)域都取得了突破性進展[5],為目標(biāo)的識別與定位提供了一種新的思路。金守峰等提出一種基于對抗神經(jīng)網(wǎng)絡(luò)和神經(jīng)網(wǎng)絡(luò)模型的筒子紗抓取方法,利用生成式對抗網(wǎng)絡(luò)(generative adversarial networks ,GAN)擴充筒子紗數(shù)據(jù)集,并利用Faster R-CNN實現(xiàn)了紗筒的識別與定位[6]。歐攀等提出基于Mask RCNN的目標(biāo)識別定位方法,利用改進的Mask RCNN算法對Kinect深度傳感器采集的RGB圖像進行目標(biāo)的識別與分割,并建立二維到三維空間的轉(zhuǎn)換模型,實現(xiàn)目標(biāo)的空間定位[7]。楊長輝等構(gòu)建了基于CNN和采摘機器人的識別定位系統(tǒng),利用YOLO V3目標(biāo)檢測模型和深度圖映射獲取了目標(biāo)和障礙物的三維信息[8]。

雙目視覺與深度學(xué)習(xí)的結(jié)合也取得了相關(guān)的進展。童基均等提出基于深度學(xué)習(xí)的識別與定位方法,利用SSD目標(biāo)檢測算法模型和雙目相機組成的雙目視覺系統(tǒng)實現(xiàn)了運動目標(biāo)的實時識別和定位[9]。董鵬等將一種雙目視覺與YOLO V3相結(jié)合,通過YOLO V3實現(xiàn)海參的識別,利用搭建的雙目視覺系統(tǒng)獲取了海參的三維信息,實現(xiàn)了海參尺寸的自動測量[10]?;谏疃葘W(xué)習(xí)的識別與定位方法模型參數(shù)量較大,且識別的精度和速度還需要進一步提升。

為了提高機器人上紗過程中對于多種顏色紗筒識別定位的準(zhǔn)確率,本文提出了一種基于改進SSD深度學(xué)習(xí)算法的雙目視覺紗筒識別定位方法。在原始SSD深度學(xué)習(xí)算法的基礎(chǔ)上,引入輕量化的MobileNet V3和特征融合模塊,實現(xiàn)了紗筒的識別。然后,利用雙目視覺原理實現(xiàn)紗筒的定位。

1 紗筒識別定位方法

1.1 紗筒識別定位原理

改進的SSD深度學(xué)習(xí)算法的雙目視覺紗筒識別定位過程,如圖1所示。

圖 1 紗筒識別定位Fig.1 Bobbin identification and positioning

首先,對雙目相機進行標(biāo)定,并加載標(biāo)定參數(shù),完成紗筒圖像的采集;其次,將左相機采集的紗筒圖像作為改進SSD深度學(xué)習(xí)算法訓(xùn)練所需要的測試集和驗證集,完成算法的訓(xùn)練和測試;最后,將雙目相機校正后的圖像輸入改進的SSD算法實現(xiàn)紗筒的識別,獲得左右圖像中的紗筒目標(biāo),并通過雙目視覺立體匹配和視差計算,獲得紗筒的深度距離信息,最終實現(xiàn)紗筒的定位。

1.2 紗筒定位方法

單目相機進行紗筒定位時,需保持紗筒與相機的距離一定,定位誤差較大。通過雙目相機可在紗筒識別的基礎(chǔ)上實現(xiàn)紗筒的有效定位。雙目視覺系統(tǒng)[11]采用2個相機平行放置,從不同視角對物體進行觀察,通過左右圖像差異計算紗筒距離,見圖2。

圖 2 雙目視覺成像原理

圖2中,Ol-XlYlZl和Or-XrYrZr分別為左右相機坐標(biāo)系。設(shè)空間一點P(Xc,Yc,Zc)在圖像平面C1和C2上的點分別為pl(xl,yl)和pr(xr,yr)。由于2個相機水平放置,因此yl=yr。由三角形關(guān)系可得

(1)

式中:f為左右相機的焦距;B為2個相機的基線距離。在已知基線B和焦距f的情況下,獲得視差d后,即可計算空間點P到相機的距離Zc,可表示為

(2)

2 紗筒識別算法

2.1 SSD算法

SSD算法是一種高效快速的深度學(xué)習(xí)目標(biāo)檢測算法[12],融合了Faster R-CNN[13]的候選框機制和YOLO[14]的回歸思想。該算法是一種直接預(yù)測圖像中目標(biāo)位置和類別的深度學(xué)習(xí)算法,可以針對不同大小的目標(biāo)進行識別,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

圖 3 SSD網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 SSD network structure

從圖3可知,SSD算法將VGG16[15]作為主干特征提取網(wǎng)絡(luò),其最后2層全連接層改為卷積層Conv6和Conv7,并在主干網(wǎng)絡(luò)之后加入了一系列卷積層。網(wǎng)絡(luò)模型采用了特征圖金字塔的方法,提取了卷積層Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2和Conv11_2的輸出特征圖用于預(yù)測,對應(yīng)的輸出特征圖大小為(38,38)、(19,19)、(10,10)、(5,5)、(3,3)、(1,1)。

每層輸出特征圖會生成多個長寬比不同的默認框,每個默認框會對目標(biāo)的類別和位置參數(shù)進行預(yù)測,第i層特征圖的默認框大小Si可表示為

(3)

SSD算法的綜合性能較好,但是VGG16的參數(shù)量較為龐大,且各個網(wǎng)絡(luò)層之間相互獨立,對網(wǎng)絡(luò)淺層語義信息表達能力不足。

2.2 改進的SSD算法

針對上述問題,本文提出一種改進的SSD算法用于紗筒圖像的識別。首先,將輕量化的MobileNet V3[16]替換VGG16,作為主干特征提取網(wǎng)絡(luò),減少了網(wǎng)絡(luò)模型的參數(shù)量;其次,在網(wǎng)絡(luò)結(jié)構(gòu)中加入了特征融合模塊,增強了網(wǎng)絡(luò)淺層的特征提取能力和上下網(wǎng)絡(luò)層的聯(lián)系,改進后SSD算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。

圖 4 改進SSD網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Improved SSD network structure

圖4中的300×300×3表示輸入大小為300×300,通道數(shù)為3的特征圖。改進SSD深度學(xué)習(xí)算法的主干網(wǎng)絡(luò)由2個普通卷積層Conv和多個Bneck結(jié)構(gòu)組成,并且移除了MobileNet V3中最后的平均池化層和1×1的卷積層。主干網(wǎng)絡(luò)后面添加了多個卷積層進行特征提取,其中卷積層Conv9、Conv10_2、Conv11_2和Conv12_2的輸出特征用于算法的預(yù)測。

MobileNet V3網(wǎng)絡(luò)中的Bottleneck(簡稱Bneck)綜合了MobileNet V1[17]的深度可分離卷積和MobileNet V2[18]的逆殘差結(jié)構(gòu),并且加入了輕量級注意力SE模塊[19],該模塊能夠建立通道之間的聯(lián)系,提升網(wǎng)絡(luò)性能。Bneck結(jié)構(gòu)如圖5所示。

圖 5 Bneck結(jié)構(gòu)圖Fig.5 Bneck structure diagram

圖5中的Conv1×1表示大小為1×1的普通卷積,DW Conv3×3表示3×3深度可分離卷積,右側(cè)分支為SE注意力模塊,左側(cè)分支為逆殘差結(jié)構(gòu)。Bneck結(jié)構(gòu)可以提升網(wǎng)絡(luò)結(jié)構(gòu)的深度,增強網(wǎng)絡(luò)的特征提取能力,并且防止梯度爆炸現(xiàn)象的產(chǎn)生。

H-swish激活函數(shù)的非線性在保證模型精度的同時,提高了模型運行的速度,MobileNet V3引入H-swish激活函數(shù),可表示為

(4)

式中:g(x)為Relu6激活函數(shù),且g(x)=min(6,max(0,x))。

改進的SSD算法從Bneck4_3和Bneck6_3提取輸出特征圖進行預(yù)測,相比VGG16中的Conv4_3,所處的網(wǎng)絡(luò)層較淺,為了充分利用上下文信息,本文提出了特征融合模塊,如圖6所示。

圖6中,特征融合模塊將Bneck4_3和Bneck6_3的輸出特征分別與淺層和深層的輸出特征進行融合,增強了淺層網(wǎng)絡(luò)的特征提取能力。為了實現(xiàn)不同尺度特征圖的融合,淺層網(wǎng)絡(luò)經(jīng)過1×1卷積、3×3卷積、BN層和Relu激活函數(shù);深層網(wǎng)絡(luò)經(jīng)過1×1卷積、BN層、Relu激活函數(shù)和上采樣,從而保證淺層和深層的特征大小與Bneck4_3和Bneck6_3一致,以便將三層特征圖的輸出進行拼接融合操作。為了保證輸出的特征具有可分辨性,拼接融合后的輸出經(jīng)過3×3卷積、BN層和Relu激活函數(shù),消除了冗余的信息,為網(wǎng)絡(luò)模型引入了一定的非線性屬性。特征融合模塊的輸出結(jié)果用于算法的預(yù)測。

圖 6 特征融合模塊結(jié)構(gòu)圖Fig.6 Feature fusion module structure diagram

2.3 損失函數(shù)

改進的SSD算法需要對紗筒的位置和顏色種類進行回歸,通過損失函數(shù)計算預(yù)測值和真實值之間的誤差。損失函數(shù)包括位置損失和置信度損失,可表示為

L(x,c,l,g)=1/N(Lconf(x,c)+

αLloc(x,l,g))

(5)

式中:x為真實框和預(yù)測框是否匹配,x∈{0,1};c為分類置信度;α為位置和置信度損失的平衡系數(shù),默認為1;l為預(yù)測框位置;g為真實框位置;N為正樣本的數(shù)量;Lloc為位置損失;Lconf為置信度損失。

3 結(jié)果與分析

3.1 實驗環(huán)境與數(shù)據(jù)集

實驗平臺的配置:內(nèi)存為16 GB,GPU型號為NVIDIA GeForce RTX2060,CPU型號為Intel i7-9700HQ,操作系統(tǒng)為Windows 10,采用Pytorch深度學(xué)習(xí)框架和Python編程語言。

數(shù)據(jù)集來源于人工采集,利用雙目相機采集9種不同顏色的紗筒圖像共6 000張。為了避免模型發(fā)生過擬合,對左相機采集的3 000張圖像進行翻轉(zhuǎn)、旋轉(zhuǎn)、裁剪、色域變換等數(shù)據(jù)增強方法,擴充后數(shù)據(jù)集包含6 000張紗筒圖像,將其中4 800張圖像作為訓(xùn)練集,剩余的1 200張圖像作為測試集。

3.2 改進SSD算法模型訓(xùn)練策略及評價指標(biāo)

本文改進SSD算法的訓(xùn)練迭代輪次設(shè)置為200,每一輪次需要迭代300次才能將訓(xùn)練數(shù)據(jù)全部訓(xùn)練完成,因此,訓(xùn)練過程總共迭代了60 000次。前30 000次的學(xué)習(xí)率設(shè)為0.000 1,后30 000萬次的學(xué)習(xí)率設(shè)為0.00 001。動量因子表示訓(xùn)練時損失函數(shù)的值下降的趨勢,設(shè)為0.9,圖像批處理大小設(shè)置為16。

本文實驗采用平均精度[20]作為算法識別精度的評價指標(biāo)。本文算法中精度表示識別每種顏色紗筒的準(zhǔn)確率,精度PA表示為

(6)

式中:P表示精確率;R表示召回率。

平均精度可表示為

(7)

式中:N表示數(shù)據(jù)集中紗筒顏色總的類別個數(shù)。

算法的識別速度采用FPS進行評估,即算法每秒鐘識別圖片的數(shù)量。

3.3 紗筒識別結(jié)果與分析

3.3.1 改進SSD算法性能分析 改進SSD算法的訓(xùn)練損失函數(shù)曲線如圖7(a)所示,并且為了驗證改進SSD算法的收斂速度和收斂的穩(wěn)定性,將改進的SSD算法與SSD、Faster R-CNN和DSSD 3種算法的損失函數(shù)曲線進行對比。為了更加清晰地對比收斂效果,這里選取每一輪次的總損失值作為對比數(shù)據(jù),只選取了前100輪次的訓(xùn)練損失變化,后100輪次的損失值都在一個小范圍內(nèi)震蕩,因此不進行對比,如圖7(b)所示。

(a) 改進SSD算法的訓(xùn)練損失函數(shù)曲線

(b) 不同算法的損失函數(shù)曲線對比圖 7 損失函數(shù)變化曲線Fig.7 Loss function curve

訓(xùn)練過程中的損失函數(shù)通過式(5)進行計算,包括位置損失函數(shù)、置信度損失函數(shù)和總損失函數(shù),由圖7(a)損失值的變換曲線可知,經(jīng)過不斷的迭代,前10 000次迭代的損失值迅速減小直至穩(wěn)定,后面的訓(xùn)練過程中,損失值在小范圍內(nèi)發(fā)生震蕩,算法達到了收斂[21]。由圖7(b)4種算法的損失函數(shù)變化曲線可知,4種算法進行訓(xùn)練時,最終都達到了收斂,但是改進后的SSD算法相對于其他3種算法而言,損失函數(shù)曲線更加平滑,算法的收斂速度更快,損失值震蕩的范圍和損失值也更小。由此可見,改進的SSD算法在保證收斂性能的同時,具有較好的魯棒性。為了驗證算法的綜合性能,分別在測試集中對4種算法進行測試,統(tǒng)計的識別結(jié)果如表1所示。

表 1 紗筒數(shù)據(jù)集的算法實驗結(jié)果

從表1可知, 改進SSD算法的PmA為94.6%,相比于Faster R-CNN、SSD和DSSD分別提升了5.3%、6.2%和2.8%。從算法的網(wǎng)絡(luò)模型大小來看,前3種算法的網(wǎng)絡(luò)模型較大,而改進SSD算法的網(wǎng)絡(luò)模型大小有大幅度降低,可以布置在嵌入式平臺上運行。從識別速度來看,本文算法的每秒傳輸幀數(shù)相比于其他3種算法,均有所提升,達到了52.3,可以滿足實時識別的要求。改進的SSD算法在保證識別精度的情況下,減少了網(wǎng)絡(luò)模型大小,提升了識別的速度。

3.3.2 改進SSD算法識別效果 本文采集的紗筒圖像數(shù)據(jù)集總共包括9種顏色,分別是紅色、黃色、藍色、綠色、白色、黑色、杏色、棕色、銀色。隨機選取部分紗筒圖像進行識別結(jié)果的驗證,如圖8所示。

(a) 單一顏色

(b) 少量顏色混合

(c) 多種顏色混合圖 8 紗筒數(shù)據(jù)集部分識別結(jié)果Fig.8 Partial recognition result of bobbin data set

由圖8可以看出,改進的SSD算法針對單一顏色、少量顏色混合和多種顏色混合狀態(tài)下的紗筒,均具有較好的識別準(zhǔn)確度。改進的SSD算法對于顏色區(qū)分度不明顯的黃色紗筒和杏色紗筒、白色紗筒和銀色紗筒,還有和背景具有較大相似度的黑色紗筒,都能夠準(zhǔn)確識別,算法的魯棒性較好。改進的SSD算法通過替換主干特征提取網(wǎng)絡(luò)減少了網(wǎng)絡(luò)模型的參數(shù)量,保證識別準(zhǔn)確度的同時提升了識別速度。特征融合模塊可以增強網(wǎng)絡(luò)淺層的特征提取能力,對顏色的敏感度較強,提取多種紗筒顏色特征的能力較強。

3.4 雙目視覺的紗筒定位分析

利用改進的SSD算法對雙目相機校正后的紗筒圖像進行識別,通過雙目視覺技術(shù)完成紗筒在三維空間中距離的測定。為了驗證本文雙目視覺的方法在不同距離的情況下,紗筒的定位效果,實驗過程中,調(diào)整相機與紗筒的距離,每隔100 mm進行一次測試,選取5次測試結(jié)果的平均值,并進行誤差計算。實驗結(jié)果如表2所示。

表 2 深度測試距離與實際距離的比較

從表2可知,本文方法的最大誤差為2.78%,最小誤差為0.6%,平均誤差為1.63%,利用雙目視覺進行紗筒的定位,對于紗筒在三維空間中的距離測定準(zhǔn)確率較高,定位誤差較小,為后續(xù)機器人上紗提供基礎(chǔ)技術(shù)支持。

同時,在紗筒識別的基礎(chǔ)上實現(xiàn)了對紗筒的定位,通過深度學(xué)習(xí)的方法可以有效提取紗筒的特征,識別出目標(biāo)紗筒在圖像中的位置和類別信息。利用雙目視覺定位方法分別在改進的SSD算法、SSD、Faster R-CNN和DSSD 4種算法識別紗筒的基礎(chǔ)上,發(fā)現(xiàn)紗筒定位誤差分別為1.63%、2.24%、2.07%和1.88%。相比于其他3種算法,改進的SSD算法的定位誤差最小。

4 結(jié) 語

本文利用改進SSD深度學(xué)習(xí)算法和雙目視覺技術(shù),實現(xiàn)了紗筒的自動識別定位。改進后的SSD算法將輕量級的MobileNet V3作為主干特征提取網(wǎng)絡(luò),并加入特征融合模塊,不僅減少了網(wǎng)絡(luò)的參數(shù)量,同時對圖像具有較好的特征提取能力。改進后的SSD算法具有更快的收斂速度,識別的平均精度達到了94.6%,識別的每秒傳輸幀數(shù)達到52.3。通過雙目視覺原理獲取紗筒圖像目標(biāo)在世界坐標(biāo)系下的深度距離信息,最終實現(xiàn)了紗筒的定位,定位平均誤差為1.63%。本文的方法可以提高多顏色紗筒識別定位的準(zhǔn)確率,下一步需要對不同形狀尺寸的紗筒和堆疊遮擋狀態(tài)下的紗筒識別定位問題進行研究。

猜你喜歡
雙目卷積損失
洪澇造成孟加拉損失25.4萬噸大米
基于全卷積神經(jīng)網(wǎng)絡(luò)的豬背膘厚快速準(zhǔn)確測定
采用雙目視覺和自適應(yīng)Kalman濾波的作物行識別與跟蹤
霜 降 蘇美玲
基于雙目視覺的機器人定位與導(dǎo)航算法
一種基于卷積神經(jīng)網(wǎng)絡(luò)的地磁基準(zhǔn)圖構(gòu)建方法
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
一種并行不對稱空洞卷積模塊①
機械手的雙目視覺定位抓取研究
兩敗俱傷