郭子豪,董樂樂,曲志堅
(山東理工大學 計算機科學與技術學院,山東 淄博 255000)
節肢動物數量龐大、種類多樣、生活環境復雜,在全部動物物種中,節肢動物占比超過80%,是動物界中最大物種種類,囊括一百多萬種的無脊椎動物。節肢動物分布廣泛,對自然環境的變化反應敏感,因此節肢動物的鑒定與識別在生態環境監測、農田害蟲監測[1-3]等方面有著重大的意義;然而,這些因素也給節肢動物的采樣、分類和識別帶來了巨大的挑戰。通過節肢動物對環境進行監測,或者對農田病蟲害情況進行分析,都需要先高效地對該區域內的節肢動物進行準確識別和采樣。傳統的節肢動物采樣方法包括:1937 年Malaise[4]提出的馬氏網誘集法,1993年綦立正等[5]提出的吸蟲器法,1999年馮蘭萍等[6]提出的盆拍法以及1999年周強等[7]提出的目測法人工采樣方法。傳統的節肢動物分類方法主要依靠專業的昆蟲分類學家進行人工分類,這種識別方式不僅耗時耗力,而且對專業知識有著較高要求,難以普及和推廣。
機器學習尤其是深度學習的高速發展為節肢動物進行實時、準確、自動的識別分類帶來了新的契機。早期,人們利用昆蟲的紋理、顏色等特征分別與支持向量機、人工神經網絡等機器學習模型相結合對節肢動物進行識別。但是,節肢動物數據量大、種類豐富,人工神經網絡學習容易欠擬合,識別效率不高,并且以往研究采用的數據集多為純動物形式的模式照[8],相關模型或算法在實際的復雜背景的生態環境中難以對節肢動物進行準確的識別。近年來,將深度學習模型用于復雜背景下的昆蟲自動識別已經取得了一些成果。2017 年Zhu 等[9]利用將深層卷積神經網絡作為提取器、支持向量機作為分類器的方式對鱗翅目物種進行分類;2018 年謝娟英等[8]提出利用Faster RCNN 實現對節肢動物門下蝴蝶物種生態照的自動識別;2019 年Pang 等[10]通過聚類方法改進原始自定義錨框生成,并使用基于區域的全卷積網絡(Region-based Fully Convolutional Network,R-FCN)模型實現自然環境下的昆蟲識別;李策等[11]使用可變形卷積改進殘差網絡和感興趣區域池化層(Region of Interest Pooling,RoI Pooling),通過遷移學習的方式實現蝴蝶檢測;2020 年Zhang等[12]為了解決復雜自然環境下昆蟲識別準確率低的問題,在DenseNet 中引入無邊緣主動輪廓分割策略;2021 年袁哲明等[13]使用輕量化網絡進行多尺度特征融合實現鞘翅目等物種的分類。
雖然深度學習模型在昆蟲或動物識別領域取得了良好的效果,但是現有模型算法實現自然環境中節肢動物的識別和分類時仍存在一些問題:首先,節肢動物門數據集還不完善,大多數方法僅僅針對節肢動物門下具體某一目或某一種進行識別,模型在泛化能力和魯棒性方面還存在著不足;其次,模型算法大多基于動物的模式照進行識別且偏向于分類,在自然生態環境復雜的情況下其識別精度和識別準確率難以滿足實際需求;最后,實際采集的節肢動物數據中通常包含小目標和密集目標,而現階段對此類問題的研究往往局限于通用目標檢測或特定檢測場景[14-16],缺乏檢測小目標和密集目標的針對性方法。
針對以上問題,本文提出了一種改進Faster RCNN 模型的節肢動物識別方法,該方法適用于復雜背景下各種形態的節肢動物識別任務。不同于以往應用于節肢動物門下單一目或種的方法,本文方法實現了對節肢動物門下主要7 種目的檢測,具有更好的泛化能力和魯棒性;同時還針對自然生態環境下存在的密集目標、小目標以及復雜背景下目標的識別問題提出了有效解決辦法。
本文研究的數據來源于Kaggle 開源的ArTaxOr(Arthropod Taxonomy Orders Object Detection)數據集,它一共包含7 類,共15 376 張圖片,具體類別數據分布如表1 所示。獲取數據集后將圖像標簽文件轉為MS COCO 格式,并將圖像數據按照6∶2∶2 的比例隨機劃分成訓練集、驗證集和測試集。

表1 ArTaxOr數據集類別分布Tab.1 Category distribution of ArTaxOr dataset
ArTaxOr數據集部分數據集示例如圖1所示。對ArTaxOr數據集進行觀察和分析,可以發現數據集中的節肢動物圖像具有以下特征:1)形態多變,所處環境復雜,且部分節肢動物擁有隱匿自身形態的技能;2)活動狀態豐富,多數情況下處在爬行、飛行、交配、捕食與被捕食等運動狀態下;3)各類目標尺寸不一,存在一定數量的小目標和密集目標。這些特征能夠很好地反映節肢動物的自然生存環境,同時也給節肢動物目標檢測帶來了巨大的影響。為了提高自然環境下野外節肢動物檢測的精度和準確率,本文改進了兩階段目標檢測通用模型Faster RCNN[17],提出了具有良好檢測性能的AROD RCNN(ARthropod Object Detection RCNN)方法。

圖1 數據集示例Fig.1 Dataset examples
AROD RCNN 方法是一種基于Faster RCNN 的節肢動物識別算法,而Faster RCNN 是一種能夠真正實現端到端訓練的兩階段目標檢測模型。Faster RCNN 模型主要可以分為四個模塊:特征提取網絡、區域建議網絡(Region Proposal Network,RPN)、RoI Pooling 以及分類和回歸部分。
AROD RCNN 模型針對生態環境中節肢動物特點對Faster RCNN 模型中的四個模塊分別做了相應的適配與改進,具體如下:
首先,針對野外節肢動物活動狀態多樣、節肢動物個體尺寸差異較大、數據集采集角度不統一等問題導致的利用常規卷積規則采樣點難以學習到節肢動物在各種復雜場景下的姿態特征的問題,采用可變形卷積網絡(Deformable Convolution Network,DCN)[18]重 塑Faster RCNN 骨干特征提取網絡卷積層。
其次,針對一些節肢動物能夠利用偽裝與環境融為一體進行自我保護的特點,以及數據集中存在部分的密集目標圖像,導致RPN 提取出的前景建議框中可能出現大量噪聲、遮擋以及難以區分目標邊界的情況,提出一種有監督的并行空間與通道注意力(Supervised Parallel Spatial and Channel ATtention modules,SPSCAT)結構,解決節肢動物圖像數據集中小目標、遮擋目標、模糊目標和復雜背景的問題。
再次,由于節肢動物生態照中存在多尺度的目標,而多尺度的節肢動物目標差異會影響模型的識別效果,另外特征圖在骨干網絡中進行連續的下采樣過程中往往會丟失小目標的位置和特征信息,所以使用特征金字塔網絡(Feature Pyramid Network,FPN)[19]對底層空間位置特征和高層語義特征進行互補,可以在各級分辨率特征圖中檢測不同尺寸的目標。
最后,針對節肢動物數據集存在的密集目標問題,使用密集局部回歸(Dense Local Regression,DLR)方法[20]對回歸階段進行改進,提高了模型回歸的準確性。
改進后模型架構如圖2 所示,使用3×3 的可變形卷積替換特征提取網絡中C1~C5 塊原有的3×3 卷積,并在C3~C5 塊后加入了SPSCAT 機制,同時采用特征金字塔思想對C2~C6塊進行特征融合,在最后的回歸階段使用密集局部回歸。

圖2 改進后模型的架構Fig.2 Architecture of improved model
在AROD RCNN 模型骨干網絡中,可變形卷積對每一個采樣點都增加了一個偏移量{Δhn|n=1,2,…,N}(N∈ |R|),此時卷積操作如圖3 所示。由圖3 可知,卷積操作由圖3(a)變為不規則采樣點圖3(b);圖3(c)和(d)為可變形卷積中的特殊情況,表明可變形卷積可適用于各種形態變化。

圖3 常規卷積與可變形卷積的對比Fig.3 Comparison of conventional convolution and deformable convolution
常規卷積操作中采樣點h0與可變形卷積采樣點公式對比如下:

其中:R為規則網格,規定了感受野的大小;ω(hn)為權重;增加偏移量Δhn意味著需要對不連續位置進行求導,偏移量Δhn通常不是整數,這里利用雙線性插值[21]來解決。
另外,普通卷積操作輸出通道數為N的輸出特征,同樣的操作在可變形卷積中可以得到通道數為2N的輸出特征,比普通卷積多了偏移特征,如圖4 所示。

圖4 可變形卷積過程Fig.4 Deformable convolution process
加入偏移量后,可能會出現卷積核的感受野大于目標區域的情況,為解決此問題,在式(2)加上懲罰項,改進后如式(3)所示:

普通RoI Pooling 是把一張特征圖分為若干個形狀規則、位置固定的區域,這給特征映射過程帶來了局限性,進而會降低檢測結果的準確性。ROI Pooling 也可借鑒可變形思想,在其原有結構上增加了偏移特征如式(4)所示(式(4)可由式(2)推出):

其中:nij是第(i,j)特征圖區域空間塊上像素數;Δhij是通過全連接層輸出的偏移量矩陣。可變形的RoI Pooling 提取了更多的節肢動物的結構特特征,并且該模塊中全連接層的參數可以通過反向傳播進行學習調整,進而通過下采樣加速訓練。
標準卷積與可變形卷積的采樣位置對比如圖5 所示,可變形卷積采樣點通過偏置矩陣的作用由原來的規則采樣變成根據特征變換采樣點位置,提取到的特征更具有代表性;同時感受野隨特征的變化而變化,自適應地融合每個像素點相鄰的相似結構信息,生成可變形的特征圖像,進而提高檢測的準確率。

圖5 兩種卷積的采樣位置對比Fig.5 Comparison of sampling positions of two convolutions
SPSCAT 機制的網絡結構分為兩部分:虛線的上半部分為空間注意力模塊,下半部分為通道注意力模塊,如圖6所示。

圖6 SPSCAT機制的網絡結構Fig.6 Network structure of SPSCAT mechanism
在空間注意力模塊中,經過卷積得到的特征圖首先投影到一組非對稱的卷積結構中,通過各尺度的卷積得到不同尺度的特征映射,獲取更豐富的空間特征,融合后再進行一次卷積得到包含目標區域與背景區域得分的顯著性圖(Saliency map)。同時對輸入圖像進行二值化,該操作通過對應標簽給原始圖像不同區域打分,設含有目標區域內得分為1,其他區域得分為0,以此得到二值圖(Binary map),利用顯著性圖和該二值圖交叉熵損失進行有監督訓練。通過訓練調整各尺寸卷積核的權重,提高對目標區域關注度,從而提高感興趣區域特征的影響力、降低背景信息的干擾。
在通道注意力模塊中,將獲取到的特征信息沿通道方向分別進行全局平均池化和全局最大池化,將原始特征圖壓縮成一維向量,包含全局特征的向量再經過兩個全連接層和一個激活層擬合通道間的相關性,分別得到兩個通道特征圖后進行融合,最后經過sigmoid 操作獲得歸一化后的權重并賦給每個特征通道。該模塊不同于SE-Net(Squeeze-and-Excitation Network)[23]中只利用全局平均池化作為壓縮操作的通道注意力機制,本文通過全局最大池化作為并聯分支,能提升該模塊的穩健性。
將加權處理后的空間特征圖、通道特征圖、原特征圖相乘得到新的特征圖FA,圖7(b)、(c)分別為未經過注意力機制的特征圖可視化結果和新的特征圖FA可視化結果,圖7(d)、(e)分別表示C5~C6 塊中SPSCAT 模塊下經過不同尺度特征映射的融合結果及顯著性圖。這表明該模塊能夠增強有效特征、減弱無效特征,而且還可以保留細小特征信息和上下文語義信息。同時,引入的監督機制可有效引導網絡進行正確學習,有利于網絡后期的分類和回歸,增加網絡的魯棒性。

圖7 可視化注意力機制和FPN融合Fig.7 Visualized attention mechanism and FPN fusion
為防止在連續的卷積操作過程中丟失小目標的特征信息,本文采用特征金字塔思想對特征提取網絡中不同卷積塊進行特征融合。圖7(f)為使用FPN 進行特征融合得到的融合特征層P6 輸出的可視化結果,圖中高亮區域為模型預測目標所在位置,由該圖可以得知特征金字塔結構能夠擬合不同尺度目標的位置和語義信息,有效應對復雜環境下節肢動物尺度不一的問題。
邊界框回歸一直是目標檢測的難題,在Faster RCNN 模型回歸階段,輸入是Q×Q大小的特征子圖,將其作為一個單一的全局變量并求其在四個方向的偏移量,然后通過全連接層預測單個候選框的偏移量,如式(5)所示:

其中:(x,y)為框的中心點坐標,(w,h)為框的寬和高,G、P分別表示目標真實框與目標候選框。
使用上述方式進行回歸預測往往會導致密集目標檢測精度不高,回歸框中有多個目標時準確率會大幅度下降。針對這一問題,在回歸階段使用密集局部回歸方法,示意圖如圖8 所示。

圖8 密集局部回歸采樣Fig.8 Dense local regression sampling
首先將Q×Q大小的特征子圖中任一點作為特征點,針對每個特征點求其在4 個方向的偏移量O(m,n,s,v),使用各個局部特征對任意框的局部位置進行偏移預測,如式(6)所示:

其中:(x0,y0)為局部特征坐標;(xm,ys)、(xn,yv)分別為真實框左上角和右下角的坐標。
同時,為了減少計算多個偏移量所帶來的計算量,引入新的矢量ti,其定義如式(7)所示:

在求偏移量之前利用交并比(Intersection over Union,IoU)判斷特征點屬于前景還是背景,然后在確定是有效特征點的基礎上求取偏移量,最后將每一個特征點的偏移量取均值得到最終的特征圖偏移量用作回歸。
本文所有實驗均基于Ubuntu18.04 操作系統,使用深度學習算法框架Pytorch1.4.0 并利用GPU 進行加速計算,硬件系統為Intel Core i5-10400F,顯卡為GeForce RTX 2070 SUPER。消融實驗采用標準隨機梯度下降法進行訓練,batchsize 均為1,初始學習率為0.001 25,權重衰減項為0.000 1,梯度更新權值為0.9,每個實驗均訓練24 個epoch。
本文設定IoU 在0.5~0.95 作為判斷檢測目標是前景或背景的閾值,使用平均精度(Average Precision,AP)、召回率(Recall)和各類別平均精度均值(mean Average Precision,mAP)等評價指標對各實驗結果進行評價。其中,AP 是IoU為0.5~0.95 時,當前類別下模型Recall 為0~1 時的精度均值,計算方法如式(8)所示,即以召回率為橫軸、精確率(Precision)為縱軸繪成的Precision-Recall 二維曲線與橫軸間的面積。mAP 是所有類別平均精度AP 的均值,如式(9)所示。

為了量化分析Faster RCNN 中引入可變形卷積結構、特征金字塔結構、SPSCAT 機制、改進回歸方式等方法對節肢動物目標檢測性能的影響,本文分別使用上述方法與Faster RCNN 相結合,并在ArTaxOr 數據集上進行消融實驗,消融實驗中各模型結構以及結果如表2 所示,表中各模型骨干網絡均為ResNet50,AT 均為SPSCAT 模塊,DCN 均指DCNv2。圖9反映了各模型在不同閾值下的PR(Precision-Recall)曲線。
從表2 和圖9 的實驗結果來看,分別引入可變形卷積(Faster RCNN-DCN)、SPSCAT 模塊(Faster RCNN-AT)、特征金字塔結構(Faster RCNN-FPN)對原Faster RCNN 模型檢測精度和召回均有較大的提升。其中單獨引入SPSCAT 模塊的檢測效果較另外兩個模型略有不足,原因分析如下:1)Faster RCNN-AT 結構是在特征提取網絡中C6 塊之后對特征圖進行改進,網絡輸出的僅是聚集注意力的最高層特征信息,而特征圖在進行連續的下采樣過程中會丟失大量的像素信息,在SPSCAT 結構中的空間注意力部分獲得的顯著圖無法很好地保留上下文語義信息,導致模型的魯棒性較差;2)特征提取網絡中特征圖經過該模塊疊加空間和通道注意力機制時,上層提取到的特征圖受限于普通卷積的影響,同時,數據集中存在一部分圖像目標被遮擋情況,被遮擋部分形狀不規則,注意力機制能消除部分背景信息影響,較小程度的干擾信息依然會影響模型的效果。

圖9 消融實驗中各模型的PR曲線Fig.9 PR curves of different models in ablation experiments
從各模型識別效果來看,Faster RCNN 模型對節肢動物的檢測效果并不理想。主要是因為ArTaxOr 數據集中存在密集小目標以及目標環境背景復雜等問題。說明Faster RCNN 模型針對單一目標、背景信息簡單的節肢動物圖像有較好的性能,但未能檢測出隱匿能力較強的目標,即針對節肢動物外形紋理和背景相似的圖像檢測效果較差,對于多目標數據漏檢率較高,對密集目標以及部分遮擋目標檢測效果不佳。圖10 給出了Faster RCNN 以及單獨引入可變形卷積(Faster RCNN-DCN)、SPSCAT 模塊(Faster RCNN-AT)、特征金字塔結構(Faster RCNN-FPN)在部分數據集中的表現,從圖中可以看出,針對Faster RCNN 模型在檢測自然生態環境下的節肢動物時存在的問題,各改進后的模型效果均有一定程度的改善。

圖10 單獨引入各方法的效果對比Fig.10 Comparison of effect of introducing single method individually
考慮到數據集圖像中存在豐富的背景信息,使用特征金字塔結構進行不同尺度的特征融合能夠很好地結合高低層特征的位置及語義信息,提高模型的魯棒性,故后續消融實驗均使用特征金字塔結構對骨干網絡中的C2~C6 塊進行特征融合,表2 中Faster RCNN-DCFPN(實驗5)和Faster RCNNATFPN(實驗6)對比實驗表明在加入FPN 后,兩個模型在節肢動物目標檢測任務中擁有更好的擬合能力,尤其是Faster RCNN-ATFPN 模型,在引入有監督并行空間和通道注意力的基礎上增強了特征,消除背景信息干擾的同時融合各層語義和位置信息,效果較可變形卷積加特征金字塔結構更優。改進模型較原模型在ArTaxOr 數據集上的mAP0.5:0.95提升了0.453,召回率提升了0.303,大幅度改善了漏檢情況。

表2 消融實驗中各模型結構及結果Tab.2 Structures and results of different models in ablation experiments
為驗證DLR 方法對節肢動物目標檢測效果的影響,在實驗5 和實驗6 的最后回歸階段使用了密集局部回歸方法,結果如表2 中實驗7 和實驗8 所示。圖11 分別為實驗5~8 的對比效果,圖中顯示使用DLR 方法后針對密集目標以及目標被遮擋情況均有改善,說明模型在回歸階段通過利用IoU加入過濾掩膜剔除無效區域特征點,計算整個圖中有效特征點在4 個方向的偏移矢量的方法對于邊界框的回歸有較大改進。

圖11 二次引入各方法的效果對比Fig.11 Comparison of effects of introducing two methods
表3 為對比實驗中各模型在節肢動物數據集中檢測的各類AP 值(IoU 為0.5 到0.95 的各AP 均值),原始Faster RCNN 模型在數據集的7 個類別節肢動物檢測中表現均較差,主要是漏檢率和誤報率高,尤其是膜翅目,由于該類別下多為密集目標圖像且該類本身類間差距小、類內差距大,導致該類AP 值很低。表3 的實驗結果表明,本文設計的各個模塊對各類節肢動物檢測精度有顯著提升。

表3 消融實驗中各模型的各類別AP值Tab.3 AP value of each category of each model in ablation experiment
通過熱力圖可以直觀地看出各模型對待檢測圖像的感興趣區域。圖12 是對各模型在部分測試集中進行可視化分析的熱力圖及與原圖疊加后的結果。圖12(b)~(j)分別為實驗1~9 中(詳見表2)各個模型的效果,前4 張圖像分別為不同環境下的密集目標實例,第5 張圖像為包含大目標與小目標實例,最后一張圖像為被捕食狀態即被遮擋目標實例。圖12 的結果顯示,本文提出的模型對自然生態環境下的節肢動物檢測取得了較好的檢測結果,主要表現在:1)模型提取到的特征中幾乎不含噪聲,噪聲等因素對模型檢測干擾小;2)對于含多目標的圖像,模型漏檢率低、目標間邊界清晰;3)包含語義和位置信息豐富,能夠在復雜背景下對各種節肢動物精準定位,進而使得模型誤識率(模型判定背景區域為 目標區域)低,精度高。

圖12 消融實驗中不同模型的熱力圖對比Fig.12 Comparison of heatmaps of different models in ablation experiments
為進一步驗證本文提出的算法有效性,對比測試了現階段主流的無錨框檢測模型 FreeAnchor[24]、FoveaBox[25]、單階段檢測模型RetinaNet[26]、YOLOv4[27]、兩階段檢測模型Double-Head RCNN[28]、Grid RCNN[29],實驗結果如表4 所示,表中列出了各模型在節肢動物數據集中檢測各類別精度以及所有類別平均精度和召回率。

表4 本文模型對比主流檢測模型的結果Tab.4 Comparison results of the proposed model and mainstream detection models
總體而言,無錨框檢測模型受限于回歸方式的影響,預測時多為假陽性目標,故模型召回率較高但精度很低;單階段檢測模型受限于檢測時回歸方式單一、特征表達能力較弱,且模型檢測誤報率較高,故檢測精度較差;對比而言兩階段檢測模型在節肢動物數據集中具有更好的表現。而本文提出的模型充分考慮到數據集目標的特點,有針對地對數據集中存在的目標背景復雜、形態多變、小目標和密集目標問題進行改進,故對于節肢動物檢測效果優于上述主流模型,在各類別檢測中也表現出良好的性能。
針對野外自然環境下節肢動物檢測精度和準確率不高的情況,改進了Faster RCNN 的節肢動物目標檢測方法,改進模型較原模型在ArTaxOr 數據集上的mAP0.5:0.95提升了0.453,召回率提升了0.303,大幅度改善漏檢情況。首先,提出了一個新的注意力機制SPSCAT,采用有監督的學習方式使模型更關注待檢測目標區域的特征,避免采集和學習大量無用背景特征,降低了節肢動物所在環境的影響,解決了提取目標特征時含有大量噪聲和遮擋問題,更易于區分交雜在一起的節肢動物,改善了漏檢誤報情況;由于注意力機制更傾向于關注全局特征分布,為充分利用局部信息的特征,使用可變形卷積重塑骨干網絡中的普通卷積,同時使用可變形RoI Pooling 使模型更準確地擬合不同節肢動物的形狀和位置特征,大幅度提高模型的檢測精度和泛化能力。其次,使用特征金字塔結構進行特征融合,保留小目標的低級語義特征,避免高分辨率和低分辨率特征圖中同時包含的目標信息丟失,顯著提升了小目標節肢動物的檢測精度。最后,在模型的回歸階段使用密集局部回歸方法,利用全卷積網絡代替全連接層對每個候選子區域進行回歸預測,實現節肢動物在不同背景下的精準定位。
為進一步驗證模型的泛化能力,后續將對數據集種類進行擴充,并在原有數據上進行光照畸變、幾何畸變等數據增強方法,模仿人類對節肢動物分類的過程,采用半監督學習方式進行訓練,提高模型性能;同時,今后還要深入研究節肢動物類間差異與類內差異導致模型檢測存在誤報的問題。