李沖王光輝陸志恒王德成郭子文蔡晨林靜
(中國(guó)農(nóng)業(yè)大學(xué) 工學(xué)院,北京 100083)
2019年,我國(guó)林業(yè)產(chǎn)業(yè)總產(chǎn)值達(dá)7.56萬(wàn)億元,已成為林產(chǎn)品生產(chǎn)、貿(mào)易和消費(fèi)大國(guó)。黨的十九大提出,到2035年全國(guó)森林覆蓋率力爭(zhēng)達(dá)到26%。為此,每年須完成造林任務(wù)733萬(wàn)hm2[1]。在林木種植過程中,為保證其進(jìn)入成熟期后的高效利用,需準(zhǔn)確掌握種植樹木種類[2-3]。同時(shí)采集林木種類信息也是利用和保護(hù)林木資源的基礎(chǔ),是林業(yè)資源可持續(xù)利用的有力保障[4-5]。
在樹木樹種識(shí)別任務(wù)中,主要采用經(jīng)驗(yàn)觀察法,該方法存在著經(jīng)濟(jì)性差和誤差較大等問題,無(wú)法高效、準(zhǔn)確完成林木識(shí)別任務(wù)[6]。機(jī)器學(xué)習(xí)的發(fā)展使得人工進(jìn)行林木特征提取并建立樹種識(shí)別模型成為可能,但大多還需要依靠工作人員對(duì)樹葉、樹皮和果實(shí)的外觀特征進(jìn)行選擇,此方式所構(gòu)建的模型精準(zhǔn)度與泛化性能不強(qiáng)[7],效率也已經(jīng)難以滿足林業(yè)發(fā)展的需要。一些學(xué)者通過無(wú)須人工篩選特征的深度學(xué)習(xí)方法自動(dòng)提取目標(biāo)特征,有效提升了目標(biāo)檢測(cè)任務(wù)的準(zhǔn)確率和速度[8]。Yang等[9]通過掃描獲取3個(gè)肉桂物種的葉片圖像,使用葉片圖像和深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)來(lái)進(jìn)行分類識(shí)別,測(cè)試精度高達(dá)96.7%,比SVM+Gabor分類器高22.1%;Verly等[10]通過使用Inception-V4構(gòu)建了北美10種硬木樹種分類模型,較高提升了樹種宏觀圖像上分類的準(zhǔn)確率,其準(zhǔn)確率達(dá)92.60%; Yang等[11]參考SqueezeNet網(wǎng)絡(luò)模型,提出一種輕量化模型,能夠快速、高效地進(jìn)行不同產(chǎn)品紋理的區(qū)分,其分類任務(wù)準(zhǔn)確率達(dá)到95.58%;何拓等[12]基于Res-Net-50網(wǎng)絡(luò)模型構(gòu)建了木材自動(dòng)識(shí)別系統(tǒng),該系統(tǒng)在“屬”和“種”的識(shí)別精度可達(dá)91.8%和77.3%,通過深度學(xué)習(xí)技術(shù)有效實(shí)現(xiàn)了木材“種”特征的自動(dòng)提取識(shí)別。因此,基于深度學(xué)習(xí)構(gòu)建網(wǎng)絡(luò)模型分類器能夠減少人工特征提取成本,并提升識(shí)別準(zhǔn)確率[13]。
為了提升樹種識(shí)別任務(wù)的效率和準(zhǔn)確率,降低樹種識(shí)別工作強(qiáng)度,本研究以華北地區(qū)常見的6種行道樹種為研究對(duì)象,建立樹種圖像數(shù)據(jù)集,比較不同卷積神經(jīng)網(wǎng)絡(luò)的樹種識(shí)別能力,構(gòu)建最佳樹種識(shí)別模型,并完成林木樹種識(shí)別系統(tǒng)的設(shè)計(jì),為城市園林建設(shè)、林木業(yè)高效科學(xué)管理提供新思路和新方法。
林木樹種識(shí)別系統(tǒng)由硬件設(shè)備部分與軟件算法模型部分構(gòu)成。其中硬件設(shè)備可作為圖像智能采集平臺(tái)單獨(dú)工作,由紅外傳感器(WWEIGUO, 30~700 cm檢測(cè)距離, DC6~36 V)、雙目相機(jī)(Stereolabs, ZED 2, USB3.0端口, 60幀/s)、工控機(jī)(CIBOU, 酷睿i7 10510U,8 G內(nèi)存,12 V 5 A)、蓄電池(品晟, P-701, 200 000 M, DC5~19 V)、顯示屏(ZGYNK, HDMI USB 2.0 Type-C, 15.6英寸)以及開發(fā)板(Arduino, MEGA 2 560 R3, USB3.0, 9 V)組成。圖像智能采集平臺(tái)程序邏輯如圖1所示。
紅外傳感器與雙目相機(jī)通過設(shè)定程序與Arduino開發(fā)板連接。程序邏輯為當(dāng)紅外傳感器1受到遮攔感知到林木被觸發(fā),經(jīng)由串口傳遞信號(hào)給工控機(jī),工控機(jī)獲取信號(hào)后啟動(dòng)雙目相機(jī),雙目相機(jī)開啟拍照并且編號(hào)儲(chǔ)存,隨后紅外傳感器2被觸發(fā)或圖像數(shù)據(jù)采集量滿足要求后,雙目相機(jī)結(jié)束拍照,如此往復(fù)循環(huán)至程序關(guān)閉或電源關(guān)閉,并且拍照數(shù)量與時(shí)間間隔可以通過程序進(jìn)行設(shè)置。
圖1 圖像采集程序邏輯圖Fig.1 The program logic diagram of image acquisition
平臺(tái)分為采集端和處理端,可由人為手持或搭載移動(dòng)裝置上進(jìn)行工作。
平臺(tái)采集端由紅外傳感器、雙目相機(jī)和支架組成。因?qū)嶋H拍攝圖像時(shí)邏輯程序?yàn)榧t外傳感器1觸發(fā)相機(jī)拍照,紅外傳感器2觸發(fā)相機(jī)結(jié)束拍照,因此放置紅外傳感器1于靠近行駛路線一側(cè),相機(jī)放置于2個(gè)傳感器中間。并且所拍攝林木胸徑均約20 cm,拍攝位置與林木樹干直線距離約80 cm,經(jīng)過實(shí)地測(cè)試,支架長(zhǎng)度50 cm能夠滿足實(shí)際圖像采集速度。圖2是采集端安裝于拖拉機(jī)駕駛室外側(cè)擋泥板實(shí)例圖。
圖2 平臺(tái)采集端結(jié)構(gòu)Fig.2 Platform acquisition end structure
平臺(tái)處理端由工控機(jī)、蓄電池、顯示屏以及開發(fā)板組成。利用蓄電池可以為圖像采集相應(yīng)設(shè)備穩(wěn)定供電,借助工控機(jī)能夠滿足實(shí)際較為惡劣的作業(yè)條件,通過顯示屏實(shí)現(xiàn)采集作業(yè)的可視化,便于操作人員及時(shí)對(duì)作業(yè)進(jìn)行調(diào)整。采集好的圖像儲(chǔ)存像素為2 560×720,以bmp文件格式儲(chǔ)存。平臺(tái)處理端具體結(jié)構(gòu)形式如圖3所示。
圖3 平臺(tái)處理端結(jié)構(gòu)Fig.3 Platform processing end structure
林木圖像數(shù)據(jù)采集時(shí)間是2021年7月28日至2021年7月30日的每日14時(shí)至16時(shí),地點(diǎn)位于北京市大興區(qū)安定鎮(zhèn)平原造林地區(qū),坐標(biāo)116.5 °E, 39.6 °N。圖像數(shù)據(jù)集包含有6種華北地區(qū)常見行道樹種,分別為法國(guó)梧桐、楓樹、欒樹、柳樹、國(guó)槐和榆樹。具體信息見表1。
表1 林木圖像數(shù)據(jù)相關(guān)信息Tab.1 Information of tree images data
圖像數(shù)據(jù)由圖像智能采集平臺(tái)拍攝獲取。刪去圖像數(shù)據(jù)中較為模糊的圖像后,6種樹木各選擇500張圖像。由于所得圖像為雙目相機(jī)拍攝所得的左右目圖像,尺寸為2 560×720,因此需要進(jìn)行圖像裁剪操作,將原圖像劃分為左圖像和右圖像,均為
通過目標(biāo)檢測(cè)算法完成樹種分類任務(wù)。目標(biāo)檢測(cè)目的就是尋找出圖片中實(shí)例的位置進(jìn)行定位,并對(duì)定位實(shí)例進(jìn)行分類,最終得到定位框與分類得分[14]。需要提取出有效的感興趣區(qū)域,即圖像中主體林木的部分,并且排除背景等其他干擾[15]。因此在進(jìn)行深度學(xué)習(xí)前,對(duì)分割處理后的圖像進(jìn)行標(biāo)注。以MVTec Deep Learning Tool為標(biāo)注工具,完成了對(duì)圖像數(shù)據(jù)集的軸平行矩形標(biāo)注,此方法能夠在模型訓(xùn)練過程中充分計(jì)算反向損失并對(duì)模型進(jìn)行優(yōu)化調(diào)整。標(biāo)記過程中,對(duì)主要樹干區(qū)域進(jìn)行框選,其他區(qū)域部分默認(rèn)為背景。林木標(biāo)注實(shí)例如圖4所示。
圖4 林木圖像標(biāo)注實(shí)例Fig.4 The annotation example for tree images
標(biāo)注工作完成后,按照7∶1.5∶1.5的比例將林木圖像數(shù)據(jù)集隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,完成數(shù)據(jù)集的構(gòu)建。
通過生成特征圖、合并特征圖和輸入特征圖完成檢測(cè)的3個(gè)步驟,利用目標(biāo)檢測(cè)實(shí)現(xiàn)樹種識(shí)別任務(wù)[16]。首先,由預(yù)先訓(xùn)練好的分類網(wǎng)絡(luò)組成的主干生成不同特征圖,隨后移除分類層,此時(shí)生成的特征圖會(huì)在各個(gè)尺度編碼不同種類的信息;然后,通過指定不同層次的主干為對(duì)接層,將特征圖合并,獲得較低和較高2個(gè)層次信息的特征圖,即特征金字塔;最后,輸出相應(yīng)的特征圖,并學(xué)習(xí)分類和定位目標(biāo),完成目標(biāo)檢測(cè)任務(wù)。圖5為目標(biāo)檢測(cè)原理示意圖。
圖5 目標(biāo)檢測(cè)原理圖Fig.5 Schematic diagram of target detection
在實(shí)現(xiàn)樹種識(shí)別任務(wù)過程中,需要充分讀取圖像信息、穩(wěn)定提升參數(shù)效率和有效避免網(wǎng)絡(luò)過擬合。深度學(xué)習(xí)的提出,使得目標(biāo)檢測(cè)任務(wù)中興起了YOLO、Faster R-CNN和SSD等較為有效的模型網(wǎng)絡(luò)結(jié)構(gòu)以解決上述問題[17]。為了提高檢測(cè)速度與質(zhì)量,各種研究更是不斷推出獨(dú)特的網(wǎng)絡(luò)設(shè)計(jì),如SqueezeNet、Inception-V3和ResNet-50等網(wǎng)絡(luò)結(jié)構(gòu)[18],這些網(wǎng)絡(luò)結(jié)構(gòu)在樹種識(shí)別中也有較好的表現(xiàn)。其中,SqueezeNet網(wǎng)絡(luò)在保證精度不損失的同時(shí),將原始AlexNet模型大小壓縮至原來(lái)的1/50,其參數(shù)比AlexNet少50倍,能夠更加高效、快速實(shí)現(xiàn)任務(wù)[19];Inception-V3則根據(jù)初始Inception模塊結(jié)構(gòu),通過將原有5×5卷積核改進(jìn)為2個(gè)3×3卷積核來(lái)降低計(jì)算參數(shù)量以提升計(jì)算速度,從而提升模型處理復(fù)雜數(shù)據(jù)的能力[20];而ResNet-50在VGG19網(wǎng)絡(luò)基礎(chǔ)上加入殘差模塊,模型具有更高的穩(wěn)定性和魯棒性,被廣泛運(yùn)用于各種復(fù)雜特征提取應(yīng)用[21-22]。
為了減小時(shí)間成本、提升模型訓(xùn)練效果,運(yùn)用HALCON軟件中所提供的預(yù)先訓(xùn)練好的分類模型,這些模型在使用前已經(jīng)經(jīng)過較為豐富的圖像數(shù)據(jù)庫(kù)訓(xùn)練,在此基礎(chǔ)上訓(xùn)練出的網(wǎng)絡(luò)能更好地進(jìn)行本研究中的樹種識(shí)別任務(wù)。網(wǎng)絡(luò)結(jié)構(gòu)則選擇在目標(biāo)檢測(cè)任務(wù)中表現(xiàn)效果較好的SqueezeNet、Inception V3和ResNet-50 3種網(wǎng)絡(luò),在HALCON軟件中對(duì)應(yīng)的算子見表2。為簡(jiǎn)潔表達(dá),下文分別用SqueezeNet、Inception-V3和ResNet-50表示3種網(wǎng)絡(luò)模型。
表2 模型網(wǎng)絡(luò)算子Tab.2 Network model operator
為更好貼合實(shí)現(xiàn)形式與實(shí)際運(yùn)用,并且考慮綜合成本,采用臺(tái)式工作站計(jì)算機(jī)進(jìn)行系統(tǒng)部署與模型訓(xùn)練,并將訓(xùn)練好的最優(yōu)模型設(shè)置于圖像采集平臺(tái)工控機(jī)內(nèi)以完成林木樹種識(shí)別系統(tǒng)的軟件部署。臺(tái)式工作站軟硬件配套見表3。
表3 工作站環(huán)境配置Tab.3 The configuration of the workstation
數(shù)據(jù)集訓(xùn)練過程中,設(shè)置訓(xùn)練參數(shù)十分重要。其中最主要的為batch-size(批處理量)、iterations(迭代次數(shù))和learning_rate (學(xué)習(xí)率)3個(gè)參數(shù)。由于數(shù)據(jù)集數(shù)量及尺寸較大,為配合工作站運(yùn)算能力與硬件條件,在訓(xùn)練中batch_size 設(shè)定為2,iterations設(shè)定為400,learning_rate設(shè)定為0.000 5。
對(duì)于目標(biāo)檢測(cè)而言,需要制定一定的規(guī)則評(píng)價(jià)網(wǎng)絡(luò)性能,從而選擇合適的分類器。為了對(duì)網(wǎng)絡(luò)模型性能給出更加全面、客觀的評(píng)價(jià),采用平均精度均值(mAP,公式中用mAP表示)、準(zhǔn)確率(Accuracy,公式中用Accuracy表示)和召回率(Recall,公式中用Recall表示)3個(gè)指標(biāo)來(lái)評(píng)價(jià)模型網(wǎng)絡(luò)性能,計(jì)算公式如下[15,23]
式中:QR為驗(yàn)證集個(gè)數(shù);q為單個(gè)驗(yàn)證集;AP為平均精度;TP為實(shí)際正類預(yù)測(cè)為正類的數(shù)量;FP為實(shí)際負(fù)類預(yù)測(cè)為正類的數(shù)量;FN為實(shí)際正類預(yù)測(cè)為負(fù)類的數(shù)量。
設(shè)定相應(yīng)算子程序,使用3種不同訓(xùn)練模型對(duì)標(biāo)注、劃分后的自制6 000張圖像數(shù)據(jù)集進(jìn)行400次迭代訓(xùn)練,并且在過程中利用驗(yàn)證集對(duì)網(wǎng)絡(luò)模型進(jìn)行較完善的實(shí)時(shí)評(píng)價(jià)顯示,顯示參數(shù)包含mAP、損失值以及訓(xùn)練時(shí)長(zhǎng)。mAP是目標(biāo)檢測(cè)算法很重要的性能度量標(biāo)準(zhǔn),其能夠充分反映預(yù)測(cè)圖像類別及每個(gè)目標(biāo)的真實(shí)邊界框;損失則通常用來(lái)優(yōu)化訓(xùn)練數(shù)據(jù)的模型,損失函數(shù)值越小,說(shuō)明該模型擬合度越好[17]。
在評(píng)估和推測(cè)過程中,利用測(cè)試集在確定的交并比(IoU)下可以得到Accuracy和Recall。對(duì)于IoU而言,通常會(huì)選取一個(gè)閾值,如0.5,來(lái)確定預(yù)測(cè)框是正確的還是錯(cuò)誤的。當(dāng)2個(gè)框的IoU大于0.5時(shí),認(rèn)為是一個(gè)有效的檢測(cè),否則為無(wú)效的匹配[23]。研究中將IoU閾值設(shè)定為0.5。
表4為3種網(wǎng)絡(luò)模型訓(xùn)練結(jié)果。由表4可以看出,SqueezeNet在3種網(wǎng)絡(luò)模型中訓(xùn)練結(jié)果均為最優(yōu),mAP達(dá)0.735。Inception-V3模型效果在3者中表現(xiàn)一般。相比于SqueezeNet網(wǎng)絡(luò),Inception-V3在網(wǎng)絡(luò)深度上進(jìn)行改進(jìn),計(jì)算網(wǎng)絡(luò)模型更復(fù)雜,需要更多內(nèi)存資源才能達(dá)到理想效果[24]。在損失值方面 SqueezeNet、Inception-V3和ResNet-50相差不大,最終訓(xùn)練損失均下降至0.025附近并趨于穩(wěn)定,能夠符合目標(biāo)檢測(cè)任務(wù)要求[24]。在訓(xùn)練時(shí)長(zhǎng)方面SqueezeNet網(wǎng)絡(luò)模型耗時(shí)最短,ResNet-50在3者中耗時(shí)最長(zhǎng)。這主要是ResNet采用網(wǎng)絡(luò)中增加殘差網(wǎng)絡(luò)的方法,允許網(wǎng)絡(luò)盡可能地加深,所以需要更長(zhǎng)的訓(xùn)練時(shí)間[22]。
表4 不同預(yù)訓(xùn)練模型訓(xùn)練結(jié)果Tab.4 Training results by different pre-training models
3種訓(xùn)練模型評(píng)估結(jié)果的Accuracy和Recall相關(guān)數(shù)據(jù)如圖6所示。由圖6可以看出,SqueezeNet的Accuracy和Recall分別為99.6%和100%,高于Inception-V3的99.1%、99.6%和ResNet-50的99.3%、99.8%。結(jié)果顯示,3種網(wǎng)絡(luò)模型的Accuracy和Recall都較高,達(dá)到99%以上,其中SqueezeNet表現(xiàn)最為優(yōu)秀。主要原因是SqueezeNet相較于Inception-V3和ResNet-50參數(shù)數(shù)量較少,并且使用了deep compression使得模型充分壓縮,通過squeeze層和expand層構(gòu)成fire model多分支結(jié)構(gòu),從而最大程度保證精度的同時(shí)使用最少的參數(shù),更適合復(fù)雜度較低的目標(biāo)檢測(cè)分類模型任務(wù)[19]。
通過mAP、Accuracy和Recall的比較,結(jié)果表明,在測(cè)試的3種目標(biāo)檢測(cè)網(wǎng)絡(luò)模型中,SqueezeNet網(wǎng)絡(luò)模型識(shí)別效果最佳。
為分析SqueezeNet網(wǎng)絡(luò)模型在不同環(huán)境和生長(zhǎng)狀況下對(duì)樹種的適應(yīng)性,選擇不同光照條件、不同胸徑和不同林木直立程度的非數(shù)據(jù)集內(nèi)圖像進(jìn)行分類推測(cè)。從測(cè)試結(jié)果表5可以看出,當(dāng)圖像為細(xì)小的迎光直立林木時(shí),檢測(cè)效果最好,識(shí)別準(zhǔn)確率可達(dá)100%,即使林木處于粗壯的彎折背光情況,平均識(shí)別準(zhǔn)確率也可達(dá)97.51%,部分圖像檢測(cè)效果如圖7所示。通過圖7能夠看出,目標(biāo)檢測(cè)的定位框與分類2項(xiàng)任務(wù)皆能較好完成,并且在光照極好和極差、樹木彎折程度較強(qiáng)條件下也有較好的樹種檢測(cè)效果。
不同于訓(xùn)練和推測(cè)的非實(shí)時(shí)性檢測(cè),林間的現(xiàn)場(chǎng)環(huán)境復(fù)雜多變。模型訓(xùn)練、評(píng)估完成后,為進(jìn)一步檢測(cè)模型的穩(wěn)定性,判斷設(shè)計(jì)系統(tǒng)的真實(shí)環(huán)境適應(yīng)性,在工控機(jī)內(nèi)進(jìn)行部署,搭建完成林木樹種識(shí)別系統(tǒng)。在北京市大興區(qū)安定鎮(zhèn)平原造林園區(qū)內(nèi)開展田間試驗(yàn),試驗(yàn)林區(qū)樹種包含所訓(xùn)練采用的6種林木種類。為增強(qiáng)現(xiàn)場(chǎng)場(chǎng)景,試驗(yàn)過程中,將平臺(tái)搭載在正常工作時(shí)速前行的園林除草機(jī)上,進(jìn)行動(dòng)態(tài)檢測(cè)。檢測(cè)過程中,除草機(jī)以正常工作速度前進(jìn),約3.6 km/h,系統(tǒng)采集端安裝于牽引拖拉機(jī)擋泥板上,距離地面約1.3 m。為防止出現(xiàn)樹木圖像重復(fù)處理,設(shè)定“S”形行駛的路線,并在轉(zhuǎn)彎時(shí)間隔2列樹木。
圖6 訓(xùn)練模型評(píng)估結(jié)果Fig.6 Training model evaluation results
圖7 部分圖像分類結(jié)果Fig.7 Partial image classification results
表5 不同環(huán)境和生長(zhǎng)狀況下識(shí)別結(jié)果Tab.5 Identification results under different environments and growth conditions
試驗(yàn)隨機(jī)選取6種林木各一排共計(jì)178棵,圖8顯示了林間實(shí)時(shí)檢測(cè)效果。由圖8可以明顯看出,系統(tǒng)檢測(cè)效果良好,能夠很好地完成不同環(huán)境下的實(shí)時(shí)樹種正確分類。并且除草機(jī)在行走過程中雖然受環(huán)境影響有一定的顫抖、傾斜,但由于雙目相機(jī)60 幀/s的較高幀率,圖像質(zhì)量受影響較小,識(shí)別效果并無(wú)影響,表6為實(shí)時(shí)檢測(cè)試驗(yàn)結(jié)果,由表6可以看出,相比而言,柳樹識(shí)別準(zhǔn)確率偏低,這主要是由于柳樹彎曲程度普遍較大。但這并沒有影響總體樣本在林木識(shí)別的準(zhǔn)確率,設(shè)計(jì)系統(tǒng)檢測(cè)識(shí)別準(zhǔn)確率達(dá)到93%以上,樹木檢測(cè)實(shí)時(shí)識(shí)別時(shí)間為0.19 s,模型處理速度能夠很好地滿足園林除草機(jī)3.6 km/h的運(yùn)行速度,較人工而言測(cè)試效率顯著提高,可以滿足林木樹種高效識(shí)別、準(zhǔn)確檢測(cè)的需求。
圖8 林間實(shí)時(shí)測(cè)試Fig.8 Forest real-time test
表6 實(shí)時(shí)檢測(cè)結(jié)果Tab.6 Real time detection results
(1)設(shè)計(jì)出一套林木識(shí)別系統(tǒng),構(gòu)建了懸鈴木、楓樹、欒樹、柳樹、國(guó)槐和榆樹的林木數(shù)據(jù)集,訓(xùn)練比較結(jié)果顯示,以SqueezeNet構(gòu)建的樹種分類器表現(xiàn)最優(yōu),平均精度、準(zhǔn)確率和召回率 分別為0.735、99.6%和100%。
(2)利用該林木識(shí)別系統(tǒng)進(jìn)行動(dòng)態(tài)實(shí)時(shí)田間試驗(yàn),在自然環(huán)境下,樹種識(shí)別準(zhǔn)確率均達(dá)93%以上。
研究表明,本文構(gòu)建的林木樹種識(shí)別系統(tǒng)能夠穩(wěn)定、精確和高效地完成樹種識(shí)別,可為林木資源智能化管理提供技術(shù)支持。