快速反應(yīng)智能安全監(jiān)控系統(tǒng)的設(shè)計與實(shí)現(xiàn)
關(guān)鍵詞: 智能安防;人臉檢測;圖像處理;DSP;FPGA
隨著人們生活水平的提高以及安全防范意識的加強(qiáng),視頻監(jiān)控系統(tǒng)得到了廣泛應(yīng)用。目前的監(jiān)控多以PC機(jī)為主,只能起到簡單的視頻記錄功能,同時需要配備專人監(jiān)視屏幕。對于一些少有人出入的重要場所,通過人工方式對屏幕監(jiān)控是一件麻煩的事情,而且PC機(jī)還需要配備大容量的硬盤來保存所有視頻圖像,硬盤使用量極大。針對這種情況,本文設(shè)計了一個無人值守的監(jiān)控系統(tǒng)。系統(tǒng)在無人進(jìn)入監(jiān)視范圍時不保存視頻圖像,當(dāng)有人進(jìn)入監(jiān)視范圍時才啟動視頻記錄程序,同時自動快速捕獲人臉,利用模式識別與圖像處理技術(shù)對人臉特征進(jìn)行分析,提取其特征量并與人臉庫中的特征量進(jìn)行匹配,判斷是否為非法人員,如果是則進(jìn)行報警,并通過網(wǎng)絡(luò)提醒遠(yuǎn)程監(jiān)控中心注意監(jiān)視。對于平時很少有人出現(xiàn)的場合,利用該監(jiān)控系統(tǒng)可以減少數(shù)據(jù)容量,減少監(jiān)控人員,而且不會擔(dān)心錯過監(jiān)視對象。本系統(tǒng)是在原有一代產(chǎn)品的基礎(chǔ)上對硬件電路設(shè)計及軟件算法上進(jìn)行了改進(jìn)。實(shí)踐證明系統(tǒng)的反應(yīng)速度、識別處理速度等都有了較大提高。
1 系統(tǒng)概述
攝像機(jī)在主控系統(tǒng)的控制下工作,在沒有移動目標(biāo)進(jìn)入的情況下,攝像機(jī)的數(shù)據(jù)不存儲。當(dāng)拍攝到有人進(jìn)入后,主控系統(tǒng)立即控制攝像機(jī)對非法進(jìn)入指定區(qū)域的人體進(jìn)行跟蹤,并在跟蹤過程當(dāng)中對人臉定位并快速準(zhǔn)確地獲取其面部圖像,同時啟動錄像功能;然后通過一系列的數(shù)字圖像處理方法對面部圖像進(jìn)行分析、處理,確定是否為非法入侵,如果是則啟動報警系統(tǒng)。利用多個這樣的子系統(tǒng)可組成一個監(jiān)控網(wǎng)絡(luò),各個子系統(tǒng)通過網(wǎng)絡(luò)與監(jiān)控中心連接。因各個子系統(tǒng)具有智能監(jiān)控功能,所以監(jiān)控中心只配備一個值守人員即可監(jiān)控20個以上的監(jiān)控點(diǎn),大大減少了人員的使用。
2 系統(tǒng)硬件組成
由于該系統(tǒng)處理的數(shù)據(jù)量較大,且要求實(shí)時性強(qiáng),故采用DSP和FPGA相結(jié)合的方法,加上圖像數(shù)據(jù)采集芯片以及存儲芯片,構(gòu)成核心圖像處理單元。同時配備有本地報警模塊、網(wǎng)絡(luò)傳輸?shù)?,從而?gòu)成了一個完整的監(jiān)控系統(tǒng)。系統(tǒng)組成框圖如圖1所示。與原有系統(tǒng)相比,本系統(tǒng)作了如下改進(jìn):把原來只作為數(shù)據(jù)緩沖處理的FPGA設(shè)計為主控芯片,控制數(shù)據(jù)的輸入調(diào)理和輸出報警,而把DSP解放出來,專門用作圖像處理及傳輸。這樣可以提高數(shù)據(jù)的處理速度,從而提高系統(tǒng)的反應(yīng)速度。
2.1 系統(tǒng)主要芯片的選用
(1)圖像采集芯片采用TVP5150。TVP5150是具備超低功耗、支持NTSC/PAL/SECAM等格式的高性能視頻解碼器。在正常工作時,它的功耗僅115 mW,通過設(shè)置內(nèi)部寄存器,可以將模擬圖像信號轉(zhuǎn)換為YUV4:2:2格式的ITU-R BT.656數(shù)字信號,并直接送到DM642進(jìn)行處理。
(2)為提供系統(tǒng)的快速反應(yīng)能力,圖像處理芯片的選擇尤為關(guān)鍵,綜合各方面的因素,DSP選用TI公司專用多媒體芯片TMS320DM642(簡稱“DM642”)。DM642基于C64x內(nèi)核,可在720 MHz時鐘頻率下工作,每個指令周期可并行8條32 bit指令,能達(dá)到5 760 MIPS的峰值計算速度[6]。DM642采用了2級緩存結(jié)構(gòu)(L1和L2),大大提高了程序的運(yùn)行速度。片內(nèi)64 bit的EMIF(External Memory Interface)接口可以與SDRAM、Flash等存儲器進(jìn)行無縫連接,極大地方便了大量數(shù)據(jù)的搬移。此外,DM642還擁有3個專用的視頻端口(VP0~VP2),用于接收、處理視頻和音頻數(shù)據(jù),系統(tǒng)功能擴(kuò)展十分方便。此外,DM642自帶的EMAC口以及從EMTF口擴(kuò)展出來的ATA口,還為處理完成后產(chǎn)生的海量數(shù)據(jù)提供了存儲通道[5]。DM642需要外加SDRAM(4 M64 bit),用于存放程序和緩存數(shù)字視頻,以及FLASH(4 M8 bit),用于存放固化程序,以便進(jìn)行ROM引導(dǎo)。
(3)FPGA負(fù)責(zé)實(shí)現(xiàn)系統(tǒng)的邏輯、輸出控制以及內(nèi)部緩存的時序控制。為實(shí)現(xiàn)圖像的實(shí)時采集和處理,需要視頻采集和圖像處理并行工作。采集到的圖像數(shù)據(jù)送到DSP前的緩存接口設(shè)計是關(guān)鍵,設(shè)計的優(yōu)劣直接影響到系統(tǒng)的反應(yīng)速度。要提高數(shù)據(jù)緩存讀取速度,可利用FPGA內(nèi)部資源構(gòu)建高速雙口RAM作為內(nèi)部緩存,使數(shù)據(jù)幀處理交替進(jìn)行,從而實(shí)現(xiàn)數(shù)據(jù)采集與處理同時進(jìn)行,其內(nèi)部結(jié)構(gòu)如圖2的虛線框內(nèi)所示。采集到的數(shù)字視頻信號先經(jīng)過濾波處理,之后送入邏輯單元A,A負(fù)責(zé)產(chǎn)生時鐘及數(shù)據(jù)邏輯控制。輸入的視頻數(shù)據(jù)信號在A的控制下,進(jìn)入到緩沖器寄存器B和C,在控制單元D的控制下,送到雙口RAM。為了實(shí)現(xiàn)實(shí)時圖像采集和處理,使得FPGA對圖像數(shù)據(jù)的緩沖和DSP對圖像數(shù)據(jù)的讀取同步進(jìn)行,將RAM分成相等的2塊,即RAM1和RAM2。在系統(tǒng)工作的過程中,一塊用于緩沖圖像數(shù)據(jù),F(xiàn)PGA分類緩沖后的圖像信號寫入該存儲區(qū);另一塊則由DSP用于對圖像數(shù)據(jù)的讀取,DSP可以直接對這個存儲區(qū)的數(shù)據(jù)進(jìn)行運(yùn)算。該緩存結(jié)構(gòu)的另一特點(diǎn)是FPGA和DSP對雙口RAM的尋址是來回切換的。因?yàn)镈SP讀取RAM的速度大于FPGA寫RAM的速度,所以切換信號僅由FPGA發(fā)出。當(dāng)FPGA分類緩沖數(shù)據(jù)寫滿RAM1時,F(xiàn)PGA向DSP發(fā)出一個中斷信號,此時DSP讀取RAM1中的數(shù)據(jù),同時FPGA的緩沖數(shù)據(jù)寫入RAM2。當(dāng)RAM2中數(shù)據(jù)寫滿時,F(xiàn)PGA再向DSP發(fā)出中斷信號,DSP讀取RAM2中的數(shù)據(jù),同時FPGA的緩沖數(shù)據(jù)RAM1。如此交替實(shí)現(xiàn)圖像數(shù)據(jù)讀寫同時進(jìn)行,從而提高了數(shù)據(jù)處理的速度。
FPGA的選擇較為關(guān)鍵,內(nèi)部RAM的資源決定系統(tǒng)的反應(yīng)速度。在原有一代系統(tǒng)中選用的FPGA資源較少,不足以存儲一幀圖像,因此數(shù)據(jù)的讀寫只能分塊進(jìn)行,需要控制邏輯較為復(fù)雜,同時也降低了整個系統(tǒng)的速度。對于一幀720×576的圖像,共有414 720像素,每個像素8 bit,即共有414 KB的數(shù)據(jù)。因此可選用Altera公司的CycloneIII系列產(chǎn)品EP3C120。Cyclone III系列的FPGA采用65 nm技術(shù),具有低功耗、低成本和高性能特點(diǎn), EP3C120內(nèi)部擁有120K個邏輯單元(LE),4 Mbit嵌入式存儲器,288個嵌入式18×18乘法器,可以滿足一幀圖像的存儲,在處理數(shù)據(jù)時可按照奇偶幀分別進(jìn)行讀寫。
2.2 系統(tǒng)工作過程
系統(tǒng)上電或復(fù)位后,首先完成FPGA芯片的配置、對TVP5150進(jìn)行的初始化以及DSP啟動引導(dǎo)及其外圍芯片的初始化工作,之后便開始進(jìn)行圖像采集。利用FPGA模擬I2C口對系統(tǒng)中的其他芯片進(jìn)行控制,從攝像頭采集到的摸擬視頻信號經(jīng)過視頻解碼器轉(zhuǎn)換為數(shù)字視頻信號,經(jīng)預(yù)處理后送入DM642的視頻通道(VP端口)。在檢測到有人進(jìn)入監(jiān)視區(qū)域時,啟動錄像功能,DM642將接收到的數(shù)字視頻信號和數(shù)字音頻信號用MPEG4標(biāo)準(zhǔn)編碼壓縮,并通過以太網(wǎng)傳送到監(jiān)控中心。同時捕捉人臉圖像并進(jìn)行身份識別,如有異常則啟動報警程序。
3 系統(tǒng)軟件組成
對于本系統(tǒng)來說,系統(tǒng)軟件主要包括3部分:運(yùn)動目標(biāo)檢測、人臉的檢測定位、人臉匹配。其中人臉的檢測定位尤為關(guān)鍵,是正確識別的前提。因?yàn)閳D像的拍攝受到各種因素的干擾,如亮度、人物移動速度、表情、著裝等,這些因素如果在檢測時不能得到有效處理,勢必會影響后期的匹配,造成識別率下降。因此,如何將人臉從背景中檢測出來,并進(jìn)行適當(dāng)?shù)奶幚怼⒎指?,是關(guān)系到識別成敗的關(guān)鍵環(huán)節(jié),需要著重進(jìn)行處理。
3.1 運(yùn)動目標(biāo)檢測
對于運(yùn)動目標(biāo)的檢測,常用的方法有背景差值法、圖像差分法、光流分割法和模式匹配法。由于光流分割和模式匹配等方法數(shù)據(jù)計算量較大,無法滿足實(shí)時檢測的要求。背景差值法計算簡單、速度快且檢測準(zhǔn)確,但需要在背景靜止時檢測有效,對于背景變化的場合不適合。對于背景變化的場合,可以采用圖像差分法,即通過檢測圖像序列相鄰兩幀對應(yīng)像素點(diǎn)之間灰度值的變化確定移動的物體。設(shè)圖像定義f(x,y,i),其中(x,y)為圖像的位置坐標(biāo),i、j為圖像幀數(shù),T為設(shè)定的閾值,則幀f(x,y,i)與幀f(x,y,j)之間的變化可用如下的二值差分圖像表示:
式中取值為1和0的像素分別對應(yīng)于前景(運(yùn)動目標(biāo)區(qū)域)和背景(非運(yùn)動區(qū)域)。
對于緩慢移動的物體,圖像差分的變化量很小,有可能會被濾波器濾掉,解決方法是通過累積差分法ADP[2](Accumulative Difference Picture)。該法不僅可以用于可靠檢測緩慢移動的物體,還可用于估計物體移動速度的大小和方向以及物體尺度的大小。獲得累積差分圖像的過程如下:將圖像序列的每一幀圖像與參考圖像進(jìn)行比較,當(dāng)差值大于某一閾值時就在累積差分圖像中加1,這樣,在第i幀圖像上的累積差分圖像ADP(x,y,i)為:
通過判斷灰度值的變化,即可判斷出移動物體及其方向。
針對本系統(tǒng),可以先利用背景差值法確定是否有移動目標(biāo)進(jìn)入監(jiān)視區(qū)。如有則啟動錄像功能,結(jié)合圖像差分法,經(jīng)過一系列檢測檢出運(yùn)動目標(biāo),并啟動跟蹤程序。具體程序如圖3所示。
3.2 人臉的檢測定位
在檢測出運(yùn)動的目標(biāo)之后,要判斷目標(biāo)為人體還是其他動物,這可以通過目標(biāo)的尺寸及目標(biāo)的空間特征(如寬高比等)來區(qū)分。在確定為人體目標(biāo)之后,就要確定出人臉的區(qū)域。確定人臉區(qū)域的方法有多種,本系統(tǒng)采集的是彩色圖像,可以根據(jù)膚色進(jìn)行判別。利用膚色提取色彩信息的方法已被廣泛應(yīng)用在計算機(jī)視覺研究領(lǐng)域中。膚色是人臉的重要信息,不依賴于面部的細(xì)節(jié)特征,對于旋轉(zhuǎn)、表情等變化情況都能適用,具有相對的穩(wěn)定性并且和大多數(shù)背景物體的顏色相區(qū)別。與其他人臉檢測方法相比,膚色的判斷在速度上具有明顯優(yōu)勢。因此,將其作為人臉檢測的其他方法的預(yù)處理,可以在很大程度上減小人臉檢測的搜索范圍,降低誤報率,進(jìn)而大大提高人臉檢測算法的整體性能。
人臉檢測過程如下:對于彩色圖像首先進(jìn)行膚色檢測;在檢測出膚色區(qū)域后,需要進(jìn)行區(qū)域分隔及形態(tài)學(xué)運(yùn)算,通過形態(tài)學(xué)處理可以過濾由于噪音或者其他原因引起的一些較小的不可能為人臉的類膚色區(qū)域,減少候選區(qū)域和提高檢測速度,降低誤判的可能性;之后根據(jù)它們在色度上的相似性和空間上的相關(guān)性分割出可能的人臉區(qū)域,同時利用區(qū)域的幾何特征及灰度特征驗(yàn)證是否為人臉,以排除其他色彩類似膚色的物體。
用膚色來檢測人臉,要先確定膚色模型?;镜哪w色模型有3種:RGB模型、HIS模型和YCbCr模型。這里選用YCbCr模型,原因是圖形采集輸出的格式為YUV,而YUV格式和YCbCr格式在數(shù)學(xué)上具有一致性,同時對于后期的數(shù)據(jù)進(jìn)行MPEG壓縮也很方便。人臉檢測的程序流程如圖4所示。具體過程分析如下:
(1)膚色判斷
可采用Anil K.Jain的Cb、Cr橢圓聚類方法[7]進(jìn)行膚色分割,得到膚色區(qū)域在CbCr空間中近似于橢圓,可用如下公式表示:
若該值小于1,則表示落在橢圓內(nèi),是膚色,否則不為膚色。對確定的膚色區(qū)域進(jìn)行平滑、連通、合并處理,構(gòu)成一個候選區(qū)域,待進(jìn)一步分析以判斷是否為人臉區(qū)域。
(2)區(qū)域分割與處理
在確定膚色區(qū)域之后,需要根據(jù)它們在色度上的相似性和空間上的相關(guān)性分割出可能的人臉區(qū)域,再利用區(qū)域的幾何特征或灰度特征進(jìn)行是否是人臉的驗(yàn)證,以排除其他色彩類似膚色的物體。本文采用Sobel算子[-1,-2,-1;0,0,0;1,2,1]來完成邊緣的檢測。經(jīng)過一系列處理分割出膚色區(qū)域,并進(jìn)行形態(tài)學(xué)開、閉運(yùn)算,以消除噪聲或空洞對特征分析的影響。
(3)特征分析
人臉候選區(qū)域分割完畢后,需對每一個區(qū)域進(jìn)行分析,以判斷該區(qū)域是否是人臉。為了提高檢測速度,可以忽略人臉的面部特征,而主要檢查人臉候選區(qū)域的形狀、結(jié)構(gòu)、比例及灰度分布等。若符合人臉的這些特點(diǎn),則認(rèn)為該區(qū)域代表一個人臉。根據(jù)人臉的幾何規(guī)則及顏色聚類的特點(diǎn),如果一個區(qū)域滿足2個條件:(a)高度/寬度比例范圍介于1.2與2.0之間;(b)該區(qū)域內(nèi)的像素平均灰度值與距該區(qū)域上部達(dá)10像素以上的區(qū)域的平均灰度值之差介于0.2~0.6之間。符合這兩個條件,則可認(rèn)為該區(qū)域代表人臉。
(4)人臉區(qū)域驗(yàn)證
對于初步檢測的人臉區(qū)域,還需要進(jìn)行驗(yàn)證才能確定是否為真正的人臉。對于人臉的驗(yàn)證,一般有3種方法:(1)基于先驗(yàn)知識的方法;(2)基于局部特征的方法;(3)基于模板的人臉檢測方法。基于先驗(yàn)知識的方法識別率不高,如果圖像背景中存在類人臉區(qū)域,則必然會導(dǎo)致誤檢測。基于模板的方法數(shù)據(jù)量運(yùn)算大,不能滿足實(shí)時性要求。本系統(tǒng)采用的是基于局部特征的方法。
在人臉的特征中,最明顯的特征就是眼睛,因此可把人眼作為驗(yàn)證的主要依據(jù),同時配合嘴唇或鼻子進(jìn)行驗(yàn)證。首先要找到眼睛的位置,在灰度圖像下,眼睛的特征最為明顯,通過設(shè)定適當(dāng)?shù)拈撝岛苋菀状_定出人眼的可能區(qū)域。通過計算這兩個區(qū)域的中心距離D,在該距離中心點(diǎn)的位置下方找到嘴部位置,長度為L。當(dāng)D/L滿足:1<D/L<2時,可判斷為人臉。人臉的檢測過程如圖5所示。
3.3 人臉識別
人臉的識別算法有多種,不同的算法各有優(yōu)缺點(diǎn)。本文主要借鑒彈性圖匹配技術(shù)來完成人臉的識別。彈性圖匹配是一種基于幾何特征和對灰度分布信息進(jìn)行小波紋理分析相結(jié)合的識別算法。由于該算法較好地利用了人臉的結(jié)構(gòu)和灰度分布信息,而且還具有自動精確定位面部特征點(diǎn)的功能,因而具有良好的識別效果。在FERET測試中,該技術(shù)的若干指標(biāo)名列前茅。其缺點(diǎn)是運(yùn)算量大,實(shí)現(xiàn)稍復(fù)雜。通過對該算法進(jìn)行改進(jìn),配合一定的代碼優(yōu)化措施,可以滿足實(shí)時檢測要求。
在人臉識別時,首先要進(jìn)行人臉特征提取。主要采用恰當(dāng)?shù)男〔ǚ纸?,得到高頻分量和低頻分量,其中的高頻分量主要表示人臉的細(xì)節(jié),低頻分量表示人臉的基本特征,對人臉的表情反應(yīng)比較遲鈍,只提取低頻分量,這樣可以提高準(zhǔn)確率和運(yùn)算速度。對提取的人臉特征,利用支持向量機(jī)(SVM)分類器識別人臉,和系統(tǒng)自建的人臉庫進(jìn)行匹配,以確定是否為非法入侵者,是否啟動報警系統(tǒng)和通知小區(qū)監(jiān)控中心。算法流程如圖6所示。
本文設(shè)計的人臉檢測系統(tǒng),利用運(yùn)動目標(biāo)檢測方法,大大緩解了硬盤數(shù)據(jù)存儲的壓力,同時提高了系統(tǒng)的智能化程度。利用膚色判斷與特征分析來確定人臉,可以提高系統(tǒng)的檢測速度。針對膚色判斷受光照影響很大的問題,本系統(tǒng)在原有系統(tǒng)的基礎(chǔ)上增加了補(bǔ)光措施光,減少了光照的影響,提高了檢出的準(zhǔn)確率。通過攝像頭輸入720×576的彩色圖片,檢出的人臉在擁有300人的自建人臉庫中識別,平均用時0.9 s,識別率達(dá)93%以上,可以滿足安防監(jiān)控的要求,具有較高的實(shí)用價值。