任宇晴 杜慶東
(沈陽師范大學,遼寧 沈陽 110000)
近年來,水果采摘技術發展迅速,計算機視覺領域也迅速興起,越來越多的學者將計算機視覺和圖像識別與農業發展結合起來,對水果的成熟度識別投入頗多,即對收集到的水果圖像運用圖像識別[1]算法獲取水果的成熟度信息。圖像識別作為深度學習中的重要部分,無論從何種算法出發,基于RCNN 系列算法還是基于回歸的YOLO系列[2]算法,與傳統的機器學習算法 BP 等相比,得到的結果都是相對優化的,在深度學習的相關領域,算法所體現的優勢開始逐漸取代傳統方法。
受自然環境復雜背景的影響,水果成熟度的特征提取、目標檢測[3]、圖像識別等研究工作面臨很大挑戰。該文以蘋果圖像為研究對象,深入剖析基于TensorFlow框架[4]下的YOLO 算法及其發展前景,通過分析當前算法存在的問題進行優化改進,提出一種結合YOLO算法的優化算法,通過與傳統機器學習算法、已有的YOLO算法作比較得出優化后的算法結果。
YOLO通過卷積層提取圖像特征,通過全連接層進行目標蘋果成熟度的預測,最后處理結果得到相應檢測目標。YOLO利用卷積神經網絡(CNN)將特征提取網絡、類別預測等統一到一起,放在一個框架中從而實現端到端的高效訓練,它也能同時預測圖像的所有類的所有邊界框。這意味滿足速度要求的同時,精確度也能達到要求。與基于區域建議框的算法相比,其運行速度大大提高,而且改進的快速版本的Fast YOLO算法,處理速度能達到基礎的三倍以上,雖然也會產生更多的定位誤差,但是背景預測遠優于當前傳統的很多方法。
具體而言,YOLO的卷積神經網絡(CNN)將輸入的圖片分割成S×S網格(grid) ,如果某一個待檢測的蘋果的中心落入了網格單元(grid cell)中,則這個網格單元就負責檢測該目標水果,網絡只需要預測S×S個網格,每個網格單元預測B個邊界框,速度可以有很大的提升。最終網絡的輸出是一個S×S×(B×5+C)的向量,可以理解為每個單元格需要做兩件事:一是每個區域的單元格負對自己相應的目標object負責預測;二是每個單元格需要預測對應的x,y,w,h值,同時為每個邊界框(bounding boxes,簡寫為bbox)預測一個得分(confidence scores)。該得分即為置信度。簡單理解就是預測是否含有物體以及是這個物體的可能性是多少,具體表示如式(1)。

式中:Pr(object)為邊界框含有目標的可能性大小;IOUtruthpred為邊界框的精準度。
置信度一般表現在兩方面,一是邊界框含有目標的可能性大小(Pr(object)),二是邊界框的精準度(IOUtruthpred)。如果這個網格中不存在一個目標物體,則可能性大小Pr(object)=0;否則的話,可能性大小Pr(object)=1,在檢測任務中,以交并比(Intersection of Union)即兩個矩形框面積的交集和并集的比值,用IOU簡單表示。而邊界框的準確度即可以用預測框(Prediction box)與實際框(ground truth box)的交并比來表示,即IOUtruthpred。因此置信度(confidence)可以定義為可能性大小與精準度的乘積(Pr(object×IOUtruthpred)。在測試時,邊界框的具體類別的置信度如公式(2)所示。

式中:Pr(Classi|Object)為條件類別概率,即每個網格在輸出邊界框(bbox)值的同時要給出網格存在目標object的類型,測試時,用條件類別概率乘以單個盒子的置信度預測。
不管網格單元中包括的邊界框有多少,每個單元網格只預測每個類別的概率值,即默認每個網格中的所有邊界框都是同一類。在測試的非極大值抑制階段,每個邊界框按照下式被衡量是否應該保留下來。邊界框bbox的預測值有(x,y,w,h,c),中心坐標(x,y) 代表了邊界框的中心與網格單元邊界的相對值,邊界框的高用h表示,寬用w來表示,理論上(x,y,w,h)這四個元素的值都在[0,1]。c即為置信度,就是IOU值。
該文采用的網絡模型結合了YOLO的基礎特征提取網絡Darknet-19和深度殘差網絡ResNet。基礎特征提取網絡Darknet-19[5]保留了 VGG16等網絡的優勢,其網絡結構易計算,同時兼具著高性能。網絡結構如圖1所示。其中,Con(Convolutional layer)為卷積神經網絡的卷積層[6],共有19個,Max(Max pooling layer)為卷積神經網絡的最大池化層,共有5個,Darknet-19網絡模型用全局平均池化(global average pooling)做預測,把1×1的卷積核置于3×3的卷積核之間,使用歸一化指數函數(Softmax)處理不同類別間分類差異,優化網絡結構。

圖1 Darknet-19網絡結構圖
ResNet殘差網絡是基于殘差連接的網絡結構。網絡的基本結構為殘差塊,殘差塊則是由幾層網絡和一個殘差連接而成,殘差網絡(ResNet)層數可達上百層,能夠減少模型網絡的訓練時間,在模型可控的時間內,增加網絡深度會加大對網絡的反向傳播,反向傳播的梯度都是在上一層的基礎上進行計算的,理論上當一個網絡模型復雜到一定程度的情況下,可以實現其期望精度,但在實際情況中,隨著網絡結構的逐漸加深,梯度容易出現彌散和爆炸,梯度的問題也會隨之出現,比較靠前的層梯度會很小。這表示著學習已經基本停止,也就是梯度消失。因此在實踐中,添加過多的層訓練,其訓練誤差反而會增加。就此問題, 擬提出了新的解決方案。假設輸入為x,理想映射為f(x),如圖2所示。改進后的映射如圖2所示,擬合出殘差映射f(x) +x,殘差映射在實際應用中更容易被優化。引入優化改進后的殘差網絡ResNet思想,不僅可以提取到更深層的特征,同時避免出現梯度消失或爆炸。同時,由于水果果實的圖像數據多為較大的目標,因此選擇大中尺度作為回歸預測的尺度,以此降低計算的復雜性。

圖2 改進的殘差網絡
如今出現在公眾視野并被廣泛應用的框架有很多,Caffe、Tensorflow、Keras、MXNet和PaddlePaddle 等。該實驗以iOS系統為基礎,利用Pycharm編輯器,運用Python編程語言,同時使用深度學習框架Tensorflow作為該算法的實驗平臺,采用基礎YOLO算法網絡結構優化后的算法,對蘋果成熟度識別進行實驗并對實驗結果對比加以驗證。
Tensorflow框架:Tensorflow相比于其他框架,安裝與配置較為簡單且功能強大,操作方便??梢詫崿F對神經網絡大規模訓練,同時進行簡單的并行計算。Tensorflow 具有可視化工具 Tensorboard,優化后的模型訓練參數后可以快速上傳至工具,通過對比實驗,可以得到訓練數據集和測試數據集的準確率。由于水果果實的成熟度圖像樣式區別略小,因此選擇高靈活性的框架尤為重要,框架的簡單理解如圖3所示。

圖3 TensorFlow框架理解圖
3.2.1 數據預處理
數據的采集分別從ImageNet圖像數據庫提取、室外自然光下蘋果采摘園內數碼相機拍攝、網上收集高清晰度圖片獲得。圖像數據集包括不同成熟度的蘋果果實,256×256大小。進行數據增強以提高模型泛化能力,對原始圖片進行旋轉、翻轉、添加噪聲的操作,使用MATLAB對原始的數據進行鏡像處理。部分數據集展示如圖4所示。

圖4 部分數據集
3.2.2 YOLO網絡結構補充
由于水果果實目標比較小,數據樣本批量不夠多且對蘋果成熟度的識別上相似度較高,因此需要提取和學習更多的特征信息來實現對成熟度的檢測,該文實驗受限于使用的硬件條件以及用于檢測蘋果成熟度的小目標任務的需求,很難使用較大的批量大?。╞atchsize)值。因此該文在原Darknet-19網絡的基礎上進行改進優化,使用群組歸一化(GN)代替YOLO算法往常卷積層上使用的批量歸一化(BN),批量歸一化在小批量的使用上會降低數據的準確性,對批量的大小有一定的要求。
3.2.3 模型訓練
常見的神經網絡模型可以表示為式(3)。

式中:x為對神經元的多個輸入;wi,xi為每個輸入對應的權重;為預測輸出值。
神經網絡訓練的目的是找到最優的權重{w1,w2,...,wn}。該文采用的損失函數為常用于回歸問題的平方損失公式,如式(4)。

神經網絡訓練的目的是找到最優的權重{w1,{x1,x2,...,xn}的真實標簽{y1,y2,...,yn}擁有最小的差距,衡量差距的函數即損失函數。現實中加入函數是為了預防模型產生過擬合。
訓練模型的過程如下:1) 構建網絡。設置輸入層輸出層之間的隱藏層層數,設置各層卷積核個數、尺寸、步長,初始化網絡權重W,設置學習率為η,學習率是一個在每次按梯度值更新參數都不變的超參數,選擇合適的激活函數,構建符合問題的目標函數,具體流程如下。網絡訓練流程圖如圖5所示。2) 開始訓


圖5 網絡訓練流程圖

3.2.4 實驗結果分析
該實驗將所述模型與 BP 和 YOLO 算法的識別結果進行了比較,實驗結果如表1所示。

表1 該文模型與 YOLO 和 BP 算法識別精度比較
YOLO算法與傳統機器學習算法BP相比,識別精度有明顯的提高,驗證了深度學習領域中基于回歸的目標檢測算法的有效性,改進網絡結構后的優化算法精度為91.02%,比YOLO算法提高了1.87%,與此同時,在準確性上也有了提高,進一步說明了改進網絡結構的算法實用性。
針對水果識別這一個特定的場景,由于果實的成熟度各不相同,且自然環境背景較復雜,因此,現有的果實識別模型仍存在很多不足,水果成熟度的檢測在農業方面還有待發展,水果成熟度鑒別檢測對時間的把控要求很高,對實時監測的需求更大,需要做到及時并且準確,該文采用的YOLO算法的優點為速度快且精度高,隨著深度學習的不斷深入研究,利用好深度卷積神經的優勢,在水果成熟度目標檢測的后期研究工作中至關重要。