999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

應用卷積神經網絡識別花卉及其病癥

2019-06-06 05:46:38林君宇李奕萱鄭聰尉羅雯波
小型微型計算機系統 2019年6期
關鍵詞:分類模型

林君宇,李奕萱,鄭聰尉,羅雯波,許 蕾

(南京大學 計算機科學與技術系,南京 210023)

1 引 言

隨著我國花卉種植銷售產業規模的日益擴大,養花賞花的人數不斷增加.但由于缺乏相應專業的養護知識,很多花卉銷售者和消費者往往不甚了解甚至忽視花卉的生長狀態,導致花卉的死亡.

如果存在一種經濟便捷的途徑對花卉狀態進行自動分析,尤其是對花卉種類和花卉病癥的識別,讓種植者能夠及早發現問題并采取對應措施,就能確保花卉良好生長.因此,此類自動識別技術對花卉市場有著積極的影響.

葉部的生長狀況是判斷花卉疾病的重要依據,多數疾病會導致花卉葉部產生明顯的病斑等特征.利用計算機視覺技術實現對花卉葉部病癥檢測,可以為沒有專業知識的花卉種植者提供參考,從而及早采取對應的防治措施.

目前軟件市場上已有多款手機APP產品向用戶提供免費的花卉圖像識別服務(例如形色、花伴侶、微軟識花、綠手指等).經測試,此類產品有較好的花卉分類能力,正確率最優的產品達到了73%,尚有提升空間.部分產品建立了社區供使用者交流花卉養護過程中遇到的問題,然而社區論壇的形式無法確保問題得到快速正確的專家意見反饋.因此,自動且即時反饋的花卉病癥識別屬于一個較新的研究領域.

我們擬提出一種基于計算機視覺技術的花卉和病癥識別方法,包括數據集收集、圖像預處理、分類器訓練、工具封裝等過程,既能夠提升識別準確率,同時實現花卉葉部病癥的識別,實現花卉生長狀態的自動化、智能化分析,為花卉愛好者提供更加經濟、便捷、有效的養護方案.

1https://arxiv.org/abs/1708.03763

本文余下內容的組織方式為:第2節介紹相關工作,第3節介紹工具的設計和實現,第4節是實驗結果的分析比較,第5節對全文進行總結.

2 相關工作

圖像分類是計算機視覺方面的一個重要課題.近年來深度學習和神經網絡技術獲得了突破性進展,尤其是卷積神經網絡(Convolutional Neural Network,CNN),在大規模圖像分類任務中有很好的表現[1].CNN適用范圍廣,能夠自動提取圖像低級特征并進一步學習高級特征,現已被廣泛應用于圖像分類、圖像分割和物體定位等領域.

花卉種類和病癥識別是一個非常具有挑戰性的任務,不同于大規模圖像分類,花卉分類的粒度更細,而且花卉形態各異的特點也成了影響分類準確性的重要因素.傳統花卉分類問題[2-4]的主 要解決方法為手工提取花卉圖像特征并采用支持向量機(Support Vector Machine,SVM)分類器進行分類,該方法也應用于農作物葉部病害的識別.裴勇提出基于花卉特點的區域特征提取方法,使用SVM分類器對50種類別的花進行分類,達到了90.8%的準確率[3].余秀麗等人采用人工拍攝的方式建立小麥病葉數據集并使用SVM對其三個病癥進行分類,達到99.3%的準確率[4].

CNN在花卉分類問題上已經取得了很大進展[5-8],識別準確率有了很大提升,分類器設計基于Krizhevskys所提出的模型[9].Gurnani等對花卉圖片進行圖像分割處理,并將大規模圖片分類的CNN應用于花卉分類.Liu Yuanyuan等人使用圖像顯著性和亮度圖進行區域選擇,使用CNN分類器對79類別的花進行分類,達到了76.5%的準確率,次年又結合了遷移學習和SVM替換輸出層,在Oxford 102花卉數據集上達到99.4%的準確率[5,6].在生長狀況方面,一些研究者將神經網絡引入檢測作物疾病和品質評估.Yu Sun等人人工拍攝建立大巖桐數據集并使用CNN對其三個品質進行評估,達到89.6%的準確率[7].Al-Hiary等人比較了多種機器學習方法,對蘋果、藍莓、玉米等作物的疾病圖像進行分類,準確率在83%以上[8].

在現有工作的基礎上,本文設計和實現了一個花卉識別APP,采用多輸入卷積神經網絡作為分類模型,結合遷移學習,并且提供了一個花卉葉部病癥圖片的數據集用于模型訓練和測試,為數據集中的花卉分別設計和調試CNN,進一步能夠對花卉進行病癥識別,最終形成一個集花卉分類與病癥識別為一體的工具原型.

3 工具設計和實現

3.1 軟件框架

如圖1所示,軟件框架包含一個花卉分類器和多個病癥分類器,分類器使用CNN實現.用戶輸入花卉圖片和葉部病癥圖片,工具通過花卉分類器對花卉圖片進行分類,輸出預測花卉類別,再根據花卉類別選擇相應的病癥分類器,對葉部病癥圖片進行病癥識別,輸出預測病癥.允許僅進行花卉分類或已知花卉僅進行病癥識別.

3.2 卷積神經網絡

卷積神經網絡[10-11,19-20]是受人體神經系統啟發而創造的一種多層感知模型,具有參數共享、稀疏連接、平移不變性等特性.Fukushima提出了最初的卷積神經網絡原型Neocognitron[10],Vaillant等將卷積神經網絡用于手寫數字識別系統[11].現在卷積神經網絡在圖像分類、圖像分割、物體定位等計算機視覺方面取得了巨大成功.

圖1 算法流程圖Fig.1 Flow chart of algorithm

CNN主要包含三種層:卷積層、池化層和全連接層.卷積層(Convolutional layer)輸入上層的特征圖,通過多個卷積核在圖上卷積并提取特征,輸出該層的特征圖,層數越多輸出特征圖代表的特征越復雜.池化層(Pooling layer)用于減小卷積層輸出特征圖的大小,減少了圖的維數,防止過度擬合.全連接層(Fully connected layer)將二維圖像連接成一個一維向量,用于結果的輸出.CNN的神經元、參數和連接數更少,在圖像處理方面比起等大小的BPNN有著更高的效率.

圖2 卷積神經網絡結構Fig.2 Structure of CNN model

多輸入CNN能夠有效提高植物品質分類準確率[7].為了使輸入樣本能夠覆蓋更多特征信息,我們設計了多輸入CNN,將多張圖片視為一個樣本作為網絡輸入.在我們實現的軟件中,使用者可以使用單張花卉圖片進行識別(此時模型效果與單輸入CNN相同),也可以選擇提供多角度拍攝的多張花卉圖片進行一次識別.

3.3 多輸入卷積神經網絡設計

圖2詳細描述了多輸入CNN結構.輸入圖片大小為300×300×3.每3張圖片作為一個樣本輸入網絡,圖片均相同時等效于單輸入CNN.將第一卷積層conv1劃分為conv1a、conv1b和conv1c,分別接收3張圖片,各使用32個大小為3×3的卷積核進行卷積,步長為1,輸出的特征圖堆疊合一.conv2至conv6的卷積核數量為64,大小為3×3,步長為1.fc1層和fc2層有32個神經元,并在fc2層中加入失活概率為0.25的Dropout層.所有pool層大小被設置為2×2,步長為2.所有conv層都加入了Batch Normalization,激活函數為ReLU.輸出層的激活函數為softmax.

2https://arxiv.org/abs/1412.6980

3https://arxiv.org/abs/1502.03167

多輸入的設計能帶來以下好處:

1)相同的時間開銷:如果3張輸入圖片相同,那么把圖片分別輸入第一卷積層的不同入口這一行為等效于單輸入,因此多輸入卷積神經網絡不會帶來計算時間的增加.

2)準確率提高:相較于單輸入模型,多輸入模型覆蓋了更多真實世界信息,同時降低了誤分類的偶然性,在樣本易獲取的情形下能夠普遍提升識別準確率.

3.4 訓練算法

卷積神經網絡訓練過程屬于監督學習,通過帶標簽的數據更新各卷積層的參數,預測過程使用學習的參數計算出圖像可能性最大的類別.學習包括前向傳播和后向傳播兩個步驟.

3.4.1 前向傳播

前向傳播(Forward propagation)指的是數據從輸入層經過卷積層、池化層和全連接層到達輸出層的階段[12].每個卷積層使用卷積核在輸入特征圖上滑動卷積,然后經過一個激勵函數輸出新特征圖.這一步驟的公式如下.

(1)

池化層進行下采樣工作,即用一個卷積核對輸入的特征圖進行特征抽樣,保留主要特征.計算公式如下.

(2)

全連接層的作用效果相當于多層感知機中的隱藏層,層與層之間完全連接,表達式為

al=σ(wlal-1+bl)

(3)

σ是激活函數,最后一個全連接層是輸出層.輸出層激活函數使用softmax函數進行多分類,公式為

(4)

3.4.2 后向傳播

后向傳播(Backward propagation)根據對圖像的真實分類與CNN輸出之間的誤差,使用梯度下降法(Gradient descent)從輸出層到輸入層依次更新參數,從而使誤差降低.誤差可用交叉熵計算.

(5)

使用Adam(Adaptive Moment)梯度下降算法計算梯度并向后更新權重2.該算法結合了Momentum算法和RMSprop算法的優點,收斂速度快,學習效率高,為參數計算自適應的學習率.其表達式如下.

(6)

(7)

(8)

3.5 防止過度擬合

神經網絡在學習過程中可能產生過度擬合現象(Overfitting).對于樣本數量少、特征復雜的數據集,網絡對某些特征產生強依賴性導致泛化性差,表現為訓練集的準確率隨迭代次數增加而逐漸上升或趨穩,同時測試集的準確率逐漸下降.下面介紹本實驗中使用的解決過度擬合的方法.

3.5.1 Dropout優化

Dropout[14]是一種常用的抑制過度擬合的手段.訓練階段每個神經元有一定概率失活,不參與訓練,從而減少網絡對某些神經元的過度依賴,增強了泛化性.測試階段不使神經元失活.

3.5.2 數據增廣

數據集樣本的數量是影響模型性能的重要因素,在小規模數據集的情況下我們可以使用數據增廣(Data augmentation)對樣本進行擴充,減少過度擬合.具體方式是對樣本進行一系列隨機的水平/垂直翻轉、平移、旋轉、傾斜、剪切等操作生成新的樣本,使樣本數量得到擴充.

3.5.3 L2正則化

L2正則化(L2 regularization)通過降低網絡中一些神經元的權值抑制過度擬合.其公式為.

(9)

加號右邊的正則項即對所有參數求平方和再除以樣本大小,是正則項系數.

3.5.4 批標準化

批標準化(Batch normalization,BN)能夠加速收斂,超參數的選擇更穩定,范圍更大3.BN包括標準化和縮放平移兩個步驟,表達式如下.

(10)

(11)

其中γ是縮放大小,β是平移距離.這兩個參數將參與訓練,調整數據的規格,減小卷積層之間的相互依賴,進行更自主獨立的學習.

3.6 遷移學習

傳統機器學習需要大量帶標簽的樣本,這將耗費大量資源,而缺乏大量的標注樣本不能保證模型訓練正常進行.遷移學習(Transfer learning)[18]能夠借助已經訓練好的模型進一步學習,沒有傳統機器學習的嚴格數據同分布假設,無需從零開始訓練,能夠將原任務上學習得到的先驗知識遷移到目標任務上.

遷移學習方法可分為4類:樣本遷移(Instance-based transfer)、特征遷移(Feature-based transfer)、模型遷移(Model-based transfer)、關聯遷移(Relational transfer).模型遷移也稱參數遷移,利用已適配的圖像識別系統遷移到新的領域,增加先驗知識,與深度學習結合良好.本文引入模型遷移,優化特征提取,作為原多輸入卷積神經網絡模型的輸入.

4 實驗結果與分析

4.1 數據集

4.1.1 Oxford 102花卉數據集

Oxford 102花卉數據集[15]是牛津大學VGG小組(Visual Geometry Group)創建的,包含了英國常見的102種花卉,每種花卉的圖片數量在40張以上,共8189張花卉圖片.其中部分花卉圖片由VGG組員拍攝,部分來自互聯網,圖片的分辨率經過縮放最小為500像素.

4.1.2 ImageNet數據庫

ImageNet數據庫[16]是一個按照WordNet架構組織的圖片數據庫,涵蓋2萬多個類別,是世界上最大的圖片數據庫之一.其中包括了豐富的有明確標注的花卉圖片.我們從Oxford 102花卉數據集和ImageNet數據庫中選出向日葵、牡丹、玫瑰、蘭花、萬壽菊、鳶尾花、三色堇、牽?;?、雛菊、火鶴花共10類常見家庭觀賞花卉,每類50張,共500張花卉圖片,70%用于花卉分類器的訓練,30%用于測試.

4.1.3 花卉葉部疾病數據集

上文中的數據集均未包含花卉葉部疾病的相關圖像.為了訓練花卉葉部疾病圖像分類器,我們通過關鍵詞搜索等方式建立了一個花卉葉部疾病數據集,數據集部分樣本如圖3所示.該數據集包含向日葵、牡丹、玫瑰、蘭花4種花卉共16種常見葉部疾病,圖片總量為609,每種花卉最少含3類疾病圖像,考慮數量均衡,選用部分疾病進行實驗.葉部疾病的主要表現為生長病斑,也有少數致使葉片畸形生長.由于是帶病花葉的圖片,所以與健康花卉的數據集相比,此數據集圖片內容葉面占比更大,形狀更多變,背景更復雜,拍攝環境更多樣,因此具有一定的識別難度.

4.2 實驗環境

實驗服務器搭建于Google Cloud Platform,操作系統為Ubuntu 16.04 Server,配置有2.30GHz主頻,16G內存的Intel(R) Xeon(R) CPU,和12G顯存的Nvidia Tesla K80 GPU.分類器的實現使用了開源機器學習框架Tensorflow.

圖3 花卉葉部疾病數據集示例Fig.3 Samples of flower leaf disease dataset

我們對數據集進行了一系列預處理,將圖片縮放至300×300像素的大小,并對圖片進行主要特征的裁剪和分割,見圖4.對圖片進行零均值化和歸一化以加速收斂.采用數據增廣方法,每張原圖經水平翻轉、平移、旋轉等操作派生出4張新圖,使得樣本數量變為原來的5倍.所有樣本劃分為多個batch進行訓練(batch大小為32),所有batch進行過一輪訓練后需要將樣本隨機排序再重新劃分.

圖4 樣本的裁剪和分割處理Fig.4 Crop and segmentation of images

4.3 實驗結果

花卉分類方面,我們在數據集上進行了大量測試以得到分類效果最好的模型,包括對卷積層數、卷積核數量和卷積核大小的調整,相關圖表見表1和表2.

表1 多輸入花卉分類模型和結果(忽略池化層,conv1*指代conv1a,conv1b和conv1c,下同)Table 1 Multi-input flower classification

表1展示了使用不同圖片作為輸入的部分實驗結果,擁有6層卷積層的模型有著良好的識別效果,層數過多時準確率有下降趨勢,model7達到最高的識別準確率95.3%.

表2展示了使用相同圖片作為輸入的部分實驗結果,各模型的識別準確率均有所下降,model16達到最高的識別準確率90.7%,對比可見多輸入模型識別率更高.

我們認為多輸入情形下每個樣本包含更豐富的花卉特征信息,同時降低了測試樣本因花葉殘缺、植株變異、日照差異等原因而錯誤分類的偶然性.多輸入方式能夠普遍提升識別效果,同時與單輸入方式使用完全相同的CNN模型,僅有輸入數據的差異,因此沒有產生額外的計算開銷,兩種輸入方式具有相同的時間復雜度.

表2 單輸入花卉分類模型和結果Table 2 Single input flower classification

花卉葉部疾病分類方面,由于同一種花卉可能患上不同的疾病,而同一種疾病在不同的花卉上又可能有不同的特征,因此為每種花卉分別實現了疾病圖像分類器,相關圖表見表3和表4.

表3 花卉疾病分類模型和結果Table 3 Disease classification

表3展示了各種花卉的疾病所使用的分類模型和準確率,總體準確率達到88.2%.表4展示了具體疾病分類的查準率和查全率.不同花卉的顏色和輪廓等特征都有較大差異,而葉部疾病均發生在葉面之上,主要為病斑的差別,因此葉部疾病分類準確率較低于花卉分類.

表4 具體疾病結果Table 4 Classification of specific diseases

4類花卉中,玫瑰的4種不同病癥分類效果最好,準確率為90.6%.個別花卉病癥識別準確率偏低,除了測試樣本數量限制的影響外,可能有以下方面原因:1)不同病癥癥狀高度相似;2)不同的感染程度或發病階段造成的癥狀差異;3)不同致病源所造成的癥狀差異.

為了應對訓練樣本數量受限問題,我們將2014年ILSVRC競賽獲得優勝的卷積神經網絡模型VGG-16遷移到了花卉疾病識別任務上,作為特征提取器,所得特征輸入原多輸入模型.同時為了驗證模型的效果,我們與SVM、HOG-SVM和SIFT-Kmeans-SVM幾類傳統分類方法進行了對照實驗,使用了軟件包libsvm[17]和OpenCV2.結果見表5和圖5.其中,HOG-SVM識別效果最低,總體準確率僅有51.4%.HOG算子計算圖像局部區域的梯度直方圖構成特征,對物體的形變保持高度不變性,細小的變化不會影響檢測結果,能夠很好的提取出大型物體的輪廓,因此適用于車輛檢測、行人檢測等.推測花卉葉部病斑小而密集、變化細微是HOG-SVM模型對其辨識度低的主要原因.

表5 不同模型的疾病分類準確度Table 5 Disease classification of different model

SIFT-Kmeans-SVM模型總體識別準確率67.4%.SIFT算子計算圖像中的特征點及其尺度和方向,并對圖像進行特征點匹配.特征具有尺度不變性,對仿射變換、亮度變化等也有較高的魯棒性,在圖像分類和處理方面應用廣泛.推測不同病癥癥狀的相似,以及作為背景的葉片自身,是造成SIFT-Kmeans-SVM識別準確率低于CNN的主要原因,欲獲得更高的精度需要篩選特征或對數據集進行進一步預處理.

結合遷移學習的多輸入模型達到了最高準確率94.4%,較CNN模型的準確率提升了6.2%.遷移學習節約計算資源,優化原有模型,緩解樣本數限制,在花卉疾病識別任務中顯示出很強的泛化能力.

圖5 不同模型的疾病分類準確度Fig.5 Disease classification of different model

5 總結

本文提供了一個包含4類花共16種疾病的花卉葉部疾病數據集,原圖數量609,數據增廣后數量為3045;設計并實現了多輸入CNN模型及對花卉、葉部疾病進行識別的一體化APP.實驗結果顯示該工具擁有95.3%的花卉分類準確率和88.2%的疾病識別準確率,應用遷移學習后疾病識別準確率提升至94.4%,優于單輸入CNN和其它傳統分類方法.

對比相關研究,我們在對數據集進行輕度處理,構造小規模CNN進行特征自學習的情況下獲得了良好的花卉分類效果,并通過多輸入、遷移學習進一步將識別效果提升,驗證了該方法的可用性和有效性.相較手工提取特征的分類方式操作簡單,能夠學到更豐富、復雜的圖像特征信息,相較其它以農作物為對象的狀態診斷研究有著更佳的識別效果.

在未來的工作中,我們會進一步擴充花卉葉部疾病數據集,包括更多的花卉種類和疾病種類.繼續改進分類器的效果,包括改進特征提取、嘗試半監督學習等方式.

猜你喜歡
分類模型
一半模型
分類算一算
垃圾分類的困惑你有嗎
大眾健康(2021年6期)2021-06-08 19:30:06
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 亚洲精品天堂自在久久77| 亚洲精品自在线拍| 国产尤物jk自慰制服喷水| 亚洲色欲色欲www网| 日韩国产 在线| 五月天丁香婷婷综合久久| 欧美色丁香| 91福利片| 亚洲国产精品日韩专区AV| 91无码网站| 日韩亚洲综合在线| 毛片国产精品完整版| 亚洲国产看片基地久久1024| 久久精品这里只有精99品| 青草视频在线观看国产| 国产区在线观看视频| 欧美日韩激情| h网址在线观看| 国产精品污污在线观看网站| 国产精品hd在线播放| 露脸一二三区国语对白| 男女精品视频| 国产女人在线观看| 国产9191精品免费观看| 国内精品自在自线视频香蕉| 性视频久久| 中文国产成人精品久久| 人妻精品久久久无码区色视| 亚洲精品第1页| 女同久久精品国产99国| 一级爆乳无码av| 99r在线精品视频在线播放| 中文字幕日韩丝袜一区| 国产成人av一区二区三区| 亚洲第一av网站| 日韩国产另类| a级毛片免费在线观看| 波多野结衣在线se| 国产在线视频自拍| 欧美精品亚洲精品日韩专区| 国产成人区在线观看视频| 热99精品视频| 国产素人在线| 波多野结衣一区二区三区88| 伊人婷婷色香五月综合缴缴情| 97狠狠操| 国产精品女主播| 亚洲天堂精品视频| 亚洲日本在线免费观看| 素人激情视频福利| 幺女国产一级毛片| 国产免费观看av大片的网站| 成人综合在线观看| 国产男人的天堂| av一区二区三区高清久久| 91久草视频| 国产91透明丝袜美腿在线| 91精选国产大片| 国产午夜精品一区二区三区软件| 亚洲黄色高清| 丝袜国产一区| 午夜三级在线| 欧美亚洲欧美| 99在线小视频| 久久国产成人精品国产成人亚洲 | 伊人色天堂| 欧美午夜小视频| 日本91在线| 国产a在视频线精品视频下载| 国产精品自在在线午夜| 久久久无码人妻精品无码| 欧美日韩国产系列在线观看| 成人韩免费网站| 欧美不卡在线视频| 国产美女在线观看| 毛片免费在线视频| 欧美在线视频a| 国产精品成人AⅤ在线一二三四| 日韩欧美视频第一区在线观看| 国产美女91视频| 都市激情亚洲综合久久| 久久久久中文字幕精品视频|