于文華,謝永華
(東北林業(yè)大學計算機與控制工程學院,哈爾濱,150040)
隨著對大型野生動物的關注度不斷增加,研究人員對野生動物監(jiān)測和理解生物多樣性變化的需求顯得尤為緊迫。傳統(tǒng)的野生動物監(jiān)測保護工作對野外持續(xù)作業(yè)和相互專業(yè)技術的配合要求過高,不僅收集數(shù)據(jù)的能力有限[1],更是耗費人力資源,阻礙了科研工作者對動物在野外行為的認知進程,無法滿足保護野生動物多樣性的需求。然而,隨著現(xiàn)代科學技術(如智能傳感器、人工智能和信息技術等)的廣泛應用,各種自動傳感器已經(jīng)超越了人類過去所具備的時空尺度數(shù)據(jù)采集能力,并在降低監(jiān)測成本的同時發(fā)揮著重要作用[2-3]。
目前,針對野生動物監(jiān)測和研究的關鍵技術革新主要涉及3個方面:小型低功耗監(jiān)測設備的商業(yè)化應用,基于無線通信的實時傳輸網(wǎng)絡以及基于人工智能的自動識別算法和模型[4-5],前兩個方面的研究手段已趨于成熟。近年來,人工智能技術已成為各行業(yè)的研究熱點,野生動物監(jiān)測領域也趨于向智能化方向發(fā)展。新的研究成果成為野外監(jiān)測、保護野生動物新的研究手段[6-12],目標檢測技術在野生動物監(jiān)測與保護領域也得到廣泛應用。隨著目標檢測精度不斷提高,算法也更加復雜,依托硬件資源也更多,導致邊緣計算設備無法發(fā)揮輕、便和快的優(yōu)勢。因此,本研究以東北虎(Panthera tigris altaica)物種檢測為例,通過對檢測算法分析,遴選出可用于野外邊緣設備工作的無錨框目標檢測算法,并對遴選出的算法進行改進,旨在為邊緣計算設備提供一個快速、高精度的輕量化檢測算法,為大型野生動物的野外行為研究、保護和恢復生物多樣性提供科研支撐。
圈養(yǎng)東北虎監(jiān)測影像數(shù)據(jù)集(ATRW)[13]是由世界野生動物基金會(WWF)在10個動物園對92只大型東北虎,利用監(jiān)控相機和固定在三腳架上的單反相機拍攝得到。經(jīng)過處理,該數(shù)據(jù)集包含8 076個高分辨率(1 920 P×1 080 P)視頻片段,從中篩選出4 434張東北虎圖像作為目標檢測數(shù)據(jù)集,其中,2 762張用作訓練集和驗證集,1 672張用作測試集。在數(shù)據(jù)集中,共有9 496 個真實邊界框,用于標注目標物體的位置和大小。數(shù)據(jù)集的標注格式采用PASCAL VOC 格式。選取該數(shù)據(jù)集的東北虎目標檢測部分進行研究,通過馬賽克(mosaic)增強[14]、融合(mixup)圖像拼接[15]和將圖片從1 920 P×1 080 P等比例縮放到640 P×640 P,3 種方式對數(shù)據(jù)集進行數(shù)據(jù)增強。數(shù)據(jù)集中的訓練集和驗證集將2 762 張圖片按照9∶1 分配,單反相機和監(jiān)控相機拍攝的東北虎照片樣張見圖1。
圖1 單反相機(A)和監(jiān)控相機(B)拍攝的東北虎照片樣張Fig.1 Example images of Amur tiger taken by SLR camera(A)and surveillance camera(B)
由于錨框算法會預先分配多個錨框,且處理時延與總體錨框數(shù)量成比例,在高性能GPU 上處理的時間成本可忽略不計,但在運算能力較低的邊緣計算設備上處理的時間不可忽略。所以,為了保證邊緣設備的檢測速度,確保檢測的實時性能,本研究采用無錨框檢測算法[16]。無錨框算法有2 種方式:(1)基于關鍵點檢測算法,先檢測目標的左上角和右下角,再通過檢測出的2 個角點組合形成檢測框,策略代表算法為CenterNet 算法[17]。(2)基于中心檢測算法,直接檢測物體的中心區(qū)域和邊界信息,并將分類和回歸解耦成2 個子網(wǎng)絡[18],策略代表算法為YOLOX算法。
1.2.1 CenterNet算法分析
CenterNet 算法屬于基于中心的檢測算法,模型中沒有預制錨框,只識別目標中心點,即目標中心位置就是一個正例錨框,其余均是負例。CenterNet 算法吸取了基于關鍵點檢測算法——CornerNet 算法的優(yōu)點[19],即在正例周圍的負例懲罰會降低,這也是選擇CenterNet 算法進行分析的原因之一。在CenterNet 算法中,特征提取網(wǎng)絡可采用多種結構,常用的是沙漏網(wǎng)絡(hourglass network)和殘差網(wǎng)絡(ResNet)。沙漏網(wǎng)絡的參數(shù)量過大,約為19 000萬個參數(shù),這對邊緣設備的計算處理不利。因此,本研究選擇了ResNet-50作為特征提取網(wǎng)絡,以減小網(wǎng)絡參數(shù)量并提高算法的檢測效率。
1.2.2 YOLOX算法分析
YOLOX 算法按照網(wǎng)絡的深度和寬度可分為YOLOX-nano、YOLOX-tiny、YOLOX-s、YOLOX-m、YOLOX-l 和YOLOX-x,6 種型號的模型深度越來越深、寬度越來越大以及模型參數(shù)量越來越高。模型過小的參數(shù)量會影響檢測的準確率,而過大的參數(shù)量不利于邊緣設備運算。所以本研究采用深度和寬度適中的YOLOX-s作為本網(wǎng)絡的基礎結構(圖2)。
圖2 YOLOX-s模型結構Fig.2 YOLOX-s model structure
YOLOX-s模型在特征提取部分采用了圖像集中結構(fcous),這種結構能將圖像的寬高信息縮小。在圖像原始信息損失較小的情況下,減小參數(shù)量可提高檢測速度。YOLOX-s模型采用交叉偏置網(wǎng)絡-53(CSPDarknet-53)作為主干特征提取網(wǎng)絡,輸入的圖片首先在CSPDarknet-53 中進行特征提取,提取到3個有效特征層后,將有效特征融入到特征融合層的加強特征提取網(wǎng)絡進行特征融合,從而結合不同尺度的特征信息。YOLOX-s模型在特征融合部分采用特征金字塔(FPN)結構,能對由特征提取部分輸出的3 個維度特征圖進行融合,并對每個輸出都有一定的側重,可對不同尺度的目標有更好的檢測效果。不同于以往的YOLOX 系列模型,在最后的預測部分,YOLOX-s模型采用解耦式的預測頭結構,這種結構雖然會略微增加一點計算復雜度,但能大大提升模型的檢測準確率。
對于在特征提取部分的空間金字塔池化模塊(SPP),盡管能夠讓特征以一個固定的維度輸出且不失真,但每一次的池化都需要依靠上一次來完成,這會減緩模型的檢測速度。另外,在模型的特征融合部分,所用的普通卷積無疑加大了模型的參數(shù)量,而且YOLOX 所用的GIoU 損失函數(shù)考慮的邊界框幾何因素不全面,這使模型在檢測準確率上存在提升空間。
以降低模型參數(shù)量、提升算法檢測準確率和檢測速度為目標,制訂改進方案:第一步,對模型的特征融合部分進行輕量化改進,用分組交互卷積模塊(GSConv)[20]和由分組交互模塊搭建成的分組交互-交叉階段偏置層(VoV-GSCSP)分別替換特征融合層中的普通卷積模塊和交叉階段偏置層;第二步,在特征提取和特征融合層之間插入高效通道注意力機制(ECA)[21];第三步,在特征提取層最后一個交叉階段偏置網(wǎng)絡層中,引入快速空間金字塔池化結構(SPPF)[22];最后,將模型原本的邊界框損失函數(shù)GIOU替換為EIoU[23]。
通過目標檢測算法的評價指標作為遴選算法和衡量算法改進前后模型性能提升的評價標準,首先從2 種無錨框算法(CenterNet 和YOLOX)中遴選出合適改進的算法,然后通過分析基準算法對模型進行輕量化改進,提升檢測準確率和檢測速度,最后驗證模型對東北虎的檢測效果。
采用均值平均準確率(mean of average precision,mAP)來評估模型的性能,該指標計算了數(shù)據(jù)集中所有類別的平均精度。同時,采用mAP0.50(%)和mAP0.75(%)2 個閾值來評估模型的檢測精度,閾值越高說明對模型的性能要求越嚴格;采用衡量檢測速度的指標——每秒處理的圖片數(shù)(frame per second,F(xiàn)PS)來衡量目標檢測算法的速度。為了能讓算法支持邊緣計算,加入了模型的總參數(shù)量作為模型的評價標準,用來衡量模型的大小。
試驗使用的硬件環(huán)境為英特爾i5 12400f的中央處理器和英偉達GeForce RTX 3060 的GPU,軟件環(huán)境為python 3.10,操作系統(tǒng)為Windows10。分別使用CenterNet 和YOLOX-s 網(wǎng)絡模型對東北虎數(shù)據(jù)集進行評價分析,采用學習率衰減,初始學習率為0.01,經(jīng)過300次迭代,訓練結果見表1。
表1 無錨框算法訓練結果Tab.1 Training results of anchor free algorithm
由表1 可知,YOLOX-s 算法無論在檢測準確率還是檢測速度方面,都更適合東北虎數(shù)據(jù)集,且YOLOX 的模型總參數(shù)量為8.938×106,約為Center-Net的27.36%,這是由于YOLOX 算法所用的特征提取網(wǎng)絡相較于CenterNet 算法能夠有效減少重復梯度的學習,使網(wǎng)絡的學習能力得到大幅提升。因此,對YOLOX算法進一步改進。
將所設計的改進方案應用到YOLOX-s 算法上,得到模型改進結果如表2所示。
表2 YOLOX模型改進訓練結果Tab.2 Training results of the improved YOLOX model
第一步輕量化改進后,模型的mAP0.50從97.32%提升到97.75%,提升了0.43 個百分點,mAP0.75從75.10%提升到75.79%,提升了0.69 個百分點;檢測速度從87.59張/s提升到88.46張/s,提升了0.87 張/s;模型總參數(shù)量由8.938×106降低 到7.287×106,降低了18.47%。這是由于分組交互卷積模塊相比于深度可分離卷積(DWConv)多了一個特征交互操作,這一步驟使得原本無法交互信息的深度可分離卷積獲得了特征交互的能力。同時,特征圖本身可能存在一些冗余特征,導致模型變得龐大且運行緩慢。然而,當特征圖經(jīng)過普通卷積和分組交互卷積處理后,產(chǎn)生的新特征圖之間的差異并不顯著,更重要的是,經(jīng)過分組交互卷積處理的特征圖突出了重要信息,使其更加緊湊。所以,分組交互卷積的替換既降低了模型的總參數(shù)量,提升了檢測速度,又能讓模型的檢測準確率有所提高。
經(jīng)過500 次迭代學習,第二步加入注意力機制后,mAP0.50從97.75%提升到97.94%,提升了0.19個百分點;mAP0.75從75.79%提升到76.04%,提升了0.25 個百分點。高效通道注意力機制能夠使模型賦予有用的東北虎相關特征以高權值,賦予無用的背景信息以低權值,這樣能使網(wǎng)絡更加專注于有用的信息。
第三步,引入快速空間金字塔池化結構(SPPF)替換金字塔結構后,在參數(shù)量不變的情況下,mAP0.50雖然降低了0.07 個百分點,但mAP0.75從76.04%提升到76.57%,提升了0.53 個百分點;檢測速度從88.57 張/s 提升到89.67 張/s,提升了1.10 張/s。這是由于SPPF相較于YOLOX中SPP,每一次最大池化都是在前一步已經(jīng)池化的基礎上再進行下一步池化,所以SPPF 在參數(shù)量相同的情況下,檢測速度要快于SPP結構。
最后,替換為EIoU后,模型mAP0.50由97.87%提升到98.34%,提升了0.47 個百分點;mAP0.75由76.57%提升到76.63%,提升了0.06 個百分點。由于EIoU 損失函數(shù)在整個模型中充當邊界框損失函數(shù),能考慮到預測框和真實框之間的重疊面積、中心點距離以及長寬比3 個幾何因素,因此提高了檢測準確率。改進后的YOLOX-s結構如圖3所示。
圖3 改進YOLOX-s模型的最終結構Fig.3 Final structure diagram of the improved YOLOX-s model
為了驗證算法改進是否有效,進行了4次300輪迭代的消融試驗(表3),去除任何模塊后YOLOX-s的性能均有所下降,表明改進后的YOLOX-s性能得到了顯著提升。在關于EIoU 的消融試驗中,雖然除去EIoU后的檢測速度有所提升,但mAP0.50和mAP0.75均有所降低,這也能證明EIoU損失函數(shù)引入的有效性。
表3 YOLOX-s算法的消融驗證試驗Tab.3 Ablation validation test of YOLOX-s algorithm
相較于改進前,改進后的模型性能在檢測準確率、檢測速度和模型總參數(shù)量方面均有較大提高。為了驗證模型的實際檢測效果,對測試集東北虎圖像進行檢測,部分檢測效果如圖4、圖5所示。
圖4 改進前(A)后(B)模型在測試集上的檢測效果(臨近水源的空曠地帶)Fig.4 Comparison of detection performance using un-(A)and improved(B)models on test dataset(in open area near water source)
圖5 改進前(A)后(B)模型在測試集上的檢測效果(光線較暗的樹林中)Fig.5 Comparison of detection performance with un-(A)improved(B)models on test dataset(in wood under low light condition)
無論東北虎是處于臨近水源的空曠地帶,還是處于光線較暗的樹林中,改進后的YOLOX-s 模型均可將東北虎全部檢測出來。通過比較改進前后的模型檢測效果,發(fā)現(xiàn)改進后算法檢測出的東北虎置信度較高,特別是在多只虎聚集時和在有光線干擾的情況下,且其生成的檢測框相較于改進前能夠更貼合東北虎的輪廓,不會出現(xiàn)圖5(A)中生成框和被檢測東北虎重疊的情況。
本研究以東北虎作為檢測對象,首先分析了目標檢測算法中的錨框算法和無錨框算法,對比得出無錨框算法更適合東北虎檢測。再從無錨框算法中遴選出YOLOX-s 算法,引入了注意力機制,增加模型對東北虎信息的權重,以提升模型的檢測準確率,并采用快速空間金字塔池化結構,優(yōu)化模型特征提取部分的推理過程,改進損失函數(shù),以提升模型的檢測速度。改進后的模型,mAP0.50為98.34%,準確率提升1.02 個百分點;mAP0.75為76.63%,準確率提升1.53個百分點;檢測速度為89.33張/s,提升1.74張/s。
近年來,研究人員將基于人工智能技術開發(fā)的高效圖像自動識別、檢測模型不斷運用到動物圖像物種自動識別以及快遞評估中,這大大提高了動物相關數(shù)據(jù)的收集效率,縮短了對動物相關研究的科研周期。如Tabak 等[24]對駝鹿(Alces alces)、野豬(Sus scrofa)等野生動物的平均識別準確率能夠達到97.6%;也有研究借助深度神經(jīng)網(wǎng)絡實現(xiàn)對東北虎個體的自動識別[25],其識別的平均準確率(臉部、左側和右側軀干條紋)達到92.37%;還有通過拍攝東北虎的紅外熱圖像,通過改進YOLOv5 算法對東北虎及其食物鏈進行識別的研究[26],識別準確率達到93.2%;也有使用ATRW 數(shù)據(jù)集,采用SSDlite算法實現(xiàn)對東北虎物種檢測的研究[27],其檢測準確率(mAP0.50)為95.5%,而本研究中,改進后的算法在mAP0.50指標上超過了該結果2.84 個百分點,充分展現(xiàn)了改進后算法的性能優(yōu)勢。此外,改進后的目標檢測算法的檢測速度能達到89.33張/s,遠快于人工處理速度。通過檢測效果可以看出,改進后的YOLOX-s算法在被檢測目標有低照度和相互遮擋聚集行為的干擾條件下,均有良好的處理能力。
本研究不足之處在于東北虎樣本量較少。為了解決此問題,在今后的研究中應對東北虎數(shù)據(jù)集進行擴充,并將其與ATRW 數(shù)據(jù)集進行合并用于訓練。數(shù)據(jù)擴充措施將顯著提高模型對東北虎野外行為的檢測效果。
本研究通過對YOLOX-s 算法進行改進,得到一個輕量化模型,可將該模型應用于邊緣計算設備上。新模型結合人工智能和智能傳感設備,可以實現(xiàn)對野外東北虎行為數(shù)據(jù)的準確、快速檢測收集,從而更好地了解東北虎的生態(tài)習性和行為習慣,為保護東北虎提供科學依據(jù)。在未來的研究中,擴充東北虎檢測數(shù)據(jù)集,進一步提升模型的檢測性能,結合4G通信技術、網(wǎng)絡信息技術和“3S”技術,進一步優(yōu)化邊緣設備的檢測功能,以實現(xiàn)云存儲與可視化分析,將有助于增強物種、個體和行為等方面的智能識別精度,并提高大數(shù)據(jù)的處理效率,為大型野生動物的自然保護區(qū)體系建設提供完善的科技支撐。