李遙 丁藝濤 潘登 郁金明 郭丙君
【摘 要】本文以機器視覺為基礎,設計了一種能夠識別對ATM機非法安裝、惡意搬動、損壞ATM機行為,并及時報警的系統(tǒng),給出了ATM風險報警系統(tǒng)設計、ATM電子振動傳感器的設計和基于OPENMV的人臉識別系統(tǒng),并簡要介紹銀行ATM機風險報警系統(tǒng)的組成與實現(xiàn),實驗驗證了設計的系統(tǒng)的有效性。
【關鍵詞】機器視覺;ATM風險報警;電子振動傳感器;OPENMV;人臉識別
中圖分類號: F832.2文獻標識碼: A 文章編號: 2095-2457(2019)19-0053-003
DOI:10.19694/j.cnki.issn2095-2457.2019.19.024
0 前言
監(jiān)控錄像中的人臉圖像對于調查異常行為、犯罪嫌疑人的身份有著非常重要的作用。但由于缺乏對自助銀行、ATM機監(jiān)控環(huán)境、攝像頭架設的相關規(guī)范,現(xiàn)有視頻監(jiān)控系統(tǒng)中采集到人臉圖像往往分辨率低、姿態(tài)差。如不加以規(guī)范,很難滿足事后調查需要。為此本文以機器視覺為基礎,設計了一種能夠識別對ATM機非法安裝、惡意搬動、損壞ATM機行為,并及時報警的系統(tǒng)。
1 ATM風險報警系統(tǒng)設計
圖1給出了ATM風險系統(tǒng)設計方案,利用ATM機配備兩個OPENMV攝像頭C1及C2,C1進行人臉識別,C2攝像機進行ATM面板行為識別;另外設計一個電子振動傳感器,來捕獲ATM機異常振動。
對于硬件傳感器的設計,我們選用STM32+MPU6050的模式,利用STM32+電子慣性測量單元采集的三軸姿態(tài)加速度表征振動,相比傳統(tǒng)機械結構,極大豐富了輸入數(shù)據(jù)的信息量,具備更高精度和更強的穩(wěn)定性。采用基于STM32的OPENMV來進行人臉識別,相比傳統(tǒng)的模式識別方法,極大降低誤報率,并且能夠智能分辨例如鏡頭遮擋等不同的入侵手段。
以STM32為主控芯片,運用串口USART分別與OPENMV C1及C2進行數(shù)據(jù)交互。當OPENMV檢測到嫌疑人或鏡頭遮擋等非法行為時,通過串口USART上報給STM32做出相應的報警措施;當MPU6050檢測到ATM受到敲擊等破壞行為時,STM32通過串口USART通知OPENMV進行現(xiàn)場畫面的拍攝。
2 電子振動傳感器的設計
MPU6050為一種整合性6軸運動處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時間軸之差的問題,減少了大量的封裝空間。當連接到三軸磁強計時,MPU-6050提供完整的9軸運動融合輸出到其主I2C或SPI端口。MPU-60X0對陀螺儀和加速度計分別用了三個16位的ADC,將其測量的模擬量轉化為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運動,傳感器的測量范圍都是用戶可控的,陀螺儀可測范圍為±250,±500,±1000,±2000°/秒(dps),加速度計可測范圍為±2,±4,±8,±16g。
MPU6050所測得的加速度值不僅可以用來檢測ATM機的振動情況,通過上位機軟件,我們還可以通過PC機對ATM機的振動情況進行實時的監(jiān)控。MPU6050價格低,廣泛應用于生活生產(chǎn)的各種智能產(chǎn)品中,如在四旋翼飛行器、自平衡小車等產(chǎn)品中應用非常成熟,有大量的實例可以參考。因此,將它應用于ATM機振動測試中,具有成本低、研發(fā)速度快、性能穩(wěn)定等優(yōu)勢[1]。
2.1 MPU6050的濾波
在本項目中,我們直接讀取MPU6050三軸加速度的測量值來表征ATM的運動情況。但由于MPU6050的靜態(tài)噪聲較大,實際測得的加速度往往包含了由MPU6050自身產(chǎn)生的大量噪聲,因此必須對原始加速度值進行濾波處理,才可以得到較為準確穩(wěn)定的加速度數(shù)據(jù)。MPU6050的三軸加速度計具有長期可靠,短期噪聲大的特點,所以我們對加速度計采用低通濾波。
MPU6050本身雖然就內(nèi)置了低通濾波器(LPF),但是濾波效果并不盡如人意,所以我們在此基礎上又加了一階低通濾波,這樣硬件初步濾波后,然后再軟件濾波一次,能夠較好的還原真實的加速度數(shù)據(jù)。
2.2 對異常振動的報警
我們用MPU6050加速度計的測量值來表征ATM機的振動情況,當ATM機受到嫌疑人的敲擊等破壞行為時,可以直接從加速度的波形上直觀反映出來。若ATM機工作在正常狀態(tài)下時,由于ATM機正常工作所產(chǎn)生的機器振動等因素,三軸的加速度值應均穩(wěn)定在某一數(shù)值范圍內(nèi)小幅振蕩。若ATM機受到外力敲打,三軸加速度值應有一個較大的跳變后穩(wěn)定到原來的范圍。所以我們可以根據(jù)這一特性設置一個加速度值得變動閾值,當加速度值超過此閾值時,我們認為ATM機受到敲擊等破壞行為,發(fā)出報警信號,并通過USART通知OPENMV進行現(xiàn)場畫面的拍攝。當加速度在此閾值范圍內(nèi)變化時,我們則認為這是ATM機正常工作所產(chǎn)生的振動。對于閾值的設置應根據(jù)設備大小材料的不同、MPU6050的安裝位置、報警靈敏度的要求等因素,通過實驗的方法來確定。
3 基于OPENMV的人臉識別系統(tǒng)
OPENMV是一款可擴展的機器視覺模塊,一款由軟件程序驅動的硬件設備,可支持人臉識別、物體識別、UART傳輸、SPI總線、I2C總線等多種功能。在本項目中主要用到其人臉識別和UART傳輸功能。
可以進行人臉檢測與識別的設備不少,但最后我們選擇了OPENMV,原因在于:
①該設備較為小巧,適合安裝在ATM機上。
②并且上電后可獨立運行,無需與PC端相連。
③設備成本相對而言不高,易于普及。
首先下載OPENMV IDE軟件,該軟件基于MicroPython語言,將OPENMV的鏡頭焦距校正后使用通用串行總線將其與PC端相連即可使用。在PC端完成對程序的開發(fā)與校驗。OPENMV設備在使用時可不與PC端相連,在該情況下上電后執(zhí)行的程序為事先存放在其自帶的小型內(nèi)部文件系統(tǒng)中的程序;若在OPENMV中接入了SD卡,則執(zhí)行的程序為SD卡中的程序。當需要使用SD卡時應先在OPENMV中接入SD卡,再對OPENMV進行上電操作。若先上電再接入SD卡,則OPENMV仍應用其自帶的小型內(nèi)部文件系統(tǒng)。
4 人臉識別程序
將檢測到的人臉與人臉庫中的人臉進行對照、識別,以達到對犯罪分子進行識別并發(fā)出警報的目的。
人臉庫僅包含犯罪分子的人臉,這將大大減小人臉庫的規(guī)模,加快識別速率,但這同樣帶來了一個問題:識別出的人臉與檢測到的人臉并不一致。該問題的產(chǎn)生主要是因為人臉識別必然會從人臉庫中給出一張最接近于被測人臉的圖片,當被測人臉實際上并不在人臉庫中,即被測人并非犯罪分子時,人臉識別系統(tǒng)往往無法進行有效的分析和判斷。但這一問題可以通過制定一個標準,即設定一個閾值得以緩解。
4.1 人臉識別算法
使用Haar特征分類器檢測人臉,通過LBP算法進行識別。
(1)Haar特征分類器檢測人臉
Haar特征分為三類:邊緣特征、線性特征以及中心和對角線特征,這些組合形成特征模塊。特征模塊的特征值為模塊內(nèi)白色矩形的像素之和減去黑色舉行的像素之和,反映的圖像的灰度變化情況。通過Adaboost算法的應用可以判斷使用何種特征模塊能更好地實現(xiàn)對人臉和非人臉的區(qū)分。Adaboost算法是通過無數(shù)次循環(huán)迭代來尋求最優(yōu)分類器的過程[2],通過積分式(1)可快速得到Haar特征值:
ii(x,y)為經(jīng)過計算后積分圖上的各個像素點的像素值。一個完整的圖像包括每個像素的左方及上方的區(qū)域總和[3]。
之后要做的是訓練分類器,大致步驟是計算所有訓練樣本的每一個特征的特征值并排序,再通過正負例的權重和確定閾值。這樣做的原因是絕大多數(shù)的特征對識別人臉與非人臉所起到的作用是微乎其微的,僅有一些特定的特征和相應閾值起到作用。在本項目使用OPENMV自帶的分類器,無需自建分類器。
(2)LBP算法
局部二值模式(Local Binary Pattern,LBP)是一種有效的紋理描述算子,它具有旋轉不變性和灰度不變性等顯著的優(yōu)點[3]。最初的LBP算子是1個3×3的窗口,以中心像素點的像素值為閾值,將其余8個像素點的像素值分別與之比較,若像素值大于中心像素值則置“1”,反之則置“0”,依照順序可寫出1個8位的二進制數(shù)值,該二進制數(shù)轉換成的十進制數(shù)即為LBP值。通常還需要求得LBP算法的對比度LBP/C,其中對比度分量C 是鄰域中所有大于和等于中心點的像素的均值與所有小于中心點像素的均值之差。[4]為增加精確性、達到旋轉不變性的要求,之后又出現(xiàn)了LBP等價模式和旋轉不變的LBP算子,使得LBP算法越發(fā)實用。基于LBP的人臉識別方法一般是將圖像劃為幾個互不重疊的區(qū)域,分別進行LBP算法處理,通過各區(qū)域的統(tǒng)計直方圖完成識別。
4.2 自建人臉庫
在本項目中需要自建一個人臉庫用以檢測OPENMV人臉識別的準確度。曾經(jīng)有考慮過使用隨意一張人的照片作為人臉庫中照片,這樣對人臉庫圖片的要求將大大降低。但為保證識別的可靠性,在進行人臉檢測與識別時不僅要對OPENMV拍攝的圖像進行人臉檢測,而且對人臉庫的圖片也進行人臉檢測,再對檢測到的人臉進行識別,以確保整個識別過程是拍攝到的人臉是在與人臉庫中的人臉進行識別.這在OPENMV中難以實現(xiàn),一方面,對人臉庫的圖片進行人臉檢測所需代價過大,嚴重影響了識別的效率,過大的運算量也經(jīng)常導致系統(tǒng)崩潰。另一方面,對人臉庫圖片進行檢測時未必能檢測到人臉,原因可能在于圖像的壓縮使得區(qū)分人臉與非人臉的某些特征丟失,影響了人臉的檢測。因此對于人臉庫的人臉圖片,需要滿足要求:圖片僅包括完整人臉,背景統(tǒng)一為白色或黑色。對圖片需要進行的操作有:人臉居中—裁剪圖片—直方圖均衡。
(1)人臉與鏡頭距離遠近造成的影響
人臉與鏡頭距離的遠近會對人臉識別的準確性產(chǎn)生影響,主要體現(xiàn)在LBP值的差異上。當人臉與鏡頭距離不合適時,有出現(xiàn)過對10個樣本人臉進行識別時出錯。推薦人臉與鏡頭的距離為40厘米并正對鏡頭,可適當進行調整。在鏡頭固定的情況下,可通過劃線提示人臉與鏡頭的恰當距離。
(2)光線造成的影響
光線造成的影響主要體現(xiàn)在人臉檢測環(huán)節(jié),光線光亮或過暗都會導致人臉檢測的不準確,即框出的人臉僅為實際人臉的一部分或根本框不出人臉。在該情況下人臉識別的準確率大大降低,事實上用錯誤檢測出的人臉來比照人臉庫進行識別根本毫無意義。因此光線是非常重要的一環(huán)。在進行人臉檢測和識別時,應盡量保持自然光,必須確保沒有反光現(xiàn)象,同時也要保證光線不能過暗。
5 鏡頭遮擋報警
仍然使用OPENMV設備,預期效果為當鏡頭遭遇遮擋時(全遮擋或半遮擋)報警。
6 結論
基于機器視覺的銀行ATM機風險報警系統(tǒng)以STM32為主控芯片,運用串口USART分別與OPENMV C1及C2數(shù)據(jù)交互,不僅能在識別到嫌疑人或鏡頭遮擋等非法行為時進行報警,當MPU6050檢測到ATM受到敲擊等破壞行為時,STM32還能通過串口USART通知OPENMV進行現(xiàn)場畫面的拍攝。使得該系統(tǒng)在原有的ATM安全措施上更加高效地完成系統(tǒng)實時監(jiān)控和防范的功能,實驗驗證了設計的系統(tǒng)的有效性,對于相關的報警系統(tǒng)的開發(fā)具有參考價值。
【參考文獻】
[1]賴義漢,王凱.基于MPU6050的雙輪平衡車控制系統(tǒng)設計[J].河南工程學院學報(自然科學版),2014,26(03):53-57.
[2]王琳.人臉檢測關鍵技術的研究[D].北京:北京郵電大學,2013.