期治博,杜磊,霍如,4,楊帆,黃韜
(1.北京郵電大學(xué)網(wǎng)絡(luò)與交換國家重點(diǎn)實(shí)驗室,北京 100876;2.中國信息通信研究院工業(yè)互聯(lián)網(wǎng)與物聯(lián)網(wǎng)研究所,北京 100083;3.北京工業(yè)大學(xué)信息學(xué)部,北京 100124;4.網(wǎng)絡(luò)通信與安全紫金山實(shí)驗室,江蘇 南京 211111)
隨著新一代信息技術(shù)的發(fā)展,城市的智能化程度不斷提升,智慧城市迅速崛起并成為城市發(fā)展的新理念和新方向。智慧城市利用物聯(lián)網(wǎng)、云計算、邊緣計算和人工智能等新型計算技術(shù),將城市規(guī)劃、設(shè)計、建設(shè)、管理和運(yùn)營等領(lǐng)域智能化,實(shí)現(xiàn)更加高效的城市運(yùn)行。智慧城市的發(fā)展使城市監(jiān)控攝像頭的數(shù)量急劇增加,這對城市建設(shè)和安防帶來了顯著改善。然而,現(xiàn)有的城市視頻監(jiān)控設(shè)備是各自獨(dú)立的,不利于城市建設(shè)中大數(shù)據(jù)分析的整合[1]。因此,研究多攝像頭視頻協(xié)同處理,從龐大的視頻數(shù)據(jù)中挖掘價值,成為未來城市互聯(lián)監(jiān)控的發(fā)展方向和重點(diǎn)。多攝像頭視頻數(shù)據(jù)的處理也是許多視覺智能應(yīng)用的基礎(chǔ),如物體檢測和跟蹤、物體視覺定位、物體速度估計等??焖侔l(fā)展的網(wǎng)絡(luò)技術(shù)對這些智能應(yīng)用提供了支持并使之成為熱點(diǎn)[2]。因此,多攝像頭視頻分析引起了眾多學(xué)者的關(guān)注。
現(xiàn)有的多攝像頭視頻分析方法大多基于獨(dú)立視頻流進(jìn)行處理[3]。具體而言,這些方法適用于同一場景下多個攝像頭同時采集不同角度的視頻,然而在對這些采集的視頻進(jìn)行分析時,主要針對每個攝像頭的單個視頻流進(jìn)行處理。為了在成本和精度之間進(jìn)行權(quán)衡,通常采用幀采樣或級聯(lián)濾波器去除較不重要的視頻幀以減少視頻量,從而降低成本。然而,所有的調(diào)整和壓縮操作都是在單個視頻流內(nèi)進(jìn)行的,不同攝像頭采集的視頻處理是相互獨(dú)立的,這導(dǎo)致了視頻分析中計算和存儲資源的線性增加。因此,基于這些視頻分析方法,多攝像頭視頻分析需要較大的計算、網(wǎng)絡(luò)和存儲資源。
為了提高實(shí)時多攝像頭視頻分析的效率并降低處理時延,可以在邊緣端對多攝像頭視頻進(jìn)行協(xié)同分析。它通過構(gòu)建多個攝像頭之間的關(guān)聯(lián)性來減少待分析視頻的數(shù)據(jù)量,縮減后的視頻可以在邊緣端或傳輸?shù)皆贫诉M(jìn)行進(jìn)一步的處理,從而降低整體視頻數(shù)據(jù)的冗余度,減輕邊緣端和云端視頻處理的工作量,進(jìn)而減少處理時延。同時相較于上述獨(dú)立視頻流分析,這種方法對計算能力和存儲資源等方面的要求較低。
因此,實(shí)現(xiàn)多攝像頭視頻的協(xié)同分析主要涉及以下2 個問題。1) 實(shí)時的視頻處理方法。實(shí)時視頻處理需要豐富的計算、網(wǎng)絡(luò)和存儲資源,但攝像頭本身的視頻處理能力有限,難以支持大規(guī)模且實(shí)時的視頻數(shù)據(jù)檢測和分析。因此,考慮利用配備邊緣服務(wù)器來擴(kuò)展攝像頭的視頻處理能力是必要的。將視頻傳輸?shù)竭吘壏?wù)器進(jìn)行處理,利用邊緣計算將云端計算能力下沉到邊緣端,可以減輕攝像頭的負(fù)擔(dān),并降低計算和傳輸時延。2) 多個攝像頭之間的關(guān)聯(lián)性。在相同時段和場景下,不同角度攝像頭所拍攝的視頻片段之間存在一定的關(guān)聯(lián)性。這可能包括從不同角度拍攝了同一個目標(biāo)的不同面,或者同一個目標(biāo)在不同攝像頭的視頻中先后出現(xiàn)。由于不同攝像頭的空間布局和視角關(guān)系通常很復(fù)雜,因此需要計算和處理不同視頻片段之間的關(guān)聯(lián)性,并作為后續(xù)視頻壓縮處理的依據(jù)。
為了應(yīng)對上述問題,本文提出了一種邊緣端多攝像頭視頻協(xié)同分析方法。該方法基于機(jī)器學(xué)習(xí)算法,設(shè)計關(guān)鍵窗口模型和多攝像頭關(guān)聯(lián)程度計算策略,為后續(xù)的視頻數(shù)據(jù)量縮減和進(jìn)一步的視頻處理做準(zhǔn)備。本文主要的研究工作總結(jié)如下。
1) 提出了一種新穎的多攝像頭視頻協(xié)同分析方法。該方法首先對每個攝像頭采集的視頻進(jìn)行目標(biāo)檢測;然后根據(jù)目標(biāo)檢測的結(jié)果生成關(guān)鍵窗口,對視頻進(jìn)行特征提取和初步篩選;隨后結(jié)合提取的特征利用重識別技術(shù)對檢測到的目標(biāo)進(jìn)行標(biāo)注,并根據(jù)標(biāo)注結(jié)果計算多攝像頭之間的關(guān)聯(lián)程度值;最后基于關(guān)聯(lián)程度值對視頻進(jìn)行壓縮處理。
2) 設(shè)計了用于表示不同攝像頭視頻幀中感興趣區(qū)域(RoI,region of interest)的關(guān)鍵窗口。首先對視頻幀進(jìn)行分塊處理,然后基于包括重要目標(biāo)的區(qū)域塊構(gòu)建關(guān)鍵窗口。同時本文提出多攝像頭關(guān)聯(lián)性計算策略,基于攝像頭關(guān)鍵窗口中目標(biāo)的標(biāo)注結(jié)果,計算不同攝像頭之間的關(guān)聯(lián)程度。
3) 提出了一種GC-ReID 算法來實(shí)現(xiàn)多攝像頭視頻協(xié)同分析方法。GC-ReID 結(jié)合圖卷積網(wǎng)絡(luò)(GCN,graph convolutional network)和重識別(ReID,re-identification)技術(shù),利用GCN 對各攝像頭中的重要目標(biāo)進(jìn)行快速檢測,并結(jié)合關(guān)鍵窗口迅速提取視頻數(shù)據(jù)特征。同時,利用ReID 對關(guān)鍵窗口的數(shù)據(jù)特征進(jìn)行快速標(biāo)注,結(jié)合計算策略得到多攝像頭之間的關(guān)聯(lián)程度值。
對于引言中所討論的問題,近期已有學(xué)者進(jìn)行了相關(guān)的研究。其中,一些學(xué)者結(jié)合不同的視頻處理策略和邊緣計算的能力提出了在邊緣服務(wù)器上進(jìn)行視頻分析的方法;另一些學(xué)者在結(jié)合邊緣計算技術(shù)的基礎(chǔ)上,研究視頻分析中多個攝像頭之間的資源競爭;此外,還有學(xué)者關(guān)注多個攝像頭檢測到的目標(biāo)之間的匹配關(guān)聯(lián)性。本節(jié)對這些相關(guān)研究進(jìn)行簡要回顧和分析。
現(xiàn)有的視頻分析研究主要利用邊緣或云的計算能力進(jìn)行視頻分析和處理,以從視頻中提取關(guān)鍵特征和有效信息。Yang 等[3]提出了基于檢測的跟蹤方法,適用于邊緣端高分辨率視頻的分析。趙羽等[4]提出了一種部署在邊緣端的視頻處理方法,利用輕量級的神經(jīng)網(wǎng)絡(luò)和聯(lián)邦學(xué)習(xí)分場景訓(xùn)練模型。Gao 等[5]提出了一種針對云邊緣視頻流的智能視頻處理架構(gòu),在云端部署并執(zhí)行基于深度神經(jīng)網(wǎng)絡(luò)(DNN,deep neural network)的視頻增強(qiáng)方法。然而,這些研究僅考慮對單個攝像頭采集的視頻進(jìn)行分析,而未涉及跨攝像頭和多攝像頭的視頻分析和處理。
關(guān)于視頻分析中多個攝像頭的資源競爭研究主要關(guān)注攝像頭視頻的任務(wù)卸載和計算資源分配。Chen 等[6]研究了多服務(wù)器和多用戶的異質(zhì)視頻分析任務(wù)卸載問題,基于博弈論進(jìn)行卸載算法設(shè)計,最終使多服務(wù)器多用戶的視頻分析任務(wù)卸載達(dá)到納什均衡。Yang 等[7]提出了終端、邊緣和云協(xié)同的實(shí)時視頻分析方法,通過對終端攝像頭進(jìn)行資源分配,使其能夠根據(jù)實(shí)時視頻生成高質(zhì)量的視頻幀。Wang 等[8]研究了多個視頻流在同一邊緣節(jié)點(diǎn)上共享上傳鏈路時的配置自適應(yīng)和帶寬分配問題,提出了聯(lián)合優(yōu)化配置適應(yīng)和帶寬分配的在線算法。Ran 等[9]提出了在邊緣端部署算力更強(qiáng)的服務(wù)器,利用深度學(xué)習(xí)模型來確定終端視頻分析任務(wù)的最佳卸載策略,并以時延和準(zhǔn)確率等作為目標(biāo)來優(yōu)化資源調(diào)度。Hung 等[10]通過引入主導(dǎo)需求來確定多種資源和準(zhǔn)確性之間的平衡,并利用層次聚類縮小搜索空間,同時平衡了視頻查詢的資源效益和準(zhǔn)確性損失。上述多攝像頭視頻分析方法主要研究邊緣系統(tǒng)下多攝像頭視頻分析任務(wù)的分配和卸載,而對于攝像頭本身視頻數(shù)據(jù)進(jìn)行協(xié)同處理的方法較少,缺乏對不同攝像頭視頻數(shù)據(jù)之間關(guān)系的細(xì)致分析,并且對視頻畫面之間的關(guān)聯(lián)程度考慮有限。
一些學(xué)者研究了多個攝像頭檢測到的目標(biāo)之間的匹配關(guān)聯(lián)性,并提出了進(jìn)行協(xié)同視頻處理的方法。Guo 等[11]提出了多人物多攝像頭實(shí)時視頻跟蹤框架,設(shè)計了基于時間的運(yùn)動模型研究視頻采樣幀之間的精確時間間隔,并利用改進(jìn)的多人匹配級聯(lián)方案提高攝像頭間人員再識別的準(zhǔn)確性。Chung 等[12]提出了一種多攝像頭多目標(biāo)車輛跟蹤系統(tǒng),利用車輛行為、合成數(shù)據(jù)和多種增強(qiáng)技術(shù)執(zhí)行視頻數(shù)據(jù)的上下文約束,從而減少跨攝像頭的分析時間。Li 等[13]提出了一種車輛跟蹤系統(tǒng),包括基于特征提取的車輛檢測和再識別模型、單攝像機(jī)跟蹤、增強(qiáng)軌跡預(yù)測和多級關(guān)聯(lián)方法。Liu 等[14]提出了一種基于遮擋感知的多目標(biāo)多攝像頭跟蹤框架,設(shè)計了目標(biāo)間信息模塊提高匹配精度,并利用目標(biāo)間關(guān)聯(lián)發(fā)掘軌跡相似性,最后通過聚類對不同攝像頭之間的目標(biāo)軌跡進(jìn)行匹配。Li 等[15]設(shè)計了視頻分析系統(tǒng)Reducto,根據(jù)不同的外部條件自定義濾波器對多攝像頭的視頻幀進(jìn)行過濾,并通過丟棄視頻片段中的幀來權(quán)衡傳輸成本和準(zhǔn)確性。盡管上述多攝像頭協(xié)同分析方法考慮到了攝像頭檢測到目標(biāo)的匹配和關(guān)聯(lián)度,但缺少對攝像頭本身之間關(guān)聯(lián)性的考慮,導(dǎo)致關(guān)鍵視頻幀的篩選力度不足,甚至可能會錯失關(guān)鍵目標(biāo)物體。因此,挖掘多個攝像頭之間的實(shí)時關(guān)聯(lián)并實(shí)現(xiàn)更高效的協(xié)同視頻分析具有更重要的意義。
本節(jié)提出了一種多攝像頭視頻協(xié)同分析(MVCA,multi-camera video collaborative analysis)方法。如圖1 所示,該方法適用于同一環(huán)境中配備有多個攝像頭的場景。這些攝像頭從不同的角度和方向采集場景視頻,并將其傳輸?shù)竭吘壏?wù)器。邊緣服務(wù)器對接收到的視頻進(jìn)行分析和處理,其中包括使用GCN 算法建立關(guān)鍵窗口,利用ReID 算法的結(jié)果計算多攝像頭之間的關(guān)聯(lián)程度。關(guān)聯(lián)程度值可以作為對視頻進(jìn)行壓縮的參考依據(jù)。最后,將壓縮后的視頻在邊緣端或者傳輸?shù)皆品?wù)器進(jìn)行深入分析和處理。這種方法大大減少了視頻處理數(shù)據(jù)量,降低了系統(tǒng)時延,并減輕了邊緣服務(wù)器和云服務(wù)器的負(fù)擔(dān),有助于最大化邊緣系統(tǒng)的整體效用。GCN 和ReID 的構(gòu)建和訓(xùn)練在云服務(wù)器離線完成,然后分別部署到直連邊緣服務(wù)器和主邊緣服務(wù)器上。
圖1 MVCA 方法框架
本文在邊緣側(cè)部署了多個攝像頭,以捕獲多個角度的實(shí)時視頻數(shù)據(jù)。攝像頭集合表示為N={n1,n2,n3,…,nx},其中,x為攝像頭的數(shù)量。邊緣服務(wù)器由一個主邊緣服務(wù)器Ms 及與攝像頭直接連接的直連邊緣服務(wù)器M={m1,m2,m3,…,mx}組成。每個攝像頭都與一個直連邊緣服務(wù)器相連。主邊緣服務(wù)器用于計算多個攝像頭之間的關(guān)聯(lián)程度,而直連邊緣服務(wù)器用于生成關(guān)鍵窗口。壓縮后的視頻可以在主邊緣服務(wù)器或者由直連邊緣服務(wù)器傳輸?shù)皆品?wù)器進(jìn)行進(jìn)一步分析,如圖1 所示。通過權(quán)衡視頻分析開銷和分析粒度,本文對若干時間段的視頻數(shù)據(jù)進(jìn)行了分析,每個時間段T的最小分析單元為一個時隙t,t∈T={t0,t1,t2,…,ty},y為時間段T中最后一個時隙的編號。在每個時間段T的開始,不同攝像頭拍攝的視頻以一個時隙為單位進(jìn)行分割并依次上傳至直連邊緣服務(wù)器。邊緣系統(tǒng)模型的參數(shù)和含義如表1 所示。
表1 邊緣系統(tǒng)模型的參數(shù)和含義
1) 通信模型
如上文所述,多個攝像頭N拍攝的視頻將同時傳輸?shù)礁髯缘闹边B邊緣服務(wù)器進(jìn)行進(jìn)一步處理。因此,本文使用頻分多址(FDMA,frequency division multiple access)技術(shù)來處理多攝像頭的視頻傳輸任務(wù)。根據(jù)香農(nóng)定理,可以得到攝像頭nz(0≤z≤x,x表示攝像頭的數(shù)量)的傳輸速率為
與一些現(xiàn)有的研究[16-17]類似,本文所提方法中忽略了主邊緣服務(wù)器在得到多攝像頭關(guān)聯(lián)程度值后返回結(jié)果到各直連邊緣服務(wù)器的時間成本。這是因為在視頻分析和處理過程中,傳輸和分析結(jié)果所需要的時間代價比傳輸和處理視頻數(shù)據(jù)所需要的時間代價要小很多。因此,當(dāng)攝像頭nz將拍攝的視頻單元傳輸?shù)较鄳?yīng)的邊緣服務(wù)器時,其傳輸時延為
雖然在本文中忽略了主邊緣服務(wù)器返回結(jié)果到各直連邊緣服務(wù)器的時間成本,但是直連邊緣服務(wù)器會將生成的關(guān)鍵窗口區(qū)域和檢測到的特征傳輸?shù)街鬟吘壏?wù)器和云服務(wù)器,因此本文也采用FDMA 來處理多個直連邊緣服務(wù)器的數(shù)據(jù)傳輸任務(wù)。同樣根據(jù)香農(nóng)定理,可以得到直連邊緣服務(wù)器mz(0≤z≤x,x表示直連邊緣服務(wù)器的數(shù)量,也是攝像頭的數(shù)量)的傳輸速率為
同樣,當(dāng)直連邊緣服務(wù)器mz將關(guān)鍵窗口和提取的特征數(shù)據(jù)傳輸?shù)街鬟吘壏?wù)器或云服務(wù)器時,其傳輸時延為
2) 計算模型
與現(xiàn)有研究[8]類似,本文使用虛擬并行處理技術(shù)[18]來支持同時執(zhí)行多個攝像頭視頻分析,從而實(shí)現(xiàn)對多個視頻進(jìn)行并行處理。在計算模型中,攝像頭nz所采集視頻數(shù)據(jù)中每個字節(jié)的計算需求為Cr(CPU 周期)。因此,直連邊緣服務(wù)器和主邊緣服務(wù)器在處理視頻時的計算時延為
其中,F(xiàn)e表示執(zhí)行視頻處理的邊緣服務(wù)器的CPU頻率。本文設(shè)定所提方法中邊緣系統(tǒng)的總時延Dtotal由傳輸時延和計算時延組成,即
為了便于發(fā)現(xiàn)不同攝像頭之間的視頻數(shù)據(jù)關(guān)聯(lián)性,本文設(shè)計了一種對攝像頭采集的視頻幀進(jìn)行分塊的方法。具體而言,攝像頭nz拍攝的視頻幀被劃分為大小相同的塊狀區(qū)域。這些塊狀區(qū)域是相對較小的矩形,它們共同構(gòu)成并覆蓋了視頻幀的整個畫面。如圖2 所示,每個攝像頭采集的視頻幀畫面被劃分為16 個矩形區(qū)域塊,按照從左到右和從上到下的順序,索引分別為1~16。攝像頭nz的區(qū)域塊集合用表示,其中第i個區(qū)域塊被表示為如圖2(a)所示,攝像頭1 采集視頻幀的左上角,其中第一行的區(qū)域塊可以表示為R1,1、R1,2、R1,3和R1,4,其余的區(qū)域塊依次類推。需要注意的是,視頻幀中的每個區(qū)域塊并不特定于某一幀或某一時隙,進(jìn)行區(qū)域分塊是為了能夠更精確地劃分?jǐn)z像頭所采集的視頻幀畫面。
圖2 攝像頭1~4 在時隙t 內(nèi)采集的視頻幀畫面
在本文提出的MVCA 方法中,首先需要使用機(jī)器學(xué)習(xí)算法對不同攝像頭采集的視頻幀進(jìn)行快速檢測,檢測結(jié)果中可能包含目標(biāo)物體的區(qū)域塊即感興趣區(qū)域,例如,移動的人或物體都屬于重要目標(biāo)物體。這些感興趣區(qū)域構(gòu)成了關(guān)鍵窗口。在視頻分析過程中,本文優(yōu)先處理關(guān)鍵窗口內(nèi)的區(qū)域塊,因為這些區(qū)域塊包含目標(biāo)物體,而關(guān)鍵窗口以外的區(qū)域塊動態(tài)性較差且缺乏目標(biāo)物體,所以處理優(yōu)先級級別較低,甚至被忽略而不進(jìn)行分析和處理。在本文中,構(gòu)成關(guān)鍵窗口的最小元素是以上所設(shè)計的區(qū)域塊。攝像頭nz的關(guān)鍵窗口用表示,即是包含目標(biāo)物體的所有區(qū)域塊的集合。例如,圖2(b)展示了攝像頭2 的關(guān)鍵窗口,即斜紋陰影標(biāo)注的區(qū)域塊,包括區(qū)域塊1~8。這些區(qū)域塊是通過目標(biāo)檢測選擇得到的,共同構(gòu)成了攝像頭2 的關(guān)鍵窗口。因此,圖2 中攝像頭1~4 的關(guān)鍵窗口分別表示為
在進(jìn)行視頻數(shù)據(jù)處理時,為每個攝像頭設(shè)計一個包含最少區(qū)域塊的關(guān)鍵窗口非常重要,特別是當(dāng)人們希望關(guān)鍵窗口適用于較長的分析時間時。這樣在對視頻進(jìn)行處理時,只需要分析關(guān)鍵窗口中的區(qū)域就能夠提取到視頻數(shù)據(jù)中的關(guān)鍵信息,從而有效減少了視頻數(shù)據(jù)的處理量。本文提出的GC-ReID 利用GCN[19]快速檢測視頻中的目標(biāo)物體用以生成關(guān)鍵窗口,更詳細(xì)的介紹見第3 節(jié)。
為了進(jìn)一步減少視頻數(shù)據(jù)的分析量,本文設(shè)計了多攝像頭關(guān)聯(lián)性的構(gòu)建方法。其主要原理是采用機(jī)器學(xué)習(xí)算法對于關(guān)鍵窗口中的目標(biāo)物體進(jìn)行檢測并提取特征,然后對提取的特征進(jìn)行分類。根據(jù)分類結(jié)果為關(guān)鍵窗口中每個檢測到的物體分配一個ID 號。然而,由于這些攝像頭處于同一場景下,不同攝像頭采集的視頻幀往往會捕捉到相同的目標(biāo)物體。因此,通過分類算法,同一物體將被賦予相同的ID 號。例如,圖2(a)和圖2(b)分別表示在同一環(huán)境中2 個不同的攝像頭拍攝的畫面。利用GC-ReID 中的ReID 算法,可以識別2 個畫面中相同的人物,為其分配相同的ID 號。假設(shè)同一場景下同一時隙檢測到的目標(biāo)物體的集合為L={l1,l2,l3,…,lo}。雖然角度不同,但是人物l1、l2、l3、l4和l5同時出現(xiàn)在攝像頭1 和攝像頭2的視頻幀中,即他們在2 個攝像頭中都被檢測到。然而,人物l6只出現(xiàn)在圖2(b)中,即只被攝像頭2檢測到。
依次類推,表2 中列出了10 個所檢測到目標(biāo)物體的所有區(qū)域塊集合RSt。
表2 圖2 中區(qū)域塊的集合
根據(jù)表2 可以觀察到,不同攝像頭之間檢測到相同目標(biāo)物體的數(shù)量存在差異。當(dāng)2 個攝像頭檢測到相同目標(biāo)物體數(shù)量較多時,可以認(rèn)為它們之間的關(guān)聯(lián)性較強(qiáng)。為了便于分析不同攝像頭之間的關(guān)聯(lián)性,本文使用式(14)來計算關(guān)聯(lián)程度值A(chǔ)S。
本文設(shè)計了GC-ReID 算法用于實(shí)現(xiàn)多攝像頭視頻協(xié)同分析方法。如圖3 所示,各攝像頭直連的邊緣服務(wù)器并行執(zhí)行GCN 算法,從多個攝像頭采集的視頻數(shù)據(jù)中篩選關(guān)鍵特征,并根據(jù)這些特征建立關(guān)鍵窗口模型。隨后,直連邊緣服務(wù)器將關(guān)鍵窗口的內(nèi)容傳輸?shù)街鬟吘壏?wù)器。主邊緣服務(wù)器使用ReID 算法,將GCN 的結(jié)果和提取的關(guān)鍵窗口的內(nèi)容作為輸入,對關(guān)鍵窗口中檢測到的目標(biāo)物體進(jìn)行篩選并分配ID 號。根據(jù)ReID算法的處理結(jié)果,計算不同攝像頭之間的關(guān)聯(lián)程度值。隨后將關(guān)聯(lián)程度值返回到直連邊緣服務(wù)器,根據(jù)這些關(guān)聯(lián)程度值對多個攝像頭采集的視頻進(jìn)行壓縮和優(yōu)化。最后,壓縮后的視頻可以選擇在主邊緣服務(wù)器或者傳輸?shù)皆品?wù)器上進(jìn)行進(jìn)一步分析和處理,例如目標(biāo)檢測和目標(biāo)跟蹤等。GCN 和ReID 算法的構(gòu)建和訓(xùn)練均事先在云服務(wù)器完成并下發(fā)到邊緣服務(wù)器。
圖3 GC-ReID 的總體流程
本文采用GCN 提取攝像頭采集的視頻幀的關(guān)鍵特征,并檢測其中的目標(biāo)物體。最后,根據(jù)包含這些目標(biāo)物體的區(qū)域塊構(gòu)建每個攝像頭的關(guān)鍵窗口,詳細(xì)結(jié)構(gòu)如圖4 所示。
圖4 GCN 的結(jié)構(gòu)
圖4 中的輸入是連續(xù)的視頻幀片段,由攝像頭采集并上傳到直連邊緣服務(wù)器。輸入GCN 模塊后先使用兩層卷積層初步提取視頻幀的特征。然后將處理后的連續(xù)視頻幀建模為圖G={V,E}。其中,節(jié)點(diǎn)集合為V={v1,v2,…,vz},z表示節(jié)點(diǎn)的數(shù)量;邊集合為E=Etemp∪Esema,Etemp表示時間邊,Esema表示語義邊。一個節(jié)點(diǎn)表示一個視頻幀,一條邊表示一對節(jié)點(diǎn)之間的依賴關(guān)系。隨后使用圖卷積結(jié)構(gòu)塊提取特征。圖卷積結(jié)構(gòu)塊包含2 個圖卷積流:時間流操作固定的時態(tài)相鄰特征,語義流自適應(yīng)地將語義上下文聚合到視頻幀特征中。下面將描述2 種卷積流邊的設(shè)計以及圖卷積過程。
1) 時間邊
2) 語義邊
語義邊Esema是由動態(tài)邊卷積的概念定義的[20],它是根據(jù)圖節(jié)點(diǎn)之間的特征距離動態(tài)構(gòu)建的。語義邊的作用是從語義相關(guān)的視頻幀中收集信息。圖G中每個節(jié)點(diǎn)vi的語義邊Esema的定義為
其中,nri(k)表示節(jié)點(diǎn)vi的第k個近鄰節(jié)點(diǎn)索引,K表示近鄰節(jié)點(diǎn)索引數(shù)量。nri(k)是在圖卷積塊上動態(tài)確定的,通過它能夠更新整個圖卷積塊中本質(zhì)上攜帶語義上下文信息的節(jié)點(diǎn)。因此,Esema可以自適應(yīng)地改變以表示新的語義上下文級別。
3) 圖卷積和流聚合
圖G中所有節(jié)點(diǎn)的特征表示為Y=[y1,y2,…,yz] ∈Rc×z,其中,c表示每個視頻幀的特征維度。本文使用單層邊卷積[20]來進(jìn)行圖卷積操作GC。
其中,W∈R2c×c′表示可訓(xùn)練的權(quán)重矩陣,A∈Rz×z表示不帶自環(huán)(節(jié)點(diǎn)和它本身之間的邊)的鄰接矩陣,[*,*]表示列的矩陣串聯(lián)。本文將A中的第(i,j)個元素表示為A(i,j)=1{(vi,vj)∈E},其中,1{*}是指示函數(shù)。圖卷積結(jié)構(gòu)模塊中的2 個卷積流都分別設(shè)計了32 條路徑來增加轉(zhuǎn)換的多樣性。
圖卷積結(jié)構(gòu)模塊的輸出是語義流和時間流以及輸入的聚合,可以用式(19)表示。
2 種圖卷積流都遵循分裂-轉(zhuǎn)換-合并的策略,首先,使用多個卷積流來對圖進(jìn)行更新和聚合,輸出作為進(jìn)一步提取的特征。然后,將提取的特征輸入定位模塊,其中錨點(diǎn)定義的子圖由固定大小的特征表示。最后,定位模塊對視頻幀中的目標(biāo)物體進(jìn)行定位和檢測,根據(jù)定位結(jié)果結(jié)合關(guān)鍵窗口的建立方法輸出關(guān)鍵窗口。
本文采用DiDi-MTMC[21]算法為關(guān)鍵窗口中檢測到的目標(biāo)物體分配ID 號。該算法將從視頻幀中提取的特征進(jìn)行融合,并結(jié)合融合后的特征進(jìn)行分類。該算法可為多個攝像頭拍攝視頻幀中的每個目標(biāo)物體(本文場景中為人)分配一個唯一的ID 號。通過對這些ReID 的結(jié)果進(jìn)行篩選,并根據(jù)計算策略計算多個攝像頭之間的關(guān)聯(lián)程度。
GC-ReID 算法如算法1 所示。
算法1GC-ReID 算法
攝像頭采集的視頻經(jīng)過邊緣服務(wù)器的處理后傳輸?shù)皆品?wù)器進(jìn)行進(jìn)一步的處理。在邊緣服務(wù)器進(jìn)行處理可以得到每個攝像頭的關(guān)鍵窗口和攝像頭之間的關(guān)聯(lián)程度。因此,本文可以結(jié)合關(guān)鍵窗口和攝像頭之間的關(guān)聯(lián)程度對多個攝像頭采集的視頻進(jìn)行視頻幀篩選和壓縮。壓縮后的視頻能夠減少視頻數(shù)據(jù)量,并提升云端視頻處理的效率。
在視頻壓縮過程中,首先根據(jù)當(dāng)前時段各攝像頭生成的視頻幀的關(guān)鍵窗口對視頻畫面進(jìn)行分割,去除關(guān)鍵窗口以外的視頻幀區(qū)域,只保留關(guān)鍵窗口區(qū)域進(jìn)行后續(xù)分析。然后,如果邊緣端或者云端工作人員想要查看特定攝像頭采集的視頻或者某個攝像頭中重要物體出現(xiàn)的畫面,主邊緣服務(wù)器會對選定攝像頭與其余攝像頭的關(guān)聯(lián)程度值進(jìn)行排序。根據(jù)排序結(jié)果,優(yōu)先傳輸關(guān)聯(lián)程度較高的攝像頭視頻幀的關(guān)鍵窗口區(qū)域到主邊緣服務(wù)器或云服務(wù)器進(jìn)行進(jìn)一步的分析和操作。這樣,只需處理關(guān)聯(lián)程度較高的幾個攝像頭的關(guān)鍵區(qū)域,可以大大縮減視頻分析的數(shù)據(jù)量,同時提升分析效率。
本文通過相關(guān)實(shí)驗,從不同評價指標(biāo)的角度來對所提出的MVCA 方法的性能進(jìn)行分析。此外,本文還將MVCA 方法與其他方法進(jìn)行了比較,并對結(jié)果進(jìn)行了討論。
仿真實(shí)驗是在SALSA 數(shù)據(jù)集[22]的錄制視頻上進(jìn)行的。該數(shù)據(jù)集展示了某學(xué)術(shù)會議海報會場(如圖 2所示)中不同人員的活動和交流情況,該會場配備了4 個不同方向的攝像頭,分別是攝像頭1、2、3和4。每個攝像頭可以利用直連邊緣服務(wù)器生成各自的關(guān)鍵窗口,并實(shí)時檢測和分配人員的ID 號。所采集的視頻編碼標(biāo)準(zhǔn)和格式分別為H.264 視頻編碼標(biāo)準(zhǔn)和在主要網(wǎng)絡(luò)廣播應(yīng)用中支持流媒體的MP4 格式。仿真環(huán)境邊緣服務(wù)器的配置包括一個英特爾酷睿i5-10400F CPU 和一個擁有8 GB 內(nèi)存的Nvidia GeForce GTX 1080 GPU。實(shí)驗中視頻片段的持續(xù)時間設(shè)定為2 s,幀率為30 Hz。
進(jìn)行多攝像頭視頻協(xié)同分析時,本文需要在保持分析效果較好的前提下,盡量降低處理的代價。為了評價視頻分析方法的性能,需要考慮準(zhǔn)確性和代價。本文使用準(zhǔn)確率、系統(tǒng)時延和視頻壓縮率作為性能評價指標(biāo)。為了驗證所提出的MVCA 方法的性能,本節(jié)設(shè)計了消融實(shí)驗和不同方法的性能比較。通過對實(shí)驗結(jié)果進(jìn)行詳細(xì)的數(shù)據(jù)和理論分析,進(jìn)一步驗證了所提方法的有效性。
1) 性能評價指標(biāo)
準(zhǔn)確率。本文采用準(zhǔn)確率Accuracy 作為指標(biāo)之一來對方法的性能進(jìn)行評價,如式(20)所示。其中,Qtrue表示場景中的實(shí)際人數(shù),Qdec表示檢測到的人數(shù)。然而,由于本文使用的數(shù)據(jù)集未提供場景中的實(shí)際人數(shù),因此在實(shí)驗仿真中使用YOLO V3 方法[23]的檢測結(jié)果作為人員檢測的正確基線。
系統(tǒng)時延。系統(tǒng)時延可以反映視頻分析方法的實(shí)時性,低時延會有更好的用戶體驗。在本文中,視頻以及處理后的數(shù)據(jù)在攝像頭和直連邊緣服務(wù)器之間、直連邊緣服務(wù)器和主邊緣服務(wù)器之間、直連邊緣服務(wù)器和云服務(wù)器之間進(jìn)行傳輸會產(chǎn)生傳輸時延。此外,關(guān)鍵窗口的生成和多攝像頭關(guān)聯(lián)程度的計算會產(chǎn)生計算時延。本文的系統(tǒng)時延主要包括傳輸時延和計算時延,如式(6)所示。
視頻壓縮率。為了在保持準(zhǔn)確性的前提下降低系統(tǒng)時延并提升系統(tǒng)效用,視頻分析方法需要減少視頻分析量。因此,本文將視頻壓縮率Rc 作為本文方法的性能評價指標(biāo)之一,如式(21)所示。其中,Bcomp表示壓縮后的視頻數(shù)據(jù)量,Binit表示原始視頻數(shù)據(jù)量,視頻數(shù)據(jù)量的單位為MB。本文實(shí)驗重點(diǎn)觀察攝像頭1 及其檢測到的目標(biāo)物體,并根據(jù)關(guān)聯(lián)程度來決定是否選擇處理和分析其他攝像頭采集或處理后的視頻幀。
2) MVCA 方法性能分析
為了驗證關(guān)鍵窗口和多攝像頭關(guān)聯(lián)性的作用,首先進(jìn)行消融實(shí)驗,將本文提出的MVCA 方法與只使用ReID 方法(沒有關(guān)鍵窗口,用No-key window 表示)、使用文獻(xiàn)[17]中STS 方法的幀采樣模型(替代MVCA 中的關(guān)鍵窗口模型)以及只構(gòu)建關(guān)鍵窗口模型而不進(jìn)行多視頻協(xié)同處理的方法(沒有關(guān)聯(lián)性構(gòu)建,用No-association 表示)進(jìn)行比較。圖5 分別展示了MVCA、No-key window、STS幀采樣和No-association 在準(zhǔn)確率、系統(tǒng)時延和視頻壓縮率3 個方面的對比。
圖5 MVCA、No-key window、STS 幀采樣和No-association 的性能比較
在準(zhǔn)確率方面,MVCA 和No-association 的準(zhǔn)確率較高,這是因為它們利用關(guān)鍵窗口模型有效減少了視頻中非重要目標(biāo)物體的干擾。STS 幀采樣的準(zhǔn)確率次高,該方法雖然減少了非關(guān)鍵幀的數(shù)量,但是對關(guān)鍵目標(biāo)物體所在的區(qū)域劃分不夠準(zhǔn)確,容易受到非重要目標(biāo)物體的影響,且可能會移除包含關(guān)鍵目標(biāo)的畫面。No-key window 的準(zhǔn)確率相對較低,這是由于該方法沒有對視頻幀進(jìn)行篩選或切割,其中的一些非重要目標(biāo)會對檢測準(zhǔn)確率造成影響。
在系統(tǒng)時延和視頻壓縮率方面,MVCA 方法有著最低的系統(tǒng)時延和最高的視頻壓縮率,相比于No-key window,MVCA 利用關(guān)鍵窗口模型篩選感興趣區(qū)域縮減了視頻數(shù)據(jù)量;相比于No-association 方法,MVCA 重點(diǎn)分析關(guān)聯(lián)程度值較高的攝像頭視頻,因此進(jìn)一步減少了需要處理的視頻量,降低了傳輸和計算時延;STS 幀采樣方法雖然通過刪減非關(guān)鍵幀的方式減少了所需處理的視頻量,但其處理后的視頻量比關(guān)鍵窗口處理后多,因此可知關(guān)鍵窗口模型比幀采樣更有效。
綜上所述,關(guān)鍵窗口對視頻中重要目標(biāo)物體檢測準(zhǔn)確率的提升和系統(tǒng)時延的降低具有顯著作用。多攝像頭關(guān)聯(lián)性則可作為進(jìn)一步減少視頻處理量的有效依據(jù)。
3) 不同多攝像頭視頻分析方法的性能比較
本節(jié)比較了本文提出的MVCA 方法與第1 節(jié)相關(guān)工作中介紹的一些先進(jìn)的多攝像頭視頻分析方法。這些方法包括REDUCTO、文獻(xiàn)[11]方法和文獻(xiàn)[14]方法。圖6 分別展示了MVCA、REDUCTO、文獻(xiàn)[11]和文獻(xiàn)[14]方法在準(zhǔn)確率、系統(tǒng)時延和視頻壓縮率3 個方面的對比。
圖6 MVCA、REDUCTO、文獻(xiàn)[11]和文獻(xiàn)[14]方法的性能比較
在準(zhǔn)確率方面,文獻(xiàn)[11]方法準(zhǔn)確率最高,這是因為該方法針對每個攝像頭的視頻幀建立了運(yùn)動模型,并對所有幀都基于時間進(jìn)行了詳細(xì)的分析。MVCA 的準(zhǔn)確率次高,原因是其在利用關(guān)鍵窗口進(jìn)行視頻壓縮時,忽略了部分非關(guān)鍵窗口區(qū)域中的重要目標(biāo)物體,從而影響了準(zhǔn)確率。REDUCTO和文獻(xiàn)[14]方法的準(zhǔn)確率都不理想,這是由于REDUCTO 采用幀過濾的方法,有較高的可能性刪除包含目標(biāo)物體的關(guān)鍵幀;而文獻(xiàn)[14]方法在構(gòu)建目標(biāo)間的信息模塊時候著重考慮目標(biāo)本身的特征,未考慮目標(biāo)在視頻幀中位置的變化。
在系統(tǒng)時延和視頻壓縮率方面,文獻(xiàn)[14]方法具有最低的系統(tǒng)時延和最高的視頻壓縮率,這是由于該方法在構(gòu)建目標(biāo)間的信息模塊時僅關(guān)注目標(biāo)本身特征,未考慮幀間目標(biāo)特征,因此時間復(fù)雜度較低;同時,在多目標(biāo)分析時采用的聚類方法僅結(jié)合提取的目標(biāo)特征數(shù)據(jù),未對多個攝像頭采集的視頻幀本身進(jìn)行聯(lián)合處理,因此數(shù)據(jù)量較少。MVCA 的系統(tǒng)時延次低而視頻壓縮率次高,這是由于利用關(guān)鍵窗口對視頻幀進(jìn)行分割實(shí)現(xiàn)視頻壓縮,并結(jié)合多攝像頭關(guān)聯(lián)性模型對傳輸?shù)皆品?wù)器的視頻實(shí)現(xiàn)進(jìn)一步壓縮。REDUCTO 在系統(tǒng)時延和視頻壓縮率方面的表現(xiàn)不如前兩者,原因是其雖然采用了幀過濾方法壓縮視頻,但后續(xù)對多攝像頭處理的壓縮力度不足。文獻(xiàn)[11]方法具有最高的系統(tǒng)時延和最低的視頻壓縮率,這是由于該方法對所有視頻幀基于時間建立模型進(jìn)行詳細(xì)分析,未進(jìn)行幀刪減等操作,同時建立了多人匹配級聯(lián)模型,因此耗時較多;該方法的視頻壓縮僅通過多人匹配級聯(lián)模型實(shí)現(xiàn),因此壓縮幅度較小。
綜合考慮多個評價指標(biāo),本文提出的MVCA方法在準(zhǔn)確率、系統(tǒng)時延和視頻壓縮率3 個方面整體優(yōu)于其他方法。
本文研究了智慧城市場景下多攝像頭視頻分析的問題,提出了一種高效的解決方法MVCA。該方法能夠?qū)崟r地對多攝像頭采集的視頻進(jìn)行協(xié)同分析。具體而言,通過快速建立視頻流的關(guān)鍵窗口來定義感興趣區(qū)域,并在此基礎(chǔ)上快速構(gòu)建攝像頭之間的關(guān)聯(lián)性。通過獲取關(guān)聯(lián)程度值,有效地減少了視頻數(shù)據(jù)的分析量,從而提高了多攝像頭視頻分析的效率,減輕了邊緣服務(wù)器的負(fù)擔(dān),并提升了邊緣系統(tǒng)的性能。在SALSA 數(shù)據(jù)集上進(jìn)行的實(shí)驗表明,本文提出的MVCA 方法降低了系統(tǒng)時延,提高了視頻壓縮率,并且保持了95.6%的準(zhǔn)確率。
在未來的工作中,筆者將考慮任務(wù)卸載和時間空間屬性在多攝像頭視頻分析中的應(yīng)用,以進(jìn)一步平衡邊緣服務(wù)器的負(fù)載,提升邊緣系統(tǒng)的效用。