彭紅星,黃 博,邵園園,李澤森,張朝武,陳 燕,熊俊濤※
(1. 華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院/南方農(nóng)業(yè)機(jī)械與裝備關(guān)鍵技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,廣州 510642;2. 山東農(nóng)業(yè)大學(xué)機(jī)械與電子工程學(xué)院,泰安 271018;3. 華南農(nóng)業(yè)大學(xué)工程學(xué)院,廣州 510642)
自然環(huán)境下的水果識(shí)別檢測(cè)是利用計(jì)算機(jī)視覺(jué)技術(shù)獲取水果目標(biāo)位置信息,并將獲得的位置信息傳遞給水果采摘機(jī)器人的機(jī)械手臂,從而能夠精確地進(jìn)行后續(xù)的水果采摘工作[1]。因此,水果的目標(biāo)檢測(cè)是水果采摘自動(dòng)化領(lǐng)域的重要組成部分,近些年來(lái),很多傳統(tǒng)水果檢測(cè)識(shí)別算法相繼提出。
Ji等[2]研究了基于區(qū)域生長(zhǎng)和顏色特征分割的方法,通過(guò)支持向量機(jī)識(shí)別提取的蘋果顏色和形狀特征,但是對(duì)于葉面遮擋引起的平均誤差率較大;Si等[3]設(shè)計(jì)一種雙目立體視覺(jué)的采摘機(jī)器人,通過(guò)RGB顏色通道色差R-G閾值和色差比例(R-G)/(G-B)定位蘋果的像素位置,并通過(guò)隨機(jī)環(huán)方法確定水果的二維信息,然而需要水果進(jìn)行復(fù)雜的預(yù)處理且很難確定水果圖像面積閾值;Lu等[4]提出了一種基于顏色信息和輪廓片段的柑橘識(shí)別方法,采用融合色差信息和歸一化RGB模型的分割技術(shù),通過(guò)對(duì)分割果實(shí)片段的橢圓擬合分析達(dá)到室外自然光照下的識(shí)別目的,但是在初步分割階段未排除光照影響;Wang等[5]利用小波變換歸一化荔枝圖像減小光照影響,并采用基于顏色K-means聚類算法從樹葉和枝干中分割出荔枝圖像,雖然在沒(méi)有遮擋的情況能夠達(dá)到較高的識(shí)別率,但是沒(méi)有考慮到荔枝簇類生長(zhǎng)的特性;Lü等[6]采用基于徑向基核函數(shù)的多分類支持向量機(jī)從樹葉和枝干中分割出柑橘果實(shí),然而水果區(qū)域的訓(xùn)練像素選取非自適應(yīng)且對(duì)小目標(biāo)水果識(shí)別不佳;Zhao等[7]應(yīng)用殘差變換絕對(duì)值和的塊匹配方法檢測(cè)潛在的柑橘果實(shí)像素,構(gòu)建一個(gè)支持向量機(jī)實(shí)現(xiàn)較高的識(shí)別精確率,但是對(duì)于遮擋以及光照不均勻水果的識(shí)別表現(xiàn)不佳。
通常自然環(huán)境下獲取的果蔬圖像都具有較大的差異性和復(fù)雜的背景噪聲,上述傳統(tǒng)的圖像識(shí)別模型受限于自身算法的局限性,無(wú)法找到通用的特征提取模型,只能設(shè)計(jì)識(shí)別檢測(cè)一種特定水果,泛化性不強(qiáng),算法沒(méi)有得到很好的推廣。Krizhevsky等[8]提出AlexNet卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)架構(gòu)在分類識(shí)別中嶄露頭角,對(duì)圖像的識(shí)別精度具有里程碑式的貢獻(xiàn)。CNN具有非線性特征表達(dá)能力強(qiáng),泛化性能好等優(yōu)勢(shì),能夠很好地完成物體的識(shí)別檢測(cè)任務(wù),已用于水果識(shí)別[9]和病蟲害的檢測(cè)[10-12]。近年來(lái),相關(guān)研究人員利用不同深度架構(gòu)[13-14]的CNN不斷刷新圖像分類、識(shí)別的精確率,水果圖像檢測(cè)技術(shù)也得到了進(jìn)一步的發(fā)展。Suchet等[15]提出多尺度多層感知器和卷積神經(jīng)網(wǎng)絡(luò) 2種特征提取算法對(duì)蘋果進(jìn)行分割,但是只針對(duì)單類水果進(jìn)行識(shí)別;傅隆生等[16]利用參數(shù)優(yōu)化和結(jié)構(gòu)約簡(jiǎn)的 LeNet模型對(duì)田間環(huán)境下的獼猴桃進(jìn)行自主特征學(xué)習(xí),但對(duì)于遮擋和重疊果實(shí)沒(méi)有達(dá)到很好的效果;Sa等[17]和熊俊濤等[18]采用Faster R-CNN深度卷積神經(jīng)網(wǎng)絡(luò)分別構(gòu)建甜椒和柑橘檢測(cè)系統(tǒng),但其目標(biāo)檢測(cè)框過(guò)大,易導(dǎo)致目標(biāo)檢測(cè)不夠精準(zhǔn);Liu等[19]提出基于CNN的SSD(single shot detector)深度學(xué)習(xí)物體檢測(cè)方法,實(shí)現(xiàn)兼顧速度的同時(shí)提高了檢測(cè)的精度,有學(xué)者對(duì)其做了進(jìn)一步的改進(jìn)[20-23]。
本文以蘋果、荔枝、臍橙、皇帝柑 4種水果為研究對(duì)象,對(duì)自然環(huán)境下采集的多類水果圖像進(jìn)行識(shí)別檢測(cè)技術(shù)研究,提出一種結(jié)合ResNet的SSD深度檢測(cè)改進(jìn)框架,并訓(xùn)練端到端的識(shí)別檢測(cè)推理模型,通過(guò)對(duì)水果識(shí)別的多組試驗(yàn)對(duì)比,以期實(shí)現(xiàn)簡(jiǎn)化特征提取過(guò)程的同時(shí)提高了水果識(shí)別的精度及其魯棒性,為自然環(huán)境下的水果采摘技術(shù)提供參考。
本文試驗(yàn)的荔枝、皇帝柑圖像于2017年6月和12月使用Canon EOS 60D相機(jī)采集自廣東省廣州市,圖像分辨率為5 184×3 456像素,蘋果、臍橙圖像于2017年6月和 12月使用手機(jī)采集自甘肅省天水市和江西省贛州市,圖像分辨率為3 024×4 032像素。在原始數(shù)據(jù)集基礎(chǔ)上經(jīng)過(guò)預(yù)處理縮放到表 1中的大小,以減小后期特征提取時(shí)對(duì)硬件處理的壓力,并將處理后的數(shù)據(jù)集按照廣泛使用的PASCAL VOC[24]競(jìng)賽的數(shù)據(jù)集格式分為如表1所示的訓(xùn)練集、驗(yàn)證集和測(cè)試集,訓(xùn)練集是隨機(jī)從整體數(shù)據(jù)集中獨(dú)立同分布采樣得到,且測(cè)試集和驗(yàn)證集互斥,保證了后期評(píng)價(jià)標(biāo)準(zhǔn)的可靠性。驗(yàn)證集用于訓(xùn)練過(guò)程中確定模型中的超參數(shù),而測(cè)試集用于評(píng)估模型的泛化能力。
表1 水果數(shù)據(jù)集種類及數(shù)量Table 1 Category and quantity of fruit data sets
數(shù)據(jù)集的標(biāo)注包含感興趣區(qū)域的 4元組參數(shù)(Xmin,Ymin,Xmax,Ymax),分別表示標(biāo)注框的左上角和右下角的坐標(biāo),用于評(píng)測(cè)模型精確度時(shí)根據(jù)輸出框與標(biāo)注框重合率大小判定匹配分?jǐn)?shù),為網(wǎng)絡(luò)模型提供了預(yù)定義輸出。訓(xùn)練集標(biāo)注的優(yōu)劣在一定程度上決定了模型檢測(cè)的精度,因此訓(xùn)練集中標(biāo)注的水果圖像應(yīng)該盡可能的覆蓋各種光照、角度、大小的變化。
在用于自然環(huán)境下的水果識(shí)別檢測(cè)過(guò)程中,該文采用端到端的檢測(cè)模型,首先利用ImageNet數(shù)據(jù)集上的預(yù)訓(xùn)練模型對(duì)水果的訓(xùn)練圖集進(jìn)行訓(xùn)練,得到目標(biāo)檢測(cè)推理模型,然后利用訓(xùn)練性能好的模型進(jìn)行水果的檢測(cè)測(cè)試,得到檢測(cè)結(jié)果。
SSD物體檢測(cè)框架基于前饋卷積網(wǎng)絡(luò),在多層特征圖中產(chǎn)生固定大小的邊界框集合和框中對(duì)象類別的置信度,假設(shè)以表示第i個(gè)默認(rèn)框與類別p的第j個(gè)真實(shí)標(biāo)簽框相匹配,相反的不匹配則 0pijx= 。根據(jù)上述匹配策略,當(dāng)時(shí)意味著有多于一個(gè)與第j個(gè)真實(shí)標(biāo)簽相匹配的默認(rèn)框。檢測(cè)框架的總體目標(biāo)損失函數(shù)用式(1)中位置損失(Lloc)和置信損失(Lconf)的加權(quán)和表示。
式中c是Softmax函數(shù)對(duì)每類別的置信度,N是匹配默認(rèn)框的數(shù)量,權(quán)重項(xiàng)α通過(guò)交叉驗(yàn)證設(shè)置為1。位置損失是預(yù)測(cè)框(l)和真實(shí)標(biāo)簽框(g)之間的平滑L1損失,可表示為
SSD的預(yù)測(cè)框和真實(shí)標(biāo)簽框之間的偏移回歸類似于Faster R-CNN[25]方法,其中 box={cx、cy、w、h}表示預(yù)測(cè)框中心坐標(biāo)及其寬高,可用平移量dicx、dicy和尺度縮放因子獲取真實(shí)標(biāo)簽的近似回歸預(yù)測(cè)框(上標(biāo)m表示cx、cy、w、h),表示為
置信損失可用如式(4)表示,其中表示類別p的第i個(gè)默認(rèn)框置信度,
SSD框架如圖1所示,使用全卷積層的VGG16作為基礎(chǔ)網(wǎng)絡(luò)[26]直接作用特征圖預(yù)測(cè)多目標(biāo)類別和外圍框。由于采用了單點(diǎn)多框檢測(cè)方法,避免如Faster R-CNN中使用的候選區(qū)域方法,權(quán)衡了檢測(cè)的精度和實(shí)時(shí)性,即使對(duì)輸入相對(duì)較低分辨率的圖像也有很好地檢測(cè)效果。
圖 1所示 SSD 針對(duì) Conv4_3、FC7、Conv8_2、Conv9_2、Conv10_2和Conv11_2特征層的每一個(gè)單元按照不同長(zhǎng)寬比分別提取4到6個(gè)默認(rèn)框,最終獲取8 732個(gè)默認(rèn)框,訓(xùn)練階段利用式(1)為預(yù)測(cè)框做坐標(biāo)偏移的回歸分析,使其盡可能接近標(biāo)注框。測(cè)試階段每一個(gè)默認(rèn)框都和標(biāo)注框進(jìn)行重疊率匹配,并按照匹配分?jǐn)?shù)從高到低排序,利用極大值抑制[26]的方法,將檢測(cè)結(jié)果進(jìn)行約簡(jiǎn)。
深度卷積神經(jīng)網(wǎng)絡(luò)使得圖像的識(shí)別率相比傳統(tǒng)的識(shí)別方法有了長(zhǎng)足的進(jìn)步,從 AlexNet的 8層網(wǎng)絡(luò)到VGG的16層網(wǎng)絡(luò),更深的卷積網(wǎng)絡(luò)整合了不同層次的特征。相關(guān)研究也表明可以通過(guò)增加網(wǎng)絡(luò)層數(shù)豐富特征,Simonyan等[27]證明識(shí)別的精度隨著網(wǎng)絡(luò)深度的加深而提高,然而反向傳播時(shí)梯度爆炸導(dǎo)致簡(jiǎn)單的堆疊卷積層并不能順利地訓(xùn)練網(wǎng)絡(luò)。有研究通過(guò)批量歸一化[28]和dropout[8]技術(shù)使得有限的深層能夠繼續(xù)訓(xùn)練,但在一定的訓(xùn)練迭代之后出現(xiàn)精度的飽和導(dǎo)致精度下降問(wèn)題依然存在。
圖1 SSD檢測(cè)框架Fig.1 single shot multi-boxdetector (SSD) detection model
為突破網(wǎng)絡(luò)在深層網(wǎng)絡(luò)精度退化和網(wǎng)絡(luò)深度上的限制,He等[29]借助恒等映射的概念,提出深度殘差(ResNet)模型,利用多層網(wǎng)絡(luò)擬合一個(gè)殘差映射解決了退化問(wèn)題。假設(shè)H(X)表示目標(biāo)最優(yōu)解映射,用堆疊的非線性層擬合另一個(gè)映射F(X)(如圖2所示),可用式(5)表示。
此時(shí)原最優(yōu)解映射H(X)就可以等價(jià)為F(X)+X,即圖2中所示前饋網(wǎng)絡(luò)中的快捷連接實(shí)現(xiàn),快捷連接的方式可以用式(6)表示,其中X表示模塊的輸入向量,Y表示模塊的輸出向量,Wi表示權(quán)重層參數(shù),當(dāng)輸入和輸出維度一致時(shí)需要增加一個(gè)線性投影Ws來(lái)匹配維度。
圖2 殘差學(xué)習(xí)模塊Fig.2 Residual learning block
ResNet-101由如圖2所示的結(jié)構(gòu)相同的101個(gè)模塊重復(fù)堆疊構(gòu)成,該文將VGG16輸入模型替換為101層殘差網(wǎng)絡(luò)ResNet-101,對(duì)經(jīng)典SSD深度學(xué)習(xí)模型進(jìn)行改進(jìn),改進(jìn)后的檢測(cè)框架如圖3所示。
圖3 基于ResNet-101的改進(jìn)SSD檢測(cè)框架Fig.3 Improved SSD detection framework based on ResNet-101
隨機(jī)初始化權(quán)值需要花費(fèi)大量的時(shí)間將模型損失值收斂于穩(wěn)定值。采用Xavier初始化方法[30],則可以降低隨機(jī)設(shè)置初始權(quán)值帶來(lái)的網(wǎng)絡(luò)不穩(wěn)定性。Jason等[31]通過(guò)網(wǎng)絡(luò)模型遷移試驗(yàn)并可視化證明底層的卷積神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)到物體的通用特征,例如邊緣、幾何變化、光照變化等,高層網(wǎng)絡(luò)能夠提取出特定任務(wù)的特征細(xì)節(jié)。相比Xavier初始化方法,遷移學(xué)習(xí)能夠在數(shù)據(jù)集較小的情況下快速適應(yīng)新的任務(wù)。因此采用大數(shù)據(jù)集(ImageNet數(shù)據(jù))下訓(xùn)練好的預(yù)訓(xùn)練模型,共享底層結(jié)構(gòu)權(quán)值參數(shù),然后修改模型的頂層網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行微調(diào),可以克服不同數(shù)據(jù)集之間的差異性,在新的任務(wù)中將會(huì)快速的收斂于鄰域很小的損失值。本文采用在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練的權(quán)重模型作為SSD檢測(cè)框架的初始權(quán)重模型,通過(guò)遷移學(xué)習(xí)的特征,進(jìn)一步降低訓(xùn)練的時(shí)間和資源。
數(shù)據(jù)增強(qiáng)是一種可以在不降低檢測(cè)精度的情況下提高算法魯棒性的通用做法,特定場(chǎng)景和實(shí)際應(yīng)用中,往往很難收集滿足各種條件的數(shù)據(jù)用于訓(xùn)練和測(cè)試,因此許多目標(biāo)檢測(cè)算法都采用數(shù)據(jù)增強(qiáng)的方式來(lái)評(píng)估所設(shè)計(jì)的算法泛化能力,常用的數(shù)據(jù)增強(qiáng)方法包括水平翻轉(zhuǎn)、平移、裁剪和顏色抖動(dòng)等[8]。本文對(duì)采集的自然環(huán)境下的圖像數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng)操作以驗(yàn)證模型的泛化能力。
Caffe是一款優(yōu)秀的深度學(xué)習(xí)框架[32],本文試驗(yàn)基于該框架的模型接口部署,首先配置運(yùn)行環(huán)境,根據(jù)現(xiàn)有的硬件設(shè)備能夠支撐的能力設(shè)置檢測(cè)模型的超參數(shù),包括圖像批處理大小,輸入圖像的維數(shù),基礎(chǔ)網(wǎng)絡(luò)的深度。該文運(yùn)行的試驗(yàn)環(huán)境和需要的軟硬件設(shè)備:Linux使用Ubuntu 16.04長(zhǎng)期支持版、GPU采用 NVIDIA TITAN X、Caffe、CPU為Intel Core i7-6700,處理頻率為 3.4 GHz、CUDA 8.0版本并行計(jì)算框架配合CUDNN 5.1版本的深度神經(jīng)網(wǎng)絡(luò)加速庫(kù)、Python版本為 2.7.12、內(nèi)存選擇為16 GB并且使用500GB的機(jī)械硬盤。
為了更好地顯示卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)作流程,該文將特征提取的中間過(guò)程進(jìn)行可視化操作,由于高層特征圖的維度較低,顯示特征較小,圖 4所示給出了卷積過(guò)程中根據(jù)最終的權(quán)重模型得到的卷積 Conv1_1層和池化Pool1層。Conv1_1層是推理模型特征提取之后第一層,從圖中可看出水果輪廓特征,證明了底層的包含大量的紋理信息,并且經(jīng)過(guò)池化層之后特征輪廓未改變,進(jìn)一步地降低了特征表達(dá)的維度,經(jīng)過(guò)CNN的多層語(yǔ)義表達(dá)之后得到水果的目標(biāo)區(qū)域。
圖4 SSD檢測(cè)過(guò)程可視化Fig.4 Visualizing of SSD detection process
3.2.1 試驗(yàn)設(shè)計(jì)
試驗(yàn)中,分析檢測(cè)效果比預(yù)期低的原因主要是因?yàn)檩斎肽P蜕疃葴\導(dǎo)致識(shí)別精度不高,數(shù)據(jù)集的規(guī)模小導(dǎo)致檢測(cè)泛化性不強(qiáng),在測(cè)試集中存在大量的遮擋水果圖像,導(dǎo)致召回率低。針對(duì)以上問(wèn)題,本文通過(guò)以下幾組試驗(yàn)提升檢測(cè)精度:1)將 VGG輸入模型替換為ResNet-101分別進(jìn)行模型識(shí)別對(duì)比;2)對(duì)原始訓(xùn)練集進(jìn)行水平翻轉(zhuǎn)進(jìn)行數(shù)據(jù)增強(qiáng)以驗(yàn)證模型的泛化能力;3)對(duì)不同遮擋比例圖像進(jìn)行目標(biāo)識(shí)別,分析模型的檢測(cè)精度。
3.2.2 試驗(yàn)參數(shù)設(shè)置
本文試驗(yàn)采用隨機(jī)梯度下降SGD(stochastic gradient descent)算法[33]將經(jīng)典SSD深度學(xué)習(xí)框架部署在GeForce GTXTITAN X加速顯卡上訓(xùn)練,訓(xùn)練集進(jìn)一步預(yù)處理縮放到300×300像素以減小整個(gè)網(wǎng)絡(luò)的參數(shù)量。
由于原始權(quán)重經(jīng)過(guò)大數(shù)據(jù)集預(yù)訓(xùn)練,因此試驗(yàn)中將學(xué)習(xí)動(dòng)量設(shè)為0.9,權(quán)重衰減為5×10-4,圖像批處理大小為16,學(xué)習(xí)率前3×104次迭代階段設(shè)置為10-4,后3×104次迭代設(shè)置為 3×10-5進(jìn)行微調(diào)防止過(guò)擬合。24 h的訓(xùn)練周期包含了預(yù)處理和后處理,生成的推理模型檢測(cè)每張大小為500×333像素左右的圖像速度維持在0.05 s左右,訓(xùn)練過(guò)程的損失圖和查準(zhǔn)率-召回率曲線圖如圖5所示,訓(xùn)練損失圖在較短的迭代次數(shù)內(nèi)能夠迅速收斂損失值,這得益于遷移學(xué)習(xí)在底層卷積層中的權(quán)重共享。此外如果使用浮點(diǎn)運(yùn)算更高和顯存更大的加速顯卡,模型的收斂及檢測(cè)速度將進(jìn)一步提高。
圖5 經(jīng)典SSD模型訓(xùn)練損失圖和檢測(cè)查準(zhǔn)率-召回率(PR)圖Fig.5 Training loss map and precision-recall rate (PR)diagram of detection of classical SSD model
3.2.3 評(píng)價(jià)指標(biāo)
查準(zhǔn)率P(%)表示預(yù)測(cè)的檢測(cè)框中檢測(cè)正確的比例,召回率R(%)表示預(yù)測(cè)框正確框在所有標(biāo)注框中的比例,可以表示為
式中TP為檢測(cè)到的相關(guān)數(shù)量,F(xiàn)P表示檢測(cè)到不相關(guān)數(shù)量,F(xiàn)N表示未檢測(cè)到不相關(guān)數(shù)量。
AP(average precision)是PR曲線在查準(zhǔn)率基礎(chǔ)上對(duì)召回率的積分,mAP(mean average precision)表示多類物體的平均AP值,是測(cè)量網(wǎng)絡(luò)對(duì)目標(biāo)物體敏感度的一種標(biāo)準(zhǔn)。mAP值越高就說(shuō)明卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別精確度越高,但代價(jià)是檢測(cè)的速度將變慢,在圖5b中顯示了識(shí)別模型的PR曲線圖走勢(shì)為偏右上角的凸曲線,曲線在坐標(biāo)軸上的積分越大表明mAP值越大,最終的mAP(平均AP值)達(dá)到86.38%,圖6所示為SSD檢測(cè)部分水果示例圖。
3.2.4 結(jié)果分析
表2和圖7為該文提出將101層堆疊的殘差模塊進(jìn)行組合成的ResNet-101網(wǎng)絡(luò)替換SSD中原始的VGG16網(wǎng)絡(luò)后得到的對(duì)比結(jié)果。
圖6 SSD檢測(cè)示例圖像Fig.6 Sample pictures of SSD detection
表2 不同網(wǎng)絡(luò)SSD模型的檢測(cè)平均精確度Table 2 Detection average precision of with different networks SSD model
通過(guò)試驗(yàn)對(duì)比分析可以看出,ResNet-101+SSD模型對(duì)各類水果的平均精度均有提升貢獻(xiàn),需要注意的是網(wǎng)絡(luò)在創(chuàng)建凍結(jié)推理模型時(shí)丟棄了低于重疊聯(lián)合比閾值0.5的檢測(cè)結(jié)果,這相當(dāng)于在檢測(cè)器的精確召回曲線上選擇一個(gè)點(diǎn)并且丟棄該點(diǎn)的一部分,這對(duì)mAP度量將會(huì)產(chǎn)生負(fù)面影響。
圖7 基于VGG16和ResNet-101網(wǎng)絡(luò)的SSD模型查準(zhǔn)率-召回率對(duì)比Fig.7 Precision-recall rate of SSD models based on VGG16 and ResNet-101 networks
特征提取器的選擇至關(guān)重要,因?yàn)榫矸e層的參數(shù)和類型的數(shù)量直接影響檢測(cè)器的內(nèi)存、速度和性能。圖 7和圖8所示分別為2種SSD模型的PR曲線和檢測(cè)對(duì)比試驗(yàn)結(jié)果,從試驗(yàn)結(jié)果中可以看到,通過(guò)改變網(wǎng)絡(luò)的深度和提取模型,該文提出的ResNet-101網(wǎng)絡(luò)模型最終的檢測(cè)結(jié)果比原始的VGG16模型檢測(cè)精度更高、效果也更好,在TITAN X顯卡加速下,相同的分辨率圖像檢測(cè)速度僅比VGG16的檢測(cè)速度低0.09 s左右,足以滿足水果識(shí)別檢測(cè)任務(wù)。
圖8 基于VGG16和ResNet-101網(wǎng)絡(luò)的SSD模型識(shí)別對(duì)比Fig.8 Comparison of SSD model recognition based on VGG16 and ResNet-101 network
卷積神經(jīng)網(wǎng)絡(luò)自身?yè)碛袕?qiáng)大的表征能力,為了獲得良好的檢測(cè)效果,除了使用更好的模型,同時(shí)也需要海量的數(shù)據(jù)驅(qū)動(dòng)模型的訓(xùn)練,否則可能使模型陷入過(guò)擬合的窘境。本文對(duì)圖像數(shù)據(jù)進(jìn)行水平翻轉(zhuǎn)數(shù)據(jù)增強(qiáng)操作,相當(dāng)于數(shù)據(jù)量增加一倍,檢測(cè)結(jié)果如表2中所示。
試驗(yàn)發(fā)現(xiàn),經(jīng)過(guò)翻轉(zhuǎn)數(shù)據(jù)擴(kuò)充之后,2種網(wǎng)絡(luò)的檢測(cè)精度都有所增加,采用ResNet-101+SSD運(yùn)用數(shù)據(jù)增強(qiáng)技巧將檢測(cè)精度提升了1.13個(gè)百分點(diǎn)后平均檢測(cè)精度可至89.53%,雖然精度的提升程度并不明顯,但是增加了檢測(cè)模型對(duì)水果圖像復(fù)雜環(huán)境下的魯棒性。
傳統(tǒng)的水果識(shí)別算法以顏色空間為基礎(chǔ),首先進(jìn)行復(fù)雜的特征提取預(yù)處理,再利用 SVM(support vector machine)等分類器進(jìn)行分類判別將水果從背景中分割出來(lái),然而由于樹葉、枝干和果實(shí)相互遮擋,傳統(tǒng)方法容易被環(huán)境因素干擾很難定位遮擋水果,給水果的識(shí)別檢測(cè)帶來(lái)了極大的困難。為了綜合判別不同遮擋情況下的檢測(cè)識(shí)別精確率,本試驗(yàn)對(duì)每類水果隨機(jī)選取 100張圖像進(jìn)行測(cè)試,按水果圖像不同的遮擋率(式(9))并給出了式(10)所示的F1值評(píng)價(jià)標(biāo)準(zhǔn)。
式中R′為遮擋率(%),Stotal為被遮擋的水果圖像還原擬合為無(wú)遮擋情況下的水果圖像總面積,Socclusion為被遮擋的面積,等于Stotal減去沒(méi)有被遮擋的水果面積Sfruit。
式中F1是查準(zhǔn)率和召回率的加權(quán)平均,其值越大說(shuō)明效果越好,反之越差,表3為F1值衡量檢測(cè)的結(jié)果,圖9為不同遮擋率下檢測(cè)示例。
表3 基于ResNet-101網(wǎng)絡(luò)不同遮擋比例的檢測(cè)精度Table 3 Detection precision with different occlusion ratio based on ResNet-101 network
圖9 部分遮擋檢測(cè)示例圖像Fig.9 Example picture of partial occlusion detection
通過(guò)圖 9所示部分遮擋示例以及得到的試驗(yàn)數(shù)據(jù)發(fā)現(xiàn),對(duì)于遮擋低于50%的情況下,4種水果的平均F1值能夠達(dá)到96.12%,其中皇帝柑和臍橙由于其果實(shí)較大,遮擋因素主要是樹葉和枝干,因此能夠在不同遮擋比例情況下保持較高的檢測(cè)識(shí)別率;但是對(duì)于荔枝這類串類水果受聚集生長(zhǎng)的緣故,遮擋物主要是同類物體,檢測(cè)框容易包含2個(gè)果實(shí),從而導(dǎo)致遮擋率超過(guò)75%時(shí)單個(gè)果實(shí)的檢測(cè)識(shí)別率不高,然而由于串類水果采摘時(shí)是以串為單位進(jìn)行采摘的,檢測(cè)框中包含 2個(gè)果實(shí)并不影響對(duì)水果的采摘,故足以滿足水果自動(dòng)化采摘的需要。
該文以蘋果、荔枝、臍橙、皇帝柑 4類水果為研究對(duì)象,運(yùn)用基于改進(jìn)的SSD深度學(xué)習(xí)模型檢測(cè)技術(shù)對(duì)這4類水果進(jìn)行檢測(cè)識(shí)別研究。
1)運(yùn)用遷移學(xué)習(xí)的方法,將大數(shù)據(jù)集(ImageNet數(shù)據(jù)集)下的權(quán)重模型移植到多類水果檢測(cè)任務(wù),大大降低了訓(xùn)練的時(shí)間和資源,利用經(jīng)典的SSD框架作為基本的深度學(xué)習(xí)網(wǎng)絡(luò)檢測(cè)的平均精度為86.38%。
2)采用ResNet-101替換SSD框架中的VGG16基本網(wǎng)絡(luò),將水果的檢測(cè)精度從86.38%提高到了88.4%,運(yùn)用數(shù)據(jù)增強(qiáng)技巧將檢測(cè)精度提升了1.13個(gè)百分點(diǎn)后平均檢測(cè)精度可至89.53%,針對(duì)遮擋率低于50%的水果檢測(cè)問(wèn)題,改進(jìn)后的SSD深度學(xué)習(xí)模型對(duì)這4類水果的檢測(cè)識(shí)別率F1值平均能夠達(dá)到96.12%。
3)訓(xùn)練了端到端的檢測(cè)模型,相比傳統(tǒng)的識(shí)別算法,該文提出的基于改進(jìn)的SSD深度學(xué)習(xí)框架的檢測(cè)技術(shù)不用針對(duì)不同水果圖像進(jìn)行人工特征選擇,就可以同時(shí)對(duì)多類水果進(jìn)行檢測(cè)識(shí)別,從而大大減少了工作量,提高了水果檢測(cè)識(shí)別的效率。
此外基于標(biāo)注框的檢測(cè)技術(shù),也可以很好地解決重疊水果的目標(biāo)分割問(wèn)題,從而為水果自動(dòng)化采摘帶來(lái)新的思路。
[1]Edan Y, Han S, Kondo N. Automation in Agriculture[M].New York: Springer Publishing Company, 2009.
[2]Ji Wei, Zhao Dean, Cheng Fengyi, et al. Automatic recognition vision system guided for apple harvesting robot[J]. Computers& Electrical Engineering, 2012, 38(5): 1186-1195.
[3]Si Yongsheng, Liu Gang, Feng Juan. Location of apples in trees using stereoscopic vision[J]. Computers and Electronics in Agriculture, 2015, 112: 68-74.
[4]Lu Jun, Nong Sang. Detecting citrus fruits and occlusion recovery under natural illumination conditions[J]. Computers and Electronics in Agriculture, 2015, 110: 121-130.
[5]Wang Chenglin, Zou Xiangjun, Tang Yunchao, et al.Localisation of litchi in an unstructured environment using binocular stereo vision[J]. Biosystems Engineering, 2016,145: 39-51.
[6]Lü Q, Cai J R, Liu B, et al. Identification of fruit and branch in natural scenes for citrus harvesting robot using machine vision and support vector machine[J]. Int J Agric&BiolEng,2014, 7(2): 115-121.
[7]Zhao Chuanyuan, Won Suk Lee, He Dongjian. Immature green citrus detection based on colour feature and sum of absolute transformed difference (SATD) using colour images in the citrus grove[J]. Computers and Electronics in Agriculture, 2016, 124: 243-253.
[8]Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]//International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012: 1097-1105.
[9]周云成,許童羽,鄭偉,等. 基于深度卷積神經(jīng)網(wǎng)絡(luò)的番茄主要器官分類識(shí)別方法[J]. 農(nóng)業(yè)工程學(xué)報(bào),2017,33(15):219-226.Zhou Yuncheng, Xu Tongyu, Zheng Wei, et al. Classification and recognition approaches of tomato main organs based on DCNN[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017,33(15): 219-226. (in Chinese with English abstract)
[10]楊國(guó)國(guó),鮑一丹,劉子毅. 基于圖像顯著性分析與卷積神經(jīng)網(wǎng)絡(luò)的茶園害蟲定位與識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2017,33(6):156-162.Yang Guoguo, Bao Yidan, Liu Ziyi. Localization and recognition of pests in tea plantation based on image saliency analysis and convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering(Transactions of the CSAE), 2017, 33(6): 156-162. (in Chinese with English abstract)
[11]孫俊,譚文軍,毛罕平,等. 基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的多種植物葉片病害識(shí)別[J]. 農(nóng)業(yè)工程學(xué)報(bào),2017,33(19):209-215.Sun Jun, Tan Wenjun, Mao Hanping, et al. Recognition of multiple plant leaf diseases based on improved convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017,33(19): 209-215. (in Chinese with English abstract)
[12]譚文學(xué),趙春江,吳華瑞,等. 基于彈性動(dòng)量深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的果體病理圖像識(shí)別[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2015,46(1):20-25.Tan Wenxue, Zhao Chunjiang, Wu Huarui, et al. A deep learning network for recognizing fruit pathologic images based on flexible momentum[J]. Transactions of the Chinese Society for Agricultural Machinery, 2015, 46(1): 20-25. (in Chinese with English abstract)
[13]Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]//IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1-9.
[14]Zeiler M D, Fergus R. Visualizing and understanding convolutional networks[J]. In: Fleet D., Pajdla T., Schiele B.,Tuytelaars T. (eds) Computer Vision – ECCV 2014. ECCV 2014. Lecture Notes in Computer Science, vol 8689. Springer,Cham, 2014.
[15]Bargoti S, Underwood J P. Image segmentation for fruit detection and yield estimation in apple orchards[J].Journal of Field Robotics, 2017, 34(6): 1039-1060.
[16]傅隆生,馮亞利,ElkamilTola,等. 基于卷積神經(jīng)網(wǎng)絡(luò)的田間多簇獼猴桃圖像識(shí)別方法[J]. 農(nóng)業(yè)工程學(xué)報(bào),2018,34(2):205-211.Fu Longsheng, Feng Yali, ElkamilTola, et al. Image recognition method of multi-cluster kiwifruit in field based on convolutional neural networks[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(2): 205-211. (in Chinese with English abstract)
[17]Sa I, Ge Z, Dayoub F, et al. DeepFruits: A fruit detection system using deep neural networks[J]. Sensors, 2016, 16(8):1222.
[18]熊俊濤,劉振,湯林越,等. 自然環(huán)境下綠色柑橘視覺(jué)檢測(cè)技術(shù)研究[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2018,49(4):45-52.Xiong Juntao, Liu Zhen, Tang Linyue, et al. Visual detection technology of green citrus under natural environment[J].Transactions of the Chinese Society for Agricultural Machinery, 2018, 49(4): 45-52. (in Chinese with English abstract)
[19]Liu Wei, Anguelov D, Erhan D, et al. SSD: Single shot multiBoxdetector[J]. European Conference on Computer Vision, 2016: 21-37.
[20]Fu Chengyang, Liu Wei, Ranga Ananth, et al. Dssd:Deconvolutional single shot detector[EB/OL]. [2017-01-23].https://arxiv.org/abs/1701.06659.
[21]Cao Guimei, Xie Xuemei, Yang Wenzhe, et al.Feature-Fused SSD: Fast detection for small objects[EB/OL].[2017-09-15]. https://arxiv.org/abs/1709.05054.
[22]Li Zuoxin, Zhou Fuqiang. FSSD: Feature Fusion Single Shot Multibox Detector[EB/OL]. [2017-12-04]. https://arxiv.org/abs/1712.00960.
[23]Chen Yunpeng, Li Jianshu, Zhou Bin, et al. Weaving multi-scale context for single shot detector[EB/OL].[2017-12-08]. https://arxiv.org/abs/1712.031497.
[24]Everingham M, Gool L, Williams C K, et al. The pascal visual object classes (voc) challenge[J]. Int. J. Comput.Vision, 2010, 88(2): 303-338.
[25]Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]//International Conference on Neural Information Processing Systems. MIT Press, 2015: 91-99.
[26]Neubeck A, Gool L V. Efficient non-maximum suppression[C]// International Conference on Pattern Recognition, 2006, 3: 850-855.
[27]Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL].[2014-09-04]. https://arxiv.org/abs/1712.031497.
[28]Sergey I, Christian S. Batch normalization: Accelerating deep network training by reducing internal covariate shift[EB/OL].[2018-03-02]. https://arxiv.org/abs/1502.03167.
[29]He K, Zhang X, Ren S, et al. Identity mappings in deep residual networks[J]. In: European Conference on Computer Vision. Springer International Publishing, 2016: 630-645.
[30]Glorot X, Bengio Y. Understanding the difficulty of training deep feedforward neural networks[J]. Journal of Machine Learning Research, 2010, 9: 249-256.
[31]Yosinski J, Clune J, Bengio, et al. How transferable are features in deep neural networks [J]. Proceeding NIPS'14,2014, 2: 3320-3328.
[32]Jia Yangqing, Evan Shelhamer, Jeff Donahue, et al. Caffe:Convolutional architecture for fast feature embedding[J].ACM International Conference on Multimedia, 2014: 675-678.
[33]Léon Bottou, Olivier Bousquet. Learning Using Large Datasets, Mining Massive DataSets for Security[M]. NATO ASI Workshop Series, IOS Press, Amsterdam, 2008:15?26.