季忠源 李丹美
摘?要:為了解決工廠實(shí)際中遇到的鋁材表面缺陷問題,本文介紹了基于RCNN上發(fā)展的Faster?RCNN與Cascade?RCNN算法,并且簡(jiǎn)要概述了利用特征金字塔網(wǎng)絡(luò)來解決Faster?RCNN在處理多尺度檢測(cè)問題上的不足,還提出了通過改進(jìn)RPN來加強(qiáng)Faster?RCNN的檢測(cè)準(zhǔn)確率,利用殘差網(wǎng)絡(luò)ResNet50替換了原始網(wǎng)絡(luò),增強(qiáng)其檢測(cè)效果。
關(guān)鍵詞:深度學(xué)習(xí);Faster?RCNN;Cascade?RCNN;瑕疵檢測(cè);殘差網(wǎng)絡(luò)
,因?yàn)槎喾揭蛩氐母蓴_,鋁材表面會(huì)出現(xiàn)多種缺陷,例如臟點(diǎn)、起坑、噴流等各種表面瑕疵[1],這些表面存在的缺陷會(huì)使得鋁材在實(shí)際的使用過程中受到不同程度的影響。為了鋁材在工業(yè)實(shí)際應(yīng)用中不會(huì)出現(xiàn)問題,造成各種事故或者導(dǎo)致各種工程存在缺憾,檢測(cè)鋁材表面是否存在明顯瑕疵的需求日益壯大。但是傳統(tǒng)地利用工人肉眼檢查十分費(fèi)時(shí)費(fèi)力,并且還可能出現(xiàn)錯(cuò)漏,效率低下的同時(shí)還要付出極大的人工成本。所以,各大工廠將目光投向了近幾年技術(shù)發(fā)展異常迅猛的深度學(xué)習(xí)領(lǐng)域[2],開展了為數(shù)不少的圖像識(shí)別競(jìng)賽,想要將圖像識(shí)別項(xiàng)目落實(shí)于工廠實(shí)際,為工業(yè)領(lǐng)域做出貢獻(xiàn)。人工智能領(lǐng)域技術(shù)的革新讓不少鋁材商人看到了機(jī)會(huì),本文將探討現(xiàn)有的深度學(xué)習(xí)算法檢測(cè)鋁材表面瑕疵的實(shí)際過程,并且對(duì)現(xiàn)有算法進(jìn)行一定改進(jìn),使得其更貼合于工業(yè)實(shí)際應(yīng)用。
1?基于RCNN的目標(biāo)檢測(cè)算法
1.1?Faster?RCNN
Faster?RCNN[3]是目前在目標(biāo)檢測(cè)領(lǐng)域應(yīng)用十分廣泛并且地位相當(dāng)高的一種Twostage的目標(biāo)檢測(cè)算法。Faster?RCNN可大致概括為兩個(gè)步驟,第一步通過RPN來獲得輸入圖像的感興趣的區(qū)域ROI,接著Fast?RCNN網(wǎng)絡(luò)會(huì)檢測(cè)和分類之前初步得到的ROI。相比起一些Onestage的算法,faster?RCNN的檢測(cè)效果要更加地精確,但是在檢測(cè)速度上可能會(huì)落后于一些Onestage的算法。
上圖1為Faster?RCNN的網(wǎng)絡(luò)結(jié)構(gòu),主要由以下四部分組成:(1)對(duì)輸入圖片進(jìn)行特征提取,并且輸出其特征的卷積層。(2)初步劃分設(shè)定的感興趣區(qū)域,代替了Fast?RCNN中的Selective?Search用于產(chǎn)生建議窗口的RPN網(wǎng)絡(luò)。(3)對(duì)不同的輸入的圖片進(jìn)行轉(zhuǎn)換并且輸出固定大小的ROI?Pooling層。(4)精確定位每個(gè)圖像中的候選的特征,輸出特征的類別并且加以定位的分類和回歸層。
1.2?Cascade?RCNN
Cascade?RCNN[4]是近兩年來在RCNN算法的基礎(chǔ)上,加以拓展的用于目標(biāo)檢測(cè)的新算法。其算法的主要思想是利用不斷提高的IoU(intersection?over?union)閾值,在樣本數(shù)保持不變的情況下不斷訓(xùn)練,來得到高精度的檢測(cè)器,級(jí)聯(lián)多個(gè)RCNN檢測(cè)網(wǎng)絡(luò)來達(dá)成檢測(cè)的目標(biāo)。這個(gè)目標(biāo)檢測(cè)算法還是通過分類與定位兩個(gè)步驟來實(shí)現(xiàn)檢測(cè)。
Cascade?RCNN的網(wǎng)絡(luò)結(jié)構(gòu)在Faster?RCNN的網(wǎng)絡(luò)結(jié)構(gòu)上進(jìn)行了延伸,首先是將用于提取候選區(qū)域的子網(wǎng)絡(luò)H0用于一整張輸入的圖片,然后是用于ROI檢測(cè)的網(wǎng)絡(luò)H1會(huì)得到分類分?jǐn)?shù)和邊界框。Cascade?RCNN中的模型是將前一個(gè)步驟中的輸出用來訓(xùn)練,而不是與之前的Faster?RCNN網(wǎng)絡(luò)一樣對(duì)最早輸入的圖片數(shù)據(jù)進(jìn)行訓(xùn)練。利用調(diào)控不同的IOU閾值來得到想要得到的數(shù)據(jù),這是Cascade?RCNN的一大優(yōu)點(diǎn)。
總的來說,Cascade?RCNN由四個(gè)階段組成,分別是一個(gè)RPN與三個(gè)檢測(cè)IOU閾值為0.5、0.6、0.7的網(wǎng)絡(luò)。
該網(wǎng)絡(luò)的特性可以概括為以下三點(diǎn):(1)調(diào)高IOU閾值的同時(shí),網(wǎng)絡(luò)的檢測(cè)能力會(huì)降低,這是因?yàn)樘峁┑挠?xùn)練樣本數(shù)量呈指數(shù)減少,導(dǎo)致了過擬合。(2)這是一個(gè)極具創(chuàng)新性的級(jí)聯(lián)RCNN,由一系列的檢測(cè)器組成,這些檢測(cè)器會(huì)隨著IOU閾值的提高而訓(xùn)練。(3)每一個(gè)級(jí)聯(lián)的RCNN網(wǎng)絡(luò)都設(shè)有不一樣的IOU閾值,這使得結(jié)果精確度得到了提高,并且作為下一級(jí)網(wǎng)絡(luò)的輸入,來不斷地提升網(wǎng)絡(luò)的精確性。
2?改進(jìn)Faster?RCNN
2.1?重新定義anchor框尺寸
工業(yè)中使用的鋁材在多方因素干擾下,會(huì)生成較多種類的瑕疵,較容易分辨的分為不導(dǎo)電、擦花、漏底、臟點(diǎn)、起坑、噴流、桔皮、角位漏底、漆泡、雜色共十類瑕疵。每種瑕疵對(duì)應(yīng)的部位、分布面積均有細(xì)微差異,而且多種瑕疵密集分布時(shí)可能使得檢測(cè)框出現(xiàn)重疊情況,導(dǎo)致檢測(cè)結(jié)果不理想。所以為了能夠適應(yīng)不同種類瑕疵的檢測(cè)情況,我們需要重新設(shè)計(jì)anchor框的長(zhǎng)寬比以及尺寸來產(chǎn)生較為合適的建議區(qū)域。
模型中原有的anchor框長(zhǎng)寬比固定在2∶1、1∶2、1∶1的比例,但是鋁材中存在桔皮、擦花等大面積不規(guī)則瑕疵,例如桔皮瑕疵如果在檢測(cè)過程中將anchor框比例設(shè)置在5∶1會(huì)得到更好的檢測(cè)準(zhǔn)確度結(jié)果。
2.2?使用特征金字塔網(wǎng)絡(luò)
在原始的Faster?RCNN網(wǎng)絡(luò)中僅僅利用了單個(gè)高層特征,即RPN只選擇特征提取網(wǎng)絡(luò)中最后一層的特征,這種方式在大目標(biāo)檢測(cè)時(shí)有很好地發(fā)揮,但是對(duì)于像素信息十分少的小型目標(biāo)來說,其信息在采樣的過程中十分容易丟失,導(dǎo)致檢測(cè)精度的減小并且會(huì)出現(xiàn)不少檢測(cè)錯(cuò)誤。為了解決檢測(cè)小目標(biāo)困難的問題,常用的辦法是使用圖像金字塔來對(duì)多尺度變換進(jìn)行增強(qiáng),但是圖像金字塔會(huì)使計(jì)算量急劇增加,所以文中選擇了特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)來改進(jìn)Faster?RCNN在多尺度變化檢測(cè)上的不足。
常見的圖像金字塔結(jié)構(gòu)能夠?qū)斎氲拿恳怀叨鹊膱D像進(jìn)行特征提取,能夠解決大多數(shù)的多尺度變化問題,但是其運(yùn)行時(shí)間過長(zhǎng),而且運(yùn)行期間會(huì)占用大量?jī)?nèi)存使得它在實(shí)際應(yīng)用中不可行。而SSD中也存在一定的問題,例如網(wǎng)絡(luò)中的低層會(huì)存在特征圖信息不足,分辨率不高等缺陷。
為了解決這些常見的問題,我們所使用的特征金字塔(FPN)網(wǎng)絡(luò)結(jié)構(gòu)中每一層不同尺度的特征圖像都具備足夠的信息。FPN能夠在僅增加較少計(jì)算量的同時(shí)解決多尺度變化問題。
2.3?利用resnet50替代原始網(wǎng)絡(luò)
原始Faster?RCNN采取VGG16網(wǎng)絡(luò)為特征提取網(wǎng)絡(luò),在模型訓(xùn)練期間將網(wǎng)絡(luò)中提取到的誤差進(jìn)行反向傳播從而使權(quán)重得到更新,但是這樣的過程在小目標(biāo)檢測(cè)時(shí)會(huì)產(chǎn)生兩個(gè)嚴(yán)重的問題:(1)瑕疵檢測(cè)中目標(biāo)瑕疵過小,所攜帶信息容易在特征提取的過程中丟失,導(dǎo)致檢測(cè)結(jié)果不理想。(2)不斷加深的網(wǎng)絡(luò)深度中,會(huì)導(dǎo)致反向傳播過程中的梯度發(fā)生彌散甚至?xí)沟锰荻认А?/p>
為了防止上述的問題出現(xiàn),本文提出更換特征提取網(wǎng)絡(luò),選擇了另一種resnet50殘差網(wǎng)絡(luò)。ResNet利用捷徑連接將輸入與輸出進(jìn)行跳層連接,將單元的輸入輸出加在一起進(jìn)行激活,通過這種操作模型會(huì)學(xué)習(xí)到映射后相對(duì)于原來的偏差,這種結(jié)構(gòu)可以使小目標(biāo)缺陷在深度網(wǎng)絡(luò)中存活更長(zhǎng)時(shí)間。
上述為resnet50的網(wǎng)絡(luò)結(jié)構(gòu),由于加入了大量跳層連接,訓(xùn)練過程中會(huì)保留更多的小目標(biāo)瑕疵信息,在檢測(cè)效果上會(huì)得到優(yōu)化。
3?結(jié)論
為了加大深度學(xué)習(xí)算法在檢測(cè)鋁材瑕疵的工業(yè)實(shí)際上得到靈活運(yùn)用,本文介紹了Faster?RCNN與Cascade?RCNN的基本原理,并且分析了其優(yōu)劣與網(wǎng)絡(luò)結(jié)構(gòu)區(qū)別。還在Faster?RCNN的基礎(chǔ)上提出了算法改進(jìn),使其能夠更加充分靈活地應(yīng)用于鋁材這類小目標(biāo)瑕疵的檢測(cè)。
參考文獻(xiàn):
[1]張旭.基于深度卷積神經(jīng)網(wǎng)絡(luò)的鋁材表面缺陷檢測(cè)[D].華東理工大學(xué),2020.
[2]魏若峰.基于深度學(xué)習(xí)的鋁型材表面瑕疵識(shí)別技術(shù)研究[D].浙江大學(xué),2019.
[3]Ren?S,He?K,Girshick?R,et?al.Faster?RCNN:Towards?RealTime?Object?Detection?with?Region?Proposal?Networks[J].IEEE?Transactions?on?Pattern?Analysis?&?Machine?Intelligence,2017,39(6):11371149.
[4]Zhao?W,Huang?H,Li?D,et?al.Pointer?Defect?Detection?Based?on?Transfer?Learning?and?Improved?CascadeRCNN[J].Sensors,2020,20(17):4939.
作者簡(jiǎn)介:季忠源(1996—?),男,漢族,浙江溫州人,碩士,研究方向:圖像識(shí)別。