孫 鵬周純冰張洪君沈 喆趙熙竹楊 揚(yáng)
(1 中國(guó)刑警學(xué)院網(wǎng)絡(luò)安全執(zhí)法與公安技術(shù)信息化協(xié)同創(chuàng)新中心 遼寧 沈陽 110035;2 中國(guó)科學(xué)院沈陽自動(dòng)化研究所 遼寧 沈陽 110016)
面向視頻偵查應(yīng)用的監(jiān)控視頻關(guān)鍵幀檢測(cè)軟件設(shè)計(jì)
孫 鵬1周純冰1張洪君1沈 喆2趙熙竹1楊 揚(yáng)1
(1 中國(guó)刑警學(xué)院網(wǎng)絡(luò)安全執(zhí)法與公安技術(shù)信息化協(xié)同創(chuàng)新中心 遼寧 沈陽 110035;2 中國(guó)科學(xué)院沈陽自動(dòng)化研究所 遼寧 沈陽 110016)
為解決視頻偵查工作中由于監(jiān)控視頻數(shù)據(jù)量大所導(dǎo)致的案件相關(guān)信息獲取實(shí)時(shí)性差、誤判與漏判等問題,利用數(shù)據(jù)流圖深入分析了視頻偵查工作對(duì)關(guān)鍵幀檢測(cè)的需求,在關(guān)聯(lián)數(shù)據(jù)流圖、頂層數(shù)據(jù)流圖與統(tǒng)計(jì)分析表的基礎(chǔ)之上,提出了能夠滿足現(xiàn)階段視頻偵查應(yīng)用的監(jiān)控視頻關(guān)鍵幀檢測(cè)軟件的總體設(shè)計(jì)和人機(jī)交互界面設(shè)計(jì)方案。
視頻偵查 監(jiān)控視頻 關(guān)鍵幀檢測(cè)軟件 需求分析 數(shù)據(jù)流圖
監(jiān)控視頻具有典型的時(shí)空數(shù)據(jù)特點(diǎn),能夠利用時(shí)間、空間的二維屬性反映案件事實(shí),從而實(shí)現(xiàn)打擊和防控刑事犯罪的目的。除了時(shí)間與空間的二維屬性,監(jiān)控視頻還具有典型的大數(shù)據(jù)特點(diǎn),為了真實(shí)的還原案件過程,追蹤案件密切相關(guān)的犯罪嫌疑人的體貌特征、行為特征與行動(dòng)軌跡,需要采集現(xiàn)場(chǎng)及周邊較長(zhǎng)時(shí)間內(nèi)的監(jiān)控視頻,可以達(dá)到1T甚至幾T的數(shù)據(jù)量。目前的視頻偵查工作主要依靠偵查員瀏覽監(jiān)控視頻來發(fā)現(xiàn)案件相關(guān)的線索,巨大的監(jiān)控視頻數(shù)據(jù)會(huì)導(dǎo)致案件相關(guān)信息獲取實(shí)時(shí)性差、誤判與漏判等問題,同時(shí),長(zhǎng)時(shí)間高強(qiáng)度的視頻偵查工作還會(huì)嚴(yán)重影響偵查員的身體健康。
文獻(xiàn)[1]提出了一種適合于視頻偵查應(yīng)用的監(jiān)控視頻關(guān)鍵幀的概念,并將圖像處理技術(shù)、視頻監(jiān)控技術(shù)與視頻檢索技術(shù)相結(jié)合,研究了一種基于背景差分法的監(jiān)控視頻關(guān)鍵幀檢測(cè)方法。文獻(xiàn)[2]對(duì)上述方法進(jìn)行了改進(jìn),提高了關(guān)鍵幀檢測(cè)的效率。本文在上述方法的基礎(chǔ)之上,深入分析了視頻偵查工作的需求,提出了面向視頻偵查應(yīng)用的關(guān)鍵幀檢測(cè)軟件的總體設(shè)計(jì)方案和人機(jī)交互界面設(shè)計(jì)方案。
如圖1所示為監(jiān)控視頻關(guān)鍵幀檢測(cè)系統(tǒng)的關(guān)聯(lián)數(shù)據(jù)流圖。從關(guān)聯(lián)數(shù)據(jù)流圖中可以清楚地看到監(jiān)控視頻關(guān)鍵幀檢測(cè)系統(tǒng)主要包括兩個(gè)外部實(shí)體,即視頻監(jiān)控區(qū)域和視頻偵查員,而數(shù)據(jù)流則包括了監(jiān)控視頻*. avi和經(jīng)過了監(jiān)控視頻關(guān)鍵幀檢測(cè)系統(tǒng)處理加工之后的監(jiān)控視頻圖像與關(guān)鍵幀圖像。
圖1 系統(tǒng)的關(guān)聯(lián)數(shù)據(jù)流圖
對(duì)如圖1所示為監(jiān)控視頻關(guān)鍵幀檢測(cè)系統(tǒng)的關(guān)聯(lián)數(shù)據(jù)流圖做進(jìn)一步細(xì)分,得到如圖2所示的監(jiān)控視頻關(guān)鍵幀檢測(cè)系統(tǒng)的頂層數(shù)據(jù)流圖。在頂層數(shù)據(jù)流圖中,關(guān)聯(lián)數(shù)據(jù)流圖中的外部實(shí)體、數(shù)據(jù)流、存儲(chǔ)單元和加工單元被分解為更小的單元,它們之間邏輯層次關(guān)系、數(shù)據(jù)流向得到了更加細(xì)致的描述。
圖2 系統(tǒng)的頂層數(shù)據(jù)流圖
如表1所示為根據(jù)圖2所做的系統(tǒng)頂層數(shù)據(jù)流圖的統(tǒng)計(jì)分析表,可以清楚地看到關(guān)鍵幀檢測(cè)系統(tǒng)的頂層數(shù)據(jù)流圖中共包括兩個(gè)外部實(shí)體、四個(gè)數(shù)據(jù)流、兩個(gè)存儲(chǔ)單元和四個(gè)加工單元。
表1 頂層數(shù)據(jù)流圖統(tǒng)計(jì)分析表
2.1 基于多線程的系統(tǒng)軟件總體設(shè)計(jì)
通過對(duì)面向視頻偵查應(yīng)用的監(jiān)控視頻關(guān)鍵幀檢測(cè)系統(tǒng)的需求分析可知,系統(tǒng)的關(guān)鍵幀檢測(cè)單元包括很多復(fù)雜的計(jì)算環(huán)節(jié),需要占用較多的CPU的計(jì)算資源,而與此同時(shí)系統(tǒng)又需要連續(xù)不斷的采集視頻圖像并進(jìn)行壓縮存儲(chǔ)以及顯示。因此,為了在滿足圖像采集、壓縮、傳輸、顯示與存儲(chǔ)的同時(shí),能夠進(jìn)行實(shí)時(shí)的關(guān)鍵幀檢測(cè),這里采用了基于Win32的多線程程序設(shè)計(jì)方法,即在應(yīng)用程序進(jìn)程當(dāng)中生成兩個(gè)線程:視頻處理線程和關(guān)鍵幀線程。兩個(gè)線程之間通過創(chuàng)建互斥事件的方式幫助操作系統(tǒng)實(shí)現(xiàn)線程之間的同步與調(diào)度。系統(tǒng)的多線程工作方式設(shè)計(jì)如圖3所示。圖3描述了基于Win32多線程技術(shù)與windows消息處理機(jī)制進(jìn)行設(shè)計(jì)的系統(tǒng)軟件的的工作流程。系統(tǒng)軟件采用單文檔視圖結(jié)構(gòu),利用Visual C++AppWizard的提供的應(yīng)用程序向?qū)?chuàng)建基本的基于MFC(Microsoft Foundation Class)的應(yīng)用程序框架。
圖3 采用Win32多線程的軟件總體設(shè)計(jì)
從圖3中可以看到,系統(tǒng)軟件啟動(dòng)得到一個(gè)運(yùn)行中的系統(tǒng)進(jìn)程后,首先進(jìn)行圖像采集處理卡的初始化,為圖像采集處理卡在應(yīng)用進(jìn)程中分配必要的系統(tǒng)資源。系統(tǒng)人機(jī)交互界面位于屏幕客戶區(qū),通過鍵盤、鼠標(biāo)的方式接受視頻偵查員的輸入,并根據(jù)視頻偵查員操作將系統(tǒng)應(yīng)用的結(jié)果以視頻圖像、表格、狀態(tài)欄等多種方式顯示在屏幕客戶區(qū)的不同區(qū)間內(nèi)。視頻偵查員通過人機(jī)交互界面對(duì)應(yīng)用系統(tǒng)進(jìn)行了需要的操作,操作指令分別以鍵盤事件驅(qū)動(dòng)與鼠標(biāo)時(shí)間驅(qū)動(dòng)的方式產(chǎn)生系統(tǒng)消息,并進(jìn)入Win32操作系統(tǒng)的消息隊(duì)列等待應(yīng)用程序的響應(yīng)。每一個(gè)運(yùn)行中的進(jìn)程不斷的通過操作系統(tǒng)的消息調(diào)度機(jī)制對(duì)消息隊(duì)列進(jìn)行偵聽,一旦發(fā)現(xiàn)消息隊(duì)列中出現(xiàn)了新的消息,便對(duì)消息進(jìn)行判斷,如果新的消息屬于該進(jìn)程,則立刻通過windows的消息傳遞機(jī)制進(jìn)入進(jìn)程,消息根據(jù)具體的處理需要,被應(yīng)用程序分配進(jìn)入消息循環(huán)中等待處理。Win32系統(tǒng)為每一個(gè)線程分配了一個(gè)消息循環(huán),線程在接受消息之后負(fù)責(zé)對(duì)消息循環(huán)中的消息進(jìn)行維護(hù)與解析,并根據(jù)解析的結(jié)果選擇消息處理窗口進(jìn)行消息處理。進(jìn)程在每一個(gè)線程消息處理結(jié)束之后,向操作系統(tǒng)發(fā)送消息結(jié)束指令,操作系統(tǒng)根據(jù)消息結(jié)束指令在消息隊(duì)列中終止該消息,并根據(jù)消息處理的結(jié)果通過API為進(jìn)程提供硬件設(shè)備的應(yīng)用訪問驅(qū)動(dòng)接口。
2.2 軟件人機(jī)交互界面設(shè)計(jì)
如圖4所示為面向視頻偵查應(yīng)用的關(guān)鍵幀檢測(cè)軟件的主界面,為了充分發(fā)揮視頻偵查員的經(jīng)驗(yàn)與主觀能動(dòng)性,軟件的人機(jī)交互主界面包括四個(gè)部分。
(1)系統(tǒng)菜單:包括文件(系統(tǒng)管理、系統(tǒng)設(shè)置)、視頻編輯(屏幕截取、視頻標(biāo)注、視頻序列化)、關(guān)鍵幀檢測(cè)(背景差分算法、相鄰幀減算法)、幫助等四個(gè)主菜單項(xiàng)。視頻偵查員可以根據(jù)操作需要通過鼠標(biāo)或快捷鍵訪問每個(gè)菜單項(xiàng)中的子菜單項(xiàng),然后在彈出的二級(jí)對(duì)話框當(dāng)中進(jìn)行相關(guān)的系統(tǒng)設(shè)置或視頻編輯處理操作。
(2)監(jiān)控視頻顯示區(qū)域:根據(jù)系統(tǒng)設(shè)置,在視頻偵查員發(fā)出監(jiān)控視頻采集命令之后,監(jiān)控視頻將實(shí)時(shí)顯示在本區(qū)域中,滿足視頻監(jiān)控的基本需要。
(3) 關(guān)鍵幀檢測(cè)結(jié)果顯示列表:重載了MainFrame的 OnCreateClient函數(shù),使用了 Visual C++提供的ListCtrl控件進(jìn)行顯示列表的設(shè)計(jì)與開發(fā),按照序號(hào)、視頻事件、鏡頭編號(hào)、事件摘要的形式顯示關(guān)鍵幀檢測(cè)的結(jié)果,并根據(jù)進(jìn)行實(shí)時(shí)更新。視頻偵查員可以點(diǎn)擊事件摘要對(duì)關(guān)鍵幀進(jìn)行簡(jiǎn)單的摘要標(biāo)注,方便分類與管理。
圖4 軟件的人機(jī)交互界面
(4)關(guān)鍵幀檢索交互界面的設(shè)計(jì):與CFormView類派生的對(duì)象相關(guān)聯(lián),負(fù)責(zé)實(shí)現(xiàn)視頻偵查員輸入與系統(tǒng)之間的數(shù)據(jù)通訊。設(shè)計(jì)分為文本檢索和關(guān)鍵幀特征檢索兩個(gè)部分,視頻偵查員可以使用人機(jī)交互界面根據(jù)現(xiàn)場(chǎng)勘查的結(jié)果選擇某一檢索條件對(duì)關(guān)鍵幀進(jìn)行檢索。
由于單文檔視圖結(jié)構(gòu)的應(yīng)用程序只有一個(gè)客戶區(qū),為了同時(shí)滿足監(jiān)控視頻實(shí)時(shí)顯示、關(guān)鍵幀檢測(cè)結(jié)果實(shí)時(shí)顯示與關(guān)鍵幀檢索操作的需要,采用多視圖分割技術(shù)將客戶區(qū)主界面分割為三個(gè)獨(dú)立的視圖窗口,每一個(gè)視圖窗口分別對(duì)應(yīng)著一個(gè)顯示類。分別實(shí)現(xiàn)了上述功能。
本文深入分析了當(dāng)前階段視頻偵查工作中存在的實(shí)際問題,結(jié)合關(guān)鍵幀檢測(cè)軟件的數(shù)據(jù)流圖,提出了一種面向視頻偵查應(yīng)用的關(guān)鍵幀檢測(cè)軟件的總體設(shè)計(jì)方案和人機(jī)交互界面設(shè)計(jì)方案。
[1]孫鵬,張洪君,楊洪臣.利用背景差分法檢測(cè)監(jiān)控視頻中的關(guān)鍵幀[J].警察技術(shù),2013,(3).
[2]孫鵬,周純冰,楊洪臣.監(jiān)控視頻關(guān)鍵幀動(dòng)態(tài)背景差分檢測(cè)技術(shù)[J].警察技術(shù),2013,(5).
[3]陳剛,續(xù)磊.視頻監(jiān)控圖像偵查方法研究[J].中國(guó)人民公安大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2012,28 (3).
[4][英]薩默維爾.軟件工程(原書第9版)[M].程成,等,譯.北京:機(jī)械工業(yè)出版社,2011.
[5]王育堅(jiān).Visual C++面向?qū)ο缶幊探坛蘙M].北京:清華大學(xué)出版社,2004.
(責(zé)任編輯:孟凡騫)
TP391.4
A
2014-09-12
公安部應(yīng)用創(chuàng)新計(jì)劃項(xiàng)目(編號(hào):2012YY CXXJXY129);公安部重點(diǎn)研究計(jì)劃項(xiàng)目 (編號(hào):2012 ZDYJX JXY17);國(guó)家級(jí)大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目(編號(hào):2012ZDYJXJXY17)。
孫鵬(1978-),男,遼寧沈陽人,中國(guó)刑警學(xué)院聲像資料檢驗(yàn)技術(shù)系副教授,博士,主要從事圖像取證、視頻偵查研究。