胡博 連捷
摘要 隨著城市視頻監(jiān)控的發(fā)展,監(jiān)控視頻資源越來越多。行人作為城市視頻監(jiān)控的主要監(jiān)視對象之一,通過對監(jiān)控視頻中行人的抓拍提取,可以有效提高監(jiān)控人員的工作效率。本文主要介紹一種基于監(jiān)控視頻的行人抓拍系統(tǒng)的算法實現(xiàn)和系統(tǒng)設(shè)計。
【關(guān)鍵詞】監(jiān)控視頻 行人抓拍系統(tǒng) 設(shè)計
在公共安全領(lǐng)域,視頻監(jiān)控系統(tǒng)已經(jīng)成為不可或缺的關(guān)鍵手段,視頻監(jiān)控平臺也部署在各級公安部門中。近些年來,隨著國內(nèi)智慧城市、平安城市及天網(wǎng)工程的建設(shè)實施,視頻監(jiān)控系統(tǒng)得到了快速的發(fā)展,城市中安防攝像機達到上萬量級,為各類案事件的偵查追溯提供了大量的視頻資源,在及時獲取城市信息,掌握城市運行情況,預(yù)防犯罪等眾多方面發(fā)揮著不可替代的作用。行人作為城市視頻監(jiān)控的主要監(jiān)視對象之一,通過監(jiān)控對行人排查已經(jīng)成為主要的線索來源。而從監(jiān)控視頻中將行人抓拍提取,可以避免工作人員逐幀觀看視頻錄像,進而大大提高行人排查的效率。
1 行人抓拍算法設(shè)計
本文提供一種基于運動分析的行人抓拍算法設(shè)計。在監(jiān)控視頻中抓拍出現(xiàn)的行人,首先需要解碼視頻幀序列,目前視頻解碼技術(shù)己比較成熟,各種開源解碼器或者監(jiān)控設(shè)備廠商提供的視頻解碼SDK都能完成該步驟,因此本文不再贅述。假設(shè)視頻圖像解碼清晰,由于一般路面監(jiān)控,受到樓宇、房屋、車道等限制,行人出現(xiàn)的位置一般是在監(jiān)控畫面中的一些固定位置,因此可以在監(jiān)控視頻畫面中設(shè)置感興趣區(qū)域,進而排除大部分行人不會出沒的區(qū)域,節(jié)省計算資源。人員抓拍的具體步驟如下所述
在解碼的任意一幀視頻畫面中,根據(jù)具體畫面情況,操作人員繪制感興趣區(qū)域,對于每一幀圖像,做如下計算操作:
(1)在感興趣區(qū)域內(nèi)進行高斯背景建模,通過背景差法獲取前景圖像,
(2)判斷前景圖像中運動像素個數(shù)N是否滿足閾值條件Tl(該閾值條件根據(jù)經(jīng)驗提前設(shè)定)。
(3)當(dāng)N大于Tl時,通過運動檢測跟蹤運動個目標(biāo),當(dāng)目標(biāo)整體進入視頻監(jiān)控區(qū)域時,獲取該目標(biāo)在畫面中的坐標(biāo)信息??紤]到物體陰影影響,此時計算上述坐標(biāo)覆蓋的目標(biāo)區(qū)域內(nèi)的梯度值,當(dāng)梯度幅值之和大于閾值條件T2(該閾值條件根據(jù)經(jīng)驗提前設(shè)定),則判定有行人通過,并存儲該視頻幀。
(4)非滿足上述條件的情況,則進入下一幀視頻圖像的處理。
以上行人抓拍算法中,由于排除了大部分行人不可能出沒的區(qū)域,高斯背景建模及梯度計算,針對的區(qū)域一般并不大,因此算法的計算復(fù)雜度不高,適宜于多個視頻同時監(jiān)控抓拍。
2 在線監(jiān)控行人抓拍系統(tǒng)程序設(shè)計
在線監(jiān)控行人抓拍系統(tǒng)程序包括客戶端和服務(wù)端兩部分:
2.1 客戶端
提供了用戶的交互界面,首先,客戶單可以對需要進行行人抓拍的監(jiān)控視頻資源進行管理,提供視頻列表界面,并支持監(jiān)控視頻的圖像預(yù)覽。并且,在視頻預(yù)覽畫面中,支持用戶添加、編輯或修改感興趣區(qū)域,同時將感興趣區(qū)域坐標(biāo)存儲在數(shù)據(jù)庫中,用于后期行人抓怕算法使用。其次,客戶端可以對行人抓拍任務(wù)進行管理,比如可以針對某監(jiān)控視頻設(shè)置行人抓拍參數(shù),如任務(wù)時長,抓拍圖片保存路徑等,并存入數(shù)據(jù)庫;可以對多路視頻開啟行人抓拍任務(wù),并支持對抓拍任務(wù)的停止,同時可以顯示當(dāng)前行人抓拍任務(wù)狀態(tài)等。最后,客戶端支持對抓拍結(jié)果的查詢,用戶可以根據(jù)條件,如抓拍時間,監(jiān)控位置等,查詢檢索抓拍到的行人照片,并支持行人照片的瀏覽功能。
2.2 服務(wù)端
主要實現(xiàn)行人抓拍算法的封裝,并響應(yīng)客戶端的請求對行人抓拍任務(wù)執(zhí)行和管理。為了使系統(tǒng)擁有較強的可擴展性,比如支持對數(shù)十路到數(shù)百路多路視頻的行人抓拍處理,本系統(tǒng)服務(wù)端推薦采用分布式多進程服務(wù)的框架結(jié)構(gòu),其具體組建包括如下內(nèi)容:
中心管理服務(wù)進程:該服務(wù)進程負責(zé)對行人抓拍任務(wù)進行管理,當(dāng)用戶提交行人抓拍任務(wù)時,中心管理服務(wù)將對每一個任務(wù)開啟一個行人抓拍任務(wù)進程進行執(zhí)行,同時中心管理服務(wù)從數(shù)據(jù)庫獲取該任務(wù)參數(shù)和視頻源地址,并將這些信息通過進程間通信方式傳遞給上述抓拍進程。在任務(wù)執(zhí)行過程中,中心管理服務(wù)實時監(jiān)控任務(wù)進程執(zhí)行情況,并將任務(wù)當(dāng)前狀態(tài)在數(shù)據(jù)庫更新,方便客戶端查閱。當(dāng)中心管理服務(wù)接到用戶發(fā)出的任務(wù)停止指令時,則將該指令發(fā)送給任務(wù)進程,并確保任務(wù)進程正確停止并釋放相應(yīng)的系統(tǒng)資源。
行人抓拍進程:該進程被中心管理服務(wù)開啟,執(zhí)行具體的行人抓拍任務(wù),并定期反饋任務(wù)執(zhí)行情況。具體來說,當(dāng)行人抓拍任務(wù)開啟后,根據(jù)傳遞的任務(wù)參數(shù)和視頻源地址,開啟視頻解碼線程和行人抓拍算法線程。視頻解碼線程實現(xiàn)視頻源流媒體數(shù)據(jù)的解碼,獲得每一幀的視頻圖像數(shù)據(jù),并將圖像數(shù)據(jù)存儲在緩存中。行人抓拍算法線程從上述緩存中按順序提取視頻幀數(shù)據(jù),并依照行人抓拍算法進行分析判斷,當(dāng)檢測到行人時,將該視頻幀保存到具體的存儲路徑。在行人抓拍進程執(zhí)行過程中,定期向中心管理服務(wù)進程發(fā)送進程執(zhí)行情況,當(dāng)接收到任務(wù)停止指令時,該進程停止視頻解碼線程和行人抓拍算法線程,并釋放相應(yīng)的系統(tǒng)資源。
以上服務(wù)端架構(gòu)具有非常優(yōu)秀的可擴展性,并支持分布式部署。以中心管理服務(wù)為核心,根據(jù)具體的任務(wù)多少,可以合理配備一臺或多臺服務(wù)器或工作站,由中心根據(jù)具體策略,決定在每臺服務(wù)器或工作站上開啟抓拍任務(wù)的數(shù)量,并根據(jù)任務(wù)結(jié)束和系統(tǒng)資源的回收情況來決定是否在某臺服務(wù)器開啟新的抓拍任務(wù)。
3 系統(tǒng)擴展
以上系統(tǒng)描述了針對監(jiān)控視頻中行人的抓拍,及其軟件系統(tǒng)的架構(gòu)和功能。在實際應(yīng)用中,該系統(tǒng)可以擴展更多功能。比如,根據(jù)抓拍的行人圖片,利用人臉識別或人身體外觀特征識別,獲取相關(guān)特征信息,這些信息可以與抓拍圖片進行關(guān)聯(lián),豐富對行人的查詢功能。
4 小結(jié)
監(jiān)控視頻中的行人抓拍可以避免監(jiān)控人員逐幀觀看視頻,進而提高人員的工作效率。本文介紹的行人抓拍算法及程序系統(tǒng),可以有效實現(xiàn)行人抓拍功能及應(yīng)用,由于算法計算復(fù)雜度低,因此更宜于多路視頻的并發(fā)抓拍,而軟件系統(tǒng)的分布式架構(gòu)也宜于系統(tǒng)的擴展。
參考文獻
[1]嚴(yán)聰.平安城市視頻監(jiān)控系統(tǒng)需求分析[J].中國科技信息,2009 (19): 287-288.
[2]顏志國,徐崢,梅林等,下一代公共安全視頻監(jiān)控系統(tǒng)的大數(shù)據(jù)分析[J].上海大學(xué)學(xué)報(自然科學(xué)版),2016,22 (01):81- 87.