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