于 洪,杜小丹,申建軍
(1.瓊州學院 海南 五指山 572200;2.成都大學 四川 成都 610106;3.重慶大學 重慶 400044)
計算機技術、通訊技術和網絡技術的高速發展,加快了數字監控系統取代模擬監控系統的步伐,數字化視頻監控已成為監控技術的必然趨勢。數字化監控不僅可以利用計算機網絡和先進的視/音頻壓縮、解壓縮技術遠程視頻監控,還可以根據報警功能需求設計靈活多樣的報警聯動,生成詳細的報警記錄和操作數據記錄庫,設計完整的系統用戶管理功能。
在考慮數字化監控系統的基本要求、靈敏度高、低成本和符合監控系統發展趨勢的基礎上,在普通PC機上運用高級語言編程實現了 “基于圖像識別的攝像頭監控系統設計”。當有入侵者入侵時,畫面發生變化,系統依靠圖像識別而不是依靠傳感器自動進行拍照,并發出警告。并且只在圖像有變化時記錄,可以節省大量的存貯空間。存貯的內容減少了,對于后期的查找也帶來了優勢,使得后期查找更方便快捷。
筆者設計的系統由微機、攝像頭和軟件組成,主要功能和特點如下:
1)利用攝像對現場進行穩定、可靠的監控。并且監控精度可根據需要調整。
2)能夠實現智能化、自動化。只有在圖像發生變化時才自動記錄和報警,可以節省大量的存貯空間。
3)具有拍照功能。當出現異常情況時能將有關場景拍照下來,為日后分析提供影像資料,同時還提供時間信息。
4)具有完善的后處理能力。在設計系統內可以查看所拍攝的照片。
5)可靈活地實現由自動監控到人工監控的功能。
系統硬件構成如圖1所示。
筆者設計程序以微型計算機為設計原型,系統主機由一臺普通PC機加載軟件而構成。系統設計在兼顧高性能和低價格的綜合分析下,采用微型計算機硬盤作為存貯空間,一般在30 GB以上,這在當前的計算機配備中是非常容易達到的。選用穩定性能高的CPU以保證系統長時間地運行。攝像頭型號不限,當然精度高一些,監控效果會好一些。

圖1 監控系統硬件圖Fig.1 Hardware block diagram of supervise system
筆者設計系統的工作過程如下:在計算機的控制下,攝像頭開始工作。考慮到不同攝像頭需要不同的驅動程序,這樣設計出來的程序通用性比較差。所以本系統在設計上采取了比較通用的由微軟開發的API(avicap32.dll)來實現攝像頭的控制[1]。可實現對不同型號的攝像頭進行控制,不針對專門的型號的攝像頭,實用性、通用性更強、克服某些監控程序專門針對某種型號的攝像頭的缺點。攝像頭每隔一段時間采集圖像一次并存貯,并且間隔時間可調。接收到圖像后,系統先對圖像進行二值化處理,將彩色圖像處理成黑白圖像,并對特征點進行統計,然后對二幅圖像的特征點進行比較,若差值沒達到設計者預定的閾值,則繼續進行圖像采集,此時并不對圖像進行存貯記錄[2]。當差值達到設計者預定的閾值時,則系統自動啟動存貯記錄并啟動報警。當圖像停止變化時,系統會自動停止存貯和記錄,以節約存貯空間。系統程序圖如圖2所示。

圖2 程序流程圖Fig.2 Flow chart of procedure
方案研究的重點在于如何實現識別到圖像變化的轉換,并自動啟動相應的程序。設計者讓計算機控制攝像頭每50 ms采集一幅現場圖像,并對兩幅圖像進行比較,但直接對兩幅圖像進行比較由于攝像頭的精度及存貯機制的問題,總是不能成功。于是考慮到將圖像進行二值化處理[3],然后再進行特征點的讀取,最后將兩幅圖像的特征點進行比較,當比較值超過閾值時,程序開始自動報警并記錄。設計者將閾值設計成可以改變大小的,以適應不同的監控要求[4]。首先進行彩色圖像的二值化處理,二值化程序如下[5]:
For i=1 To width5 Step 5
For j=1 To heigh5 Step 5
rgb5=GetPixel(hdc5, i, j)
bBlue=Blue(rgb5&H10000) And &HFF
bRed=Red(rgb5 And &HFF)
bGreen=Green(rgb5&H100) And &HFF
y= (9798*bRed+19235*bGreen+3735*bBlue) 32768
Next I,J
二值化后,就可以對特征點進行提取了,對于提取的特征點進行比較,程序如下:
If y>75 Then
n2=n2+1
End If
對特征點統計后,就要進行比較了,如果比較結果達不到設計者設定的閾值,則系統不進行處理,繼續進行讀取圖像程序。如果比較結果差超過了設計者設定的閾值,說明有物體移動了,于是系統開始自動報警并記錄[6]。
If Abs(n1-n2) >HScroll1.Value Then
Beep
SavePicture Clipboard.GetData, "d:" & Year (Now) & "年"& ""& Month(Now)& "月"& ""& Day(Now)& "日"& "" & "monit" & Replace(Time, ":", "-") & ".bmp"
End If
當物體移動結束后,監控能自動停止記錄,減少存貯空間的占用量。方便以后的查找。
筆者設計的程序基于圖像識別的程序控制,使得程序不必一開始監控就進行無用的記錄,只有在圖像發生變化時才記錄,節省了大量的存貯空間。用戶不必裝配大容量的存貯介質,個人電腦就可以完成存貯,節約了財力,特別適用于小型用戶和家庭用戶。經過了大量的實際實驗,證明本程序是可靠、靈敏的,達到了設計效果。
[1]高昂,段念,何峰,等.Google API大全——編程·開發·實例[M].北京:電子工業出版社,2009.
[2]匡松,蔣義軍.VB大學應用教程[M].北京:高等教育出版社,2010.
[3]湯一平,葉永杰,朱藝華,等.智能全方位視覺傳感器及其應用研究[J].傳感技術學報,2007,20(6):1316-1320.TANG Yi-ping,YE Yong-jie,ZHU Yi-hua,et al.Research on intelligent omni-directional vision sensors and their application [J].Chinese Journal of Sensors and Actuators,2007,20(6):1316—1320.
[4]周德澤.計算機智能監測控制系統的設計及應用[M].北京:清華大學出版社,2002.
[5]趙榮椿,趙忠明.數字圖像處理導論[M].西安:西北工業大學出版社,2000.
[6]姚華.VB程序設計[M].天津:天津大學出版社,2009.