胡旦華,劉燕萍,張宇晴
(1.中國電建集團福建省電力勘測設計院有限公司,350003,福州;2.同濟大學浙江學院,314051,浙江,嘉興;3.福建師范大學數學與信息學院,350007,福州)
隨著數字孿生技術的智能化,以及虛擬現(xiàn)實與可視化技術的飛速發(fā)展與應用,人們開始通過數字模型信息表達現(xiàn)實世界,滿足對現(xiàn)實社會的深度感知。視頻監(jiān)控在當今社會日常生活中發(fā)揮著關重要的作用,被廣泛應用于城市安全發(fā)展的各個領域[1]。隨著相關軟硬件技術的發(fā)展,監(jiān)控處理技術也經歷了多次變革。20世紀90年代初期主要以模擬監(jiān)控視頻信息處理技術為主,信息存儲與檢索不便,視頻信息的提取和檢索完全依靠人工處理。到20世紀90年代中期開始出現(xiàn)數字監(jiān)控技術,模擬信號數字化使得存儲效率和處理能力大大提高,此時監(jiān)控圖形系統(tǒng)都是獨立的,缺乏信息共享和傳輸機制。近年來,隨著高速網絡技術的發(fā)展和普及,信息傳輸和共享都實現(xiàn)了數字化,存儲和處理變得更加方便。互聯(lián)網+時代和5G技術的發(fā)展更為監(jiān)控傳輸和處理技術提供了速度和質量保證,基于高速傳輸的網絡通訊、數字圖像處理和人工智能技術使監(jiān)控系統(tǒng)智能化發(fā)展成為了可能。從日常生活和個人家庭到國家安全和社會治安,監(jiān)控系統(tǒng)為城市安全、社會管理等提供了不可或缺的安全保障。圖1所示為實時視頻監(jiān)控與虛擬三維場景的結合效果。

圖1 虛擬三維場景實況監(jiān)控投影
伴隨著越來越多的監(jiān)控系統(tǒng)組建和聯(lián)網,隨之而來的是海量的視頻圖像數據處理。海量數據的分析給相關業(yè)內人員帶來了較大檢索難度和工作強度。由于手工查找處理速度慢,且隨著工作強度和時間增長,容易導致信息的遺漏和錯誤。計算機視覺影像處理技術在序列監(jiān)控視頻影像中的應用成了研究的新動向。通過圖像處理、模式識別、人工智能等技術,對監(jiān)控系統(tǒng)中采集到視頻圖像進行處理和分析,減少枯燥繁重的體力勞動,得到人們所需要的監(jiān)控信息[2]。
一般情況下在監(jiān)控影像視頻系統(tǒng)中主要關注和研究的對象是運動目標提取和跟蹤,如行人分析、車輛提取和跟蹤等。通過圖像分割、變化檢測、模式識別等方法,提取目標的顏色、形狀等梯度特征,協(xié)助分析識別分類目標物體,指導做出準確的規(guī)劃和判斷等。現(xiàn)階段的視頻監(jiān)控系統(tǒng)中,目標檢測及運動分析主要應用在公共安全場所、電廠電站企業(yè)的安全監(jiān)控、道路車輛違規(guī)檢測、交通路口車流和人流監(jiān)測,公安軍事等方面。對于變電站的安全監(jiān)控,通過提取運動目標,可對一線工人的作業(yè)路線、電網安全運營等進行安全預警,為國網安全運營做出保障。對于軍事領域,隨著軍隊現(xiàn)代化建設,目標檢測與跟蹤已被應用與無人機偵察、精確制導等方面。綜上所述,研究虛擬三維場景系統(tǒng)中的實況監(jiān)控投影及運動對象的檢測對于變電站的安全運營具有重要的應用價值。
基于視頻序列影像的運動目標檢測即將運動物體從視頻幀序列中分割出來,通常情況下,除了進行目標前后景分割處理,還需對分割出來的前景區(qū)域進一步進行形態(tài)學分析,得到更加準確的目標區(qū)域。當前常用的前后景分割算法有幀差法、光流法、減背景法。背景提取與更新主要分為非模型法和模型法兩類。非模型方法有時間差分法、時間中值濾波法等,即根據已有圖像序列,通過一定規(guī)則為每個像素設置一個背景值。模型方法包括線性預測法、混合高斯模型法、非參數模型法、基于紋理特征的方法等,即通過建立逐幀像素的對應模型,根據其參數變化的影響分析實時更新背景圖像。Friedman and Russell[3]首先提出了基于混合高斯模型的方法,該模型用3個高斯分布混合表示背景、前景和陰影來表示每個像素點,采用EM(Expectation Maximum)算法對相關參數進行更新達到了圖像的分割。Stauffer[4]提出多個高斯分布混合建模處理復雜的背景變化,先用K均值法對每個像素建模,然后將所有K個分布按照各自的權重或者方差大小降序排列,選取滿足一定規(guī)則的前B個分布來表征背景分布,該方法執(zhí)行效率較低。Oliver[5]基于本征函數的方法取得了較好的效果,簡化了算法的復雜度,提高了算法執(zhí)行的效率。Elgammal[6]構建了無參數的背景模型,建立了相應的數學函數分析模型,提高了算法的穩(wěn)健性。Marko[7]提出了基于紋理特征建模的算法,建造級聯(lián)分類器進行目標識別,成功應用于人臉檢測和監(jiān)視環(huán)境中行人的檢測。Kaewtrakulpong[8]提出了一種運動陰影檢測的自適應混合模型,該方法可有效提取陰影區(qū)域的運動跟隨目標。比較而言,非模型方法運算簡單但背景圖像不準確,模型方法背景準確但運算復雜。Papageogiou[9]采用類似于Haar小波的算子對圖像區(qū)域進行密集編碼,使用不同方向、區(qū)域內的Haar小波系數的絕對值進行局部特征的描述,可以有效用于檢測行人和車輛。Shashua[10]則采用了SIFT 特征,使用Adaboost訓練分類器進行行人的檢測。Dalal and Triggs[11]提出HOG特征檢測算子用在圖片行人檢測中,并使用SVM支持向量機進行訓練和分類,其中每個圖片的HOG特征包含多個單元,每個單元累加特定方向的梯度值投票,計算出描述子后,在高維連續(xù)HOG向量上訓練SVM分類器,此方法需要足夠的訓練樣本。如圖2所示為HOG檢測算法實現(xiàn)的人員信息提取。

(a) (b) (c)
Maji[12]用不重疊的多分辨率的HOG描述子和基于Lazebnik[13]提出的空間金字塔匹配核的直方圖相交核SVM對這些最好的結果進行了改進。Jie[14]提出韋伯特征,通過視覺上的韋伯定理引用到圖像處理領域而來,由差分激勵和核方向2個部分組成,對明暗變化和噪聲干擾有一定提高。Wu[15]提出通過面向形狀的局部圖像特征,用于檢測和分割圖像中被遮擋的對象。隨著卷積神經網絡[16]在ImageNet大型視覺識別挑戰(zhàn)上取得的成功,越來越多的研究人員將視覺提取類的算法應用于圖像識別[17]、語音識別等各個應用領域,其展現(xiàn)的效果和性能也達到了一定的目標。
不同系列的攝像系統(tǒng)具有不同的底層架構,相關攝像頭的開發(fā)與調用依賴于其SDK開發(fā)包,根據其介紹和功能,下載并配置SDK開發(fā)包。遍歷相關描述文件,并在Visual Studio 2017中打開或創(chuàng)建C++項目文件,在屬性管理器中配置C/C++包含目錄及鏈接器附加庫目錄,將目錄鏈接到SDK開發(fā)包的頭文件及庫文件對應文件夾中。
網絡庫:基本通訊架構之一,該庫主要支持不同端口設備之間的協(xié)議通訊,同時具有支持和協(xié)調遠程調控,設置相關協(xié)議參數和碼流數據等功能。
RTSP庫:作為通訊協(xié)議代碼的基本支撐庫,通過RTSP掩碼可以有效支持傳輸協(xié)議的完成,當需要對設備的影像進行讀取、存檔、下載等操作時,必須加載和設置RTSP掩碼進行協(xié)議通訊。
轉封裝庫:可以完成2種不同意義上的工作。一類是通過轉封裝庫進行碼流的轉換,將標準碼流轉換為設備可讀取的碼流格式;另一類是基于協(xié)議標準,將標準碼流通過轉義封裝成為第3方格式碼流,通過RTSP協(xié)議讀取、下載等操作時,必須通過轉封裝庫進行不同格式碼流的轉換,以實現(xiàn)流運算。
語音對講庫:用于語音對講時通過聲卡采集數據并按照指定的編碼格式編碼碼流或者解碼播放音頻碼流數據(不帶封裝格式的碼流數據)。Windows64位或者Linux系統(tǒng)下無語音對講功能。
字符轉換庫:基本運算轉義符操作支撐庫。主要用于字符集的轉換。根據SDK內部字符的編碼標準,根據協(xié)議需要,通過libiconv庫進行不同字符集的轉換。轉換過程中,需要采用libiconv庫的編碼協(xié)議進行接口設置,以便于SDK的字符處理。
幀分析庫:用于分析視音頻幀數據,調用NET_DVR_SetESRealPlayCallBack、NET_DVR_SetPlayBackESCallBack設置裸碼流回調函數等接口時,必須加載該庫文件。
播放庫:碼流運算基本庫之一。基于一定的解碼和編碼原則對序列影像進行逐幀記錄和編碼,同時采用句柄方式進行碼流數據的索引和處理。
在虛擬場景中實現(xiàn)即時場景的監(jiān)控數據導入,首先需要初始化SDK開發(fā)包,根據其網絡通訊庫和RTSP通訊庫設置服務器的IP地址、消息回調函數和連接時間,實現(xiàn)虛擬場景和視頻影像的通訊。通過注冊用戶設備,可以實現(xiàn)視頻影像的預覽、回放和下載,同時基于相關調用機制實現(xiàn)視頻影像的處理和分析。SDK調用實現(xiàn)監(jiān)控視頻顯示及2次開發(fā)的主要流程如圖3所示。

圖3 SDK調用基本流程
從SDK調用的基本流程可以看出,實現(xiàn)視頻數據的即時通訊,必須進行SDK的初始化,同時根據設備的RTSP進行注冊,在完成相關的操作處理后,還需設備的注銷和相關SDK資源的釋放。在上述操作中,初始化是完成網絡資源的預分配,通過設置相關內置時間參數,可以完成相關連接超時和網絡超時檢測。同時,由于SDK內部架構采用異步調用模式,通過設置異常消息的回調函數,可以有效處理在此階段的異常信息。對于用戶注冊設備,主要是實現(xiàn)相關協(xié)議參數的核對,通過注冊可以調用SDK基本庫的所有功能模塊。對于其相關子模塊,本文只調用其預覽和下載模塊。從前端設備取實時碼流,解碼顯示以及播放控制等功能,同時支持軟解碼和解碼卡解碼,由啟動預覽、實時流數據捕獲和錄像、停止預覽3個部分組成。通過設置預覽接口中預覽參數的播放窗口句柄為空值,并調用捕獲數據的接口(即設置NET_DVR_RealPlay_V40 接口中的回調函數或調用接口,獲取碼流數據進行后續(xù)解碼播放處理)。
混合高斯模型,相對于單高斯模型只能描述單模態(tài)背景的缺陷,其對背景復雜且動態(tài)變化的多模態(tài)形式能夠進行更加準確的描述,增加了其在實際應用中的適用性和穩(wěn)健性。在真實世界的場景中,許多背景都是動態(tài)的、復雜的、交互的,例如室外的光照變化、樹葉的擺動等,這些背景都處于動態(tài)的變化中。混合高斯背景模型通過對圖像中的每個像素點賦予一定的權重并建立k個高斯分布,采用k個高斯分布的加權和結果估計樣本的概率密度分布,該方法對運動物體的檢測和對背景模型的更新同時進行,計算中利用新的圖像幀對背景進行實時更新,使得其背景運算模型更加接近真實場景。多維正態(tài)分布概率密度函數如公式(1)所示:
(1)
式中:∑表示模型協(xié)方差矩陣。混合高斯背景模型可寫成公式(2)形式:
(2)
式中:P(x)表示混合高斯模型;Ck表示混合高斯模型中第k個高斯分布的樣本,可以表示為(μk,θk);wk表示第k個高斯分布在該高斯模型中所占的權重比例;N(x|Ck)表示模型中第k個高斯分布。
假設某一像素的值的變化在一段時間內是連續(xù)的,可有如下表示:
{X1,X2,…,Xt}={I(x0,y0,i):1≤i≤t}
式中:t時某像素可用Xi表示,I(x0,y0,i)表示此時圖像坐標(x0,y0)處的像素值。對圖像中每一個像素建立k個高斯分布,k一般為3~5。混合高斯模型的公式如下所示:
(3)
式中:p(Xt)表示像素X的混合高斯模型;第i個高斯分布在時間t的權值、期望、模型協(xié)方差矩陣分別用ωi,t、μi,t、∑i表示;η(Xt,μi,t,∑i,t)為針對像素Xi的單高斯分布函數。
對于m×n的背景模型圖像分辨率,則其需要初始化的高斯分布數為m×n×k。并通過公式(4)對背景模型中各個高斯分布的權重、期望和方差進行實時更新維護。
(4)
使用穩(wěn)健混合高斯模型進行運動目標檢測時,需要計算各個高斯分布的方差并對其進行降序排列,選擇排序靠前的幾個高斯分布作為真實背景模型的分布。在排序之后的k個高斯分布中選取前B個分布組成背景模型,其中B遵循公式(5):
(5)
式中T為預先設定的參數閾值用于判斷是否接受成為背景模型。本文計算中根據概率分布確定其取值范圍為0.7~0.75。檢測運動目標時,若圖像中某一個像素能滿足前B個分布中的任意一個高斯分布,則判定該像素屬于背景,否則屬于前景,即運動目標。
本次實驗的環(huán)境為Visual Studio 2017+OpenCV3.4.5,運行計算機配置為Intel? CoreTMi7 CPU @ 3.70 GHz及16 GB內存。實驗所用視頻分辨率為960×540,幀速率為24.00 幀/s。在測試用環(huán)境變量中配置系統(tǒng)變量,添加OpenCV鏈接庫下的相關文件,然后將bin目錄下的dll動態(tài)鏈接庫文件拷貝到系統(tǒng)目錄system32中。打開Visual Studio 2017并新建項目文件,在屬性管理器中配置VC++目錄中的包含目錄和庫目錄,并在鏈接器附加依賴項中添加lib文件名稱。
分別使用GMM和幀間差分法對同一段變電站工作區(qū)內的監(jiān)控視頻做前后景分割測試。圖4為使用基于GMM的減背景法進行前后景分割檢測并通過形態(tài)學處理分割結果,速度為18~20 幀/s。圖5為使用幀間差分法進行前后景分割并通過形態(tài)學方法處理分割結果,速度為15~18 幀/s。圖6所示為針對相同幀不同方法的檢測結果對比。

(a)原始幀 (b)前景部分二值圖像

(a)原始幀 (b)幀差結果
從測試結果可知,2種方法處理視頻的速度均可滿足實時處理的需求。由圖4與圖5的算法提取分析可以得出:1)無論是GMM或幀間差分法,都能成功檢測到監(jiān)控視頻中的運動目標,而分割結果經過形態(tài)學處理后,在填充空洞、凹陷及斷開粘連目標上都有著明顯提高;2)對于較小的運動目標,2種方法均可準確將其從背景中分割出來,而當運動目標為較大物體時,幀間差分法則由于檢測的內部空洞等原因將同一物體分割為細小的碎塊,分割準確度不如基于GMM的減背景法。圖6分析對比也驗證了以上兩點,同時幀間差分法存在當幾個運動目標之間距離近時,存在被誤判為同一運動物體的可能。由實驗結果可知,基于GMM的減背景法在前后景分割的實驗中,分割結果的準確性優(yōu)于幀間差分法,且檢測速率也滿足實時處理的需求,故可應用于監(jiān)控視頻運動目標實時檢測。

圖6 對比分析,左為基于GMM的減背景法,右為幀間差分法
使用基于GMM的減背景法進行監(jiān)控視頻運動人員實時計數實驗,如圖7所示。此處選用非密集人流的道路監(jiān)控視頻,視頻共722幀,前50幀用于初始背景模型的訓練,后672幀進行計數并人工檢測和統(tǒng)計結果。

圖7 監(jiān)控視頻運動目標實時統(tǒng)計
每2幀檢查一次并記錄,最終記錄數目翻倍來表示統(tǒng)計結果,如表1所示。可知完全統(tǒng)計正確的幀數為542幀,準確率為80.6%,且在統(tǒng)計有誤的幀中,約有2/3人員計數誤差為±1人。

表1 運動人員實時計數實驗結果
根據上述實驗,基于GMM的減背景法的運動目標檢測與統(tǒng)計結果有著較好的準確性與魯棒性,可應用于背景變化較小、人員運動簡單的場景動態(tài)人員檢測。
在虛擬場景中投影監(jiān)控視頻可以有效實現(xiàn)虛實結合,基于視頻信息的分析和提取是智能化安全保障的前提。如何對投影的監(jiān)控視頻進行目標信息提取是當前研究的一個重點,對特殊的場所如變電站、發(fā)電廠等具有重要的應用價值。本文通過討論國內外的研究現(xiàn)狀,詳細介紹了在三維虛擬場景中調用監(jiān)控視頻的方法,同時針對獲取的視頻監(jiān)控,通過采用混合高斯背景模型實現(xiàn)了視頻內部運動目標的準確提取,通過和其他方法以及實際場景的比較,證實了GMM方法的準確性和穩(wěn)健性。