文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.015
中文引用格式: 孫琪皓,詹杰,張浩. 基于圖像識別的無鍵盤電子鎖設(shè)計[J].電子技術(shù)應(yīng)用,2016,42(9):58-61.
英文引用格式: Sun Qihao,Zhan Jie,Zhang Hao. No keyboard electronic lock design based on image recognition[J].Application of Electronic Technique,2016,42(9):58-61.
0 引言
隨著生活水平的提高,人們對鎖的要求也不斷增加,既要安全可靠,又要使用方便,電子鎖[1]的出現(xiàn)滿足了人們的需求。電子鎖是一種以電子方式來識別、處理信息、控制執(zhí)行機構(gòu)來關(guān)閉和開啟鎖的一種新型鎖具,已經(jīng)在住宅、酒店、賓館、寫字樓中得到了廣泛應(yīng)用。電子鎖的類型多種多樣,早期有應(yīng)用TM卡[2]、CM卡的密碼鎖,還有應(yīng)用人體生物特征的人臉、虹膜、指紋等的新一代電子鎖。采用電子卡片形式密碼鎖和機械鎖的區(qū)別不大,采用人體生理特征的安全性好,但成本較高。隨著科技的發(fā)展,該生物識別技術(shù)的安全性也遇到了挑戰(zhàn)。針對市場的需求,設(shè)計了一種基于圖像識別的解鎖系統(tǒng)[3-4],由射頻觸發(fā)圖像識別,省去常規(guī)的密碼鍵盤。該鎖具具有安裝方便、易于移植、被破解率低的特點。
1 系統(tǒng)方案
如圖1所示,該系統(tǒng)由鎖具和無線鑰匙兩部分組成。無線鑰匙發(fā)射出的激光點稱為游標,能發(fā)出射頻信號,帶有激光光源。鎖具由處理器、激光發(fā)射器、攝像頭、LCD顯示屏、無線通信模塊及掉電存儲設(shè)備組成。激光發(fā)射器可發(fā)射出3束激光,組成一個直角坐標系輔助系統(tǒng)對游標進行定位。無線鑰匙由一個微控制器、按鍵和激光發(fā)射器組成,由用戶控制,在系統(tǒng)中輸入密碼。無線通信模塊負責(zé)無線鑰匙與鎖具之間的通信。攝像頭采集激光定位坐標系和激光游標的圖像[5-6],發(fā)送給處理器進行分析。LCD顯示屏[7]輔助顯示攝像頭采集到的圖像,并顯示處理器解析圖像后獲得的密碼值。系統(tǒng)還具有防掉電功能,防止在系統(tǒng)斷電情況下丟失用戶自定義的密碼。
圖1 系統(tǒng)框架圖
工作過程如下:當用戶使用無線鑰匙時,觸發(fā)系統(tǒng)進入開鎖流程,生成定位激光坐標系,用戶移動游標(無線鑰匙發(fā)射出的激光點)到特定位置后,無線鑰匙發(fā)送采集信號給處理器,處理器隨后控制攝像頭采集一幅圖像,并對圖像進行解析,得到一位密碼值。重復(fù)此過程可完成多位密碼值輸入。
為了防止無線鑰匙被復(fù)制,導(dǎo)致系統(tǒng)被侵入的情況發(fā)生,系統(tǒng)使用輪詢密碼配對設(shè)置,以保持無線配對信號安全。為了防止系統(tǒng)故障問題,留下一個串行接口用于緊急處理,防止鑰匙丟失或忘記密碼。
2 系統(tǒng)軟件設(shè)計
2.1 圖像識別處理
鎖具應(yīng)用環(huán)境千差萬別,環(huán)境光強大小不一,而且攝像頭采集的圖像是彩色圖像。彩色圖像包含的信息十分龐大,不利于單片機進行處理和分析,因此需要對采集到的圖像進行一系列處理。下面介紹主要處理過程:
(1)圖像二值化
將彩色圖像轉(zhuǎn)換為具有色彩深度的黑白圖像,轉(zhuǎn)換公式為:
灰度值轉(zhuǎn)換為二值化圖像時還需要進行閾值切割,將灰度值小于閾值的像素點設(shè)為0,否則設(shè)為255。因此選取合適的閾值對于圖像二值化十分重要,采用Otsu最大類間法進行最佳閾值的選取。Otsu算法按照灰度值的特性將圖像分為兩部分,當這兩部分之間的類間方差最大時,說明構(gòu)成圖像的兩部分之間差別也最大,此時將圖像分為兩部分的值為最佳閾值。
每一個灰度值i出現(xiàn)的概率為:
G0和G1類出現(xiàn)的概率為:
G0和G1類出現(xiàn)的均值為:
類間方差為:
此時最佳閾值的取值即為使得類間方差最大的t值。
(2)圖像濾波處理
圖像識別需對圖像進行預(yù)處理,即濾除圖像中的雜波干擾,突出前景像素。
圖像腐蝕算法[8-9]處理過的圖像對比如圖2所示。
圖2 圖像應(yīng)用腐蝕算法對比
(3)區(qū)域連通算法
激光點和游標點在二值化圖像上表現(xiàn)為聚合在一起的前景像素,稱作連通域區(qū)域。經(jīng)過濾波處理后的二值化圖像只有前景像素和背景像素兩種值,當圖像中有多個連通區(qū)域時處理器并不能區(qū)分各連通區(qū)域。連通區(qū)域算法[10]能為各連通區(qū)域分配一個唯一標號,這樣就可統(tǒng)計連通區(qū)域的數(shù)目,還能通過算法分析連通區(qū)域特征。圖像通過連通區(qū)域算法處理前后對比如圖3所示。
圖3 區(qū)域連通算法
(4)連通域定位
經(jīng)過連通區(qū)域算法處理后,每一個連通域有一個獨立的標號,找出各標號x軸、y軸最大和最小坐標,取平均值后可代替該連通區(qū)域位置。采集的圖像由于攝像頭拍攝角度,定位點坐標系偏移等問題而發(fā)生變化,如圖4所示,當采集圖像發(fā)生偏移時游標cur相對于激光定位坐標系原點b的坐標為(3,3)。若采集圖像內(nèi)激光定位坐標系發(fā)生了偏移,如圖4(b)所示,cur相對于原點O坐標未變情況下,cur相對于激光定位坐標系原點b位置已發(fā)生改變,需要對此進行修正。
圖4 圖像偏移定位示意圖
2.2 系統(tǒng)流程
系統(tǒng)上電后,首先對系統(tǒng)各外設(shè)進行初始化,隨后系統(tǒng)檢測游標按鍵是否按下,若鍵按下則開始密碼輸入過程。處理過程如下:首先打開激光發(fā)射器于平面生成定位坐標系,攝像頭采集一幅圖像發(fā)送給控制器,控制器對圖像進行二值化、腐蝕算法濾除雜波后得到較為明確的坐標系圖像,通過Two-Pass連通區(qū)域算法將圖像中相鄰的像素賦予相同標號,計算出該標號區(qū)域的中心位置。重復(fù)以上過程即可獲得設(shè)定的密碼輸入值。系統(tǒng)流程圖如圖5所示。
圖5 系統(tǒng)流程圖
3 系統(tǒng)測試
3.1 算法仿真
模擬算法采用Python語言編寫,使用Pyserial庫采集從單片機發(fā)送來的圖片數(shù)據(jù),并保存為.txt文件,.txt文件經(jīng)處理后使用Pillow庫在電腦端將圖片顯示出來。
算法仿真時,硬件設(shè)備將采集到的彩色圖像通過灰度值算法轉(zhuǎn)換為灰度值圖像,并將其發(fā)送至電腦PC端,此時系統(tǒng)采樣到的原圖如圖6所示。
圖6 仿真灰度值原圖
選取不同閾值時所得到的二值化圖像如圖7所示。圖7(a)中當閾值選擇太小時圖像中出現(xiàn)大量雜波,對目標面有較大干擾。圖7(b)為閾值選擇過大時圖像,此時圖像上方連通區(qū)域僅剩幾個像素點,若選取閾值更大時則該連通區(qū)域被判定為背景,從而丟失定位坐標系。圖7(c)為使用Otsu最大類差間法獲取閾值得到的二值化圖像,圖像中目標清晰,雜波少。
(a)閾值過小 (b)閾值過大 (c)最佳閾值
圖7 二值化閾值選擇對比
對二值化圖像進行腐蝕濾波,連通區(qū)域標記后圖像對比如圖8所示。圖8(b)為腐蝕算法處理后圖像,比圖8(a)中各連通區(qū)域少了一層像素點。在顯示程序?qū)D像數(shù)據(jù)中不同標號的像素點賦予不同顏色,效果如圖8(c)所示。
(a)二值化圖像 (b)腐蝕處理 (c)two-pass算法標記
圖8 腐蝕算法和連通區(qū)域算法效果驗證
3.2 調(diào)試實驗
軟件算法仿真成功后,下載程序進行硬件調(diào)試并搭建平臺。
通過調(diào)試平臺采集到一個密碼輸入圖像如圖9所示。圖中兩幅圖為單個密碼值輸入過程中使用不同方式拍攝的對比圖。圖9(a)為使用手機拍攝到的圖像,為了直觀顯示按鍵值對比,圖中對激光坐標系內(nèi)各位置添加輔助線進行了劃分。圖9(b)為無線鍵盤電子鎖系統(tǒng)攝像頭采集的圖像,LCD顯示屏中圖像為通過算法處理后的圖像。由于手機拍攝角度與電子鎖攝像頭處在對立角度,所以兩圖中最亮的區(qū)域不同。圖9(b)中a、b、c分別為激光定位坐標系定位點,b點為原點,a點為y軸方向,c點為x軸方向,cur為游標,各點的坐標值已給出,此時通過系統(tǒng)圖像識別算法處理解譯后所得值為1。
圖9(a)中游標激光點偏離按鍵1中心點,距邊界不遠處,此時系統(tǒng)依舊能識別出正確的按鍵值,表明當前系統(tǒng)所需功能已基本完成,使用時將游標定位在各按鍵中心點附近可以保證系統(tǒng)識別的正確率。
(a)采集時圖像 (b)識別后圖像
圖9 單次密碼輸入
系統(tǒng)預(yù)設(shè)密碼值為“123456”,用戶可自行更改,圖10(a)為輸入5位密碼值時圖像。當密碼輸入正確時,圖像如圖10(b)所示,顯示“Key Correct”;否則顯示密碼錯誤,需重新輸入密碼。
(a)輸入密碼過程 (b)輸入密碼正確
圖10 密碼輸入過程
4 分析與總結(jié)
無密碼鍵盤的非接觸式電子鎖,采用了圖像識別技術(shù)提升了鎖具的安全性和隱蔽性。經(jīng)調(diào)試測試,該套系統(tǒng)能完成解鎖的需求,但對于實際生產(chǎn)運用還需進一步調(diào)試改進;如在不同環(huán)境下圖像識別的準確度還需大量實驗改進;使用者是否能正確地確定游標區(qū)域,還需不需要設(shè)計一些輔助措施;電子系統(tǒng)出現(xiàn)故障如何處理等。這也是下一步需努力的方向。
參考文獻
[1] 任葛榮.可編程智能電子鎖控制器的設(shè)計與實現(xiàn)[D].廣州:華南理工大學(xué),2011.
[2] 丁明勇,李昔華.TM卡智能電子鎖與門禁系統(tǒng)研制[J].重慶工商大學(xué)學(xué)報(自然科學(xué)版),2004(5):488-490.
[3] 張家怡.圖像識別的技術(shù)現(xiàn)狀和發(fā)展趨勢[J].電腦知識與技術(shù),2010,21(6):6045-6046.
[4] 徐瑩.紙幣圖像識別技術(shù)研究[D].成都:西南石油大學(xué),2012.
[5] 陶杰,王欣.基于STM32F407和OV7670的低端視頻監(jiān)控系統(tǒng)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014(3):60-63.
[6] 曾浩,張祺,鄭斯凱.基于STM32F407的圖像遠程采集終端[J].工業(yè)控制計算機,2014(11):81-83.
[7] 黃杰勇,何冬.基于STM32F407的液晶控制器設(shè)計[J].現(xiàn)代計算機(專業(yè)版),2015(10):66-69.
[8] 楊琨,曾立波,王殿成.數(shù)學(xué)形態(tài)學(xué)腐蝕膨脹運算的快速算法[J].計算機工程與應(yīng)用,2005(34):54-56.
[9] 李曉飛,馬大瑋,粘永健,等.圖像腐蝕和膨脹的算法研究[J].影像技術(shù),2005(1):37-39.
[10] 牛連強,彭敏,孫忠禮,等.利用游程集合的標號傳播實現(xiàn)快速連通域標記[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2015(1):128-135,156.