李昌鎬,譚 光
(中山大學(xué)智能工程學(xué)院,廣東 深圳 518106)
信息技術(shù)的快速發(fā)展使得無人駕駛、AR和VR等移動設(shè)備開始不斷涌現(xiàn),在這些移動設(shè)備上搭載視頻監(jiān)控等視覺分析系統(tǒng)已成為主流。為了支持這些移動視覺應(yīng)用,視覺分析系統(tǒng)必須準(zhǔn)確地識別和標(biāo)注物體的位置。例如,高速公路攝像頭檢測到超速駕駛行為,可以鎖定并跟蹤超速車輛,在下一個測速點(diǎn)對前車發(fā)出警示信號,提醒前車及時避讓?;贏R的視頻應(yīng)用發(fā)展迅速,這些應(yīng)用需要連續(xù)且實時地檢測和跟蹤視頻中的目標(biāo)[1]。
近些年來,深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)在圖像目標(biāo)檢測領(lǐng)域迅速普及,而且相較于傳統(tǒng)方法取得了更好的效果,將基于深度神經(jīng)網(wǎng)絡(luò)的圖像檢測算法應(yīng)用到視頻中,把視頻的每一幀當(dāng)作圖像進(jìn)行檢測是視頻目標(biāo)檢測的一個主要方法。DNN模型能夠獲得高的準(zhǔn)確率,但它通常涉及大量的計算,移動設(shè)備上有限的硬件計算資源無法完全支持這些計算。最近,YOLOv3-tiny[2], YOLOv4-tiny[3]等模型可以在移動設(shè)備運(yùn)行目標(biāo)檢測任務(wù),但它們檢測的準(zhǔn)確率不高,且會產(chǎn)生大量能耗。
在移動視覺目標(biāo)檢測領(lǐng)域主要有兩種類型的方法,分別為基于云端的實時目標(biāo)檢測方法和基于本地的實時目標(biāo)檢測方法。在基于云端檢測的方法中,Glimpse[4]在移動端開辟一個活動緩存以存儲一些有代表性的視頻幀子集,然后在其中選取一些關(guān)鍵幀發(fā)送到云端進(jìn)行檢測。但它沒有考慮到網(wǎng)絡(luò)變化帶來的影響。DeepDecision[5]和MCDNN[6]設(shè)計了一個框架,該框架根據(jù)網(wǎng)絡(luò)條件決定將任務(wù)卸載到云端還是在本地執(zhí)行,但任務(wù)僅考慮了網(wǎng)絡(luò)條件的影響,沒有考慮實時性和精度,尤其是移動檢測實時性無法滿足。而基于本地檢測的方法MARLIN[7]會依次執(zhí)行目標(biāo)檢測和目標(biāo)跟蹤,當(dāng)目標(biāo)跟蹤開始跟蹤累積幀中的目標(biāo)時,目標(biāo)檢測器將停止其檢測任務(wù),但當(dāng)視頻內(nèi)容變得復(fù)雜場景變化迅速時,MARLIN很可能產(chǎn)生視頻幀積壓問題。并且在視頻處理期間,始終使用相同的DNN模型設(shè)置,這無法適應(yīng)在不同檢測環(huán)境下對DNN模型檢測延遲的要求,檢測效率會受到很大程度影響。與MARLIN不同,AdaVP[8]并行運(yùn)行目標(biāo)檢測器和目標(biāo)跟蹤器,并根據(jù)視頻內(nèi)容的變化率在不同的模型設(shè)置之間切換,但由于并行pipeline的同時使用,會導(dǎo)致設(shè)備電能的大量損耗,無法長時間支持一個移動端設(shè)備的使用。
針對以上問題,本文提出了一個基于目標(biāo)檢測與目標(biāo)跟蹤相結(jié)合的目標(biāo)檢測框架,在此框架下對視頻幀的處理方式進(jìn)行調(diào)度,結(jié)合目標(biāo)檢測在檢測精度上的優(yōu)勢和目標(biāo)跟蹤的低能耗低時延,提高用戶對檢測系統(tǒng)應(yīng)用的體驗質(zhì)量。本文主要貢獻(xiàn)包括以下兩個方面:①建立了一套用戶體驗質(zhì)量(Qualityofexperience, QoE)衡量指標(biāo)?;诖嗽O(shè)計了一個基于端云協(xié)同的移動視覺目標(biāo)檢測系統(tǒng),并分析視頻內(nèi)容變化速率對系統(tǒng)性能的影響。②提出基于魯棒模型預(yù)測控制的檢測跟蹤調(diào)度算法。在檢測跟蹤框架下,該算法通過預(yù)測未來網(wǎng)絡(luò)帶寬和不同視頻場景變化速度下跟蹤誤差的變化,進(jìn)而指導(dǎo)算法進(jìn)行優(yōu)化和控制。實驗證明,文中提出的調(diào)度算法可以有效地利用已有網(wǎng)絡(luò)和計算資源,在盡可能低能耗的情況下減少跟蹤器漂移導(dǎo)致的精度損失,在復(fù)雜場景變化條件下保證一定的檢測精度,達(dá)到1.9%-67.5%的QoE提升和3.3%-51.5%的能耗降低,使移動視覺目標(biāo)檢測系統(tǒng)達(dá)到最優(yōu)性能。
對于移動視覺目標(biāo)檢測系統(tǒng)而言,用戶在觀看視頻時,會受到視頻目標(biāo)檢測質(zhì)量的影響,并且移動設(shè)備的使用時長也會影響用戶的體驗,因此本文的目的是以下三點(diǎn):①低功耗:對于電量受限的移動設(shè)備,系統(tǒng)需要在低功耗下實現(xiàn)目標(biāo)跟蹤。②準(zhǔn)確度:在場景不斷變化的情況下,視頻中的物體需要被準(zhǔn)確地分類和定位,避免檢測錯誤和跟蹤不準(zhǔn)確帶來的用戶體驗下降。㈢實時性:為了滿足人類對現(xiàn)實世界的感受,目標(biāo)檢測和跟蹤需要達(dá)到實時效果。
為了評價移動端用戶對視頻目標(biāo)檢測系統(tǒng)質(zhì)量和性能的主觀感受,從用戶角度得到系統(tǒng)中視頻內(nèi)容為用戶帶來的舒適程度,使用用戶體驗質(zhì)量作為評價指標(biāo)。在視頻圖像處理的端云協(xié)同系統(tǒng)中,視頻幀的檢測精度是影響QoE的主要因素,這里的檢測精度是由標(biāo)簽識別的準(zhǔn)確度和目標(biāo)框的精準(zhǔn)度來決定。移動設(shè)備也受硬件條件的限制,只有固定的電能儲備,移動設(shè)備的使用時長也影響著用戶體驗質(zhì)量。用戶獲得綜合體驗的目標(biāo)是在有限的電量儲備下盡可能地延長設(shè)備使用時間,在移動設(shè)備上體現(xiàn)為在單位時間內(nèi)盡量減少設(shè)備能耗,因此設(shè)備能耗也是影響QoE的重要因素。綜上所述,影響QoE的關(guān)鍵因素檢測精度、跟蹤誤差和能耗。
根據(jù)用戶對以上三個部分有不同的偏好,本文定義一個綜合性QoE來代表總的用戶體驗,具體公式如下
(1)
在設(shè)計視頻用戶體驗指標(biāo)之后,需要建立一個視頻目標(biāo)檢測系統(tǒng)來實現(xiàn)視頻用戶體驗質(zhì)量的最大化。本文搭建一個端云協(xié)同系統(tǒng),端云協(xié)同系統(tǒng)的框架如圖1所示。
系統(tǒng)的輸入是視頻幀,輸出為已經(jīng)得到目標(biāo)識別和定位結(jié)果的視頻幀。首先,將緩沖區(qū)里的第一個視頻幀進(jìn)行檢測,把檢測結(jié)果發(fā)送到移動端。后續(xù)視頻幀逐個發(fā)送給調(diào)度模塊,調(diào)度模塊根據(jù)對帶寬預(yù)測值、目標(biāo)框內(nèi)跟蹤誤差、目標(biāo)框外擾動誤差、場景變化速率和能耗的綜合分析,獲得一個決策結(jié)果,選擇將下一幀發(fā)送給跟蹤器或檢測器,實現(xiàn)移動端對視頻目標(biāo)檢測任務(wù)的調(diào)度。
系統(tǒng)中不同模塊的作用如下:
1)本地檢測器:用于在本地對視頻幀進(jìn)行目標(biāo)檢測,使用YOLOv5s作為本地檢測模型。
2)云端檢測器:用于在云端對視頻幀進(jìn)行目標(biāo)檢測,使用YOLOv4[9]作為云端檢測模型。
3)目標(biāo)跟蹤器:用于在移動端對輸入的視頻幀進(jìn)行目標(biāo)跟蹤,使用Lucas-Kanade法[10]對目標(biāo)進(jìn)行跟蹤。
4)跟蹤誤差和變化檢測器:用于對目標(biāo)框內(nèi)跟蹤誤差、目標(biāo)框外擾動誤差和場景變化速率進(jìn)行測量計算。
5)帶寬預(yù)測器:用于對移動端與云端之間的網(wǎng)絡(luò)帶寬進(jìn)行預(yù)測。
6)調(diào)度模塊:用于根據(jù)當(dāng)前狀態(tài)對視頻幀序列的檢測與跟蹤行為進(jìn)行調(diào)度。
視頻目標(biāo)檢測系統(tǒng)是根據(jù)當(dāng)前狀態(tài)選擇決策方式進(jìn)行調(diào)度,以達(dá)到用戶體驗質(zhì)量的最大化。本系統(tǒng)的狀態(tài)可表示為
(2)
圖1 系統(tǒng)架構(gòu)
本系統(tǒng)的決策方式包括本地檢測(Dlocal),云端檢測上傳分辨率320×320 (Dcloud320),云端檢測上傳分辨率608×608 (Dcloud608),跟蹤(T)。所以可得到?jīng)Q策為:
ak=(Dlocal,Dcloud320,Dcloud608,T)
(3)
移動設(shè)備進(jìn)行目標(biāo)跟蹤任務(wù)時,跟蹤誤差會隨著跟蹤的視頻幀數(shù)逐漸積累,跟蹤誤差的變化速度也會受到視頻內(nèi)容變化率的影響。在跟蹤誤差積累到一定程度時,需要將視頻幀發(fā)送到本地或云端進(jìn)行目標(biāo)檢測,降低跟蹤誤差,使誤差穩(wěn)定在一個較低的范圍內(nèi),才能提升檢測精度。
如2圖是兩段變化率不同的視頻內(nèi)容,可以看出當(dāng)場景變化速度較快時,視野中的所有物體都有快速的位移變換,所有物體圖像特征的平均速度很大。當(dāng)視頻中目標(biāo)變化速度慢時,特征的平均移動速度保持在1-1.2之間,當(dāng)視頻中目標(biāo)變化速度快時,特征的平均移動速度會提升到1.45以上。
圖2 視頻場景變化速率對比圖
在目標(biāo)跟蹤過程中,視頻內(nèi)容的變化率會影響跟蹤質(zhì)量,圖3展示了兩個不同視頻內(nèi)容變化速度下目標(biāo)跟蹤算法下的跟蹤表現(xiàn),其中video1的場景變化速率大于video2。隨著場景內(nèi)物體的移動,導(dǎo)致誤差的不斷積累,跟蹤誤差不斷地增大,video1的誤差累積速度比video2更快。在video1中,第12幀時跟蹤誤差已經(jīng)累積到5,而在video2中,第27幀時跟誤差才達(dá)到5??梢娨曨l內(nèi)容變化率對于跟蹤精度的影響。
圖3 不同場景變化速度下目標(biāo)跟蹤誤差對比圖
移動視覺目標(biāo)檢測和跟蹤的調(diào)度本質(zhì)上是一個隨機(jī)最優(yōu)控制問題。在最優(yōu)控制方面,有兩種眾所周知的算法,比例積分微分(PID)控制和基于馬爾科夫決策(MDP)過程的控制。與MPC相比,PID在計算上更簡單,但它通常在穩(wěn)定的線性系統(tǒng)中起作用,不能在非線性系統(tǒng)中應(yīng)用。另外,PID控制只能在連續(xù)的時間和空間中工作,在這種高度離散的系統(tǒng)中使用會導(dǎo)致性能下降或者不穩(wěn)定。對于MDP,可以將網(wǎng)絡(luò)吞吐量狀態(tài)轉(zhuǎn)換為馬爾科夫決策過程,但這必須滿足網(wǎng)絡(luò)吞吐量遵循馬爾科夫決策場,這尚不清楚。MPC廣泛應(yīng)用于工業(yè)控制和導(dǎo)航等不同領(lǐng)域,可以在約束條件下通過預(yù)測進(jìn)行在線優(yōu)化動態(tài)系統(tǒng)中復(fù)雜的控制目標(biāo)。在本實驗中選用MPC作為控制調(diào)度算法。
理想情況下,只要對未來網(wǎng)絡(luò)帶寬和場景變化速率有一個準(zhǔn)確的了解,系統(tǒng)就可以選擇最佳決策方式以解決QoE最優(yōu)化問題。但實際上,未來的場景變化速率與未來視頻幀的內(nèi)容有關(guān),在線情況下無法準(zhǔn)確得知未來視頻內(nèi)容信息。與此同時,實時地網(wǎng)絡(luò)帶寬變化很難通過離線優(yōu)化來得到完美的預(yù)測信息。盡管無法得到精準(zhǔn)的未來信息,但通常情況下,場景變化和網(wǎng)絡(luò)條件在短時間內(nèi)相對穩(wěn)定,在幾秒內(nèi)不會發(fā)生急劇變化?;谶@個假設(shè),在約束條件下系統(tǒng)通過預(yù)測未來視野內(nèi)場景變化率和網(wǎng)絡(luò)帶寬,利用MPC在線優(yōu)化移動視覺目標(biāo)檢測系統(tǒng)中的視頻QoE。
圖4 模型預(yù)測控制結(jié)構(gòu)圖
如圖4,為本系統(tǒng)的模型預(yù)測控制算法結(jié)構(gòu)圖。該算法通過分析向前視野N步的最優(yōu)策略以選擇決策方式,進(jìn)而解決QoE最優(yōu)化問題。第一步的決策方式是本地目標(biāo)檢測,之后在每一幀迭代優(yōu)化。設(shè)在第k幀,MPC算法向前探索N步,然后根據(jù)以下三步進(jìn)行決策。
1)預(yù)測:預(yù)測未來N步的網(wǎng)絡(luò)吞吐量和場景變化速率,這里本實驗使用常規(guī)的滑動窗口方法對帶寬和場景變化率進(jìn)行預(yù)測,實驗中取N=3。
2)滾動優(yōu)化:這是MPC算法的核心部分,使用跟蹤誤差,能耗值,場景變化速率預(yù)測值和帶寬預(yù)測值,指導(dǎo)優(yōu)化方法得出一個決策。在第k幀,系統(tǒng)的決策方式為:
(4)
系統(tǒng)的優(yōu)化目標(biāo)是在一定能耗速度的約束下,最大化視頻用戶體驗質(zhì)量,可表示為:
(5)
3)決策:通過優(yōu)化給出決策后,移動端選擇視頻幀的處理方式,進(jìn)行相應(yīng)的任務(wù)。
(6)
而此時視頻QoE約束問題變?yōu)樽畲笞钚≈祪?yōu)化問題,此時系統(tǒng)的目標(biāo)函數(shù)變?yōu)?/p>
(7)
因此為了對預(yù)測帶寬進(jìn)行修正,防止帶寬預(yù)測器高估未來帶寬,實驗通過統(tǒng)計過去X個時間步真實帶寬與預(yù)測帶寬的差值,引入預(yù)測誤差err作為修正系數(shù),計算得到正確的預(yù)測帶寬
(8)
(9)
本文將采用修正后的帶寬預(yù)測方式的模型預(yù)測控制算法稱作魯棒MPC算法。
網(wǎng)絡(luò)帶寬指在單位時間內(nèi)能傳輸?shù)臄?shù)據(jù)量,是衡量網(wǎng)絡(luò)特征的一個重要指標(biāo)。本實驗使用HSDPA mobile dataset[11],它是一個網(wǎng)絡(luò)帶寬數(shù)據(jù)集,常用作與網(wǎng)絡(luò)相關(guān)的應(yīng)用中。本實驗使用的視頻圖像數(shù)據(jù)集是KITTI數(shù)據(jù)集[12]。KITTI是被廣泛應(yīng)用于視頻圖像檢測和自動駕駛等多目標(biāo)跟蹤領(lǐng)域,包含城市街道、鄉(xiāng)村公路、電車軌道和高速公路等場景采集的真實圖像數(shù)據(jù),每張圖像中最多達(dá)15輛車和30個行人,還有各種程度的遮擋與截斷。整個數(shù)據(jù)集由389對光流圖和立體圖像組成,以10Hz的頻率采樣及同步,因此在動態(tài)鏡頭下該數(shù)據(jù)集的場景變化較快。
為了驗證魯棒MPC檢測跟蹤調(diào)度算法DTr_mpc的有效性,實驗對比了固定策略調(diào)度算法DTlocal、貪心調(diào)度算法DTgreed和MPC調(diào)度算法DTmpc。其中固定調(diào)度策略算法僅使用移動端檢測跟蹤策略DTlocal加以對比,分別為每跟蹤3幀本地檢測1幀的策略DTlocal-3和每跟蹤5幀本地檢測1幀的策略DTlocal-5。
圖5 不同算法檢測精度對比圖
實驗對不同算法的檢測精度進(jìn)行對比。如圖5,在兩種不同IOU值下,不同調(diào)度算法的F1score。在IOU為0.6時,DTlocal-3、DTlocal-5、DTgreed、DTmpc和DTr_mpc分別可以得到79.8%、71.4%、77.3%、79.4%和80.1%的檢測精度,其中DTr_mpc比最低的DTlocal-5的準(zhǔn)確率高8.7%。在IOU為0.5時,DTlocal-3、DTlocal-5、DTgreed、DTmpc和DTr_mpc分別可以得到83.1%、75.6%、81.7%、82.9%和83.9%的準(zhǔn)確率,DTr_mpc比其它調(diào)度算法的準(zhǔn)確率提高0.8%-8.3%。說明魯棒MPC調(diào)度算法能夠在系統(tǒng)執(zhí)行移動視覺任務(wù)時,可以保證有效的檢測精度,相比于其它幾種調(diào)度算法,DTr_mpc在精度上有一定提升。
圖6 QoE累積函數(shù)分布圖
圖6展示了每個調(diào)度算法在整個處理過程中的累積概率分布。由于固定調(diào)度策略DTlocal-3和DTlocal-5調(diào)度方式只有本地目標(biāo)檢測和跟蹤,而本地檢測受能耗影響較大,所以無法得到高于0.92的QoE值,概率分布曲線也不是均勻分布。魯棒MPC調(diào)度算法DTr_mpc相比于貪心調(diào)度算法DTgreed和MPC調(diào)度算法DTmpc可以獲得更多大于0.8的QoE,這說明DTr_mpc可以在網(wǎng)絡(luò)波動較大時,保持每一步?jīng)Q策的最高QoE,有更優(yōu)的性能。
從表1中可以看出,在12個網(wǎng)絡(luò)帶寬軌跡中,DTr_mpc的視頻QoE相比于DTlocal-3有23.7%提升,相比于DTlocal-5有67.5%提升,相比于DTgreed有4.1%提升,相比于DTmpc有的1.9%提升,達(dá)到了最高的用戶體驗質(zhì)量。與此同時,DTr_mpc比固定調(diào)度算法DTlocal-3降低了51.5%的能耗,對比DTgreed和DTmpc,DTr_mpc的能耗值也可以降低3.3%-7.8%,所以魯棒MPC調(diào)度算法可以減少移動設(shè)備的耗能,延長移動設(shè)備的使用時間,在能耗方面達(dá)到了最優(yōu)化。
表1 不同調(diào)度算法結(jié)果對比
綜上所述,魯棒MPC檢測跟蹤調(diào)度算法能夠在網(wǎng)絡(luò)帶寬持續(xù)波動的情況下,綜合考慮網(wǎng)絡(luò)條件和視頻場景速率變化情況,權(quán)衡目標(biāo)檢測精度和能耗等因素,使移動視覺目標(biāo)檢測系統(tǒng)達(dá)到最優(yōu)性能。
本文針對移動視覺目標(biāo)檢測任務(wù),提出了一個視頻用戶體驗質(zhì)量作為系統(tǒng)的優(yōu)化指標(biāo),設(shè)計了一個基于目標(biāo)檢測與目標(biāo)跟蹤的視頻目標(biāo)檢測系統(tǒng),構(gòu)建了一個完整的系統(tǒng)架構(gòu)。最后利用魯棒模型預(yù)測控制算法對目標(biāo)檢測和目標(biāo)跟蹤行為進(jìn)行調(diào)度,實現(xiàn)視頻目標(biāo)檢測系統(tǒng)的性能優(yōu)化。