楊攀,鄭積仕,馮芝清,丁志剛,李少藝,黃其悅,孔令華
(1. 福建工程學(xué)院計算機科學(xué)與數(shù)學(xué)學(xué)院,福州 350118; 2. 福建工程學(xué)院交通運輸學(xué)院,福州 350118;3. 福建金森林業(yè)股份有限公司,三明 353300; 4. 福建工程學(xué)院機械與汽車工程學(xué)院,福州 350118)
木材是可再生能源之一,高效開發(fā)森林中的木材資源,有著重要的經(jīng)濟和環(huán)境效益。目前,國家林業(yè)和草原局積極推動林業(yè)生產(chǎn)各環(huán)節(jié)往信息化和智能化方向發(fā)展[1]。木材檢尺是指檢測原木或原條的尺寸和缺陷以確定其材積和等級的計量作業(yè),它作為木材經(jīng)濟發(fā)展的基礎(chǔ),是木材經(jīng)濟信息化和智能化的關(guān)鍵。傳統(tǒng)人工檢尺方法的成本高、效率低、主觀性強,且檢尺結(jié)果無法可視化,無法適應(yīng)現(xiàn)代化木材加工和銷售的發(fā)展趨勢。
隨著計算機視覺技術(shù)的發(fā)展,基于傳統(tǒng)圖像檢測分割方法檢測圖像中的木材數(shù)目基本實現(xiàn)。如鐘新秀等[2]結(jié)合K-means聚類和Hough圓變換[3]完成原木計數(shù)。傳統(tǒng)木材圖像檢測方法要求圖像質(zhì)量穩(wěn)定且去除背景干擾,通常木材漏檢測問題嚴重,深度學(xué)習(xí)圖像檢測技術(shù)的進步使得木材檢測正確率得到保證。Samdangdech等[4]提出了一種將單發(fā)多盒探測器[5](SSD)目標(biāo)檢測模型和全卷積網(wǎng)絡(luò)[6](FCN)語義分割模型相結(jié)合來實現(xiàn)車載桉樹圖片分割的方法,木材計數(shù)正確率達到94.45%,但對遮擋和分裂木材的分割效果不理想;Tang等[7]利用SSD在自然場景下檢測原木,計數(shù)準確率為94.87%,為特定場景下木材計數(shù)奠定基礎(chǔ);林耀海等[8]開發(fā)了一種結(jié)合YOLOv3-tiny[9]目標(biāo)檢測模型與Hough圓變換的等長原木材積檢測系統(tǒng),少樣本測試中,系統(tǒng)木材真檢率為98.79%,誤檢率為0.602%,該系統(tǒng)更適用于大徑級圓形原木檢測。
現(xiàn)有木材檢測研究聚焦于中等和大木材的檢測,對混合尺寸及小木材檢測研究比較缺乏,小目標(biāo)檢測同屬深度學(xué)習(xí)難題。為了提高木材綜合檢測效率,提高小木材的檢測分割性能成為必要,筆者采用深度學(xué)習(xí)的方法探究實例分割模型對各尺寸木材端面分割的可行性。掩模區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Mask R-CNN)[10]是一種通過訓(xùn)練標(biāo)注圖像,能對多類或同類目標(biāo)多個實體進行像素級分割的實例分割模型。本研究采用Mask R-CNN對包含泥土、樹枝、樹葉等復(fù)雜背景下的木材端面進行分割,針對小木材檢測難題,改進優(yōu)化多種模型參數(shù),并在多個維度對木材分割準確性進行定量分析。這一研究將為復(fù)雜背景下混合尺寸木材分割算法提供參考,同時為木材材積自動測量提供算法支持。
實驗數(shù)據(jù)采集于福建金森林業(yè)股份有限公司某木材貨場,考慮樣本多樣性,通過工業(yè)相機和手機相機等設(shè)備采集了500張木材圖片,包括不同光照條件、不同木材端面背景和不同拍攝角度下的圖片。Mask R-CNN屬于有監(jiān)督學(xué)習(xí)模型,需要對圖片中木材輪廓進行標(biāo)注。剔除模糊圖片,共保留150張清晰圖片,通過Labelme軟件對圖片中所有木材使用多邊形標(biāo)注工具進行輪廓標(biāo)注,標(biāo)注效果如圖1所示。其中木材標(biāo)注信息可提供模型學(xué)習(xí)木材輪廓特征,可根據(jù)木材輪廓掩碼圖實現(xiàn)木材計數(shù)。
圖1 木材輪廓標(biāo)注效果Fig. 1 Outline marking effect of stacked logs
將全部標(biāo)注圖片按照4∶1∶1的比例劃分為訓(xùn)練集、驗證集和測試集,按照COCO數(shù)據(jù)集的目標(biāo)尺寸劃分方法(小目標(biāo):像素面積<32×32;中等目標(biāo):32×32<像素面積<96×96;大目標(biāo):像素面積>96×96)對標(biāo)注數(shù)據(jù)集進行統(tǒng)計,如表1所示。
表1 標(biāo)注數(shù)據(jù)集木材統(tǒng)計信息Table 1 Log statistical information of annotated data set
為了提高模型泛化性能及滿足深度學(xué)習(xí)模型對數(shù)據(jù)樣本量的要求,本研究通過裁剪、模糊處理、圖片色彩通道處理、增強對比度、銳化、增加干擾噪聲等技術(shù)進行數(shù)據(jù)增廣,豐富數(shù)據(jù)樣本。數(shù)據(jù)增廣后,訓(xùn)練集圖片數(shù)據(jù)量最多可達1 600張。
1.2.1 Mask R-CNN基本原理
Mask R-CNN是由He等[10]通過升級更快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)[11](Faster R-CNN)目標(biāo)檢測模型得來,在其基礎(chǔ)上增加了Mask分支,并用ROI Align改進原有ROI Pooling模塊,解決了Faster R-CNN區(qū)域匹配存在誤差的問題。故Mask R-CNN同時具備目標(biāo)分類、目標(biāo)檢測和像素級分割的功能,能實現(xiàn)對同類別不同實例的分割,滿足木材檢測分割的功能需求。
Mask R-CNN的基本原理框架如圖2所示。其主要分為主干網(wǎng)絡(luò)(Backbone)、區(qū)域候選網(wǎng)絡(luò)[11](RPN)、ROI Align和R-CNN 4個模塊。Backbone通常由殘差網(wǎng)絡(luò)[12](ResNet)和特征金字塔網(wǎng)絡(luò)[13](FPN)構(gòu)成,F(xiàn)PN對ResNet輸出的5層特征圖進行融合,獲得更豐富的木材特征圖并輸出到RPN和ROI Align模塊。RPN的作用是生成目標(biāo)候選區(qū)域,完成特征圖中前后景目標(biāo)分類和邊界框回歸,獲取前景目標(biāo)粗略位置。ROI Align模塊利用最大池化操作對Backbone輸出的特征圖和RPN輸出的目標(biāo)候選區(qū)域進行匹配,完成特征圖特征聚集并池化為固定大小,再經(jīng)過全連接層輸出到R-CNN模塊。R-CNN模塊共3個分支:第1分支通過softmax分類器實現(xiàn)木材分類;第2分支經(jīng)過邊界框回歸器實現(xiàn)更精確的木材位置定位;第3分支通過FCN完成木材輪廓分割,生成木材分割掩碼。最后,將各分支輸出信息進行綜合,得到一張包含木材類別、木材定位邊界框和木材分割掩碼的圖像。
圖2 原木實例分割模型結(jié)構(gòu)圖Fig. 2 The structure diagram of the log instance segmentation model
1.2.2 優(yōu)化Mask R-CNN
本研究檢測分割目標(biāo)為密集木材,類別單一,其中數(shù)據(jù)集中小木材占22.36%,平均每張圖片包含103根木材,故本檢測任務(wù)屬于密集目標(biāo)和小目標(biāo)檢測。原始Mask R-CNN對本任務(wù)中的小木材檢測分割效果欠佳。為了改善模型對密集小木材的檢測性能,本研究對原始模型進行了改進優(yōu)化。
1)優(yōu)化RPN和R-CNN模塊中樣本采樣數(shù)。原始Mask R-CNN中RPN和R-CNN模塊中樣本采樣數(shù)分別為256和512,其中在RPN和R-CNN模塊中正樣本采樣率(即特征圖中所有目標(biāo)的前景目標(biāo)采樣率)分別為0.5和0.25,均采集128個正樣本。但平均每張圖片包含103個目標(biāo),故模型在現(xiàn)有采樣數(shù)下,難以充分學(xué)習(xí)103個目標(biāo)的全部特征,此為模型精度提高的瓶頸之一。提高RPN和R-CNN模塊中的采樣數(shù),更多的正樣本數(shù),攜帶更豐富的木材特征,充分學(xué)習(xí)后,有助于提高模型精度。
2)優(yōu)化圖片輸入尺寸及多尺度訓(xùn)練。本任務(wù)中木材數(shù)據(jù)集的分辨率為1 600×1 200,原始Mask R-CNN的圖片輸入尺寸為1 333×800,以尺寸短邊為依據(jù)進行說明。這意味著原始圖片中的木材尺寸在輸入模型后會降低55.6%。同樣,若將圖片輸入尺寸提升50%,即2 000×1 200,這意味著原始模型中的目標(biāo)尺寸將提升125%。此外,可以采用多尺度訓(xùn)練技巧,將圖片輸入尺寸變?yōu)槎鄠€尺度,每個圖片批次隨機選取一個尺度送入模型進行訓(xùn)練。這兩種方法十分有利于各尺寸目標(biāo)的特征學(xué)習(xí),尤其是小目標(biāo)的特征提取,一定程度上能提高模型的檢測能力。
3)優(yōu)化數(shù)據(jù)增強。本木材圖片數(shù)據(jù)均于卡車裝載木材的場景下采集,圖片中木材基本呈對稱裝載。故在圖片數(shù)據(jù)送入模型訓(xùn)練前,進行一定概率的水平翻轉(zhuǎn),符合圖片實際采集場景。結(jié)合1.1節(jié)介紹的數(shù)據(jù)增廣,有效選擇數(shù)種圖像增廣方法,既彌補了數(shù)據(jù)量不足的缺陷,又對圖片采集場景進行模擬擴充,能有效提高模型泛化性和魯棒性。
1.2.3 模型訓(xùn)練參數(shù)配置
在Windows10操作系統(tǒng)下,使用RTX3090顯卡,采用MMDetection[14]完成Mask R-CNN模型的訓(xùn)練。模型訓(xùn)練時首先采用在COCO數(shù)據(jù)集上訓(xùn)練好的預(yù)訓(xùn)練權(quán)重進行遷移學(xué)習(xí)完成網(wǎng)絡(luò)參數(shù)初始化,再將自標(biāo)注的木材數(shù)據(jù)集轉(zhuǎn)化為COCO數(shù)據(jù)集格式后送入網(wǎng)絡(luò)進行訓(xùn)練。
為了探究不同模型優(yōu)化方法對模型訓(xùn)練精度的影響,將各種優(yōu)化方法單獨或疊加配置,形成不同組合如表2所示。表2中訓(xùn)練優(yōu)化方法包括Baseline、Aug4、Aug16、512+1 024、1 024+2 048、2 000×1 200、MS6和MSR。其中:Baseline表示RPN和R-CNN模塊中的采樣數(shù)為256和512,并且模型輸入圖片尺寸為1 333×800;Aug4和Aug16分別表示數(shù)據(jù)增廣4倍和16倍;512+1 024和1 024+2 048 分別表示在RPN和R-CNN模塊中的采樣數(shù);2 000×1 200表示模型輸入圖片的尺寸;MS6和MSR參數(shù)均表示進行多尺度訓(xùn)練,括號中的1 333×800和2 000×1 200表示最大尺度,在每個圖片批次中MS6和MSR分別在最大尺度下的6種尺度和多種尺度中隨機選擇一種尺度進行輸入訓(xùn)練。
表2 模型優(yōu)化方法組合Table 2 Model optimization method groups
根據(jù)本試驗的檢測需求,其他通用訓(xùn)練配置參數(shù)為:目標(biāo)類別數(shù)為1,檢測類別為“wood”;為提高網(wǎng)絡(luò)的運行效率,選用ResNet50作為Backbone;采用線性修正單元(ReLU)[15]作為模型的激活函數(shù);訓(xùn)練參數(shù)配置中BatchSize數(shù)設(shè)置為1,數(shù)據(jù)加載線程數(shù)為2;訓(xùn)練Epoch數(shù)為36,初始學(xué)習(xí)率為0.01,且前500次迭代中設(shè)置線性變化的Warm up,以穩(wěn)定訓(xùn)練初期的參數(shù)梯度,并基于隨機梯度下降法[16](SGD)進行梯度優(yōu)化傳遞。此外,在Epoch數(shù)分別等于12,20和28時,進行學(xué)習(xí)率乘以0.1倍的下降策略。
圖3 部分模型方法的實驗測試結(jié)果Fig. 3 Experimental test results of some model methods
為了更全面、客觀地評價分析優(yōu)化后的Mask R-CNN對木材檢測分割的可行性,本試驗采用平均精度均值(mAP)、掩碼交并比(IoUMask)和木材識別率這3種指標(biāo)評價木材檢測分割結(jié)果。這3種指標(biāo)數(shù)值越大,模型木材檢測分割效果越好。
1.3.1 mAP指標(biāo)
本研究采用COCO數(shù)據(jù)集定義的目標(biāo)檢測和實例分割模型通用評價指標(biāo)——mAp對不同IoU閾值下的模型訓(xùn)練精度進行統(tǒng)計。這里的mAP_s、mAP_m和mAP_l分別表示目標(biāo)尺寸在小、中、大3個級別時的平均精度均值,而單獨的mAP表示IoU閾值自0.5到0.95,間隔0.05進行統(tǒng)計的均值結(jié)果。
1.3.2 IoUMask指標(biāo)
雖然mAP對深度學(xué)習(xí)模型有很好的表征性能,但mAP更適合于評價分類置信度,對Mask的實際分割質(zhì)量尚無法進行評估。針對這一問題,本試驗借鑒文獻[17]中的做法,選用IoU值對Mask的質(zhì)量進行評估。IoUMask的計算方式為:
(1)
通過計算模型推理的木材Mask區(qū)域(P)與人工標(biāo)注的木材輪廓區(qū)域(G)之間的交并比,用IoUMask值來定量評估Mask的質(zhì)量,從而進一步衡量模型對木材輪廓分割的精確度。
1.3.3 木材識別率指標(biāo)
本研究其中一個目標(biāo)在于木材識別計數(shù),模型對木材的識別率越高,則模型檢測性能越好。木材識別率包括木材檢測率和木材真檢率。本研究根據(jù)模型輸出的木材分割掩碼分別統(tǒng)計測試集木材圖片中所檢測出的小中大各尺寸木材的數(shù)量、誤檢木材數(shù)量、漏檢木材數(shù)量和真檢木材數(shù)量,同時結(jié)合測試集木材的實際數(shù)量統(tǒng)計信息,計算模型木材檢測率和真檢率。
為了驗證優(yōu)化后Mask R-CNN對木材檢測分割的可行性,本研究按照1.2.3節(jié)所述的多種模型優(yōu)化方法及文獻[4,8]方法進行訓(xùn)練,共分成32組,形成對照,部分模型方法的實際木材檢測分割結(jié)果如圖3所示。為了驗證模型在整個測試集上的泛化性能,本研究統(tǒng)計了這32組方法在木材測試集上的掩碼分割精度及掩碼的IoU分數(shù),如表3所示。從圖3可以發(fā)現(xiàn),該測試圖中小木材的檢測分割數(shù)量在方法1的基礎(chǔ)上得到了不同程度的提升,這說明1.2.3節(jié)所述的不同參數(shù)優(yōu)化方法對較小木材的檢測性能有一定的改善。
在表3中,對比優(yōu)化方法(1~3),可以發(fā)現(xiàn)在Baseline的基礎(chǔ)上對模型進行多尺度訓(xùn)練,mAP最大提升0.3%,mAP_s提升1.4%;對比組合(1,4,5),RPN和R-CNN中樣本采樣數(shù)為512和1 024時,mAP、mAP_s和mAP_m分別提升0.4%,5%和0.6%;對比組合(1和10),提升圖片輸入尺寸為 2 000×1 200,mAP、mAP_s和mAP_m分別得到2.5%,11.7% 和2.9%的巨大提升;對比組合(15~18),在無數(shù)據(jù)增廣的條件下,提升圖片輸入尺寸、MS6的多尺度訓(xùn)練,提升RPN和R-CNN中采樣數(shù)為512和1 024 時,組合15的mAP達到68.4%,同時mAP_s、mAP_m和IoUMask相較Baseline分別提升12.7%,3.3% 和0.9%,但是mAP_l卻比較低,對大木材的檢測效果欠佳??紤]到大木材數(shù)量僅占訓(xùn)練集木材總數(shù)的2.24%,可能模型對大木材的檢測存在欠擬合,故本試驗對訓(xùn)練集圖片分別進行了4倍和16倍的圖像增廣。基于組合(1~18)中對小目標(biāo)和中等目標(biāo)的檢測性能有所改善的方法項,本試驗設(shè)計不同數(shù)據(jù)增廣倍數(shù)的方法組合,詳見組合(19~30)。結(jié)合參數(shù)組合(1,19,25),可以發(fā)現(xiàn)隨著數(shù)據(jù)增廣倍數(shù)的增加,mAP_l同步提升。比較方法組合(19,23,24,25,29和30),數(shù)據(jù)增廣后,提高圖片輸入尺寸、提高模塊采樣數(shù)、多尺度訓(xùn)練,都對mAP有著不同程度的提升,同時數(shù)據(jù)增廣倍數(shù)越大,模型的IoUMask分數(shù)越高,分割掩碼質(zhì)量越高。在方法30中,IoUMask較Baseline有著2.2%的改善。
表3 不同模型方法在測試集上的掩碼分割精度Table 3 Mask segmentation accuracy of different model methods on the test set
在模型訓(xùn)練耗時方面,從表3可見MS6和MSR的多尺度訓(xùn)練方式并不會增加模型訓(xùn)練時間成本,而增加樣本采樣數(shù)會略微增加訓(xùn)練耗時,增加圖片輸入尺寸則會成比例的增加訓(xùn)練耗時,但是這些方法均可在70 min內(nèi)完成模型訓(xùn)練。對訓(xùn)練圖片進行不同倍數(shù)的數(shù)據(jù)增廣,則訓(xùn)練時間成本將以相同倍數(shù)增加,但模型泛化性能也進一步增強。
mAP和IoUMask是對模型檢測分割性能比較系統(tǒng)的評價指標(biāo),然而最直觀、有效的驗證方法是對測試集中木材數(shù)量的檢測。本研究使用OpenCV庫完成對Mask R-CNN木材分割掩碼的輪廓查找、圓形輪廓擬合及輪廓計數(shù),部分模型方法計數(shù)結(jié)果如圖4所示。其中,計數(shù)圖左上角打印了圖片中木材的統(tǒng)計結(jié)果(等號左側(cè)數(shù)字表示木材總數(shù),等號右側(cè)3個數(shù)字分別表示小、中、大3種尺寸木材的統(tǒng)計數(shù)量),并用藍綠紅3種顏色的圓或矩形框?qū)π?、中、大各尺寸木材進行定位標(biāo)注,標(biāo)注圓或矩形框中的數(shù)字表示識別的木材序號。此外,本試驗對具有最高mAP和最大IoUMask分數(shù)的兩組方法模型的木材檢測性能進行統(tǒng)計,獲得模型的木材檢測率和木材真檢率分別如表4和表5所示。
圖4 人工標(biāo)注及部分模型方法的木材檢測計數(shù)結(jié)果Fig. 1 Log detection counting results of manual labeling and some model methods
表4 不同模型對各尺寸木材檢測性能統(tǒng)計Table 4 Statistical analyses table of the detection performance of different models for various sizes of logs
表5 不同模型對木材真檢性能統(tǒng)計表Table 5 Statistics table of the real inspection performance of different models on wood
對比表4中測試集實際木材數(shù)量和模型檢測數(shù)量可以發(fā)現(xiàn),優(yōu)化后的模型相比Baseline模型,對各尺寸木材的檢測性能均有較大提升,尤其小木材的檢測性能提升明顯。圖4中漏檢小木材也逐漸減少,模型木材檢測率從94.681%提升到98.827%。但是模型存在一定的誤檢測,即可能將與木材相似的目標(biāo)誤識別成木材。從表5可以發(fā)現(xiàn),Baseline模型的木材真檢率僅為94.430%,而mAP最高的方法15的真檢率最高,為98.073%,但是誤檢率也較高,為0.76%。相比之下,IoUMask分數(shù)最高的方法30,經(jīng)過16倍數(shù)據(jù)增廣,木材輪廓特征得到更充分的學(xué)習(xí),其誤檢率僅為0.30%,且真檢率為97.989%。從圖4中也易于發(fā)現(xiàn),方法30的模型木材檢測結(jié)果最接近人工標(biāo)注結(jié)果,檢測率更高,漏檢更少。綜合實際應(yīng)用考慮,方法30模型更優(yōu)。此外,從圖3~4、表3~5均可看出,相較文獻[4]和文獻[8]方法,本研究方法對各尺寸木材的檢測性能更佳。
綜合上述32組實驗結(jié)果和對部分優(yōu)秀模型3個維度指標(biāo)的分析結(jié)果可以看出,進行多尺度訓(xùn)練、擴大模型樣本采樣數(shù)、提高圖片輸入尺寸和有效的數(shù)據(jù)增廣對模型各尺寸木材的檢測性能都有一定的提升,疊加使用,提升更加明顯,具有較好的木材檢測能力,且能適應(yīng)多尺寸密集木材檢測場景。
為解決人工檢尺方法中的效率低下且檢尺主觀性較強的問題,提出一種基于Mask R-CNN實例分割模型的木材分割方法,并針對存在的小木材檢測難題,提出4種模型優(yōu)化方法,探究實例分割對木材密集堆放場景下各尺寸木材的分割的可行性,以期實現(xiàn)智能檢尺,提高檢尺效率。在木材數(shù)據(jù)集上進行了32組對照試驗,并對實驗結(jié)果進行分析,得出以下結(jié)論:
1)使用多尺度訓(xùn)練、提高模型RPN和R-CNN模塊樣本采樣數(shù)可以有效改善小木材檢測性能。
2)提高圖片輸入尺寸,對小木材和中等木材的檢測性能有較大提升。
3)有效的數(shù)據(jù)增廣,對模型各尺寸木材的檢測能力均有一定提高。
4)4種優(yōu)化方法的疊加使用,對各尺寸木材的檢測分割性能提升最大。與原始Mask R-CNN Baseline模型相比:mAP提高1.3%;mAP_s提高12.9%;mAP_m提升2.7%;mAP_l提升5.2%;IoUMask分數(shù)提高2.2%,達到91.8%;木材真檢率提高3.559%,達到97.989%;誤檢率僅為0.30%。優(yōu)化后的模型對密集場景下各尺寸木材有著良好的檢測分割性能。
在現(xiàn)有工作下,模型對密集木材檢測分割性能尚有一定的提升空間,如改善Backbone特征提取能力、提高標(biāo)注數(shù)據(jù)集的數(shù)量量級和改善數(shù)據(jù)集的標(biāo)注質(zhì)量等。