姚捃, 郭志林, 趙杰
(1.成都理工大學(xué)工程技術(shù)學(xué)院, 樂山 614000; 2.核工業(yè)西南物理研究院, 成都 610000)
人體行為識別是人工智能視覺任務(wù)的重要技術(shù),在人機(jī)交互、智能安防、考場監(jiān)考、嬰幼兒看護(hù)中都有著重要應(yīng)用。
早期的行為識別基于手工提取特征的方法,利用特征描述符包括軌跡特征、梯度直方圖特征(histogram of oriented gradient, HOG)、光流直方圖特征(histogram of oriented optical flow, HOF)、混合動(dòng)態(tài)紋理特征、光流場特征、人體關(guān)節(jié)點(diǎn)特征等構(gòu)建特征空間,進(jìn)而使用機(jī)器學(xué)習(xí)的方法進(jìn)行行為的識別。
唐超等[1]提出深度圖像特征(RGB depth map,RDG-D)的人體動(dòng)作識別方法,首先獲取基于RGB模態(tài)信息的梯度直方圖特征、基于深度圖像模態(tài)信息的時(shí)空興趣點(diǎn)特征和基于關(guān)節(jié)模態(tài)信息的人體關(guān)節(jié)點(diǎn)位置特征,利用集成決策對三種提取到的特征進(jìn)行分類,在公開數(shù)據(jù)集上取得了不錯(cuò)的效果。
劉帆等[2]改進(jìn)了一種基于全局特征和局部特征的方法來實(shí)現(xiàn)人體行為識別,首先使用背景減法獲得人體運(yùn)動(dòng)區(qū)域,然后引入方向可控濾波器改進(jìn)HOG特征以增強(qiáng)局部邊緣信息,同時(shí)對加速穩(wěn)健特征進(jìn)行聚類獲得詞袋模型;最后將融合后的行為特征輸入支持向量機(jī)對行為特征進(jìn)行分類識別,在UCF Sports等數(shù)據(jù)集上獲得了先進(jìn)的性能表現(xiàn)。
張恒鑫等[3]借助OpenPose算法得到人體區(qū)域中關(guān)節(jié)點(diǎn)的二維坐標(biāo)構(gòu)建骨架模型,提取基于關(guān)節(jié)向量的多種動(dòng)作時(shí)空特征,采用KNN(K nearest neighbor)模型進(jìn)行行為識別,在Weizmann數(shù)據(jù)集上取得了不錯(cuò)的效果。
但是,由于視頻場景的復(fù)雜性、光線變化、人體遮擋等問題,以上所列舉的手工提取特征的方法嚴(yán)重依賴于手工特征提取算子的設(shè)置和具體任務(wù)的數(shù)據(jù)集分布,具有一定的局限性,漸漸被深度學(xué)習(xí)方法所替代,如卷積神經(jīng)網(wǎng)絡(luò)、快慢信息網(wǎng)絡(luò)、TSN雙流網(wǎng)絡(luò)、3D卷積神經(jīng)網(wǎng)絡(luò)、TSN雙流與長短期記憶網(wǎng)絡(luò)(long short term memory,LSTM)結(jié)合的混合網(wǎng)絡(luò)等。這些網(wǎng)絡(luò)利用深度學(xué)習(xí)強(qiáng)大的特征提取能力,從各個(gè)角度提取出行為識別所需要的人體外觀和人體運(yùn)動(dòng)的高級時(shí)空特征(如光流特征、3D時(shí)空特征),能更準(zhǔn)確地分辨行為類別。
戎輝等[4]利用卷積神經(jīng)網(wǎng)絡(luò)AlexNet對駕駛員行為狀態(tài)進(jìn)行識別,首先對駕駛員7種駕駛狀態(tài)進(jìn)行了定義,構(gòu)建了駕駛員狀態(tài)信息采集系統(tǒng),然后利用卷積神經(jīng)網(wǎng)絡(luò)和遷移學(xué)習(xí)方法進(jìn)行行為識別,同時(shí)達(dá)到了理想的準(zhǔn)確率與推理速度。齊琦等[5]提出了一種基于改進(jìn)多通道3D卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的人體行為識別方法,同時(shí)將圖片的空間信息和時(shí)間信息作為卷積神經(jīng)網(wǎng)絡(luò)的輸入進(jìn)行行為識別,在公開數(shù)據(jù)集UCF-101上取得了不錯(cuò)的效果。周鵬等[6]提出一種改進(jìn)的深度卷積神經(jīng)網(wǎng)絡(luò)模型(dynamic convolution neural network,DCNN),模型中增加了信號融合單元,并提出一種將時(shí)間序列轉(zhuǎn)換成單通道行為圖片進(jìn)行行為識別的方法,在公開數(shù)據(jù)集UCI上取得了優(yōu)于傳統(tǒng)模型的性能。何嘉宇等[7]構(gòu)建了特征金字塔層次結(jié)構(gòu)以增強(qiáng)網(wǎng)絡(luò)檢測不同持續(xù)時(shí)長的行為片段的能力,在公開數(shù)據(jù)集上獲得了先進(jìn)的識別性能。文獻(xiàn)[8-12]利用LSTM長短記憶網(wǎng)絡(luò)對于時(shí)序數(shù)據(jù)特有的敏感性,對數(shù)據(jù)之間的聯(lián)系進(jìn)行有選擇的記憶與遺忘,僅保留對識別結(jié)果有益的數(shù)據(jù),達(dá)到了良好的識別率。Ayed等[13]利用深度卷積神經(jīng)網(wǎng)絡(luò)在提取出面部姿勢、面部特征和感覺特征基礎(chǔ)上進(jìn)行了行為識別,在CK+(the extended Cohn-Kanade dataset)數(shù)據(jù)集上取得了不錯(cuò)效果。Fuentes等[14]提出了一種基于深度學(xué)習(xí)的時(shí)空信息分層牛行為識別方法,在有效提取外觀特征、時(shí)空信息和上下文時(shí)間特征基礎(chǔ)上進(jìn)行了牛行為識別,成功檢測出15種不同類型的分級活動(dòng)。Ma等[15]在RexNet基礎(chǔ)上加入時(shí)序信息,進(jìn)行了擴(kuò)展網(wǎng)絡(luò)的3D算法改進(jìn),最終在公開數(shù)據(jù)集上獲得了91.02%的準(zhǔn)確率和101.02 f/s的每秒識別幀數(shù)。
以上一些基于深度學(xué)習(xí)提取時(shí)空特征的行為識別算法存在著硬件需求過高、時(shí)效性不足、復(fù)雜場景準(zhǔn)確率偏低等問題。在很多應(yīng)用場景下不能實(shí)現(xiàn)實(shí)時(shí)識別,是這些行為識別算法并未得到有效應(yīng)用的主要原因。因此有研究者提出利用深度學(xué)習(xí)模型中多種類輸出頭的特性,在實(shí)際應(yīng)用中以構(gòu)建精準(zhǔn)的行為類別數(shù)據(jù)集為基礎(chǔ)進(jìn)行行為識別,以期達(dá)到或超越傳統(tǒng)機(jī)器學(xué)習(xí)和基于時(shí)空特征的深度學(xué)習(xí)算法的效果。
董琪琪等[16]利用SSD(single shot multiBox detector)算法,在建立聽講、睡覺、舉手、回答及寫字5種學(xué)生行為狀態(tài)數(shù)據(jù)集基礎(chǔ)上進(jìn)行了行為識別, 達(dá)到了95.4%的平均精度。王昊飛等[17]提出了一種基于注意力機(jī)制的ResNeXt模型進(jìn)行行為識別,將注意力機(jī)制嵌入ResNeXt網(wǎng)絡(luò)中,在UCF101和HMDB51數(shù)據(jù)集上分別進(jìn)行實(shí)驗(yàn),得到了95.2%和65.6%的準(zhǔn)確率。葉黎偉等[18]利用YOLOv5網(wǎng)絡(luò)結(jié)合GCT(gated channel transformation)模式利用采集的課堂視頻數(shù)據(jù)進(jìn)行了10類課堂行為的識別。竇剛等[19]利用經(jīng)典的端到端網(wǎng)絡(luò)YOLOv3,在沒有提取時(shí)序信息基礎(chǔ)上,通過改進(jìn)的網(wǎng)絡(luò)進(jìn)行了考場異常行為識別,解決了推理速度過慢的問題。陳亞晨等[20]基于改進(jìn)的YOLOv3網(wǎng)絡(luò)通過去除部分輸出檢測模塊、增加淺層網(wǎng)絡(luò)的層數(shù)以及采用K-means聚類算法選取初始先驗(yàn)框等策略進(jìn)行了眼行為的識別,達(dá)到了91.3%的識別準(zhǔn)確率。
以上研究雖然解決了特定場景中行為識別推理速度的問題,然而存在以下問題:①不能同時(shí)識別多種行為;②沒有利用大型數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí),在其他問題上擴(kuò)展性不足?;诖?,現(xiàn)提出基于人體屬性分析的考場行為識別算法,利用考場特殊場景的優(yōu)勢,在沒有光照變化、場景單一、人體上半部沒有明顯遮擋情況下,采集高清視頻圖像,進(jìn)而利用視頻處理設(shè)備解幀輸入深度神經(jīng)網(wǎng)絡(luò),進(jìn)行快速的人體檢測與人體屬性分析,再根據(jù)屬性分析結(jié)果進(jìn)行行為判別。算法采用多標(biāo)簽學(xué)習(xí)機(jī)制可以同時(shí)識別出多種行為類別;檢測網(wǎng)絡(luò)優(yōu)化為單一anchor box,進(jìn)一步提升了推理速度;使用了大型公開數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,只需稍做更改就可以擴(kuò)展到其他行為識別任務(wù)。提出的算法經(jīng)過實(shí)驗(yàn)驗(yàn)證,具有良好的擴(kuò)展性、高效性和準(zhǔn)確率。
人體檢測和人體屬性分析從本質(zhì)上講都涉及分類與定位算法,因此采用了效率與性能并重的YOLOv3來實(shí)現(xiàn)。YOLOv4和YOLOv5雖然是在YOLOv3基礎(chǔ)上進(jìn)一步改進(jìn),但都是在細(xì)枝末節(jié)上進(jìn)行的優(yōu)化,反而丟失了YOLOv3在工業(yè)界的普遍適用性。所以總體思路是將人體檢測與屬性分析作為YOLOv3網(wǎng)絡(luò)的并行化任務(wù),并對輸出向量加以修正。
在數(shù)據(jù)準(zhǔn)備階段,需要采集本地視頻數(shù)據(jù)集,篩選出視頻數(shù)據(jù)中典型的正常行為與違規(guī)行為,然后對視頻幀進(jìn)行標(biāo)注。其中紙條、手機(jī)、書本等應(yīng)歸為人體攜帶屬性;而扭頭、斜視、說話、埋頭等作為人體行為屬性。由于人體檢測與屬性分析由統(tǒng)一的網(wǎng)絡(luò)完成,所以需要對數(shù)據(jù)進(jìn)行整體標(biāo)注,考場主要行為數(shù)據(jù)判定如表1所示。
標(biāo)注應(yīng)符合多標(biāo)簽學(xué)習(xí)模式,采用與行人屬性分析的WIDER數(shù)據(jù)集相同的json格式,需要標(biāo)注出人體目標(biāo)的bbox及所攜帶屬性。bbox由4個(gè)坐標(biāo)給定,屬性由屬性向量給定。
結(jié)合表1給出屬性對照及單個(gè)目標(biāo)標(biāo)注(紙條)示例如下:
{′attribute_id_map′:
{′0′: ′note′,
′1′: ′phone′,
′2′: ′book′,
′3′: ′turn′,
′4′: ′strabismus′,
′5′: ′speak′,
′6′: ′bury′,
′7′: ′probe′}
{′attribute′: [1, -1, -1, -1, -1, -1, -1, -1],
′bbox′: [565.398773006135,
370.6503067484663,
76.95705521472392,
238.7239263803681]}
}
最后經(jīng)過數(shù)據(jù)預(yù)處理,進(jìn)行了數(shù)據(jù)集的標(biāo)簽可視化,如圖1所示。
訓(xùn)練階段,神經(jīng)網(wǎng)絡(luò)模型主要采用了以特征金字塔和Darknet53相結(jié)合作為backbone的YOLOv3算法,并基于考場監(jiān)考的任務(wù)特點(diǎn)在YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上進(jìn)行了如下改善。
(1)設(shè)定1個(gè)anchor box,只有檢測到人體目標(biāo)時(shí)人體附屬的屬性信息才有判定的價(jià)值,同時(shí)考慮到坐姿下人體目標(biāo)大小基本一致,因此YOLOv3只需要1個(gè)anchor box來檢測人體目標(biāo)類別,極大地提升了檢測效率。
(2)修改任務(wù)輸出,將YOLOv3輸出的80個(gè)類別的分類置信度向量改為本任務(wù)所需的人體屬性分析向量,每個(gè)人體目標(biāo)框后攜帶8個(gè)屬性的置信度(紙條,手機(jī),書本,扭頭,斜視,說話,埋頭,探頭),改善后的輸出與YOLOv3輸出對比如圖2所示。
(3)加入注意力機(jī)制,基于考場人員坐姿特點(diǎn),加入注意力機(jī)制模塊(convolutional block attention module,CBAM),對于給定的中間特征圖,CBAM按順序推導(dǎo)出沿通道和空間兩個(gè)獨(dú)立維度的注意力圖,然后將注意圖相乘到輸入特征圖進(jìn)行自適應(yīng)特征細(xì)化。通道注意力聚焦在“什么”是有意義的輸入圖像,為了有效計(jì)算通道注意力,需要對輸入特征圖的空間維度進(jìn)行壓縮,對于空間信息的聚合,常用的方法是平均池化??臻g注意力聚焦在“哪里”是最具信息量的部分,這是對通道注意力的補(bǔ)充。為了計(jì)算空間注意力,沿著通道軸應(yīng)用平均池化和最大池化操作,然后將它們連接起來生成一個(gè)有效的特征描述符,如圖3所示。
CBAM可以無縫集成到任何CNN架構(gòu)中,開銷可以忽略不計(jì),并且可以與基礎(chǔ)CNN一起進(jìn)行端到端訓(xùn)練。對于考場特殊環(huán)境下的考試人員,與違規(guī)行為有關(guān)的屬性(如書本、扭頭)往往集中在上半身區(qū)域,因此加入CBAM模塊,尤其是CBAM中的空間注意力圖將有效地提升目標(biāo)檢測與屬性分析的準(zhǔn)確率,在殘差網(wǎng)絡(luò)中加入CBAM模塊后如圖4所示。
L=Lt+Lc+La
(1)
(2)
(3)
(1-yijk)ln(1-pijk)
(4)
(5)進(jìn)行預(yù)訓(xùn)練,本地采集視頻數(shù)據(jù)非常耗時(shí),為了提高人體屬性分析最后的準(zhǔn)確率,需要利用主流數(shù)據(jù)集的預(yù)訓(xùn)練模型來初始化網(wǎng)絡(luò)參數(shù)。結(jié)合考場任務(wù)的需求,最終選擇了WIDER數(shù)據(jù)集,WIDER數(shù)據(jù)集一共包含13 789張圖像,共57 524個(gè)行人邊界框,并且為每個(gè)行人標(biāo)注了14種屬性,每種屬性包含存在、不存在兩種情況。WIDER數(shù)據(jù)集與其他數(shù)據(jù)集對比如表2所示。
表2 行人屬性識別數(shù)據(jù)集Table 2 Pedestrian attributes recognition data set
模型預(yù)訓(xùn)練使用標(biāo)準(zhǔn)的YOLOv3網(wǎng)絡(luò),將輸出網(wǎng)絡(luò)屬性向量修改為WIDER數(shù)據(jù)集所需的14個(gè)2值屬性向量,并在每一個(gè)殘差塊后添加一個(gè)CBAM模塊,以準(zhǔn)確高效的提取人體上半身屬性信息。
預(yù)訓(xùn)練完成后初始化YOLOv3網(wǎng)絡(luò),輸出修改為任務(wù)所需的1個(gè)anchor box并攜帶8個(gè)2值屬性向量,在本地?cái)?shù)據(jù)集上進(jìn)行再次訓(xùn)練,獲得最終模型。
模型運(yùn)行階段,利用部署在考場的高清攝像頭采集視頻數(shù)據(jù)流,并接入到視頻處理設(shè)備。視頻處理設(shè)備主要進(jìn)行視頻解幀與幀圖像預(yù)處理,以符合神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)輸入。
將模型導(dǎo)入考場邊緣設(shè)備中,視頻處理設(shè)備的輸出視頻幀作為輸入數(shù)據(jù),邊緣設(shè)備同時(shí)輸出所有考場人員目標(biāo)檢測框和屬性分析值,并根據(jù)屬性分析值的結(jié)果作出實(shí)時(shí)的考場行為判斷,整體部署如圖5所示。
圖5 整體部署Fig.5 Overall deployment
利用攝像頭和視頻處理設(shè)備將視頻采集解幀后輸入邊緣智能設(shè)備,分三組分別檢驗(yàn)正??紙鲂袨?、各種違規(guī)行為、正常與違規(guī)行為。實(shí)驗(yàn)運(yùn)行部分結(jié)果如圖6所示,可以發(fā)現(xiàn),只有當(dāng)所有人體屬性值均未檢出才會(huì)判定為正常行為;如果檢測出1條或多條屬性,將判定為違規(guī)行為。
圖6 模型實(shí)驗(yàn)結(jié)果Fig.6 Experimental results of ours
為了驗(yàn)證模型改善方案對最后本實(shí)驗(yàn)改進(jìn)的YOLOv3模型結(jié)果的影響大小,并確定最終采取的措施,在WIDER數(shù)據(jù)集上進(jìn)行了anchor、損失函數(shù)、預(yù)訓(xùn)練三種改進(jìn)方案的消融實(shí)驗(yàn),評價(jià)指標(biāo)采用mAP(mean average precision),分別以mAP50和mAP75以度量在WIDER數(shù)據(jù)集14個(gè)屬性上平均性能,實(shí)驗(yàn)結(jié)果分析如表3所示。
實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),三種措施對于mAP50和mAP75指標(biāo)都有一定提升,且設(shè)置anchor提升效果最為明顯。
原因?yàn)椋孩傥ㄒ淮_定的anchor能夠使得網(wǎng)絡(luò)對數(shù)據(jù)集上的預(yù)測框擁有一個(gè)正確的先驗(yàn)認(rèn)識,使得邊界框的預(yù)測更加容易,參數(shù)學(xué)習(xí)更加輕松,從而提升檢測效果與效率;②損失函數(shù)的改進(jìn)能夠讓模型學(xué)習(xí)到更好的坐標(biāo)回歸參數(shù),使得模型預(yù)測的坐標(biāo)位置更加準(zhǔn)確,進(jìn)而最終提升屬性檢測準(zhǔn)確率。
表3 消融實(shí)驗(yàn)mAPTable 3 Ablation study mAP
為了分析模型在實(shí)際監(jiān)控中對比傳統(tǒng)方案的效率與準(zhǔn)確性提升程度,利用WIDER數(shù)據(jù)集、本地采集數(shù)據(jù)集、WINDER+本地?cái)?shù)據(jù)集三種數(shù)據(jù)組合分別測試傳統(tǒng)行人屬性識別算法PANDA、MLCNN和本實(shí)驗(yàn)改進(jìn)的YOLOv3模型(簡稱Model)表現(xiàn)。
三種方案都需要進(jìn)行預(yù)訓(xùn)練和遷移學(xué)習(xí),才能在實(shí)際的考場視頻上進(jìn)行屬性分析和行為判別,模型訓(xùn)練過程對比如圖7所示。
可以發(fā)現(xiàn)Model相比MLCNN和PANDA,模型具有優(yōu)良的訓(xùn)練曲線,曲線在中前段就很快收斂到低值,中后段也更加平穩(wěn),反映出模型泛化推理階段具有更好的魯棒性。
三種方案學(xué)習(xí)過程的準(zhǔn)確率對比如圖8所示。
從準(zhǔn)確率上對比可以發(fā)現(xiàn)Model相比PANDA和MLCNN,學(xué)習(xí)曲線在后半段趨于平滑穩(wěn)定,也具有更高的性能指標(biāo),更符合實(shí)際考場應(yīng)用需求。
將三種方案部署于考場,并對考場行為視頻長時(shí)運(yùn)行進(jìn)行匯總和分析,評價(jià)指標(biāo)采用行人屬性識別常用的mA(mean accuracy),mA計(jì)算公式為
(5)
分析結(jié)果如表4所示。由表4可知,模型準(zhǔn)確率與推理速度相對于傳統(tǒng)屬性分析算法具備一定優(yōu)勢,原因?yàn)椋孩資OLOv3集成了SSD多尺度預(yù)測、全卷積(fully convolutional networks,F(xiàn)CN)、特征金字塔(feature pyramid networks,F(xiàn)PN)、DenseNet特征復(fù)用等多種特性,具有工業(yè)部署的優(yōu)勢;②改進(jìn)的網(wǎng)絡(luò)中加入了CBAM注意力模塊,在預(yù)訓(xùn)練階段能很好地提取到人體上半身局部屬性信息;③由于本地?cái)?shù)據(jù)集采集自室內(nèi)環(huán)境,場景單一,沒有明顯遮擋,簡化了anchor box與屬性向量等因素,使得WIDER+Local的遷移學(xué)習(xí)方案獲得了三種算法上的最佳效果。
圖7 模型訓(xùn)練過程對比Fig.7 Comparison of training process
圖8 三種模型學(xué)習(xí)過程對比Fig.8 Comparison of learning process of three models
表4 準(zhǔn)確率mA和推理速度分析Table 4 Analysis of accuracy mA and reasoning speed
對各屬性預(yù)測準(zhǔn)確率的進(jìn)一步分析可以發(fā)現(xiàn),由于加入了通道注意力和空間注意力機(jī)制,在WIDER數(shù)據(jù)集上可以提取到非常良好的人體上半身局部屬性特征。而書本、紙條、手機(jī)等屬性因?yàn)轭A(yù)訓(xùn)練數(shù)據(jù)集沒有相關(guān)樣本而本地采集樣本又較少,因此最終扭頭、斜視、說話、埋頭、探頭等與人體局部特征相關(guān)屬性上表現(xiàn)明顯好于其他非人體局部特征相關(guān)屬性;同時(shí)紙條屬性又屬于小目標(biāo),相較于書本和手機(jī)的檢測精度更低,所有屬性最終檢測準(zhǔn)確率如圖9所示。
圖9 各屬性檢測準(zhǔn)確率對比Fig.9 Comparison of accuracy of attributes
雖然行人屬性識別領(lǐng)域由于問題場景的復(fù)雜性、拍攝角度不同、相同屬性類內(nèi)差異巨大、光線變化、類內(nèi)和類間遮擋等問題而仍然存在很大的挑戰(zhàn)。但是在實(shí)際的考場監(jiān)控場景中,由于攝像頭角度固定、室內(nèi)無明顯光學(xué)變化、檢測的目標(biāo)單一、類內(nèi)無遮擋等天然的優(yōu)勢,使得利用YOLOv3改進(jìn)后的模型能較好地同時(shí)執(zhí)行人體檢測和人體屬性分析任務(wù)。
基于人體屬性分析的考場行為識別也具有不可避免的缺陷:①由于問題的特殊性,需要對本地采集數(shù)據(jù)進(jìn)行精心的標(biāo)注;②由于本地?cái)?shù)據(jù)集采集數(shù)量有限,無法勝任實(shí)際應(yīng)用,需要借助大型人體屬性數(shù)據(jù)集的預(yù)訓(xùn)練參數(shù);③人體屬性分析屬于靜態(tài)幀的行為識別方法,沒有加入時(shí)序信息,在一些情況下會(huì)造成錯(cuò)誤的判定,如彎腰撿東西、舉手提問等。
鑒于此,應(yīng)根據(jù)需要加入人工復(fù)核機(jī)制,或增加檢測屬性,或增加視頻采集時(shí)長,而這些措施無疑都增加了算法的復(fù)雜性與操作的難度。