馬光凱 吳 偉 劉 丹 崔永璐 鄧雯心 姜廣順*
(1.東北林業(yè)大學機電工程學院,哈爾濱,150040;2.國家林業(yè)和草原局貓科動物研究中心,東北林業(yè)大學野生動物與自然保護地學院,哈爾濱,150040;3.黑龍江東北虎林園,哈爾濱,150028)
東北虎(Pantheratigrisaltaica)是世界瀕危動物之一,也是我國一級重點保護野生動物,具有很高的保護價值。通過東北虎行為觀測可以判斷其健康狀況,在圈養(yǎng)虎舍密閉空間中,東北虎幼崽的數量較多(2~5只),幼虎目標小、相似度高,視頻影像中的個體活動人工難以分辨和跟蹤檢測。同時,母虎經常遮擋幼崽,如何自動完成圈養(yǎng)東北虎幼崽目標跟蹤是一個技術難點。因此,實現(xiàn)圈養(yǎng)幼虎的精準自動視頻影像群體跟蹤是十分必要的。目前,深度學習技術逐漸應用于動物識別領域,并取得了巨大進展[1],基于現(xiàn)有的監(jiān)控視頻并采用信息技術手段管理動物,具有使用方便、容易普及和成本低等優(yōu)點,非常適合野生動物飼養(yǎng)繁育的精細化管理。
利用監(jiān)控視頻對動物進行跟蹤需滿足實時性要求,而多目標跟蹤的速度在很大程度上取決于其檢測到目標的速度。傳統(tǒng)的目標檢測算法如背景減法[2]、幀間差分法[3]和光流法[4]無法滿足實時性的要求。目前,基于深度學習的目標檢測算法不斷成熟,該算法可劃分為One-Stage和Two-Stage[5]檢測算法兩類。One-Stage算法主要有YOLO系列算法、SSD和RetinaNet等。目標檢測算法在動物的檢測中有著廣泛的應用:于意[6]提出針對YOLOv3算法對奶山羊數據集檢測精度低的問題,在YOLOv3算法的神經網絡中增加了3個SeNet模塊,以提高網絡模型對奶山羊個體的關注度,進而提高模型的檢測精度;邢永鑫等[7]利用改進的SSD算法在養(yǎng)殖場的環(huán)境中實現(xiàn)對奶牛個體的有效識別。Two-Stage算法主要有R-CNN和Faster-RCNN等。相對于Two-Stage算法,One-Stage算法速度更快、實時性更高,而YOLOv5算法精度高于大部分One-Stage算法中的其他檢測算法。
在目標跟蹤算法方面,已經有學者研究其在動物領域中的應用。張宏鳴等[8]采用MobileNetV2用作目標檢測的骨干網絡,再結合Mudeep重識別模型實現(xiàn)了對肉牛群體的多目標跟蹤;張偉等[9]采用了基于中心點的CenterNet檢測方法并結合DeepSORT算法實現(xiàn)了對斷奶仔豬群體的多目標跟蹤,且通過對比跟蹤精度發(fā)現(xiàn)該算法優(yōu)于YOLOv4-DeepSORT模型精度?;诳柭鼮V波(Kalman filter)算法和匈牙利算法的DeepSORT能夠滿足實時跟蹤的要求,DeepSORT算法中的重識別網絡顯著改善了多目標跟蹤效果[10]。
基于深度學習的目標跟蹤算法在保證跟蹤精度的同時卻引入較大的模型參數,將模型直接部署于設備中會大量消耗設備的內存空間。本研究在DeepSORT跟蹤算法的基礎上進行改進,使用輕量級網絡作為重識別網絡。輕量級網絡主要有MobileNet[11]、ShuffleNet[12]和GhostNet[13],雖然MobileNet和ShuffleNet引入深度卷積和1×1逐點卷積方式來減少參數量,但是1×1卷積仍然會占用相當大的內存,且存在大量冗余的特征圖。GhostNet引入了一種新的模型壓縮方法Ghost模塊[13],在MobileNetV3[14]的基礎上將其Bottleneck Block替換為由Ghost模塊堆疊而成的Ghost Bottleneck,在保證網絡精度的同時舍棄了多余的1×1卷積層,不僅進一步減少了網絡的計算量,也解決了特征冗余問題。在本研究中提出了一種基于GhostNet的輕量級目標跟蹤模型,記為GhostNet-DeepSORT。
黑龍江東北虎林園位于黑龍江省哈爾濱市松北新區(qū)(45°49′ N,126°2′ E),本研究的視頻由飼養(yǎng)區(qū)虎舍內部監(jiān)控設備捕獲,攝像機位于矩形東北虎飼養(yǎng)室的天花板上并斜向下拍攝,可以捕捉飼養(yǎng)室中的絕大部分東北虎活動區(qū)域,研究對象為剛出生或3月齡前的幼崽和其母虎(圖1)。
圖1 虎舍監(jiān)控畫面
視頻拍攝于2019年7—9月,經過篩選去除了無目標和鏡頭污染等無效視頻,保留并剪輯70個有效視頻,每個視頻時長均為1 min。視頻為MP4格式,分辨率為2 560像素(水平)和1 440像素(垂直),視頻幀速率為25 f/s。
構建2個數據集分別用于訓練目標檢測模型和重識別模型。首先用FFMpeg工具將視頻文件剪輯成每段1 min的視頻片段,共計70個。對于視頻數據的標注,采用DarkLabel視頻標注軟件,批量構建目標檢測數據集和重識別數據集。
在目標檢測部分,每隔20幀圖像提取1幀圖像添加到目標檢測數據集中,共計4 986張圖片,其中訓練集圖片為3 887張,驗證集圖片為1 099張(圖2)。在重識別部分,根據Market-1501數據集[15]的格式構建東北虎重識別數據集,包含20 194張圖像,其中訓練集圖像有15 310張,測試集圖像為4 884張(圖3)。
圖2 目標檢測數據集樣例
圖3 重識別數據集樣例
圈養(yǎng)東北虎幼崽群體多目標跟蹤算法分為4個核心步驟:首先,使用目標檢測器檢測并生成檢測結果,即獲得每只東北虎幼崽的目標檢測框;其次,在所有目標框中挑出對應的目標采用重識別網絡進行特征提取,提取包括東北虎的外觀特征和運動特征;然后,計算前后幀出現(xiàn)的目標間的相似度,從而衡量前后幀目標之間的匹配度;最后,進行數據關聯(lián),為下一幀中匹配度高的目標東北虎幼崽分配上一幀相應的身份識別碼ID(圖4)。
圖4 圈養(yǎng)東北虎幼崽群體目標跟蹤
目前,主要的目標檢測算法包括R-CNN系列和YOLO系列。Faster R-CNN在兩階段目標檢測中性能表現(xiàn)較好,但是其檢測速率僅為5 f/s[16]。YOLO系列算法使用回歸的思想,檢測速度極大提升,被廣泛應用在對檢測速度要求較高的任務中。
YOLOv5是Jocher[17]在2020年6月提出最新版本的YOLO系列算法,也是目前推理速度最快、精度最高的實時目標檢測模型之一。與以前的版本不同,YOLOv5在馬賽克數據增強和自適應錨幀[18]方面進行了改進,每次訓練期間能自適應地計算訓練集中的最佳錨框的值從而提高檢測速度。在Backbone骨干網絡中,YOLOv5引入了Focus模塊減少了卷積的成本,并在Backbone和Neck中都使用了CSP[19]結構,增強了網絡的特征融合。本研究采用YOLOv5算法作為東北虎的目標檢測器,逐幀檢測視頻流,標記出1只東北虎母虎與若干東北虎幼崽在圖片中的位置信息。
DeepSORT算法[20]是當前主流的多目標跟蹤算法之一。將目標檢測的結果作為跟蹤算法輸入,通過卡爾曼濾波[21]來實現(xiàn)對當前時刻目標位置的預測。針對東北虎位置發(fā)生變化出現(xiàn)的關聯(lián)匹配[22]問題,采用匈牙利算法(Hungarian algorithm)[23]來判定前一幀的東北虎與當前幀是否為同一個目標。
此外,DeepSORT算法通過使用現(xiàn)有軌跡的運動特征和外觀特征,將每個新檢測框與現(xiàn)有跟蹤器相關聯(lián)。引入代價矩陣(cost matrix)用于表示每個檢測框與現(xiàn)有跟蹤器之間的相似度,該相似度由馬氏距離(Mahalanobis distance)和余弦距離(Cosine distance)2個度量加權而成,對于每一個檢測框,根據重識別網絡得到的特征向量和軌跡中已經存儲的特征向量,計算兩者的余弦距離。DeepSORT算法中的重識別網絡使用由卷積層和不同尺寸的殘差塊堆疊成的寬殘差網絡(wide residual network)[24],用于提取具有區(qū)分度的目標外觀特征,原模型占內存45.4 MB。
如圖5所示,東北虎幼崽重識別過程是對輸入指定的目標圖像,提取圖像中東北虎的外觀特征,在東北虎幼崽圖像數據庫中檢索與輸入圖像具有相似特征的圖像并與之匹配同一個ID編號,確保在同一只東北虎幼崽再次出現(xiàn)時能準確識別其身份。
圖5 GhostNet重識別框架
在本研究中采用GhostNet輕量級網絡替代原始DeepSORT算法中由寬殘差網絡構成的重識別網絡以減少模型占用內存。GhostNet算法主要是通過第一層卷積和由不同尺寸的GhostNet Bottleneck[13]堆疊成的Block層提取圖像特征,這些特征通過全局池化模塊進行下采樣,提高特征對圖像的表征能力,從而提高算法的性能。與傳統(tǒng)卷積算法不同,GhostNet算法通過深度卷積(deep convolution)運算生成了一些參數更少的特征圖,因此減少了模型的參數和計算量[25]。
試驗平臺主要由2部分構成,其中硬件平臺主要配置包括Intel(R) Xeon(R)Silver 4215 CPU @ 2.50 GHz和NVIDIA GeForce RTX 3090;軟件環(huán)境為所搭建的深度學習平臺,包括Ubuntu 18.04.6操作系統(tǒng)、Cuda 11.2、cudnn 8.0.4、OpenCV-python 4.5.2和PyTorch 1.8.1-GPU。
目標檢測模型通常采用準確率(precision,P)、召回率(recall,R)和平均精度均值(mean avergae precision,mAP)來評測。準確率表示在當前遍歷過的預測框中屬于正確預測邊框的比值;召回率反應該模型對東北虎檢測的覆蓋能力,即從圖片中識別出東北虎幼崽目標的比例;平均精度均值可以衡量模型的檢測性能,是對檢測的類別對應精度均值取平均。YOLOv5目標檢測模型在東北虎目標檢測數據集上的性能評估指標結果如表1所示。
表1 圈養(yǎng)東北虎幼崽目標檢測模型的評價指標
由表1和圖6可見,YOLOv5檢測模型在東北虎數據集上檢測性能良好,準確率、召回率和平均精度均值的數值較高,在訓練集和驗證集上均超過90%。
圖6 YOLOv5檢測效果
采用MOTChallenge[26]評估標準來對圈養(yǎng)東北虎幼崽群體多目標跟蹤效果進行評估,包括誤檢數(false positive,F(xiàn)P)、丟失目標數(false negative,F(xiàn)N)、多數跟蹤數(mostly tracked,MT)、多數丟失數(mostly lost,ML)、中斷數(fragmentation,F(xiàn)M)、目標ID轉變數(identity switches,IDS)、多目標跟蹤準確度(multiple object tracking accuracy,MOTA)和多目標跟蹤精確度(multiple object tracking precision,MOTP)。
圈養(yǎng)東北虎幼崽多目標跟蹤算法的性能評估選擇MOTA和MOTP作為主要的評價指標,將MT、ML、FP、FN、IDS和FM作為輔助指標進行性能評估,其中ML、FP、FN、IDS和FM數值越低代表性能越好,MT、MOTA和MOTP數值越高越好。
隨機選取6段未被用于訓練的視頻作為測試集,用于多目標跟蹤算法的性能指標的評估。將這6段視頻分別命名為MOT1、MOT2、MOT3、MOT4、MOT5和MOT6(表2)。
由表2可知,多目標跟蹤模型對圈養(yǎng)東北虎幼崽的檢出率較高,但出現(xiàn)了一些東北虎目標間隔幾幀的誤檢和漏檢的情況,原因是視頻中的東北虎幼崽存在目標偏小、頻繁遮擋和目標相似度高等情況。由于DeepSORT算法中通過提取目標的運動特征和外觀特征并引入級聯(lián)匹配的策略,視頻中的IDS數值較小,說明圈養(yǎng)東北虎幼崽目標的ID很少發(fā)生跳變。
表2 圈養(yǎng)東北虎幼崽群體多目標跟蹤評價指標
本研究提出的多目標跟蹤模型,在圈養(yǎng)東北虎幼崽跟蹤監(jiān)控視頻中有良好的性能。為了展示GhostNet重識別模型的特征提取結果,利用Grad-CAM[27]可視化方法得到東北虎熱力圖(圖7),可以看出重識別模型關注的特征主要集中在東北虎的頭部和軀干部位,這些部位的表觀特征如花紋等具有一定的區(qū)分度。跟蹤效果如圖8所示,在同一視頻的同一幀圖像中標出的目標框和對應ID可以看出模型輕量化操作前后的跟蹤準確度和精確度幾乎沒有差異。2種多目標跟蹤算法在6個測試視頻中的MOTA和MOTP指標均較高,DeepSORT平均準確度和平均精確度分別達到了91.6%和88.2%,跟蹤的準確度和精確度均較高。而經過輕量級網絡GhostNet優(yōu)化后的跟蹤算法GhostNet-DeepSORT,它的MOTA和MOTP指標分別是91.6%和89.3%,MOTA保持不變且MOTP提升1.25%,不僅保持并略微提高了跟蹤精確度,而且明顯大幅減少了模型的內存大小,內存從優(yōu)化前的45.4 MB減小到6.5 MB,減小了約85.7%的內存空間,這表明將輕量化操作后的網絡部署到設備中可以大量地減少設備的資源消耗,提高模型的性價比。
圖7 GhostNet重識別模型的可視化熱力圖
圖8 圈養(yǎng)東北虎幼崽目標跟蹤效果
跟蹤動物并分析其移動軌跡數據是一種研究動物活動狀態(tài)和個體健康狀態(tài)的有效方法。圖9展示了在2個視頻中東北虎幼崽的運動軌跡,由軌跡圖可以更直觀地了解東北虎幼崽在虎舍中的活動情況,包括它們的活動范圍、是否存在某些運動規(guī)律和個體健康狀況等。
圖9 圈養(yǎng)東北虎幼崽的運動跟蹤軌跡
本研究提出了一種基于GhostNet輕量型網絡的圈養(yǎng)東北虎幼崽群體的多目標自動跟蹤方法。在東北虎幼崽個體檢測部分,采用適宜復雜場景的輕量級檢測算法YOLOv5;在東北虎幼崽跟蹤部分,采用GhostNet輕量級網絡實現(xiàn)東北虎幼崽個體ID的重識別,結合DeepSORT多目標跟蹤算法,實現(xiàn)了深度提取特征,同時也極大地壓縮了模型占用內存。
研究表明,YOLOv5檢測模型的召回率和平均精度均值為94.9%和96.2%,在圈養(yǎng)東北虎幼崽監(jiān)控視頻數據集上表現(xiàn)出了較高的跟蹤精度和較低的身份ID變化頻率。在輕量化處理操作后的GhostNet-DeepSORT算法中,跟蹤準確度保持不變,跟蹤精確度提升了1.25%,模型占用內存從45.4 MB減小到6.5 MB,可在基本無精度損失的情況下,應用于計算力較低的設備中。最后,繪制出視頻中東北虎幼崽的運動軌跡,更直觀地展現(xiàn)其活動狀態(tài),反映種群內個體行為特征及健康狀況。
致謝:感謝黑龍江東北虎林園的領導和一線工作人員的大力支持!