針對目前開發數字化的視頻監控設備普遍成本較高、周期較長的特點,在ARM+Linux嵌入式平臺,應用開源免費軟件MJPG_Streamer實現視頻圖像的采集以及通過TCP/IP網絡協議傳輸到上位機進行遠程顯示。同時提出了一種結合三幀差分算法和背景減法的目標檢測算法,實現智能控制。實驗結果表明,該系統能夠進行實時的、遠程的監控,同時能夠快速對入侵目標進行語音報警。
近年來,隨著計算機技術、光電技術、數字圖像處理技術、嵌入式技術和網絡通信技術的不斷發展,高度集成的數字化、網絡化、智能化的數字視頻技術已經了取代傳統的模擬視頻監控技術。目前,世界各國對視頻監控的需求與應用不斷擴大,推動著全球視頻監控市場迅速的發展。根據市場調查公司IMSResearch的預測,全球視頻監控市場將從2008年的115億美元增加至2015年的377億美元,年復合增長率達到20.4%.在這一市場中,監控攝像頭、服務器、編碼器以及軟件是視頻監控系統的主角。
本文提出一種基于ARM+Linux嵌入式平臺的的智能視頻監控系統,充分利用開源操作系統和開源免費軟件MJPG_Streamer的特點,實現了在線實時監控。同時提出了一種目標檢測算法,該算法在后臺運行,實現了智能控制,能夠對入侵目標進行語音報警。該監控適合針對一些特定場合的監控。
1 系統硬件平臺
視頻監控系統以S3C2440處理器為核心,外圍器件有Flash、SDRAM、以太網卡DM9000、聲卡UDA1341以及CMOS接口攝像頭OV9650,在Linux環境下對攝像頭采集到的原始圖像幀進行處理以及壓縮,通過網絡協議傳輸到PC上位機進行顯示。系統硬件平臺結構如圖1所示。
2 構建ARM+Liunx嵌入式平臺
在系統硬件平臺上構建嵌入式Liunx系統,需要引導程序BootLoader和Linux源碼,本系統需要移植bootloader源碼,然后用Jtag接口將其燒寫到Flash中,從Flash中啟動,引導在PC機上交叉編譯后的Linux鏡像及根文件系統,之后啟動Linux系統。
2.1 網卡和聲卡驅動移植
由于在Linux內核中提供了以太網卡DM9000設備驅動功能層主要的數據結構和函數,所以在實際移植網絡設備驅動程序時,要完成的工作就是根據實際以太網卡DM9000參數修改相應的內核代碼。同樣,在Linux內核源碼中的標準音頻編程模型已經包含一套完整的內核驅動程序模塊,為各種各樣的聲卡提供了統一并且簡單易用的編程接口,如open()、read()、ioctl(()等函數,所以在聲卡UDA1341移植過程中對內核源碼做簡單修改即可。
2.2 語音播放功能的實現
完成了聲卡驅動移植后,為了方便對音頻文件的播放,停止等操作進行控制,還需要移植專業的高精度解碼器Madplay.Madplay是一個根據MAD算法寫的MP3播放器,解碼效果相當出色,而且支持命令行,特別適合于在嵌入式系統使用。移植過程中分別編譯zlib庫、libid3tag庫和libmad庫,最后編譯madplay源碼并且把編譯出來的madplay下載到系統中即可,之后就可以對錄制好的音頻文件進行播放。
嵌入式平臺構建完成后,先后用命令ifcongfig和madplay進行網卡和語音模塊測試,從圖2可以看出Linux系統啟動成功,網卡和聲卡驅動配置成功了,并且可以使用Madplay播放器播放錄制的音頻文件。