孫曉玲,杜雪梅
(1.煙臺職業(yè)學(xué)院信息工程系,山東 煙臺 264025;2.湖南理工大學(xué)美術(shù)學(xué)院,湖南 岳陽 414000)
隨著諸如無線傳感器網(wǎng)絡(luò)等網(wǎng)絡(luò)技術(shù)的發(fā)展,物聯(lián)網(wǎng)(IoT)逐步實現(xiàn)了智慧城市中物理對象和人類的全面互聯(lián)[1]。多媒體物聯(lián)網(wǎng)系統(tǒng)集成了圖像處理、計算機(jī)視覺和網(wǎng)絡(luò)功能,并已廣泛用于監(jiān)控、行為自動分析和事件識別[2-3]。通過利用邊緣計算[4]技術(shù),利用位于網(wǎng)絡(luò)邊緣的設(shè)備來對視頻進(jìn)行處理和分析,減少計算和傳輸?shù)臅r延。視頻處理和分析可以劃分為子任務(wù),每個子任務(wù)可以由邊緣節(jié)點(diǎn)進(jìn)行預(yù)處理。由于邊緣節(jié)點(diǎn)的數(shù)量大于視頻子任務(wù)的數(shù)量,因此研究如何適當(dāng)?shù)貙⒍鄠€邊緣節(jié)點(diǎn)形成不同的組并協(xié)同處理視頻子任務(wù)具有重要意義。
提出的邊緣計算框架有三個主要組件,即攝像頭節(jié)點(diǎn)、邊緣節(jié)點(diǎn)和服務(wù)器。攝像頭節(jié)點(diǎn)將定期捕獲的視頻序列(即視頻任務(wù))劃分為固定數(shù)量、相同大小的視頻塊,以不同的視頻編碼比率壓縮視頻塊,并根據(jù)所提出的方案在邊緣節(jié)點(diǎn)之間分配壓縮的視頻塊。攝像頭將視頻塊傳輸?shù)蕉鄠€或一個邊緣節(jié)點(diǎn)。
量化參數(shù)(QP)可以用來建立視頻編碼率與視頻質(zhì)量之間的關(guān)系:QP越大,視頻質(zhì)量越低。首先將QP表示為視頻編碼率的函數(shù),如下式所示。
(1)
其中,q(rb)表示與平均視頻編碼率rb對應(yīng)的QP。檢測精度也可以根據(jù)QP表示為以下公式:
P(q)=a×2uq+b
(2)
其中P(q)表示與q相對應(yīng)的檢測精度。然后,結(jié)合以上兩個公式,可以得出人工檢測精度與平均視頻編碼率之間的關(guān)系:
(3)
其中P(rb)表示與視頻編碼率rb相對應(yīng)的人工檢檢測精度。 基于式(3),可以推斷出檢測精度與平均視頻編碼率呈正相關(guān)。
首先給出三種約束,即截止期限、組形成和匹配約束。視頻任務(wù)必須在給定的期限內(nèi)完成,即
(4)
T=max{ti|i∈L}
(5)
T≤D
(6)
其中,ti表示視頻塊i的完成時間,T表示視頻任務(wù)的完成時間,D表示視頻任務(wù)的截止時間。ti包含兩個部分,即前i個視頻塊的傳輸時間和視頻塊i的處理時間。約束條件(6)確保必須在截止日期之前處理視頻任務(wù)。
邊緣節(jié)點(diǎn)形成協(xié)作的非重疊組以處理視頻塊,需要滿足以下的約束:
(7)
(8)
(9)
(10)
(11)
(12)
(13)
Gi,j∈{0,1}
(14)
其中,如果將視頻塊i分配給組j,則Gi,j= 1,否則,Gi,j= 0。約束(12)確保每個視頻塊只能由一個組處理,而約束(13)確保每個組只能處理一個視頻塊。也就是說,視頻塊和組是一對一的對應(yīng)關(guān)系。基于上述的約束條件,給出的優(yōu)化問題如下:
s.t.(4)-(14)
其中f(α)表示目標(biāo)函數(shù),即最大化所有視頻塊的平均視頻編碼率,ri是視頻塊i的編碼率。將問題P0分解為組形成子問題和視頻組匹配子問題。
將組形成問題轉(zhuǎn)換為競勝標(biāo)確定問題的標(biāo)準(zhǔn)形式,使用貪心算法進(jìn)行求解。將邊緣節(jié)點(diǎn)按傳輸速率的降序排序,將前L個節(jié)點(diǎn)定義為投標(biāo)人I={1,2,…,L},其余節(jié)點(diǎn)為項目Δ={1,2,…,δ}。對于投標(biāo)人i和投標(biāo)項目B,將vi(B)定義為投標(biāo)人i投標(biāo)項目B的效用。
(15)
(16)
(17)
組形成問題P1的目的是使所有投標(biāo)者的整體效用最大化。為了提高求解效率,設(shè)計了一個貪心算法。算法的基本思想是按任意順序枚舉項目,并將每一項逐一分配給當(dāng)前分配中邊際效用最大的投標(biāo)者。
接下來將解決視頻組匹配子問題,以將視頻塊分配給適當(dāng)?shù)囊曨l處理組。首先,消除了組形成的約束條件,并將原始問題P0轉(zhuǎn)換為問題P2。在最佳匹配的基礎(chǔ)上,消除了匹配約束,并將問題P2轉(zhuǎn)化為整數(shù)線性規(guī)劃問題P3。為了解決問題P3,提出了一種低復(fù)雜度的啟發(fā)式算法。首先,基于提出的組形成算法和最優(yōu)匹配定理,形成協(xié)作組并給出組的匹配順序。然后,將初始迭代索引設(shè)置為0,將每個視頻塊的初始視頻編碼比率級別設(shè)置為最小值,集合Γ由處于截止時間內(nèi)的視頻塊組成,集合O由超過截止時間的視頻塊組成,集合Ψ由在最小視頻編碼比率級別超過截止時間的視頻塊組成。集合Γ,O和Ψ分別初始化為L,φ和φ。
提出的故障檢測框架采用了邊緣計算范式來分析視頻監(jiān)控系統(tǒng)中的視頻,該框架對視頻流或網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行預(yù)處理。該框架有三個模塊組成,分別是edgeVU,cloudVU和userVU。edgeVU采用諸如Raspberry Pi V3[5], Movidius[6]和Jetson TX2[7]的硬件平臺作為計算單元。edgeVU采用了eRTOS作為面向邊緣計算的操作系統(tǒng)。edgeVU通過應(yīng)用程序接口(API)向eRTOS傳輸消息。edgeVU從攝像頭捕獲視頻數(shù)據(jù),執(zhí)行故障檢測,將檢測結(jié)果發(fā)送到云端服務(wù)器。cloudVU運(yùn)行在云端服務(wù)器中,而userVU安裝在用戶端。這兩個模塊具有相同的結(jié)構(gòu),通過使用云服務(wù)器或智能電話中的本地計算資源來檢測故障視頻數(shù)據(jù)。
純色屏幕故障是由于視頻傳輸在一段時間內(nèi)停止引起的。對于這類故障,首先將RGB圖像轉(zhuǎn)換為灰度圖像,并考慮所有像素的灰度值。通過將預(yù)定義的閾值與圖像中像素的方差進(jìn)行比較,可以檢測到純色屏幕故障。凍結(jié)幀故障是指視頻畫面重復(fù)最后一個圖像幀或長時間沒有幀到達(dá)。對此,通過計算幀間差異的方差以與參考進(jìn)行比較,在檢測到N個后續(xù)幀后就可以檢測該故障。噪聲故障是指圖像中亮度或顏色信息發(fā)生了隨機(jī)變化。對此,通過將像素與其相鄰八個方向的像素在灰度差的絕對值來確定檢測視頻是否包含噪聲。當(dāng)最小值超過閾值時,該像素是噪聲點(diǎn)。對于不正常的亮度檢測,將測試的RGB圖像轉(zhuǎn)換為色相、飽和度、強(qiáng)度(HSI)色彩空間,并計算圖像中超過閾值的像素數(shù)。如果這些像素的數(shù)量與圖像中像素的總數(shù)之比超過參考值,則認(rèn)為檢測到異常亮度故障。對于連接中斷故障,部署在云端和用戶端的檢測模塊將測試數(shù)據(jù)包發(fā)送到目標(biāo)邊緣攝像頭,并等待響應(yīng)。如果檢測框架發(fā)現(xiàn)等待時間已經(jīng)超過預(yù)定義的響應(yīng)時間,則將網(wǎng)絡(luò)中斷報告給用戶。
根據(jù)上述故障檢測方法,設(shè)計了一個調(diào)度程序。該程序根據(jù)故障發(fā)生的頻率來編排故障檢測方法。在邊緣模型中,故障檢測方法的高頻提高了MTTD。 然而,由于其有限的資源,邊緣設(shè)備仍然不能承受能量消耗的成本。 因此,重要的是設(shè)計一種調(diào)度方案,該方案可以動態(tài)地調(diào)整故障檢測方法的頻率以平衡MTTD和頻率。
在實驗場景中,每個視頻塊的視頻編碼比率級別在(0,1]范圍內(nèi)。視頻任務(wù)的截止期限設(shè)置為D=80s。計算速率的倒數(shù)設(shè)置為10 s / MB,傳輸速率的倒數(shù)均勻分布在[0.1,1.0] s / MB。模擬實驗在臺式機(jī)上進(jìn)行,該臺式機(jī)具有3.6 GHZ Intel(R)CoreTM i7-10700KF CPU和64 GB RAM,模擬軟件是Matlab。延遲減少量表示為前L個邊緣節(jié)點(diǎn)在處理上花費(fèi)的時間與L個協(xié)作組在處理上花費(fèi)的時間之間的差。在此,視頻塊的數(shù)量固定為L= 6,設(shè)置的邊緣節(jié)點(diǎn)的數(shù)量分別為N= {10,15,20,25},每個視頻塊的原始大小設(shè)置為S=1MB。選擇延遲減少量作為度量標(biāo)準(zhǔn)的原因是減少的延遲越大,處理同一視頻任務(wù)所花費(fèi)的時間越少(包含傳輸和計算延遲)。圖1 (a)展示了兩種算法的延遲減少量,圖1 (b)展示了兩種算法的運(yùn)行時間。
兩種算法的延遲減少量幾乎相同,但是隨著邊緣節(jié)點(diǎn)數(shù)量的增加,暴力算法的程序運(yùn)行時間迅速增加,而貪婪算法的程序運(yùn)行時間幾乎保持不變,這表明貪心算法可以大大降低計算復(fù)雜度。隨著邊緣節(jié)點(diǎn)數(shù)量的增加,兩種算法的延遲減少量增加,并且增加的趨勢幾乎相同。
(a)延遲減少量對比
接下來比較所提出的方案(包括貪婪算法和啟發(fā)式算法)與最優(yōu)方案的性能差距。我們選擇平均視頻編碼率作為性能指標(biāo)。在圖2中,隨著邊緣節(jié)點(diǎn)的數(shù)量增加,兩種方案的平均視頻編碼率均增加,但是它們之間的差距減小。原因是在視頻塊數(shù)量固定的情況下,更多的邊緣節(jié)點(diǎn)可以形成包含更多成員的協(xié)作組,每個組的計算能力提高,因此可以在截止期限內(nèi)處理更多的視頻數(shù)據(jù)。而且,每個組的成員集都有趨于相似的趨勢,同時傳輸時間的增加遠(yuǎn)小于計算時間的減少,這也減小了差距。
圖2 平均視頻編碼率對比
本文研究了一種在邊緣計算框架中的協(xié)作視頻處理方案。該方案考慮了組形成和視頻組匹配,可以顯著降低計算復(fù)雜度并達(dá)到次優(yōu)性能。如果在實踐中部署,該方案可以減少在攝像頭處理任務(wù)并將數(shù)據(jù)上傳到服務(wù)器的延遲,并減少上載數(shù)據(jù)的成本。在未來的工作中,我們將考慮能耗與完成時間之間的平衡。