王旭 羅鐵堅 楊林
1.北京信息科技大學,北京 100096;2.中國科學院大學計算機科學與技術學院,北京 100854;3.北京計算機技術及應用研究所,北京 100039
野生動物是生態系統的重要組成部分,不能很好地保護瀕危野生動物會導致生態系統不平衡,并影響環境[1]。對野生動物進行保護這一任務依賴于對野生動物的地理空間分布和健康狀況的準確監測,特別是在野生動物棲息地逐漸減少的情況下。傳統的將發射器連接到野生動物身上的方法容易出現傳感器故障并且很難擴展到大型種群中。傳統的野生動物監測方法需要進行“足跡判定、花紋判別、DNA 鑒定”[2]等操作,這需要對大量數據進行統計與分析。計算機技術迅猛發展,同時無人機或相機[3]可以大量收集視覺數據,使得計算機視覺技術成為一種很有前途的野生動物監測方法。因此,近些年研究人員逐漸把計算機視覺技術應用在對野生動物的保護和監測上,例如拉毛措等人[4]提出了高原野生動物物種檢測算法。K?RSCHENS M 等人[5]設計了一種野生大象的重識別方法。LI SHUYUAN 等人[6]制作了一個東北虎的關鍵點檢測和重識別任務的數據集ATRW。于慧伶等人[7]基于ATRW 數據集設計一個了對東北虎的重識別方法。
關鍵點檢測任務的目標是根據圖像預測人的關鍵點位置,進而重建人體的關節,在人機交互、行人重識別等方向有著重要作用。關鍵點檢測是一種基于目標檢測算法并應用在關鍵點的信息捕捉上的智能算法,具有能將空間中的信息通過攝像頭轉化為可量化處理的數據信息的功能。隨著深度卷積神經網絡在關鍵點檢測任務中的應用,檢測精確度也在逐步提升。
本文在關鍵點檢測算法研究的基礎上進一步研究野生動物的關鍵點檢測問題,使野生動物關鍵點檢測具有更高的準確度。本文的貢獻如下:
(1)首次在野生動物關鍵點檢測任務中使用Transformer 模型捕捉野生動物各個關鍵點的依賴關系,充分利用全局信息和局部信息進行關鍵點預測;
(2)引入SGE 注意力模塊,設計新的BasicBlock,改善提取特征的空間分布;
(3)提出一種多分辨率融合方法,在特征融合前通過空間注意力對特征進行權重分配,從而獲得更豐富的融合特征。
經過實驗驗證,所提方法在ATRW 數據集上的平均準確率與基線方法相比提高了1 個百分點。
2D 人體關鍵點檢測也稱為人體姿態估計。作為計算機視覺的一個基礎任務,人體關鍵點檢測可應用在動作識別、行為分析等任務中。單人姿態估計和多人姿態估計是人體關鍵點檢測的兩大主要任務。
單人姿態估計[8]針對圖像中只有一個人的情形。文獻[9]首先將CNN 應用到人體關鍵點檢測任務中,文獻[10]在CNN 的基礎上引入了馬爾科夫隨機場來進行關鍵點檢測,并把關鍵點以熱圖的形式顯示出來。TOMPSON J 等人[11]在文獻[10]的模型中引入了多分辨率輸入,使模型的檢測準確度得到提高。SUN K 等人[12]設計了高分辨率網絡(High-Resolution Network,HRNet)在關鍵點檢測任務中達到了當時最好的效果。
多人姿態估計的模型也可以應用到單人姿態估計任務中,其姿態估計方法主要有兩種:一種是先檢測出圖中的每一個人,再對其中每個人進行關鍵點檢測(自頂向下的方法);另一種是先把圖片中所有的關鍵點檢測出來,再判斷檢測出的關鍵點具體屬于哪一個人(自底向上的方法)。
ASHISH VASWANI 等人[13]設計的Transformer 模型在自然語言處理方向得到廣泛應用。近幾年,Transformer 模型在視覺任務中展現出很強的活力,DETR[14](Detection Transformer)、ViT[15](Vision Transformer)、SETR[16](Segmentation Trans-former)分別將Transformer 模型應用到目標檢測、圖像分類和語義分割任務中。YANG S 等人[17]將Transformer 引入到人體關鍵點檢測任務中,使用Transformer 的自注意力機制來捕捉各個關鍵點的依賴關系。本文對文獻[17]的網絡進行了改進,將其應用在野生動物關鍵點檢測的任務中。
注意力機制已經成熟應用在自然語言處理和計算機視覺領域。注意力機制可以通過分配權重來提高對高效信息的關注度,如通道注意力[18]通過對不同通道進行權重賦值來實現通道的注意力分配,空間注意力[18]通過對不同特征的權重賦值來提高對目標區域的關注度。
網絡整體結構如圖1 所示,本文用CNN 網絡來提取野生動物的特征,將提取的特征進行序列化和位置嵌入,輸入到Transformer 模型中得到關鍵點的依賴關系,最后通過一個MLP(Multi-Layer Perceptron)層預測關鍵點的熱圖。在訓練時使用均方差函數作為損失函數。
2.1.1 數據處理
與傳統Transformer 模型不同,在本文的模型中并未使用解碼結構。研究的目的是得到野生動物各個關鍵點之間的依賴關系,因此不需要進行解碼輸出。網絡的輸入圖像為I∈R3×HI×WI,經過CNN 網絡的處理得到維度為d的Xf∈Rd×H×W特征圖,然后將特征圖展平為一個序列X∈RL×d(L=H×W),把X中的向量xi∈Rd(i=1,2,3,…,L)命名為Token。

2.1.2 位置嵌入PE(Positional Encoding)
Transformer 需要對輸入序列X進行位置嵌入,從而獲得序列的相對位置和絕對位置(相對位置指Token 之間的距離,絕對位置指Token 在序列中的位置),采用正余弦函數公式(1)~(4)得到位置嵌入向量。由于sin 和cos 函數在不同維度上(i表示維度)函數周期不同,在同一方向上(如x方向),根據pos和i的變化可以產生唯一的函數取值組合,從而產生唯一的位置信息,并且,sin 和cos 函數的值域為[-1,1],能夠很好限定嵌入向量中值的大小,使訓練過程更加穩定。

其中,i=0,1,2,…,d/2-1——維度;
posx、posy——x和y方向上的位置,然后將其轉換成RL×d的形式后加入到輸入序列X中,得到Xp。
2.1.3 自注意力機制
自注意力計算過程如圖2 所示,由Xp∈RL×d經過投影得到Q、K,由X∈RL×d經過投影得到V,如公式(5)~(7)所示:

其中,Q——Query 矩陣;
K——Key 矩陣;
V——Value 矩陣;
WQ、WK、WV∈Rd×d——隨機初始化的權重矩陣。
如公式(8)所示,將Q和K進行內積運算后除以,經過Softmax 函數處理得到自注意力權重矩陣,權重矩陣乘以V得到自注意力計算結果Z∈RL×d。
2.1.4 預測熱圖
輸入序列X與Z經過殘差網絡求和,LN(Layer Normalization)模塊對數據進行歸一化處理后將結果傳遞到前饋神經網絡(Feed-Forward Network,FFN),再經過殘差塊和LN 模塊的處理得到當前Transformer 編碼層的輸出。整體過程可用公式(9)、(10)表示:


其中,LN 表示進行層歸一化處理,即對層中所有神經元進行歸一化(設層中有m個神經元,輸入為B={x1,x2,...,xm},則歸一化過程可用公式(11)、(12)表示,先求出均值μ和方差σ2,然后根據均值和方差求出最后以γ和β為縮放參數和平移參數進行縮放和平移,得到歸一化結果);FFN 由一個以ReLU 函數為激活函數全連接層和一個以線性函數為激活函數的全連接層組成,FFN 對應圖2 中的前饋網絡(Feed-Forward);X是未經過位置嵌入的輸入;Xt表示當前編碼層的輸出。將Xt作為下一層的輸入,經過N層的編碼層處理,最后經過一個MLP 層獲得關鍵點的預測熱圖。


其中,ε——極小值,防止分母為0。
本文以HRNet 作為Backbone 網絡,在HRNet 網絡的BasicBlock 中引入SGE 注意力機制,如圖3 所示,改進的BasicBlock 包含兩個具有相同輸出通道的3×3 卷積層,一個SGE 注意力模塊和一個殘差連接。
SGE 注意力模塊[19]按照通道維度C將特征圖分為G個Group(本文將G設置為64),每個Group 表示為X={x1,…,m},其中,xi∈RC/G(i=1,2,3,…,m)為子特征,m=H×W,完整的特征由以Group 形式分布的子特征組成。SGE 注意力機制通過在每個Group 里生成注意力因子來得到子特征的重要性,具體操作如圖4 所示。
(1)對X進行平均池化操作,經過函數Fgp(·)處理得到向量g;
(2)g與xi點乘得到ci,對ci進行標準化得到結果ai;
(3)ai經過 sigmoid 函數后,得到的結果與xi進行點乘得到。

其中,ε——極小值,防止分母為0。
使用HRNet 對圖像進行特征提取,不同分辨率表征關注的信息不同,高分辨率表征更關注局部信息,低分辨率表征更多地保留全局信息。HRNet 的融合模塊可以進行多尺度特征融合,使表征保持高分辨率的同時,擁有更豐富的特征信息。融合模塊如圖5 所示,將空間注意力模塊加在表征融合之前,使其在融合之前能夠提取更值得關注的特征信息以提高融合效果。輸入的特征經過平均池化和最大池化操作生成兩個2D圖,把兩圖拼接在一起(通道拼接),使用尺寸為7×7 的卷積核進行卷積和降維處理(降為1 維),最后經過Sigmoid 函數后生成空間注意力矩陣Ms,Ms與輸入特征點乘得到新的融合特征??臻g注意力計算方式如公式(19)所示:

其中,f7×7——卷積核尺寸為7×7 的卷積操作。



ATRW 數據集是針對野生動物東北虎的關鍵點檢測和重識別任務的數據集,東北虎的關鍵點定義如表1 所示。相較于其他野生動物關鍵點檢測數據集,ATRW數據集規模更大,注釋更詳細。在本文的實驗中,訓練集有3,609 張圖片,測試集有1,032 張圖片,驗證集有515張圖片。圖6為東北虎關鍵點的可視化分布圖。

表1 關鍵點的定義
由公式(20)計算模型準確度:

其中,TP(True Positives)——檢測正確的目標數;
FP(False Positives)——檢測錯誤的目標數。
關鍵點相似性指標OKS(Object Keypoint Similarity)定義如公式(21)所示:


其中,di——真實的關鍵點與估計的野生動物關鍵點的歐氏距離;
vi——該關鍵點是否遮擋;
s——目標尺寸;
ki——每個關鍵點的乘積常數。
使用mAP(mean Average Precision)表示檢測結果,mAP為OKS分別取(0.55,0.6,…,0.9,0.95)時所有準確度(Precision)的平均值。
本文在版本為Ubuntu18.04 的Linux 服務器上進行實驗,實驗所用的CUDA 版本為11.2,Python 版本為3.6.6,Pytorch 版本為1.10。實驗參數設置:初始學習率設置為0.0005,學習率衰減系數為0.1,訓練周期為260。
分 別 使 用AlphaPose、ResNet 和HRNet 等 網 絡在ATRW 數據集上進行野生動物關鍵點檢測,從表2 各網絡的實驗結果可以看出,本文方法的mAP 比AlphaPose、ResNet 和HRNet 的結果分別高了30.5 個百分點、14.7 個百分點和1 個百分點。實驗結果表明,本文所提出的方法有效地提升了野生動物關鍵點檢測的準確度。

表2 各網絡的實驗結果
為測試本文方法中設計的模塊對模型性能的貢獻,進行了消融實驗,表3 顯示了在ATRW 數據集上的實驗結果。從結果可以看出,本文整體網絡相較于HRNet 有1 個百分點的性能提升。進行消融實驗,加入 Trans-former 模型后,mAP 相對于HRNet 提高了0.5個百分點,在此基礎上,分別使用改進的BasicBlock和具有空間注意力的融合模塊,mAP 分別又得到0.3個百分點的提高。實驗結果證明了所提方法的有效性。

表3 消融實驗結果
在ATRW 數據集中選取了4 張圖片的測試結果進行可視化展示,如圖7 所示,圖中不同顏色的點和連線分別表示東北虎的關鍵點和關鍵點連線。從圖中可以看出,本文方法在野生動物的關鍵點檢測任務中有較好的表現,對于某些有遮擋的關鍵點也能正確識別。

本文以CNN 作為基礎框架,首次把Transformer模型應用在野生動物關鍵點檢測的任務中,同時設計了引入SGE 注意力機制的BasicBlock 和引入空間注意力機制的特征融合模塊。在ATRW 數據集上的實驗結果表明,改進的BasicBlock 在提取特征時能夠改善所提特征的空間分布,提取到更有效的特征;設計的多分辨率表征融合模塊在不同分辨率表征融合之前,能夠提取更值得關注的特征信息,獲得更好的融合效果;Transformer 模型能夠捕捉關鍵點之間的長距離依賴關系,能夠充分地利用全局信息和局部信息,從而使預測結果更準確。