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