張 安,黃建龍,周詩(shī)洋,伍世虔*
(1.武漢科技大學(xué) 機(jī)械自動(dòng)化學(xué)院,武漢 430081;2.武漢科技大學(xué) 機(jī)器人與智能系統(tǒng)研究院,武漢 430081)
隨著工業(yè)4.0時(shí)代到來(lái),工業(yè)檢測(cè)領(lǐng)域開(kāi)始引入自動(dòng)化檢測(cè)技術(shù),人工智能的出現(xiàn)也大大提高了工業(yè)的生產(chǎn)效率。濾光片是過(guò)濾光線的光學(xué)器件,濾光片一般被膠粘在塑料鏡座上,作為濾光片組件應(yīng)用在鏡頭模組內(nèi),但是在濾光片組件批量生產(chǎn)過(guò)程中,有部分產(chǎn)品會(huì)出現(xiàn)加工缺陷,比如鏡座壓傷、鏡座破損、溢膠、崩邊等,這些有硬性缺陷的濾光片組件無(wú)法應(yīng)用到鏡頭內(nèi)。當(dāng)前國(guó)內(nèi)部分制造業(yè)都是雇傭大量年輕工人通過(guò)顯微鏡的輔助進(jìn)行微小光學(xué)器件的不良篩查,工人在機(jī)械化的篩查工作中容易疲勞,工作效率低下,而且容易漏檢,長(zhǎng)期低頭工作也會(huì)導(dǎo)致部分工人的頸椎受損。
機(jī)器視覺(jué)行業(yè)的興起對(duì)制造業(yè)的發(fā)展有了一定的推動(dòng)作用。為實(shí)現(xiàn)了不良品的缺陷檢測(cè),DING等人提出基于形態(tài)學(xué)運(yùn)算的圖像相減方法,成功檢測(cè)印刷品缺陷[1]。LIANG等人也提出一種分割和模板匹配的算法,實(shí)現(xiàn)了織物 疵的缺陷檢測(cè)[2]。Li等人[3]針對(duì)工業(yè)制造中沖壓件的缺陷檢測(cè)問(wèn)題,提出了一種基于模板匹配的缺陷檢測(cè)方法,實(shí)現(xiàn)零件表面缺陷的自動(dòng)檢測(cè)。但基于簡(jiǎn)單的圖像空域分析,處理像素級(jí)別的問(wèn)題有局限性,因此馮國(guó)勇利用小波變換的方法對(duì)圖像的時(shí)域和頻域進(jìn)行局部分析,該方法能夠檢測(cè)金屬表面缺陷[4]。但是以上的解決方法都是傳統(tǒng)的圖像處理算法,他們有一個(gè)共同的缺點(diǎn)就是算法的魯棒性低,且沒(méi)有良好的實(shí)時(shí)性。
相比于傳統(tǒng)算法,深度學(xué)習(xí)有多層神經(jīng)元作為特征提取器,展現(xiàn)了卓越的特征提取能力。著名的語(yǔ)義分割全卷積神經(jīng)網(wǎng)絡(luò)[5](Fully Convolutional Networks,F(xiàn)CN)打開(kāi)了分割領(lǐng)域的大門(mén)。FCN主要適用于現(xiàn)實(shí)場(chǎng)景的分割,因此,王森等人[6]在FCN網(wǎng)絡(luò)上進(jìn)行改進(jìn),提出一種Crack FCN模型檢測(cè)道路、鋼材等裂縫缺陷。TABERNIK等人提出一種分割網(wǎng)絡(luò)檢測(cè)表面裂紋圖像,檢測(cè)效果良好,甚至超越了市面上常用的商業(yè)檢測(cè)軟件[7]。YAO等人利用提出的卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了鑄件缺陷的檢測(cè),測(cè)試準(zhǔn)確率可以達(dá)到96%[8]。深度學(xué)習(xí)在工業(yè)缺陷檢測(cè)其他產(chǎn)品領(lǐng)域發(fā)展出了顯著成果,比如輪胎缺陷[9],手機(jī)外殼[10],PCB電路板[11]等。以上深度卷積分割網(wǎng)絡(luò)的結(jié)構(gòu)都很深,所以取得了良好的準(zhǔn)確率,但是網(wǎng)絡(luò)模型的運(yùn)算時(shí)間不盡人意。
當(dāng)前研究者為增強(qiáng)模型的檢測(cè)能力,都在逐步的加深網(wǎng)絡(luò)層級(jí),雖然深層次的卷積神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)更加豐富的特征,但是算法的運(yùn)行時(shí)間也隨著卷積層的加深也在逐步變長(zhǎng)?;诖?,本文提出一種多尺度并行的卷積神經(jīng)網(wǎng)絡(luò)分割算法,該算法能夠像深層次的網(wǎng)絡(luò)一樣提取到圖像的低層語(yǔ)義特征和高層語(yǔ)義特征,最后將兩種特征進(jìn)行融合,這對(duì)鏡座表面缺陷邊緣分割的準(zhǔn)確率有較大改善,同時(shí)運(yùn)行時(shí)間比深層次卷積神經(jīng)網(wǎng)絡(luò)也短。為提高不同尺寸缺陷檢測(cè)準(zhǔn)確率,本文也提出了一種多感受野卷積模塊,該模塊能夠?qū)⒉煌惺芤熬矸e核得到的語(yǔ)義特征進(jìn)行融合,進(jìn)而豐富了特征圖中的不同尺度缺陷的語(yǔ)義特征。
MultiNet是一種高效的并行運(yùn)算的網(wǎng)絡(luò)結(jié)構(gòu)。MultiNet有三條網(wǎng)絡(luò)路徑,第一條路徑輸入的圖像是直接將原圖經(jīng)過(guò)二分之一下采樣處理的400×400×1小尺寸圖像,經(jīng)過(guò)二分之一下采樣后,圖像的細(xì)節(jié)特征減少,然后將下采樣后的小尺寸灰度圖像送入網(wǎng)絡(luò)后,經(jīng)過(guò)多次卷積后獲得一個(gè)100×100×16的特征圖,此時(shí)的特征圖就如同一條很深層次卷積神經(jīng)網(wǎng)絡(luò)提取出來(lái)的高層語(yǔ)義特征圖,因?yàn)榧?xì)節(jié)特征會(huì)隨著卷積層的加深而逐漸消失,所以小尺度圖像被提取出鏡座的高層語(yǔ)義信息,即鏡座的輪廓特征;第二條路徑輸入尺寸為800×800×1的原圖,經(jīng)過(guò)多次卷積后獲得一個(gè)100×100×16的特征圖,此時(shí)的特征圖包含底層語(yǔ)義信息,即包含著鏡座的表面細(xì)節(jié)特征;第三條路徑輸入的圖像尺寸也是800×800×1的原圖,經(jīng)過(guò)多次卷積后獲得一個(gè)100×100×16的特征圖,第三條網(wǎng)絡(luò)結(jié)構(gòu)提取出來(lái)的低層語(yǔ)義信息是對(duì)第二條網(wǎng)絡(luò)提取的特征進(jìn)行低層語(yǔ)義信息加強(qiáng)化,使得鏡座表面的細(xì)節(jié)特征充分被提取,然后將輪廓特征和細(xì)節(jié)特征融合,進(jìn)而有效的提高缺陷檢測(cè)準(zhǔn)確率。其中的3×3的卷積運(yùn)算都有padding填充操作,卷積后的特征圖尺寸大小不變,通過(guò)最大池化進(jìn)行下采樣,特征圖會(huì)縮小一半,MultiNet內(nèi)部包含六個(gè)LightCNN模塊,該模塊為網(wǎng)絡(luò)適當(dāng)?shù)脑黾恿舜罅康膮?shù),使得模型擁有良好的泛化能力,最后將三個(gè)不同的特征圖進(jìn)行通道間的連接操作,通過(guò)UpSampling運(yùn)算進(jìn)行上采樣運(yùn)算,使得特征圖尺寸能夠恢復(fù)到800×800,然后通過(guò)1×1卷積將通道調(diào)整為1,獲得的特征圖為最后的預(yù)測(cè)分割結(jié)果圖。MultiNet網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 MultiNet網(wǎng)絡(luò)結(jié)構(gòu)和特征圖可視化
LightCNN是一種輕量級(jí)的特征提取模塊,首先,LightCNN模塊適當(dāng)?shù)臑榫W(wǎng)絡(luò)增加了大量可學(xué)習(xí)的參數(shù),提升了模型的泛化能力,其次,它由1×1卷積、3×3卷積和5×5卷積組成,卷積核為1和3的卷積核感受野小,能夠提取缺陷的局部和細(xì)節(jié)特征,卷積核為5的卷積擁有大的感受野,能夠提取到缺陷全局特征,隨后將不同感受野得到的特征圖進(jìn)行相加運(yùn)算,這樣融合的方式使得網(wǎng)絡(luò)更加充分的提取不同尺度的缺陷特征。隨后將特征圖經(jīng)過(guò)Batch Normalization(BN)層運(yùn)算,BN將數(shù)據(jù)進(jìn)行歸一化,歸一化可以加快訓(xùn)練速度,這樣我們就可以使用較大的學(xué)習(xí)率來(lái)訓(xùn)練網(wǎng)絡(luò),同時(shí)可以提高網(wǎng)絡(luò)的泛化能力。使用Leaky ReLU激活函數(shù)后,可以是線性輸入變成非線性輸出,增強(qiáng)了模型的擬合能力,而且Leaky ReLU激活還可以解決ReLU的神經(jīng)元死亡問(wèn)題,在負(fù)區(qū)域具有小的正斜率,因此即使對(duì)于負(fù)輸入值,LightCNN模塊也可以進(jìn)行反向傳播。LightCNN多感受野卷積模塊如圖2所示。
圖2 LightCNN多感受野卷積模塊
對(duì)于LightCNN多感受野卷積模塊而言,不同感受野獲取的信息是不一樣的,如圖3所示,1×1卷積的感受野只有一個(gè)像素單元格,3×3卷積的感受野9個(gè)像素單元,5×5卷積的感受野25個(gè)像素單元,大感受野的卷積運(yùn)算得到的計(jì)算結(jié)果具有豐富的全局圖像信息,小感受野的卷積運(yùn)算得到的計(jì)算結(jié)果具有局部圖像信息。對(duì)于LightCNN特征提取模塊,它將小感受野、中感受野、大感受野得到的不同語(yǔ)義信息的特征圖與無(wú)操作的特征圖進(jìn)行元素間相加融合,最終獲得的特征圖具有豐富多樣的語(yǔ)義信息,這有助于提高不同尺寸缺陷的識(shí)別準(zhǔn)確率。
圖3 不同感受野的示意圖
本視覺(jué)檢測(cè)系統(tǒng)主要是由相機(jī)、鏡頭、光源、硬件平臺(tái)組成,相機(jī)選用CCD工業(yè)相機(jī)(Charge Coupled Device Camera),光源采用環(huán)形光源的同軸光,鏡頭采用日本Computer公司研發(fā)的M1614-MP2型號(hào)鏡頭。濾光片組件由濾光片和鏡座組成,濾光片型號(hào)多種多樣,與之對(duì)應(yīng)的鏡座種類也很多,如圖4所示。殘次品的鏡座不能應(yīng)用到鏡頭中鏡座缺陷種類繁多,典型的缺陷包含壓傷、劃傷、崩邊、崩角、裂紋、擦傷等。
圖4 采集的四個(gè)型號(hào)濾光片組件圖像
本實(shí)驗(yàn)的運(yùn)行硬件平臺(tái)是Windows系統(tǒng),GPU型號(hào)為Nvidia GeForce RTX 2060獨(dú)立顯卡,其顯存為6GB;CPU型號(hào)為英特爾Core i5-10200H@2.40GHz四核,其內(nèi)存為16GB。軟件運(yùn)行平臺(tái)為Anaconda3的Pycharm解釋器,在該平臺(tái)下,安裝了python3.6,tensorflow1.13.1,numpy和opencv等第三方庫(kù)支持算法穩(wěn)定運(yùn)行。
本文的訓(xùn)練集包含600張有缺陷的不合格產(chǎn)品圖像和100張無(wú)缺陷的合格產(chǎn)品圖像,網(wǎng)絡(luò)使用Adam優(yōu)化器進(jìn)行網(wǎng)絡(luò)優(yōu)化,二元交叉熵函數(shù)(Binary Crossentropy)作為損失函數(shù),為了訓(xùn)練出泛化能力更好的模型,訓(xùn)練的超參數(shù)設(shè)置為:以0.5的概率隨機(jī)將部分圖像進(jìn)行旋轉(zhuǎn)90°,將學(xué)習(xí)率設(shè)置為0.001,回調(diào)函數(shù)(ReduceLROnPlateau)來(lái)定期衰減學(xué)習(xí)率,Batchsize設(shè)置為4。
2.4.1 模型評(píng)估指數(shù)
TP表示分類真實(shí)值正確的像素個(gè)數(shù),F(xiàn)P表示不是真實(shí)值被誤判為真實(shí)值的像素個(gè)數(shù),F(xiàn)N是真實(shí)值反而被誤判為不是真實(shí)值的像素個(gè)數(shù),TN不是真實(shí)值預(yù)測(cè)為不是真實(shí)值的像素個(gè)數(shù)。
1)交并比(Intersection over Union,IoU):這項(xiàng)指標(biāo)是衡量語(yǔ)義分割結(jié)果好壞的重要指標(biāo),它表示預(yù)測(cè)值和真實(shí)值交集占并集的比例,平均交并比等式為:
2)平衡F分?jǐn)?shù)(F1 Score):
3)查準(zhǔn)率(Precision):表示真正的為缺陷的像素占據(jù)被判定為缺陷像素的比例。
4)查全率(Recall):表示被正確判定為缺陷的像素占據(jù)所有缺陷像素的比例。
2.4.2 不同算法分割性能指標(biāo)的對(duì)比
如表2所示,展示了不同網(wǎng)絡(luò)在測(cè)試集上的IoU、F1 Score、每張的測(cè)試時(shí)間和模型參數(shù)量的對(duì)比,從表格中可以看出本文方法的準(zhǔn)確率和測(cè)試時(shí)間明顯優(yōu)于其他算法,這是由于其他網(wǎng)絡(luò)都是利用單尺度特征做訓(xùn)練數(shù)據(jù),使得部分淺灰度值的特征經(jīng)過(guò)多次卷積而消失,沒(méi)有充分提取到圖像上的細(xì)節(jié)和輪廓特征。而本文方法是以多尺度特征融合為數(shù)據(jù)驅(qū)動(dòng),將不同層次的特征進(jìn)行了有效融合,這有效的提高了分割結(jié)果。
表2 本文方法與其他分割網(wǎng)絡(luò)1300張量產(chǎn)測(cè)試對(duì)比
2.4.3 各個(gè)算法效果圖
圖5第一列是產(chǎn)品整體圖像,第二列是缺陷的局部圖,第三列是人工手工標(biāo)記的標(biāo)簽(ground truth),第四列是FCN的測(cè)試結(jié)果圖,第五列是Unet的測(cè)試結(jié)果圖,第六列Unet-Mobile的測(cè)試結(jié)果圖,第七列是本文方法的測(cè)試結(jié)果圖,相同環(huán)境下,本文方法分割的結(jié)果圖更加接近人工手工標(biāo)記的標(biāo)簽。
圖5 本文方法與其它算法的測(cè)試結(jié)果圖
2.4.4 甄選1300張圖像模擬實(shí)際生產(chǎn)任務(wù)測(cè)試
為模擬算法在實(shí)際成產(chǎn)任務(wù)中的表現(xiàn)效果,挑選出1300張圖像進(jìn)行檢測(cè),其中包含250張不合格圖像,1050張合格圖像,同選取了FCN、Unet、Unet-Mobile三個(gè)網(wǎng)絡(luò)的測(cè)試結(jié)果進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果表示本文提出的方法漏檢率和過(guò)檢率更加符合工業(yè)檢測(cè)標(biāo)準(zhǔn),雖然Unet-Mobile漏檢率表現(xiàn)的跟本文的方法相當(dāng),但是過(guò)檢非常多,無(wú)滿足工業(yè)檢測(cè)要求,如表1所示。
表1 本文方法與其他分割網(wǎng)絡(luò)分割性能指標(biāo)對(duì)比
2.4.5 不同標(biāo)記測(cè)試結(jié)果
考慮到標(biāo)注的便捷性問(wèn)題,本文將人工精準(zhǔn)標(biāo)記的原始標(biāo)簽進(jìn)行不同程度的膨脹處理(Dilate=0、Dilate=3、Dilate=9、Dilate=13),利用不同膨脹系數(shù)的標(biāo)簽圖進(jìn)行了實(shí)驗(yàn),不同膨脹系數(shù)標(biāo)簽效果圖如圖6所示。
圖6 缺陷圖與不同膨脹系數(shù)的標(biāo)簽圖
利用本文方法進(jìn)行多組實(shí)驗(yàn),得出表3的結(jié)果數(shù)據(jù),如表3所示,在Dilate=為9時(shí),網(wǎng)絡(luò)分割的各項(xiàng)評(píng)估指標(biāo)為最佳。經(jīng)過(guò)該實(shí)驗(yàn)得出的結(jié)論是工人在進(jìn)行標(biāo)簽制作時(shí),不需要花費(fèi)大量的時(shí)間很精準(zhǔn)的標(biāo)注缺陷的邊緣位置,而是大致的在缺陷位置進(jìn)行簡(jiǎn)單涂鴉生成標(biāo)簽圖即可,這大大提高了算法使用的便捷性,切換新的產(chǎn)品檢測(cè)時(shí),人工能夠快速制作標(biāo)簽,實(shí)時(shí)性能夠達(dá)到要求。
表3 不同膨脹程度的標(biāo)簽圖的實(shí)驗(yàn)結(jié)果
本文提出一種輕量型多尺度并行的缺陷檢測(cè)網(wǎng)絡(luò)MultiNet,用于解決鏡座表面缺陷檢測(cè)準(zhǔn)確率低和實(shí)時(shí)性差的問(wèn)題。首先,該分割網(wǎng)絡(luò)通過(guò)三條輕量型并行的網(wǎng)絡(luò)能夠像深層卷積神經(jīng)網(wǎng)絡(luò)一樣提取圖像的高層語(yǔ)義信息和底層語(yǔ)義信息,因?yàn)槭遣⑿型瑫r(shí)運(yùn)算,所以運(yùn)算時(shí)間比單條型的深層卷積神經(jīng)網(wǎng)絡(luò)短,最后將兩種不同層次的特征進(jìn)行融合,使得檢測(cè)結(jié)果達(dá)到實(shí)際工程檢測(cè)要求。其次,本文提出了多感受野卷積模塊LightCNN,該模塊融合了不同感受野的特征圖,提升了不同尺寸缺陷的檢測(cè)準(zhǔn)確率。在標(biāo)簽制作方面,所提的算法只需要簡(jiǎn)單粗略的標(biāo)注就能達(dá)到良好的分割性能。因此,本文提出的算法為制造業(yè)自動(dòng)化的檢測(cè)提供了良好的落地應(yīng)用價(jià)值。