曾德生 駱金維 龐雙龍 謝品章 陳曉丹
摘要:面對(duì)視頻監(jiān)控的應(yīng)用場(chǎng)景及技術(shù)需求,以云計(jì)算為代表的集中式數(shù)據(jù)處理模型在資源需求方面開(kāi)銷(xiāo)較大,過(guò)度依賴(lài)于云計(jì)算中心的網(wǎng)絡(luò)帶寬,在實(shí)時(shí)性等方面也難于滿(mǎn)足視頻處理的需求。本文提出一種適用于視頻監(jiān)控場(chǎng)景的邊緣計(jì)算模型,從計(jì)算、網(wǎng)絡(luò)帶寬和存儲(chǔ)3種主要資源為切入點(diǎn),設(shè)計(jì)系統(tǒng)架構(gòu),在利用邊緣節(jié)點(diǎn)的計(jì)算能力完成視頻的預(yù)處理,構(gòu)建Docker容器化平臺(tái),采用分級(jí)調(diào)度策略,降低網(wǎng)絡(luò)擁塞問(wèn)題。通過(guò)測(cè)試,該模型可以有效降低視頻監(jiān)控場(chǎng)景下的計(jì)算、存儲(chǔ)及網(wǎng)絡(luò)傳輸?shù)乳_(kāi)銷(xiāo)。
關(guān)鍵詞:邊緣計(jì)算模型;智能視頻監(jiān)控;Docker容器;調(diào)度策略
0引言
近年來(lái),本校以建立智慧校園體系為目標(biāo),啟動(dòng)了信息化改造升級(jí)工程,其核心目標(biāo)是建立綜合安全監(jiān)控系統(tǒng)。在圖書(shū)館、教室、走廊、校道及其它公共場(chǎng)所部署大量的攝像機(jī),以滿(mǎn)足各類(lèi)安防視頻采集的要求。然而,海量視頻信息的產(chǎn)生也給信息化系統(tǒng)建設(shè)帶來(lái)了存儲(chǔ)、傳輸?shù)确矫娴膯?wèn)題。
云計(jì)算技術(shù)已日趨成熟,應(yīng)用也越來(lái)越廣泛。利用云計(jì)算技術(shù)構(gòu)建智慧校園體系,采用資源整合的方式,可以降低項(xiàng)目建設(shè)成本,為用戶(hù)帶來(lái)按需擴(kuò)展等優(yōu)點(diǎn)。但集中式資源管理方式,在面對(duì)監(jiān)控系統(tǒng)的應(yīng)用場(chǎng)景,存在資源需求方面開(kāi)銷(xiāo)較大的問(wèn)題。海量視頻的傳輸、存儲(chǔ)及分析都將消耗云計(jì)算中心的大量資源。在實(shí)時(shí)性方面也難于滿(mǎn)足視頻處理的需求。
基于上述問(wèn)題,本文提出在智慧校園體系中,部署基于邊緣計(jì)算的視頻采集框架及容器化應(yīng)用。在邊緣計(jì)算模型的視頻監(jiān)控系統(tǒng)中,利用邊緣節(jié)點(diǎn)部署運(yùn)動(dòng)偵測(cè)算法,對(duì)邊緣設(shè)備采集的視頻流進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)等預(yù)處理,減少冗余信息,降低系統(tǒng)對(duì)存儲(chǔ)及傳輸?shù)男枨?。部署容器化平臺(tái),帶來(lái)更好的調(diào)度特性,解決邊緣計(jì)算節(jié)點(diǎn)的資源調(diào)度問(wèn)題,提高云計(jì)算中心的整體性能。
1 相關(guān)工作
1.1邊緣計(jì)算
隨著技術(shù)的發(fā)展變革,智能終端的普及,應(yīng)用場(chǎng)景越來(lái)越復(fù)雜。以云計(jì)算模型為代表的集中式數(shù)據(jù)處理模式,已經(jīng)不適用于海量實(shí)時(shí)數(shù)據(jù)的處理。如直播、在線(xiàn)教育、智慧城市、智能安防等。針對(duì)這一問(wèn)題,以“數(shù)據(jù)處理應(yīng)更靠近數(shù)據(jù)源頭”為核心理念的邊緣計(jì)算模型應(yīng)運(yùn)而生。
邊緣計(jì)算(Edge Computing,EC)經(jīng)過(guò)近年的發(fā)展,其定義和說(shuō)法有多種,邊緣計(jì)算產(chǎn)業(yè)聯(lián)盟對(duì)邊緣計(jì)算的定義是指在靠近物或數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣側(cè),融合網(wǎng)絡(luò)、計(jì)算、存儲(chǔ)、應(yīng)用核心能力的開(kāi)放平臺(tái),就近提供邊緣智能服務(wù),滿(mǎn)足行業(yè)數(shù)字化在敏捷連接、實(shí)時(shí)業(yè)務(wù)、數(shù)據(jù)優(yōu)化、應(yīng)用智能、安全與隱私保護(hù)等方面的關(guān)鍵需求。它可以作為聯(lián)接物理和數(shù)字世界的橋梁,使用智能資產(chǎn)、智能網(wǎng)關(guān)、智能系統(tǒng)和智能服務(wù)。
1.2 智能視頻監(jiān)控
智能視頻監(jiān)控系統(tǒng)(Intelligent Video SurveillanceSystem,IVSS)是指不需要人工干預(yù)的情況下,利用計(jì)算機(jī)視覺(jué)、圖像及視頻分析算法,對(duì)視頻采集設(shè)備所拍攝的流式視頻圖像進(jìn)行分析,對(duì)視頻中的運(yùn)動(dòng)目標(biāo)進(jìn)行檢測(cè)、識(shí)別和跟蹤,在此基礎(chǔ)上對(duì)目標(biāo)進(jìn)行分析和行為判斷。當(dāng)發(fā)現(xiàn)異常情況時(shí)進(jìn)行告警處理。
在智能視頻監(jiān)控系統(tǒng)中,一般包含視頻采集、圖像預(yù)處理、運(yùn)動(dòng)目標(biāo)檢測(cè)、運(yùn)動(dòng)目標(biāo)跟蹤、運(yùn)動(dòng)目標(biāo)分類(lèi)、行為描述與理解和告警處理模塊。相較于傳統(tǒng)的監(jiān)控系統(tǒng),智能視頻監(jiān)控系統(tǒng)具有許多優(yōu)點(diǎn):
(1)準(zhǔn)確率高。在系統(tǒng)的前端集成視頻采集、分析模塊,用戶(hù)可以根據(jù)需要對(duì)異常情況的特征進(jìn)行詳細(xì)定義,降低漏報(bào)和誤報(bào),提高告警的準(zhǔn)確率。
(2)響應(yīng)速度快。系統(tǒng)中可以實(shí)現(xiàn)自動(dòng)檢測(cè)功能,識(shí)別異常情況,告警模塊可以迅速提示安保人員查看監(jiān)控系統(tǒng)或趕赴現(xiàn)場(chǎng)??梢蕴岣弋惓J录奶幚硭俣?。
(3)可靠性高。系統(tǒng)可以實(shí)現(xiàn)7*24全天候的自動(dòng)分析處理功能,減少了現(xiàn)場(chǎng)人工監(jiān)視,避免監(jiān)視人員因疲勞等情形忽略視頻中的異常情況。
在智慧校園體系中,監(jiān)控系統(tǒng)使用大量的攝像機(jī)進(jìn)行7* 24小時(shí)的監(jiān)控,將產(chǎn)生海量的視頻數(shù)據(jù)。因此,通常在視頻采集模塊加入運(yùn)動(dòng)目標(biāo)檢測(cè)算法,在邊緣節(jié)點(diǎn)對(duì)實(shí)時(shí)視頻流進(jìn)行預(yù)處理。提高視頻的處理效率,避免了云計(jì)算中心產(chǎn)生大量的計(jì)算開(kāi)銷(xiāo);算法可以篩選出有效視頻幀,減少監(jiān)控視頻中的冗余信息,有效降低大量視頻采集設(shè)備獲取的海量視頻信息對(duì)存儲(chǔ)空間及網(wǎng)絡(luò)帶寬等方面的開(kāi)銷(xiāo),達(dá)到節(jié)約建設(shè)成本的目的。
1.3 容器化調(diào)度
云計(jì)算是一種將計(jì)算資源按需供應(yīng)給用戶(hù)的新型商業(yè)模式,能滿(mǎn)足用戶(hù)復(fù)雜的動(dòng)態(tài)資源需求,從而減少用戶(hù)在購(gòu)置基礎(chǔ)設(shè)施及硬件維護(hù)成本方面的投入。傳統(tǒng)的中心化、粗粒度的虛擬化架構(gòu),不太適合于海量視頻信息的處理。
Docker容器技術(shù)的出現(xiàn)為云計(jì)算以及企業(yè)IT架構(gòu)的演進(jìn)帶來(lái)了新的革命。Docker相較于傳統(tǒng)虛擬化技術(shù)減少了Hypervisor層帶來(lái)的性能消耗,大幅提高了虛擬化性能,為云上部署的計(jì)算集群的性能優(yōu)化提供了良好的基礎(chǔ)。實(shí)現(xiàn)容器化應(yīng)用平臺(tái)。通過(guò)提供視頻處理的鏡像文件,簡(jiǎn)化了每個(gè)邊緣計(jì)算節(jié)點(diǎn)部署的重復(fù)性工作,降低了部署的復(fù)雜性,實(shí)現(xiàn)敏捷化部署。
充分利用Docker容器的特性,獲取節(jié)點(diǎn)的資源狀態(tài)信息,為邊緣計(jì)算模型的資源調(diào)度提供支撐,提高資源利用率,達(dá)到節(jié)約建設(shè)成本的目的。
2 視頻監(jiān)控需求分析
2.1 運(yùn)動(dòng)檢測(cè)功能需求
在監(jiān)控場(chǎng)景中,往往存在大量的攝像機(jī),如果需要及時(shí)發(fā)現(xiàn)異常情況,通常都要安排大量的人工對(duì)視頻進(jìn)行7* 24小時(shí)的實(shí)時(shí)排查。同時(shí),因?yàn)橐曨l信息流具有持續(xù)性的特征,視頻信息的傳輸也將帶來(lái)巨大的網(wǎng)絡(luò)負(fù)載:隨著時(shí)間的推移,監(jiān)控系統(tǒng)產(chǎn)生的視頻數(shù)據(jù)也將帶來(lái)巨大的存儲(chǔ)壓力。如果將這些海量視頻數(shù)據(jù)直接上傳到云計(jì)算中心,一方面視頻信息的處理需要消耗大量的計(jì)算資源,另一方面數(shù)據(jù)的傳輸和存儲(chǔ)也將面臨巨大的壓力。
監(jiān)控場(chǎng)景中視頻信息的存儲(chǔ),其最主要的目的是記錄場(chǎng)景中的變化信息及可疑信息,如果不采用合適的技術(shù)或方法,監(jiān)控系統(tǒng)將占用較大的網(wǎng)絡(luò)帶寬,傳輸長(zhǎng)時(shí)間記錄無(wú)變化的監(jiān)控場(chǎng)景,有效信息含量低,視頻信息也失去了存儲(chǔ)的意義。
因此,在智能視頻監(jiān)控系統(tǒng)中。運(yùn)動(dòng)檢測(cè)技術(shù)是最基本也是最重要的技術(shù)。這種技術(shù)通過(guò)合適的算法,檢測(cè)視頻數(shù)據(jù)流中的運(yùn)動(dòng)目標(biāo),替代人工識(shí)別的工作。通過(guò)設(shè)置一定的參數(shù),發(fā)現(xiàn)運(yùn)動(dòng)目標(biāo)在監(jiān)控場(chǎng)景中的運(yùn)動(dòng)特征或位置信息,實(shí)現(xiàn)自動(dòng)告警或判斷視頻信息是否達(dá)到存儲(chǔ)或傳輸備份的要求,可以有效的節(jié)省存儲(chǔ)空間,降低網(wǎng)絡(luò)傳輸?shù)膲毫Α?/p>
在各類(lèi)運(yùn)動(dòng)檢測(cè)算法中以光流法、背景差分法和幀間差分法最為常見(jiàn)。
2.1.1 光流法
光流法最初是由Horn和Schunck提出。將二維速度場(chǎng)與灰度關(guān)聯(lián),引入約束方程,得到光流計(jì)算的基本算法。光流法算法較為簡(jiǎn)單,易于實(shí)現(xiàn),但是當(dāng)光照變化、物體被遮擋時(shí),會(huì)影響光流場(chǎng)的分布,將增加算法的運(yùn)算量,針對(duì)實(shí)時(shí)應(yīng)用場(chǎng)景時(shí)存在一定的缺陷。
2.1.2背景差分法
背景差分法通過(guò)選取特定的圖像作為背景幀,然后將當(dāng)前需要判斷的視頻幀或圖像與背景幀做差分運(yùn)算,進(jìn)而判斷是否存在運(yùn)動(dòng)目標(biāo),背景差分算法的處理過(guò)程如下:
(1)選取沒(méi)有運(yùn)動(dòng)物體進(jìn)人監(jiān)控畫(huà)面時(shí)的圖像作為背景幀,定義為background(x,y);
(2)選取當(dāng)前需要比較判斷的幀,定義為framek(x,y);
(3)設(shè)定閾值為T(mén),將當(dāng)前幀framek(x,y)與背景幀background(x,y)做差分運(yùn)算,差分的結(jié)果與閾值T進(jìn)行比較,二值化得到運(yùn)動(dòng)目標(biāo)。如果大于閾值T,則判斷有運(yùn)動(dòng)目標(biāo),如果小于等于閾值T,則判斷為沒(méi)有運(yùn)動(dòng)目標(biāo)。形式化計(jì)算公式表示如下:
detect(x,y)為當(dāng)前幀與背景幀經(jīng)過(guò)差分運(yùn)算、二值化后得到的二值圖像,僅當(dāng)detect(X,y)=1時(shí),表示偵測(cè)到運(yùn)動(dòng)目標(biāo)。背景差分法只需要進(jìn)行一幅幀的差分檢測(cè),速度快,準(zhǔn)確度高;但是背景差分算法很大程度上依賴(lài)于背景幀background(x,y)的可靠性,如果光照、陰影等變化,需要不斷的調(diào)整背景幀,以適應(yīng)環(huán)境的變化,因此,背景差分算法較適合于固定攝像機(jī)。
2.1.3兩幀差分法
兩幀差分法通常也稱(chēng)為幀間差分法,其算法設(shè)計(jì)思路與背景差分相似,采用改進(jìn)的方式,選取相鄰的兩幀圖像,將當(dāng)前幀。framek(x,y)與上一幀。framek-1(x,y)進(jìn)行灰度化處理后,進(jìn)行差分運(yùn)算,幀間差分法不會(huì)受到緩慢光線(xiàn)變化的影響,算法簡(jiǎn)單易實(shí)現(xiàn)。形式化計(jì)算公式表示如下:
但只能檢測(cè)到前后兩幀變化的部分,不能檢測(cè)到重疊部分,易出現(xiàn)邊緣模糊不完整等問(wèn)題,當(dāng)物體移動(dòng)緩慢時(shí)會(huì)出現(xiàn)誤判或空洞現(xiàn)象。
2.1.4三幀差分法
在兩幀差分法的基礎(chǔ)上。研究學(xué)者提出了三幀差分法,基本思路是提取連續(xù)三幀圖像framek-1(x,y),framek(x,y),framek+1(x,y),算法流程如圖1所示。
算法計(jì)算過(guò)程如下:
(1)將第k-1幀與第k幀按公式(2)進(jìn)行幀間差分法運(yùn)算,得到detect1(x,y);
(2)將第k幀與第k+1幀按公式(2)進(jìn)行幀間差分法運(yùn)算,得到detect2(x,y);
(3)將detect1(x,y)與detect2(x,y)的計(jì)算結(jié)果進(jìn)行與運(yùn)算,形式化的計(jì)算公式表示如下:
其中,DETE(x,y)是邏輯與的運(yùn)算結(jié)果,與兩幀差分法類(lèi)似,三幀差分法在檢測(cè)運(yùn)動(dòng)目標(biāo)的過(guò)程中,仍存在空洞現(xiàn)象,但是三幀差分法可以定位出運(yùn)動(dòng)目標(biāo)在監(jiān)控畫(huà)面中的位置,提高了運(yùn)動(dòng)檢測(cè)的精確度,檢測(cè)結(jié)果比兩幀差分法更準(zhǔn)確。
基于上述運(yùn)動(dòng)檢測(cè)算法的分析,在本文的研究過(guò)程中,可以采用三幀差分法實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)模塊,構(gòu)建校園網(wǎng)的視頻監(jiān)控系統(tǒng),降低系統(tǒng)構(gòu)建的難度,實(shí)現(xiàn)對(duì)視頻信息的選擇性存儲(chǔ),篩選出有效視頻幀,減少監(jiān)控視頻中的冗余信息,達(dá)到提高視頻信息有效性的目的。同時(shí),降低大量視頻采集設(shè)備獲取的海量視頻信息對(duì)存儲(chǔ)空間及網(wǎng)絡(luò)帶寬等方面的開(kāi)銷(xiāo),達(dá)到節(jié)約建設(shè)成本的目的。
2.2 存儲(chǔ)與網(wǎng)絡(luò)帶寬需求分析
2.2.1 攝像機(jī)碼流分析
為滿(mǎn)足智慧校園的建設(shè)要求。在監(jiān)控系統(tǒng)中以選用高清規(guī)格的攝像機(jī)為主。攝像機(jī)的規(guī)格各異,產(chǎn)生的數(shù)據(jù)量也各不相同。以HD數(shù)字?jǐn)z像機(jī)為例,按2048Kbps碼流進(jìn)行計(jì)算,每個(gè)攝像機(jī)每小時(shí)產(chǎn)生約900M的視頻數(shù)據(jù)。每天產(chǎn)生大約21G新視頻數(shù)據(jù)。三種常見(jiàn)規(guī)格的攝像機(jī),產(chǎn)生的視頻數(shù)據(jù)見(jiàn)表1.
2.2.2 視頻數(shù)據(jù)傳輸與存儲(chǔ)分析
以教學(xué)樓為例,樓層建筑為回字形,上下方為走廊通道,左右兩邊各分布5間教室。每個(gè)樓層有10間教室,上下左右共計(jì)4個(gè)廊道。綜合監(jiān)控系統(tǒng)的建設(shè)成本,4個(gè)廊道的兩端各選用安裝1路FHD數(shù)字?jǐn)z像機(jī),在每個(gè)教室中選用安裝2路HD數(shù)字?jǐn)z像機(jī),每個(gè)樓層合計(jì)28路兩種規(guī)格的攝像機(jī)。
在系統(tǒng)正常運(yùn)行時(shí)。智能視頻監(jiān)控系統(tǒng)中的每路攝像機(jī)都將實(shí)時(shí)產(chǎn)生兩個(gè)數(shù)據(jù)流,用于實(shí)時(shí)監(jiān)控傳輸?shù)囊曨l數(shù)據(jù)流和視頻數(shù)據(jù)文件傳輸至云計(jì)算存儲(chǔ)中心的存儲(chǔ)數(shù)據(jù)流。當(dāng)發(fā)生應(yīng)急情況時(shí),監(jiān)控中心的工作人員需要實(shí)時(shí)查看視頻監(jiān)控內(nèi)容,云計(jì)算的存儲(chǔ)中心也將實(shí)時(shí)存儲(chǔ)視頻信息,監(jiān)控系統(tǒng)的網(wǎng)絡(luò)帶寬將達(dá)到最大需求。
以表1中攝像機(jī)規(guī)格為例,當(dāng)應(yīng)急情況發(fā)生時(shí),每個(gè)樓層實(shí)時(shí)產(chǎn)生的最大視頻數(shù)據(jù)流和最大存儲(chǔ)數(shù)據(jù)流均為:4Mbps* 8路+2Mbps* 20路=72Mbps。因此,按樓層計(jì)算,最大的網(wǎng)絡(luò)帶寬需求合計(jì)為144Mbps,對(duì)云計(jì)算中心的存儲(chǔ)寫(xiě)入的最大速率要求為72Mbps。按相同的建設(shè)規(guī)格進(jìn)行部署,若整幢建筑物發(fā)生應(yīng)急情況,以6個(gè)樓層進(jìn)行計(jì)算,最大的傳輸帶寬需要864Mbps,最大存儲(chǔ)寫(xiě)入速率需求為432Mbps。
2.3 管理需求分析
智能視頻監(jiān)控系統(tǒng)一般都包含了視頻采集、圖像預(yù)處理、運(yùn)動(dòng)目標(biāo)檢測(cè)、運(yùn)動(dòng)目標(biāo)跟蹤、運(yùn)動(dòng)目標(biāo)分類(lèi)、行為描述與理解和告警處理模塊,相應(yīng)管理功能的需求也是圍繞上述模塊進(jìn)行設(shè)計(jì),提升系統(tǒng)的準(zhǔn)確率和響應(yīng)速度,提高系統(tǒng)的整體可靠性,為管理人員提供便捷的管理功能。
基于邊緣計(jì)算模型的視頻監(jiān)控系統(tǒng),相較于傳統(tǒng)的IVSS,除包含上述所涉及的功能,采用邊緣計(jì)算模型,分散式的在邊緣節(jié)點(diǎn)對(duì)視頻信息進(jìn)行預(yù)處理,存儲(chǔ)初期數(shù)據(jù)。因此,設(shè)計(jì)采用容器技術(shù),構(gòu)建容器化的資源調(diào)度平臺(tái),采用合適的策略,實(shí)現(xiàn)網(wǎng)絡(luò)帶寬資源的調(diào)度控制,上傳視頻文件至云計(jì)算中心,實(shí)現(xiàn)視頻文件的備份存儲(chǔ),降低網(wǎng)絡(luò)負(fù)載和存儲(chǔ)空間的需求,提高資源利用率,達(dá)到降低系統(tǒng)建設(shè)成本的目的。
3 方案設(shè)計(jì)
3.1 體系架構(gòu)設(shè)計(jì)
以教學(xué)樓的結(jié)構(gòu)進(jìn)行體系架構(gòu)圖設(shè)計(jì),基于邊緣計(jì)算模型的智能視頻監(jiān)控系統(tǒng)規(guī)劃為以下4個(gè)角色:邊緣計(jì)算單元(Edge Computing Unit,ECU)、智能視頻監(jiān)控單元(Intelligent Video Surveillance Unit,IVSU)、邊緣計(jì)算節(jié)點(diǎn)(Edge Computing Node,ECN),云計(jì)算數(shù)據(jù)中心(Cloud Computing DataCenter,CCDC)。體系架構(gòu)如圖2所示。
(1)ECU。邊緣計(jì)算單元,具有一定計(jì)算能力,可以實(shí)現(xiàn)對(duì)攝像機(jī)采集的視頻信息進(jìn)行預(yù)處理,并提供文件存儲(chǔ)及網(wǎng)絡(luò)傳輸功能。在后續(xù)模型驗(yàn)證中,采用樹(shù)莓派Zero w單板計(jì)算機(jī),底層安裝Linux,為后續(xù)提供Docker調(diào)度接口。
(2)IVSU。智能視頻監(jiān)控單元,在ECU模塊的基礎(chǔ)上,安裝motionEyeOS及CSI攝像頭實(shí)現(xiàn)智能視頻監(jiān)控單元,部署視頻采集點(diǎn),如:教室、走廊、實(shí)訓(xùn)室、圖書(shū)館等。
(3)ECN。邊緣計(jì)算節(jié)點(diǎn),具有較高的計(jì)算能力,并可以提供較大的存儲(chǔ)空間,用于臨時(shí)或長(zhǎng)期存儲(chǔ)IVSU產(chǎn)生的視頻數(shù)據(jù)??梢愿鶕?jù)攝像機(jī)的數(shù)量選擇服務(wù)器或其它通用計(jì)算機(jī)作為硬件支撐環(huán)境,易于部署容器化平臺(tái),為后續(xù)資源調(diào)度及模型驗(yàn)證提供支持。
(4)CCDC。云計(jì)算數(shù)據(jù)中心,部署大量的服務(wù)器及存儲(chǔ)硬件,采用KVM、VMware等平臺(tái)或工具,構(gòu)建云計(jì)算資源管理中心,為智能視頻監(jiān)控系統(tǒng)存儲(chǔ)海量的視頻信息。
3.2 視頻采集框架設(shè)計(jì)
進(jìn)行視頻采集框架設(shè)計(jì)時(shí),在保障可用性的情況下。采用樹(shù)莓派作為視頻采集框架的硬件基礎(chǔ)設(shè)施,降低建設(shè)成本?;陂_(kāi)源平臺(tái)部署容器,在去中心化環(huán)境中,提供調(diào)度策略的支持。
3.2.1 開(kāi)放式硬件架構(gòu)
樹(shù)莓派(Raspberry Pi)是一個(gè)開(kāi)放式,易于擴(kuò)展的小型的單板計(jì)算機(jī),功耗低,可按需定制,提供所有預(yù)期的功能或能力。廣泛用于實(shí)時(shí)圖像、視頻處理和基于IoT的各類(lèi)應(yīng)用程序。視頻采集框架采用由樹(shù)莓派Zero W作為核心組件的邊緣節(jié)點(diǎn),通過(guò)加載CSI攝像機(jī),用于實(shí)現(xiàn)監(jiān)控系統(tǒng)的視頻采集功能。
樹(shù)莓派Zero W單板計(jì)算機(jī),設(shè)計(jì)緊湊,功耗低,通過(guò)Micro USB接口供電,作為視頻采集成本低。該單板計(jì)算機(jī)采用BCM2835作為SoC,集成了通用計(jì)算機(jī)中的各類(lèi)功能。在計(jì)算模塊中,采用ARM1176JZF-S,提供了700MHz的計(jì)算能力:在視頻模塊中,采用了Broadcom VideoCore IV技術(shù)。能夠?qū)崿F(xiàn)每秒30幀的1080p的H。264視頻編碼或解碼,同時(shí)提供了miniHDMI輸出功能:在網(wǎng)絡(luò)連接方面,提供了Wifi及藍(lán)牙模塊,支持802.11n連接:在其他接口方面,提供了1個(gè)mini USB On the Go接口、一個(gè)Micro SD卡的接口和40pin的GPIO接口,針對(duì)攝像機(jī)提供了CSI接口,可以適配樹(shù)莓派Camera Module V2攝像機(jī),采集高達(dá)800萬(wàn)像素的高清視頻。
3.2.2 開(kāi)源視頻采集系統(tǒng)
motionEyeOS是一套嵌入式操作系統(tǒng),系統(tǒng)采用BuildRoot工具完成交叉編譯,適合于部署在單板計(jì)算機(jī)上,提供實(shí)現(xiàn)完整的視頻監(jiān)控系統(tǒng)。視頻監(jiān)控系統(tǒng)的前端是采用Python編寫(xiě)的motionEye程序,提供web接人功能;后端采用高度可配置的motion程序,可以實(shí)時(shí)查看視頻流,也可以實(shí)現(xiàn)面部識(shí)別、動(dòng)態(tài)監(jiān)測(cè)、攝像機(jī)直通錄制、記錄活動(dòng)圖片和創(chuàng)建動(dòng)態(tài)視頻文件等功能。在2.1節(jié)的需求分析的基礎(chǔ)上,對(duì)motionEyeOS進(jìn)行改進(jìn),簡(jiǎn)化流程,采用三幀差分算法,實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)功能。
3.3 容器化資源調(diào)度方案設(shè)計(jì)
在調(diào)度方案的設(shè)計(jì)過(guò)程中,負(fù)載是影響應(yīng)用資源需求的主要因素。結(jié)合智能視頻監(jiān)控系統(tǒng)的實(shí)際應(yīng)用,系統(tǒng)瓶頸主要集中在網(wǎng)絡(luò)及磁盤(pán)I/O方面。因此在設(shè)計(jì)調(diào)度方案時(shí)。先利用Docker容器引擎的特性,通過(guò)周期性的采集CPU、內(nèi)存、磁盤(pán)I/O、網(wǎng)絡(luò)帶寬等資源負(fù)載情況信息,為容器化調(diào)度方案提供信息支撐。
在調(diào)度模式上,充分體現(xiàn)邊緣計(jì)算模型分散處理的特點(diǎn)。針對(duì)圖1所示的體系架構(gòu)。采用兩級(jí)調(diào)度模式,即云計(jì)算數(shù)據(jù)中心(CCDC)對(duì)邊緣計(jì)算節(jié)點(diǎn)(ECN)進(jìn)行調(diào)度,邊緣計(jì)算節(jié)點(diǎn)(ECN)對(duì)邊緣計(jì)算單元(ECU)進(jìn)行調(diào)度。執(zhí)行調(diào)度任務(wù)時(shí),發(fā)起的一方為主動(dòng)調(diào)度對(duì)象(Active Scheduling Object,ASO),另一方為被動(dòng)調(diào)度對(duì)象(Passive Scheduling Object,PSO)。
在式(4)中,Asoi表示對(duì)應(yīng)CCDC或ECN中,第i個(gè)主動(dòng)調(diào)度對(duì)象(ASO)。Acpu表示ASO中的CPU資源的剩余情況,Amem表示ASO中的內(nèi)存剩余情況,Anet表示ASO中網(wǎng)絡(luò)帶寬的剩余情況,上述3種資源以百分比計(jì)算,取值范圍為(0,100);Ar表示ASO中磁盤(pán)I/O操作的讀狀態(tài);Aw表示ASO中磁盤(pán)I/O操作的寫(xiě)狀態(tài);Atasked表示當(dāng)前ASO中是否被上一級(jí)執(zhí)行調(diào)度任務(wù),結(jié)果為邏輯值,設(shè)定為(Ture | Fake),Ture表示當(dāng)前正在被執(zhí)行調(diào)度任務(wù),F(xiàn)alse表示未被執(zhí)行調(diào)度任務(wù)。
在式(5)中,Psoj表示對(duì)應(yīng)ECN或ECU的第j個(gè)被動(dòng)調(diào)度對(duì)象(PSO)。Pcpu表示PSO中CPU資源的剩余情況,Pmem表示PSO中內(nèi)存資源的剩余情況,Pnet表示PSO中網(wǎng)絡(luò)帶寬剩余情況。與公式(4)類(lèi)似,上述3種資源以百分比計(jì)算,取值范圍為(0,100);Pr表示PSO中磁盤(pán)I/O操作的讀狀態(tài),Pw表示PSO中磁盤(pán)I/O操作的寫(xiě)狀態(tài);Ptasked表示PSO是否被上一級(jí)執(zhí)行調(diào)度任務(wù),結(jié)果為邏輯值,設(shè)定為(Ture | False),Ture表示當(dāng)前正在被執(zhí)行調(diào)度任務(wù),F(xiàn)alse表示未被執(zhí)行調(diào)度任務(wù);Presp表示從被PSO到ASO之間的網(wǎng)絡(luò)狀態(tài):Pltime表示PSO上一次成功被執(zhí)行調(diào)度任務(wù)的時(shí)間,Psize表示需要調(diào)度處理的文件大小。
在式(6)中,Taskij表示主動(dòng)調(diào)度對(duì)象Asoi發(fā)起調(diào)度任務(wù)至被動(dòng)調(diào)度對(duì)象Psoj的執(zhí)行參數(shù)。執(zhí)行步驟如下:
(1)預(yù)設(shè)系統(tǒng)調(diào)度周期的時(shí)間長(zhǎng)度為Schetime,然后通過(guò)系統(tǒng)調(diào)用,取得系統(tǒng)當(dāng)前時(shí)間,作為調(diào)度任務(wù)的啟動(dòng)時(shí)間:Tstime。
(2)將啟動(dòng)時(shí)間Tstime與Psoj的Pltime參數(shù)進(jìn)行計(jì)算,獲取調(diào)度優(yōu)先級(jí),公式如下:Tpri=(Tstime-Pltime)÷Schetime,Tpri的數(shù)值越大,則優(yōu)先級(jí)越高,需被調(diào)度緊急程度越高。
(3)根據(jù)網(wǎng)絡(luò)狀況及Psoj的Psize參數(shù)進(jìn)行計(jì)算,假設(shè)Asoi與Psoj之間的網(wǎng)絡(luò)狀態(tài)處于理想狀態(tài),則可以估算調(diào)度任務(wù)的最小執(zhí)行時(shí)間,Texectime=Psize÷(Anet|Pnet),Anet與Pnet取其中的最小值。
(4)調(diào)度策略采用較為簡(jiǎn)潔的權(quán)重輪詢(xún)調(diào)度(Weighted Round-Robin Scheduling)算法,以Tpri作為權(quán)重,通過(guò)輪詢(xún)方式在邊緣計(jì)算模型中的各節(jié)點(diǎn)間進(jìn)行調(diào)度。根據(jù)調(diào)度任務(wù)的完成情況,設(shè)定Taskij的值為邏輯值(Ture | False),Ture表示當(dāng)前任務(wù)已完成,F(xiàn)alse表示調(diào)度任務(wù)未成功。
4 模型測(cè)試
4.1測(cè)試環(huán)境
為減少對(duì)正常教學(xué)秩序的影響。選擇暑期前進(jìn)行測(cè)試,測(cè)試地點(diǎn)為全天對(duì)學(xué)生開(kāi)放的信盈達(dá)CDIO智創(chuàng)工作室?;趫D2所示的體系架構(gòu)圖進(jìn)行部署,視頻采集框架采用3.2節(jié)所述的設(shè)計(jì),部署ECU節(jié)點(diǎn),并安裝攝像頭,配置網(wǎng)絡(luò),構(gòu)建IVSU。相關(guān)設(shè)備及主要參數(shù)見(jiàn)表2.
在工作室完成IVSU的部署后,IVSU設(shè)備采集的視頻通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸:樓層的設(shè)備間部署邊緣計(jì)算節(jié)點(diǎn)(ECN);再經(jīng)校園網(wǎng)絡(luò)傳輸至云計(jì)算數(shù)據(jù)中心(CCDC),ECN設(shè)備采用一臺(tái)DELL服務(wù)器,其主要參數(shù)見(jiàn)表3.
在本次測(cè)試過(guò)程中,未進(jìn)行云計(jì)算數(shù)據(jù)中心(CCDC)的設(shè)計(jì)與部署,在學(xué)?,F(xiàn)有的云計(jì)算數(shù)據(jù)中心申請(qǐng)一臺(tái)虛擬機(jī)(VM),安裝配備相應(yīng)的軟件環(huán)境,作為模擬CCDC,用于存儲(chǔ)數(shù)據(jù),實(shí)現(xiàn)調(diào)度功能。其參數(shù)見(jiàn)表4.
4.2模型測(cè)試
4.2.1 運(yùn)動(dòng)檢測(cè)功能驗(yàn)證
利用IVSU,錄制一段視頻。提取其中第1057幀、第1058和第1059幀進(jìn)行測(cè)試,如圖3所示。
將描述的三幀圖像,進(jìn)行二值化處理后,如圖4所示。
在本文設(shè)計(jì)的模型中,采用三幀差分算法進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè),將不變化的進(jìn)行二值化處理,轉(zhuǎn)化為黑色背景,通過(guò)算法提取的運(yùn)動(dòng)目標(biāo),輪廓較為清晰完整,結(jié)果達(dá)到預(yù)期的運(yùn)動(dòng)檢測(cè)需求,如圖5所示。
4.2.2 存儲(chǔ)需求驗(yàn)證
根據(jù)第三部分的設(shè)計(jì),同時(shí)也為了簡(jiǎn)化存儲(chǔ)文件的管理,采用分時(shí)間段存儲(chǔ)視頻流的方式,記錄視頻信息。以每300s為一個(gè)時(shí)間段,即5min的時(shí)間長(zhǎng)度為一個(gè)視頻文件。當(dāng)存儲(chǔ)的視頻幀中檢測(cè)發(fā)現(xiàn)運(yùn)動(dòng)物體后,標(biāo)記視頻記錄文件的狀態(tài),存儲(chǔ)視頻信息。連續(xù)5min視頻幀中沒(méi)有運(yùn)動(dòng)物體時(shí),刪除無(wú)運(yùn)動(dòng)狀態(tài)的視頻文件,達(dá)到節(jié)約存儲(chǔ)空間。
信盈達(dá)CDIO智創(chuàng)工作室的標(biāo)準(zhǔn)開(kāi)放時(shí)間是從早上07:30至夜間23:00.在部署IVSU前,調(diào)查學(xué)生進(jìn)入工作室的規(guī)律,工作室內(nèi)存在活動(dòng)的時(shí)間主要集中在早上07:30至12:15,下午14:10至晚上的23:00,其余時(shí)間活動(dòng)較少。每天無(wú)活動(dòng)時(shí)間,平均約10h 25min,占全天比例約43.40%。經(jīng)過(guò)6月10日至7月7日,持續(xù)4周的測(cè)試,表5中的第1周至第2周為學(xué)校的正常教學(xué)周次:第3周為考前復(fù)習(xí)周;第4周為考試周。視頻監(jiān)控記錄情況如表5所示,表中數(shù)據(jù)為文件個(gè)數(shù),每個(gè)視頻文件長(zhǎng)度為5min。
通過(guò)上述的測(cè)試數(shù)據(jù)可以看出。視頻記錄文件的數(shù)量與學(xué)生活動(dòng)成正比關(guān)系。在學(xué)校的正常教學(xué)周次,學(xué)生進(jìn)出工作室及在工作室內(nèi)的活動(dòng)較為規(guī)律,視頻存儲(chǔ)數(shù)量基本持平,臨近期末數(shù)量稍有增長(zhǎng)。第3周對(duì)應(yīng)為考前復(fù)習(xí)周次,學(xué)生在工作室中的實(shí)踐活動(dòng)增加了,數(shù)量有所增加。第4周為考試周,工作室內(nèi)的活動(dòng)降低較為明顯,且第4周的周五下午開(kāi)始放假,關(guān)閉工作室后,視頻記錄文件數(shù)量記錄為0個(gè)。
統(tǒng)計(jì)分析其中的數(shù)據(jù),對(duì)比加入運(yùn)動(dòng)檢測(cè)功能的視頻監(jiān)控,以第1周至第3周的數(shù)據(jù)做分析對(duì)比未加入運(yùn)動(dòng)檢測(cè)功能的視頻監(jiān)控。其所存儲(chǔ)的視頻文件數(shù)量約為每周1176個(gè)記錄。約節(jié)省41.67%的存儲(chǔ)空間。因此,如果在全校范圍內(nèi)開(kāi)展應(yīng)用,在存儲(chǔ)方面可以明顯降低建設(shè)成本。
4.2.3 調(diào)度任務(wù)驗(yàn)證
在進(jìn)行測(cè)試過(guò)程中。暫未全校性部署智能視頻監(jiān)控系統(tǒng),調(diào)度驗(yàn)證以邊緣計(jì)算節(jié)點(diǎn)(ECN)至邊緣計(jì)算單元(ECU)的測(cè)試為主,檢測(cè)智能視頻監(jiān)控系統(tǒng)對(duì)網(wǎng)絡(luò)帶寬的利用情況。
利用Docker容器引擎的輕量化等特性,通過(guò)周期性的采集CPU、內(nèi)存、磁盤(pán)I/O、網(wǎng)絡(luò)帶寬等資源負(fù)載情況信息,為容器化調(diào)度方案提供信息支撐。
假設(shè)共有n個(gè)ECU節(jié)點(diǎn),則ECU列表為:ecu={ecu0,ecu1,…,ecun-1},weight(ecuj)表示第j個(gè)ECU節(jié)點(diǎn)的權(quán)重,即公式(6)中計(jì)算后的Tpri,j也表示為上一次調(diào)度的對(duì)象Psoj,max(ecu)表示所有節(jié)點(diǎn)中的最大值。gcdnumber(ectt)表示ECU列表中所有節(jié)點(diǎn)權(quán)值的最大公約數(shù)。變量j初始化為一1,curweight,表示當(dāng)前的權(quán)重,初始化為0.
調(diào)度執(zhí)行偽代碼如下:
增加相應(yīng)的權(quán)重,判斷各節(jié)點(diǎn)的優(yōu)先級(jí),避免某個(gè)ECU節(jié)點(diǎn)的數(shù)據(jù)長(zhǎng)期未備份。同時(shí),通過(guò)相應(yīng)的權(quán)重,充分考慮網(wǎng)絡(luò)流量的負(fù)載等情況,避免邊緣計(jì)算模型中個(gè)ECU節(jié)點(diǎn)的集中調(diào)度,導(dǎo)致網(wǎng)絡(luò)擁塞的情形,降低整體的網(wǎng)絡(luò)建設(shè)成本。
5 結(jié)束語(yǔ)
本文提出的方案引入邊緣計(jì)算模型。在校園網(wǎng)內(nèi)有機(jī)融合云計(jì)算數(shù)據(jù)中心與邊緣計(jì)算環(huán)境。采用開(kāi)源及開(kāi)放式軟硬件架構(gòu),充分利用邊緣計(jì)算節(jié)點(diǎn)的計(jì)算資源,實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)功能,有效降低監(jiān)控系統(tǒng)對(duì)存儲(chǔ)空間的需求:并利用Docker容器化平臺(tái)收集各節(jié)點(diǎn)資源狀態(tài)信息,設(shè)計(jì)資源調(diào)度策略,提高網(wǎng)絡(luò)帶寬的利用率。智能視頻監(jiān)控技術(shù)是大數(shù)據(jù)時(shí)代監(jiān)控技術(shù)發(fā)展的趨勢(shì),因此,在后續(xù)的工作中,將結(jié)合ECU的計(jì)算能力,在智能視頻監(jiān)控系統(tǒng)中,實(shí)現(xiàn)目標(biāo)識(shí)別及跟蹤等功能:優(yōu)化存儲(chǔ)空間,采用分布式彈性存儲(chǔ)機(jī)制,充分利用ECN的存儲(chǔ)能力。