閔宇航
(成都理工大學,四川 成都610059)
綠蘿(Scindapsus aureus)是重要的室內觀葉植物,易于栽培與造型,它可以凈化空氣,同時提高環(huán)境觀賞性。綠蘿性喜高溫和有明亮散射光的環(huán)境,其耐蔭性強,怕強光直射,不耐寒冷[1]。綠蘿病變常見為葉片發(fā)黃、根莖稀疏等,及早發(fā)現并加以養(yǎng)護,對于綠蘿的生長尤為重要,但大規(guī)模的綠蘿狀態(tài)識別效率仍受限于人工識別的低效。
隨著計算機硬件技術的高速發(fā)展,計算機的運算速度隨之提高,這為計算機視覺技術的發(fā)展提供了全新的硬件基礎。在此基礎上,結合深度學習的計算機圖像處理技術不斷發(fā)展,深度學習中的卷積神經網絡模型(CNN)由最初的LeNet 模型,經由VGGNet、GoogleNet,逐漸成熟發(fā)展到ResNet[2],模型結構逐漸優(yōu)化,部分識別效果已媲美人工,同時還有人工無法企及的識別效率。
因此,本文采用深度參差網絡ResNet-50 模型,對綠蘿樣本進行訓練學習,并實現對三種不同狀態(tài)(正常狀態(tài)、需養(yǎng)護、需更換)綠蘿的識別分類。
首先,實驗所采用的數據來源為相機拍攝(實物拍攝和網絡爬?。┑牟煌瑺顟B(tài)的綠蘿圖片,拍攝角度主要為正視和俯視角度,圖片內容確保綠蘿的葉片或根系能夠清晰展示。結合綠蘿實際生長狀態(tài),設定以下三種綠蘿狀態(tài):
正常狀態(tài):葉片全綠,葉片數量較多,土壤裸漏較少;
需養(yǎng)護:出現黃葉且數量較少,土壤裸漏較少;
需更換:有大面積黃葉或存在葉片腐爛發(fā)黑情況,或葉片數量過少,土壤裸露情況嚴重,或葉片失水嚴重,出現葉片大面積皺縮。
接著將數據集中90%的圖片作為訓練樣本,剩余圖片供測試使用。同時,對綠蘿圖片進行了標注、翻轉、旋轉等預操作,以增強圖片的泛化能力。并且,為網絡結構加入了存盤功能,可記錄和載入最佳模型結果。
在收集網絡模型訓練及測試所需圖片時,首先確定圖片標準,要求清晰展示綠蘿的葉片或根莖的狀態(tài),并減少背景噪聲干擾。因此選擇光線條件較明亮、背景較干凈的取景環(huán)境。同時,由于ResNet-50 模型的結構特性,隨著網絡深度的逐漸提高,為適應模型的復雜程度,訓練所需樣本量也隨之增加,樣本量的不足可能會導致訓練結果的過擬合,影響模型預測的正確率。[3]因此,對部分圖片中的綠蘿植株,變換拍攝角度以實現數據集的擴充,設計滿足網絡模型所需的訓練樣本集。
針對現有的綠蘿圖片,存在著背景噪聲干擾等問題,所以本文使用了LabelMe 這一圖片標注工具,采用矩形框的形式,對訓練集中的每張圖片手工標注葉片及根部,確定其所屬類別(圖1)。同時,將圖片的大小統(tǒng)一設為518X346 像素,并且進行隨機90 度旋轉、水平翻轉、垂直翻轉。
圖1 三種不同分類的綠蘿
自AlexNet 之后,卷積神經網絡不斷加深,訓練誤差卻沒有隨之不斷減小。這是由于反向傳播的梯度計算是在上一層基礎上進行的,網絡深度加深會使梯度復乘,使梯度在多層反向傳播時越來越小,最終梯度消失。這導致深層網絡后面會出現很多冗余層,模型會退化為一個淺層網絡,準確率也會到達瓶頸。[2-4]
ResNet 為解決這一問題而生。它在傳統(tǒng)卷積神經網絡中加入殘差學習(Residual Learning)的思想,在網絡結構中加入了殘差單元(Residual Unit)。殘差單元在輸入和輸出之間建立了一條直接的快捷通道,實現了輸出與輸入相同的恒等映射層。借此,ResNet 解決了深層網絡中梯度彌散和精度下降的問題,既保證了訓練精度,又控制了訓練速度。[5]
圖2 resnet-50 模型結構
本文采用的ResNet-50 模型包含了50 層網絡。模型最開始有一個單獨的卷積層,隨后有四組block,每組里面分別是3、4、6、3 個block、每個block 里面有三層網絡,這些層負責對圖像進行卷積操作、提取圖像特征以及充當恒等映射層。最后單獨的全連接層,使用SoftMax 激活函數,將卷積之后的結果類別數,降低到規(guī)定的類別數。
本文采用的ResNet-50 模型,其結構如圖2。
3.2.1 對輸入的圖像進行邊緣3X3 的零填充。
3.2.2 在階段一,使用64 個長寬規(guī)模為7X7 的過濾器來進行二維卷積操作;然后使用批量歸一化對輸入的數據進行正則化處理,接著使用規(guī)模為3X3 的窗口來進行最大池化。
3.2.3 從階段二到階段五,卷積殘差塊和與它相連的恒等殘差塊,分別使用三個不同規(guī)模的濾波器,對圖像進行特征提取,改變輸出通道數。
3.2.4 使用規(guī)模為2X2 的窗口來進行二維平均池化,并在全連接層使用SoftMax 激活函數來將數據降低到規(guī)定的三個類別。
實際的訓練過程中,本文選擇了Rectified Adam (RAdam)這一優(yōu)化器。這是一種機器學習模型優(yōu)化器,它實現了自適應學習率,既具備隨機梯度下降(SGD)方法的優(yōu)勢,又實現了Adam快速收斂的優(yōu)點,令模型收斂至質量更高的結果[6]。
圖3 網絡誤差及測試正確率
經過90 輪的訓練以后,網絡的誤差已降低至0.04 附近,而測試的正確率已穩(wěn)定在97%以上(如圖3)。從測試結果可以看出,網絡對于給定樣本識別效果良好。得益于ResNet-50 模型結構的優(yōu)化,網絡層數加深的同時訓練精度不斷提高;RAdam 優(yōu)化器的作用下模型收斂質量更高,訓練時間也大為縮減,如圖3。
本文采用深度殘差網絡ResNet-50 模型,選擇較為高效的RAdam 模型優(yōu)化器,合理設計和處理訓練數據集,在較短訓練時間和合理的硬件資源條件下,實現了對綠蘿不同生長狀態(tài)的有效識別。經過測試集測試,識別正確率能達到97%以上。這有助于綠蘿養(yǎng)殖狀態(tài)的監(jiān)督工作,對于綠蘿養(yǎng)殖行業(yè)有輔助意義,對于其他綠植養(yǎng)護也有參考價值。
但需指出,由于人工收集樣本有限,實際情況中綠蘿的生長狀態(tài)更為復雜,機器識別的場景也更為豐富,因此模型的適應性會有所降低。收集更具廣泛性的樣本來不斷優(yōu)化網絡模型,這將是本文研究此后需要做的工作。