賈宗維,姚思敏,張如意,王瑞彬,張舉
(山西農(nóng)業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,山西 太谷 030801)
我國草莓栽培面積和產(chǎn)量均位居世界首位,以其含有豐富的維生素等營養(yǎng)物質(zhì)成分而備受人們青睞,近年來草莓的栽培面積在不斷擴(kuò)大[1]。成熟后的草莓需要及時(shí)采摘,采摘工作是最為耗時(shí)、耗力的階段;人力采摘工作者的勞動(dòng)成本高、效率低,顯然已經(jīng)成為制約草莓種植業(yè)發(fā)展的2 大因素,需要發(fā)展智慧農(nóng)業(yè),依靠機(jī)器人等一系列智能設(shè)備來推進(jìn)農(nóng)業(yè)現(xiàn)代化。但草莓形狀較為不規(guī)則,且草莓的表皮較薄,易損傷,機(jī)器人采摘草莓工作較為復(fù)雜,實(shí)施難度較高,所以針對(duì)基于圖像處理的自動(dòng)采摘草莓機(jī)器人的研究有很強(qiáng)的實(shí)際意義[2]。實(shí)現(xiàn)機(jī)器人草莓采摘首要解決的核心問題是區(qū)分草莓成熟度以及空間定位,首先要將草莓圖像從復(fù)雜環(huán)境背景下分割出來,利用計(jì)算機(jī)視覺技術(shù)根據(jù)顏色,輪廓等特征將草莓果實(shí)分割提取出來,再根據(jù)雙目攝像機(jī)的定位情況,控制末端執(zhí)行器完成機(jī)器采摘工作[3]。草莓圖像分割是草莓自動(dòng)化采摘工作中的重要一環(huán),草莓圖像分割效果將會(huì)影響機(jī)器人的下一步工作。
目前國內(nèi)外學(xué)者均在果蔬圖像分割方面有所研究,但大多選用固定背景[4]。Yuan 等[5]所采用的圖像分割技術(shù)是利用線性濾波器所提供的各個(gè)像素位置與輸入圖像波段的局部直方圖結(jié)合生成局部光譜直方圖,并提出了光譜和紋理特征的線性關(guān)系。Yi 等[6]所研究的尺度合成方法適用于更多種類的圖像分割任務(wù)。圖像被劃分為多個(gè)區(qū)域,每個(gè)區(qū)域由具有相似理想分割率的對(duì)象組成,然后對(duì)每個(gè)區(qū)域的次理想分割進(jìn)行綜合,得到最終的分割結(jié)果。該方法更適用于簡單比例的圖像。Mylonas 等[7]針對(duì)圖像分割提出了一種新的方法。提出將基于監(jiān)督像素的分類器的結(jié)果與從圖像分割中提取的空間信息相結(jié)合。先進(jìn)行像素分類,利用的是像素的光譜、紋理特征,分類后生成一組模糊的隸屬關(guān)系圖[8],提出了一種遺傳序列圖像分割算法,將圖像分割成均勻的區(qū)域。
U-Net 作為一個(gè)較為優(yōu)秀的語義分割模型,現(xiàn)在也被廣泛應(yīng)用于農(nóng)業(yè)圖像分割,但因其網(wǎng)絡(luò)深度不夠所導(dǎo)致無法提取到更深層次的特征,不能滿足精細(xì)化表型提取[9]。而VGG16 網(wǎng)絡(luò)可以提取到更深層次的特征,結(jié)合U-Net 網(wǎng)絡(luò)結(jié)構(gòu)可以實(shí)現(xiàn)對(duì)圖像的精細(xì)分割[10]。在對(duì)大棚草莓圖像進(jìn)行精細(xì)分割之后,可為大棚草莓自動(dòng)化采摘后期的色彩分級(jí)或者果形分級(jí)提供數(shù)據(jù)來源。
在大棚復(fù)雜環(huán)境背景下,草莓葉片遮擋嚴(yán)重,草莓識(shí)別精度較低,為了更好的解決這一問題,提高草莓果實(shí)的識(shí)別精度,本文采用了VGG16 作為U-Net 的主干特征提取網(wǎng)絡(luò)用于大棚草莓的圖像分割工作,旨在為草莓采摘機(jī)器人更好的完成采摘工作提供基礎(chǔ)。
本文所采用的大棚草莓圖像均來自山西省晉中市太谷區(qū)巨鑫現(xiàn)代農(nóng)業(yè)園區(qū)(東經(jīng)112.48°,北緯37.39°)。由于大棚草莓葉片遮擋嚴(yán)重,受復(fù)雜環(huán)境背景和光照或拍攝設(shè)備等影響都會(huì)影響數(shù)據(jù)集效果,拍攝時(shí)間為2021年5 月下旬晴天,選用索尼FDR-AX45 相機(jī)拍攝。本文共采集了大棚草莓圖像1287 張,之后將圖像處理為608×608 像素的jpg 圖像。采用labelme 軟件對(duì)處理后的大棚草莓圖像進(jìn)行數(shù)據(jù)標(biāo)注,選擇逐點(diǎn)標(biāo)注的方式對(duì)圖像中的草莓區(qū)域進(jìn)行標(biāo)注。草莓圖像含有3個(gè)數(shù)據(jù)標(biāo)簽:1代表紅色已成熟草莓,2代表綠色未成熟草莓,3代表背景區(qū)域。標(biāo)注數(shù)據(jù)存儲(chǔ)為json 文件,并通過編寫程序?qū)?shù)據(jù)標(biāo)簽轉(zhuǎn)換為png 圖。
由于試驗(yàn)數(shù)據(jù)是真實(shí)大棚環(huán)境下拍攝,數(shù)據(jù)量不足,直接訓(xùn)練原始數(shù)據(jù)容易使模型出現(xiàn)過擬合問題,為了增加數(shù)據(jù)集的多樣性,提高模型的泛化能力,對(duì)大棚草莓?dāng)?shù)據(jù)集進(jìn)行了數(shù)據(jù)增強(qiáng)。采用了2種數(shù)據(jù)增強(qiáng)方式:色彩抖動(dòng)和旋轉(zhuǎn)變換。經(jīng)過2種變換后的數(shù)據(jù)集擴(kuò)充到14 147 張。
(1)色彩抖動(dòng):通過隨機(jī)調(diào)整圖像的飽和度、亮度、對(duì)比度和銳度來模擬不同光照情況下的情況,每張?jiān)紙D片色彩抖動(dòng)后生成5 張?jiān)鰪?qiáng)圖片,色彩抖動(dòng)數(shù)據(jù)增強(qiáng)效果圖如圖1所示。
圖1 大棚草莓原始圖像以及色彩抖動(dòng)效果圖Fig.1 The original image of strawberry in the greenhouse and the effect of color dithering
(2)旋轉(zhuǎn)變換:圖像的大小不變,對(duì)圖像進(jìn)行隨機(jī)任意角度(0~360°)旋轉(zhuǎn),上下旋轉(zhuǎn),左右旋轉(zhuǎn)均可,來模擬不同角度攝像頭所拍攝的情況,旋轉(zhuǎn)變換數(shù)據(jù)增強(qiáng)效果圖如圖2所示。
圖2 大棚草莓原始圖像以及旋轉(zhuǎn)變換效果圖Fig.2 The original image of the strawberry in the greenhouse and the effect of the rotation transformation
U-Net 是當(dāng)前較為流行的語義分割模型,在醫(yī)療影像、植物表型領(lǐng)域均得到廣泛應(yīng)用,可將其結(jié)構(gòu)看作3 部分。第1 部分是編碼部分,主要負(fù)責(zé)提取原始圖像多個(gè)淺層的特征層,將輸入圖像的上下文所包含的信息獲取到,這些分層語義信息特征包括顏色、紋理、邊緣輪廓等方面。U-Net 的編碼部分與FCN 相似,是在其基礎(chǔ)上的改進(jìn)[11-12]。編碼部分可實(shí)現(xiàn)5個(gè)不同深度的有效特征層的獲??;第2 部分是解碼部分,通過上采樣的方式實(shí)現(xiàn)了對(duì)特征的精準(zhǔn)定位,為了防止在恢復(fù)圖像的過程中丟失細(xì)節(jié)信息,將解碼部分所獲得的特征圖與編碼中獲得的同深度的有效特征層依次進(jìn)行特征融合,獲得1個(gè)最終的融合了所有特征的有效特征層;第3 部分是預(yù)測部分,利用獲得的最后1個(gè)有效特征層,將其送入分類器對(duì)每1個(gè)特征點(diǎn)進(jìn)行分類,相當(dāng)于對(duì)每1個(gè)像素點(diǎn)進(jìn)行分類,最終輸出與輸入圖像同等大小的分割效果圖[13]。
本文在編碼部分采用VGG16 網(wǎng)絡(luò)中的卷積層與池化層作為U-Net 模型的編碼器,共計(jì)5個(gè)block。編碼器卷積結(jié)構(gòu)為2-2-3-3-3,并在每個(gè)block 卷積層后增加批歸一化操作(Batch Normalization),來加快訓(xùn)練過程和避免梯度消失的問題,接著進(jìn)行最大池化。編碼器網(wǎng)絡(luò)共計(jì)進(jìn)行13次卷積,5次批歸一化,4次池化。編碼器卷積層保留VGG16 卷積核參數(shù)3×3,步長為1,保持感受野的同時(shí)減少參數(shù)量與計(jì)算量,同時(shí)選用same 填充保證了卷積后的特征圖大小與前層一致,從而避免解碼合并前的裁剪操作,采用ReLu 激活函數(shù)來加入非線性因素,防止過擬合。編碼器通過不斷增加通道數(shù)達(dá)到了更深的網(wǎng)絡(luò),提取到了更豐富的圖像特征。改進(jìn)的U-Net 編碼器結(jié)構(gòu)圖如圖3所示。
圖3 改進(jìn)的U-Net 編碼器結(jié)構(gòu)圖Fig.3 Improved U-Net encoder structure diagram
用改進(jìn)的U-Net 編碼器進(jìn)行訓(xùn)練時(shí),輸入的圖像大小為608×608×3,參數(shù)配置如表1所示。
表1 改進(jìn)的U-Net 編碼器網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)配置Table 1 Improved U-Net encoder network structure parameter configuration
本文中的U-Net 改進(jìn)模型分為編碼器和解碼器以及預(yù)測3 部分。相較原始U-Net 模型,本文在編碼部分有所改進(jìn)。原始U-Net 模型編碼器由卷積層與池化層構(gòu)成,共計(jì)5個(gè)block,卷積結(jié)構(gòu)為2-2-2-2-2,前4次block卷積后均進(jìn)行1次最大池化,共計(jì)10次卷積,4次最大池化,采用valid 填充方式[14]。本文模型選用VGG16 網(wǎng)絡(luò)結(jié)構(gòu)中的卷積層與池化層作為編碼器,在block 數(shù)量不變的情況下,卷積數(shù)量增多,卷積結(jié)構(gòu)為2-2-3-3-3,感受野擴(kuò)大,提取到的特征更豐富,學(xué)習(xí)效果得以提升。選用same 填充,卷積后得到特征圖大小與前層一致,不會(huì)丟失邊緣信息,免去原始U-Net 模型在與解碼器特征融合前的裁邊操作。在每個(gè)block卷積層后增加批歸一化操作,可以減少梯度消失,加快訓(xùn)練速度、防止過擬合等,縮短了網(wǎng)絡(luò)訓(xùn)練時(shí)長的同時(shí)提高了精度[15-16],隨著網(wǎng)絡(luò)層數(shù)加深,網(wǎng)絡(luò)訓(xùn)練速度越來越慢,收斂越慢,通過引入批歸一化操作(Batch Normalization)有效解決這一問題。最終編碼器得到5個(gè)不同尺度的有效特征層。
在解碼部分,延用U-Net 結(jié)構(gòu),采用上采樣與2×2 反卷積。上采樣后得到的特征圖采用Concatenate 函數(shù)與編碼器同深度特征層融合,融合成新的特征圖,利用特征融合來捕捉淺層特征承載的細(xì)節(jié)信息,使每次卷積結(jié)果不止依賴于前次操作,緩解梯度消失問題,最終實(shí)現(xiàn)高精度語義分割結(jié)果[17-18]。
預(yù)測部分采用1×1 卷積將每個(gè)64 分量的特征映射到所屬類別中進(jìn)行分類。整體網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示:
圖4 整體網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Overall network structure diagram
編碼器在處理RGB 原始草莓圖像輸入時(shí),通道數(shù)為3,如圖5為編碼器部分的草莓圖像輸入可視化,左側(cè)為草莓原始圖像輸入,右側(cè)依次顯示為Red、Blue、Green 三個(gè)通道。
圖5 大棚草莓圖像輸入可視化Fig.5 Visualization of Strawberry Image Input in Greenhouse
編碼器中的卷積層的作用是用來特征提取,特征需要進(jìn)行不斷地壓縮和提取才能獲得更為復(fù)雜的特征,大棚草莓圖像卷積層操作可視化,通過指定步長大小讓卷積核窗口滑動(dòng),圖6為對(duì)大棚草莓圖像進(jìn)行4次卷積操作的可視化,獲得的特征更為精細(xì)。
圖6 大棚草莓圖像卷積層操作可視化Fig.6 Visualization of convolutional layer operation of strawberry image in greenhouse
在卷積操作之后通過池化層來實(shí)現(xiàn)對(duì)輸入特征的選擇和過濾,在保留特征的同時(shí)減少參數(shù)量的輸入,池化的作用是保持特征的不變性以及擴(kuò)大感受野。如圖7為大棚草莓圖像最大池化操作可視化,步長為1,卷積核為2×2。
圖7 大棚草莓圖像最大池化操作可視化Fig.7 Visualization of the maximum pooling operation of strawberry images in a greenhouse
大棚草莓圖像分割的目的是為了機(jī)器采摘時(shí),識(shí)別草莓果實(shí)目標(biāo)更為精準(zhǔn),并且為下一步草莓顏色特征分析以及果形等級(jí)評(píng)定提供數(shù)據(jù)支撐。為了更加直觀的評(píng)估模型分割的效果,本文選用3個(gè)評(píng)價(jià)指標(biāo)對(duì)模型性能進(jìn)行分析[19-20]。采用了平均交互比(Mean Intersection Over Union,MIOU)、平均精度(Mean Pixel Accuracy,MPA)和F1_score 共3個(gè)指標(biāo)作為衡量模型好壞的標(biāo)準(zhǔn)。MIOU 是評(píng)價(jià)模型精度的1個(gè)指標(biāo),其公式表示如(1)所示:
式中k代表圖像總類別數(shù),Txx代表的是實(shí)際上是x類被識(shí)別成x 類的像素總量,Txy則是表示實(shí)際是x類被錯(cuò)誤識(shí)別為y 類的像素總值,Tyx代表的是實(shí)際y 類預(yù)測x 類的像素總數(shù)。MPA 則是每個(gè)類別像素準(zhǔn)確率所求得的平均值數(shù)據(jù),將其選為另一個(gè)評(píng)價(jià)指標(biāo),其計(jì)算過程如(2)所示:
F1_score 是分類問題的常用衡量指標(biāo),它是精確率和召回率的調(diào)和平均數(shù),范圍在0~1 之間。F1-score 越接近1,模型性能越好。其計(jì)算過程如(3)所示:
試驗(yàn)環(huán)境為ubuntu18.04,TeslaK80 運(yùn)算卡(24G),CUDA10.1 和cudnn7.5,選用Tensorflow作為深度學(xué)習(xí)框架,試驗(yàn)采用批量訓(xùn)練的方式,將14 147 張大棚草莓?dāng)?shù)據(jù)集按照9∶1 的比例劃分為訓(xùn)練集、測試集,再將訓(xùn)練集按0.1 比例劃分出驗(yàn)證集。訓(xùn)練集為11 457 張,測試集為1415 張、驗(yàn)證集為1274 張。模型初始學(xué)習(xí)率設(shè)置為1e-4,本文將迭代輪數(shù)設(shè)置為50 輪次,每輪輸入4 張圖片,前25輪,連續(xù)5 輪精度不提高,將學(xué)習(xí)率調(diào)低10%,后25 輪學(xué)習(xí)率調(diào)整為1e-5,調(diào)整策略同上。整體的大棚草莓果實(shí)分割模型具體流程如圖8所示。
圖8 大棚草莓果實(shí)分割模型流程圖Fig.8 Flow chart of strawberry fruit segmentation model in greenhouse
為了衡量本文所提出模型的有效性,對(duì)真實(shí)大棚環(huán)境草莓?dāng)?shù)據(jù)集使用改進(jìn)后的U-Net 模型與原始U-Net 模型以及當(dāng)下較為流行的PSPNet、DeeplabV3 分割模型采用同樣的試驗(yàn)數(shù)據(jù)和參數(shù)進(jìn)行試驗(yàn)訓(xùn)練,并對(duì)比訓(xùn)練過程以及結(jié)果。
圖9為大棚草莓?dāng)?shù)據(jù)集在優(yōu)化后的U-Net 模型 與 原 始U-Net 以 及PSPNet、DeeplabV3 模 型 在訓(xùn)練過程中的F1_score 和loss 值對(duì)比效果圖。由圖9可見,4 條loss 曲線在50 輪迭代次數(shù)范圍內(nèi)均呈下降趨勢趨于收斂,改進(jìn)后的U-Net 模型在使用了重新設(shè)計(jì)的編碼器網(wǎng)絡(luò)后,初始loss 值較UNet 來看,表現(xiàn)更優(yōu),在訓(xùn)練過程中收斂速度也更快,效果更好。在不斷迭代過程中,改進(jìn)后的UNet 模型的F1_score 值處于穩(wěn)步上升趨勢且高于其余3種模型。由圖可看出改進(jìn)后的U-Net 模型訓(xùn)練效果較好,F(xiàn)1_score 值分?jǐn)?shù)較高,模型魯棒性較好。
圖9 模型訓(xùn)練F1_score 和loss 值對(duì)比Fig.9 Comparison of model training F1_score and loss value
由表2可見改進(jìn)后的U-Net 模型對(duì)于大棚草莓?dāng)?shù)據(jù)集分割精度最高,精度為96.05%,較UNet 模型提高了2.38%,較PSPNet 模型提高了13.15%,較DeeplabV3 模型提高了10.09%,訓(xùn)練的速度優(yōu)于U-Net 模型。優(yōu)化后的U-Net 模型F1_score 值為0.90,均高于其余3種模型。從訓(xùn)練結(jié)果可以看出優(yōu)化后的U-Net 模型相比其它分割模型MIOU 值也表現(xiàn)最佳,MIOU 值為89.41,均高于其它3種對(duì)比模型。PSPNet 和DeeplabV3 模型在MIOU 和MPA 指標(biāo)上數(shù)值較低,表現(xiàn)較差,綜合對(duì)比,優(yōu)化后的U-Net 模型在大棚草莓?dāng)?shù)據(jù)集分割取得了不錯(cuò)效果,性能更好。
表2 大棚草莓?dāng)?shù)據(jù)集在不同模型上實(shí)驗(yàn)結(jié)果對(duì)比Table 2 Comparison of experimental results of the greenhouse strawberry data set on different models
圖10 為不同模型分割大棚草莓?dāng)?shù)據(jù)集效果對(duì)比。顯然,在沒有遮擋及粘連的情況下,改進(jìn)后的U-Net 模型分割效果最好,可以將草莓邊緣部分清晰的分割出來,且成熟與未成熟草莓分割準(zhǔn)確;DeeplabV3 模型次之,草莓成熟度區(qū)分較為清晰,但有部分將草莓頂端葉柄誤認(rèn)為是未成熟草莓果實(shí),不能有效的去除復(fù)雜背景,達(dá)不到理想效果;U-Net 模型對(duì)成熟草莓的分割效果較好,但對(duì)未成熟草莓的分割效果很差,不能將未成熟草莓的輪廓清楚的分割出來,并且容易將葉片誤分割成未成熟草莓;PSPNet 模型效果最差,草莓邊緣輪廓不清晰,對(duì)成熟與未成熟草莓的區(qū)分也不夠準(zhǔn)確,細(xì)節(jié)丟失嚴(yán)重,分割效果差;在有粘連有遮擋的情況下,受葉片、莖等干擾,極易產(chǎn)生誤差,優(yōu)化后的U-Net 模型在上述背景條件下,能將草莓果實(shí)清晰的從復(fù)雜背景中分割出來,DeeplabV3 模型表現(xiàn)較好一些,但在對(duì)莖葉的處理上,容易出現(xiàn)分割區(qū)域邊界模糊,將其誤認(rèn)為是未成熟草莓,出現(xiàn)小部分粘連情況,U-Net 模型將未成熟草莓與葉片混淆,影響分割精度,PSPNet 模型效果最差,出現(xiàn)粘連以及誤分割,在對(duì)莖葉與果實(shí)粘連情況的分割都沒有達(dá)到好的效果。
圖10 不同算法分割圖比較Fig.10 Comparison of segmentation diagrams of different algorithms
因此,通過試驗(yàn)數(shù)據(jù)分析可知,改進(jìn)后的UNet 模型對(duì)大棚草莓?dāng)?shù)據(jù)集進(jìn)行分割,相較于UNet 模型、PSPNet、DeeplabV3 模型來說效果最好,分割效果更為精細(xì),能有效的將草莓邊緣部分以及與莖葉粘連部分草莓圖像分割出來,各方面表現(xiàn)較優(yōu)。
本文從實(shí)際需求出發(fā),考慮到草莓采摘機(jī)器人在采摘過程中對(duì)草莓果實(shí)圖像識(shí)別精度還不高,無法準(zhǔn)確的從獲取的圖像中精準(zhǔn)分割出草莓的圖像。對(duì)大棚草莓?dāng)?shù)據(jù)集采用色彩抖動(dòng)和旋轉(zhuǎn)變換進(jìn)行了數(shù)據(jù)增強(qiáng),選用了U-Net 模型以及基于VGG16 重新設(shè)計(jì)的網(wǎng)絡(luò)作為編碼器來對(duì)大棚草莓?dāng)?shù)據(jù)集進(jìn)行分割,在解碼部分通過上采樣和特征融合捕捉到了更深層次的細(xì)節(jié)特征,最終模型取得了較好的效果,證明了該試驗(yàn)的可行性以及有效性。但本文算法的計(jì)算效率和強(qiáng)化特征學(xué)習(xí)仍有待提高,后續(xù)將把重點(diǎn)放在進(jìn)一步提高模型的精度與效率上。
山西農(nóng)業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年2期