摘要 圖像識別是除草機器人的一項基礎關鍵研究。為了能提高農(nóng)作物和雜草的識別率以及便于識別物特征的提取,提出了基于卷積神經(jīng)網(wǎng)絡的識別方法。以農(nóng)田中的雜草和農(nóng)作物為試驗對象設計了網(wǎng)絡結構。該網(wǎng)絡結構的參數(shù)較少,準確率達到了92.08%,且處理每張圖片的時間僅為0.82 ms。
關鍵詞 除草;卷積神經(jīng)網(wǎng)絡;快速;圖像識別
中圖分類號 S126文獻標識碼 A
文章編號 0517-6611(2019)14-0242-03
doi:10.3969/j.issn.0517-6611.2019.14.071
開放科學(資源服務)標識碼(OSID):
Abstract Image recognition is the basic and key research of weeding robot.In order to improve the recognition rate of crops and weeds and facilitate the extraction of recognition features,we proposed a recognition method based on convolutional neural network.The network structure was designed with weeds and crops as experimental objects.The network structure had fewer parameters with its accuracy reaching 92.08%,and the processing time of each picture was only 0.82 ms.
Key words Weeding;Convolutional neural network;Fast;Image identification
作者簡介 張有春(1997—),男,云南大理人,從事計算機圖像識別研究。
收稿日期 2018-12-25;修回日期 2019-02-18
除草是培養(yǎng)栽培植物必不可少的過程,目前除草工作已經(jīng)摒棄了傳統(tǒng)人工除草的方式,較為廣泛使用的是化學除草。該方法可節(jié)省勞動力,降低除草成本,提高勞動生產(chǎn)力;但其弊端也是顯而易見的,有時候會引起藥害,甚至污染環(huán)境,破壞生態(tài)平衡。智能除草有利于生態(tài)環(huán)境保護且先進高效[1],這也是被廣泛研究的原因,如何快速有效地識別作物與雜草是除草機器人研究的關鍵技術。
如今,隨著機器學習領域中深度學習的崛起,基于人工神經(jīng)網(wǎng)絡的各種識別方法被廣泛用于各個領域[2],深度學習模擬人腦進行分析,通過組合低層次特征形成更加抽象的高層次特征[3]。它通過提取農(nóng)作物與雜草特征,以數(shù)據(jù)形式在預先設計好的模型中進行訓練得到新的模型,從而實現(xiàn)農(nóng)作物與雜草的識別。該方法準確率較高,且由于模型的特殊性包含參數(shù)較多,對于識別有很好的通用性。鑒于此,基于卷積神經(jīng)網(wǎng)絡的識別方法,筆者進一步研究了雜草圖像快速識別。
1 卷積神經(jīng)網(wǎng)絡
卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)是一種有別于一般神經(jīng)網(wǎng)絡的新型網(wǎng)絡,涉及圖像識別、自然語言處理等領域,其研究趨勢和發(fā)展前景較好。卷積神經(jīng)網(wǎng)絡由輸入層、卷積層、池化層、激活函數(shù)、全連接層、輸出層組成[4]。卷積層用于提取輸入數(shù)據(jù)的特征,由許多卷積核組成,卷積核像一個篩子篩選有用的信息,而篩選的過程即為卷積運算過程;池化層在不破壞數(shù)據(jù)主要特征的情況下,減少訓練數(shù)據(jù)中一些無關緊要的參數(shù),在一定程度上能防止過擬合,更方便優(yōu)化;激活函數(shù)是為了增加網(wǎng)絡的表達能力,即非線性因素;全連接層則是把之前的局部特征全部組合在一起,從而實現(xiàn)對識別物的分類。
以經(jīng)典模型LeNet-5為例,以野外采集的雜草圖像為輸入數(shù)據(jù),計算機理解為若干向量矩陣(圖1)。C1為卷積層,C1卷積之后通過激活函數(shù)得到S2,S2為池化層通過池化操作得到C3,C3也是卷積層,C3和S4通過和C1、S2相同操作后得到C5,進一步得到F6全連接層,F(xiàn)6中每個神經(jīng)元與C5進行全連接。
2 網(wǎng)絡結構設計
使用卷積神經(jīng)網(wǎng)絡算法進行識別研究的關鍵在于神經(jīng)網(wǎng)絡結構設計的合理性,好的網(wǎng)絡結構往往是集性能和計算效率于一身。網(wǎng)絡結構的結果好壞和學習效率與參數(shù)有密切關系,而卷積核大小直接影響參數(shù)的多少,設計時避免出現(xiàn)AlexNet[5]中11×11大小的卷積核,用較小尺寸的卷積核代替。斬獲2014 ILSVRC挑戰(zhàn)賽冠軍的網(wǎng)絡結構GoogLeNet[6],一共有22層使用的卷積核大小,最大為5×5,不同尺寸卷積核搭配使用,達到減少參數(shù)的效果,從而提高了計算效率。參數(shù)的數(shù)量減少到AlexNet的1/12,但是其性能卻優(yōu)于AlexNet很多。受GoogLeNet啟發(fā),減少卷積核大小的同時適當增加網(wǎng)絡的深度。
該研究以LeNet-5網(wǎng)絡模型為基礎改進卷積神經(jīng)網(wǎng)絡結構(圖2),該網(wǎng)絡的核心在于3個卷積層和3個池化層交替使用不同尺寸的卷積核,這有利于特征的提取,同時可減少處理時間。其中,C1使用5×5大小的卷積核,C2和C3都使用3×3大小的卷積核,由于圖片信息量過大的因素,該研究選定池化操作為最大池化方法,池化層均采用2×2尺寸規(guī)格。每個卷積操作之后加入ReLu激活函數(shù),引入非線性因素。圖片的輸入尺寸為56×56,網(wǎng)絡結構可大致標記C52×52—P26×26—C24×24—P12×12—C10×10—P5×5,C表示卷積層,P表示池化層,字母后的數(shù)字表示特征圖的大小。經(jīng)過3次卷積操作和3次池化操作,進入全連接層F1,F(xiàn)1有84個節(jié)點,在進入F2全連接層之前再次使用ReLu函數(shù)激活,F(xiàn)2有10個節(jié)點,最后一層為輸出層,輸出樣本的分類結果。
3 樣本采集與試驗處理
為了研究基于卷積神經(jīng)網(wǎng)絡的雜草識別方法,試驗選取大白菜(圖3a)及其伴生雜草作為實驗對象,雜草樣本主要是三葉草(圖3b)和鼠曲(圖3c)2種。使用手機在農(nóng)作物田中采集圖片最大分辨率為3 120×4 160,考慮到農(nóng)作物和雜草的全局性采用垂直拍攝作為圖片采集方式。為了適應不同環(huán)境下的雜草識別,分別從強光、一般、弱光3種不同光線強度進行圖片采集,每個類別采集60張圖片。
理論上可以直接把處理很少或未經(jīng)處理的圖片直接輸入卷積神經(jīng)網(wǎng)絡中,但實際上為了避免計算量大、學習效率低下等問題的出現(xiàn)以及提高神經(jīng)網(wǎng)絡的魯棒性和識別率,往往都會對采集到的圖片進行預處理。因此,該研究對采集得到的圖片進行預處理,預處理過程一般包括壓縮圖片、降低分辨率、灰度化、二值化和濾波等操作[7]。由于在采集樣本時拍攝高度和范圍不一致,為了符合實驗需求將圖片按1∶1比例裁剪后,統(tǒng)一分辨率為56×56;圖像灰度化使用加權平均法,灰度化后的圖片會存在一些噪聲,從而會影響圖像的識別,使用中值濾波法去除噪聲后進行二值化處理,整個過程均借助MATLAB編程實現(xiàn),處理結果如圖4所示。為了減少過擬合,得到較穩(wěn)定的網(wǎng)絡結構,卷積神經(jīng)網(wǎng)絡訓練時需要大量的數(shù)據(jù),但是由于采集圖片數(shù)量不是很多,所以對每張圖片預處理之后進行各方位90°翻轉,以此來增加樣本數(shù)量。最后把經(jīng)過預處理的圖片做成樣本集,一共有720張圖片,其中每一類數(shù)量為240張。
4 樣本采集與試驗結果
神經(jīng)網(wǎng)絡的框架搭建和訓練在Python的工具包-PyTorch環(huán)境下進行,整個試驗過程使用的設備是msi游戲筆記本,其參數(shù)為:Intel(R) Core(TM)i7-7700HQ CPU@2.80GHZ,CUDA為8.0版本。在訓練之前將樣本集分為6份,按5∶1比例分為訓練集和測試集,訓練集中大白菜、鼠曲、三葉草各有200張,各類圖集余下的40張則為測試集。網(wǎng)絡迭代次數(shù)設定為60次,學習效率0.001,訓練時隨機不重復地從訓練集中抽取數(shù)據(jù),輸入到神經(jīng)網(wǎng)絡中后,得到其均方差曲線(圖5),曲線圖表明訓練次數(shù)至30次后誤差速率下降比較平穩(wěn),繼續(xù)訓練曲線平穩(wěn)過度趨于一條水平線,訓練次數(shù)達到42次時誤差最小,為0.280。
為了實時得到網(wǎng)絡訓練后的正確率和最佳迭代次數(shù),每訓練1次網(wǎng)絡之后進行網(wǎng)絡測試,得到其正確率曲線如圖6所示。圖6表明訓練22次后,正確率高于80%,最高的識別率在迭代次數(shù)為45次時,達到91.82%,之后正確率基本保持在90.00%左右。
把該網(wǎng)絡與眾多學者研究使用的雜草識別方法進行比較,結果如表1所示。從表1可以看出,網(wǎng)絡在識別率上并不弱于前2種方法,由于不需要人為提取特征,因此省去很多工作,此外每張圖片平均0.82 ms的處理時間也具有優(yōu)越性;基于立體視覺進行識別的方法雖然識別率較高,但對技術、設備的要求相對也較高。該研究使用的網(wǎng)絡結構在運用于實際生產(chǎn)中時,并不需要對所有雜草進行識別,換種思路只需要識別出農(nóng)作物便可以除草,所以實際效果更好。
5 結語
針對農(nóng)作物中雜草的識別問題,該研究在基于卷積神經(jīng)網(wǎng)絡的識別方法的基礎上構建了一個卷積神經(jīng)網(wǎng)絡框架,該網(wǎng)絡識別雜草的正確率達92.08%,與其他方法相比,不僅在正確率上有所提高,每幅圖0.82 ms處理時間也優(yōu)于其他幾種方式。有別于傳統(tǒng)方法,該方法不需要人為提取特征,因此可以減少特征提取過程中的許多復雜運算,此外還有良好的泛化性,是一種較理想的田間雜草識別方法。
雖然使用卷積網(wǎng)絡神經(jīng)進行雜草識別試驗取得不錯的效果,但是也存在一些不足之處:
①試驗的數(shù)據(jù)量并不是很充足,數(shù)據(jù)量的多少對網(wǎng)絡結構的穩(wěn)定性和準確性起著關鍵作用,因此下一步打算采集更多的數(shù)據(jù)進行試驗;②卷積神經(jīng)網(wǎng)絡的設計結構不同,相應的效果也有所區(qū)別,因此下一步打算嘗試構建更優(yōu)的網(wǎng)絡結構。
參考文獻
[1] 邢占強.智能化除草機器人技術發(fā)展現(xiàn)狀及趨勢展望[J].農(nóng)業(yè)科技與裝備,2015(5):37-38.
[2] 郭麗麗,丁世飛.深度學習研究進展[J].計算機科學,2015,42(5):28-33.
[3] 周月鵬,盧喜利.深度學習技術在智慧校園建設中的應用研究[J].微型電腦應用,2018,34(12):131-133,143.
[4] 李宗辰.基于卷積神經(jīng)網(wǎng)絡的文獻分析[D].長春:長春工業(yè)大學,2017:16-20.
[5] 周曼,劉志勇,陳夢遲,等.基于AlexNet的遷移學習在流程工業(yè)圖像識別中的應用[J].工業(yè)控制計算機,2018,31(11):80-82.
[6] 王天興.基于GoogLeNet網(wǎng)絡結構的改進算法研究[D].杭州:杭州電子科技大學,2018:18-20.
[7] 楊建姣.基于BP神經(jīng)網(wǎng)絡的田間雜草識別技術的研究[D].長春:吉林農(nóng)業(yè)大學,2017:7-18.
[8] 喬永亮,何東健,趙川源,等.基于多光譜圖像和SVM的玉米田間雜草識別[J].農(nóng)機化研究,2013,35(8):30-34.
[9] 吳蘭蘭,劉劍英,文友先,等.基于支持向量機的玉米田間雜草識別方法[J].農(nóng)業(yè)機械學報,2009,40(1):162-166.
[10] 王璨,李志偉.利用融合高度與單目圖像特征的支持向量機模型識別雜草[J].農(nóng)業(yè)工程學報,2016,32(15):165-174.