曹自強(qiáng) 賽斌 呂欣
(國防科技大學(xué)系統(tǒng)工程學(xué)院,長沙 410073)
行人跟蹤是計算機(jī)視覺領(lǐng)域中研究的熱點和難點,通過對視頻資料中行人的跟蹤,可以提取出行人的運動軌跡,進(jìn)而分析個體或群體的行為規(guī)律.本文首先對行人跟蹤與行人檢測問題之間的差別進(jìn)行了闡述,其次從傳統(tǒng)跟蹤算法和基于深度學(xué)習(xí)的跟蹤算法兩個方面分別綜述了相關(guān)算法與技術(shù),并對經(jīng)典的行人動力學(xué)模型進(jìn)行了介紹,最終對行人跟蹤在智能監(jiān)控、擁堵人群分析、異常行為檢測等場景的應(yīng)用進(jìn)行了系統(tǒng)講解.在深度學(xué)習(xí)浪潮席卷計算機(jī)視覺領(lǐng)域的背景下,行人跟蹤領(lǐng)域的研究取得了飛躍式發(fā)展,隨著深度學(xué)習(xí)算法在計算機(jī)視覺領(lǐng)域的應(yīng)用日益成熟,利用這一工具提取和量化個體和群體的行為模式,進(jìn)而對大規(guī)模人群行為開展精確、實時的分析成為了該領(lǐng)域的發(fā)展趨勢.
近年來,深度學(xué)習(xí)的浪潮席卷計算機(jī)視覺領(lǐng)域,這不僅提高了通用物體的檢測性能,也極大地促進(jìn)了行人檢測的發(fā)展,為行人跟蹤領(lǐng)域的研究奠定了良好的基礎(chǔ)[1].行人檢測的主要任務(wù)是判斷圖片或者視頻中是否有行人,如果有,則用框圖把行人標(biāo)記出來[2],不用考慮前后兩幀中行人的匹配問題.行人跟蹤與行人檢測不同,需要利用數(shù)據(jù)關(guān)聯(lián)技術(shù)關(guān)聯(lián)前后兩幀中相似度最大的行人,以達(dá)到對視頻中的行人持續(xù)跟蹤[3]的目的,從而得到行人運動的速度、軌跡和方向等信息[4],并將其進(jìn)一步應(yīng)用到個人或大規(guī)模群體行為的研究領(lǐng)域中去[5,6].行人跟蹤是計算機(jī)視覺應(yīng)用中的一項基本任務(wù),雖然已有大量文獻(xiàn)提出了各種算法,但由于行人跟蹤問題比較復(fù)雜,不僅需要考慮拍攝的角度、光照的變化[7-9],還需要考慮新目標(biāo)出現(xiàn),舊目標(biāo)消失,以及當(dāng)跟丟目標(biāo)再次出現(xiàn)時,如何進(jìn)行再識別[10]等問題,這使得健壯的行人跟蹤算法仍然是一個巨大的挑戰(zhàn).
隨著深度學(xué)習(xí)技術(shù)在計算機(jī)視覺領(lǐng)域的廣泛應(yīng)用,用深度學(xué)習(xí)的方法來研究行人跟蹤問題儼然成為了學(xué)術(shù)界的主流[11].雖然已有相關(guān)的文獻(xiàn)綜述對行人跟蹤領(lǐng)域中的算法進(jìn)行總結(jié),但這些綜述大多不夠新穎,所提到的算法依舊是傳統(tǒng)的目標(biāo)跟蹤算法,沒有將最新的深度學(xué)習(xí)算法包含進(jìn)來.為了彌補已有文獻(xiàn)的不足,同時使得廣大科研工作者掌握行人跟蹤領(lǐng)域的最新發(fā)展趨勢,本文首先將行人跟蹤領(lǐng)域的算法按照傳統(tǒng)跟蹤算法和深度學(xué)習(xí)跟蹤算法的分類方法進(jìn)行了系統(tǒng)介紹,并選取相應(yīng)的指標(biāo)評估性能,然后介紹幾種經(jīng)典的人類行為動力學(xué)模型,回顧人類行為動力學(xué)領(lǐng)域的發(fā)展歷程,最后圍繞新技術(shù)條件下的視頻監(jiān)控、擁堵人群分析、異常行為監(jiān)測等典型應(yīng)用場景進(jìn)行了系統(tǒng)地闡述.
1960年,Kalman[12]為了解決離散數(shù)據(jù)的線性濾波問題,提出了卡爾曼濾波算法,該算法后來被擴(kuò)展到目標(biāo)跟蹤領(lǐng)域[13],其核心思想是利用上一時刻目標(biāo)狀態(tài)的預(yù)測值和當(dāng)前時刻目標(biāo)狀態(tài)的測量值得到當(dāng)前時刻目標(biāo)狀態(tài)的最優(yōu)估計,并把當(dāng)前時刻得到的最優(yōu)估計作為下一時刻目標(biāo)的預(yù)測值進(jìn)行迭代運算,如此循環(huán)往復(fù),逼近目標(biāo)的真實值[14].該算法的創(chuàng)新點在于同時考慮了在預(yù)測過程和測量過程中的誤差,并且認(rèn)為這兩種誤差獨立存在,不受測量數(shù)據(jù)的影響.
該算法包括包括預(yù)測階段和更新階段兩部分.在預(yù)測階段,利用目標(biāo)上一時刻的預(yù)測值預(yù)測當(dāng)前狀態(tài)并對誤差協(xié)方差矩陣進(jìn)行估計;在更新階段,卡爾曼濾波器用加權(quán)的測量結(jié)果來矯正預(yù)測結(jié)果[15].卡爾曼濾波的兩個階段如表1所列,各參數(shù)的含義如表2所列.
表1 卡爾曼濾波的預(yù)測階段和更新階段Table 1.Prediction and update process of Kalman filtering.
利用該運動方程,再結(jié)合卡爾曼濾波算法中兩個階段的相關(guān)公式,就可以預(yù)測目標(biāo)在下一時刻的狀態(tài),具體操作流程為:
由此可得狀態(tài)轉(zhuǎn)移矩陣
其中外部控制量 Uk-1和控制矩陣 B 均為零,之后分別為誤差協(xié)方差矩陣、系統(tǒng)噪聲協(xié)方差矩陣賦予初始值,一般令
表2 卡爾曼濾波公式中的參數(shù)及含義Table 2.Parameters and meanings in the Kalman filter formula.
然后用 yk=[yx(k),yy(k)] 表示測量的目標(biāo)中心點坐標(biāo),因為 yk=H×xk,所以狀態(tài)轉(zhuǎn)移矩陣
利用該算法,有了系統(tǒng)前一時刻狀態(tài)就能估計出系統(tǒng)下一時刻的狀態(tài),同時還可利用當(dāng)前的觀測值修正系統(tǒng)狀態(tài),使得估計的均方誤差最小[17].
卡爾曼濾波算法經(jīng)常與其他算法結(jié)合共同完成行人跟蹤任務(wù),很少單獨使用.例如李娟等[18]用卡爾曼濾波算法原理對視頻中的行人進(jìn)行跟蹤,他們首先采用混合高斯模型得到運動行人的前景圖像,然后利用HSV(hue,saturation,value)顏色空間模型和基于形態(tài)學(xué)的目標(biāo)重構(gòu)方法消除運動陰影,最后用卡爾曼濾波預(yù)測行人的位置并得到了行人的運動軌跡.石龍偉[19]將卡爾曼濾波與光流法結(jié)合起來,先用光流法對視頻進(jìn)行預(yù)處理,然后根據(jù)光流法獲取的目標(biāo)位置等信息用卡爾曼濾波實現(xiàn)對行人的有效跟蹤.王宏選[20]在動態(tài)行人跟蹤TLD(tracking-learning-detection,跟蹤-學(xué)習(xí)-檢測)算法中引入了卡爾曼濾波器預(yù)測行人下一幀可能出現(xiàn)的區(qū)域,以縮小檢測范圍,提高檢測速度,改善行人之間因存在遮擋而導(dǎo)致跟蹤丟失的問題.
卡爾曼濾波算法比較簡單,容易實現(xiàn),適合跟蹤簡單場景中的行人.但其易受光照變化的影響,而且當(dāng)行人突然改變行走的方向或者速度時,跟蹤效果較差.
1979年,Reid[21]提出了多假設(shè)跟蹤算法,該算法的最初目的是解決雷達(dá)信號的自動跟蹤問題,后來Kim等[22,23]對多假設(shè)跟蹤算法進(jìn)行了改進(jìn),將其擴(kuò)展到目標(biāo)跟蹤領(lǐng)域.多假設(shè)跟蹤算法本質(zhì)上是基于卡爾曼濾波算法在多目標(biāo)跟蹤問題中的擴(kuò)展,其中假設(shè)是指聚簇內(nèi)一組目標(biāo)和量測的分配互聯(lián)關(guān)系[24].多假設(shè)跟蹤是一種延時決策算法,在數(shù)據(jù)關(guān)聯(lián)發(fā)生沖突時,會形成多種假設(shè),直到獲取到新的信息再做決定,主要包括數(shù)據(jù)聚簇、假設(shè)生成、計算假設(shè)得分、假設(shè)刪除四部分[25],其中假設(shè)生成和假設(shè)刪除是該算法的核心,該算法的流程如下.
Step 1數(shù)據(jù)聚簇,將新接收的量測點跡與以前的假設(shè)進(jìn)行關(guān)聯(lián).
Step 2將所有可能的航跡生成假設(shè)并保存,生成的假設(shè)用下面的公式表示:
其中Z(k)表示k時刻的量測集合;Zk表示k時刻的累積量測集合;Ωk表示k時刻關(guān)聯(lián)假設(shè)的集合;Mk是可用量測個數(shù);表示先驗假設(shè);Zm(k)的來源可能是原有目標(biāo)的繼續(xù)、新目標(biāo)的量測、虛警等.如果量測是原有目標(biāo)的繼續(xù),則它符合原有航跡的高斯分布,否則量測是一個均勻分布的噪聲;如果是新目標(biāo)的量測、虛警,則出現(xiàn)當(dāng)前關(guān)聯(lián)的可能性可以通過泊松分布和二項分布的乘積表示.
Step 3計算假設(shè)概率:
Step 4假設(shè)刪除,因為假設(shè)的積累會占據(jù)大量的內(nèi)存,增加運算量,不利于實時跟蹤,所以需要對假設(shè)進(jìn)行剔除.目前有兩種刪除假設(shè)的方法,分別是零掃描法和多掃描法.
零掃描法首先使用零掃描濾波器處理每個數(shù)據(jù)集,然后僅保留概率最大的那個假設(shè).另外一種改進(jìn)的方法是不僅選擇最大似然假設(shè),而且增加卡爾曼濾波器中的協(xié)方差以解釋誤相關(guān)的可能性.
多掃描法使用多掃描算法處理數(shù)據(jù)集之后仍存在若干假設(shè),然后再次修剪所有不太可能的假設(shè),但保持所有概率高于指定的閾值的假設(shè).
多假設(shè)跟蹤算法保留了假設(shè)的大量歷史信息,確保了跟蹤效果的穩(wěn)定性,但同時由于這些歷史信息占據(jù)了過多的存儲空間,使得該算法的計算量大,實時性差[26].
針對卡爾曼濾波需要目標(biāo)的狀態(tài)變量滿足高斯分布的缺點,Breitenstein等[27]提出了一種基于粒子濾波框架的多行人跟蹤檢測算法,該算法是卡爾曼濾波算法的一般化方法.卡爾曼濾波建立在線性的狀態(tài)空間和高斯分布的噪聲上,而粒子濾波的狀態(tài)空間模型可以是非線性的,且噪聲分布可以是任何型式,是一種通過非參數(shù)化的蒙特卡羅方法來實現(xiàn)遞推的貝葉斯濾波,粒子濾波的基本原理是通過先驗概率和當(dāng)前觀測值估計后驗概率[28],該算法分為兩個步驟.
首先進(jìn)行數(shù)據(jù)關(guān)聯(lián),用匹配算法最多將一次檢測分配給至多一個目標(biāo),再用匹配函數(shù) s(tr,d)評估檢測 d與跟蹤器 tr的每個粒子p 之間的距離,并用為 tr 訓(xùn) 練的分類器 c tr(d)對 d 進(jìn)行評估:
其中 pN(d-p)表示評估d和p 之間距離的正態(tài)分布;g(tr,d)是門控函數(shù),代表檢測相對于目標(biāo)的速度和運動方向的位置.
其次計算跟蹤器 tr的粒子p的權(quán)重w(tr,p):
其中參數(shù) β,γ,η是實驗設(shè)定的;I(tr)是指示函數(shù),如果檢測與跟蹤器關(guān)聯(lián),則返回1,否則返回0;dc(p)表 示置信密度;po(tr)是加權(quán)函數(shù).
該算法不依賴于背景建模,可以在復(fù)雜的遮擋場景中對大量動態(tài)移動的人進(jìn)行魯棒跟蹤,是完全的二維操作(不需要攝像機(jī)或地面平面標(biāo)定),在行人跟蹤的實驗中可以很好地復(fù)現(xiàn)行人的運動模式[29].針對現(xiàn)實世界中行人身體之間的遮擋問題,Xu等[30]用粒子濾波跟蹤行人的頭部,并用基于顏色直方圖和方向梯度直方圖的方法對頭部外觀模型進(jìn)行更新,有效地減少了由于遮擋問題而造成的行人標(biāo)號變化頻繁的問題.該算法在UT-Interaction數(shù)據(jù)集的測試結(jié)果中,行人的身份標(biāo)號僅變化了4次.
2015年,Xiang等[31]提出了一種基于馬爾可夫決策過程的在線多目標(biāo)跟蹤框架,將多目標(biāo)跟蹤問題視作一個馬爾科夫決策過程來處理.馬爾科夫決策過程由一個元組(S,A,T(·),R(·))組成[32],其中S表示目標(biāo)所處的狀態(tài),A 表示目標(biāo)可以執(zhí)行的動作,T(·)表 示狀態(tài)轉(zhuǎn)移函數(shù),R(·)表示獎勵方程,行人跟蹤問題的馬爾科夫決策過程如圖1所示.
圖1 馬爾科夫決策過程流程圖[31]Fig.1.Markov decision process flow chart[31].
該算法將行人跟蹤中的行人劃分為激活、跟蹤、丟失、停止四種狀態(tài).其處理流程如下.
Step 1行人被檢測器檢測到后首先進(jìn)入激活狀態(tài),然后用一個訓(xùn)練好的SVM 分類器判斷行人是進(jìn)入跟蹤狀態(tài)還是停止?fàn)顟B(tài),其分類結(jié)果用一個5 維的特征向量 ΦA(chǔ)ctive(s)表示.SVM分類器是從訓(xùn)練視頻序列中選出訓(xùn)練樣本,并將行人的2 維坐標(biāo)、高度、寬度以及檢測得分歸一化為一個5維的標(biāo)準(zhǔn)化向量訓(xùn)練得到的[31],其獎勵函數(shù)為
如果轉(zhuǎn)移到跟蹤狀態(tài),則y(a)=1;如果轉(zhuǎn)移到停止?fàn)顟B(tài),則用于定義SVM 的超平面.
Step 2在跟蹤狀態(tài)下的獎勵函數(shù):
其中 emedFB表示預(yù)測誤差的中間值,如果預(yù)測誤差emedFB太 大則跟蹤失效;omean表示前后兩幀邊界框重疊區(qū)域的平均值,只有當(dāng) omean在閾值 o0以上時才被認(rèn)為正確檢測到目標(biāo);因此當(dāng)且僅當(dāng) emedFB小于閾值e0和omean大于閾值o0才表示跟蹤有效,y(a)=+1;否則進(jìn)入丟失狀態(tài),y(a)=—1.
Step 3丟失狀態(tài)下的獎勵函數(shù):
如果轉(zhuǎn)入跟蹤狀態(tài),則 y(a)=+1;如果進(jìn)入停止?fàn)顟B(tài),則 y(a)=—1;wTφ(t,dk)是捕捉目標(biāo)和檢測之間相似性的特征向量.
基于馬爾科夫決策的多目標(biāo)跟蹤算法的跟蹤效果比較好,文獻(xiàn)[31]將其在MOT Benchmark上進(jìn)行了測試,其多目標(biāo)跟蹤準(zhǔn)確率可達(dá)30.3%,多目標(biāo)跟蹤精度可達(dá)70.3%,但是在行人長時間遮擋后容易發(fā)生誤判.
相關(guān)濾波最初是表示信號處理領(lǐng)域中兩個信號之間相似度的概念,兩個信號之間的相似度越高,它們就越相關(guān).2019年,Bolme等[33]首次將相關(guān)濾波算法運用到目標(biāo)跟蹤領(lǐng)域,其核心思想是利用誤差平方和最小的濾波器(minimum output sum of squared error,MOSSE)訓(xùn)練圖像,使得圖像的平方和誤差最小,從而建立跟蹤目標(biāo)的外觀模型.該算法的處理流程如下:
Step 1首先訓(xùn)練相關(guān)濾波器,最小化實際輸出與期望輸出 Gi之間的平方和誤差:
Step 2然后用訓(xùn)練好的相關(guān)濾波器 H*與輸入圖像 F 做相關(guān)操作,求其響應(yīng) G :
Step 3最后用PSR作為響應(yīng)G峰值強(qiáng)度的度量,只有當(dāng)PSR大于某個閾值時才會跟新目標(biāo)的位置,否則執(zhí)行Step 1,一般PSR小于7表示跟蹤失敗,
該算法運用傅里葉變換操作,極大地提高了運算速度,使得該算法具有很好的實時性.但由于沒有考慮尺度的變化,導(dǎo)致算法的魯棒性比較差.針對以上問題,Henriques等[34]提出了KCF算法,利用 HOG(histogramso for ientedgradients)特征代替MOSSE中使用的原像素,增強(qiáng)了濾波器對目標(biāo)和環(huán)境的判別能力.此外在MOSSE線性回歸模型的基礎(chǔ)上加入了正則項建立了線性嶺回歸模型[35,36]:
KCF算法利用循環(huán)矩陣和核函數(shù)大大提高了跟蹤的速度和精度.但其跟蹤模型僅使用了HOG特征,在特征信息出現(xiàn)模糊時容易導(dǎo)致跟蹤失敗,而且學(xué)習(xí)率是固定不變的,使得跟蹤模型易受到周圍環(huán)境的污染,不適合長時間跟蹤[37].
深度學(xué)習(xí)是包含多級非線性變換的層級機(jī)器學(xué)習(xí)方法,深層次神經(jīng)網(wǎng)絡(luò)是其主要形式.神經(jīng)網(wǎng)絡(luò)中層與層之間的神經(jīng)元連接模式受啟發(fā)于生物神經(jīng)網(wǎng)絡(luò)[38].深度學(xué)習(xí)算法與傳統(tǒng)算法相比,不需要手動選擇特征,具備良好的特征提取能力.但由于深度學(xué)習(xí)算法需要大量的數(shù)據(jù)以及高性能的計算機(jī)來訓(xùn)練數(shù)據(jù),而之前的計算機(jī)性能不能滿足深度學(xué)習(xí)算法的需求,也沒有大量的數(shù)據(jù)用來訓(xùn)練[39],因而深度學(xué)習(xí)算法沉寂了相當(dāng)長的一段時間[40].近年來,隨著大數(shù)據(jù)時代的到來、計算機(jī)性能的提升,深度學(xué)習(xí)開始廣泛應(yīng)用于計算機(jī)視覺的各個領(lǐng)域,深度學(xué)習(xí)算法在行人跟蹤領(lǐng)域應(yīng)用的主流思路是 tracking-by-detection[41],即首先用深度學(xué)習(xí)模型提取目標(biāo)行人的特征,檢測出視頻中的行人所在位置,然后用多目標(biāo)跟蹤器對目標(biāo)進(jìn)行持續(xù)跟蹤.本文以卷積神經(jīng)網(wǎng)絡(luò)為例介紹深度學(xué)習(xí)算法在行人跟蹤上的應(yīng)用.
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是一種典型的深度學(xué)習(xí)模型.LeCun[42]最早提出了CNN的概念.2012年,Krizhevskyd等[43]首次將深度卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到圖像分類領(lǐng)域,其設(shè)計的AlexNet 網(wǎng)絡(luò)模型贏得了ImageNet圖像分類比賽的冠軍,成功地把深度卷積神經(jīng)網(wǎng)絡(luò)引入了計算機(jī)視覺領(lǐng)域.此后ImageNet比賽的冠軍均是采用深度卷積神經(jīng)網(wǎng)絡(luò)的方法完成的.CNN的基本結(jié)構(gòu)包括輸入層、卷積層、池化層、全連接層及輸出層[44],如圖2所示.
圖2 CNN基本結(jié)構(gòu)圖Fig.2.CNN basic structure diagramt.
圖2中只繪制出了一個卷積層和池化層,然而在實際的網(wǎng)絡(luò)中經(jīng)常有若干個卷積層和池化層交替連接.在卷積層中通常使用一個大小為 f ×f 的濾波器執(zhí)行卷積操作來提取圖像中的特征,網(wǎng)絡(luò)前面淺層的卷積層用來提取圖像的低級特征,后面更深層的卷積層用來提取圖像的高級特征,全連接層將提取到的圖片的特征歸一化為一維的特征向量,輸出層在分類問題中用來輸出每個類別的概率.在處理行人檢測問題時,卷積神經(jīng)網(wǎng)絡(luò)模型按照檢測的步驟可以劃分為One-stage和Two-stage 兩類.Two-stage把檢測行人分為兩個階段,首先產(chǎn)生行人候選區(qū)域(region proposals),然后對候選區(qū)域進(jìn)行分類,其典型代表是RCNN,SPP-Net,Faster-RCNN等模型,特點是準(zhǔn)確率較高,但檢測速度慢.One-stage 可以直接生成行人的類別概率和位置坐標(biāo),其典型代表是YOLO系列模型以及CornerNet,CenterNet等模型,其特點是運算速度較快,但準(zhǔn)確率一般較低.
2014年,Girshick等[45]提出 RCNN(regions with CNN features)模型進(jìn)行目標(biāo)檢測,將卷積神經(jīng)網(wǎng)絡(luò)引入目標(biāo)檢測領(lǐng)域.RCNN 就是在目標(biāo)候選區(qū)內(nèi)用CNN的方法來提取特征,處理流程如圖3所示.
該模型首先使用選擇性搜索(selective search)算法[46]在輸入圖片上生成2000個左右的目標(biāo)候選區(qū)域,然后對這些候選區(qū)域進(jìn)行歸一化操作,并將歸一化后的候選區(qū)域送到AlexNet卷積網(wǎng)絡(luò)提取特征.在AlexNet網(wǎng)絡(luò)中有5個卷積層可以提取特征,經(jīng)過一輪訓(xùn)練后,每個候選區(qū)域都能夠得到一個4096維的特征向量,然后將提取到的特征傳入SVM分類器中進(jìn)行分類,最后使用卷積層的輸出訓(xùn)練一個回歸器(dx,dy,dw,dh)對候選區(qū)域進(jìn)行微修,使其接近真實標(biāo)注的區(qū)域.
RCNN的出現(xiàn)使得科研工作者不用再手工設(shè)計大量的人工特征,而且準(zhǔn)確率與傳統(tǒng)檢測算法相比有了很大的提高.但由于RCNN要求圖片輸入到卷積層的尺寸大小是固定的,因此需要對原始圖片做尺寸變換,這會讓圖片產(chǎn)生形變,損失一部分特征,降低了檢測的準(zhǔn)確率.并且每次檢測都要先生成 2000個候選區(qū)域,運算較為耗時,導(dǎo)致RCNN在VOC2007數(shù)據(jù)集上檢測一張圖片大約需要47 s[47],不能滿足實時性要求.
圖3 RCNN算法流程圖[45]Fig.3.RCNN algorithm flowchart[45].
2014年,He等[48]發(fā)現(xiàn)感興趣區(qū)域(region of interest,ROI)的特征都可以與特征圖上相應(yīng)位置的特征一一對應(yīng),于是提出了SPP-Net網(wǎng)絡(luò)模型.該模型一次檢測只需一次卷積運算,這使得檢測速度得到了極大提升,其檢測速度大約是RCNN的100 倍.SPP-Net網(wǎng)絡(luò)模型的結(jié)構(gòu)如圖4所示.
SPP-Net網(wǎng)絡(luò)模型首先對輸入圖片使用選擇性搜索(selective search)算法生成2000個左右的目標(biāo)候選區(qū)域,并將每個候選區(qū)域的大小劃分為4×4,2 ×2,1 ×1 的塊,然后用金字塔池化(spatial pyramid poooling,SPP)層進(jìn)行池化操作,得到維度為(4 ×4+2×2+1×1)× 256 的特征向量,最后將特征向量作為全連接層的輸入,在輸出層輸出.SPP-Net 網(wǎng)絡(luò)模型的核心是在卷積層后加了空間金字塔池化層,該層可以生成固定大小的圖片,不用對圖像進(jìn)行裁剪,減少了特征的損失,而且在整個過程中僅對圖片做一次卷積特征提取,極大地提高了通用物體的目標(biāo)檢測速度.但其需要將數(shù)據(jù)分為多個訓(xùn)練階段,步驟較為復(fù)雜[49].
雖然RCNN網(wǎng)絡(luò)模型和SPP-Net網(wǎng)絡(luò)模型檢測目標(biāo)的準(zhǔn)確度較高,但是它們在檢測之前均要先生成2000個左右的候選區(qū)域,這增加了目標(biāo)檢測的時間.Faster-RCNN模型[47]的最大貢獻(xiàn)在于廢除了選擇性搜索算法,利用區(qū)域提議網(wǎng)絡(luò)(region proposal network,RPN)生成候選區(qū)域,并通過共享卷積運算提取圖片特征,極大地降低了運算量[50],提高了檢測速度.RPN網(wǎng)絡(luò)模型的結(jié)構(gòu)如圖5所示.
圖4 SPP-Net結(jié)構(gòu)圖[48]Fig.4.SPP-Net structure diagramt[48].
圖5 RPN結(jié)構(gòu)圖[47]Fig.5.RPN structure diagramt[47].
RPN網(wǎng)絡(luò)首先在 n 維特征圖的每個像素上生成 k 個不同尺寸的錨框,并給每個錨框分配一個二進(jìn)制的標(biāo)簽(是否是目標(biāo)),若錨框與實際目標(biāo)的重疊區(qū)域的面積大于0.7倍總面積則被標(biāo)記為正標(biāo)簽,若錨框與實際目標(biāo)的的重疊區(qū)域的面積小于0.3 倍總面積則被標(biāo)記為負(fù)標(biāo)簽.然后用一個大小為 s ×s 的 滑動窗口生成一個 n 維的特征,最后連接到分類層和回歸層[51],判斷是否存在目標(biāo)并記錄目標(biāo)位置.
Faster-RCNN采用RPN網(wǎng)絡(luò)降低了生成候選框所需的時間,并將Softmax分類器和回歸器結(jié)合,不用分別訓(xùn)練網(wǎng)絡(luò)模型,檢測效果和速度均優(yōu)于RCNN和SPP-Net網(wǎng)絡(luò),作者在PASCKL VOC 2007數(shù)據(jù)集中測試的平均精度為0.73.但由于RPN網(wǎng)絡(luò)中采用滑動窗口遍歷卷積特征圖,因此也增加了時間的開銷.
以上所介紹的目標(biāo)檢測算法都是先劃分目標(biāo)候選區(qū)域然后再預(yù)測目標(biāo)類別,而YOLO[52]將目標(biāo)區(qū)域候選區(qū)域的劃分與類別的預(yù)測當(dāng)作一個回歸問題來處理,直接在圖片上輸出多個目標(biāo)的位置和類別,在保證較高準(zhǔn)確率的前提下實現(xiàn)目標(biāo)的快速檢測,更能滿足現(xiàn)實需求[53].YOLO 總共經(jīng)歷了YOLO,YOLOV2,YOLOV3三個版本,下面分別對其進(jìn)行介紹.
YOLO采用改進(jìn)的InceptionV1[54]模型提取圖片的特征,因為InceptionV1模型要求輸入圖片的尺寸大小是448 × 448,因此首先要將輸入圖片的尺寸調(diào)整為448 × 448,其次將調(diào)整過尺寸的整張圖片作為卷積網(wǎng)絡(luò)的輸入,并用大小為 S ×S 的網(wǎng)格對原始圖片劃分,此時圖片中物體的中心點就會落在某個網(wǎng)格單元內(nèi),則對應(yīng)的網(wǎng)格單元就負(fù)責(zé)檢測該物體.每個網(wǎng)格單元預(yù)測B個候選框和候選框內(nèi)的置信度得分.每個候選框中包含 x,y,w,h和置信度5個信息[55],其中(x,y)表示預(yù)測邊框的中心點坐標(biāo),(w,h)表示預(yù)測邊框的寬和高,但需要注意的是中心點坐標(biāo)的數(shù)值是相對于小網(wǎng)絡(luò)邊框而言的,寬和高的數(shù)值是相對于整張圖片而言的.如果網(wǎng)格單元不包含物體,則置信度為0,否則置信度的計算公式為
得到置信度之后,每個網(wǎng)格單元會給出 C 個類別的條件概率,然后用(17)式計算各個網(wǎng)格單元內(nèi)所有類別的概率.
最后這些類別預(yù)測信息和置信度得分被編碼到 S ×S×(B×5+C)大小的向量中作為YOLO輸出層的輸出.在預(yù)測時每個網(wǎng)格單元會依據(jù)類別概率生成一個候選框,但是大物體會生成多個候選框,作者利用非極大值抑制算法選擇交并比(intersection over union,IoU)得分最高的候選框,并去除冗余窗口,優(yōu)化檢測結(jié)果.YOLO的檢測速度很快,可以達(dá)到每秒21幀,但是精度不高,平均精度只有0.66,容易漏檢小物體.針對以上問題,作者在2017年提出了YOLOV2模型[56],在YOLO模型的基礎(chǔ)上做了5 個方面的改進(jìn).首先在每一個卷積層后面都增加了批標(biāo)準(zhǔn)化(batch normalization,BN)操作,對數(shù)據(jù)做歸一化預(yù)處理,加快了收斂速度.其次將輸出層的全連接層替換為卷積層,由此可以微調(diào)圖片的輸入尺寸,使網(wǎng)絡(luò)適應(yīng)不同尺寸的輸入.然后引入了Faster-RCNN中候選區(qū)域框的概念,并采用K-均值聚類方法調(diào)整候選區(qū)域框的尺寸,使其更好地適應(yīng)目標(biāo)的尺寸.然后在模型中添加轉(zhuǎn)移層,將淺層特征圖連接到深層特征圖上,有利于檢測小目標(biāo).最后 YOLOV2不再讓每一個小網(wǎng)格預(yù)測目標(biāo)類別,而把這一任務(wù)交給候選區(qū)域框.這5個方面的改進(jìn)使得YOLOV2在PASCAL VOC數(shù)據(jù)集上的檢測速度達(dá)到每秒40幀,平均精度為0.786.
2018年,作者又對YOLOV2在速度和精度上進(jìn)行了改進(jìn),提出了YOLOV3模型[57].該模型采用具有 Darknet-53網(wǎng)絡(luò)來做特征提取,是YOLOV3的精度得以提升的關(guān)鍵因素.為了進(jìn)一步加強(qiáng)對小物體的檢測能力,YOLOV3利用多尺度特征對目標(biāo)進(jìn)行檢測,在論文中作者采用了大小為 1 3×13,26×26和52×52 三個不同尺度的特征.最后在分類時用 Logistic回歸替代YOLOV2的Softmax回歸,以便對多標(biāo)簽任務(wù)分類.YOLOV3 檢測一張尺寸為 3 20×320 的圖片所消耗的時間為22 ms,平均精度為28.2%.
以YOLO系列為代表的One-stage深度學(xué)習(xí)網(wǎng)絡(luò)模型和Two-stage 深度學(xué)習(xí)網(wǎng)絡(luò)模型均屬于anchor-base模型,需要使用不同大小、不同高寬比的 anchor作為檢測目標(biāo)的候選區(qū)域.anchor 的優(yōu)點是將目標(biāo)檢測問題轉(zhuǎn)化為目標(biāo)與anchor 的匹配問題,不必用目標(biāo)檢測算法遍歷圖片,極大地縮短了檢測目標(biāo)的時間,使得以YOLO 為代表的 Onestage 模型可以和Two-stage模型競爭.但使用anchor的深度學(xué)習(xí)模型也存在著兩個主要缺點,在使用anchor時不僅需要預(yù)先生成大量的anchor以便和圖片中的目標(biāo)重疊,這導(dǎo)致只有少量的anchor與目標(biāo)重疊,造成了正負(fù)樣本不均勻的問題[58],而且這些 anchor包含很多超參數(shù),比如anchor的數(shù)量、尺寸等,使得訓(xùn)練過程變得復(fù)雜.針對anchor-base模型存在的缺點,Law和Deng[59]提出一種新的One-stage 模型—CornerNet模型,該模型利用一對關(guān)鍵點—物體邊界框的左上角點和右下角點來檢測物體從而取代 anchor,CornerNet網(wǎng)絡(luò)模型的結(jié)構(gòu)如圖6 所示.
CornerNet網(wǎng)絡(luò)模型首先用hourglass網(wǎng)絡(luò)提取圖片特征,hourglass網(wǎng)絡(luò)先將特征圖下采樣到一個很小的尺度,之后再進(jìn)行上采樣還原特征圖的尺度,這樣可以獲取不同尺度下圖片所包含的信息,然后在hourglass 網(wǎng)絡(luò)之后連接兩個預(yù)測模塊,這兩個預(yù)測模塊分別預(yù)測邊界框的左上角點和右下角點,最后在每個預(yù)測模塊內(nèi)部經(jīng)過Corner pooling操作后生成 Heatmaps,Embeddings和Offects.
Heatmaps的作用是預(yù)測左上角點和右下角點的位置,其預(yù)測角點的損失函數(shù)為
其中,c 表示類別,heatmaps的尺寸是 H×W,pcij為 heatmaps中 c類物體在位置(i,j)得分,ycij表示對應(yīng)位置的groundtruth,N 是目標(biāo)數(shù)量,α,β是超參數(shù),作者在實驗中設(shè)置α=2,β=4;Embeddings的作用是匹配同一個邊界框的左上角點和右下角點,其匹配原理是,如果左上角點和右下角點來自同一個邊界框,則它們的Embeddings之間的距離應(yīng)該比較小,反之它們的Embeddings之間的距離應(yīng)該比較大.Embeddings通過兩個損失函數(shù)來表示這兩種距離:
其中etk是目標(biāo)k的左上角點,ebk是目標(biāo)k的右下角點,Lpull表示屬于同一個邊界框的左上角點和右下角點之間的距離,Lpush表示屬于不同邊界框的左上角點和右下角點之間的距離,ek表 示 ebk和etk的平均值,Δ 在實驗中設(shè)置為1;Offset的作用是微調(diào)預(yù)測出的邊界框,因為對圖片進(jìn)行全卷積操作之后,輸出的圖片尺寸會很小,因此,當(dāng)將位置信息從熱力圖映射到輸入圖片時會存在精度損失,這部分損失用 ok表示:
圖6 CornerNet結(jié)構(gòu)圖[59]Fig.6.CornerNet structure diagramt[59].
其中(xk,yk)表示角點 k的(x,y)坐標(biāo),得到ok之后,利用smooth L1損失函數(shù)監(jiān)督學(xué)習(xí)該參數(shù):
由于左上角點和右下角點不在物體內(nèi)部,因此Law和Deng[59]提出corner pooling來確定左上角點和右下角點,corner pooling的原理是,利用圖片中的上邊界和左邊界的信息確定左上角點,利用圖片中的下邊界和右邊界確定右下角點.CornerNet在MSCOCO數(shù)據(jù)集上測試的平均精度為42.1%,超過了絕大部分One-stage模型 在MSCOCO數(shù)據(jù)集中的平均精度.
雖然CornerNet網(wǎng)絡(luò)模型利用一對邊角點取代anchor提高了物體檢測的精度,由于CornerNet網(wǎng)絡(luò)模型中的邊角點不在物體內(nèi)部,因此CornerNet網(wǎng)絡(luò)模型無法感知物體內(nèi)部的信息,這其實也是大部分One-stage模型普遍存在的問題,而Two-stage模型可以感知物體內(nèi)部的信息,因此Two-stage模型的準(zhǔn)確率一般比One-stage模型的準(zhǔn)確率高.針對CornerNet模型無法感知物體內(nèi)部信息的缺點,Zhou等[60]提出CenterNet網(wǎng)絡(luò)模型,利用關(guān)鍵點估計找到物體的中心點并返回目標(biāo)的尺寸、 3 D 位置、方向、甚至姿態(tài)等其他屬性,充分利用了物體內(nèi)部的信息.Zhou等[60]在COCO數(shù)據(jù)集上對CenterNet網(wǎng)絡(luò)模型的速度和精度進(jìn)行了測試,CenterNet網(wǎng)絡(luò)模型在Resnet-18網(wǎng)絡(luò)下取得了每秒142幀的檢測速度和28.1%的檢測精度,在DLA-34網(wǎng)絡(luò)下取得了每秒52幀的檢測速度和37.4% 的檢測精度,在Hourglass-104網(wǎng)絡(luò)下取得了每秒1.4 幀的檢測速度和45.1%的檢測精度,其精度可以媲美Two-stage網(wǎng)絡(luò),實現(xiàn)了速度和精度的完美權(quán)衡.該模型的核心思想是,將圖片輸入到全卷積網(wǎng)絡(luò)中生成一個熱力圖,其中熱力圖的峰值對應(yīng)目標(biāo)的中心點,每個峰值點的圖像特征還可以預(yù)測邊界框的寬和高,返回目標(biāo)的其他屬性.
CenterNet網(wǎng)絡(luò)在訓(xùn)練過程中采用標(biāo)準(zhǔn)的密度監(jiān)督學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò),首先用預(yù)先標(biāo)注好的目標(biāo)真實中心點坐標(biāo)作為標(biāo)簽來預(yù)測目標(biāo)的中心點坐標(biāo),目標(biāo)真實中心點坐標(biāo)的計算公式為
其中(x1,x2,y1,y2)表示目標(biāo)邊界框的坐標(biāo),計算出真實坐標(biāo) p 之后,用下采樣后的替代p,其中 R 是下采樣因子,然后采用高斯核Yxyc=將關(guān)鍵點分布到特征圖上,其中 σp是目標(biāo)尺寸自適應(yīng)標(biāo)準(zhǔn)差,并用如下所示的損失函數(shù)使得預(yù)測的目標(biāo)中心點坐標(biāo)與真實值之間的距離最小:
其中 α,β 是損失函數(shù)的超參數(shù),在實驗中作者設(shè)α=2,β=4;N 是圖片中關(guān)鍵點的數(shù)量.
由于在訓(xùn)練過程中,用下采樣因子 R 對圖片進(jìn)行了下采樣,把特征圖重新映射到原始圖片時會存在誤差,因此用local offect補償損失,并用L1 Loss訓(xùn)練偏置值 Loff:
然后再利用得到的中心點坐標(biāo)對每個目標(biāo)的尺寸進(jìn)行回歸,預(yù)測邊界框的尺寸信息:
其中,λsize=0.1,λoff=1;這樣用一個網(wǎng)絡(luò)就可以得到目標(biāo)中心點的預(yù)測值、偏置和尺寸.
由于CenterNet較為簡單,同時兼顧了速度和精度,因此可以考慮將其應(yīng)用到算力比較小的嵌入式平臺中.但CenterNet網(wǎng)絡(luò)也存在一定的缺點,由于它只檢測物體的中心點,因此當(dāng)多個物體的中心點重疊時,CenterNet 只能檢測出一個中心點,會出現(xiàn)漏檢的情況.針對CenterNet的這一缺點,Duan等[61]用中心點、左上角點和右下角點三個關(guān)鍵點檢測物體,提高了物體的檢測精度,在MSCOCO數(shù)據(jù)集中的檢測精度達(dá)到了47.0%,但是檢測速度比較慢,檢測一張圖片需要340 ms[61].
相較于傳統(tǒng)方法,深度學(xué)習(xí)能夠從訓(xùn)練數(shù)據(jù)中抽取出更加抽象的特征,而且隨著訓(xùn)練數(shù)據(jù)的增加,模型的效果也顯著增加.但深度學(xué)習(xí)模型計算量大,難以調(diào)參,對設(shè)備的運算能力要求比較高,大多數(shù)深度學(xué)習(xí)模型很難滿足實時性要求.因此在實際應(yīng)用中一般會對深度模型的結(jié)構(gòu)做輕量化處理,犧牲一定的準(zhǔn)確度來換取實時性,或者提高硬件的運算能力.
由于深度學(xué)習(xí)算法的評價指標(biāo)平均精度(mean average precision,mAP)屬于目標(biāo)檢測領(lǐng)域的指標(biāo),只能用于衡量檢測目標(biāo)的準(zhǔn)確性,不能用來衡量多目標(biāo)算法的跟蹤性能,因此為了比較以上跟蹤算法的性能,需要選擇相應(yīng)的多目標(biāo)跟蹤評價指標(biāo)對其進(jìn)行衡量.文獻(xiàn)[62]最早提出了多目標(biāo)跟蹤準(zhǔn)確度MOTA、多目標(biāo)跟蹤精度MOTP 兩種評價指標(biāo),此外在MOT Challenge[63]多目標(biāo)跟蹤評價平臺上也提供了部分評價指標(biāo),如跟蹤軌跡大致完整(大于80%)的比率MT、虛警數(shù)FP、丟失數(shù)FN 以及軌跡誤配數(shù)IDS.其中MOTA是最重要的一個指標(biāo),用來度量算法能否準(zhǔn)確確定目標(biāo)個數(shù).
其中 f pt,mt,m met分 別表示在第 t 幀時的誤判數(shù),丟失數(shù),誤配數(shù),gt表 示第 t 幀時跟蹤的目標(biāo)數(shù).MOTA的取值范圍是(—∞,1],僅當(dāng)沒有錯誤的時候取1.
MOTP用來度量算法能否準(zhǔn)確確定目標(biāo)的位置,
本文從文獻(xiàn)中查找了相關(guān)算法的性能指標(biāo)并以表格的形式列舉出來,其中 “↑”表示數(shù)值越大,性能越好.“↓”表示數(shù)值越小,性能一越好.“—”表示沒有找到相關(guān)指標(biāo),所以表中并未列出.不同算法之間的性能對比如表3所列.
表3 不同算法之間的性能對比Table 3.Performance comparison between different algorithms.
利用以上部分介紹的算法和模型,便可以得到行人 k 的邊界框坐標(biāo)(xk1,yk1,xk2,yk2),對相應(yīng)的坐標(biāo)求平均值便可得到行人 k 的中心點坐標(biāo)然后進(jìn)一步用時間間隔 Δ t 記錄行人的中心點坐標(biāo),最后用相鄰兩次的坐標(biāo)之差與 Δt 相除便可求得行人的速度信息.在得到行人的運動軌跡、速度等參數(shù)之后,便可對移動人群的運動模式進(jìn)行分析,從中挖掘出群體行為的潛在規(guī)律[68].已有大量文獻(xiàn)建立了各種模型分析行人的動力學(xué)行為[69,70],本文介紹三種典型的流體動力學(xué)模型、社會力模型、啟發(fā)式模型,以及結(jié)合了多種模型的集成模型.
針對人群行為分析問題,Henderson[71-74]首先將氣體動力學(xué)和流體動力學(xué)模型應(yīng)用到行人群體中.他通過測量各種人群的速度頻率分布發(fā)現(xiàn)行人在經(jīng)過十字路口時大部分人為了躲避來往車輛會降低行走速度,而少部分人會加快行走速度.進(jìn)一步的研究還表明經(jīng)過十字路口時女性的速度比男性的速度要低.因此作者用性別和遇到的車輛數(shù)量對行人群體進(jìn)行劃分,對女性和男性分別用二維氣體的麥克斯韋- 玻爾茲曼速度分布進(jìn)行描述,得到了很好的擬合效果,但其存在一個動量守恒和能量守恒的假設(shè)條件.
后來,Helbing[75]舍棄了動量守恒和能量守恒的假設(shè),用一個改進(jìn)的類玻爾茲曼的氣體動力學(xué)模型來描述不同的行人群體.該模型首先將行人按照行走方向的不同劃分為不同的模式 μ,其次給不同模式的 μ 設(shè)置三個變量其中 x 表示模式 μ 所處的位置,表示模式 μ 的理想速度,vμ表示模式 μ 的實際速度,然后利用上述三個變量建立密度方程密度與 行人達(dá)到理想速度的趨勢[76,77]、行人間的相互作用、運動模式的改變、每單位時間內(nèi)區(qū)域密度的增加或減少四個因素有關(guān),下面具體介紹這四個因素對密度的影響.
2)行人之間的相互作用通過影響行人的行進(jìn)速度進(jìn)而影響行人密度,這一因素的影響可以用類玻爾茲曼混沌 假設(shè)[78,79]建模:
3)若行人的運動模式在運動過程中發(fā)生變化,則有
4)行人走出和進(jìn)入某個區(qū)域?qū)υ搮^(qū)域在單位時間內(nèi)密度的影響,可以用公式表示為
流體動力學(xué)模型從宏觀層面來描述行人,注重整個人群中密度和速度的平均值,可以很好地把握行人的整體行為特征,在解釋行人擁堵、人群分流等方面得到了廣泛的應(yīng)用[80].但是其忽視了人群中個體與個體之間的相互作用,不能從微觀層面刻畫每個行人的行為特征,也無法解釋個體行為對群體行為的影響[81].
針對流體動力學(xué)模型無法從微觀層面上描述個體行為的問題,Johansson等[82]提出了社會力模型.社會力模型中的社會力由自驅(qū)動力、排斥力和吸引力三部分組成.
自驅(qū)動力的作用是驅(qū)使行人向目標(biāo)方向前進(jìn).行人正常行走時,其實際速度 vα等于理想速度.如果受到障礙物的干擾,行人會調(diào)整自己的速度,但在自驅(qū)動力的作用下會產(chǎn)生一個指向的加速度,使得實際速度 vα向理想速度靠近,自驅(qū)動力的作用可以表示為
行人之間的排斥力用于減小其他行人對個體私人領(lǐng)域侵犯的影響.當(dāng)個人的私人領(lǐng)域受到侵犯時,通常會感到不舒服,從而產(chǎn)生一個排斥力與其他行人保持一定距離.排斥力的大小取決于行人的密度和理想速度 v0,行人 α 在 接近陌生人 β 時,可以用下面的方程表示:
其中 rαβ=rα-rβ是行人 β 步距的數(shù)量級.
此外,當(dāng)行人靠近障礙物時也會感覺到不舒服,行人與障礙物也會保持一定的距離以免自己受傷.這種與障礙物之間的排斥力可以描述為
行人有時也會被其他行人(朋友)或者障礙物所吸引.在地點 ri的 吸引力 fαi可以用單調(diào)遞增的吸引潛力表示:
上面所提到的力都是行走在運動方向上所能感知到的.除此之外,還應(yīng)考慮在行人身后的弱影響 c,0 < c < 1.由此引入方向相關(guān)權(quán)重:
綜上,一個行人行為的排斥力和吸引力可以表示為:
行人所受的總社會力為
社會力模型為
其中fluctuations表示波動,代表偶然或者故意偏離了常規(guī)的運動模式.社會力模型不僅能解釋微觀層面上行人行為模式的改變,比如遇到障礙物行人會減慢速度等,而且可以從個體行為模式的改變推導(dǎo)出整個人群中壓力、密度等宏觀參數(shù)的變化.
社會力模型雖然能夠解釋一部分人群行為,但是在實際的應(yīng)用過程中會產(chǎn)生比較復(fù)雜的數(shù)學(xué)公式,參數(shù)很難校準(zhǔn)[83].因此Moussa?d等[84]提出一種簡單的行為啟發(fā)式模型來捕捉人群行為中的潛在規(guī)律.該模型認(rèn)為行人行為模式的改變是通過兩種簡單的認(rèn)知過程完成的,并加入了行人的視覺信息[85-87].此外還考慮了極度擁擠情況下行人之間無意的碰撞行為.該模型主要包括視覺信息復(fù)現(xiàn)、認(rèn)知過程、碰撞效應(yīng)三部分.
首先對現(xiàn)實世界中行人所感受到的視覺信息進(jìn)行復(fù),視覺信息主要包括視野范圍和視野范圍內(nèi)最近的障礙物到行人的距離兩部分.其中視野范圍用區(qū)間 [ - Φ,Φ]表示,其含義是以行人行走視線Hi所在方向為基準(zhǔn),向視線 Hi左右兩邊最大各傾斜Φ度.視野范圍內(nèi)最近一個障礙物到行人 i 的距離用f 表示,如果行人i以速度在向目標(biāo)方向前進(jìn)的過程中不會與障礙物發(fā)生碰撞,則令 f 等于無窮大.其次構(gòu)造兩個認(rèn)知過程來模擬行人對視覺信息的處理,第一個認(rèn)知過程用來確定行人在遇到障礙物之后所選擇的行走方向,第二個認(rèn)知過程用來確定行人遇到障礙物之后應(yīng)該調(diào)整為多大的速度.
經(jīng)驗數(shù)據(jù)表明[87],行人在避開障礙物的前提下并不愿意在目的路線上偏離太多.因此,第一個認(rèn)知過程是“行人在保證不與障礙物發(fā)生碰撞的前提下,選擇一條到目的地 Oi的最短路徑”,可以表示為:
其中 αdes表示行人遇到障礙物后所選擇的最短路徑方向,α0表示目的地的方向.
行人在發(fā)現(xiàn)障礙物之后,需要一個緩沖時間τ來防止與障礙物發(fā)生意外碰撞.由此第二個啟發(fā)式是“行人在所選擇的行走方向上與障礙物保持一定的距離”,可以表示為
其中 vdes(t)表 示實際速度,表示理想速度,dh表示最近的障礙物和行人的距離,τ 表示緩沖時間.
上述兩部分可以很好地模擬出稀疏場景下行人的行為,但在擁堵場景下需要考慮行人行人之間無意的碰撞.
其中 nij是從行人 i 指 向行人 j 的歸一化向量;dij表示行人之間的距離;ri,rj分 別表示行人 i,j的半徑;k g是系數(shù);fij表示行人 i,j 之間的相互作用力.
啟發(fā)式模型相比于流體動力學(xué)模型和社會力模型,更加真實地模擬出了人們在遇到地震、恐怖襲擊、火災(zāi)等緊急場景下的群體行為,且該模型對個體的運動軌跡和集體的運動模式的預(yù)測 與大量的經(jīng)驗和實驗數(shù)據(jù)相一致.
隨著研究的深入,人們發(fā)現(xiàn)單一的模型都存在一定的缺點,很難準(zhǔn)確描述人類行為.比如啟發(fā)式模型雖然簡單高效,但它無法像社會力模型那樣描述來自其他行人或者障礙物的排斥力.同樣社會力模型中也不能運用啟發(fā)式模型中的視覺信息來調(diào)節(jié)行走方向.于是Porter等[88]提出了IM模型框架,該模型集成了社會力模型、行為啟發(fā)式模型以及材料科學(xué)理論,充分發(fā)揮了每個模型的優(yōu)勢.
作者首先用社會力模型中的公式(24)式描述行人遇到障礙物后實際速度與理想速度的不同,用(25)式和(27)式描述行人之間、行人與障礙物之間的排斥力.其次用行為啟發(fā)式模型確定行人在遇到障礙物時所選擇的行走方向,公式如下:
其中 eα(t)表 示行人 α 的 目標(biāo)方向,dmax表示行人α視線的最遠(yuǎn)距離,r(e)表示距離行人最近的一個障礙物的距離,e0表 示目的地的方向,e 表示視野范圍內(nèi)的方向.
作者最后將材料科學(xué)中“只考慮直接相鄰的分子,就可以很好地模擬分子間的相互作用”的理論應(yīng)用到行人之間的交互中,只考慮在行人視野中的多個行人的影響,這樣就不需要考慮周圍所有的行人,大大簡化了運算量.
現(xiàn)在市場上安裝的監(jiān)控攝像機(jī)需要有專門的人員不斷地監(jiān)察影像以應(yīng)付可疑事件,但實際上這些攝像頭拍攝的視頻很少有人一直監(jiān)察或者根本沒有人監(jiān)察,導(dǎo)致攝像機(jī)沒有起到應(yīng)有的作用[89].因此,如果計算機(jī)能自動監(jiān)視它便可起到預(yù)警的作用,幫助人們提前發(fā)現(xiàn)異常情況.
在擁擠的環(huán)境(比如機(jī)場、車站、地鐵等)中經(jīng)常發(fā)生行人丟失物品的事件,一旦丟失物品,就需要視頻調(diào)度員從大量的視頻中尋找,耗時且滯后.為了解決這一問題,Ferrando等[90]建立了一種從室內(nèi)場景中檢測丟失物體的系統(tǒng).該系統(tǒng)包括目標(biāo)分割、目標(biāo)的識別和跟蹤以及動作決策三個模塊.該系統(tǒng)首先將目標(biāo)按照是行人還是物體、是動態(tài)還是靜態(tài)劃分為4 類,然后對動態(tài)的行人和物體進(jìn)行持續(xù)跟蹤,最終物體處于靜止?fàn)顟B(tài)時則被認(rèn)定為丟失,及時發(fā)出警報,來協(xié)助工作人員進(jìn)行處理.但該系統(tǒng)僅適合在室內(nèi)場合使用,并且行人之間的遮擋時間過長會導(dǎo)致誤報,這時就需要人工來判別.
類似的系統(tǒng)還包括國內(nèi)清華大學(xué)劉曉東等[91]開發(fā)的一套集運動目標(biāo)檢測、目標(biāo)跟蹤、目標(biāo)分類一體的智能監(jiān)控系統(tǒng),湖南大學(xué)萬琴和王耀南[92]提出的一種針對固定監(jiān)控場景的運動檢測與目標(biāo)跟蹤方法.在國外,Nikouei等[93]把智能監(jiān)控作為一種邊緣網(wǎng)絡(luò)服務(wù),提出了一種輕量級CNN算法,擁有更高的運算速度和較少的內(nèi)存使用,提高了行人檢測的實時性.Gajjar等[94]用K-均值算法來跟蹤監(jiān)控視頻中的行人,首先在視頻中記錄與行人位置相關(guān)的HOG特征向量,然后用K-均值算法聚類得到了行人的軌跡.
人群踩踏是擁堵人群中最具災(zāi)難性的事件之一[95].當(dāng)聚集在一個地點的人群密度過高時,人與人之間不可避免地會發(fā)生身體接觸,此時一個行人對其周圍人的作用力會像水紋一樣不斷向外傳播,并與其他各個方向不同大小的力相互疊加起來共同作用在人群中.這些合力將人們在人潮中推來推去,同時由于人群密度的增加,人群之間的溫度也隨之升高.擁擠的空間加上悶熱的環(huán)境會讓人產(chǎn)生頭暈、乏力等癥狀.如果此時有人不幸跌倒,那么在多米諾骨牌效應(yīng)的作用下會引發(fā)一系列連鎖反應(yīng)—周圍的人也相繼跌倒[96],從而引發(fā)大規(guī)模的踩踏傷亡事件.擁堵人群的安全問題在應(yīng)急管理、消防安全、建筑設(shè)計等領(lǐng)域都有著重要意義[97].
然而行人跟蹤領(lǐng)域長期缺乏帶注釋的視頻數(shù)據(jù)集,很難用計算機(jī)視覺的方法對其進(jìn)行分析.直到最近Zawbaa等[98]利用HUER數(shù)據(jù)集,對6個不同的朝圣地點進(jìn)行了建模,可以實現(xiàn)在不同的朝圣視頻場景中對儀式地點進(jìn)行分類.該系統(tǒng)包括預(yù)處理、分割、特征提取和位置分類四個階段.將視頻幀作為輸入輸入到k近鄰(KNN)、人工神經(jīng)網(wǎng)絡(luò)(ANN)和支持向量機(jī)(SVM)分類器中.該系統(tǒng)普遍提高了六個朝覲儀式的識別準(zhǔn)確率,其準(zhǔn)確率超過90%.雖然這個系統(tǒng)在識別朝覲儀式上有更好的準(zhǔn)確性,但還不足以對踩踏事件作出預(yù)警.
針對以上問題,Helbing等[99]通過對擁堵人群中密度、速度、壓力等參數(shù)的分析,發(fā)現(xiàn)當(dāng)人群中的壓力是導(dǎo)致踩踏事件的關(guān)鍵因素,一旦壓力超過0.02 則踩踏事件不可避免,由此提供了一個踩踏事件的預(yù)警機(jī)制.在實際生活中,踩踏事件多由突發(fā)事件引起,Zhao等[100]通過對由突發(fā)事件的研究發(fā)現(xiàn),在突發(fā)事件發(fā)生之后人們會爭先恐后地往出口方向逃脫,這造成出口區(qū)域附近人員密度極高,人與人之間的擁擠程度加深,減緩了人們的逃離速度.針對這一現(xiàn)象,Zhao等[100]在出口處設(shè)置類似面板形狀的障礙物引導(dǎo)行人分流,降低出口區(qū)域的人群密度,并通過實驗表明該方法可以提高疏散效率,減少人員傷亡.因此對擁堵人群設(shè)計有效的疏散方法,有助于減少人群中由于恐慌和從眾行為所造成的經(jīng)濟(jì)損失和人員傷亡,對改進(jìn)應(yīng)對突發(fā)事件的策略具有十分重要的意義[101].
在公共安全領(lǐng)域,需要及時發(fā)現(xiàn)危險分子的異常行為,確保人民群眾的生命和財產(chǎn)安全.Yogameena和Nagananthini[102]利用投影和骨架化方法對個體的正常和異常行為進(jìn)行分類,該系統(tǒng)主要包括運動檢測與跟蹤、行為分析,它可以檢測到人類走路、跑步、打架、彎腰等異常行為,準(zhǔn)確率高.但是適合稀疏人群,在擁堵人群中效果不佳.
隨著我國老齡化人口越來越嚴(yán)重,如何照顧好老人、防止老人摔倒是很重要的問題.Miaou等[103]認(rèn)為約70%的意外摔倒是可以預(yù)防的,并提出了一種結(jié)合個人信息(如年齡、性別、體重)的全攝像頭來檢測老年人是否摔倒.攝像機(jī)的圖像實時傳輸?shù)揭慌_服務(wù)器上,對前景中感興趣的對象進(jìn)行背景減除,然后系統(tǒng)使用連接組件標(biāo)記來獲取每個對象的面積、高度和寬度,設(shè)置一個簡單的判定跌落閾值來確定一個人是否跌落.此外,馬里蘭大學(xué)的計算機(jī)視覺實驗室利用對灰度圖像中的人體建模,同時根據(jù)手、腿及頭部等部位的動作的分析與跟蹤,能夠?qū)崿F(xiàn)對多個行人進(jìn)行檢測與跟蹤[104].Kocabas等[105]提出了一種多人姿態(tài)估計框架,該框架將多任務(wù)模型與殘差網(wǎng)絡(luò)相結(jié)合,可以聯(lián)合處理人體檢測、關(guān)鍵點檢測和姿態(tài)估計問題,作者在COCO關(guān)鍵點數(shù)據(jù)集上測試的檢測速度是23幀每秒.
行人跟蹤是計算機(jī)視覺領(lǐng)域中的難點和熱點問題,同時也是人類行為動力學(xué)中一個難點問題.雖然之前的工作提出了大量再現(xiàn)人群行為的模型,但由于缺乏對現(xiàn)有模型進(jìn)行驗證或校準(zhǔn)的公開數(shù)據(jù)集,使得這些模型之間沒有一個很好的評判標(biāo)準(zhǔn).而且目前關(guān)于大規(guī)模人群行為的分析大都停留在統(tǒng)計和宏觀層面上,如基于手機(jī)數(shù)據(jù)對受地震、極端氣候影響的人口遷移模式[106-108]以及對個人旅行模式的時空分布的研究[109,110];基于社交網(wǎng)絡(luò)軟件對自然災(zāi)害發(fā)生前后社交網(wǎng)絡(luò)的結(jié)構(gòu)及其演化的研究[111],對男同這一特殊群體的行為研究[112];基于傳感器的應(yīng)急管理救援研究等[113],但微觀層面上的研究極度缺乏.近年來,隨著深度學(xué)習(xí)技術(shù)在計算機(jī)視覺領(lǐng)域的興起,已有部分文獻(xiàn)運用深度學(xué)習(xí)技術(shù)分析人群中的異常行為、估計行人的運動姿態(tài),且取得了良好的效果.這使得人們應(yīng)用開源分析平臺建立大規(guī)模標(biāo)準(zhǔn)數(shù)據(jù)集成為了可能,并為在微觀和中觀尺度下對大規(guī)模人群行為分析提供了一個新思路.