1 引言 計算機智能視頻監(jiān)控是計算機視覺領域一個新興的應用方向和備受關注的前沿課題。伴隨網(wǎng)絡技術和數(shù)字視頻技術的飛速發(fā)展,監(jiān)控技術正向著智能化、網(wǎng)絡化方向不斷前進。監(jiān)控系統(tǒng)功能日益強大,但是依然需要工作人員不間斷地分析監(jiān)視場景內(nèi)的活動,日夜值守,工作量繁重。因此計算機視覺和應用研究學者適時提出新一代監(jiān)控視頻監(jiān)控的概念。視頻監(jiān)控在不需要人為干預情況下,利用計算機視覺和視頻分析的方法對攝像機拍錄的圖像序列進行自動分析,實現(xiàn)對動態(tài)場景中目標的定位、識別和跟蹤,并在此基礎上分析和判斷目標的行為,從而既能完成日常管理又能在異常情況發(fā)生時及時做出反應。計算機視頻監(jiān)控系統(tǒng)不僅符合信息產(chǎn)業(yè)的未來發(fā)展趨勢,而且代表了監(jiān)控行業(yè)的未來發(fā)展方向。 嵌入式系統(tǒng)是指以應用為中心,以計算機技術為基礎、軟硬件可裁剪、適應于特定應用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統(tǒng),由于嵌入式系統(tǒng)的實時性等特點,監(jiān)控計算機逐漸向嵌入式方向發(fā)展。但是目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,隨著Internet的發(fā)展以及Internet技術與信息家電、工業(yè)控制技術等結(jié)合日益密切,嵌入式設備與Internet的結(jié)合將代表著嵌入式技術的真正未來。本文所研究的基于Windows CE的視頻系統(tǒng)結(jié)合了嵌入式、網(wǎng)絡、智能監(jiān)控等特點,用于遠程自動監(jiān)控場所。 2 系統(tǒng)總體結(jié)構 在嵌入式處理器上移植嵌入式操作系統(tǒng),不僅提高了開發(fā)效率,還可以大大提升視頻監(jiān)控的靈活度和擴展性,使得視頻監(jiān)控系統(tǒng)的后續(xù)應用程序開發(fā)便于實現(xiàn)。本視頻監(jiān)控系統(tǒng)總體結(jié)構如圖1 所示。 前端 USB 攝像頭負責視頻采集;帶有嵌入式操作系統(tǒng)的ARM9 控制模塊控制USB 攝像頭的視頻采集和傳輸(通過以太網(wǎng)和中國移動無線網(wǎng)絡兩個途徑);Ethernet 接口和GPRS 模塊作為網(wǎng)絡傳輸模塊。 3 系統(tǒng)硬件設計 數(shù)字視頻監(jiān)控系統(tǒng)的硬件核心ARM微處理器S3C2410X是韓國的三星公司生產(chǎn)的32位RISC微處理器。含ARM920T內(nèi)核[1]、CPU主頻203MHz、板載64MB SDRAM、64MB FLASH。系統(tǒng)的核心硬件設計組成如圖2所示。主要包括USB攝像頭,采用CMOS 35萬象素感光芯片,處理器通過USB接口讀取USB攝像頭的視頻圖像數(shù)據(jù);以太網(wǎng)卡采用了10M以太網(wǎng)卡芯片DM9000;GPRS模塊采用華為GTM900無線模塊,插入SIM手機卡后通過AT命令發(fā)送短信到用戶手機上。 4 系統(tǒng)的軟件模塊設計 軟件部分包括Windows CE.NET OS鏡像文件NK.BIN和應用程序模塊。Windows CE.NET提供了嵌入式平臺的集成開發(fā)環(huán)境Platform. Builder 4.0,其自帶設計、創(chuàng)建、生成、測試和調(diào)試等開發(fā)工具,和對標準開發(fā)板具備良好支持的板級支持包,可快速定制一個基于標準PC硬件結(jié)構的嵌入式平臺,實現(xiàn)基于Windows平臺軟件的重用和移植,能較好地滿足嵌入式PC視頻監(jiān)控系統(tǒng)的開發(fā)和應用需求。 4.1 嵌入式系統(tǒng)平臺設計 NK.BIN是系統(tǒng)配置文件和定制的OS核心模塊合并后經(jīng)編譯形成的一個二進制文件,NK.BIN的構建就是對構成OS的模塊進行配置、鏈接、定址以生成可啟動OS鏡像的過程,在嵌入式平臺創(chuàng)建過程中完成。根據(jù)視頻監(jiān)控功能需求,主要是選擇BSP以及對OS各模塊特性進行定制。 (1)選擇BSP。針對本系統(tǒng)的ARM920T硬件平臺,我們選擇了硬件廠商附帶的BSP作為嵌入式平臺的底板支持。此BSP提供了對相關設備驅(qū)動(ARM920T芯片驅(qū)動、網(wǎng)卡、USB像頭等)的軟件實現(xiàn)和支持,以及Windows CE.NET OS的核心特性的支持。 (2)應用程序和服務特性。選擇COM組件特性,以提供對DirectX基于COM對象的函數(shù)和方法的接口支持。 (3)通信和網(wǎng)絡特性。網(wǎng)絡設備/驅(qū)動器接口規(guī)范,TCP/IP協(xié)議棧及其它網(wǎng)絡API,包括Windows Networking API、RTC Client API等網(wǎng)絡模塊,以實現(xiàn)向網(wǎng)絡服務器發(fā)送視頻數(shù)據(jù)的能力。 (4)文件系統(tǒng)和數(shù)據(jù)存儲特性。對內(nèi)置文件系統(tǒng)選取ROM&RAM File System模塊,用于OS鏡像的存放和運行。外圍存儲設備的文件系統(tǒng)由存儲管理器負責管理,選取StorageManager模塊,以實現(xiàn)對FAT文件系統(tǒng)的存儲管理。 (5)編譯、鏈接、裝配OS各定制模塊,生成NK.BIN文件。建造CE操作系統(tǒng)后,應創(chuàng)建為平臺上其他應用程序的開發(fā)提供支持的軟件開發(fā)工具包SDK(包括Windows CE.NET操作系統(tǒng)組件,硬件驅(qū)動程序等)。可以利用Embedded VisualC++4.0提供的工具來創(chuàng)建、測試和修改應用程序。利用Platform. Builder4.0創(chuàng)建SDK并導入到Microsoft Embedded Visual C++4.0,然后從環(huán)境列表中選擇所定制的平臺,進行應用程序的開發(fā)、調(diào)試和運行。 4.2 應用程序開發(fā) 系統(tǒng)主要模塊包括:視頻采集模塊,視頻壓縮傳輸模塊,圖像動態(tài)檢測及GPRS報警模塊。 1,視頻采集 本系統(tǒng)所用的是基于OV511芯片的網(wǎng)眼2000 USB攝像頭。Windows CE下的設備驅(qū)動程序分為兩類:本機驅(qū)動程序和流接口驅(qū)動程序。本機設備驅(qū)動程序,也稱為“內(nèi)置驅(qū)動程序”,這些設備驅(qū)動程序是一些硬件所必需的,是由原始設備制造商創(chuàng)建的,用以驅(qū)動如鍵盤、觸摸屏、音頻等設備,往往在設備售出后就不會再更換。流接口驅(qū)動程序是運行在用戶級別的動態(tài)鏈接庫,用來實現(xiàn)一組稱為流接口函數(shù)的固定函數(shù),這些流接口函數(shù)使得應用程序可以通過文件系統(tǒng)中的特殊文件與設備進行交互。 每個流接口驅(qū)動程序必須實現(xiàn)一組標準的函數(shù):XXX_Close,XXX_Deinit,XXX_Init,XXX_IOControl,XXX_Open,XXX_Powerdown,XXX_powerUp,XXX_read,XXX_Seek,XXX_Write用來完成標準的文件I/O函數(shù)和電源管理函數(shù),這些函數(shù)提供給Windows CE.NET操作系統(tǒng)的內(nèi)核使用。這些函數(shù)通常也叫做流接口驅(qū)動程序的DLL接口。 流接口USB驅(qū)動主要分為下面幾步: 1)建立一個WCE Dynamic-Link Library; 2)書寫一個Export def文件輸出各個驅(qū)動需要的函數(shù)符號; 3)依據(jù)USB驅(qū)動加載的流程,添加完成USBInstallDriver,USBDeviceAttach,USBUnInstallDriver,CAM_Init,CAM_Deinit各個函數(shù),并進行測試;這些函數(shù)正確填寫之后,驅(qū)動程序就可以加載了。 由于在Windows CE.Net系統(tǒng)中,設備的配置信息都是存儲在系統(tǒng)注冊表中,因此一個具體的USB流接口程序跟注冊表肯定是分不開的。我們希望驅(qū)動程序在系統(tǒng)啟動的時候能夠自動運行,所以必須正確設置HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients鍵,這樣當將設備附加到總線上時,USBD模塊可以自動加載該設備的合適的驅(qū)動程序。 2,視頻壓縮及傳輸 為了在局域網(wǎng)上有效的、高質(zhì)量的傳輸視頻流,需要多種技術的支持,其中包括視頻的壓縮、編碼技術,應用層質(zhì)量控制技術等等。 網(wǎng)絡的帶寬是有限的,所以需要壓縮傳輸視頻圖像,MPEG-4被廣泛的應用于網(wǎng)絡環(huán)境下的實時視頻傳輸,因為MPEG-4具有:可以達到很高的壓縮比;具有靈活的編碼和解碼復雜性;基于對象的編碼方式,允許視頻、音頻對象的交互;具有很強的容錯能力等優(yōu)點。為了達到視頻傳輸?shù)膶崟r性,總的思想是最少的發(fā)送冗余信息,最大程度上發(fā)送最新的視頻。局域網(wǎng)實時視頻傳輸采用服務器/客戶機模式,利用EVC實現(xiàn)。其工作流程如圖3所示。視頻采集采用從視頻采集卡捕獲視頻圖像,得到的是位圖型式的視頻幀,然后用Divx編碼器進行壓縮,通過Winsock實現(xiàn)壓縮后的視頻數(shù)據(jù)在局域網(wǎng)中的實時傳輸,接收完的數(shù)據(jù)交給Divx解碼器解壓,最后實現(xiàn)視頻顯示。 3,圖像動態(tài)檢測及GPRS報警模塊 差影法是常用的運動目標檢測方法之一。它的基本思想是輸入圖像與背景模型進行比較,通過判定灰度等特征的變化,或用直方圖等統(tǒng)計信息的變化來判斷異常情況的發(fā)生和分割運動目標。 考慮到本系統(tǒng)為固定區(qū)域視頻監(jiān)控,視頻背景圖像干擾因素較小,而且,差影法運算量相對不大,更適合于在ARM9嵌入式處理器上進行運算,因而選用背景差法作為運動檢測的算法。首先循環(huán)采集兩幀視頻圖像數(shù)據(jù),將圖像轉(zhuǎn)換為二值灰度圖像,然后分別提取兩幅圖像的亮度并做差,得出差影圖像,通過比較差影圖像的亮度閡值做出判斷,如果超過設定的闡值,則發(fā)出報警短消息,同時把當時所抓拍的圖像保存下來。 結(jié)束語 本文在總結(jié)分析前人研究成果的基礎上,提出了切實可行的嵌入式網(wǎng)絡視頻監(jiān)控系統(tǒng)的解決方案,通過合理完善的系統(tǒng)設計,實現(xiàn)了具有實用價值的網(wǎng)絡視頻監(jiān)控系統(tǒng)。系統(tǒng)采用先進的基于ARMS3C2410微處理器的硬件平臺,采用最新的Windows CE作為服務器軟件的開發(fā)平臺;利用軟件實現(xiàn)性能優(yōu)良、適合網(wǎng)絡傳輸?shù)腗PEG-4視頻編碼標準,能使監(jiān)控系統(tǒng)在較小的網(wǎng)絡帶寬下,獲得較好的視頻質(zhì)量。 本文作者創(chuàng)新點:采用當今主流的RAM嵌入式處理器設計監(jiān)控系統(tǒng),通過以太網(wǎng)傳輸,使得監(jiān)控不受距離的限制,并通過手機GPRS網(wǎng)絡及時通知用戶,達到監(jiān)控的智能性。 |