蔡瑞星,林培杰,林耀海,余平平
(1.福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108;2.福建農(nóng)林大學(xué) 計算機與信息學(xué)院,福建 福州 350002)
森林資源作為陸地生態(tài)系統(tǒng)的主體,是人類賴以生存的重要資源之一。根據(jù)國家林業(yè)局在2014年發(fā)布的第八次全國森林資源清查結(jié)果[1],我國森林資源仍存在總量相對不足、質(zhì)量不高以及分布不均的情況,因此需要合理地規(guī)劃現(xiàn)有的森林資源。在中國的木材生產(chǎn)、流通過程中,原木材積的準(zhǔn)確和有效測量不僅直接影響原木工程的經(jīng)濟效益[2],還能有效防止木材資源的浪費。原木的材積計算由木材端面徑級和木材長度兩個參數(shù)決定,同一批原木長度往往相對固定[3],因此,原木端面檢測作為獲取原木徑級的第一步就顯得尤其重要。然而,成捆原木圖像中原木端面的形狀大小不一、異物遮擋、陰影等問題會給原木端面檢測帶來嚴(yán)峻的挑戰(zhàn)。
現(xiàn)有的原木端面檢測方法可以大致分為傳統(tǒng)圖像處理方法和深度學(xué)習(xí)方法兩個部分。東北林業(yè)大學(xué)梅振榮等人根據(jù)原木端面的圖像特征,結(jié)合面積閾值法和數(shù)學(xué)形態(tài)學(xué),檢測原木端面點[4]。廈門大學(xué)林靜靜等人提出了基于鏈碼的原木端面圖像檢尺徑級識別算法,其較依賴于原木端面的分割效果[5]。東北林業(yè)大學(xué)趙亞鳳等人針對在光照下原木之間陰影相互遮擋的問題,采用了遺傳算法確定圖像增強的三階段線性變換的兩個轉(zhuǎn)折點,然后用同態(tài)濾波器進行圖像分割,達到較好的識別效果,但是遺傳算法的使用也帶來了較大的耗時[6]。河北農(nóng)業(yè)大學(xué)唐浩等人針對自然環(huán)境對原木端面檢測的影響,通過色差值聚類對原木圖像進行分割,提取原木端面特征,采用逐級開運算并且改進分水嶺算法對原木端面實現(xiàn)計數(shù),但是該方法在復(fù)雜背景下的魯棒性會受影響[7]。
近幾年,得益于深度學(xué)習(xí)領(lǐng)域以及相關(guān)硬件設(shè)備的快速發(fā)展,深度學(xué)習(xí)越來越廣泛地應(yīng)用于目標(biāo)檢測任務(wù)中。深度學(xué)習(xí)算法相比于傳統(tǒng)圖像處理方法具有更強的魯棒性,能夠在原木端面形態(tài)差異較大的情況下仍然具有較高的識別率。目前的目標(biāo)檢測網(wǎng)絡(luò)模型主要可以分為二階段網(wǎng)絡(luò)和一階段網(wǎng)絡(luò)兩種[8],其中,二階段網(wǎng)絡(luò)是基于區(qū)域推薦的一種模型,區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Regions with convolution neural network,R-CNN)[9]作為二階段網(wǎng)絡(luò)的代表模型,首先通過區(qū)域推薦生成候選區(qū)域,其次通過卷積網(wǎng)絡(luò)提取每個候選區(qū)域的特征,再次,R-CNN把這些特征輸入到支持向量機(Support Vector Machine,SVM)進行分類,最后通過線性回歸來調(diào)整預(yù)測框的位置。這種方法在最近幾年也進行了一系列的改進,例如Faster R-CNN[10],Grid R-CNN[11]等,這些方法也同樣被應(yīng)用于各個領(lǐng)域的檢測中,但是R-CNN系列的網(wǎng)絡(luò)結(jié)構(gòu)比較復(fù)雜,會帶來巨大的模型參數(shù)。一階段網(wǎng)絡(luò)是基于回歸的方法,主要以YOLO(You Only Look Once)[12-13]系列和SSD(Single Shot Multibox)系列為代表,這些一階段網(wǎng)絡(luò)將物體的分類和定位放在一個步驟中進行,直接在輸出層回歸目標(biāo)檢測框的位置和類別。福建農(nóng)林大學(xué)的林耀海等人利用YOLOv3-Tiny結(jié)合霍夫變換(HoughTransform)設(shè)計出一種等長原木材積檢測系統(tǒng)[3],達到了較高的準(zhǔn)確率。但是YOLOv3-Tiny采用固定的學(xué)習(xí)率衰減,容易陷入到局部最優(yōu)點,其結(jié)果是,在原木端面污漬較小、差異不大時檢測效果很好,當(dāng)原木端面差異較大時,檢測準(zhǔn)確率明顯下降。相比于YOLOv3-Tiny,YOLOv4-Tiny采用了余弦退火的學(xué)習(xí)率衰減,能夠有效地逃離局部最優(yōu)點,訓(xùn)練出更好的模型。河北農(nóng)業(yè)大學(xué)唐浩等人采用SSD網(wǎng)絡(luò)實現(xiàn)不同尺度的目標(biāo)特征提取,克服了傳統(tǒng)算法在不均勻光照下的原木間互相遮擋的問題,達到很高的檢測精度。然而SSD網(wǎng)絡(luò)由于結(jié)合了多個尺度的目標(biāo)特征,不免帶來參數(shù)冗余問題。
因此,本文采用YOLOv4-Tiny網(wǎng)絡(luò),通過引入注意力機制中的壓縮和激勵(Squeeze and Excitation,SE)模塊[14],在保證不會加入更多模型參數(shù)的前提下提升網(wǎng)絡(luò)的識別性能,減少原木端面圖像中的漏檢原木數(shù)量,使得模型能夠更加完整地檢測出原木端面圖像中的原木。同時,考慮便攜式手持設(shè)備在實際成捆原木端面檢測任務(wù)中更具有實用性,引入深度可分離卷積(Depthwise Separable Convolution,DSC)[15]來替換YOLO模型中解碼網(wǎng)絡(luò)的卷積步驟,以縮減模型的參數(shù)量,提高該深度學(xué)習(xí)模型在嵌入式設(shè)備應(yīng)用的可行性。通過實驗結(jié)果對比,本文所提出的改進的YOLOv4-Tiny網(wǎng)絡(luò)能夠在保證召回率的同時,降低模型的參數(shù)量,使其更易于移植。
實驗數(shù)據(jù)總共177張圖片,其中一部分來自福建永安某林場的成捆原木圖像集,另一部分來自互聯(lián)網(wǎng)。124張圖片作為訓(xùn)練集,53張圖片作為測試集。每一張圖片的原木數(shù)量從3到100根不等,訓(xùn)練集總共有5 112根原木,測試集總共有1 846根原木。部分原木圖像如圖1所示。原木圖像數(shù)據(jù)采用Pascal VOC2007標(biāo)準(zhǔn)格式,采用LabelImage進行數(shù)據(jù)標(biāo)注,標(biāo)注過程如圖2所示,標(biāo)簽設(shè)置為log。
圖1 部分成捆原木圖
YOLOv4-Tiny有一種馬賽克(Mosaic)數(shù)據(jù)增強方式,該數(shù)據(jù)增強方法包括以下4個步驟:
(1)隨機讀取四張圖片;
(2)對讀取圖片進行隨機的縮放、色域變換以及翻轉(zhuǎn)等操作;
(3)將變換后的圖片擺放在左上、左下、右上、右下四個位置;
(4)將真實標(biāo)注框進行整合。
Mosaic數(shù)據(jù)增強的結(jié)果如圖3所示。測原理如圖4所示。
圖4 YOLO系列檢測原理圖
經(jīng)過縮放之后,原始圖片被分為N×N個單元格,如果目標(biāo)中心落在單元格內(nèi),單元格內(nèi)目標(biāo)的位置和類別信息就會被預(yù)測。每個單元格預(yù)測類別的條件概率C,邊界框B的位置信息以及置信度,邊界框置信度包含預(yù)測框內(nèi)是否包含目標(biāo)Pr(Object)以及預(yù)測框和真實框的交并比(Intersection Over Union,IOU)
YOLO系列提供將目標(biāo)檢測問題轉(zhuǎn)換為回歸問題的端到端的目標(biāo)檢測框架。它的分類和回歸任務(wù)在同一個網(wǎng)絡(luò)中實現(xiàn),直接預(yù)測目標(biāo)的位置和類別信息,有著較快的檢測速度。YOLO系列的目標(biāo)檢兩個部分。邊界框的位置和大小信息包括中心點坐標(biāo)(x,y),目標(biāo)寬度w,目標(biāo)高度h。其中,中心點坐標(biāo)是相對于單元格左上角的偏移量,而目標(biāo)寬高則是相對于整張圖片的大小,因此,預(yù)測值(x,y,w,h)屬于[0,1]。對于分類任務(wù),每個單元會輸出C個預(yù)測類別的概率值,表示目標(biāo)屬于各個類的條件概率Pr(Classi|Object),因此每個邊界框的類別置信度可以表示為:
對于分類和回歸任務(wù),YOLO模型中每一個單元格的輸出為(B×5+C),如果輸入被分為N×N個單元格,那么YOLO模型的最終輸出結(jié)果為N×N×(B×5+C)。
相比較于YOLOv3,YOLOv4網(wǎng)絡(luò)主要對數(shù)據(jù)處理、主干特征提取網(wǎng)絡(luò)、網(wǎng)絡(luò)訓(xùn)練方法、激活函數(shù)以及損失函數(shù)等做了一系列的改進,在數(shù)據(jù)處理上采用馬賽克數(shù)據(jù)增強方式,主干特征提取網(wǎng)絡(luò)采用CSPDarknet53替換了原來的Darknet53,采用余弦退火的學(xué)習(xí)率衰減和標(biāo)簽平滑的訓(xùn)練方法、Mish激活函數(shù)替換原來的Leaky Relu激活函數(shù)以及使用CIOU損失函數(shù)等。
如圖5所示,本文將SE模塊用于YOLOv4-Tiny的主干特征提取網(wǎng)絡(luò)的輸出特征中,用以加強特征的表達,同時在YOLOv4-Tiny的解碼網(wǎng)絡(luò)中,采用深度可分離卷積代替原有的卷積層,降低整個模型的解碼參數(shù)
圖5 改進YOLOv4-Tiny的網(wǎng)絡(luò)結(jié)構(gòu)
1.3.1 壓縮和激勵模塊
如圖6所示,SE模塊加入到Y(jié)OLOv4-Tiny的輸出特征的網(wǎng)絡(luò)中,通過一個全局平均池化,將特征圖壓縮成1×1×C(C為特征通道數(shù))尺度,使用特征通道比例系數(shù)r縮放,最后經(jīng)Sigmoid激活函數(shù),將取值范圍歸到0和1之間,用來表示每個通道特征的權(quán)值。最后通過與YOLOv4-Tiny的輸出特征進行按位相乘相加,放大對識別原木有用的 信息特征。
圖6 SE模塊結(jié)構(gòu)圖
1.3.2 深度可分離卷積
為了保證模型的檢測性能,同時降低模型的參數(shù)量,本文采用深度可分離卷積來替換YOLOv4-Tiny解碼網(wǎng)絡(luò)中普通的卷積層,其結(jié)構(gòu)如圖7所示。深度可分離卷積將卷積具體可以分成兩個計算 步驟:
圖7 深度可分離卷積結(jié)構(gòu)
(1)對每一個特征通道進行卷積提取特征;
(2)利用多個1×1的卷積來進行特征的升維,以達到所需的特征維度
2.1.1 實驗平臺
本文實驗在一臺配有顯卡的工作站上完成,工作站的主要配置如表1所示。
表1 實驗平臺配置
2.1.2 實驗參數(shù)設(shè)置
由于YOLOv4-Tiny模型需要對輸入圖片進行5次下采樣,因此輸入圖片大小需要是32的倍數(shù),同時考慮到實驗設(shè)備的性能,本文選用608×608作為改進YOLOv4-Tiny模型的輸入大小,Batch的大小為32,選擇Adam作為模型的優(yōu)化器,初始學(xué)習(xí)率為0.000 1,權(quán)重衰減值為0.000 5。對于YOLOv4-Tiny先驗框的選取,本文采用K-means聚類算法對訓(xùn)練集的數(shù)據(jù)進行聚類,獲取模型的先驗框,以IOU作為K-means的距離函數(shù),K的取值采用YOLOv4-Tiny的建議值6,最后得到的先驗框為(18,25)、(29,41)、(44,56)、(55,82)、(80,111)、(127,162),其他參數(shù)均為YOLOv4-Tiny原始的模型參數(shù)。
為了分析模型對于成捆原木端面的檢測性能,本文選用平均精準(zhǔn)率(Average Precision,AP)、召回率(Recall)、精準(zhǔn)率(Precision)、F1得分(F1-score)以及對數(shù)平均誤檢率(Log Average Miss Rate,LAMR)來進行評價。采用模型的權(quán)重大小來分析模型的參數(shù)量。相關(guān)計算公式如下:
式中:TP為正確的檢測的正樣本數(shù)目,F(xiàn)P為錯誤的正樣本數(shù)目,F(xiàn)N為錯誤的負樣本數(shù)目,Miss為誤檢率,F(xiàn)PPI為每張圖片錯誤的檢測數(shù)目,N是測試樣本的總樣本數(shù),K是錯誤的檢測數(shù)目。
2.3.1 檢測結(jié)果對比
為了評估所提出的模型對于成捆原木圖像中的檢測效果,本文將其與二階段模型Faster RCNN、一階段模型SSD以及YOLOv4-Tiny進行對比,實驗結(jié)果如表2和表3所示。
表2 不同探測器整體性能對比
表2中,本文算法無論是AP值還是LAMR值,相比較Faster RCNN和SSD模型都有明顯的改善。相比較Faster RCNN,AP值提升了17.55%,LAMR值降低了16.27%;相比較SSD模型,AP值和LAMR值改善得更加明顯,AP值提高了25.04%,LAMR值降低了35.43%。雖然本文算法在AP值上相比較YOLOv4-Tiny模型只有少許的下降,但在LAMR上降低了2.07%,達到了22.93%。這表明通過SE網(wǎng)絡(luò)來實現(xiàn)的注意力機制,能夠有效地增強主干特征提取網(wǎng)絡(luò)的輸出特征,顯著降低原木端面的誤檢率,增強了模型的魯棒性。
表3中,本文算法具有最優(yōu)的TP、FN、F1-score和Recall,分 別 達 到 了1 755、91、0.94和95.07%,TP指標(biāo)達到了最高,F(xiàn)N指標(biāo)達到了最低,說明所改進的模型相比較Faster RCNN、SSD及YOLOv4-Tiny模型,在測試集上的漏檢原木數(shù)達到了最低,能夠更多地檢測到一張圖片中的原木端面;F1-score指標(biāo)則說明本文算法相比較其他3種模型能夠在精準(zhǔn)率和召回率之間達到一個最好的平衡;Recall指標(biāo)則意味著該模型能夠更加完整地檢測出一張圖片中的所有原木。本文算法的精準(zhǔn)率達到了93.3%,相比較SSD模型雖然有一些下降,但在召回率上,本文算法相比較SSD模型有了大幅度的提升,提高了16.96%,同時,SSD的漏檢原木數(shù)目達到了404根,占測試集所有原木的21.89%,存在明顯的漏檢。這是因為SSD融合了各個尺度的特征,追求識別的精度,注重所檢測到的目標(biāo)必須都是原木的情況,這在模型優(yōu)化過程中就容易忽略和背景相似、原木間遮擋、異物遮擋情況下的原木,造成了Recall的嚴(yán)重下降。這對于原木端面檢測來說是不利的。原木檢測需要將一張圖片中的原木盡可能地檢測出來,才能有效地代替人工檢測,因此SSD的Recall顯然不滿足實際需求。同時,本文算法相比較于YOLOv4-Tiny網(wǎng)絡(luò),由于結(jié)合了SE模塊,加強了網(wǎng)絡(luò)的特征提取能力,豐富了特征的表達,誤檢數(shù)目(FP)降低了18.71%,Precision提升了1.43%。如圖9所示,本文所提出的模型能夠比較完整地檢測出一張圖片中的所有原木,并且在有異物遮擋、光線較暗的情況下也能夠準(zhǔn)確地檢測出原木目標(biāo)。因此,本文所提模型相比于其他3種模型,更加適合應(yīng)用于成捆原木端面檢測任務(wù)。
表3 不同模型檢測結(jié)果統(tǒng)計表(置信度閾值為0.5,IOU閾值為0.5)
圖9 部分檢測結(jié)果圖
2.3.2 模型參數(shù)量對比
本文通過模型權(quán)重的大小來比較模型的參數(shù)量,結(jié)果如表4所示。本文所提出的模型結(jié)合了DSC,減少了YOLOv4-Tiny解碼網(wǎng)絡(luò)的參數(shù),因此整個模型權(quán)重大小只有15.7 MB,是Faster RCNN的14.54%,是SSD的17.33%。相比較YOLOv4-Tiny模型,本文網(wǎng)絡(luò)模型減少了29.91%,明顯降低了模型的參數(shù)量,更加適合在嵌入式平臺上移植。
表4 不同模型權(quán)重的大小
原木端面的有效檢測是原木徑級測量的重要環(huán)節(jié)。為了提高原木端面檢測模型的識別性能,增強模型的可移植性,本文提出了基于改進YOLOv4-Tiny的成捆原木端面檢測模型,借助壓縮和激勵模塊,能夠更加完整地識別出一張圖片中的所有原木,適用于有異物遮擋、光線較暗的場景,同時使用深度可分離卷積降低了模型的整體參數(shù)量,更利于在嵌入式系統(tǒng)上的運行,實現(xiàn)設(shè)備的便攜和方便使用。本文改進了YOLOv4-Tiny在應(yīng)用上的一些不足,但YOLOv4-Tiny模型還存在小目標(biāo)檢測能力低、某些情況下預(yù)測框和真實目標(biāo)貼合度小等問題,因此將在今后的工作中進一步優(yōu)化和改進網(wǎng)絡(luò)結(jié)構(gòu)。