劉萬學(xué) 蒯乃陽 韓爽等
中圖分類號:S 431.9 文獻標(biāo)識碼:A DOI:10.16688/j.zwbh. 2020267
隨著全球經(jīng)濟一體化的飛速發(fā)展,外來生物入侵已經(jīng)成為與一個國家的經(jīng)濟發(fā)展、生態(tài)安全、國際貿(mào)易與政治利益緊密關(guān)聯(lián)的重大科學(xué)問題,也是國際社會、各國政府、科學(xué)家與民眾共同關(guān)注的社會熱點。我國是世界上外來生物入侵危害最為嚴(yán)重的國家之一,在已報道的600多種外來入侵物種中占300多種,嚴(yán)重威脅著我國的生態(tài)安全和農(nóng)林業(yè)生產(chǎn)甚至對人畜健康和軍事防衛(wèi)構(gòu)成嚴(yán)重威脅。實現(xiàn)對入侵植物早期監(jiān)測預(yù)警和早期及時防治的一個重要的前提是實時識別入侵植物的種類。目前,入侵植物識別主要通過形態(tài)學(xué)分類鑒定和分子生物學(xué)鑒定等方法。其中,形態(tài)學(xué)識別方式主要依靠調(diào)查鑒定人積累的經(jīng)驗,或者參考相關(guān)書籍和網(wǎng)絡(luò)資料進行判定,對于難以辨認(rèn)的種類則需要專家鑒定。由于入侵植物種類繁多,且有些種類之間形態(tài)相似,種內(nèi)也有可能出現(xiàn)變異或發(fā)育階段的可塑性形態(tài)變化。這些因素導(dǎo)致對入侵植物進行識別時容易出現(xiàn)誤判,調(diào)查監(jiān)測的實時性也很差;此外,由于專家人數(shù)有限和專業(yè)領(lǐng)域的差異等,也不可能隨時到現(xiàn)場對入侵植物進行識別。因此,亟須建立和開發(fā)一種入侵植物智能識別工具,為用戶提供便捷、高效、實時、準(zhǔn)確的入侵植物識別診斷服務(wù)。
隨著圖像處理技術(shù)和機器學(xué)習(xí)理論的發(fā)展與應(yīng)用,有很多學(xué)者開始利用植物葉片圖像來研究植物種類識別的方法s。首先通過圖像采集設(shè)備拍攝單張葉片圖像,然后進行葉片圖像的預(yù)處理和背景分割,提取和篩選葉片特征,主要包括全局特征中的顏色、形態(tài)和紋理特征,局部特征中的尺度不變特征變換(scale invariant feature transform)、方向梯度直方圖特征、局部二值模式、Gabor、基于主曲率的區(qū)域檢測器和多特征融合等,最后篩選出有效特征后訓(xùn)練不同的分類器進行植物葉片的識別,分類器主要包括支持向量機、神經(jīng)網(wǎng)絡(luò)、K最鄰近分類和稀疏表示分類器。
由于植物種類繁多,植物葉片存在種間變異和類間相似的現(xiàn)象,上述這種傳統(tǒng)的模式識別方法在自然環(huán)境下難以獲得高識別率,模型泛化能力差。近幾年,深度學(xué)習(xí)方法中的卷積神經(jīng)網(wǎng)絡(luò)(CNN)在大規(guī)模圖像識別任務(wù)中表現(xiàn)出色,可以從圖像中自動提取成千上萬的特征用于識別圖像中的目標(biāo)。已有學(xué)者將深度學(xué)習(xí)方法應(yīng)用到植物種類識別中,建立卷積神經(jīng)網(wǎng)絡(luò)模型,利用遷移學(xué)習(xí)方法,微調(diào)訓(xùn)練好的模型參數(shù),獲得了較高的識別率,這些研究結(jié)果為外來入侵植物智能識別提供了較好的理論支撐。隨著智能手機的日益普及,移動應(yīng)用的開發(fā)呈現(xiàn)井噴態(tài)勢,這為實現(xiàn)便攜的外來入侵植物智能識別提供了良好的載體與環(huán)境。將深度學(xué)習(xí)與手機移動設(shè)備兩者結(jié)合實現(xiàn)移動端快速拍照、識別的應(yīng)用越來越多,例如“形色”“識花”“花伴侶”等應(yīng)用軟件,通過使用手機拍攝花朵或是植物圖像,進行實時智能識別,可以獲得較高的準(zhǔn)確率,為植物和花卉愛好者提供了一個便捷的智能識別工具。本文利用安卓編程語言和深度學(xué)習(xí)方法建立了基于移動終端的外來入侵植物智能識別系統(tǒng),實現(xiàn)客戶用手機拍攝未知植物,系統(tǒng)將自動識別結(jié)果實時反饋給用戶,并提供我國入侵植物信息、危害信息、防治方法和發(fā)生分布信息等信息的查詢功能。
1.1系統(tǒng)設(shè)計
外來入侵植物智能識別系統(tǒng)是基于客戶端(cli-ent)/服務(wù)器(server)模式的應(yīng)用開發(fā),由手機客戶端APP、云端服務(wù)器和深度學(xué)習(xí)模型組成。用戶可通過客戶端APP拍照或者圖庫選取相冊中的入侵植物圖像,經(jīng)預(yù)覽、裁剪等處理操作后上傳至云服務(wù)器,云服務(wù)器調(diào)用算法對圖像進行自動識別后再將結(jié)果反饋給客戶端,客戶也可通過遠程專家診斷功能進行在線咨詢。系統(tǒng)技術(shù)路線如圖1所示。
1.2試驗數(shù)據(jù)
本文的圖像數(shù)據(jù)一部分來自中國農(nóng)業(yè)科學(xué)院植物保護研究所,一部分來自網(wǎng)絡(luò)圖片,共35科135種16 843幅入侵植物圖像,所有圖片經(jīng)過專業(yè)人員鑒定。訓(xùn)練集與測試集圖像樣本量按照4:1分配,其中13469幅圖像作為訓(xùn)練集,3 374幅作為測試集。
1.3圖像數(shù)據(jù)增強
通過添加噪聲、增強亮度、增加對比度和旋轉(zhuǎn)等方法(圖2)對訓(xùn)練圖像進行圖像數(shù)據(jù)增強,訓(xùn)練集擴增到原來的5倍。
1.4基于DenseNet的入侵植物識別模型的建立與結(jié)果的評價
DenseNet模型的網(wǎng)絡(luò)結(jié)構(gòu)主要由稠密塊dense block和過渡層transition layer組成(圖3)。在稠密塊中每層之間采用非線性組合函數(shù)BN+ReLU+3×3 conv的結(jié)構(gòu),過渡層包含卷積層和池化層。DenseNet采用密集連接機制和通過特征在channel上的連接來實現(xiàn)特征重用,這些特點讓DenseNet在參數(shù)和計算成本更少的情形下比ResNet具有更優(yōu)的性能。
利用識別率來評價模型對外來人侵植物的識別情況。
識別率一測試集中識別正確的圖像數(shù)/測試集中外來入侵植物圖像總數(shù)。
1.5基于Android的外來入侵植物識別系統(tǒng)APP的設(shè)計
在Android開發(fā)環(huán)境Android Srudio下實現(xiàn)入侵植物識別的客戶端APP,其核心功能包括用戶登錄、入侵植物信息查詢、入侵植物圖像采集和上傳、識別結(jié)果的反饋、入侵植物拍攝點的地理信息和專家遠程診斷等。
利用Material Design控件設(shè)計UI界面。用戶登錄模塊使用post請求攜帶用戶名和密碼等信息參數(shù)訪問服務(wù)器,服務(wù)器接受請求后返回回調(diào)信息。
利用ViewPager組件、RecyclerView自定義控件、SearchView和PhotoView圖片查看庫實現(xiàn)入侵植物信息查詢模塊。
利用百度提供的Android地圖SDK接口,通過使用GPS或網(wǎng)絡(luò)定位功能獲取手機當(dāng)前位置,使用post請求攜帶位置信息訪問服務(wù)器數(shù)據(jù)庫,服務(wù)器接受請求后將附近的入侵植物信息以Json數(shù)據(jù)格式返回,客戶端解析后結(jié)合Glide圖片加載庫在地圖上提供實時的入侵植物位置信息,通過GPS距離換算可顯示入侵植物與用戶位置的距離。
圖片選擇提供了自定義相機拍照與圖庫選取兩種方式。自定義相機調(diào)用Camera2 API接口,獲取攝像頭管理器CameraManager openCamera打開攝像頭,調(diào)用takePreview在SurfaceView中進行預(yù)覽拍照,使用ImageReader回調(diào)方法將拍攝的圖像進行顯示。也可以從圖庫中選擇入侵植物圖像,無論通過什么方式獲得待識別植物圖像,均可以對圖像進行裁剪。手機與云服務(wù)器傳輸模式是基于HTTP協(xié)議。使用post方法以表單形式向服務(wù)器發(fā)出上傳請求,然后將發(fā)送內(nèi)容按HTTP協(xié)議標(biāo)準(zhǔn)以二進制流的方式進行包裝,發(fā)送至Web服務(wù)器端,服務(wù)器解析二進制數(shù)據(jù)流后根據(jù)識別請求調(diào)用相應(yīng)的識別算法實現(xiàn)入侵植物的識別;最后將識別結(jié)果按Json數(shù)據(jù)格式反饋回客戶端??蛻舳私馕霁@得識別結(jié)果后按相似度最高的5種入侵植物排序顯示在手機屏幕上,為用戶提供參考,如果第一種植物特征不符合待識別植物,則選擇下面4種植物中的一種或者以上均不是的結(jié)果,選定“是”,這幅待識別的圖像將保存在服務(wù)器中,有待于專家遠程鑒定,豐富入侵植物圖像數(shù)據(jù)庫種類和數(shù)量。
1.6服務(wù)端入侵植物識別模型的部署
利用JDBC與MySQL建立數(shù)據(jù)庫管埋系統(tǒng),包括用戶注冊信息數(shù)據(jù)表、第三方登錄信息數(shù)據(jù)表、入侵植物圖像信息數(shù)據(jù)表以及診斷信息數(shù)據(jù)表。通過使用DAO模式將業(yè)務(wù)代碼和數(shù)據(jù)庫操作代碼分離,利用連接池來減少頻繁的連接創(chuàng)建,提高數(shù)據(jù)庫整體的操作性能。
利用JSP和Servlet實現(xiàn)基于HTTP協(xié)議的客戶端與服務(wù)器端的通信,同時編寫Servlet業(yè)務(wù)邏輯,利用Commons Fileupload開源類庫實現(xiàn)二進制數(shù)據(jù)流的接收與解析,通過壓縮識別后的入侵植物圖片,提高客戶端緩存圖片的速率以及地圖模塊入侵植物分布的顯示效果。
為了解決算法模型的調(diào)用問題,采用JNI本地方法接口,通過生成DLL動態(tài)鏈接庫來進行實現(xiàn),添加模型文件,均值文件,權(quán)值文件,標(biāo)簽文件即可實現(xiàn)遠端服務(wù)器的識別檢測。
2.1模型識別結(jié)果
基于DenseNet的入侵植物識別模型對135種入侵植物進行識別,以最大相似度的識別結(jié)果為正確結(jié)果的識別率為85. 3%,以最大相似度前5個結(jié)果中有正確結(jié)果的識別率為96. 2%。結(jié)果表明基于DenseNet的入侵植物識別模型可以實現(xiàn)對多種入侵植物的識別。
2.2基于Android的外來入侵植物識別系統(tǒng)APP
2.2.1用戶注冊、登錄與地圖顯示
用戶可以進行注冊和登錄操作,登錄時可選擇記住密碼和直接登錄,若選擇直接登錄則下次打開軟件時會跳過登錄界面,默認(rèn)使用上次登錄的用戶(圖4a)。登錄成功之后進入主界面,以地圖顯示拍照附近的位置(圖4b),主界面中用BottomNavigationView控件實現(xiàn)底部導(dǎo)航欄,用戶可以點擊底部導(dǎo)航欄或者滑動切換功能模塊。
2.2.2入侵植物信息查詢模塊
可以對35科135種入侵植物按照中文或拉丁文的學(xué)名進行快速查詢(圖5a),點擊植物詳情可查看該植物的基本情況、發(fā)生地區(qū)分布、分類地位、形態(tài)特征、生物防治、藥劑防治、首次發(fā)現(xiàn)或引入的地點及時間、危害特性、生境類型、可能擴散的區(qū)域和預(yù)防控制管理措施等信息(圖5b),可以查看該植物的更多圖片(圖5c)。
2.2.3圖像采集、裁剪與識別模塊
用戶可以通過自定義相機拍照或圖庫選取待識別的植物圖像(圖6a,b),可以對圖像進行裁剪,使植物處于圖像的中間,使植物區(qū)域圖像最大化(圖6c)。將裁剪后的圖像發(fā)送到服務(wù)器,Web服務(wù)器端調(diào)用入侵植物識別模型進行識別,并將識別結(jié)果按相似度從高到低列出前5種入侵植物反饋到用戶的手機端(圖6d)。如果給出的5種植物均不符合待識別的植物,可請求專家進行遠程鑒定。
一幅入侵植物圖像從上傳到服務(wù)器到識別反饋到客戶端,在GPU模式下識別響應(yīng)時間在1~2s,滿足實際應(yīng)用需求。
本研究開發(fā)建立的外來入侵植物識別系統(tǒng)APP可以為基層科技人員、科研教學(xué)單位人員、學(xué)生以及