肖東 韓晨 范文強(qiáng)
(煙臺(tái)大學(xué)光電信息科學(xué)技術(shù)學(xué)院 煙臺(tái) 264000)
檢測瑕疵產(chǎn)品的過程實(shí)質(zhì)上是圖像分類的過程,給你一幅圖像,來判斷是好的產(chǎn)品,還是帶有瑕疵的產(chǎn)品。以2012 年Hinton 和他的學(xué)生Alex 設(shè)計(jì)的AlexNet[1]為起點(diǎn),卷積神經(jīng)網(wǎng)絡(luò)開始逐漸在ILSVRC 獲勝,成為競賽的Winning algorithm,包括2013 年Zeiler 和Fergus 設(shè)計(jì)的ZFNet[2]、2014 年 牛津大學(xué)計(jì)算機(jī)視覺組合和Google DeepMind 公司一起研發(fā)的的VGGNet[3]、Christian Szegedy提出的GoogLeNet[4]和2015年何愷明提出的ResNet[5]。
但是利用卷積神經(jīng)網(wǎng)絡(luò)來檢測帶有缺陷的產(chǎn)品,也有不足的地方。首當(dāng)其沖的問題就是數(shù)據(jù),數(shù)據(jù)是OCR 研究中最重要的要素之一。目前在很多行業(yè)里,短時(shí)間內(nèi)很難獲得足夠多的帶有缺陷的產(chǎn)品圖像,所以在應(yīng)用深度學(xué)習(xí)進(jìn)行缺陷檢測時(shí)存在分類的準(zhǔn)確率不高的問題。因此,尋找一個(gè)對(duì)數(shù)據(jù)需求少,分類準(zhǔn)確率高的深度學(xué)習(xí)算法是一個(gè)值得研究的問題。本文的“UR”法就是結(jié)合U-net[6]和ResNet來實(shí)現(xiàn)少量數(shù)據(jù)高準(zhǔn)確率的圖像分類。
使用U-net 進(jìn)行植物葉片的圖像分割,數(shù)據(jù)集需要包含兩部分,植物葉片原圖像和植物葉片圖像的標(biāo)簽(label)。實(shí)驗(yàn)中從自然環(huán)境中采集了300枚植物的葉片。為避免由于數(shù)據(jù)集的分布規(guī)律過于簡單而造成網(wǎng)絡(luò)產(chǎn)生過擬合,因此實(shí)驗(yàn)中共采集了9種不同植物的葉片。
由于本次研究的目的是圖像缺陷檢測,所以對(duì)有缺陷的植物葉片的需求較高。在有缺陷的植物葉片較少的情況下,采取了在原有的無缺陷葉片的基礎(chǔ)上自制有缺陷葉片的方法,主要采用了裁剪,撕取等方法。自然形成的有缺陷植物葉片和人工制作的有缺陷植物葉片如圖1 所示。最終共采集到無缺陷葉片圖像412幅,有缺陷葉片圖像136幅,共548幅。
圖1 自然形成和人工制作
U-net圖像分割網(wǎng)絡(luò)在進(jìn)行訓(xùn)練過程對(duì)隨機(jī)選取的71 幅原始圖像用Labelme 進(jìn)行標(biāo)注后得到標(biāo)簽圖。
ResNet 圖像分類網(wǎng)絡(luò)是使用U-net 圖像分割的結(jié)果來訓(xùn)練的,用訓(xùn)練好的U-net 網(wǎng)絡(luò)處理所有的圖像數(shù)據(jù),可以得到共548 幅分割圖像。按照80%訓(xùn)練集,20%測試集的分配比例,隨機(jī)取448幅圖像作為ResNet 網(wǎng)絡(luò)的訓(xùn)練集,100 幅圖像作為網(wǎng)絡(luò)的測試集以測試網(wǎng)絡(luò)性能。和U-net 網(wǎng)絡(luò)一樣,ResNet也需要對(duì)圖像打標(biāo)簽,但是和圖像分割網(wǎng)絡(luò)不同,這里的標(biāo)簽只是一個(gè)代表圖像類別的字符,比如0代表有缺陷,1代表沒缺陷。
U-net 網(wǎng)絡(luò)和ResNet 網(wǎng)絡(luò)一樣,都是卷積神經(jīng)網(wǎng)絡(luò)算法的一種,它們兩種算法都主要用于分類問題,不過相比ResNet 網(wǎng)絡(luò),U-net 網(wǎng)絡(luò)的分類是像素級(jí)別的分類,通過對(duì)組成圖像不同部分的像素點(diǎn)進(jìn)行分類來實(shí)現(xiàn)圖像的語義分割。
U-net 網(wǎng)絡(luò)在經(jīng)過足夠的訓(xùn)練后,可以清晰地把一副圖像中葉片的輪廓分割出來,就像圖2(b)所示的那樣。分割后的圖像相比原圖,在形狀上的特征變得更加明顯,葉片的缺陷相比原圖也更加的突出。因此,圖像分割這一步驟,就相當(dāng)于發(fā)揮了特征提取的作用。經(jīng)過圖像分割,用于進(jìn)行區(qū)分缺陷葉片的輪廓特征變得更加明顯,雖然葉片的顏色特征會(huì)被掩蓋,但由于所研究的植物葉片的缺陷主要是形體上的缺陷,所以可以忽略被掩蓋的顏色特征。
圖2 灰度圖和分割圖
利用訓(xùn)練好的U-net 網(wǎng)絡(luò)來處理采集的數(shù)據(jù),相比原來未經(jīng)處理的植物葉片圖像,圖像分割后產(chǎn)生的二值圖像因?yàn)槌酥参锶~片外的背景全是白色,只有葉片是黑色,所以這樣的圖像相比背景復(fù)雜的圖像,其中包含的特征會(huì)更加的明顯,對(duì)于圖像分類網(wǎng)絡(luò)學(xué)習(xí)起來也更加簡單,因此訓(xùn)練這樣一個(gè)圖像分類網(wǎng)絡(luò)既不需要太多的數(shù)據(jù),網(wǎng)絡(luò)的深度也不需要特別深。實(shí)驗(yàn)中將從U-net 網(wǎng)絡(luò)得到的數(shù)據(jù)按照80%訓(xùn)練集,20%測試集的分配方法進(jìn)行分配,在將數(shù)據(jù)按照類別標(biāo)記好之后,就可以用于ResNet-18網(wǎng)絡(luò)的訓(xùn)練。
通過U-net 圖像分割網(wǎng)絡(luò)對(duì)植物葉片圖像進(jìn)行特征提取是本實(shí)驗(yàn)的第一步。圖3 列出了當(dāng)U-net 網(wǎng)絡(luò)在訓(xùn)練集上訓(xùn)練100 次(右上),200 次(左下),300次(右下)時(shí)對(duì)植物葉片的分割結(jié)果。
圖3 U-net網(wǎng)絡(luò)分割結(jié)果
圖4 為U-net 網(wǎng)絡(luò)的訓(xùn)練狀態(tài)曲線,實(shí)線的曲線為損失值(loss),虛線的曲線為準(zhǔn)確率(accuracy),橫軸為U-net 網(wǎng)絡(luò)訓(xùn)練的次數(shù)。由圖2、3 可見,在訓(xùn)練300 次時(shí),網(wǎng)絡(luò)仍還有很大的潛力進(jìn)一步改善,但是考慮到本實(shí)驗(yàn)的目的并不是進(jìn)行圖像分割并且增加訓(xùn)練次數(shù)會(huì)增大訓(xùn)練的時(shí)間成本,所以最終U-net 模型訓(xùn)練了300 次。最終訓(xùn)練300 次模型的loss 值為0.12109,準(zhǔn)確率為96.50%??梢姡呀?jīng)是很好的結(jié)果。
圖4 U-net訓(xùn)練狀態(tài)曲線
實(shí)驗(yàn)中將ResNet-18 模型在訓(xùn)練集上訓(xùn)練了30 次,訓(xùn)練過程中使用minibatch 的方法,batchsize為16,圖5為模型的訓(xùn)練狀態(tài)曲線,最終,在經(jīng)過30次的訓(xùn)練后,模型在訓(xùn)練集上的loss 值為0.0350,準(zhǔn)確率為98.88%。將模型在含有100 張圖像的測試集上進(jìn)行測試,得到的loss 值為0.0907,準(zhǔn)確率為98%。在測試集上98%的準(zhǔn)確率這個(gè)結(jié)果已經(jīng)相當(dāng)?shù)牧钊藵M意了,畢竟模型的訓(xùn)練集只有448 張圖像,并且這個(gè)模型僅僅訓(xùn)練了30次。
圖5 “UR”法ResNet-18訓(xùn)練狀態(tài)曲線
單純的觀察“UR”法的實(shí)驗(yàn)結(jié)果并不能發(fā)現(xiàn)“UR”法比其他的方法強(qiáng)在哪里,所以本節(jié)將對(duì)經(jīng)過U-net特征提取后ResNet-18 的分類結(jié)果與不經(jīng)過U-net特征提取ResNet-18 的分類結(jié)果進(jìn)行對(duì)比分析。
實(shí)驗(yàn)中,為了確保對(duì)比的公平性,所用的ResNet-18網(wǎng)絡(luò)與“UR”法所用的ResNet-18網(wǎng)絡(luò)保持參數(shù)一致,訓(xùn)練次數(shù)一致,優(yōu)化方法一致等。圖6 是ResNet-18 直接對(duì)448 張大小 為256*256 的植物葉片的灰度圖進(jìn)行訓(xùn)練30次的訓(xùn)練狀態(tài)曲線。
圖6 ResNet-18 訓(xùn)練狀態(tài)曲線
由圖6可以看出,單純用ResNet-18時(shí),在訓(xùn)練集上訓(xùn)練了30 次之后,模型還沒有收斂,loss 曲線仍然有下降的趨勢,而“UR”法在訓(xùn)練15 次之后模型就已經(jīng)收斂了。這說明,“UR 法”在模型優(yōu)化的速度上比普通的ResNet網(wǎng)絡(luò)要快很多。經(jīng)過30次訓(xùn)練后,單純的ResNet-18 網(wǎng)絡(luò)的loss 值為0.2778,準(zhǔn)確率為88.62%。將模型在100 張圖像的測試集上進(jìn)行測試,得到的準(zhǔn)確率為85%。這里通過數(shù)據(jù)可以看出,只用ResNet 的分類準(zhǔn)確率比“UR”法大約低了10%。
所以,由數(shù)據(jù)可知,與傳統(tǒng)的圖像分類算法相比,“UR”法可以用很少的數(shù)據(jù)就能夠得到更好的分類準(zhǔn)確率,并且模型的優(yōu)化速度更快。
本文針對(duì)上述問題,基于深度學(xué)習(xí)提出了一種和傳統(tǒng)的圖像分類不一樣的思路。即在圖像分類之前,先對(duì)所要分類的圖像做一個(gè)“預(yù)處理”。這個(gè)“預(yù)處理”會(huì)將圖像的特征進(jìn)行提取,特征提取后,用于圖像分類的特征會(huì)變得更加的“突出”。隨后再在圖像分類模型上進(jìn)行訓(xùn)練,因?yàn)榇藭r(shí)用于圖像分類的數(shù)據(jù)的特征都變得非常的明顯,所以在訓(xùn)練時(shí),圖像分類網(wǎng)絡(luò)可以很容易地學(xué)習(xí)到圖像的特征,因此訓(xùn)練耗費(fèi)的時(shí)間就會(huì)少并且準(zhǔn)確率也會(huì)提高。
由于實(shí)際生產(chǎn)中產(chǎn)品的缺陷檢測大多是二分類問題,所以本文中以植物葉片為例對(duì)“UR”法的研究可以很好地泛化到其他更復(fù)雜的缺陷檢測問題上。