《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于云計(jì)算的智能高清視頻監(jiān)控系統(tǒng)研究
基于云計(jì)算的智能高清視頻監(jiān)控系統(tǒng)研究
來源:微型機(jī)與應(yīng)用2013年第3期
方權(quán)亮,余 諒
(四川大學(xué) 計(jì)算機(jī)學(xué)院,四川 成都 610065)
摘要: 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)對海量視頻數(shù)據(jù)存儲(chǔ)和智能視頻分析服務(wù)的需求日益突出,針對系統(tǒng)硬件計(jì)算能力有限,不能滿足用戶需求的多樣性,系統(tǒng)擴(kuò)展性受到存儲(chǔ)設(shè)備容量的限制等問題,通過虛擬化技術(shù)構(gòu)建云計(jì)算基礎(chǔ)資源池,以Hadoop分布式文件系統(tǒng)存儲(chǔ)海量視頻數(shù)據(jù),使用MapReduce編程模型實(shí)現(xiàn)大規(guī)模并行計(jì)算,提高了系統(tǒng)的可擴(kuò)展性和可靠性,為用戶提供實(shí)時(shí)視頻監(jiān)控和智能視頻分析服務(wù)。
Abstract:
Key words :

摘  要: 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)對海量視頻數(shù)據(jù)存儲(chǔ)和智能視頻分析服務(wù)的需求日益突出,針對系統(tǒng)硬件計(jì)算能力有限,不能滿足用戶需求的多樣性,系統(tǒng)擴(kuò)展性受到存儲(chǔ)設(shè)備容量的限制等問題,通過虛擬化技術(shù)構(gòu)建云計(jì)算基礎(chǔ)資源池,以Hadoop分布式文件系統(tǒng)存儲(chǔ)海量視頻數(shù)據(jù),使用MapReduce編程模型實(shí)現(xiàn)大規(guī)模并行計(jì)算,提高了系統(tǒng)的可擴(kuò)展性和可靠性,為用戶提供實(shí)時(shí)視頻監(jiān)控和智能視頻分析服務(wù)。
關(guān)鍵詞: 云計(jì)算;視頻監(jiān)控;Hadoop

 近年來,隨著視頻編碼技術(shù)、視頻存儲(chǔ)技術(shù)、視頻內(nèi)容分析以及IT技術(shù)的發(fā)展,視頻監(jiān)控正在向網(wǎng)絡(luò)化、高清化、智能化的方向發(fā)展。網(wǎng)絡(luò)視頻監(jiān)控方案改變了模擬監(jiān)控中的視頻傳輸及存儲(chǔ)方式,系統(tǒng)架構(gòu)更簡潔、部署實(shí)施更便捷。盡管網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)有諸多優(yōu)點(diǎn),但用戶的需求也在不斷提高,用戶希望系統(tǒng)要有更高的清晰度,更完善的功能,更穩(wěn)定的性能,更豐富的終端等。要實(shí)現(xiàn)大規(guī)模智能高清監(jiān)控,就必須從視頻源采集、視頻信號編解碼和傳輸、視頻實(shí)時(shí)監(jiān)控與分析、視頻文件存儲(chǔ)與回放等環(huán)節(jié)全面支持大規(guī)模智能高清。這樣就給系統(tǒng)設(shè)計(jì)、部署帶來了一系列現(xiàn)實(shí)的問題:網(wǎng)絡(luò)帶寬緊張、存儲(chǔ)空間龐大、對計(jì)算性能的要求成倍增長、投資與維護(hù)成本高昂、系統(tǒng)擴(kuò)容升級壓力等。
云計(jì)算通過虛擬化技術(shù)將大量異構(gòu)的服務(wù)器和網(wǎng)絡(luò)存儲(chǔ)設(shè)備構(gòu)建成統(tǒng)一的資源池,為大規(guī)模智能高清視頻監(jiān)控系統(tǒng)提供可擴(kuò)展的海量存儲(chǔ)資源和超強(qiáng)計(jì)算能力,靈活地為用戶提供所需的視頻監(jiān)控服務(wù),同時(shí)減少系統(tǒng)建設(shè)、升級及運(yùn)維管理的成本,提高資源利用率及系統(tǒng)運(yùn)行可靠性。
1 云計(jì)算與虛擬化技術(shù)
1.1 云計(jì)算

 NIST將云計(jì)算(Cloud Computing)定義為用戶可以方便地、按需通過網(wǎng)絡(luò)訪問共享資源池(網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用和服務(wù)等),并且具有快速部署、最小的管理代價(jià)或最少的服務(wù)提供商干預(yù)的一種新型IT基礎(chǔ)運(yùn)營模式[1]。Google、亞馬遜、IBM(藍(lán)云)、Oracle、微軟等公司出于不同的商業(yè)模式,對云計(jì)算給出了不同的商業(yè)概念,它們都體現(xiàn)了云計(jì)算五個(gè)方面的特征:超大規(guī)模、高可靠性、高可擴(kuò)展性、按需服務(wù)、高可用性,同時(shí)提供三種類型的服務(wù),分別是基礎(chǔ)設(shè)施即服務(wù)(IaaS),平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。
1.2 虛擬化技術(shù)
 云計(jì)算通過互聯(lián)網(wǎng)提供動(dòng)態(tài)分配的、可擴(kuò)展的和虛擬化的資源。虛擬化技術(shù)是所有云計(jì)算架構(gòu)的基礎(chǔ)技術(shù),為快速實(shí)施存儲(chǔ)和計(jì)算性能的無縫擴(kuò)展提供了保障。虛擬化既可以將單個(gè)的物理資源(比如一臺(tái)服務(wù)器,一個(gè)操作系統(tǒng),一個(gè)應(yīng)用程序,一個(gè)存儲(chǔ)設(shè)備)劃分成多個(gè)虛擬資源,也可以將多個(gè)物理資源(比如存儲(chǔ)設(shè)備或服務(wù)器)整合成一個(gè)虛擬資源池,虛擬化對上層應(yīng)用或用戶隱藏了物理資源的底層屬性。虛擬化技術(shù)可以分為存儲(chǔ)虛擬化、計(jì)算虛擬化、操作系統(tǒng)虛擬化、應(yīng)用虛擬化等[2]。
2 基于云計(jì)算的智能高清視頻監(jiān)控系統(tǒng)設(shè)計(jì)
2.1 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)

 大型網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)通常由多個(gè)分布式的監(jiān)控節(jié)點(diǎn)組成[3],每個(gè)監(jiān)控節(jié)點(diǎn)主要由三部分組成:前端視頻采集設(shè)備、集中管理系統(tǒng)(CMS)及客戶端。前端視頻采集設(shè)備包括IP攝像機(jī)和網(wǎng)絡(luò)視頻存儲(chǔ)設(shè)備(NVR),視頻數(shù)據(jù)存儲(chǔ)在NVR中,并由NVR向CMS和用戶轉(zhuǎn)發(fā)。視頻智能分析通常由單獨(dú)的硬件或嵌入到CMS中的軟件來實(shí)現(xiàn)。這種方案便于對設(shè)備和視頻數(shù)據(jù)進(jìn)行集中管理,但是在可擴(kuò)展性、資源利用率及系統(tǒng)性能方面卻存在不足。在可擴(kuò)展性方面,隨著前端攝像機(jī)數(shù)量的增加,要相應(yīng)地增加NVR。在資源利用率方面,NVR的剩余存儲(chǔ)容量不能進(jìn)行靈活分配。在系統(tǒng)性能方面,當(dāng)有多個(gè)用戶并發(fā)訪問同一NVR或?qū)Χ鄠€(gè)視頻流進(jìn)行實(shí)時(shí)智能分析時(shí),網(wǎng)絡(luò)帶寬和硬件計(jì)算能力成為系統(tǒng)瓶頸。
2.2 系統(tǒng)功能架構(gòu)
 基于云計(jì)算的智能高清視頻監(jiān)控系統(tǒng)在邏輯上可分為前端視頻輸入、云計(jì)算部分及視頻輸出。視頻數(shù)據(jù)從前端設(shè)備上傳到“云”端,在大規(guī)模視頻監(jiān)控系統(tǒng)中前端攝像機(jī)的數(shù)量可能達(dá)到數(shù)以千計(jì),需要設(shè)計(jì)可擴(kuò)展的存儲(chǔ)架構(gòu)來優(yōu)化視頻數(shù)據(jù)的存儲(chǔ)和分發(fā),同時(shí)提供進(jìn)行實(shí)時(shí)視頻智能分析所需的計(jì)算性能。
 基于云計(jì)算的智能高清視頻監(jiān)控系統(tǒng)功能架構(gòu)如圖1所示。

 系統(tǒng)主要由以下組件構(gòu)成:
 (1)虛擬化資源池:使用虛擬化技術(shù)將監(jiān)控節(jié)點(diǎn)的物理資源構(gòu)建成統(tǒng)一的資源池,形成視頻監(jiān)控系統(tǒng)的基礎(chǔ)設(shè)施。圖2表示了在虛擬機(jī)資源的分配情況。在可擴(kuò)展的系統(tǒng)架構(gòu)中,所有系統(tǒng)資源都是模塊化的,并且可以根據(jù)實(shí)際使用情況進(jìn)行動(dòng)態(tài)分配。

?。?)視頻流采集:將前端設(shè)備輸入的視頻流轉(zhuǎn)換為標(biāo)準(zhǔn)視頻格式,通過動(dòng)態(tài)地分配實(shí)時(shí)負(fù)載,支持大規(guī)模視頻流采集。
?。?)流媒體服務(wù)器:在分布式監(jiān)控節(jié)點(diǎn)中的每臺(tái)虛擬機(jī)上安裝流媒體服務(wù)器,虛擬機(jī)之間共享計(jì)算資源和網(wǎng)絡(luò)帶寬。使用內(nèi)存映射文件技術(shù)(memrory-mapped file)來存儲(chǔ)臨時(shí)視頻數(shù)據(jù),減少了用戶進(jìn)行實(shí)時(shí)監(jiān)控視頻時(shí)的磁盤I/O開銷。通過集成開源軟件FFmpeg,對實(shí)時(shí)監(jiān)控視頻進(jìn)行格式和分辨率轉(zhuǎn)碼。
?。?)Hadoop文件系統(tǒng):實(shí)現(xiàn)分布式的視頻數(shù)據(jù)存儲(chǔ)和備份機(jī)制。在視頻流采集模塊處理完輸入視頻流后,使用Hadoop-Fuse協(xié)議將視頻數(shù)據(jù)存儲(chǔ)在Hadoop文件系統(tǒng)中[4]。
?。?)策略控制模塊:該模塊通過操作分布式數(shù)據(jù)庫HBase,實(shí)現(xiàn)訪問控制并記錄用戶操作日志。
 (6)智能分析模塊:由于視頻數(shù)據(jù)存儲(chǔ)在Hadoop文件系統(tǒng)中,可以使用Hadoop Map/Reduce分布式計(jì)算模型來進(jìn)行智能視頻分析。
 (7)Web服務(wù)器:用戶不需要安裝單獨(dú)的軟件,通過Web瀏覽器就可進(jìn)行內(nèi)容管理及視頻檢索服務(wù)。
2.3 系統(tǒng)部署方式
 如圖3所示,部署基于云計(jì)算的智能高清視頻監(jiān)控系統(tǒng)主要包括中心節(jié)點(diǎn)和監(jiān)控節(jié)點(diǎn)兩部分。中心節(jié)點(diǎn)為所有監(jiān)控節(jié)點(diǎn)提供命名節(jié)點(diǎn)集群(Name node cluster)、視頻分析算法函數(shù)庫及控制策略,對監(jiān)控節(jié)點(diǎn)資源進(jìn)行統(tǒng)一分配[5]。監(jiān)控節(jié)點(diǎn)提供計(jì)算和存儲(chǔ)資源,負(fù)責(zé)接收處理本地輸入視頻流,視頻數(shù)據(jù)存儲(chǔ)在本地或相鄰的監(jiān)控節(jié)點(diǎn)上,并為用戶提供遠(yuǎn)程實(shí)時(shí)視頻監(jiān)控和智能分析服務(wù)。

3 關(guān)鍵技術(shù)及實(shí)現(xiàn)
3.1 視頻數(shù)據(jù)存儲(chǔ)備份

 系統(tǒng)基于Hadoop分布式文件系統(tǒng)的數(shù)據(jù)副本機(jī)制對視頻數(shù)據(jù)進(jìn)行備份。一個(gè)視頻數(shù)據(jù)塊有三個(gè)副本,副本的存儲(chǔ)位置如圖4所示,第一個(gè)、第二個(gè)副本放在監(jiān)控節(jié)點(diǎn)本地的兩個(gè)數(shù)據(jù)節(jié)點(diǎn)上,而第三個(gè)副本放在其他監(jiān)控節(jié)點(diǎn)的數(shù)據(jù)節(jié)點(diǎn)上,當(dāng)某一節(jié)點(diǎn)上的數(shù)據(jù)被破壞后,可以讀取其他節(jié)點(diǎn)上的副本,提高了系統(tǒng)穩(wěn)定性。

3.2 視頻智能分析
 視頻監(jiān)控系統(tǒng)智能分析包括實(shí)時(shí)視頻分析和離線視頻分析。視頻數(shù)據(jù)存儲(chǔ)在Hadoop文件系統(tǒng)中,可以使用Map/Reduce大規(guī)模并行計(jì)算處理圖像識別、人臉識別、行為檢測、移動(dòng)跟蹤等需要大量CPU計(jì)算能力的任務(wù)。
3.3 實(shí)時(shí)轉(zhuǎn)碼(Transcending)

 


 由于用戶端設(shè)備所支持的視頻格式不同,并且圖像顯示分辨率受到傳輸帶寬的限制,需要對源視頻流進(jìn)行轉(zhuǎn)碼,以適合用戶實(shí)際的格式和分辨率。開源軟件FFmpeg能夠動(dòng)態(tài)地對視頻進(jìn)行轉(zhuǎn)碼,但是軟件本身是CPU敏感的應(yīng)用,如果有大量用戶訪問同一服務(wù)器,會(huì)造成系統(tǒng)瓶頸,通過在多臺(tái)服務(wù)器上存放視頻流不同的副本,由多臺(tái)服務(wù)器分擔(dān)轉(zhuǎn)碼任務(wù),較好地滿足了不同的用戶請求。
 本文提出了一種基于云計(jì)算的智能高清視頻監(jiān)控系統(tǒng)的解決方案。通過整合視頻監(jiān)控系統(tǒng)中計(jì)算和存儲(chǔ)硬件資源,實(shí)現(xiàn)了對硬件資源的統(tǒng)一配置,提高了系統(tǒng)的可擴(kuò)展性、資源的使用效率,滿足了用戶對高清化、智能化的需求,同時(shí)對視頻數(shù)據(jù)備份、視頻智能分析、實(shí)時(shí)轉(zhuǎn)碼等關(guān)鍵技術(shù)進(jìn)行了闡述和分析。
參考文獻(xiàn)
[1] MELL P, GRANCE T. The NIST Definition of Cloud Computing(Draft). NIST Special Publication 800-145, January 2011.
[2] LI P. Selecting and using virtualization solutions: our experiences with VMware and VirtualBox[J]. Journal of Computing Sciences in Colleges, 2010,25(3):11-17.
[3] OSTHEIMER D, LEMAY S, GHAZAL M, et al. A modular distributed video surveillance system over IP [C]. 2006 Canadian  Conference on Electrical and Computer Engineering, CCECE′06, May 7-10 2006:518-521
[4] KUO T, NI Z, DE LEO C, et al. Design and Implementation of  a Wide Area, Large-Scale Camera Network[C]. IEEE Computer Society Conference on Computer  Vision and Pattern Recognition, IEEE Workshop on Camera Networks, Jun. 2010.
[5] DETMOLD H, HENGEL A, DICK A, et al. Topology Estimation for Thousand-Camera Surveillance Networks[C]. IEEE Distributed Smart Cameras(ICDSC),2007:195-202.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。