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