藍(lán) 宇,王 健,黃中舟,朱彥博,陳 品,曹璐婷
(廣州軟件學(xué)院 網(wǎng)絡(luò)技術(shù)系,廣東 廣州 510990)
準(zhǔn)確、快速地識別植物病蟲害的種類是防治植物病蟲害的第一步。長期以來,我國植物病蟲害的監(jiān)測和鑒定主要依靠專家診斷和來自農(nóng)民的種植經(jīng)驗(yàn)。由于中國龐大的植物種植面積和病蟲害的復(fù)雜情況,以及相關(guān)領(lǐng)域的專業(yè)人員相對較少,可能出現(xiàn)不能及時應(yīng)對農(nóng)業(yè)病蟲害問題,甚至造成問題報告的延遲和錯誤。而采用深度學(xué)習(xí)算法訓(xùn)練推算出的圖像識別方法,通過微信小程序的方式加以呈現(xiàn),便于對植物病蟲害進(jìn)行監(jiān)測和分類。同時該系統(tǒng)具有精度高、實(shí)時性好等優(yōu)點(diǎn)。近年來,隨著我國農(nóng)業(yè)現(xiàn)代化的不斷發(fā)展,越來越多的現(xiàn)代化技術(shù)和設(shè)備被運(yùn)用到生產(chǎn)中。此外,人工智能的快速發(fā)展,特別是其在圖像模式識別領(lǐng)域的優(yōu)異表現(xiàn),使以深度學(xué)習(xí)為代表的技術(shù)逐漸成為農(nóng)業(yè)現(xiàn)代化領(lǐng)域的研究重點(diǎn)。
小程序載體的出現(xiàn),以及其“即用即走”的便利性,這剛好符合我們團(tuán)隊的設(shè)計理念——只需要將用戶最想要的結(jié)果提供給他們。同樣,人工智能+小程序的有機(jī)結(jié)合也是我們團(tuán)隊的探尋方向之一。是我們整體“智慧農(nóng)業(yè)”解決方法的重要一環(huán),目前小程序數(shù)據(jù)也可以與我們設(shè)計好的智能灌溉系統(tǒng)進(jìn)行聯(lián)通,正式打通“最后一公里”。
基于大量數(shù)據(jù)的深度學(xué)習(xí),小程序集合了九大蔬果類的病蟲害識別算法模型。可以通過拍照或者圖片上傳的方式,將圖片數(shù)據(jù)上傳至服務(wù)器后,經(jīng)由部署在服務(wù)器的算法模型計算得出結(jié)果。最后再將結(jié)果通過小程序的方式呈現(xiàn)給用戶,以提醒用戶檢測到的病蟲害是哪種,幫助用戶進(jìn)行抉擇。目前可以實(shí)現(xiàn)的蔬果類有玉米、土豆、柑橘、蘋果、櫻桃、番茄、葡萄、草莓、桃子,識別準(zhǔn)確率可達(dá)到98%左右。當(dāng)然,算法模型仍處于更新迭代階段,將會不斷優(yōu)化算法,整合上線的新蔬果。
除了能夠識別病蟲害之外,考慮到用戶可能會在生活當(dāng)中發(fā)現(xiàn)很多足以讓人駐足的花卉。但會苦惱于不知道這些花卉是什么,那么“愛綠小助手”小程序?qū)M足你的好奇心。同樣,算法模型當(dāng)中有著大量訓(xùn)練完成的花卉數(shù)據(jù)集,數(shù)據(jù)集不僅有來自國內(nèi)某植物研究所的公開數(shù)據(jù)集,也有國外可供學(xué)習(xí)使用的數(shù)據(jù)集?;谝陨蠗l件,是足以識別出大部分“美麗卻不知名”的植物。使用過程依然是可以通過拍照或者上傳圖片的方式,將圖片上傳至服務(wù)器,識別工作就交給算法模型即可。
它不僅可以將以上所有的識別數(shù)據(jù)記錄保存至本地(遵循數(shù)據(jù)隱私保護(hù)條約),也是我們團(tuán)隊朝著“互聯(lián)網(wǎng)+”農(nóng)業(yè)新形態(tài)發(fā)展方向的有機(jī)組成部分。您所看到的小程序是作者所設(shè)計的智慧農(nóng)業(yè)方案中的一個重要節(jié)點(diǎn),此外其他節(jié)點(diǎn)(例如智能灌溉系統(tǒng)等)都將打通數(shù)據(jù)流合作,與小程序形成互通有無的格局。
(1)本小程序主要的功能為對花卉種類以及植物病蟲害的識別,一方面可以讓用戶在戶外有需要認(rèn)識到未知花卉的情況下提供有效幫助,另一方面,也希望能夠促進(jìn)用戶有更好的種植經(jīng)驗(yàn)。
(2)本小程序在設(shè)計中采用注重用戶體驗(yàn)的原則,在界面、元素、交互設(shè)計等方面都有所體現(xiàn),具有對應(yīng)的用戶操作簡易性、交互友好性。
(3)本小程序的操作邏輯以及數(shù)據(jù)流走向以用戶體驗(yàn)為原則出發(fā),主要由用戶主動拍照或者上傳植物圖片,小程序?qū)D片數(shù)據(jù)上傳至作者部署的服務(wù)器(數(shù)據(jù)上傳過程遵循隱私保護(hù)條約),再由服務(wù)器內(nèi)部署完成的算法模型自動識別圖像,最后再由模型將結(jié)果返回至小程序端提供給用戶查看。具體如圖1所示。
圖1 “愛綠小助手”小程序功能結(jié)構(gòu)
小程序的logo則是為了體現(xiàn)本小程序“愛綠”的內(nèi)涵——對植物方面的深入了解,并希望通過對植物的了解延伸到對環(huán)境保護(hù)意識的提升。這個logo采用了綠色為主要基調(diào),底部是較為荒蕪的地面,通過渲染一層代表生機(jī)的淡綠色可以不斷感化身邊的荒漠,并逐漸展現(xiàn)出生機(jī)盎然的景色。也是團(tuán)隊成員為生態(tài)環(huán)境與社會環(huán)境都能夠煥發(fā)生機(jī)的愿景。如圖2所示。
圖2 “愛綠小助手”logo
小程序中出現(xiàn)的植物元素由本團(tuán)隊成員自行設(shè)計,采用統(tǒng)一的粗體邊框與帶色彩的圖形元素相結(jié)合,通過對相應(yīng)植物特點(diǎn)的采納,設(shè)計出對應(yīng)的植物元素圖標(biāo),在使用本小程序的植物病蟲害識別模塊中,使用戶可以直觀地通過圖形元素了解到按鈕對應(yīng)的植物模塊,增加用戶使用友好程度與產(chǎn)品界面的美觀程度。如圖3所示。
圖3 “愛綠小助手”圖標(biāo)
2.4.1 常規(guī)界面
小程序首頁:點(diǎn)擊右上角(…)按鈕,彈出小程序常規(guī)操作框:可對本小程序進(jìn)行相應(yīng)分享、收藏、添加、設(shè)置、重新進(jìn)入等操作。
點(diǎn)擊底部菜單欄各個按鈕可以進(jìn)入對應(yīng)的界面,依次為“:識別病蟲害”界面“、花卉百科”界面和“我的”界面。
“識別病蟲害”界面可以通過點(diǎn)擊等操作進(jìn)行對病蟲害的識別。
“花卉百科”界面可以通過點(diǎn)擊等操作進(jìn)行花卉等植物的識別。
“我的”界面可以進(jìn)行各項常規(guī)操作。
具體界面如圖4所示。
圖4 常規(guī)界面設(shè)計
2.4.2 識別病蟲害界面設(shè)計
在該界面可以通過各種操作對病蟲害做出識別指令。
通過點(diǎn)擊對應(yīng)植物種類,可以做出其特定的病蟲害識別,此處以玉米病蟲害分析為例。如圖5所示。
圖5 以識別玉米病蟲害分析為例
點(diǎn)擊玉米病蟲害分析按鈕后,彈出對話框,可以選擇“通過手機(jī)相冊照片”上傳或“通過手機(jī)相機(jī)拍攝”上傳,點(diǎn)擊后依次跳轉(zhuǎn)到對應(yīng)界面。如圖6所示。
圖6 選擇圖像來源
在圖片上傳完成后等待識別過程,識別成功后跳轉(zhuǎn)到識別結(jié)果界面。結(jié)果為識別出可能出現(xiàn)的植物及其病蟲害概率。如圖7所示。
圖7 返回結(jié)果值
2.4.3 識別花卉界面設(shè)計
在該界面可以通過各種操作對花卉做出識別等一系列指令。
可以通過點(diǎn)擊對應(yīng)植物百科跳轉(zhuǎn)到對應(yīng)植物介紹,此處以“蘭花”為例,在對應(yīng)界面可以通過向左滑動(ios系統(tǒng))或向左向右滑動(安卓系統(tǒng))返回到“花卉識別”界面。如圖8所示。
圖8 花卉百科
可以通過點(diǎn)擊右下方綠色“識別花卉”按鈕進(jìn)行花卉等植物的識別。如圖9所示。
圖9 選擇圖像來源
點(diǎn)擊該按鈕后自動彈出框,可以選擇“通過手機(jī)相冊照片”上傳或“通過手機(jī)相機(jī)拍攝”上傳,點(diǎn)擊后依次跳轉(zhuǎn)到對應(yīng)界面。
在圖片上傳完成后等待識別過程,識別成功后跳轉(zhuǎn)到識別結(jié)果界面,識別結(jié)果為識別出可能出現(xiàn)的植物及其概率。如圖10所示。
圖10 返回結(jié)果值
整個系統(tǒng)以識別病蟲害功能作為基礎(chǔ)進(jìn)行設(shè)計,且為了方便用戶辨識不同的植物病蟲害,因此設(shè)計了一個基于小程序的識別程序。用戶對系統(tǒng)進(jìn)行操作后,需要對應(yīng)用有一個操作請求的服務(wù)器來處理,同時在操作過程中需要訪問已經(jīng)存在數(shù)據(jù)庫的數(shù)據(jù)集,方便日后的信息維護(hù)與整合。
“愛綠助手+”微信小程序主要由四個部分組成:移動端功能模塊、服務(wù)器端功能模塊、識別病蟲害模塊、識別花卉模塊。如圖11所示。
圖11 整體架構(gòu)圖
VGGNet于2014年提出,并在ImageNet1000類圖像定位中獲得第一、第二名,目前仍常用來提取圖像特征。
在網(wǎng)絡(luò)深度方面,大卷積可以捕捉到原始紋理細(xì)節(jié)的特征變化,因?yàn)樵紙D像的大尺寸可能會產(chǎn)生冗余。此時,Alexnet網(wǎng)絡(luò)使用11×11的大卷積核,步長為4像素。由于后期的更深層次可能會在較大的局部范圍內(nèi)失去特征相關(guān)性,Alexnet網(wǎng)絡(luò)轉(zhuǎn)而使用更多的3×3小卷積核來捕捉細(xì)節(jié)變化。VGGnet使用所有3×3卷積核。
與Alexnet使用3×3大小的池核相比,VGGnet網(wǎng)絡(luò)都使用2×2大小的池核,這樣VGGnet可以獲得更詳細(xì)的原始圖像信息。另外,采用最大池化方法,更容易捕捉圖像和梯度的變化,使圖像局部特征信息變化更大,可以更好地描述紋理信息等細(xì)節(jié)。
其中,VGG-16是卷積神經(jīng)網(wǎng)絡(luò)中分類性能優(yōu)良的網(wǎng)絡(luò)之一。VGG-16卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)參數(shù)圖如圖12所示。
圖12 VGG-16卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)圖
網(wǎng)絡(luò)結(jié)構(gòu)有13個卷積層和3個全連接層。在網(wǎng)絡(luò)開始時,輸入一幅224×224的RGB圖像,并淡化了21。然后對圖像卷積一個3×3的卷積核,步長為1像素,空間填充為1像素。池化層執(zhí)行最大池化,設(shè)置窗口大小為2×2,步長為2像素。網(wǎng)絡(luò)最終由三個全連接層組成,前兩個全連接層有4096個通道,第三個全連接層包含1000個通道,實(shí)現(xiàn)1000種圖像分類。
最大化利用現(xiàn)有的數(shù)據(jù)資源庫,建立起一個高效并且準(zhǔn)確的農(nóng)業(yè)領(lǐng)域?qū)<抑R庫以及識別機(jī)制,使之具有應(yīng)時性。
針對現(xiàn)有的訓(xùn)練數(shù)據(jù)集進(jìn)行擴(kuò)充和整理,盡可能引入不同來源、效果、方面的數(shù)據(jù)集,使之訓(xùn)練數(shù)據(jù)得以增強(qiáng)?;驀L試更多的增強(qiáng)方法,如引入對抗學(xué)習(xí)因素、擴(kuò)展圖像訓(xùn)練維度等等。
優(yōu)化深度學(xué)習(xí)算法模型,實(shí)現(xiàn)其高效性的特點(diǎn)。嘗試不同的網(wǎng)絡(luò)架構(gòu),尋找最優(yōu)的訓(xùn)練參數(shù),如學(xué)習(xí)率、迭代次數(shù)、批量大小等。