魏英姿,曹振林
(沈陽(yáng)理工大學(xué),遼寧 沈陽(yáng) 110158)
我國(guó)經(jīng)濟(jì)的快速發(fā)展也伴隨著貧富差距加大、社會(huì)犯罪率上升和犯罪局部危害較大等問(wèn)題。當(dāng)下視頻監(jiān)控系統(tǒng)已遍布于不同場(chǎng)所,但并未成為犯罪防范、預(yù)警的直接手段,監(jiān)控終端的智能化技術(shù)亟待提高。因此,本文主要研究安防視頻中行人的異常徘徊行為,以形成快速、有效預(yù)警提示信息的機(jī)制,降低偵查機(jī)關(guān)的主動(dòng)偵查成本,盡早發(fā)現(xiàn)預(yù)謀犯罪行為。
目前,對(duì)于徘徊行為的定義缺少一般的量化描述,大多是針對(duì)某個(gè)具體場(chǎng)景的定性分析。Nayak 等人[1]提出了一個(gè)基于深度學(xué)習(xí)的多攝像機(jī)徘徊檢測(cè)系統(tǒng),用以分析行人運(yùn)動(dòng)軌跡,當(dāng)時(shí)間和位移閾值滿足一定條件時(shí),系統(tǒng)會(huì)認(rèn)為出現(xiàn)了徘徊現(xiàn)象。朱夢(mèng)哲等人[2]對(duì)不同場(chǎng)景下的徘徊行為分別給出了不同的定義,利用檢測(cè)到行人的三維模型來(lái)判斷行人是否徘徊。劉超等人[3]記錄了行人軌跡位于x、y軸分量產(chǎn)生的極值數(shù)量,若超出規(guī)定數(shù)量則判定為徘徊,但該方法只適用于特定場(chǎng)景下,在多人場(chǎng)景下效果不佳。Sandifort 等人[4]提出了應(yīng)用于多個(gè)監(jiān)控?cái)z像機(jī)的徘徊檢測(cè)熵模型,在一段時(shí)間內(nèi)采集多個(gè)攝像頭中行人的外觀特征,在熱力圖上繪制行人的特征位置,用該特征位置來(lái)代替多個(gè)跟蹤軌跡。Huang等人[5]提出基于行人活動(dòng)區(qū)域分類的徘徊檢測(cè)方法,該方法提取滯留時(shí)間閾值內(nèi)的軌跡坐標(biāo),用矩形、橢圓和扇形等形狀將行人軌跡包圍起來(lái),如果行人一直局限在包圍區(qū)域,將被判定為徘徊行為。
決策樹(shù)是一種模仿人類思維方式的決策方法,可形成明晰的樹(shù)形結(jié)構(gòu)、決策規(guī)則。決策樹(shù)分類具備良好的可解釋性,易于處理多峰分布之類的分類問(wèn)題,利用分級(jí)形式,把復(fù)雜分類問(wèn)題轉(zhuǎn)化為若干個(gè)簡(jiǎn)單分類問(wèn)題來(lái)解決[6]。基于此,本文通過(guò)視頻進(jìn)行行人目標(biāo)檢測(cè)、跟蹤,并進(jìn)行軌跡數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理和屬性集構(gòu)建等,選擇屬性子集構(gòu)建決策樹(shù),進(jìn)行異常徘徊行為判別。
安防意義下的行人異常徘徊檢測(cè),目的在于觀測(cè)預(yù)謀犯罪對(duì)象實(shí)施的踩點(diǎn)行為,具體體現(xiàn)在外在行為運(yùn)動(dòng)軌跡上,例如圍繞某個(gè)位置的軌跡折返行為,或者是駐足觀察行為。駐足觀察行為在軌跡和速度上表現(xiàn)得異常明顯,較易被發(fā)現(xiàn)。本文對(duì)更具隱蔽性的異常徘徊行為作量化描述和判別,其動(dòng)態(tài)、靜態(tài)行為數(shù)據(jù)通常具有以下特點(diǎn):
(1)行人運(yùn)動(dòng)軌跡在垂直和水平方向上發(fā)生多次方向改變,在所形成連續(xù)軌跡的x、y軸分量產(chǎn)生極值的個(gè)數(shù)(sum)較多。
(2)行人逗留于安防場(chǎng)景中的時(shí)間(time)較長(zhǎng)。
(3)行人當(dāng)前位置與進(jìn)入場(chǎng)景時(shí)的初始位置之間的距離變化,由大變小或者由小變大多次反復(fù),量化表現(xiàn)為路程(distance)與位移(displacement)的比值(l)波動(dòng)式上升。
(4)現(xiàn)實(shí)中,行人在等候時(shí)小幅度地走動(dòng)以及人群在進(jìn)行身體鍛煉時(shí)依然會(huì)滿足以上三個(gè)條件,考慮到潛在的預(yù)謀犯罪通常伴隨多角度觀察這一特點(diǎn),因此(1)中提到的極值點(diǎn)在畫面中所構(gòu)成區(qū)域面積(area)應(yīng)大于正?;顒?dòng)的范圍(AREA)才可視為徘徊。
預(yù)謀犯罪往往存在彷徨、猶豫不決、焦灼不安和多角度觀察的表現(xiàn),異常徘徊的活動(dòng)區(qū)域一般不會(huì)局限于小的區(qū)域。行人在等候時(shí)小范圍地走動(dòng),或是在廣場(chǎng)上鍛煉的人們也隨著時(shí)間的增長(zhǎng)漫游軌跡增多等小幅度范圍內(nèi)產(chǎn)生的軌跡都不會(huì)被判定為異常徘徊。
YOLOv5 不僅能實(shí)現(xiàn)目標(biāo)分類,還能獲得準(zhǔn)確的目標(biāo)定位信息,因此利用YOLOv5 獲取視頻行人的數(shù)據(jù)進(jìn)行行為分析和判別。采用YOLOv5s 網(wǎng)絡(luò)結(jié)構(gòu)建立權(quán)重文件,整個(gè)YOLOv5 網(wǎng)絡(luò)結(jié)構(gòu)分為四個(gè)部分,分別是輸入端、Backbone部分、Neck 網(wǎng)絡(luò)和Prediction 端口。
輸入端由Mosaic 數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算和自適應(yīng)圖片縮放三大模塊組成。YOLOv5 在不同數(shù)據(jù)集上定制不同長(zhǎng)度和寬度的錨框進(jìn)行適配,再使用適配圖片縮放實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)。Backbone 主要可以劃分為Focus 架構(gòu)和CSP 模塊。Focus 架構(gòu)在YOLOv5 中最新出現(xiàn),其關(guān)鍵在于切片操作,可在下采樣時(shí)減少信息損失。CSP 模塊用于特征提取和特征融合。Neck 網(wǎng)絡(luò)使用FPN+PAN 的結(jié)構(gòu),F(xiàn)PN 將高層特征信息進(jìn)行上采樣傳遞和融合,得到用于預(yù)測(cè)的特征圖;PAN 特征金字塔從底層到高層傳達(dá)強(qiáng)定位特征,實(shí)現(xiàn)不同的主干層對(duì)不同檢測(cè)層的參數(shù)聚合。Prediction 端口以GIOU_Loss 函數(shù)為回歸損失函數(shù),通過(guò)計(jì)算不同狀態(tài)的GIOU 值解決邊界框不完全重合的問(wèn)題,同時(shí)使用加權(quán)DIOU_nms 實(shí)現(xiàn)非極大值抑制,抑制冗余框。
經(jīng)過(guò)YOLOv5 檢測(cè)出的行人目標(biāo),再通過(guò)DeepSORT算法跟蹤獲取其運(yùn)動(dòng)軌跡。延續(xù)多目標(biāo)在線跟蹤算法SORT(Simple Online and Realtime Tracking)的核心,DeepSORT仍然采用經(jīng)典的卡爾曼濾波生成類目標(biāo)跟蹤算法[7],并通過(guò)匈牙利算法在目標(biāo)跟蹤過(guò)程中匹配預(yù)測(cè)框和跟蹤框。由于目標(biāo)運(yùn)動(dòng)、被遮擋等原因?qū)е赂櫰ヅ湫畔⒋_定性較低時(shí),馬氏距離是一種合適的關(guān)聯(lián)因子,通過(guò)測(cè)量檢測(cè)結(jié)果距離平均跟蹤結(jié)果的標(biāo)準(zhǔn)差,排除可能性低的關(guān)聯(lián)[8]。當(dāng)目標(biāo)處于被遮擋狀態(tài)或者鏡頭畫面抖動(dòng)時(shí),如果只使用馬氏距離關(guān)聯(lián)會(huì)導(dǎo)致目標(biāo)身份誤切換。DeepSORT[9]在跟蹤過(guò)程中結(jié)合運(yùn)動(dòng)信息和外觀信息。對(duì)于運(yùn)動(dòng)信息,使用馬氏距離度量預(yù)測(cè)結(jié)果之間的匹配度,計(jì)算外觀信息特征的余弦相似度,在目標(biāo)再次出現(xiàn)時(shí)恢復(fù)目標(biāo)身份id,使DeepSORT 執(zhí)行穩(wěn)定跟蹤。
行人軌跡是指在視頻場(chǎng)景中從起始位置到結(jié)束位置所經(jīng)過(guò)的路線。單個(gè)行人的軌跡為隨時(shí)間變化的人體質(zhì)心位置序列Tid={(x0,y0),(x1,y1),...,(xtime,ytime)},x、y分別為橫、縱坐標(biāo)。場(chǎng)景中的不同行人標(biāo)號(hào)為id,視頻場(chǎng)景中多人的軌跡集合為T={T1,T2,...,Tid}。
如果沒(méi)有阻擋物,行人的行走軌跡通常是近似直線地前往目的地。實(shí)際上,人類雙足行走形成的質(zhì)心軌跡不太可能完全是直線,而且視頻幀數(shù)據(jù)自身就具有離散性,因此,通過(guò)YOLO 和DeepSORT 跟蹤行人的質(zhì)心位置獲取的軌跡,往往存在大量的鋸齒形狀分布的離散點(diǎn)。如圖1(a)、圖1(b)所示分別為MOT16 和UT-Interaction 數(shù)據(jù)集的視頻中行人跟蹤軌跡結(jié)果,這些數(shù)據(jù)在x軸或y軸分量方向有折返軌跡、存在大量極值,直接進(jìn)行軌跡分析會(huì)造成計(jì)算資源浪費(fèi),甚至造成誤檢,因此,采用S-G 濾波器對(duì)行人軌跡點(diǎn)進(jìn)行平滑處理。
圖1 視頻中行人跟蹤的質(zhì)心軌跡
S-G(Savitzky-Golay)濾波器作為低通濾波器之一,濾波系數(shù)計(jì)算十分便捷,在數(shù)據(jù)平滑去噪中得到了廣泛的應(yīng)用[10]。通過(guò)設(shè)定大小為2m+1 的平滑窗口,在時(shí)域內(nèi)利用局部最小二乘法構(gòu)造一個(gè)n階多項(xiàng)式對(duì)數(shù)據(jù)進(jìn)行平滑。設(shè)有一組以u(píng)=0為中心的2m+1個(gè)數(shù)據(jù),構(gòu)造n階多項(xiàng)式(2m+1≥n)擬合,公式如下:
由式(1)可知,當(dāng)u=0 時(shí),p0=b0。S-G 濾波器以加權(quán)平均的方式計(jì)算窗口中心點(diǎn)數(shù)據(jù)p(0)。其最小二乘擬合殘差為:
對(duì)輸入數(shù)據(jù)進(jìn)行加權(quán)平均,再取偏導(dǎo),有:
其中t=0,1,…,n,有:
設(shè)A=aut(2m+1)(n+1),aut=ut,其中-m≤u≤m,0≤t≤n,設(shè)矩陣B=ATA,有:
設(shè)有矩陣:
其中,H矩陣的首行行向量為所求的卷積系數(shù),且僅與n和m有關(guān)。
采用S-G 濾波器分別對(duì)行人軌跡點(diǎn)的橫、縱坐標(biāo)做濾波處理,軌跡平滑的具體步驟如下:
步驟1:設(shè)定S-G 濾波器的參數(shù)?;瑒?dòng)窗口大小設(shè)為25,窗口內(nèi)多項(xiàng)式擬合最高的次數(shù)設(shè)置為6,即m=12,n=6。
步驟2:計(jì)算系數(shù)矩陣H。由公式(7),系數(shù)矩陣H=(ATA)-1AT,H的首行行向量為卷積系數(shù)。
步驟3:邊緣數(shù)據(jù)處理。由于該方法刪除了數(shù)據(jù)首尾各m個(gè)數(shù)據(jù),所以在數(shù)據(jù)的兩端以端點(diǎn)值各向外補(bǔ)充m個(gè)數(shù)據(jù)值。
步驟4:修正數(shù)據(jù)。利用上述卷積系數(shù)對(duì)滑動(dòng)窗口內(nèi)的數(shù)據(jù)值做加權(quán)平均,計(jì)算出窗口中心位置處修正值p0后,保存修正后的數(shù)據(jù)。
步驟5:移動(dòng)窗口。將滑動(dòng)窗口向后移一個(gè)數(shù)據(jù)位置,執(zhí)行第4 步,直到滑動(dòng)窗口移動(dòng)到全部數(shù)據(jù)尾部。
圖1中行人軌跡經(jīng)過(guò)S-G 濾波器平滑后的軌跡如圖2所示。圖2(a)中id-29 號(hào)行人和圖2(b)中id-4 的行人均出現(xiàn)遮擋后暫時(shí)丟失坐標(biāo)信息,由于DeepSORT 加入了行人重識(shí)別技術(shù),跟蹤過(guò)程中出現(xiàn)的短暫遮擋會(huì)識(shí)別為同一行人,其對(duì)應(yīng)id 的軌跡坐標(biāo)同時(shí)恢復(fù),期間對(duì)應(yīng)的軌跡會(huì)遺失掉,S-G 濾波器會(huì)填補(bǔ)上這些軌跡缺失值,得到平滑后軌跡,再做分析和判別。圖3為圖1(a)、圖1(b)部分行人運(yùn)動(dòng)軌跡平滑前后軌跡路線對(duì)比結(jié)果。
圖2 經(jīng)過(guò)S-G 濾波器平滑后的行人軌跡
圖3 經(jīng)S-G 濾波器平滑前后軌跡路線對(duì)比
分別用x、y表示行人位置坐標(biāo),差分(dx,dy)表示其即時(shí)運(yùn)動(dòng)速度,用二次差分(|d2x|,|d2y|)描述速度波動(dòng),具體計(jì)算為dx=xt-xt-1,|d2x|=xt-2xt-1+xt-2。表1為某一時(shí)刻S-G 濾波器對(duì)行人軌跡平滑前后的坐標(biāo)、速度、速度波動(dòng)等對(duì)比情況。
表1 軌跡平滑前后屬性值對(duì)比
選取UT-Interaction 及中科院自動(dòng)化研究所收錄的CASIA 數(shù)據(jù)集中存在徘徊特征的視頻片段,對(duì)有異常徘徊行為的行人軌跡特征進(jìn)行統(tǒng)計(jì),構(gòu)建決策樹(shù)的行人特征屬性集合attribute_set{l,time,sum,area,v,q}。其中,l為路程與位移之比,路程為行人從起始坐標(biāo)點(diǎn)到當(dāng)前坐標(biāo)點(diǎn)所有軌跡點(diǎn)之和,位移為起始坐標(biāo)點(diǎn)到當(dāng)前坐標(biāo)點(diǎn)的距離;time 為滯留時(shí)間,從行人進(jìn)入視頻且被檢測(cè)到開(kāi)始記錄其滯留時(shí)間;sum 為行人軌跡在x、y軸分量產(chǎn)生的極值點(diǎn)數(shù)量;area 為極值點(diǎn)在畫面中所構(gòu)成區(qū)域的面積,由至少4 個(gè)極值點(diǎn)確定,若不足4 個(gè)則為0;v為行人速度;q為行人的速度波動(dòng)。
構(gòu)建閾值集合變量threshold_set{L,TIME,SUM,AREA,V,ACC}。其中,L為路程與位移之比最大容許閾值;TIME 為滯留時(shí)間容許閾值;SUM 為極值點(diǎn)數(shù)量容許閾值;AREA 為正?;顒?dòng)范圍面積容許閾值,AREA=g×h2,h為視頻中行人身高,參照YOLOv5 行人檢測(cè)預(yù)選框高度統(tǒng)計(jì)值得到,以變量h作為長(zhǎng)度測(cè)度標(biāo)準(zhǔn)量,g為比例系數(shù);V為行人速度容許閾值;ACC 為行人的速度波動(dòng)容許閾值。
將數(shù)據(jù)集的60%作為訓(xùn)練集,剩下的40%作為測(cè)試集,獲取訓(xùn)練集視頻中的行人軌跡,提取以上特征并進(jìn)行手工標(biāo)記,標(biāo)簽即狀態(tài)分為normal 和loitering 兩類。表2為部分訓(xùn)練樣本屬性值及其分類。
表2 部分訓(xùn)練樣本屬性值及其分類
ID3 是決策樹(shù)中的常用算法,核心是選擇合適的特征屬性構(gòu)建決策樹(shù)。在構(gòu)建決策樹(shù)時(shí),根節(jié)點(diǎn)選擇方法是比較所有節(jié)點(diǎn)的所有候選特征的信息增益,從中選取信息增益最大的特征作為根節(jié)點(diǎn),節(jié)點(diǎn)特征取不同值就可以構(gòu)成一系列子節(jié)點(diǎn),再對(duì)子節(jié)點(diǎn)重復(fù)進(jìn)行上述操作以構(gòu)建其他節(jié)點(diǎn),當(dāng)不存在可選的特征或者所有特征信息增益量低于某一標(biāo)準(zhǔn),決策樹(shù)構(gòu)建完成。
設(shè)訓(xùn)練集為D,其信息熵為E(D),Q為樣本類別;j為類別總數(shù)。第j類樣本中Qj類樣本出現(xiàn)的概率為|Qj|/|D|,其信息熵公式如下:
設(shè)特征U有n個(gè)不同的取值,將D分成子集D1,D2,...,Dn。計(jì)算條件熵E(D|U)公式如下:
其中,Di表示特征U的值為i的樣本數(shù)量,E(Di)的計(jì)算公式為:
式中,Dij表示特征U的值為i的樣本在Q類別的樣本數(shù)量,信息增益Gain(D|U)如下:
利用訓(xùn)練集,通過(guò)式(8)~(11),得到所有屬性的信息增益,信息增益最大的屬性路程與位移之比l被選作決策樹(shù)的根節(jié)點(diǎn)。行人速度v和速度波動(dòng)q兩種屬性的信息增益值對(duì)檢測(cè)結(jié)果的影響可忽略不計(jì),因此,決策樹(shù)的節(jié)點(diǎn)屬性子集中沒(méi)有v和q,至此決策樹(shù)構(gòu)建完成。如圖4所示為異常徘徊判別的決策樹(shù)結(jié)構(gòu)。
圖4 異常徘徊判別的決策樹(shù)結(jié)構(gòu)
決策樹(shù)檢測(cè)異常徘徊行為的多級(jí)分類主要過(guò)程如下:
(1)當(dāng)安防視頻中出現(xiàn)行人時(shí)開(kāi)始統(tǒng)計(jì),對(duì)進(jìn)入畫面中的每個(gè)行人賦予不同id 號(hào),記錄行走軌跡。
(2)當(dāng)某行人的行走路程與位移之比小于閾值L,即l (3)計(jì)算極值數(shù)量,若出現(xiàn)極值數(shù)量小于閾值SUM,即sum (4)若當(dāng)前極值點(diǎn)所構(gòu)成區(qū)域面積小于閾值A(chǔ)REA,即area 通過(guò)CASIA AR 和UT-Interaction 數(shù)據(jù)集,采用多種評(píng)價(jià)指標(biāo)測(cè)試決策樹(shù)模型性能。 準(zhǔn)確率(accuracy)是指整體樣本預(yù)測(cè)的準(zhǔn)確度,可直接用來(lái)衡量一個(gè)模型的優(yōu)劣,它的數(shù)值越高,表示該模型越好,計(jì)算公式為: 其中:TP 表示徘徊行為被正確檢測(cè)的數(shù)量;TN 表示正常行為被正確檢測(cè)的數(shù)量;FP 表示正常行為被檢測(cè)為徘徊行為的數(shù)量;FN 表示未將徘徊行為正確檢測(cè)的數(shù)量。 精確率(precision)是指在所有的被檢測(cè)為徘徊的樣本里現(xiàn)實(shí)也為徘徊的概率,計(jì)算公式為: 召回率(recall)為當(dāng)實(shí)際結(jié)果為徘徊的一個(gè)樣本時(shí)被檢測(cè)到也為徘徊的概率,計(jì)算公式為: F1 分?jǐn)?shù)(F1-score):當(dāng)希望精確率與召回率都較高,卻又無(wú)法同時(shí)達(dá)到,則需找到兩者間的一個(gè)平衡點(diǎn),這個(gè)平衡點(diǎn)就定義為F1 分?jǐn)?shù)??紤]到精確率和召回率,為了使二者結(jié)果達(dá)到最優(yōu),計(jì)算公式為: 實(shí)驗(yàn)中對(duì)測(cè)試集的徘徊檢測(cè)分類結(jié)果進(jìn)行了統(tǒng)計(jì),與文獻(xiàn)[3]進(jìn)行對(duì)比,結(jié)果見(jiàn)表3所列。 表3 徘徊檢測(cè)分類結(jié)果對(duì)比 在配置為CPU Corei5-1135G7、2.4 GHz、內(nèi)存16 GB 的計(jì)算機(jī)上,采用pytorch 框架下python3.8 代碼實(shí)現(xiàn)。實(shí)驗(yàn)對(duì)CASIA AR 和UT-Interaction 數(shù)據(jù)集部分視頻進(jìn)行了測(cè)試,本文決策樹(shù)方法判別結(jié)果如圖5所示。 圖5 CASIA AR 和UT-Interaction數(shù)據(jù)集部分視頻決策樹(shù)判別結(jié)果 視頻數(shù)據(jù)往往可以作為犯罪后偵查的資料,但尚未成為指導(dǎo)警務(wù)的預(yù)警情報(bào)?!叭f(wàn)物互聯(lián)”的時(shí)代下,決策樹(shù)算法以其準(zhǔn)確性高、速度快、能處理高維數(shù)據(jù)的特點(diǎn),可輔助安防網(wǎng)絡(luò)終端的智能交互與服務(wù),做出快速響應(yīng)。本文量化描述安防意義下的行人異常徘徊行為,通過(guò)目標(biāo)檢測(cè)加跟蹤技術(shù)獲取行人軌跡數(shù)據(jù),采用Savitzky-Golay 濾波器,擬合、平滑行人跟蹤過(guò)程中的軌跡斷裂和漂移數(shù)據(jù)。提取軌跡特征屬性構(gòu)建決策樹(shù)模型,有效地避免了徘徊誤檢,可檢測(cè)出視頻監(jiān)控內(nèi)多人場(chǎng)景下的異常徘徊行為。通過(guò)對(duì)異常徘徊預(yù)謀犯罪行為的判別,期望有效制止犯罪危害結(jié)果的發(fā)生,減少偵查機(jī)關(guān)對(duì)犯罪的追訴成本。5 實(shí)驗(yàn)結(jié)果
6 結(jié) 語(yǔ)