吳建鋒,羅小文
(1.杭州派尼澳電子科技有限公司 浙江 杭州310018;2.杭州電子科技大學 浙江 杭州310018)
基于Motion算法移動圖像監控系統的設計與實現
吳建鋒1,羅小文2
(1.杭州派尼澳電子科技有限公司 浙江 杭州310018;2.杭州電子科技大學 浙江 杭州310018)
針對入室盜竊、非法入侵等違法犯罪行為的預防和調查取證,提出了一種基于Motion算法移動圖像監控系統。該系統通過USB圖像采集模塊采集圖像,開源的Motion算法實現了對采集到的圖像進行比較,當相鄰圖像差異超過設定的閾值則判定為移動圖像,RT5350處理中心將移動圖像進行存儲同時通過串口向STM32發送開啟報警命令來開啟報警,當超過設定時間間隔未檢測到移動圖像則通過串口向STM32發送關閉報警命令來關閉報警,Web客戶端通過基于HTTP協議的Lighttpd服務器查看RT5350處理中心存儲的圖像。經多次測試系統運行穩定并且采集到移動圖像時能開啟報警,同時能通過Web客戶端查看存儲的移動圖像,當超過設定的時間間隔未檢測到移動圖像時能關閉報警。
Motion;移動圖像;RT5350;Web;Lighttpd
移動圖像監控是對人們無法直接、即時觀察的場所提供實時、形象、真實的圖像畫面作為處理或事后分析的一種手段[1]。如今室內、辦公場所等的安全問題日益突出,入室盜竊、非法入侵等違法犯罪行為對人們的生命和財產安全產生了嚴重的威脅[2]。而面對這些違法犯罪行為很難及時報警預防和獲取相關的罪證以便調查。傳統的視頻監控系統只能不斷地采集和存儲視頻圖像,無法檢測移動物體和及時啟動報警。
針對以上問題,本系統基于Motion算法實現了移動圖像檢測、存儲和控制報警,并且Web客戶端通過基于HTTP協議的Lighttpd服務器獲得存儲的移動圖像。因此實現了移動物體的檢測和及時啟動報警并且Web客戶端可以查看到存儲的移動圖像。
系統包括RT5350處理中心、USB圖像采集模塊、STM32控制器、報警模塊。RT5350處理中心通過USB圖像采集模塊實現圖像的采集,同時使用Motion算法實現移動物體的檢測,當檢測到移動物體將其圖像存儲下來同時發送報警指令來啟動報警,并且Web客戶端通過基HTTP協議的Lighttpd服務器獲得存儲的圖像。系統具體結構如圖1所示。

圖1 系統結構框圖
1.1 RT5350處理中心硬件設計
RT5350處理中心選用聯華科基于MIPS架構的RT5350芯片作為硬件微處理器。雷凌RT5350是一款高質量、小尺寸、低成本的可編程系統芯片,在一個芯片上包含了各種AP Router所需的元件,提供了優越的無線基地路由器解決方案;RT5350芯片內置了獨特的封包接收式天線分集技術,支持802.11n無線局域網,具備 HOST USB、USART等接口;RT5350芯片還整合了360 MHz MIPS CPU以及10/ 100 M以太網[3]。STM32采用STM32F103XX基本型系列,它使用了高性能的ARM CortexM3 32bit的RISC內核,并擁有豐富的增強型外設和I/O口,包含了3個USART[4-5]。USB接口芯片選用的是Cypress公司開發的USB2.0接口芯片CY7C68013A,芯片內部集成了USB2.0收發器,支持12Mbps的全速和480Mbps的高速傳輸[6-7]。USB圖像采集模塊采用了中星微公司的ZC301P芯片設計的攝像頭,該攝像頭最大分辨率可達640*480,采用的是CMOS感光芯片[8]。RT5350、STM32、USB接口電路連接示意圖如圖2所示。

圖2 RT5350、STM32、USB電路連接示意圖
1.2 RT5350處理中心軟件設計
RT5350處理中心軟件設計是基于嵌入式Linux操作系統平臺。Linux系統具有開源、可定制內核,并且其支持多進程、在實時性能和可靠性方面都很優越[9]。RT5350處理中心軟件分為兩部分:一部分是基于Motion算法的移動圖像檢測和存儲;另一部分為Web客戶端與Lighttpd服務器之間數據交互的設計。
1.2.1 基于Motion算法的移動圖像檢測和存儲
當Linux系統啟動和初始化完成,則通過Motion算法檢測采集到的圖像并判斷是否移動圖像,當判斷為移動圖像則通過串口發送開啟報警指令并存儲移動圖像。當判斷不是移動圖像時則判斷未采集到移動圖像的時間是否超過設定的時間間隔,如果超過設定的時間間隔則通過串口發送關閉報警指令,如果沒超過設定的時間間隔則不發送關閉報警指令。RT5350處理中心軟件流程圖如圖3所示。

圖3 RT5350處理中心軟件流程圖
1.2.2 Web客戶端與Lighttpd服務器之間數據交互的設計
Web客戶端通過基于HTTP協議的Lighttpd服務器獲得RT5350處理中心存儲的圖像。Lighttpd是一個性能優異的輕量級開源Web服務器,采用事件驅動和異步IO技術,具有非常低的內存開銷,CPU占有率低[10-12]。Web客戶端與Lighttpd服務器之間數據交互的實現是由3個部分實現:
1)Lighttpd服務器獲取Web客戶端的請求,這一操作通過“FCGI_Accept()”函數來實現當函數返回值大于或等于零時獲取到了Web客戶端的請求,否則未獲取Web客戶端的請求;
2) 判斷獲取的請求需要的操作, 由“if(((cgi_param(“action”)) != NULL) ||(sscanf(cgi_param(“action”),”%d”,&action)!=1))”這條程序代碼實現;
3)Lighttpd服務器對Web客戶端的請求做出響應,這一操作由”puts(char*str)”函數來實現,函數的參數str為要傳遞給Web客戶端的字符串的首地址。
該系統的Web客戶端與Lighttpd服務器之間數據交互的具體過程如圖4所示。

圖4 Web客戶端與Lighttpd服務器之間數據交互圖
1.3 STM32軟件設計
STM32通過串口接收到的指令來控制報警。當STM32上電和進行相關參數配置后,判斷串口是否接收到控制指令。如果收到控制指令則對控制指令信息進行判別,當控制指令為開啟報警指令則執行開啟報警操作,當控制指令為關閉報警指令則執行關閉報警操作。如果沒有收到控制指令則不執行對指令信息的判別和開啟、關閉報警的操作。具體的軟件設計流程如圖5所示。

圖5 STM32軟件設計流程圖
2.1 Motion算法的移動圖像檢測過程
Motion算法以Motion JPEG 2000標準進行編解碼。Motion JEPG 2000標準在進行視頻圖像編碼的過程為首先由連續的視頻圖像幀逐幀的進行編碼,將編碼得到的視頻圖像數據和音頻數據組織在一起,并加入相應的元素信息,如碼流屬性、時間戳、偏移量等,形成標準的Motion JPEG 2000文件碼流,存儲為MJ2文件格式[13]。解碼過程為先從MJ2碼流中提取出視頻圖像數據,再將每幀視頻圖像數據進行JPEG 2000解碼,從而得到解碼后的視頻圖像序列[13-15]。則Motion算法檢測移動圖像過程為首先判定當前輸入視頻圖像幀是否為第一幀視頻圖像。如果是第一幀視頻圖像則由Motion JPEG 2000進行編碼得到將編碼得到MJ2碼流同時將MJ2碼流存儲下來作為下一幀視頻圖像的MJ2碼流的參考碼流,具體處理過程如圖6(a)所示;如果不是第一幀視頻圖像則通過Motion JPEG 2000編碼得到MJ2碼流與上一幀視頻圖像的MJ2碼流進行比較,當兩幀視頻圖像的MJ2碼流的差異大于或等于設定的閾值(可設定),則將當前幀視頻圖像的MJ2替換上一幀視頻圖像的MJ2碼流作為下一幀視頻圖像的MJ2碼流的參考碼流,同時由Motion JPEG 2000對當前幀視頻圖像的MJ2碼流進行解碼得到輸出視頻圖像幀進行存儲,當兩幀視頻圖像的MJ2碼流的差異小于設定的閾值,則將當前幀視頻圖像的MJ2替換上一幀視頻圖像的MJ2碼流作為下一幀視頻圖像的MJ2碼流的參考碼流,具體處理過程如圖6(b)所示。
2.2 Motion算法的相關配置
Motion算法的實現需要進行相關的配置,通過配置可以實現自定義檢測移動圖像。Motion算法的配置文件為motion.conf,該系統對motion.conf文件的配置如下:
1)將配置文件中deamon項配置為deamon off,關閉守護模式以便Motion算法正常運行;
2)將配置文件中的 locate項配置為 ielocateon,實現用方形框將發生了改變的區域框起來;
3)將配置文件中的 videodevice項配置為videodevice/dev/video,實現對USB攝像頭的加載;
4)將 配 置 文 件 中 的 threshold項 配 置 為threshold 5000,將閾值設定為5000px;
5)將配置文件中的 target_dir項配置為target_dir/home/motion,將圖像文件的保存路徑設置為/home/motion目錄下;
6)將配置文件中的width和height項配置為width 320和height 240,設置攝像頭采集到的圖像大小為320*240;
7)將配置文件中的 framerate項配置為framerate 30,設置攝像頭每秒采集的圖像幀數;
8)將配置文件中的gap項配置為gap 5,設置未檢測到移動圖像時間間隔為5秒;
9)將配置文件中的 on_event_start項配置為on_event_start/motion/appon,當檢測到移動圖像時執行motion目錄下的appon程序發送開啟報警指令;
10)將配置文件中的 on_event_end項配置為on_event_end/motion/appoff,當未檢測到移動圖像的的時間超過gap項的設置的時間執行motion目錄下的appoff程序發送關閉報警指令和對/home/motion目錄下的圖像進行按時間排序并移動到/home/ save_pic目錄下;
通過以上配置Motion算法能實現移動圖像的檢測和執行相關的程序,從而實現移動圖像的檢測和存儲并及時地開啟和關閉報警。

圖6 視頻圖像處理流程圖
本系統實現了移動圖像的檢測和存儲,通過Web客戶端獲取存儲的圖像數量和顯示圖像,并且當檢測到移動圖像自動開啟報警,未檢測到移動圖像延遲5秒后自動關閉報警。由此對系統進行了以下測試:
1)移動圖像檢測的測試:測試人員在攝像頭監控區域作一些動作,系統對這些動作進行檢測并將圖像存儲下來,通過Web客戶端獲取并顯示,如圖7所示。

圖7 移動圖像檢測的測試
圖7中為測試人員做的一個動作由系統檢測并存儲下來,由Web客戶端獲取并顯示出來。
2)通過Web客戶端獲取RT5350處理中心存儲的圖像數量如圖8所示。

圖8 獲取RT5350處理中心存儲的圖像數量
3)測試當檢測到動態圖像時能否通過串口發送開啟報警命令,當未檢測到動態圖像超過設定的時間間能否發送關閉報警的命令如圖9所示。

圖9 RT5350處理中心通過串口發送的命令
圖9中的”wm”為開啟報警的指令,”wn”為關閉報警的指令,“wn”是在未檢測到動態圖像延遲5秒后獲得。
本系統基于Motion算法實現了移動圖像檢測、存儲和控制報警,并且Web客戶端通過基于HTTP協議的Lighttpd服務器獲得存儲的移動圖像。因此實現了移動物體的檢測和及時啟動報警并且Web客戶端可以查看到存儲的移動圖像,克服了傳統的視頻監控系統只能不斷地采集和存儲視頻圖像,無法檢測移動物體和及時啟動報警。便于對入室盜竊、非法入侵等違法犯罪行為進行預防和調查取證。
[1]王越,龐振營,王帥,范先星.嵌入式無線視頻監控系統的設計與實現[J].重慶理工大學學報(自然科學),2015,29(4):67-72.
[2]劉彬.智能家居系統安防子系統的設計與實現[D].成都:電子科技大學,2013.
[3]袁新娣,李秋生.基于RT5350的嵌入式無線視頻數據采集系統 [J].安徽大學學報:自然科學版,2014,38(6):60-65.
[4]賴樹明,楊卓鑫,張麗娟,等.基于STM32的物聯網系統的設計[J].電子測試,2015(8):4-9.
[5]王晨輝,吳悅,楊凱.基于STM32的多通道數據采集系統設計[J].電子技術應用,2016(1):51-53,57.
[6]姚洪濤,李曉宇,陳磊,等.CMOS圖像傳感器的圖像采集系統的研究與實現 [J].電子設計工程,2015,23(5):137-139.
[7]張玉杰,陳志磊.基于CMOS圖像傳感器的亮度測量系統設計[J].電子技術應用,2016(1):48-50,57.
[8]張義鵬.基于Linux和ZC301攝像頭監控系統[D].沈陽:遼寧大學,2013.
[9]馮川放,馬季.基于嵌入式LINUX系統的實時進程調度算法的研究 [J].計算機應用與軟件,2014,31(12):278-282.
[10]胡志慧.CGI在Lighttpd Web服務器上的應用與實現[J].福建電腦,2013(7):28-29,43.
[11]楊小嬌.輕量級高并發Web服務器的研究與實現[D].南京:南京郵電大學,2014.
[12]楊穎瑩.高性能Web框架的分析與應用[D].北京:北京郵電大學,2012.
[13]舒建.基于Motion JPEG 2000的低碼率視頻會議系統的設計[D].成都:電子科技大學,2012.
[14]林子明,梁利平.HEVC靜態圖像壓縮與JPEG 2000性能比較與分析[J].電視技術,2015,13:20-23.
[15]李波,何亮.基于JPEG2000的視頻壓縮技術研究[J].成都大學學報:自然科學版,2015(2):170-172,187.
Design and implementation of mobile image monitoring system based on Motion algorithm
WU Jian-feng1,LUO Xiao-wen2
(1.Hangzhou Pioneer Electronic Technology Co.Ltd,Hangzhou 310018,China;2.Electronic and Information Engineering,Hangzhou Dianzi University,Hangzhou 310018,China)
For burglary, illegal intrusion and other criminal acts of prevention and investigation evidence,a mobile image monitoring system based on Motion is proposed.The system collects the images through USB image acquisition module,the open source Motion algorithm has realized the comparison of the collected images,when the difference of the adjacent image is over the set threshold judged to move the image,RT5350 processing center will store the mobile image at the same time send the command of open alarm to STM32 to open alarm through the serial port,when the mobile image is not detected over the set time interval send the command of close alarm to STM32 to close alarm through the serial port,Web client through Lighttpd server which based on HTTP protocol view the image which stored in the RT5350 processing center.After many times test the system runs stably and can open the alarm when collect mobile images,at the same time the Web client can view the mobile image which has been stored,when the mobile image is not detected over the set time interval can close alarm.
Motion;mobile image;RT5350;Web;Lighttpd
TN91
:A
:1674-6236(2017)03-0136-05
2016-02-22稿件編號:201602099
吳建鋒(1981—),男,浙江文成人,碩士研究生,工程師。研究方向:智能家居及照明控制。