高皓章,唐 友*,辛 鵬,朱國東
(1.吉林化工學院,吉林 吉林 132022;2.吉林農(nóng)業(yè)科技學院,吉林 吉林 132101;3.一汽東機工減振器有限公司,吉林 長春 130001)
農(nóng)業(yè)生產(chǎn)是國人關(guān)注的民生問題,糧食問題也一直處于國家戰(zhàn)略核心地位。大豆作為重要的經(jīng)濟作物,我國每年進口量占據(jù)全球總出口量的近六成。大豆生長過程中存在眾多因素制約大豆的最終產(chǎn)量,其中雜草的消極影響非常明顯,雜草不止爭奪豆苗生長過程中所需的土地肥力,也容易滋生病害傳染豆苗。因此,在農(nóng)業(yè)生產(chǎn)中,識別出作物與非作物,解決作物生長環(huán)境中的雜草是不可避免的重要任務(wù)。在傳統(tǒng)生產(chǎn)過程中,處理雜草一般是用噴灑農(nóng)藥的方式,但這種方法不僅效率低下,還會造成人力浪費和環(huán)境污染。隨著計算機技術(shù)的不斷發(fā)展,機器學習和計算機視覺技術(shù)得到了廣泛的應(yīng)用。為了實現(xiàn)無污染除草,研究者需要找到理想的作物與雜草圖像分割算法,幫助機器人實現(xiàn)自動除草,這對未來農(nóng)業(yè)有重大意義。
目前,計算機技術(shù)在農(nóng)業(yè)發(fā)展中發(fā)揮著越來越重要的作用,而圖像分割是目前圖像處理技術(shù)中最理想的方法之一,但是分割算法仍有很大的改進空間。本研究使用大豆田間雜草分割數(shù)據(jù)集,旨在提高對自然環(huán)境下雜草進行識別分割的精度與效率,這將驅(qū)動農(nóng)機裝備升級,為雜草的精準識別做出貢獻。
卷積神經(jīng)網(wǎng)絡(luò)[1]在計算機視覺領(lǐng)域中的應(yīng)用一直是主流方式之一,它的應(yīng)用范圍涵蓋了圖像分類、目標檢測以及語義分割等各種任務(wù)。在不同的變體算法模型中也是最常見的基礎(chǔ)算法,但是卷積神經(jīng)網(wǎng)絡(luò)由于其像素級的運算對計算機的運算負擔過大,嚴重影響著實際應(yīng)用中的效率和速度,所以研究人員提出了多種優(yōu)化方案,如減少卷積核數(shù)量或者使其與其他算法融合創(chuàng)新等。
Version Transformer的設(shè)計基于上下文關(guān)系的注意力機制,自2021年由Google團隊提出后[2],便受到研究者的廣泛關(guān)注。該模型將輸入的圖像分割成一個個小塊,將每個小塊看作是單獨的向量,經(jīng)過全連接層的編碼及Transformer多頭注意力機制的處理,使各個小塊之間的語義關(guān)系不被運算所掩蓋[3]。這種模型設(shè)計在各計算機視覺領(lǐng)域的應(yīng)用效果也得到廣泛認可。
TransUNet算法旨在通過融合卷積神經(jīng)網(wǎng)絡(luò)和Transformer,彌補Transformer在特征處理方面的不足。該算法利用CNN提取更加細致的像素細節(jié),并使用12個Transformer層對CNN特征提取模塊中獲得的特征向量進行長距離上下文建模[4],從而關(guān)注到全局信息,表現(xiàn)更加卓越。此外,TransUNet算法采用了U形結(jié)構(gòu),以減少在提取細致像素信息的過程中的損失,并通過加入Transformer對空間細節(jié)進行補充,從而提高了分割效果。
在智慧農(nóng)業(yè)中,準確分割植物葉片是植物表型檢測工作以及機器人作業(yè)規(guī)劃的關(guān)鍵步驟。為了提高植物葉片分割精度,眾多研究者基于葉片的形狀、顏色等特征進行分割。Omrani等[5]利用K均值聚類算法對多種植物葉片進行識別及分割。該算法以聚類中心的特征分布,完成對目標區(qū)域的葉片劃分,最終將分割結(jié)果映射回原圖像。最后,他們采用支持向量機對不同植物葉片進行分類檢測。Praveen Kumar等[6]提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的植物葉片分割算法。該算法主要運用DCNN來提取目標區(qū)域中的葉片信息,并通過正交變換,實現(xiàn)對蓮座植物葉片的精確分割。在分割過程中,他們還使用了CMYK顏色空間來進行去噪處理,從而進一步提高對葉片邊緣的檢測效率[7]。鄒龍等[8]提出了一種LU-ReNet模型,結(jié)合使用Unet和ResNet模型結(jié)構(gòu)。該模型保證了植物葉片有高的分割準確度,同時提高了模型的泛化能力[9]。
本文的數(shù)據(jù)集來源于公開數(shù)據(jù)集:https://doi.org/10.15454/JMKP9S,該數(shù)據(jù)集使用六波段的多光譜相機采集于真實的大豆種植基地,并考慮了多種天氣因素的影響。此外,每張圖像中葉片的多邊形邊界都考慮了真實的地形情況,使得數(shù)據(jù)集中包含各種天然雜草,與本研究的內(nèi)容和目標高度契合。雖然對該數(shù)據(jù)集的語義分割挑戰(zhàn)并不多,本實驗仍確定在此數(shù)據(jù)集上進行實驗,為后續(xù)的研究提供基礎(chǔ)依據(jù)和支持。
該數(shù)據(jù)集中的每張圖片基本具有1 200×900的分辨率。然而,分辨率過高會導(dǎo)致對計算機的運算負擔過大。本實驗在參數(shù)設(shè)置時將圖片的預(yù)處理分辨率設(shè)置為496×496。實驗環(huán)境為兩個4110處理器和NVIDIA RTX3090 GPU平臺,使用的是Linux系統(tǒng),Pytorch框架和Anaconda環(huán)境,學習率設(shè)置為0.002 5,Epoch設(shè)置為300,Batch Size設(shè)置為6。
TransUNet算法采用了CNN與Transformer的融合結(jié)構(gòu)。該算法借鑒了U型結(jié)構(gòu)并結(jié)合卷積神經(jīng)網(wǎng)絡(luò)提取的高分辨率特征信息與Transformer編碼的全局上下文信息[4],實現(xiàn)了圖像上采樣還原。具體而言,算法采用了Transformer作為編碼器[10]。在該步驟中,首先對輸入圖像進行序列化。若輸入圖片大小為H×W,圖像塊大小為P×P,則分割數(shù)量為N=(H×W)/(P×P)。接著進行跳躍連接,以提取精確的低級細節(jié)來提高分割細節(jié)。Chen等[11]對跳躍連接的數(shù)量進行了消融實驗,發(fā)現(xiàn)添加更多的跳躍連接通常會帶來更好的分割性能。TransUNet的算法結(jié)構(gòu)如圖1所示。
圖1 TransUNet算法結(jié)構(gòu)
圖像分割中,遷移學習能夠充分利用已有的訓(xùn)練數(shù)據(jù)和模型,從而加快模型的訓(xùn)練過程。通過將已有模型的部分或全部參數(shù)應(yīng)用于新的分割任務(wù),可以大大減少模型所需的訓(xùn)練時間和數(shù)據(jù)量,并且可以提高分割的精度和效果。此外,遷移學習可以在不同領(lǐng)域之間傳輸知識。例如,將在自然圖像領(lǐng)域上訓(xùn)練得到的模型應(yīng)用于醫(yī)學圖像分割或航空圖像分割領(lǐng)域,都能取得明顯的效果提升。因此,本實驗引入遷移學習,將其他實驗的訓(xùn)練權(quán)重作為本實驗初始化權(quán)重。首先,引入遷移學習提升了算法訓(xùn)練速度。其次,使用大數(shù)據(jù)預(yù)訓(xùn)練權(quán)重,極大地提高了葉片分割精度。但由于算法結(jié)構(gòu)的不同,直接引用遷移學習存在不適配問題,因此在初始化過程中,實驗增加了權(quán)重自適應(yīng)調(diào)整,使得遷移學習權(quán)重文件適應(yīng)本算法結(jié)構(gòu)。通過權(quán)重自適應(yīng)代碼,可以更加便捷地實現(xiàn)遷移學習的可替代性,增加實驗代碼的替代集成化。
本實驗采用了多種評價指標來評估該算法在大豆田間雜草數(shù)據(jù)集上的表現(xiàn),如平均交并比mIoU,像素準確率Accuracy,模型準確率和召回率的加權(quán)平均值F1Score,召回率Sensitivity,特異度Specifity,Dice相似系數(shù)等。
mIoU: 它是交并比(Intersection over Union,IoU)的平均值,其中交集指的是預(yù)測的分割結(jié)果和真實標簽的交集,而并集則是兩者的并集。mIoU的計算方式就是對圖像中每個像素的IoU求平均數(shù):mIoU=1/N×∑(x,y)(TP/(TP+FN+FP)),其中,TP表示真陽性(True Positive),TN表示真陰性(True Negative),FN表示假陰性(False Negative),FP表示假陽性(False Positive)。像素準確率Aaccuracy:即預(yù)測正確的像素數(shù)量除以總像素數(shù),計算方式為:Aaccuracy=(TP+TN)/(TP+FP+TN+FN)。在 U-Net 模型預(yù)測二分類問題中,像素準確率通常需要和其他指標一起考慮,以全面地評估模型預(yù)測能力。F1-score是評估二分類模型精度的一種常用指標,它是模型準確率和召回率的加權(quán)平均值。F1-score值越高,表示模型預(yù)測的準確性和召回率都比較高。Sensitivity用于衡量所有實例中被正確地預(yù)測為正類的比例。Specificity用于衡量負例中被正確預(yù)測為負例的比例。Dice系數(shù)是基于集合的相似性度量,計算公式為:Dice=2×TP/(2×TP+FP+FN)。本實驗評價指標的記錄,如表1所示。
表1 算法結(jié)果評價指標
從以上所有的評價指標所示信息可知,由于使用了遷移學習,實驗?zāi)苓_到較高性能水平,多種方式也能全面地對實驗性能給出合理的評價。
為解決田間雜草的分割問題,本文利用Transformer與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合算法TransUNet在雜草分割數(shù)據(jù)集上進行實驗,驗證了該算法在此數(shù)據(jù)集上的可行性與優(yōu)越性。從評價指標結(jié)果可知,該算法在此數(shù)據(jù)集上的表現(xiàn)也非常出色,效果顯著,驗證了Transformer與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的算法設(shè)計思路的可行性,為后期實驗的算法設(shè)計提供了參考,也為雜草分割研究提供了新的實驗方案。
對于分割效果來說,目前還有很大的提升空間。具體而言,在邊緣精細程度和微小目標識別方面,仍需要進一步優(yōu)化。本實驗的結(jié)果并不是雜草分割實驗的最終成果,而僅僅是該研究的起始實驗。未來的研究將在本實驗的基礎(chǔ)之上展開,以進一步完善該算法的分割能力。