曾維亮1,林志賢1,陳永灑2
(1.福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350116;2.TCL集團(tuán)工業(yè)研究院,廣東 深圳 518055)
摘要:智能冰箱物體識(shí)別主要涉及對(duì)水果和蔬菜的識(shí)別,冰箱中果蔬數(shù)量繁多,光照不均,環(huán)境復(fù)雜,對(duì)此提出了一種用于處理該類識(shí)別問(wèn)題的卷積神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)采用ReLU作為激活函數(shù),它比傳統(tǒng)的Sigmoid函數(shù)具有更強(qiáng)的稀疏能力和更大的梯度值,能夠極大地加速網(wǎng)絡(luò)收斂。隱含層中引入隨機(jī)Dropout,使得某些節(jié)點(diǎn)不工作,減少節(jié)點(diǎn)間的“共同適應(yīng)”,降低網(wǎng)絡(luò)對(duì)某一局部特征的過(guò)擬合,可減少網(wǎng)絡(luò)計(jì)算復(fù)雜度并有效提升識(shí)別率。網(wǎng)絡(luò)采用帶動(dòng)量項(xiàng)的基于梯度下降的反向傳播算法,避免網(wǎng)絡(luò)陷入局部極小值,提高識(shí)別率。最后通過(guò)用Supermarket Produce Dataset數(shù)據(jù)集模擬冰箱果蔬圖像進(jìn)行實(shí)驗(yàn),驗(yàn)證了本文方法的有效性。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);果蔬識(shí)別; Dropout;梯度下降
中圖分類號(hào):TP391.4文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.08.018
引用格式:曾維亮,林志賢,陳永灑.基于卷積神經(jīng)網(wǎng)絡(luò)的智能冰箱果蔬圖像識(shí)別的研究[J].微型機(jī)與應(yīng)用,2017,36(8):56-59.
0引言
*基金項(xiàng)目:國(guó)家重點(diǎn)研發(fā)計(jì)劃課題(2016YFB0401503);福建省科技重大專項(xiàng)(2014HZ00031);廣東省科技重大專項(xiàng)(2016B090906001);福建省資助省屬高校專項(xiàng)課題(JK2014002)智能冰箱的果蔬識(shí)別可收集用戶果蔬產(chǎn)品的消耗情況,利用該數(shù)據(jù)分析出用戶喜好,商家可通過(guò)終端APP適時(shí)向用戶做出果蔬產(chǎn)品推薦,或提醒用戶盡快食用即將過(guò)期的食品。目前智能冰箱的物體識(shí)別方法主要有:用戶手動(dòng)輸入或語(yǔ)音輸入食物種類、無(wú)線射頻識(shí)別掃描[1]、條形碼或二維碼掃描[2]等技術(shù)。針對(duì)果蔬圖像識(shí)別,BOLLE R M等人[3]等通過(guò)提取圖像的顏色、紋理統(tǒng)計(jì)特征,首次實(shí)現(xiàn)了隨意擺放農(nóng)產(chǎn)品的識(shí)別與分類。ROCHA A等人[4]比較了和差直方圖(Unser)、顏色聚合向量(Color Coherence Vector,CCV)、內(nèi)外點(diǎn)顏色直方圖(Border/Interior pixel Classfication,BIC)等紋理、顏色特征,采用Kmeans與自底向上聚類(Bottomup Clustering Procedure)方法對(duì)這幾類特征進(jìn)行識(shí)別,同時(shí)指出采用特征融合的辦法可以取得更好的效果,但是該方法不能很好地表現(xiàn)果蔬紋理的差異性,且對(duì)外界光照較敏感。Zhang Yudong等人提出利用Unser、RGB顏色直方圖、外形等作為識(shí)別特征,采用多核SVM進(jìn)行果蔬產(chǎn)品識(shí)別[5],取得了較好的識(shí)別效果,但是多核支持向量機(jī)訓(xùn)練時(shí)間長(zhǎng),成本較大。ROCHA A等人[6]后期繼續(xù)采用特征融合的方法對(duì)果蔬識(shí)別技術(shù)進(jìn)行了優(yōu)化。陶華偉等人[7]提出一種基于顏色完全局部二值模式來(lái)提取物體紋理特征的方法,提高了智能果蔬系統(tǒng)的識(shí)別率。以上對(duì)果蔬圖像識(shí)別的研究均屬于人工提取特征的范疇。
LECUN Y等人[8]提出的LeNet5卷積神經(jīng)網(wǎng)絡(luò)在數(shù)字識(shí)別中取得了巨大的成功,隨后以該模型為代表的卷積神經(jīng)網(wǎng)絡(luò)被應(yīng)用到車牌識(shí)別、手寫(xiě)數(shù)字識(shí)別、視頻人體動(dòng)作識(shí)別[9]、人臉特征點(diǎn)的檢測(cè)[10]等眾多領(lǐng)域。KRIZHEVSKY A等人[11]提出的網(wǎng)絡(luò)模型在ImageNet數(shù)據(jù)集上達(dá)到了83.6%的識(shí)別率,更是引起了廣泛的關(guān)注。李思雯等人[12]利用集成的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別智能冰箱果蔬種類,但是融合多個(gè)模型的方法比較復(fù)雜、參數(shù)較多,容易出現(xiàn)“過(guò)擬合”。本文提出一種用于識(shí)別冰箱果蔬種類的卷積神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)采用ReLU做為激活函數(shù),避免出現(xiàn)飽和狀態(tài),加速網(wǎng)絡(luò)收斂。而在隱含層加入隨機(jī)Dropout,使得網(wǎng)絡(luò)結(jié)構(gòu)更加“稀疏”,減少了神經(jīng)元的相互依賴性。卷積神經(jīng)網(wǎng)絡(luò)對(duì)特定的遮擋、光照、平移、旋轉(zhuǎn)、縮放及其他形式的扭曲都具有良好的魯棒性,非常適合用于處理該類果蔬識(shí)別問(wèn)題,因此成為了近年該方向的研究熱點(diǎn)。
1卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是可以直接以2D圖像作為輸入的深度神經(jīng)網(wǎng)絡(luò),它主要包括特征提取和分類器兩部分。特征提取模塊由卷積層和降采樣層交替組成,卷積層通過(guò)卷積濾波的方式獲取圖像的有用特征,降采樣層通過(guò)對(duì)卷積層的數(shù)據(jù)采樣降維,減少了數(shù)據(jù)處理量。這種從隱含層逐層地自主選取圖像由邊、顏色等低層到角點(diǎn)、形狀等高層特征的方式,避免了人工提取特征的繁瑣與片面,使網(wǎng)絡(luò)具有自主選取特征并進(jìn)行學(xué)習(xí)與識(shí)別的能力。最后利用分類器對(duì)提取到的特征進(jìn)行識(shí)別分類,分類器通常使用一層或兩層的全連接神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)。
1.1LeNet-5網(wǎng)絡(luò)模型
經(jīng)典的LeNet5模型由輸入層、兩層卷積層、兩層降采樣層、兩層全連接網(wǎng)絡(luò)以及輸出層組成,LeNet5網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。
在卷積層中,輸入圖像通過(guò)j個(gè)不同的卷積核卷積,生成j個(gè)不同的特征圖,運(yùn)算過(guò)程如式(1)所示。
式中,xlj表示在l層(卷積層)的第j個(gè)特征圖,f(·)表示激活函數(shù),Mj代表輸入圖像的集合,b代表偏置因子。
降采樣層的運(yùn)算過(guò)程如式(2)所示。
式中:down(·)表示mean pooling降采樣,即輸入圖像中每個(gè)不同的n×n區(qū)域求和再求平均作為輸出圖像的一個(gè)點(diǎn),使得輸出圖像在不同維度都縮小為原來(lái)的1/n。每個(gè)輸出圖像都有不同的乘積因子β以及偏置因子b。
分類器的第一層是與上層降采樣層的所有特征圖全連接的卷積層,因輸入大小為5×5,而卷積核的大小也為5×5,故可以看作是全連接層。分類器第二層計(jì)算輸入向量和權(quán)重之間的點(diǎn)積,然后通過(guò)激活函數(shù)最終產(chǎn)生輸出層單元的一個(gè)狀態(tài),決定識(shí)別結(jié)果。
1.2基于ReLU激活函數(shù)的卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)中常見(jiàn)的激活函數(shù)包括Sigmoid函數(shù)f(x)=(1+e-x)-1和雙曲正切函數(shù)f(x)=tanh(x),這兩種函數(shù)均屬于飽和非線性函數(shù),收斂速度較慢。本文采用非飽和線性修正單元(Rectified Linear Units,ReLU),即f(x)=max(x),該函數(shù)通過(guò)線性修正的方式,強(qiáng)制某些數(shù)據(jù)為零,使得模型具有適度的稀疏表達(dá)。ReLU函數(shù)梯度值大,在反向傳播階段,能夠防止梯度傳播到前幾層網(wǎng)絡(luò)時(shí)彌散消失,性能比傳統(tǒng)的激活函數(shù)優(yōu)良,并且ReLU的單邊抑制更符合生物學(xué)的觀點(diǎn),其連接網(wǎng)絡(luò)的過(guò)程如圖2所示。
1.3基于隨機(jī)Dropout的CNN網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練階段受樣本庫(kù)容量影響大,在樣本數(shù)量有限的情況下要防止模型出現(xiàn)“過(guò)擬合”。本文網(wǎng)絡(luò)結(jié)構(gòu)引入隨機(jī)Dropout,即隨機(jī)“凍結(jié)”某些神經(jīng)元,在網(wǎng)絡(luò)訓(xùn)練過(guò)程中保留其當(dāng)前的權(quán)值,同時(shí)將輸出設(shè)定為0,而這些被選擇的神經(jīng)元在下次訓(xùn)練過(guò)程中又會(huì)恢復(fù)之前保留的取值,并再次隨機(jī)選擇部分神經(jīng)元重復(fù)此過(guò)程。隨機(jī)Dropout可以避免每?jī)蓚€(gè)神經(jīng)元同時(shí)產(chǎn)生作用,從而使權(quán)值的更新不再依賴于有固定關(guān)系隱含節(jié)點(diǎn)的共同作圖3加入Dropout的
隱含層示意圖用,即神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)在每次訓(xùn)練過(guò)程中都發(fā)生變化。這種方式降低了神經(jīng)元之間的依賴,有效提高了神經(jīng)網(wǎng)絡(luò)的泛化能力,因此能學(xué)習(xí)到魯棒性更強(qiáng)的特征。本文隨機(jī)設(shè)定兩個(gè)卷積層的30%的神經(jīng)元輸出為零,如圖3所示。
1.4帶動(dòng)量因子的梯度下降反向傳播算法
本文訓(xùn)練過(guò)程中網(wǎng)絡(luò)的權(quán)值更新基于帶動(dòng)量因子的梯度下降反向傳播算法,權(quán)重更新規(guī)則如式(3)、(4)所示。
vi+1=αvi-ληωi-η(Lω│ωi)Di(3)
ωi+1=ωi+vi+1(4)
式中:i為迭代次數(shù);η為學(xué)習(xí)率;λ為權(quán)重衰減因子;ω表示權(quán)重向量;α為動(dòng)量項(xiàng),增加動(dòng)量項(xiàng)的目的是為了避免網(wǎng)絡(luò)訓(xùn)練陷于較淺的局部極小值點(diǎn),并且能夠加快網(wǎng)絡(luò)收斂的速度;η(Lω│ωi)Di為第i批訓(xùn)練樣本Di的損失函數(shù)在權(quán)值為ωi時(shí)關(guān)于ω的導(dǎo)數(shù)的平均值。
1.5本文的卷積神經(jīng)網(wǎng)絡(luò)模型
本文卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,分別為輸入層、兩層卷積層、兩層降采樣層、全連接層、輸出層。卷積:輸入圖像經(jīng)過(guò)一個(gè)可訓(xùn)練的濾波器進(jìn)行卷積,得到卷積層的特征圖。降采樣:對(duì)卷積層的特征圖中每個(gè)2×2的鄰域求平均得到降采樣層的一個(gè)值,因此降采樣層的特征圖在各個(gè)維度都縮小為卷積層特征圖的1/2。全連接:將最后一層降采樣層的特征圖展開(kāi)成一個(gè)向量,乘上加權(quán)并通過(guò)激活函數(shù)得到輸出層神經(jīng)元。
網(wǎng)絡(luò)模型各層采用的參數(shù)如表1所示。
2實(shí)驗(yàn)及結(jié)果分析
2.1數(shù)據(jù)集
冰箱中果蔬種類、數(shù)量繁多,擺放無(wú)規(guī)則,果蔬視角多變,光照不均,情況十分復(fù)雜。采用Supermarket Produce Dataset[10]數(shù)據(jù)集模擬冰箱獲取的圖像進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)集共有15類、2 633張冰箱中常見(jiàn)果蔬的圖像,每類果蔬圖像數(shù)量為75~264張不等,圖像尺寸為1 024×768。為了使各類圖像數(shù)據(jù)整齊并相對(duì)均衡,采取隨機(jī)復(fù)制的方式使得數(shù)據(jù)集的幾類果蔬增加了167張圖像,并在這些圖像中加入高斯白噪聲。因此修正的數(shù)據(jù)集共有15類、2 800張果蔬圖像,分別為土豆(黃)、土豆(紅)、腰果、小毛桃、富士蘋(píng)果、青蘋(píng)果、香瓜、獼猴桃、油桃、洋蔥、橘、李子、梨、青桔、西瓜。
2.2實(shí)驗(yàn)方法
本文構(gòu)建了如圖4所示的卷積神經(jīng)網(wǎng)絡(luò)模型,各層的參數(shù)如表1所示。輸入圖像尺寸為28×28,因此應(yīng)先將圖像裁剪并等寬高地縮小為1∶1的尺寸,等寬高地縮小是為了防止圖像畸變而丟失重要特征信息。采用批量隨機(jī)梯度下降法(Minibatch Stochastic Gradient Descend,Minibatch SGD)迭代200次(200 epochs),對(duì)每次epoch,每輸入10個(gè)樣本訓(xùn)練后,進(jìn)行反向傳播并更新一次權(quán)值。本文設(shè)定學(xué)習(xí)率η的初始值為0.1,待識(shí)別率沒(méi)有顯著上升或者上升趨勢(shì)變慢時(shí),將學(xué)習(xí)率η變?yōu)樵瓉?lái)的1/2;動(dòng)量項(xiàng)α設(shè)值為0.6;權(quán)重衰減因子λ設(shè)為0.000 5;實(shí)驗(yàn)采用留出法(holdout)劃分?jǐn)?shù)據(jù)集,隨機(jī)選取2 240張圖像作為訓(xùn)練集,其余的560張作為測(cè)試集。
2.3實(shí)驗(yàn)結(jié)果與分析
2.3.1各類果蔬識(shí)別的混淆矩陣
圖5為本文方法測(cè)試各類果蔬識(shí)別正確率的混淆矩陣。矩陣對(duì)角線位置顏色較深方塊中的數(shù)據(jù)為Y軸對(duì)應(yīng)果蔬的識(shí)別率,其余較淡色方塊的數(shù)據(jù)為Y軸對(duì)應(yīng)果蔬被錯(cuò)誤識(shí)別為X軸對(duì)應(yīng)的果蔬的識(shí)別率。從混淆矩陣中可以看出獼猴桃易被誤識(shí)別為青蘋(píng)果,梨易被誤識(shí)別為土豆(黃)。從數(shù)據(jù)集圖像中可發(fā)現(xiàn)這幾類水果客觀上外形比較相似;其余腰果、洋蔥、富士蘋(píng)果,香瓜、洋蔥、橘、李子、青桔等識(shí)別率較高,特別地香瓜和橘能夠達(dá)到100%的正確率。即本文的卷積神經(jīng)網(wǎng)絡(luò)模型和參數(shù)對(duì)該類果蔬識(shí)別問(wèn)題能達(dá)到一個(gè)較好的識(shí)別效果。
2.3.2采用Sigmoid和ReLU做為激活函數(shù)的識(shí)別率對(duì)比圖
圖6為網(wǎng)絡(luò)采用Sigmoid函數(shù)和ReLU函數(shù)迭代200次的收斂速度對(duì)比圖,其中實(shí)線為ReLU激活函數(shù)的識(shí)別率曲線,點(diǎn)實(shí)線為Sigmoid激活函數(shù)的識(shí)別率曲線。從圖中可以發(fā)現(xiàn)采用ReLU函數(shù)前期收斂速度更快;網(wǎng)絡(luò)趨于穩(wěn)定時(shí),采用ReLU激活函數(shù)的整體識(shí)別率約為83.4%,遠(yuǎn)高于Sigmoid函數(shù)的識(shí)別率67.7%,因其能夠有效地防止網(wǎng)絡(luò)出現(xiàn)“過(guò)擬合”,故能夠在較大程度上提高果蔬的識(shí)別率。
2.3.3網(wǎng)絡(luò)加入隨機(jī)Dropout與否的識(shí)別率對(duì)比圖
圖7分別為網(wǎng)絡(luò)加入隨機(jī)Dropout與否的200次迭代后的識(shí)別率曲線圖,其中實(shí)線為加入隨機(jī)Dropout比例為30%時(shí)得到的識(shí)別率曲線,點(diǎn)實(shí)線為未加入Dropout的識(shí)別率曲線。網(wǎng)絡(luò)趨于穩(wěn)定時(shí),加入隨機(jī)Dropout的整體識(shí)別率約為83.4%,未加入隨機(jī)Dropout的整體識(shí)別率約為79.3%,識(shí)別率提高了4.1%。引入一定比例的隨機(jī)Dropout可以使得網(wǎng)絡(luò)更加稀疏,減少了神經(jīng)元之間的共同作用,在一定程度上能夠提高果蔬的識(shí)別率,并且網(wǎng)絡(luò)“抖動(dòng)”更小,魯棒性更強(qiáng)。
3結(jié)論
本文通過(guò)構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)果蔬圖像進(jìn)行識(shí)別,網(wǎng)絡(luò)采用ReLU線性函數(shù)作為神經(jīng)元的激活函數(shù),加快了網(wǎng)絡(luò)的收斂,提高了訓(xùn)練效率及識(shí)別率。而在隱含層引入一定比例的Dropout,使網(wǎng)絡(luò)具有更好的泛化能力。今后將研究輸入較大的圖像尺寸,使得特征信息更加豐富,并將顏色信息加入到網(wǎng)絡(luò)中,研究顏色對(duì)果蔬圖像識(shí)別的影響以及在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)上繼續(xù)改進(jìn)達(dá)到提高識(shí)別率的效果,從而有效地處理該類識(shí)別問(wèn)題。
參考文獻(xiàn)
?。?] Gu Hanshen,Wang Dong. A content-aware fridge based on RFID in smart home for homehealthcare[C].Proceedings of the 11th International Conference on Advanced Communications Technology,Beijing,IEEE,2009:987-990.
?。?] 戴楊,于盛林.二維條形碼編碼與譯碼的計(jì)算機(jī)實(shí)現(xiàn)[J].數(shù)據(jù)采集與處理,2003,18(3):356360.[3] BOLLE R M,CONNELL J H,HASS N,et al. Veggievison:a produce recognition system[P].United States:US 5546475A, 199608-13.
?。?] ROCHA A,HAUAGGE D C,WAINER J,et al. Automatic produce classification from images using color,texture and appearance cues[C]. 21st Brazilian Symposium on Computer Graphics and Image Processing, CampoGrande,Brazil,IEEE,2008:3-10.
?。?] Zhang Yudong,Wu Lenan. Classification of fruits using computer vision and multiclass support vector machine[J].Sensors,2012,12(9):1248912505.
?。?] FARIA F A,dos SANTOS J A, ROCHA A,et al. Automatic classifier fusion for produce recognition[C].25th SIBGRAPI on Graphics,Patterns and Images,OuroPreto,Brazil,IEEE,2012:20-25.
[7] 陶華偉,趙力,奚吉,等.基于顏色及紋理特征的果蔬種類識(shí)別方法[J]. 農(nóng)業(yè)工程學(xué)報(bào),2014,30(16):305-311.
?。?] LECUN Y,BOTTOU L,BENGIO Y,et al.Gradientbased learning applied to document recognition[C].Proceedings of the IEEE 86,1998:2278-2324.
?。?] Ji Shuiwang,Xu Wei,Yang Ming,et al.3D convolutional neural networks for human action recognition [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(1):221-231.
[10] Sun Yi, Wang Xiaogang,Tang Xiaoou. Deep convolutional network cascade for facial point detection[C].2013 IEEE Conference on Computer Vision and Patten Recognition(CVPR),IEEE,2013:3467-3483.
[11] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C].Advances in Neural Information Processing System 25:Proceeding of the 26th Annual Conference on Neural Information Processing Systems,Lake Tahoe,USA,2012:1097-1105.
[12] 李思雯,呂建成,倪勝巧.集成的卷積神經(jīng)網(wǎng)絡(luò)在智能冰箱果蔬識(shí)別中的應(yīng)用[J].數(shù)據(jù)采集與處理,2016,18(3):205-212.