清華大學(xué)最新《面向實(shí)時(shí)視頻流分析的邊緣計(jì)算技術(shù)》綜述
實(shí)時(shí)視頻流分析在智能監(jiān)控、智慧城市、自動(dòng)駕駛等場(chǎng)景中具有重要價(jià)值. 然而計(jì)算負(fù)載高、 帶寬需求大、延遲要求嚴(yán)等特點(diǎn)使得實(shí)時(shí)視頻流分析難以通過(guò)傳統(tǒng)的云計(jì)算范式進(jìn)行部署. 近年來(lái)興 起的邊緣計(jì)算范式, 將計(jì)算任務(wù)從云端下沉到位于網(wǎng)絡(luò)邊緣的終端設(shè)備和邊緣服務(wù)器上, 能夠有效解 決上述問(wèn)題. 因此, 許多針對(duì)實(shí)時(shí)視頻流分析的邊緣計(jì)算研究逐漸涌現(xiàn).
本文首先介紹了智能視頻流 分析和邊緣計(jì)算的背景知識(shí), 以及二者結(jié)合的典型應(yīng)用場(chǎng)景; 接著提出了現(xiàn)有系統(tǒng)所關(guān)注的衡量指標(biāo) 和面臨的挑戰(zhàn); 然后從終端設(shè)備層次、協(xié)作層次、邊緣/云層次對(duì)本領(lǐng)域的關(guān)鍵技術(shù)分別進(jìn)行了詳細(xì)的 介紹, 重點(diǎn)涉及了模型壓縮和選擇、本地緩存、視頻幀過(guò)濾、任務(wù)卸載、網(wǎng)絡(luò)協(xié)議、隱私保護(hù)、查詢(xún)優(yōu) 化、推理加速和邊緣緩存技術(shù).
基于對(duì)上述各項(xiàng)核心技術(shù)的有機(jī)整合, 本文提出了基于邊緣計(jì)算的視 頻大數(shù)據(jù)智能分析平臺(tái) Argus, 從數(shù)據(jù)采集、推理分析, 到數(shù)據(jù)挖掘、日志管理, 對(duì)實(shí)時(shí)視頻流分析全 生命周期提供支持, 并成功應(yīng)用到智慧油田中. 最后, 本文討論了本領(lǐng)域尚待解決的問(wèn)題和未來(lái)研究 方向, 希望為今后的研究工作提供有益參考.
http://scis.scichina.com/cn/2022/SSI-2021-0133
1. 引言
隨著智能手機(jī)的普及和監(jiān)控?cái)z像頭的大規(guī)模部署, 全球范圍內(nèi)實(shí)時(shí)生產(chǎn)的視頻數(shù)據(jù)量呈現(xiàn)出指數(shù) 增長(zhǎng)的趨勢(shì). 根據(jù)思科公司的預(yù)測(cè) [1] , 到 2023 年, 視頻流將占據(jù)互聯(lián)網(wǎng)總流量的 80%. 傳統(tǒng)的人工方 法難以對(duì)如此大規(guī)模的數(shù)據(jù)進(jìn)行分析, 因此需要利用計(jì)算機(jī)自動(dòng)提取出視頻流中的關(guān)鍵信息. 實(shí)時(shí)視 頻流分析, 指通過(guò)計(jì)算機(jī)視覺(jué)算法對(duì)一個(gè)或多個(gè)攝像頭產(chǎn)生的視頻流內(nèi)容自動(dòng)進(jìn)行分析和理解, 從而 在視頻流錄制和傳輸?shù)耐瑫r(shí)完成目標(biāo)識(shí)別、異常檢測(cè)等復(fù)雜任務(wù) [2] . 由于攝像頭源源不斷地產(chǎn)生視頻 流, 自動(dòng)視頻分析必須能夠?qū)崟r(shí)進(jìn)行. 自 1970 年至今, 智能視頻分析系統(tǒng)就一直是學(xué)術(shù)和工業(yè)界的熱 點(diǎn)問(wèn)題. 實(shí)時(shí)視頻流分析可以被應(yīng)用在智能安防、智慧城市、自動(dòng)駕駛, 以及個(gè)人生活助理等領(lǐng)域, 不僅能替代傳統(tǒng)的人工監(jiān)控業(yè)務(wù), 還可以拓展視頻分析任務(wù)的應(yīng)用邊界.
自 2012 年 AlexNet [3] 提出以來(lái), 計(jì)算機(jī)視覺(jué)技術(shù), 特別是基于深度卷積神經(jīng)網(wǎng)絡(luò) (convolution neural network, CNN) 的目標(biāo)檢測(cè)和 識(shí)別技術(shù)出現(xiàn)了重大突破. 機(jī)器在自動(dòng)視頻分析任務(wù)上已經(jīng)可以達(dá)到甚至超過(guò)人類(lèi)水平, 使智能視頻 分析從理論研究快速走向了實(shí)際應(yīng)用 [4, 5] . 深度卷積神經(jīng)網(wǎng)絡(luò)需要巨大的計(jì)算量, 往往只有在圖形處 理單元 (graphics processing unit, GPU) 等專(zhuān)用硬件上才能實(shí)時(shí)運(yùn)行, 需要將計(jì)算任務(wù)卸載到具有較強(qiáng) 計(jì)算能力的設(shè)備上.
圖 1 為許多傳統(tǒng)的實(shí)時(shí)視頻流分析系統(tǒng)所采用的中心化云計(jì)算架構(gòu): 處于網(wǎng)絡(luò)邊 緣的設(shè)備端攝像頭直接通過(guò)互聯(lián)網(wǎng)將視頻傳輸?shù)骄W(wǎng)絡(luò)中心的云服務(wù)器. 云服務(wù)器獲得視頻之后對(duì)視頻 進(jìn)行存儲(chǔ), 并利用 GPU 進(jìn)行推理分析, 再將推理結(jié)果在云端進(jìn)行整合利用. 在部分場(chǎng)景, 云端還會(huì)將 最終結(jié)果返回給網(wǎng)絡(luò)邊緣的終端設(shè)備 [2] . 然而, 基于云計(jì)算的視頻分析系統(tǒng)面臨著帶寬占用大、傳輸 延遲高、網(wǎng)絡(luò)不可靠和隱私保護(hù)難等問(wèn)題.
基于邊緣計(jì)算的實(shí)時(shí)視頻流分析范式, 可以很好地解決上述問(wèn)題. 邊緣計(jì)算旨在將計(jì)算任務(wù)從位 于網(wǎng)絡(luò)中心的云服務(wù)器下沉到與視頻源物理接近的邊緣服務(wù)器或者智能終端設(shè)備上 [6] . 如圖 2 [7] 所 示, 在邊緣計(jì)算架構(gòu)中, 計(jì)算任務(wù)可以卸載到設(shè)備 – 邊緣 – 云 3 個(gè)層級(jí)中. 擁有一定計(jì)算能力的智能 設(shè)備和邊緣服務(wù)器能夠在視頻源附近直接處理大部分存儲(chǔ)和分析任務(wù), 云服務(wù)器僅在必要情況下提供 計(jì)算支持和數(shù)據(jù)融合. 因此, 基于邊緣計(jì)算的視頻流分析系統(tǒng)占用的互聯(lián)網(wǎng)上傳帶寬將顯著減少.
此 外, 邊緣服務(wù)器與視頻源物理位置接近, 其數(shù)據(jù)包往返時(shí)間 (round trip time, RTT) 相比云服務(wù)器幾乎 可以忽略不計(jì). 基于邊緣計(jì)算的視頻流處理系統(tǒng)只需要考慮視頻流的傳輸時(shí)延和視頻分析的時(shí)延, 能 夠完成服務(wù)時(shí)延敏感的增強(qiáng)現(xiàn)實(shí)等任務(wù) [8] . 同時(shí), 相比于互聯(lián)網(wǎng), 視頻源和網(wǎng)絡(luò)邊緣的連接相對(duì)簡(jiǎn)單 可控, 能夠確保足夠的傳輸帶寬和穩(wěn)定性. 將視頻數(shù)據(jù)在邊緣端直接處理, 或者在邊緣端進(jìn)行脫敏化 操作之后上傳, 也可以有效避免云端隱私泄漏.
除了實(shí)時(shí)視頻分析以外, 許多應(yīng)用場(chǎng)景也需要對(duì)大量的已有視頻進(jìn)行離線分析. 例如, 大型視頻 網(wǎng)站需要自動(dòng)分析用戶上傳的視頻, 檢測(cè)其是否涉黃; 公安執(zhí)法部門(mén)需要在刑事案件發(fā)生后回溯已有 監(jiān)控視頻, 確定嫌疑人的歷史軌跡. 這些對(duì)已有視頻的離線查詢(xún), 需要從數(shù)小時(shí)甚至數(shù)月長(zhǎng)度的大量 視頻中檢索出具有特定目標(biāo)的少量視頻幀或片段. 面對(duì)后臺(tái)保存的大規(guī)模視頻數(shù)據(jù), 逐幀進(jìn)行神經(jīng)網(wǎng) 絡(luò)分析會(huì)耗費(fèi)大量時(shí)間和計(jì)算資源. 因此, 離線視頻分析的核心問(wèn)題在于: 如何在不完全分析所有視頻幀的情況下檢索出視頻幀中的所有目標(biāo). 其中最直觀的方法就是用底層計(jì)算機(jī)視覺(jué)方法檢測(cè)視頻內(nèi) 容變化的情況, 僅在變化較大時(shí)進(jìn)行分析 [9] .
離線分析的特點(diǎn)是不需要按照視頻時(shí)間順序進(jìn)行, 因而 許多工作都在分析前從整個(gè)視頻中選出部分幀訓(xùn)練定制化的輕量級(jí)神經(jīng)網(wǎng)絡(luò)模型 [9 13] . 定制化模型 能夠較好適應(yīng)已有視頻的特性, 可以在精確度損失較少的情況下減少單次分析帶來(lái)的開(kāi)銷(xiāo). 在此基礎(chǔ) 上, NoScope [9] 和 THAHOMA [12] 利用不同輕量級(jí)模型組成多級(jí)過(guò)濾器, 在離線分析過(guò)程中篩選掉大 部分視頻幀不進(jìn)行完整分析. Focus [10] 則利用輕量級(jí)模型在存儲(chǔ)視頻時(shí)構(gòu)建索引, 處理后續(xù)任務(wù)時(shí)僅 對(duì)包含索引的部分視頻幀用完整模型進(jìn)行分析. 本文主要是面向?qū)崟r(shí)視頻流分析, 不再進(jìn)一步展開(kāi)介 紹離線視頻分析.
2017 年, 美國(guó)微軟公司的 Ananthanarayanan 等 [14] 提出 “實(shí)時(shí)視頻分析是邊緣計(jì)算的殺手級(jí)應(yīng) 用”, 并且分享了一系列針對(duì)智能交通分析的邊緣實(shí)時(shí)視頻流分析系統(tǒng) [15 17] . 此后, 許多針對(duì)實(shí)時(shí)視 頻分析的邊緣計(jì)算系統(tǒng)和研究開(kāi)始涌現(xiàn), 并且逐漸被部署到真實(shí)世界的各種應(yīng)用中. 目前已經(jīng)存在許 多針對(duì)實(shí)時(shí)視頻流分析的邊緣計(jì)算研究工作, 但仍然缺乏系統(tǒng)性的綜述工作. 因此, 本文希望對(duì)基于邊 緣計(jì)算的實(shí)時(shí)視頻流分析領(lǐng)域的最新進(jìn)展和未來(lái)方向進(jìn)行討論.
本文的貢獻(xiàn)如下:
? 收集和整理了現(xiàn)有的針對(duì)實(shí)時(shí)視頻流分析的邊緣計(jì)算系統(tǒng)和研究, 并將其中涉及的關(guān)鍵技術(shù)分類(lèi) 為 3 個(gè)層次: 終端設(shè)備層次、協(xié)作層次, 和邊緣/云層次. 我們分別對(duì) 3 個(gè)層次中的重要技術(shù)的應(yīng)用和 發(fā)展進(jìn)行了總結(jié).
? 提出了基于邊緣計(jì)算的視頻大數(shù)據(jù)智能分析平臺(tái) Argus, 并分別從視頻/傳感器數(shù)據(jù)源、接入網(wǎng) 絡(luò)、邊緣視頻流分析、模塊編排和管理、數(shù)據(jù)挖掘, 以及業(yè)務(wù)邏輯等方面對(duì)其進(jìn)行了介紹.
? 提出并分析了邊緣實(shí)時(shí)視頻流分析當(dāng)前面臨的挑戰(zhàn)和未來(lái)可能發(fā)展方向.
第 2 節(jié)介紹了實(shí)時(shí)視頻流分析和邊緣技術(shù)涉及的背景知識(shí)和應(yīng)用場(chǎng)景. 第 3 節(jié)指出了基于邊緣 計(jì)算的實(shí)時(shí)視頻流分析系統(tǒng)的關(guān)鍵指標(biāo)和面臨的挑戰(zhàn). 第 4 節(jié)分層次總結(jié)邊緣實(shí)時(shí)視頻流分析涉及的 關(guān)鍵技術(shù). 第 5 節(jié)提出了 Argus 平臺(tái)并闡述其頂層設(shè)計(jì). 第 6 節(jié)討論了本領(lǐng)域尚待解決的問(wèn)題和可能 的發(fā)展方向. 最后, 第 7 節(jié)對(duì)本文進(jìn)行了總結(jié).
2. 背景介紹
本節(jié)簡(jiǎn)單介紹背景知識(shí)及相關(guān)術(shù)語(yǔ), 包括視頻分析流程、典型的邊緣計(jì)算范式, 以及基于邊緣計(jì) 算的實(shí)時(shí)視頻流分析的具體應(yīng)用場(chǎng)景。
2.1 視頻分析流程
實(shí)時(shí)視頻流分析需求較為復(fù)雜, 通常涉及多個(gè)不同模塊的組合. 圖 3 以常見(jiàn)的目標(biāo)識(shí)別與追蹤為 例, 對(duì)視頻分析所涉及的流程進(jìn)行了展示. 從邏輯層面上, 實(shí)時(shí)視頻分析流程可以被劃分為視頻采集 和編碼、視頻解碼、預(yù)處理、區(qū)域提取、目標(biāo)檢測(cè)、目標(biāo)識(shí)別、目標(biāo)追蹤, 以及數(shù)據(jù)融合這幾個(gè)部分. 在必要時(shí), 系統(tǒng)還需要將分析結(jié)果返回給視頻源用于實(shí)時(shí)渲染或決策。
2.2 邊緣計(jì)算架構(gòu)
邊緣計(jì)算是近年的研究熱點(diǎn), 有許多與其相關(guān)的概念, 例如霧計(jì)算、移動(dòng)邊緣計(jì)算、微型云計(jì)算 (cloudlet computing) 等 [41] . 我們認(rèn)為, 這些概念都屬于邊緣計(jì)算的范疇, 即將計(jì)算負(fù)載分流到數(shù)據(jù)生 產(chǎn)源附近的網(wǎng)絡(luò)邊緣端. 如圖 2 所示, 定義中的網(wǎng)絡(luò)邊緣端, 既包括位于基站中、工廠內(nèi)的邊緣服務(wù) 器, 也包括具有一定計(jì)算能力的智能手機(jī)、攝像頭等終端設(shè)備.
根據(jù)物理設(shè)備的算力和與數(shù)據(jù)源的距離, 可以進(jìn)一步將邊緣計(jì)算系統(tǒng)中的設(shè)備縱向分為 3 層: 底 層是計(jì)算能力較弱、作為數(shù)據(jù)源的終端設(shè)備, 中層是計(jì)算能力相對(duì)較強(qiáng)但有限的邊緣計(jì)算服務(wù)器, 頂 層是具有彈性擴(kuò)張能力的云服務(wù)器. 設(shè)備端和邊緣服務(wù)器之間具有穩(wěn)定的網(wǎng)絡(luò)連接, 同時(shí)具備帶寬大 和延遲低的特點(diǎn); 而邊緣服務(wù)器和云服務(wù)器之間則通過(guò)因特網(wǎng)進(jìn)行連接, 具有連接不穩(wěn)定、帶寬低、延 遲高等特點(diǎn). 按照計(jì)算負(fù)載在 3 類(lèi)設(shè)備上的分配, 常見(jiàn)的邊緣計(jì)算系統(tǒng)可以縱向分為設(shè)備 – 邊緣、邊 緣 – 云端, 以及設(shè)備 – 邊緣 – 云端 3 種架構(gòu). 同時(shí), 同一類(lèi)設(shè)備之間也可以相互橫向卸載計(jì)算任務(wù), 從而組合出更復(fù)雜的多設(shè)備協(xié)同架構(gòu) [19] .
邊緣計(jì)算最初的設(shè)想是為移動(dòng)設(shè)備提供游牧服務(wù) (cyber-foraging), 如圖 4(a) 所示: 當(dāng)手機(jī)或可穿 戴設(shè)備需要進(jìn)行計(jì)算量較大的人機(jī)交互任務(wù)時(shí), 會(huì)搜索附近的邊緣服務(wù)器, 提交一次性的低延遲分析 請(qǐng)求, 并接收計(jì)算結(jié)果. 移動(dòng)設(shè)備可能會(huì)在一次任務(wù)中隨著自身位置變化向多個(gè)邊緣服務(wù)器先后發(fā)出 請(qǐng)求, 一個(gè)邊緣服務(wù)器可能同時(shí)服務(wù)多個(gè)租戶的不同任務(wù) [42] . 游牧服務(wù)更強(qiáng)調(diào)邊緣計(jì)算所帶來(lái)的低 延遲響應(yīng), 常見(jiàn)于增強(qiáng)現(xiàn)實(shí)等交互應(yīng)用, 多采用設(shè)備 – 邊緣 和設(shè)備 – 邊緣 – 云端架構(gòu).
隨著邊緣計(jì)算在工業(yè)場(chǎng)景的應(yīng)用, 如圖 4(b) 所示的邊緣站點(diǎn) (edge site) 模式逐漸興起: 在工廠、 十字路口等地點(diǎn)部署固定攝像頭和邊緣計(jì)算服務(wù)器集群, 7 24 小時(shí)穩(wěn)定地對(duì)大量數(shù)據(jù)進(jìn)行持續(xù)分析 和存儲(chǔ) [43] . 由于邊緣服務(wù)器與攝像頭位置相近, 網(wǎng)絡(luò)條件較為簡(jiǎn)單, 二者間可以保持穩(wěn)定的高帶寬和 低延遲通信. 邊緣站點(diǎn)不涉及多租戶服務(wù), 強(qiáng)調(diào)服務(wù)的穩(wěn)定運(yùn)行和節(jié)約云邊通信帶寬, 常見(jiàn)于安防監(jiān) 控、工業(yè)分析等場(chǎng)景, 并且多采用邊緣 – 云端和多設(shè)備協(xié)同架構(gòu). 雖然應(yīng)用場(chǎng)景不同, 但是二者殊途同歸, 最終都是為了解決終端設(shè)備計(jì)算能力不足的問(wèn)題, 并且在 分析精度、端到端延遲、資源占用等多方面進(jìn)行權(quán)衡. 區(qū)別在于二者面臨的應(yīng)用場(chǎng)景不同, 因此對(duì)延 遲、精度、帶寬等參數(shù)的容忍度不同. 例如, 游牧服務(wù)模式的增強(qiáng)現(xiàn)實(shí)任務(wù)可能需要在 20 ms 內(nèi)傳回 結(jié)果, 邊緣站點(diǎn)上運(yùn)行的油井狀態(tài)檢測(cè)可能可以接受 10 s 以?xún)?nèi)的延遲 [43] .
2.3 應(yīng)用場(chǎng)景
如 2.2 小節(jié)中介紹, 邊緣計(jì)算的服務(wù)模式可以大致分為游牧服務(wù)和邊緣站點(diǎn)兩類(lèi). 在邊緣實(shí)時(shí)視 頻分析的眾多應(yīng)用場(chǎng)景中, 增強(qiáng)現(xiàn)實(shí)、可穿戴認(rèn)知輔助、無(wú)人機(jī)搜救、自動(dòng)駕駛等任務(wù)常利用游牧服 務(wù)模式; 而安防監(jiān)控、智慧零售、交通分析等應(yīng)用則更多采用固定的邊緣站點(diǎn)模式. 接下來(lái), 我們對(duì)幾 個(gè)典型的應(yīng)用場(chǎng)景進(jìn)行簡(jiǎn)介.
3 目標(biāo)與挑戰(zhàn)
本節(jié)對(duì)衡量視頻流分析表現(xiàn)的重要指標(biāo)進(jìn)行介紹, 并分析了現(xiàn)有針對(duì)實(shí)時(shí)視頻流分析的邊緣計(jì)算 系統(tǒng)需要解決的三大挑戰(zhàn).
我們對(duì)大部分邊緣實(shí)時(shí)視頻分析系統(tǒng)所關(guān)心的關(guān)鍵指標(biāo)進(jìn)行一一說(shuō)明.
延遲: 也稱(chēng)為端到端時(shí)延、響應(yīng)時(shí)間, 指從視頻幀解碼、數(shù)據(jù)傳輸、模型推理, 到最終獲得分析結(jié) 果的總時(shí)間. 對(duì)于需要在本地展示分析結(jié)果的應(yīng)用, 端到端時(shí)延還包括結(jié)果傳回本地以及本地渲染結(jié) 果的時(shí)間. 有一些任務(wù)習(xí)慣用幀率、刷新率等指標(biāo)對(duì)延遲作出限制, 最大延遲限制就是幀率的倒數(shù). 例 如增強(qiáng)現(xiàn)實(shí)任務(wù)需要的 60 fps 刷新率就對(duì)應(yīng)了 20 ms 以?xún)?nèi)的端到端延遲. 端到端時(shí)延受到視頻分析 流程中許多因素的影響, 包括數(shù)據(jù)處理延遲、網(wǎng)絡(luò)傳輸方式、設(shè)備計(jì)算能力、模型參數(shù)規(guī)模等. 除了完 成單次視頻分析的平均延遲, 部分系統(tǒng)還關(guān)注多任務(wù)同時(shí)分析時(shí)的延遲波動(dòng)性, 以及延遲的 99 百分 位等長(zhǎng)尾值.
分析準(zhǔn)確度: 是視頻分析任務(wù)的關(guān)鍵指標(biāo), 衡量了視頻分析算法和模型的預(yù)測(cè)準(zhǔn)確度. 因此, 針對(duì) 不同的視覺(jué)任務(wù)往往對(duì)應(yīng)不同的準(zhǔn)確度指標(biāo). 對(duì)于圖像分類(lèi)和目標(biāo)識(shí)別, 準(zhǔn)確度一般指所有預(yù)測(cè)結(jié)果 中預(yù)測(cè)正確的概率. 對(duì)其中樣本不均衡的情況, 還會(huì)用到精度 (precision)、召回率 (recall) 和 F1 分?jǐn)?shù). 對(duì)于目標(biāo)檢測(cè)任務(wù), 首先需要根據(jù)重疊度 (intersection over union, IOU) 超過(guò)閾值判斷每個(gè)框檢測(cè)是 否成功, 再以此計(jì)算準(zhǔn)確度、精度、mAP (mean average precision) 等評(píng)價(jià)指標(biāo). 而實(shí)例分割和目標(biāo)分 割等像素級(jí)別的任務(wù)通常按照像素準(zhǔn)確度或各類(lèi)別 IOU 均值作為評(píng)價(jià)指標(biāo). 除了受模型本身的影響, 分析準(zhǔn)確度也和運(yùn)行時(shí)間有關(guān). 如果分析結(jié)果出現(xiàn)的速率小于視頻的幀率, 可能會(huì)出現(xiàn)結(jié)果與當(dāng)前視 頻幀不匹配的現(xiàn)象, 降低分析準(zhǔn)確度.
帶寬: 指終端設(shè)備和邊緣服務(wù)器、邊緣服務(wù)器和云服務(wù)器之間每秒傳輸?shù)臄?shù)據(jù)量大小. 在基于移 動(dòng)蜂窩網(wǎng)絡(luò)通信的系統(tǒng)中, 通信帶寬費(fèi)用可以占據(jù)系統(tǒng)的大部分運(yùn)行成本, 而且網(wǎng)絡(luò)狀況面臨波動(dòng)的 可能. 在私有或者有線的固定帶寬網(wǎng)絡(luò)中通信時(shí), 單個(gè)視頻流的帶寬開(kāi)銷(xiāo)大小決定了整個(gè)系統(tǒng)的擴(kuò)展 能力.
吞吐量: 指單位計(jì)算資源下, 邊緣實(shí)時(shí)視頻分析系統(tǒng)能同時(shí)服務(wù)的設(shè)備數(shù)量; 或單位時(shí)間下, 同一 系統(tǒng)能同時(shí)處理的分析請(qǐng)求個(gè)數(shù). 吞吐量代表了系統(tǒng)能服務(wù)的規(guī)模和對(duì)計(jì)算資源的利用效率. 吞吐量 越大, 說(shuō)明系統(tǒng)在單位資源下能夠服務(wù)更大的規(guī)模. 這一指標(biāo)既受到用戶對(duì)準(zhǔn)確率、延遲要求的限制, 又與整個(gè)系統(tǒng)的資源分配、任務(wù)調(diào)度、計(jì)算和帶寬資源相關(guān).
能耗: 指邊緣視頻分析系統(tǒng)中的各個(gè)模塊, 在單位時(shí)間或單次分析任務(wù)內(nèi)消耗的能量. 能耗指標(biāo) 對(duì)手機(jī)、無(wú)人機(jī)等基于電池的移動(dòng)終端設(shè)備有重要意義. 其主要受到計(jì)算機(jī)視覺(jué)模型運(yùn)行和設(shè)備間網(wǎng) 絡(luò)通信的影響, 也和同一設(shè)備上 CPU, GPU 等不同處理器的使用相關(guān).
內(nèi)存占用: 指計(jì)算機(jī)視覺(jué)模型在設(shè)備上占用的內(nèi)存大小. 由于深度學(xué)習(xí)模型通常具有千萬(wàn)甚至上 億的參數(shù)量, 需要足夠的內(nèi)存空間進(jìn)行加載. 一方面, 移動(dòng)終端設(shè)備僅具有有限的內(nèi)存資源, 限制了深 度學(xué)習(xí)模型的大小. 另一方面, 邊緣/云服務(wù)器需要服務(wù)多個(gè)應(yīng)用, 模型內(nèi)存占用也會(huì)影響其服務(wù)規(guī)模. 內(nèi)存占用主要和計(jì)算機(jī)視覺(jué)模型的參數(shù)大小以及設(shè)備上的資源分配方式有關(guān).
3.2 主要挑戰(zhàn)
基于邊緣計(jì)算的實(shí)時(shí)視頻流分析具有廣泛的應(yīng)用場(chǎng)景, 對(duì)各項(xiàng)關(guān)鍵指標(biāo)要求各不相同, 并且分別 運(yùn)行在設(shè)備 – 邊緣 – 云端組合出的不同架構(gòu)上. 雖然如此, 針對(duì)不同應(yīng)用的邊緣實(shí)時(shí)視頻流分析系 統(tǒng), 通常采取相似的技術(shù)手段去解決遇到的一些共同問(wèn)題. 例如, Kar 等 [48] 的車(chē)流分析系統(tǒng)和用于認(rèn) 知輔助的 Gabriel 系統(tǒng) [57] 都利用了模型壓縮技術(shù)在終端設(shè)備上定制模型; 視頻監(jiān)控系統(tǒng) Vigil [44] 和 Al-Shuwaili 等 [51] 的增強(qiáng)現(xiàn)實(shí)系統(tǒng)都利用了邊緣設(shè)備間的點(diǎn)對(duì)點(diǎn)通信優(yōu)化系統(tǒng)調(diào)度.
我們認(rèn)為邊緣實(shí)時(shí)視頻流分析系統(tǒng), 主要需要解決以下三大挑戰(zhàn):
第一, 如何將復(fù)雜的計(jì)算機(jī)視覺(jué)算法和模塊應(yīng)用到資源有限的終端設(shè)備上. 作為視頻源的終端設(shè) 備往往僅具有有限的計(jì)算和能量資源, 而且不同設(shè)備間硬件架構(gòu)各不相同. 例如, 搭載 Jetson TX2 的 智能設(shè)備可以按照每秒 1 幀的速度運(yùn)行大部分常見(jiàn)的目標(biāo)檢測(cè)網(wǎng)絡(luò), 而普通的監(jiān)控?cái)z像頭的內(nèi)存可能 根本無(wú)法加載正常的神經(jīng)網(wǎng)絡(luò)模型. 然而, 終端設(shè)備由于離視頻源最近, 在低延遲快速分析和視頻預(yù) 處理方面具有無(wú)法替代的優(yōu)勢(shì).
第二, 如何高效進(jìn)行終端 – 邊緣服務(wù)器 – 云服務(wù)器之間的各個(gè)設(shè)備的任務(wù)卸載和協(xié)作. 邊緣實(shí)時(shí) 視頻分析是典型的分布式異構(gòu)計(jì)算場(chǎng)景, 涉及設(shè)備 – 邊緣、邊緣 – 云端、設(shè)備 – 邊緣 – 云端等架構(gòu)中 的不同層級(jí)的負(fù)載分配和通信協(xié)作, 以及同一層級(jí)的多設(shè)備協(xié)同. 此外, 設(shè)備間的通信還面臨復(fù)雜的網(wǎng) 絡(luò)環(huán)境, 需要考慮到對(duì)帶寬和延遲波動(dòng)的自動(dòng)適應(yīng).
第三, 如何提高邊緣/云服務(wù)器在單位資源下的服務(wù)規(guī)模. 在大規(guī)模的視頻分析系統(tǒng)中, 邊緣/云 服務(wù)器通常需要每秒處理幾十個(gè)視頻流的上千個(gè)分析請(qǐng)求, 并且可能涉及多個(gè) GPU, FPGA 等專(zhuān)用硬 件的資源分配. 邊緣服務(wù)器雖然算力遠(yuǎn)大于終端設(shè)備, 但是也無(wú)法彈性擴(kuò)展, 而云服務(wù)器的彈性計(jì)算 能力面臨高昂的經(jīng)濟(jì)成本. 因此, 系統(tǒng)需要利用有限的計(jì)算能力同時(shí)服務(wù)盡量多的請(qǐng)求數(shù)量.
4 關(guān)鍵技術(shù)
第 3.2 小節(jié)中提到邊緣實(shí)時(shí)視頻流分析系統(tǒng)主要需要解決三大挑戰(zhàn). 因此, 我們針對(duì)這些挑戰(zhàn), 分 別調(diào)研了如圖 7 所示 3 個(gè)層次的關(guān)鍵技術(shù).
? 終端設(shè)備層次: 應(yīng)用于算力較低終端設(shè)備和智能邊緣計(jì)算節(jié)點(diǎn)上的技術(shù). 從模型定制和任務(wù)設(shè)計(jì) 的角度出發(fā), 在滿足其資源限制的前提下, 在視頻源附近完成快速的初始視頻分析.
? 協(xié)作層次: 應(yīng)用于云邊端不同層級(jí)和同層級(jí)中不同設(shè)備間相互協(xié)作的技術(shù). 涉及任務(wù)的卸載方式 和設(shè)備間的協(xié)作機(jī)制, 在復(fù)雜網(wǎng)絡(luò)條件下綜合考慮分析準(zhǔn)確度、延遲和能耗, 確保整個(gè)視頻分析系統(tǒng) 的端到端表現(xiàn).
? 邊緣/云層次: 應(yīng)用于算力較強(qiáng)邊緣和云服務(wù)器的技術(shù). 對(duì)多路視頻的大量分析請(qǐng)求進(jìn)行合理的 任務(wù)調(diào)度、資源分配和冗余去除, 在滿足準(zhǔn)確度與延遲需求的前提下, 增加系統(tǒng)在單位計(jì)算資源下的吞 吐量.
注意到, 一個(gè)完整的邊緣視頻分析系統(tǒng)可能會(huì)涉及其中一個(gè)或者多個(gè)層次的不同技術(shù)的組合. 其 中每個(gè)技術(shù)最終都是為了按照用戶的需求, 分別從視頻分析精度、端到端延遲、帶寬利用、資源開(kāi)銷(xiāo) 等角度優(yōu)化整個(gè)分析任務(wù). 以典型的基于設(shè)備 – 邊緣 – 云端三級(jí)架構(gòu)的大規(guī)模視頻監(jiān)控場(chǎng)景為例, 系統(tǒng)需要先通過(guò)跨層協(xié)作技術(shù), 根據(jù)網(wǎng)絡(luò)狀況、任務(wù)難度在不同層級(jí)進(jìn)行任務(wù)卸載. 而其中卸載到設(shè)備 端的任務(wù)需要利用終端設(shè)備層技術(shù)粗略分析出視頻中的有用信息. 卸載到邊緣和云端的任務(wù)則需要通 過(guò)邊緣/云服務(wù)層技術(shù)提高資源利用效率. 本文希望對(duì)每個(gè)層次中的不同技術(shù)的內(nèi)容和發(fā)展進(jìn)行總結(jié), 為讀者梳理邊緣實(shí)時(shí)視頻流分析領(lǐng)域的研究脈絡(luò).
結(jié)論
實(shí)時(shí)視頻流分析是邊緣計(jì)算最成功的應(yīng)用場(chǎng)景; 邊緣計(jì)算范式也是實(shí)時(shí)視頻分析能成功部署的重 要支撐. 本文對(duì)近年來(lái)針對(duì)實(shí)時(shí)視頻流分析的邊緣計(jì)算系統(tǒng)進(jìn)行了歸納和綜述. 首先, 本文分別介紹 了視頻分析和邊緣計(jì)算涉及的背景知識(shí), 并分析了邊緣實(shí)時(shí)視頻流分析系統(tǒng)的優(yōu)化目標(biāo)和其面臨的關(guān) 鍵挑戰(zhàn). 接著, 本文針對(duì)這些挑戰(zhàn), 從終端設(shè)備層次、云邊端跨層多設(shè)備協(xié)作和邊緣/云服務(wù)層次闡述 了各項(xiàng)工作中涉及的關(guān)鍵技術(shù)與效果. 基于對(duì)各項(xiàng)核心技術(shù)的理解和整合, 本文提出了基于邊緣計(jì)算 的智能大數(shù)據(jù)分析平臺(tái) Argus, 并對(duì)其頂層設(shè)計(jì)與部分實(shí)現(xiàn)細(xì)節(jié)進(jìn)行了介紹. 目前, 針對(duì)實(shí)時(shí)視頻流分 析的邊緣計(jì)算范式依然面臨著一些尚待解決的難題, 本文最后對(duì)該領(lǐng)域的未來(lái)研究方向進(jìn)行了討論。