編者按在電力行業(yè)中,異常危險行為報警對于防范安全事故至關(guān)重要。傳統(tǒng)人工視頻監(jiān)控方法需耗費大量人力,且存在準(zhǔn)確度低與實時性較差的問題。近年來,基于圖像的人體行為識別算法研究成為熱點,相關(guān)技術(shù)逐步在醫(yī)療、安防、人機交互等領(lǐng)域得到應(yīng)用。這些為行為識別算法在電力行業(yè)中的應(yīng)用,為開展電力人員異常行為監(jiān)測提供了可能性。《中國電力》2023年第11期刊發(fā)了周震震等人撰寫的《基于分組查詢注意力的可擴展電力人員行為分類方法》一文。文章提出了一種基于姿態(tài)估計和Transformer的編碼器解碼器架構(gòu)的行為識別算法,構(gòu)建基于深度學(xué)習(xí)的人體姿態(tài)估計模型,根據(jù)姿態(tài)估計結(jié)果輸入基于Transformer的行為分類模型并判斷人員行為。電力人員行為識別是電力系統(tǒng)安全運維的重要環(huán)節(jié),現(xiàn)有的人員行為識別算法主要采用支持向量機和多層感知機進行行為分類,存在識別精度低、未考慮人體骨架之間交互關(guān)系、遷移性、通用性差等問題。針對上述問題,提出一種基于自注意力與交叉注意力機制的行為分類解碼器,充分考慮了人體骨架之間的關(guān)聯(lián)。其分類精度相比傳統(tǒng)分類方法提升10%~20%,較深度學(xué)習(xí)多層感知機(multilayer perceptron,MLP)分類方法提升2%以上。該方法運用編碼器-解碼器架構(gòu)的二階段方法進行行為識別,使得解碼器可以適用于任意姿態(tài)估計,網(wǎng)絡(luò)后端具有很強的可擴展性。此外,采用分組解碼的方式克服了注意力機制帶來的二次方復(fù)雜度,使得該解碼器可以擴展到更多行為類別,具有更好的普適性。該行為識別算法能夠在基于變電站工作場景下的人員圖像數(shù)據(jù)集驗證中達(dá)到優(yōu)異的識別效果,綜合識別率達(dá)91.1%,驗證了所提電力人員行為分類方法的有效性和適用性。
本文所提出的基于姿態(tài)估計的行為分類方法,其通用性主要表現(xiàn)在2個方面:一是第1階段算法的可擴展設(shè)計;二是行為識別類別的可擴展設(shè)計。一方面,由于整體算法結(jié)構(gòu)可以認(rèn)為是2階段網(wǎng)絡(luò)結(jié)構(gòu),而第1階段可以選用任意姿態(tài)估計算法,將其輸出按照特定形式輸入本文提出的行為分類模型即可實現(xiàn)人員行為識別,無須對其進行復(fù)雜的改進,從而有效避免算法實現(xiàn)過程煩瑣的問題。同理,第2階段算法也可使用行人重識別等特征提取網(wǎng)絡(luò),使用本文分類方法也可完成行為分類任務(wù)。另一方面,在方法應(yīng)用驗證方面,本文主要以電力人員行為識別為例,實現(xiàn)了若干電力場景下的人員行為的準(zhǔn)確識別,但實際上該行為分類方法可以通過在各類行為數(shù)據(jù)集上訓(xùn)練來適應(yīng)更多類別的行為識別任務(wù)。因此,其行為識別方法本身在應(yīng)用領(lǐng)域方面具有可擴展性。除電力人員安全管控外,城市安防監(jiān)控、人機交互等多個領(lǐng)域也是本文所提算法的潛在應(yīng)用場景。在圖像領(lǐng)域中獲取全局感受野可以幫助提取更有表征意義的特征,自注意力機制的核心是捕捉全局的信息來獲得更大的感受野,但注意力機制的缺點也很明顯,隨著輸入序列長度的增加呈現(xiàn)二次復(fù)雜度O(n2)為

式中:n為序列長度;d為每個頭的維度;h為頭的數(shù)量。為了解決行為分類解碼器(BC-Decoder)的計算復(fù)雜度隨著行為分類的增加呈現(xiàn)二次方增長,本文提出了分組解碼算法以減少參數(shù)量和計算量。在全解碼中,一個查詢對應(yīng)一個行為類別,而在分組解碼中,一個查詢通過仿射變換和池化操作對應(yīng)若干個行為類別。通過分組解碼操作,提出的行為解碼器和行為類別之間呈現(xiàn)線性復(fù)雜度,在一些需要實際落地的應(yīng)用場景中有較大的優(yōu)勢(如邊緣終端)。同時,在一些行為類別較多且類別之間差異較小的場景中,本文所提的行為解碼器相比傳統(tǒng)行為分類方法有更大的優(yōu)勢,通過注意力機制重點關(guān)注不同身體關(guān)節(jié)點之間的相互關(guān)系以提高算法識別精度。
本文的整體網(wǎng)絡(luò)采用Encoder(編碼器) + Decoder(解碼器) 架構(gòu)。如圖1所示,Encoder可以是任意姿態(tài)估計網(wǎng)絡(luò),Decoder部分即本文提出的BC-Decoder。Encoder部分編碼出圖片中所有人員的關(guān)鍵點特征向量,輸入BC-Decoder后,其通過自注意力與交叉注意力機制將特征向量解碼出人員的行為類別。

Fig.1 Overall structure of the algorithm
本文受到DETR基于查詢的設(shè)計范式啟發(fā),允許設(shè)置可學(xué)習(xí)的查詢,每個查詢解碼一個不同的行為類別。為了進一步降低解碼器的復(fù)雜性,采用了分組解碼的方法。這種設(shè)計選擇有利于實現(xiàn)更高效和有效的解碼過程。因為所使用的查詢數(shù)量可以調(diào)整到較低的數(shù)量以減少計算時間和內(nèi)存使用,使BC-Decoder成為實時應(yīng)用的合適選擇。此外,可學(xué)習(xí)的查詢允許BC-Decoder不斷適應(yīng)輸入數(shù)據(jù)的變化,并隨著時間的推移提高其準(zhǔn)確性。學(xué)習(xí)的查詢,每個查詢解碼不同的行為類別。
2.1 網(wǎng)絡(luò)結(jié)構(gòu)姿態(tài)估計任務(wù)具有位置敏感性,為了獲得更精準(zhǔn)的位置信息,算法需要得到高分辨率特征,很多網(wǎng)絡(luò)使用下采樣得到語義信息后上采樣回復(fù)位置信息的做法,但這樣會丟失大量的有效信息。HRNet采用了多層分辨率分支并行計算的方法,并且在不同分支中跨分辨率連接進行特征交流,同時維持強語義信息和位置信息,使得預(yù)測熱圖在空間上更準(zhǔn)確。其網(wǎng)絡(luò)可分為基部(stem)、主體(backbone)、回歸頭(head)3個部分。基部將原圖分辨率縮小到1/4原圖大小,減少后續(xù)的計算量;回歸頭則將最后一個階段得到的各個特征融合轉(zhuǎn)化成需要的輸出形式;而主體又分為階段層和過渡層,用于提取特征。階段層(stage)主要起到圖像特征提取和多特征融合作用。特征提取模塊使用殘差連接結(jié)構(gòu),重復(fù)4次,以便更充分地提取特征。多特征融合則由最近鄰上采樣和卷積下采樣實現(xiàn)。過渡層(transition)在原有分支基礎(chǔ)上增加下采樣分支。對已有的特征圖進行卷積下采樣操作,進一步得到具有更豐富語義信息的特征圖。
多個階段層級聯(lián)能夠更好地獲得全局和局部的信息。為保持參數(shù)量和精度的平衡,本文將HRNet網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置4個階段層和3個過渡層,其網(wǎng)絡(luò)主要部分結(jié)構(gòu)如圖2所示。

Fig.2 Structure of the HRNet
與其他深度學(xué)習(xí)算法類似,損失函數(shù)為均方誤差損失。預(yù)測的是熱力圖,如果直接使用數(shù)據(jù)集中的單個真實標(biāo)記點(ground truth,GT)進行計算,會由于負(fù)樣本過多導(dǎo)致訓(xùn)練難以收斂,因此需要對GT作二維高斯分布擴展成GT熱力圖。由于不同關(guān)鍵點預(yù)測難度不同,在計算總損失的時候需要對不同關(guān)鍵點取對應(yīng)的權(quán)重進行計算。
本文實現(xiàn)電力人員行為識別的整體思路為采用姿態(tài)估計算法結(jié)合相應(yīng)的分類方法?,F(xiàn)有研究采用的方法可分為基于傳統(tǒng)方法的分類方法和基于深度學(xué)習(xí)的分類方法。前者存在明顯的準(zhǔn)確率低及參數(shù)依賴性高的缺點,而后者僅停留在采用MLP作為分類模塊進行方法設(shè)計,難以達(dá)到理想效果。本文采用基于注意力機制和轉(zhuǎn)換器(Transformer)的分類方法,參考DETR在目標(biāo)檢測任務(wù)中對查詢模塊(query)的使用方式,設(shè)計了基于query的行為分類解碼器。該解碼器主要依賴于多頭注意力模塊,而每個模塊有3個輸入:查詢向量Q、分組鍵向量K、查詢值向量V。注意力操作可定義為

式中:QKT為查詢向量和鍵向量的點積;dk為向量的維度;fs表示Softmax函數(shù)。

式中:為可學(xué)習(xí)轉(zhuǎn)換矩陣,fc表示多個特征的拼接,得到結(jié)果MHA(Q, K,V)即多頭注意力輸出。BC-Decoder的結(jié)構(gòu)如圖3所示,模塊有2個輸入,空間嵌入張量E和一組N個可學(xué)習(xí)的Query Q,每一個查詢分別對應(yīng)一個行為類別。BC-Decoder通過4個連續(xù)的階段處理模塊的輸入,分別為自注意力模塊(self-attention)、交叉注意力模塊(cross-attention)、前饋層(feed-forward network,F(xiàn)FN)和序列池化層(token-pooling)。其中,F(xiàn)F為前饋全連接層。另外,標(biāo)記池階段是在序列嵌入的維度D上進行簡單的池化,以產(chǎn)生N個輸出。

圖3 BC-Decoder結(jié)構(gòu)
Fig.3 Structure of the BC-Decoder
一個查詢往往對應(yīng)一個行為類別,但在一些極端行為分類場景下,類別數(shù)量較多。隨著類別數(shù)量的增加,具有二次復(fù)雜度的解碼器將會消耗大量計算資源,并可能會使模型性能受限。為了減少模型的二次復(fù)雜度,本文提出了分組解碼方法,具體而言,使用交叉注意力模塊和前饋全連接層,并固定分組查詢數(shù)量M,在前饋全連接層之后,通過仿射變換層將分組查詢轉(zhuǎn)換為輸出分類。2)沿著嵌入維度池化。定義分組因子g=N/M,那么仿射變換層產(chǎn)生的輸出是logitsLi,即
式中:為第k個查詢矩陣;第k個可學(xué)習(xí)的轉(zhuǎn)換矩陣,仿射變換層結(jié)構(gòu)如圖4所示。

Fig.4 Affine layer and pool layer (g= 4)
本文方法的可擴展行為分類解碼器可用如式(7)~(10)所示,其中,Gq為輸入分組查詢數(shù),SA表示將Q1、Q2、Q3通過式(2)(3)得到多頭注意力結(jié)構(gòu)的輸出;CA表示Gq、E、E經(jīng)過多頭注意力機制的輸出。FF表示Gq1在網(wǎng)絡(luò)中的前向傳播得到Gq2,GMP表示對Gq2分組進行池化,得到輸出結(jié)果L。

觀察式(7)~(10)可知,可擴展行為分類解碼器有以下特點。1)當(dāng)g=1時,稱為全解碼,這意味著每個查詢對應(yīng)一個行為類別;對應(yīng)的當(dāng)g≠1時,稱為分組解碼,這意味著每個查詢對應(yīng)幾個行為類別。本文選擇將行為分類隨機地分成幾組。2)就計算復(fù)雜度而言,放射變換層計算量等于全連接層,池化層計算量是N×D次乘法,可見兩者的計算量都與分類類別數(shù)N呈現(xiàn)線性關(guān)系。
3)本文所提解碼器計算量主要來自自交叉注意力模塊,因為交叉注意力模塊會在2個不同的輸入序列之間進行注意力計算??梢詫⒕幋a器的輸出空間池化到固定的大小,用來減少圖片尺寸對計算復(fù)雜度的影響。
本文采用預(yù)訓(xùn)練微調(diào)的方式對整體行為識別算法進行訓(xùn)練。具體來說,姿態(tài)估計算法部分即Encoder部分本文采用COCO2017公開數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù)集。MSCOCO數(shù)據(jù)集為姿態(tài)估計的主流數(shù)據(jù)集,其中包括豐富的具有單/多人、大中小目標(biāo)的圖像,相關(guān)研究都將其作為訓(xùn)練和測試數(shù)據(jù)集使用。
BC-Decoder部分,本文主要基于私有數(shù)據(jù)集進行訓(xùn)練。該數(shù)據(jù)集以變電站等電力場景為主,共有12510張樣本圖片,包含多種室內(nèi)外場景、多種人員工作姿態(tài)(攀爬、跨越、打電話、倒地、托舉),不同人數(shù)分布(單人、多人)等情況,以模擬實際現(xiàn)場的多種場景,私有數(shù)據(jù)集樣本數(shù)量如表1所示。
表1 私有數(shù)據(jù)集樣本數(shù)量Table 1 Number of private data set samples
4.2 實現(xiàn)細(xì)節(jié)
本文所提方法的試驗環(huán)境配置基于以下平臺條件:Intel Xeon Gold 6242R處理器(內(nèi)存754 GB)、單張NVIDIA A100(顯存80 GB),Ubuntu18.04操作系統(tǒng)和PyTorch深度學(xué)習(xí)框架。在預(yù)訓(xùn)練階段,訓(xùn)練編碼器解碼器不加入訓(xùn)練,訓(xùn)練輸入圖片大小為384像素×288像素,batch size大小為24,采用Adam優(yōu)化器,初始學(xué)習(xí)率設(shè)置為1×10–3,學(xué)習(xí)率的調(diào)整方式為MultiStep,下降點為170和200,下降率設(shè)置為0.1,一共訓(xùn)練了210個周期。在微調(diào)階段,固定編碼器僅訓(xùn)練解碼器,學(xué)習(xí)率設(shè)置為1×10–5,學(xué)習(xí)率的調(diào)整方式為余弦退火,batch size大小為128,權(quán)重衰減為1×10–8,一共訓(xùn)練30個周期,其余超參數(shù)均與預(yù)訓(xùn)練階段相同。
數(shù)據(jù)增強通過創(chuàng)建新的訓(xùn)練樣本來擴大現(xiàn)有數(shù)據(jù)集的大小,以提高模型的準(zhǔn)確性,可以有效地防止過擬合,并且可以讓模型更好地泛化,從而使算法在實際應(yīng)用中更加準(zhǔn)確和可靠。本文使用了隨機角度水平翻轉(zhuǎn)、改變亮度、改變對比度、改變飽和度等方法對原始圖像以0.5的概率進行數(shù)據(jù)增強,其中,圖像的亮度、對比度、飽和度分別在一定的變化區(qū)間內(nèi)隨機以一定的倍數(shù)進行變化,具體增強方式如表2所示。
表2 不同數(shù)據(jù)增強方法的設(shè)置Table 2 Settings for different data enhancement methods

實驗對比的分類模型涉及傳統(tǒng)機器學(xué)習(xí)算法KNN和SVM,深度學(xué)習(xí)算法MLP和本文提出的可擴展行為分類解碼器BC-Decoder。其中,所提BC-Decoder采用HRNet-W48作為姿態(tài)估計的骨干網(wǎng)絡(luò)對常見電力人員的5類行為識別準(zhǔn)確率混合矩陣Top1精度如圖5所示。從分類精度來看,所提的BC-Decoder容易識別出倒地(falling)和跨越(crossing)2個類別,從圖6的可視化效果圖來看也驗證了這點,2個骨架相對其他類別具有明顯的特征;對于打電話(calling)和托舉(carrying)這類容易混淆的行為上精度會稍微降低,但相對傳統(tǒng)分類算法和基于深度學(xué)習(xí)算法,所提的BC-Decoder方法均達(dá)到了最佳的行為識別準(zhǔn)確率。

Fig.5 Mixed matrix of behavior recognition accuracy
圖6

Fig.6 Power personnel behavior recognition effect
為了證明所提方法在行為分類任務(wù)上的優(yōu)越性,對不同的Encoder和Decoder進行了消融實驗。從表3中可以看出傳統(tǒng)分類方法KNN和SVM在行為識別速度上有較大優(yōu)勢,但分類精度上相比深度學(xué)習(xí)方法低10%~20%;在深度學(xué)習(xí)分類方法中,本文提出的BC-Decoder相比MLP在精度更加突出,同時得益于分組解碼的設(shè)計方法,參數(shù)量和計算量和MLP并相差不大。
Table 3 Comparative experiment results of different algorithms

本文從電力人員行為安全管控的現(xiàn)實應(yīng)用需求出發(fā),提出了一種基于姿態(tài)估計和注意力機制電力人員行為分類方法及相應(yīng)的行為識別算法,該方法具有良好的可擴展性。相比傳統(tǒng)人員行為分類方法,如SVM、MLP等,本文所設(shè)計的基于Query解碼器BC-Decoder能夠結(jié)合姿態(tài)更精確地分析人員行為。而通過在解碼端采用的分組解碼方式,在保持相當(dāng)速度的基礎(chǔ)上,識別準(zhǔn)確度也得到了有效提升。同時,本文還設(shè)計了人員行為識別算法整體結(jié)構(gòu)與實現(xiàn)流程,得益于Encoder + Decoder網(wǎng)絡(luò)架構(gòu),所提BC-Decoder可適用于任意姿態(tài)估計算法,具有很強的通用性。通過實驗對比分析,證明了本文所提方法的有效性。
注:本文內(nèi)容呈現(xiàn)略有調(diào)整,如需要請查看原文。