多層遞階式的場(chǎng)景視覺監(jiān)控系統(tǒng)
視覺監(jiān)控的架構(gòu)設(shè)計(jì)
系統(tǒng)架構(gòu)
基于眾多視頻安防監(jiān)控工程解決方案,我們總結(jié)出這樣一條經(jīng)驗(yàn):一個(gè)實(shí)際的分布式智能視覺監(jiān)控系統(tǒng)不僅應(yīng)具備強(qiáng)大的視頻分析功能,且還應(yīng)具有“多層遞階”信息處理結(jié)構(gòu)。如圖1所示結(jié)構(gòu)圖,系統(tǒng)主要包括如下組件:
.多個(gè)節(jié)點(diǎn)工作站;
.一個(gè)數(shù)據(jù)中心平臺(tái)站;
.一個(gè)監(jiān)控管理站。
在圖1所示拓?fù)?/strong>圖中,節(jié)點(diǎn)工作站實(shí)現(xiàn)形式位于視頻監(jiān)控現(xiàn)場(chǎng)的攝像機(jī)(IP攝像機(jī)或SDI攝像機(jī))和智能終端(嵌入式硬盤錄像機(jī)NVR或支持高清的SDI硬盤錄像機(jī)),NVR或SDI硬盤錄像機(jī)同時(shí)管理著多臺(tái)攝像機(jī)。在IP視頻監(jiān)控解決方案中,高清IP攝像機(jī)將壓縮后的視頻流以略帶延遲的方式傳入NVR,NVR可有選擇地分析收集到的各路視頻的圖像內(nèi)容,并把分析結(jié)果和壓縮視頻流通過IP網(wǎng)絡(luò)上傳到監(jiān)控?cái)?shù)據(jù)中心平臺(tái)站。在智能交通業(yè)務(wù)中,NVR除收集從一體化攝像機(jī)中傳來的視頻流外還包括該路視頻中的智能視覺分析結(jié)果。在SDI-CCTV解決方案中,高清視頻流通過同軸電纜以無壓縮的方式高速地傳入SDI硬盤錄像機(jī)。SDI硬盤錄像機(jī)上的智能分析軟件直接對(duì)原始高清視頻流進(jìn)行視覺內(nèi)容分析,并經(jīng)由視頻線向監(jiān)控?cái)?shù)據(jù)中心平臺(tái)站上傳分析結(jié)果和非壓縮視頻流。每個(gè)節(jié)點(diǎn)工作站上的操作系統(tǒng)通常為Linux且運(yùn)行智能視頻分析軟件。
數(shù)據(jù)的分層傳輸方法
我們還提出了一種基于TCP/IP協(xié)議集的“數(shù)據(jù)的分層傳輸方法”——無論網(wǎng)絡(luò)上有無“路由解析”或是“防火墻”(通常會(huì)對(duì)多媒體通信會(huì)話的建立造成干擾)設(shè)置,智能分析的結(jié)果數(shù)據(jù)和實(shí)時(shí)的音視頻流數(shù)據(jù)都可以直接在開放的網(wǎng)際間傳輸。其具體技術(shù)方案以下兩個(gè):
1、底層通信協(xié)議采用XMPP即可擴(kuò)展消息和呈現(xiàn)協(xié)議,這是專門為建立即時(shí)消息系統(tǒng)設(shè)計(jì)的。其虛擬的非限制性擴(kuò)展功能使它被廣泛應(yīng)用在通用型服務(wù)器和分布式系統(tǒng)中。XMPP協(xié)議使用為保證安全消息完整性層(基于TLS標(biāo)準(zhǔn))、認(rèn)證、尋址策略提供了一種增值能力。XMPP協(xié)議還提供了一種基于XML消息的容器來存儲(chǔ)自描述的結(jié)構(gòu)化信息。本方案中,我們?cè)诖藚f(xié)議層實(shí)現(xiàn)智能分析結(jié)果數(shù)據(jù)(元數(shù)據(jù))的路由傳輸。
2、XMPP協(xié)議的擴(kuò)展部分用于建立視頻監(jiān)控中的多媒體通信會(huì)話。在本方案中,我們采用加密后的RTP協(xié)議來實(shí)現(xiàn)網(wǎng)絡(luò)上的各種音頻數(shù)據(jù)流和海量視頻數(shù)據(jù)流的傳輸功能。當(dāng)網(wǎng)絡(luò)上設(shè)置有路由轉(zhuǎn)發(fā)設(shè)備或在路由器上有防火墻時(shí),為了保證高效的數(shù)據(jù)流傳輸,我們?cè)谙到y(tǒng)中實(shí)現(xiàn)了代理服務(wù)功能。
移動(dòng)目標(biāo)的檢測(cè)和跟蹤
移動(dòng)目標(biāo)的檢測(cè)
移動(dòng)目標(biāo)檢測(cè)是視頻分析處理鏈條的第一個(gè)環(huán)節(jié),檢測(cè)結(jié)果可為后續(xù)處理和分析使用。很多視頻目標(biāo)分割的算法通常使用空間和時(shí)間模型來產(chǎn)生目標(biāo)的二值掩膜(對(duì)于精細(xì)的目標(biāo)分割而言,而這也是圖像分割的終極理想),而實(shí)際上得到的是對(duì)這個(gè)掩膜逼近的像素塊Blob。在我們的系統(tǒng)框架中,我們采用基于時(shí)空復(fù)合模型的背景減除方法來檢測(cè)前景目標(biāo)。這種方法對(duì)很多應(yīng)用場(chǎng)景都很適用,因它可有效地處理光照條件變化帶來的干擾,很好地自適應(yīng)背景變化帶來的背景模型的更新方式,如:靜止不動(dòng)的目標(biāo)逐漸融入到背景中,背景中的目標(biāo)突然啟動(dòng)而容易使原來的背景模型難以適應(yīng)更新的速度而產(chǎn)生“鬼影”(檢測(cè)效果如圖2所示)。
目標(biāo)分割之外,還有一個(gè)輔助算法用于消除目標(biāo)在光照作用下投射的陰影。首先是陰影的檢測(cè),然后是陰影的消除。通常,投射的陰影會(huì)成為檢出的前景的一部分,陰影檢測(cè)算法只要依據(jù)這部分在背景減除時(shí)誤判的區(qū)域在連續(xù)若干幀之間的色度分量基本保持不變,且亮度分量很低(低于某一個(gè)閾值)的特性。每一個(gè)被檢測(cè)為前景的像素都要經(jīng)過上述的這種基于規(guī)則的判斷,從而得到真實(shí)的前景。為了保證算法的實(shí)時(shí)性,我們?cè)诒尘敖r(shí)擯棄了多維模型,從而避免了在線EM算法復(fù)雜的迭代和多分布模型排隊(duì)的過程。另一種方法是采用灰度紋理相似度匹配的方式。
目標(biāo)的跟蹤
目標(biāo)從連續(xù)幀中被檢測(cè)到之后,我們需要知道目標(biāo)在幀序列中的運(yùn)動(dòng)規(guī)律,以便在這個(gè)動(dòng)態(tài)時(shí)間序列中確定每個(gè)移動(dòng)目標(biāo)各自唯一的身份,這就是目標(biāo)跟蹤模塊任務(wù)。圖3所示為多目標(biāo)視覺跟蹤的場(chǎng)景。對(duì)多個(gè)目標(biāo)進(jìn)行視覺跟蹤可借助動(dòng)態(tài)地維護(hù)一個(gè)相互關(guān)聯(lián)的鏈表系統(tǒng)來實(shí)現(xiàn),包括:檢測(cè)鏈表、中間跟蹤鏈表和輸出跟蹤鏈表。當(dāng)場(chǎng)景內(nèi)多個(gè)目標(biāo)在空間上相對(duì)獨(dú)立時(shí),目標(biāo)跟蹤處于常態(tài),鏈表系統(tǒng)的維護(hù)僅是完成節(jié)點(diǎn)匹配和節(jié)點(diǎn)搬移的工作。當(dāng)檢測(cè)鏈表和另外兩個(gè)跟蹤鏈表內(nèi)的節(jié)點(diǎn)發(fā)生目標(biāo)失配時(shí),目標(biāo)跟蹤進(jìn)入非常態(tài),跟蹤系統(tǒng)須馬上進(jìn)入失配處理程序,且鏈表系統(tǒng)需要對(duì)失配的節(jié)點(diǎn)進(jìn)行保持連續(xù)的多幀,以決定是否從跟蹤鏈表中刪除節(jié)點(diǎn)或是恢復(fù)節(jié)點(diǎn),以及建立新的節(jié)點(diǎn)。非常態(tài)跟蹤的任務(wù)就是處理目標(biāo)在場(chǎng)景中被局部遮擋(暫時(shí)消失)或是徹底消失,以及新目標(biāo)進(jìn)入場(chǎng)景的情況。
多目標(biāo)跟蹤系統(tǒng)還要判斷和處理的另外兩種情形:目標(biāo)合并(含目標(biāo)之間相互的局部遮擋)和目標(biāo)分離。在檢測(cè)鏈表和跟蹤鏈表僅是基于獨(dú)立數(shù)據(jù)關(guān)聯(lián)時(shí),這種目標(biāo)分合情況的判別條件相對(duì)比較復(fù)雜。具體來說,在基于像素集合(Blobs)進(jìn)行跟蹤的系統(tǒng)中,當(dāng)多個(gè)目標(biāo)相互靠得很近或發(fā)生局部遮擋時(shí),一個(gè)大尺度單目標(biāo)將覆蓋多個(gè)原來的小尺度目標(biāo),這時(shí)可在跟蹤鏈表中觸發(fā)相關(guān)目標(biāo)合并的標(biāo)志。由于此時(shí)各個(gè)小尺度目標(biāo)已失去觀測(cè)值,因此它們需要單獨(dú)保持原先的預(yù)測(cè)跟蹤狀態(tài)(基于預(yù)測(cè)器),輸入各自預(yù)測(cè)器的觀測(cè)向量值由如下表其中p表示在本幀內(nèi)**剛輸出的先驗(yàn)預(yù)測(cè)值,由此帶入**得到本幀內(nèi)后驗(yàn)輸出值。該過程稱為“盲跟蹤”階段。在每一幀跟蹤中,都要檢測(cè)目標(biāo)是否被覆蓋,若覆蓋始終存在,則跟蹤鏈表中相關(guān)目標(biāo)合并標(biāo)志不能解除。
人臉檢測(cè)、跟蹤和識(shí)別
在圖4所示智能視頻分析功能所采用的多層遞階結(jié)構(gòu)內(nèi),人臉目標(biāo)的檢測(cè)、跟蹤和識(shí)別都是針對(duì)實(shí)時(shí)視頻場(chǎng)景而言的。在實(shí)際應(yīng)用中,人臉目標(biāo)具有如下一些特點(diǎn):
a、有些非高清場(chǎng)景視頻中,圖像質(zhì)量不高;即便是高清視頻,對(duì)于某些應(yīng)用場(chǎng)合(如智能交通的卡口業(yè)務(wù)),獲取的人臉目標(biāo)尺度(20×20像素)相比基于靜止圖片的人臉識(shí)別應(yīng)用(如公安機(jī)關(guān)的靜態(tài)人臉比對(duì)系統(tǒng))的人臉圖片尺寸(128×128像素)小很多;這直接影響到定位人臉區(qū)域內(nèi)的特征點(diǎn)精度,從而降低了識(shí)別算法的準(zhǔn)確度。
b、在場(chǎng)景監(jiān)控內(nèi)的人臉目標(biāo)通常容易受到光照條件、局部遮擋、人臉姿態(tài)和表情等因素的干擾,從而使得身份聚類的類內(nèi)距離大于類間距離,導(dǎo)致誤識(shí)率顯著增加。
在多層遞階式場(chǎng)景視覺監(jiān)控系統(tǒng)中,人臉識(shí)別通常建立在人臉目標(biāo)檢測(cè)和跟蹤之上,為某種具體應(yīng)用業(yè)務(wù)服務(wù),其中跟蹤功能和識(shí)別業(yè)務(wù)相對(duì)獨(dú)立。這就決定著視頻中人臉識(shí)別方式是一種“視頻——圖像(多幅圖像)”模式的人臉識(shí)別,后臺(tái)利用靜止圖像人臉數(shù)據(jù)庫進(jìn)行識(shí)別或驗(yàn)證。我們的做法是:對(duì)輸入視頻中的人臉進(jìn)行跟蹤, 尋找滿足一定規(guī)則(如大小、姿態(tài)、清晰度等)的人臉圖像, 然后再利用基于靜止圖像的人臉識(shí)別方法(如圖5所示)。在圖5中,多個(gè)人臉目標(biāo)首先被檢測(cè)和在視頻的各幀之間連續(xù)可靠地跟蹤到,然后依次與人臉數(shù)據(jù)庫中的特征模型進(jìn)行匹配,最終找到與之最相似的身份信息作為該人臉的視覺標(biāo)簽。
考慮到實(shí)用性效果,人臉檢測(cè)的特征通常選取Haar特征或擴(kuò)展后的Haar特征,可采用瀑布式級(jí)聯(lián)分類器,通過Boosting學(xué)習(xí)算法得到分類器模型參數(shù)。多人臉跟蹤原理和大致方法同前面章節(jié)所述,多人臉在場(chǎng)景內(nèi)動(dòng)態(tài)變化由一個(gè)鏈表系統(tǒng)來管理,特定人臉在場(chǎng)景中運(yùn)動(dòng)模型由Kalman預(yù)測(cè)器來描述。當(dāng)人臉在場(chǎng)景中丟失觀測(cè)時(shí),可采用Harris角點(diǎn)信息作為提供可能的人臉特征點(diǎn)所在場(chǎng)景中位置的校驗(yàn)方案。
車牌檢測(cè)和牌號(hào)識(shí)別
多層遞階式的視覺監(jiān)控系統(tǒng)中還有一種觸發(fā)事件檢測(cè)的功能模塊(子系統(tǒng))就是針對(duì)車輛牌號(hào)的識(shí)別系統(tǒng)。它在智能交通系統(tǒng)和停車場(chǎng)安全監(jiān)控中具有廣泛的應(yīng)用。
車牌識(shí)別的正確率除了字符識(shí)別(OCR)的性能外,還極大地依賴于車牌分割定位的準(zhǔn)確性。傳統(tǒng)車牌定位算
法主要根據(jù)車牌幾何特征及圖像紋理特征進(jìn)行定位,而在相當(dāng)多的復(fù)雜背景條件下,車牌外觀表象經(jīng)常不符合標(biāo)準(zhǔn)的特征,這使得車牌定位算法的可靠性受到嚴(yán)重的挑戰(zhàn):
.攝像機(jī)的安裝位置和拍攝角度不規(guī)范;
.白天環(huán)境光較強(qiáng)及背景陰影的干擾下,邊緣檢測(cè)的準(zhǔn)確性會(huì)降低;
.夜晚光照不足,夜間車燈干擾會(huì)發(fā)生誤判;
.采集的圖像質(zhì)量導(dǎo)致車牌區(qū)域字符分辨率降低;
.車牌泥點(diǎn)遮擋或其它文字干擾了正常的車牌字符識(shí)別區(qū)。
要把車牌檢測(cè)納入機(jī)器學(xué)習(xí)框架內(nèi),垂直邊緣信息和角點(diǎn)信息特征提取通?;诮y(tǒng)計(jì)量方式。我們可基于一個(gè)48×16像素大小的掃描窗口對(duì)圖像進(jìn)行車牌模式信號(hào)檢測(cè)。如可定義統(tǒng)計(jì)量區(qū)域密度為DG和區(qū)域密度方差VG,
其中,G(i,j)表示位于(i,j)位置上的梯度幅值,N是掃描窗口區(qū)域內(nèi)的像素?cái)?shù)量。 其中,n表示掃描窗口內(nèi)被平均分成的子塊數(shù)量,gi表示第i個(gè)子塊內(nèi)梯度幅值的平均值,g表示整個(gè)掃描窗口內(nèi)梯度幅值的平均值。這清楚地刻畫出車牌區(qū)域與非車牌區(qū)域的明顯差異。
車牌識(shí)別的環(huán)節(jié)基于字符識(shí)別(OCR)核心算法的軟件模塊,這與通用的OCR軟件相比比較簡單,我們可以加入一些啟發(fā)式的約束條件以提高識(shí)別的正確率:
.通過現(xiàn)場(chǎng)攝像機(jī)定標(biāo)的方式,得到以像素為單位的具體字符的尺寸規(guī)則;
.字符濾波器:漢字僅在省市簡稱的字符集內(nèi),字母在A~Z之間,數(shù)字在0~9之間;
.字符串的規(guī)則:車牌字符串的漢字之后,不能以數(shù)字開始,所有字母都是大寫。
車牌識(shí)別的OCR環(huán)節(jié)是在車輛出現(xiàn)在業(yè)務(wù)場(chǎng)景中的每幀進(jìn)行的,可以把每次識(shí)別的結(jié)果存入一個(gè)緩沖區(qū),當(dāng)緩沖區(qū)填滿后采用一種投票仲裁的方式,把識(shí)別結(jié)果相同率最高的那個(gè)字符串作為最終的識(shí)別結(jié)果。對(duì)于實(shí)際的工程(如重大的智能交通工程),為了使車牌識(shí)別的準(zhǔn)確度達(dá)到最高的水平,最好能構(gòu)造一個(gè)符合具體應(yīng)用場(chǎng)景的字符數(shù)據(jù)庫,以供OCR軟件能事先學(xué)習(xí)得到最好的識(shí)別性能。
事件檢測(cè)
事件檢測(cè)是多層遞階式視覺監(jiān)控系統(tǒng)的最后一層,這層有承上啟下的作用,它把來自視頻現(xiàn)場(chǎng)的經(jīng)過前置智能分析層析出的視覺元素?cái)?shù)據(jù)(如檢測(cè)出的前景目標(biāo),被跟蹤的場(chǎng)景中有唯一ID的目標(biāo)跟蹤軌跡,目標(biāo)運(yùn)動(dòng)時(shí)序,場(chǎng)景中目標(biāo)身份)統(tǒng)籌起來,檢查是否有定義的規(guī)則及受到的觸發(fā),然后向語義層輸出視覺監(jiān)控最終結(jié)果,最終以兩種方式提交:一種是以視覺告警、事件記錄或快球聚焦的方式給現(xiàn)場(chǎng)操作員,另一種是把這個(gè)事件機(jī)器翻譯成用語義表達(dá)的接近自然語言的格式,且保存在數(shù)據(jù)庫中供用戶層調(diào)用,追求的目標(biāo)就是構(gòu)造一個(gè)完整的W6(What、Where、When、Who、Why、How)系統(tǒng)。其中事件檢測(cè)就是回答How的問題。
具備規(guī)則屬性的事件檢測(cè)
規(guī)則解釋系統(tǒng)的操作對(duì)象是從底層視覺分析模塊中輸出的視覺元素?cái)?shù)據(jù),這些數(shù)據(jù)包括場(chǎng)景中目標(biāo)的位置,它們當(dāng)前的狀態(tài)、類別及特定目標(biāo)身份信息。事件檢測(cè)器還識(shí)別目標(biāo)之間的交互行為兩個(gè)和場(chǎng)景的侵入。另外事件檢測(cè)器還利用事件的歷史記錄,因此事件檢測(cè)是支持閉環(huán)邏輯分析的。
在公共場(chǎng)所(如機(jī)場(chǎng)和火車站)的安全業(yè)務(wù)中,遺留包裹或行李包長時(shí)間無人看管是值得關(guān)注的,因出于安全考慮這有可能預(yù)示著恐怖爆炸案的發(fā)生。作為演示事件觸發(fā)報(bào)警的例子,在這里用圖6來說明。
這是一個(gè)聯(lián)合使用底層事件檢測(cè)器和高層事件檢測(cè)器的例子。第一個(gè)條件是一個(gè)人離開行李箱:這個(gè)行為被檢測(cè)到,當(dāng)一個(gè)被識(shí)別為人(或拉行李箱的人)的目標(biāo)分裂為兩個(gè)目標(biāo):即這個(gè)人的目標(biāo)(現(xiàn)在沒行李箱了,但原來的**仍然鎖定他),和行李箱目標(biāo)(處于靜止?fàn)顟B(tài)且被分配了新跟蹤id)。第二個(gè)規(guī)則檢查行李箱是否在被監(jiān)控區(qū)域內(nèi)保持靜止長達(dá)相應(yīng)時(shí)間,第三個(gè)規(guī)則檢查剛才離開行李箱的人是否與行李箱離開了相應(yīng)的距離。第四個(gè)規(guī)則檢查人與離開的行李箱是否達(dá)到了相應(yīng)的時(shí)間。最后,高層事件檢測(cè)器檢查在最近分析的若干幀內(nèi),是否上面四個(gè)規(guī)則定義的事件都被底層事件檢測(cè)器探測(cè)到了。如果是,則高層事件檢測(cè)器輸出一個(gè)類似的事件描述:“一個(gè)人在監(jiān)控區(qū)域A內(nèi)離開了行李箱,并不在那里看管箱子了”。那么這個(gè)警告信息將直接發(fā)送到操作員的人機(jī)界面上。
上述基于規(guī)則的推理算法可以采用如圖7所示的“IF-THEN結(jié)構(gòu)”自然語言機(jī)制來現(xiàn)。當(dāng)然還可采用模糊集方法實(shí)現(xiàn)更加準(zhǔn)確的判斷結(jié)果。
結(jié)語
本文提出的系統(tǒng)方案具備柔性的算法功能結(jié)構(gòu),為適應(yīng)各種工程應(yīng)用領(lǐng)域?qū)δ繕?biāo)識(shí)別和場(chǎng)景事件檢測(cè)的需求,可選擇不同功能模塊來構(gòu)建智能節(jié)點(diǎn)上視頻分析組件,進(jìn)而實(shí)現(xiàn)一個(gè)工程化分布式智能視覺監(jiān)控系統(tǒng)。隨著視覺物聯(lián)網(wǎng)時(shí)代到來,基于大數(shù)據(jù)環(huán)境下的云存儲(chǔ)和智能視頻分析云計(jì)算架構(gòu),分布式智能視頻監(jiān)控系統(tǒng)可向云端視頻監(jiān)控管理中心提供結(jié)構(gòu)化的海量視頻數(shù)據(jù)和元數(shù)據(jù)。
評(píng)論