邱津怡 羅俊 李秀 賈偉 倪福川 馮慧



摘 要:葡萄品種質量檢測需要識別多類別的葡萄,而葡萄圖片中存在多種景深變化、多串等多種場景,單一預處理方法存在局限導致葡萄識別的效果不佳。實驗的研究對象是大棚中采集的15個類別的自然場景葡萄圖像,并建立相應圖像數據集Vitis-15。針對葡萄圖像中同一類別的差異較大而不同類別的差異較小的問題,提出一種基于卷積神經網絡(CNN)的多尺度葡萄圖像識別方法。首先,對Vitis-15數據集中的數據通過三種方法進行預處理:旋轉圖像的數據擴增方法、中心裁剪的多尺度圖像方法以及前兩種方法的數據融合方法;然后,采用遷移學習方法和卷積神經網絡方法來進行分類識別,遷移學習選取ImageNet上預訓練的Inception V3網絡模型,卷積神經網絡采用AlexNet、ResNet、Inception V3這三類模型;最后,提出適合Vitis-15的多尺度圖像數據融合的分類模型MS-EAlexNet。實驗結果表明,在同樣的學習率和同樣的測試集上,數據融合方法在MS-EAlexNet上的測試準確率達到了99.92%,相較擴增和多尺度圖像方法提升了近1個百分點,
并且所提方法在分類小樣本數據集上具有較高的效率。
關鍵詞:圖像識別;自然場景;遷移學習;卷積神經網絡;多尺度圖像;數據融合
中圖分類號:TP183
文獻標志碼:A
Abstract: Grape quality inspection needs the identification of multiple categories of grapes, and there are many scenes such as depth of field changes and multiple strings in the grape images.? Grape recognition is ineffective due to the limitations of single pretreatment method. The research objects were 15 kinds of natural scene grape images collected in the greenhouse, and the corresponding image dataset Vitis-15 was established. Aiming at the large intra-class differences and small inter-class of differences grape images, a multi-scale grape image recognition method based on Convolutional Neural Network (CNN) was proposed. Firstly, the data in Vitis-15 dataset were pre-processed by three methods, including the image rotating based data augmentation method, central cropping based multi-scale image method and data fusion method of the above two. Then, transfer learning method and convolution neural network method were adopted to realiize the classification and recognition. The Inception V3 network model pre-trained on ImageNet was selected for transfer learning, and three types of models — AlexNet, ResNet and Inception V3 were selected for convolution neural network. The multi-scale image data fusion classification model MS-EAlexNet was proposed, which was suitable for Vitis-15. Experimental? results show that with the same learning rate on the same test dataset, compared with the augmentation and multi-scale image method, the data fusion method improves nearly 1% testing accuracy on MS-EAlexNet model with 99.92% accuracy, meanwhile the proposed method has higher efficiency in classifying small sample datasets.
Key words: image recognition; natural scene; transfer learning; Convolutional Neural Network (CNN); multi-scale image; data fusion
0 引言
近年來,我國葡萄產量逐年增加,截止到2014年,我國葡萄種植面積已達767.2千公頃(7672km2),
產量已躍居世界第一[1]。目前果園中葡萄分類識別需要大量的人力來完成,然而,由于人力分辨能力和速度的限制,果園中葡萄的分類識別效果不佳;并且由于果園環境的復雜性和不確定性,加之葡萄是簇生水果且其輪廓不規則,導致同一類間差別較大而不同類別間差異較小[2],使得葡萄串的識別和定位成為難題[3]。
多年來,圖像識別對于智能果園管理、智能農業目標檢測、定位與識別等問題至關重要,然而圖像識別的關鍵在于圖像特征的提取,使用顯著對象作為圖像內容表示和特征提取的主要圖像組件[4]。按照特征提取方法的不同分為傳統圖像特征提取方法與深度卷積神經網絡自動提取特征兩種。通過文獻[5]總結出:傳統圖像特征提取方法主要考慮圖像的顏色特征、紋理特征、形狀特征和空間關系特征。基于顏色直方圖特征匹配方法主要有直方圖相交法、距離法、中心距法、參考顏色表法、累加顏色直方圖法等,由于顏色無法衡量圖像的方向和大小,所以不能很好提取圖像的局部特征。基于紋理特征提取常用的統計方法是灰度共生矩陣(Gray-Level Co-occurrence Matrix, GLCM)法和半方差圖,常用的模型有隨機場模型和分形模型,而紋理是居于區域的概念,所以會導致過度區域化而忽略了全局特征。基于形狀特征提取的方法主要有邊界特征法、傅里葉形狀描述符法、幾何參數法和形狀不變矩法等,而對于形變目標識別效果不佳。基于空間關系特征提取常用兩種方法:一種是對圖像進行自動分割,劃分圖像中包含的對象區域,根據這些區域提取圖像特征并建立索引關系;另一種是將圖像劃分為若干子塊,對子塊進行特征提取并建立索引關系,而對于圖像的旋轉、尺度變化不敏感。由于傳統特征提取方法具有較強的局限性,針對圖像分類問題,本文主要采用卷積神經網絡來提取圖像特征。
在圖像識別技術發展過程中,許多深度學習模型被提出,如:深度置信網絡(Deep Belief Network,DBN)[6]、判別特征網絡(Discriminative Feature Network, DFN)[7]、卷積神經網絡(Convolutional Neural Network, CNN)、循環神經網絡(Recurrent Neural Network, RNN)[8]等。相較于淺層學習模型的特征提取依靠手工來進行選擇,深度學習的深層網絡結構可以逐層對數據進行特征提取,使得特征更明顯且更容易被用于圖像分類和識別。深度學習根據監督方式的不同,主要分為監督、半監督和無監督方式將圖像語義標注信息表示為監督學習的問題[9]。
早在20世紀80年代,LeCun等[10]提出了基于卷積神經網絡的手寫數字識別網絡LeNet-5。2012年Krizhevsky等[11]提出AlexNet模型,并在ImageNet競賽中取得了冠軍,該模型采用兩塊GPU,大幅提升了網絡的運算效率。2014年Simonyan等[12]提出層數更深、分類效果更好的模型VGG(Visual Geometry Group)。
同年GoogLeNet[13]被提出,它采用一種網中網的結構,加大了整個模型的寬度和深度;但隨著模型深度加深的同時,會出現模型難以訓練的情況。He等[14]在2015年提出殘差網絡ResNet解決了這個問題;2016年Inception-v4[15]被提出,它是基于Inception-v3的改進,模型更簡潔,計算量也更小。
在分類識別算法上,通過組合不同的描述符可以獲得更好的分類結果[16],使用監督學習或者無監督學習要比使用隨機濾波器和人工特征識別效果更好[17]。
在本文的實驗中,采用了支持向量機(Support Vector Machine, SVM)方法[18]、遷移學習[19]和深度卷積神經網絡來分類葡萄圖像,并且提出適合Vitis-15數據集的分類識別模型MS-EAlexNet,最后通過調節參數及激活函數來優化網絡,使得在測試集上的效果得以提升。
1 材料與方法
1.1 數據集概況
1.1.1 葡萄數據集Vitis-15
本實驗數據于2017年和2018年通過采集大棚中15個類別的自然場景葡萄圖像并建立相應小樣本數據集,數據集命名為Vitis-15。在拍攝過程中,拍攝條件沒有任何限制,在自然光的照射下用安卓和蘋果手機對懸掛的葡萄進行拍攝,葡萄品種分別為:比昂扣、夏黑、金手指、美人指、水晶葡萄、摩爾多瓦、甬優一號、克倫生、陽光玫瑰、巨玫瑰、香玉、紅提、紅地球、黑珍珠、赤霞珠,如表1所示。
本數據集的復雜度在于:1)同一品種的葡萄由于年份及生長環境不同,成熟度、色澤、葡萄串的形狀會有差別,導致同一類別間差異較大。如圖1(a)所示,同一品種的甬優一號有黃綠色、紫紅色、黃綠色與淺紫色相間。同一品種的夏黑,由于栽培方式和種植環境的不同,串形和大小有明顯差異。2)不同品種之間形狀大小及顏色也較為相近,導致不同類別間差異較小。如圖1(b)所示,陽光玫瑰、比昂扣和水晶葡萄三個類別,黑珍珠、甬優一號和夏黑三個類別,摩爾多瓦和赤霞珠兩個類別,在外觀上肉眼難以區分。3)拍攝的圖片中既有單串的又有多串的;自然背景較為復雜,有逆光和背光拍攝;有的葡萄支架會與葡萄本身顏色接近形成干擾,葡萄葉片與果粒本身顏色也很接近形成較強的干擾。
1.1.2 Vitis-15數據集預處理
本實驗中采取的數據預處理為數據縮放,預先將圖片縮放至卷積神經網絡要求大小(224×224和299×299)。由于原始拍攝圖片寬高比并不是1∶1, 直接縮放到1∶1會使葡萄發生形變,丟失物體本身的特征信息,對葡萄圖像分類識別的準確率會有所影響,所以在縮放時保留原始圖像的寬高比,空白信息填充像素“0”(即為黑色)。
1.2 實驗方法
1.2.1 支持向量機
訓練機器學習分類算法,需要先進行數據預處理;再進行特征選擇,最后選擇分類器。在數據預處理過程中,先將特征值縮放到相同的區間,稱為特征縮放。特征縮放有兩個常用的方法:歸一化和標準化。本文實驗采用標準化。通過標準化,可以將特征列的均值設為0,方差設為1,使得特征列的值呈現標準正態分布,這更易于權重的更新。相較于歸一化方法,標準化方法保持了異常值所蘊含的有用信息,并且使得算法受到這些值的影響較小。標準化的過程可用式(1)表示:
例如,在刑事案件追蹤的研究中,對于準確率的要求較低,而更要求時效性時,可以采用遷移學習加SVM方法;在醫學影像這種需要高精度的研究中,可以采用遷移學習加全連接層這種方法。
2.2 卷積神經網絡結果分析
模型訓練與測試均是在TensorFlow框架下完成的。硬件環境:Intel Xeon E5-2620v4 @2.10GHz CPU,128GB內存;NVIDIA GTX 1080 Ti GPU,11GB顯存。軟件環境:CUDA Toolkit 9.0,CUDNN V7.0;Python 3.5.2;TensorFlow-GPU 1.7.0;Ubuntu16.04操作系統。模型訓練和測試均是通過GPU加速。
在劃分訓練集和測試集時,采用8∶2的比例來劃分,不是整個所有擴增后的數據直接隨機抽取20%作為測試集,而是采用分層抽樣的思想,即每個種類都隨機采樣20%作為測試集,包括1277張圖片,且所有模型的測試準確率均是在同一測試集上所得。
2.2.1 深度卷積網絡模型的結果分析
本文實驗分別采用AlexNet、ResNet50、ResNet101、ResNet152、ResNet200、Inception V3和MS-EAlexNet七種卷積神經網絡進行訓練,在測試集上的準確率如表2所示。通過表2和圖4可以看出,在MS方法下,四種殘差網絡(ResNet50、ResNet101、ResNet152和ResNet200)的準確率在采用同樣參數訓練時,隨著網絡層數的加深而單調遞減。
在實驗過程中當采用與ResNet50和ResNet101這兩個網絡同樣的參數時,ResNet152和ResNet200這兩個網絡會出現無法收斂現象,將學習率(learning rate, lr)由0.001降低到0.0001和0.00006后,網絡能夠收斂,也驗證隨著網絡模型的加深,Vitis-15分類識別精度降低,所以在后續實驗中不考慮ResNet152和ResNet200這兩種深層網絡。AlexNet網絡相較殘差和Inception V3網絡,網絡層數較少,迭代步數較少,訓練時間最短且性能較好。對于Vitis-15數據集而言,可以采用AlexNet這類輕量型的卷積網絡進行訓練。因此可以得出對于小樣本數據集分類問題,網絡層數越深,模型反而更加難以訓練,分類識別效果不佳,所以淺層的網絡相較于深層的網絡表現更好一些,并且小型網絡能夠極大地縮短訓練時間且性能最好。本文提出的MS-EAlexNet網絡,在同種方法對比時比AlexNet表現更好,在測試集上的準確率能夠提升約0.1個百分點。
2.2.2 數據預處理三種方法對模型性能的影響
表2中展現了卷積神經網絡三種數據預處理方法(MS、Augment、Mix)在七種網絡模型上的測試準確率。通過實驗發現,1、1/2、1/4這三個多尺度最終會使圖片中全部為葡萄圖像,不利于整串葡萄圖像的識別,而連續多尺度的優點在于:1)基本保持了原始圖像中葡萄串形的大小;2)還保留了原始葡萄圖像中局部特征的完整性,所以選擇了連續多尺度圖像。從圖5中可以得出,Augment與MS兩種方法在AlexNet和MS-EAlexNet網絡上測試準確率較為接近,而Mix方法在測試集上的準確率明顯高于前兩種方法,提升近1個百分點。最終本實驗采用Mix方法。
2.2.3 BN和ReLU對模型性能的影響
本文采用批歸一化處理和ReLU激活函數,對比分析兩者對模型性能的影響。在網絡的最后一個全連接層中修改激活函數(ReLU)和批歸一化函數(Batch Normalization, BN),實驗結果發現,修改ReLU激活函數,網絡的性能沒有明顯變化,但是采用BN后網絡提升了近1個百分點,達到99.92%的準確率。采用BN可以使得梯度更加可靠和可預測,改善梯度性質使得在計算梯度的方向采用更大的步長而能夠保持對實際梯度方向的精確估計。不采用BN時,損失函數不僅非凸而且趨向平坦區域和尖銳極小值。這使得梯度下降算法更加不穩定。并且通過圖6可以得出,在采用BN時,網絡的訓練準確率(圖6(a))和訓練損失值(圖6(b))的波動程度降低,趨于平緩的上升和下降,雖然訓練的損失函數最后收斂值高于沒有采用BN的,但是在測試集上,采用BN的網絡表現更好;而沒有采用BN時,網絡訓練的準確率和損失值波動明顯。
3 結語
本文基于卷積網絡的多尺度葡萄圖像品種識別研究,以融合多尺度數據和數據擴增兩種方法訓練卷積神經網絡,對葡萄圖像進行分類,并對網絡模型、學習方法、批歸一化參數等因素對模型性能的影響進行了對比分析,得到如下結論:
1)深度學習相較于遷移學習和支持向量機的方法,可以較好地自動提取葡萄特征,具有較高的分類性能。在深度學習網絡模型中,較淺層的網絡在Vitis-15數據集上分類效果要優于較深層的網絡,網絡層數越深,模型反而更加難以訓練,本文提出的MS-EAlexNet網絡模型在AlexNet網絡基礎上修改了網絡參數并且增加了一層全連接層,在測試集上的準確率要高于AlexNet網絡模型,也表明全連接層更適合分類識別問題。
2)相較于數據擴增和多尺度圖像方法,兩者在Vitis-15數據集分類結果都取得了較高的準確率,當將兩種方法融合到一起時,測試集的準確率提升了近1個百分點,這也說明了多尺度圖像數據融合在小樣本數據集分類識別問題中豐富了數據的多樣性,減輕了模型的過擬合現象,并且提升了網絡的性能。
3)BN的使用使得網絡在訓練時更加穩定、波動性小、訓練的準確率和訓練的損失值更加平滑,并且網絡的測試準確率也有明顯提升。
通過本文的實驗與分析,卷積神經網絡對于特征提取要優于傳統的特征提取算法,可以看出數據在預處理過程中數據融合方法是可行的,該方法可以有效提高分類管理和生產效率,可以應用于葡萄分類采摘機器人,降低葡萄人工分類的工作量和勞動力,可為果園智能化的識別提供幫助。
參考文獻(References)
[1] 晁無疾. 調整提高轉型升級促進我國葡萄產業穩步發展[J]. 中國果菜, 2015(9): 12-14. (CHAO W J. Adjustment, improvement, transformation and upgrading to promote the steady development of Chinas grape industry[J]. China Fruit Vegetable, 2015(9): 12-14.)
[2] ZHAO B, FENG J, WU X, et al. A Survey on deep learning-based fine-grained object classification and semantic segmentation[J]. International Journal of Automation and Computing, 2017, 14(2): 119-135.
[3] LUO L, TANG Y, ZOU X, et al. Vision-based extraction of spatial information in grape clusters for harvesting robots[J]. Biosystems Engineering, 2016, 151: 90-104.
[4] FAN J, GAO Y, LUO H. Multi-level annotation of natural scenes using dominant image components and semantic concepts[C]// Proceedings of the 12th Annual ACM International Conference on Multimedia. New York: ACM, 2004: 540-547.
[5] NIXON M S, AGUADO A S. 特征提取與圖像處理[M]. 李實英, 楊高波, 譯.北京: 電子工業出版社, 2010: 147-289. (NIXON M S, AGUADO A S. Feature Extraction and Image Processing[M]. LI S Y, YANG G B, translated. Beijing: Publishing House of Electronics Industry, 2010: 147-289.)
[6] HINTON G E, OSINDERO S, TEH Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-1554.
[7] YU C, WANG J, PENG C, et al. Learning a discriminative feature network for semantic segmentation[C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 1857-1866.
[8] SCHUSTER M, PALIWAL K K. Bidirectional recurrent neural networks[J]. IEEE Transactions on Signal Processing, 1997, 45(11): 2673-2681.
[9] CARNEIRO G, VASCONCELOS N. Formulating semantic image annotation as a supervised learning problem[C]// Proceedings of the 2005 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2005: 163-168.
[10] LeCUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[11] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]// Proceedings of the 25th International Conference on Neural Information Processing Systems. La Jolla, CA: Neural Information Processing Systems Foundation, 2012: 1097-1105.
[12] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL]. [2019-02-10]. https://arxiv.org/pdf/1409.1556.pdf.
[13] SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Patten Recognition. Piscataway: IEEE, 2015: 1-9.
[14] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 770-778.
[15] SZEGEDY C, IOFFE S, van HOUCKE V, et al. Inception-V4, inception-ResNet and the impact of residual connections on learning[C]// Proceedings of the 2016 31st AAAI Conference on Artificial Intelligence. Pola Alto, CA: AAAI, 2016: 4278-4284.
[16] GEHLER P, NOWOZIN S. On feature combination for multiclass object classification[C]// Proceedings of the 12th IEEE International Conference on Computer Vision. Piscataway: IEEE, 2009: 221-228.
[17] JARRETT K, KAVUKCUOGLU K, RANZATO M, et al. What is the best multi-stage architecture for object recognition?[C]// Proceedings of the 12th IEEE International Conference on Computer Vision. Piscataway: IEEE, 2009: 2146-2153.
[18] CHEN P H, LIN C J, SCHOLKOPF, BERNHARD. A tutorial on ν-support vector machines[J]. Applied Stochastic Models in Business and Industry, 2005, 21(2): 111-136.
[19] WEISS K, KHOSHGOFTAAR T M, WANG D D. A survey of transfer learning[J]. Journal of Big Data, 2016, 3: 9.
[20] WOLD S. Principal component analysis[J]. Chemometrics & Intelligent Laboratory Systems, 1987, 2(1):37-52.
[21] SZEGEDY C, van HOUCKE V, IOFFE S, et al. Rethinking the Inception architecture for computer vision[C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 2818-2826.
[22] LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.