《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于图像识别的无键盘电子锁设计
基于图像识别的无键盘电子锁设计
2016年电子技术应用第9期
孙琪皓,詹 杰,张 浩
湖南科技大学 物理与电子科学学院,湖南 湘潭411201
摘要: 锁一直是人们生活的必需品,随着社会经济和科学技术的发展,人们对锁的安全及方便性提出了更高的要求。应用ARM技术结合图像识别设计了一种电子锁,该锁通过摄像头采集密钥信息,控制器解码信息并对密钥进行验证。系统部件少,硬件依赖性低,可移植性高,易于使用,并能不断更新解锁方式。
中图分类号: TP277
文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.09.015
中文引用格式: 孙琪皓,詹杰,张浩. 基于图像识别的无键盘电子锁设计[J].电子技术应用,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.
No keyboard electronic lock design based on image recognition
Sun Qihao,Zhan Jie,Zhang Hao
College of Physics and Electronic Science,Hunan University of Science and Technology,Xiangtan 411201,China
Abstract: Lock has always been daily necessities. With the development of the social economy and the progress of the science and technology, the higher public requirements on the safety and convenience of lock bring the electronic lock which combines ARM technology with image recognition. This electronic lock collects the key information through camera and then validate the key information by controller decoding information. It has fewer system components, lower hardware dependencies and higher transportabilities. Also, it is easy to use and can constantly update the unlock mode.
Key words : electronic lock;image collect;image positioning;STM32F407;Python

0 引言

  随着生活水平的提高,人们对锁的要求也不断增加,既要安全可靠,又要使用方便,电子锁[1]的出现满足了人们的需求。电子锁是一种以电子方式来识别、处理信息、控制执行机构来关闭和开启锁的一种新型锁具,已经在住宅、酒店、宾馆、写字楼中得到了广泛应用。电子锁的类型多种多样,早期有应用TM卡[2]、CM卡的密码锁,还有应用人体生物特征的人脸、虹膜、指纹等的新一代电子锁。采用电子卡片形式密码锁和机械锁的区别不大,采用人体生理特征的安全性好,但成本较高。随着科技的发展,该生物识别技术的安全性也遇到了挑战。针对市场的需求,设计了一种基于图像识别的解锁系统[3-4],由射频触发图像识别,省去常规的密码键盘。该锁具具有安装方便、易于移植、被破解率低的特点。

1 系统方案

  如图1所示,该系统由锁具和无线钥匙两部分组成。无线钥匙发射出的激光点称为游标,能发出射频信号,带有激光光源。锁具由处理器、激光发射器、摄像头、LCD显示屏、无线通信模块及掉电存储设备组成。激光发射器可发射出3束激光,组成一个直角坐标系辅助系统对游标进行定位。无线钥匙由一个微控制器、按键和激光发射器组成,由用户控制,在系统中输入密码。无线通信模块负责无线钥匙与锁具之间的通信。摄像头采集激光定位坐标系和激光游标的图像[5-6],发送给处理器进行分析。LCD显示屏[7]辅助显示摄像头采集到的图像,并显示处理器解析图像后获得的密码值。系统还具有防掉电功能,防止在系统断电情况下丢失用户自定义的密码。

图像 001.png

图1  系统框架图

  工作过程如下:当用户使用无线钥匙时,触发系统进入开锁流程,生成定位激光坐标系,用户移动游标(无线钥匙发射出的激光点)到特定位置后,无线钥匙发送采集信号给处理器,处理器随后控制摄像头采集一幅图像,并对图像进行解析,得到一位密码值。重复此过程可完成多位密码值输入。

  为了防止无线钥匙被复制,导致系统被侵入的情况发生,系统使用轮询密码配对设置,以保持无线配对信号安全。为了防止系统故障问题,留下一个串行接口用于紧急处理,防止钥匙丢失或忘记密码。

2 系统软件设计

  2.1 图像识别处理

  锁具应用环境千差万别,环境光强大小不一,而且摄像头采集的图像是彩色图像。彩色图像包含的信息十分庞大,不利于单片机进行处理和分析,因此需要对采集到的图像进行一系列处理。下面介绍主要处理过程:

  (1)图像二值化

  将彩色图像转换为具有色彩深度的黑白图像,转换公式为:

  QQ图片20161110222919.png

  灰度值转换为二值化图像时还需要进行阈值切割,将灰度值小于阈值的像素点设为0,否则设为255。因此选取合适的阈值对于图像二值化十分重要,采用Otsu最大类间法进行最佳阈值的选取。Otsu算法按照灰度值的特性将图像分为两部分,当这两部分之间的类间方差最大时,说明构成图像的两部分之间差别也最大,此时将图像分为两部分的值为最佳阈值。

  每一个灰度值i出现的概率为:

  QQ图片20161110222923.png

  G0和G1类出现的概率为:

  QQ图片20161110222926.png

  G0和G1类出现的均值为:

  QQ图片20161110222930.png

  类间方差为:

  QQ图片20161110222934.png

  此时最佳阈值的取值即为使得类间方差最大的t值。

  (2)图像滤波处理

  图像识别需对图像进行预处理,即滤除图像中的杂波干扰,突出前景像素。

  图像腐蚀算法[8-9]处理过的图像对比如图2所示。

图像 002.png

图2  图像应用腐蚀算法对比

  (3)区域连通算法

  激光点和游标点在二值化图像上表现为聚合在一起的前景像素,称作连通域区域。经过滤波处理后的二值化图像只有前景像素和背景像素两种值,当图像中有多个连通区域时处理器并不能区分各连通区域。连通区域算法[10]能为各连通区域分配一个唯一标号,这样就可统计连通区域的数目,还能通过算法分析连通区域特征。图像通过连通区域算法处理前后对比如图3所示。

图像 003.png

图3  区域连通算法

  (4)连通域定位

  经过连通区域算法处理后,每一个连通域有一个独立的标号,找出各标号x轴、y轴最大和最小坐标,取平均值后可代替该连通区域位置。采集的图像由于摄像头拍摄角度,定位点坐标系偏移等问题而发生变化,如图4所示,当采集图像发生偏移时游标cur相对于激光定位坐标系原点b的坐标为(3,3)。若采集图像内激光定位坐标系发生了偏移,如图4(b)所示,cur相对于原点O坐标未变情况下,cur相对于激光定位坐标系原点b位置已发生改变,需要对此进行修正。

图像 004.png

图4  图像偏移定位示意图

  2.2 系统流程

  系统上电后,首先对系统各外设进行初始化,随后系统检测游标按键是否按下,若键按下则开始密码输入过程。处理过程如下:首先打开激光发射器于平面生成定位坐标系,摄像头采集一幅图像发送给控制器,控制器对图像进行二值化、腐蚀算法滤除杂波后得到较为明确的坐标系图像,通过Two-Pass连通区域算法将图像中相邻的像素赋予相同标号,计算出该标号区域的中心位置。重复以上过程即可获得设定的密码输入值。系统流程图如图5所示。

图像 005.png

图5  系统流程图

3 系统测试

  3.1 算法仿真

  模拟算法采用Python语言编写,使用Pyserial库采集从单片机发送来的图片数据,并保存为.txt文件,.txt文件经处理后使用Pillow库在电脑端将图片显示出来。

  算法仿真时,硬件设备将采集到的彩色图像通过灰度值算法转换为灰度值图像,并将其发送至电脑PC端,此时系统采样到的原图如图6所示。

图像 006.png

图6  仿真灰度值原图

  选取不同阈值时所得到的二值化图像如图7所示。图7(a)中当阈值选择太小时图像中出现大量杂波,对目标面有较大干扰。图7(b)为阈值选择过大时图像,此时图像上方连通区域仅剩几个像素点,若选取阈值更大时则该连通区域被判定为背景,从而丢失定位坐标系。图7(c)为使用Otsu最大类差间法获取阈值得到的二值化图像,图像中目标清晰,杂波少。

图像 007.png

(a)阈值过小        (b)阈值过大           (c)最佳阈值

图7  二值化阈值选择对比

  对二值化图像进行腐蚀滤波,连通区域标记后图像对比如图8所示。图8(b)为腐蚀算法处理后图像,比图8(a)中各连通区域少了一层像素点。在显示程序对图像数据中不同标号的像素点赋予不同颜色,效果如图8(c)所示。

图像 008.png

(a)二值化图像       (b)腐蚀处理              (c)two-pass算法标记

图8  腐蚀算法和连通区域算法效果验证

 3.2 调试实验

  软件算法仿真成功后,下载程序进行硬件调试并搭建平台。

  通过调试平台采集到一个密码输入图像如图9所示。图中两幅图为单个密码值输入过程中使用不同方式拍摄的对比图。图9(a)为使用手机拍摄到的图像,为了直观显示按键值对比,图中对激光坐标系内各位置添加辅助线进行了划分。图9(b)为无线键盘电子锁系统摄像头采集的图像,LCD显示屏中图像为通过算法处理后的图像。由于手机拍摄角度与电子锁摄像头处在对立角度,所以两图中最亮的区域不同。图9(b)中a、b、c分别为激光定位坐标系定位点,b点为原点,a点为y轴方向,c点为x轴方向,cur为游标,各点的坐标值已给出,此时通过系统图像识别算法处理解译后所得值为1。

  图9(a)中游标激光点偏离按键1中心点,距边界不远处,此时系统依旧能识别出正确的按键值,表明当前系统所需功能已基本完成,使用时将游标定位在各按键中心点附近可以保证系统识别的正确率。

图像 009.png

(a)采集时图像             (b)识别后图像

图9  单次密码输入

  系统预设密码值为“123456”,用户可自行更改,图10(a)为输入5位密码值时图像。当密码输入正确时,图像如图10(b)所示,显示“Key Correct”;否则显示密码错误,需重新输入密码。

图像 010.png


(a)输入密码过程        (b)输入密码正确

图10  密码输入过程

4 分析与总结

  无密码键盘的非接触式电子锁,采用了图像识别技术提升了锁具的安全性和隐蔽性。经调试测试,该套系统能完成解锁的需求,但对于实际生产运用还需进一步调试改进;如在不同环境下图像识别的准确度还需大量实验改进;使用者是否能正确地确定游标区域,还需不需要设计一些辅助措施;电子系统出现故障如何处理等。这也是下一步需努力的方向。

  参考文献

  [1] 任葛荣.可编程智能电子锁控制器的设计与实现[D].广州:华南理工大学,2011.

  [2] 丁明勇,李昔华.TM卡智能电子锁与门禁系统研制[J].重庆工商大学学报(自然科学版),2004(5):488-490.

  [3] 张家怡.图像识别的技术现状和发展趋势[J].电脑知识与技术,2010,21(6):6045-6046.

  [4] 徐莹.纸币图像识别技术研究[D].成都:西南石油大学,2012.

  [5] 陶杰,王欣.基于STM32F407和OV7670的低端视频监控系统[J].单片机与嵌入式系统应用,2014(3):60-63.

  [6] 曾浩,张祺,郑斯凯.基于STM32F407的图像远程采集终端[J].工业控制计算机,2014(11):81-83.

  [7] 黄杰勇,何冬.基于STM32F407的液晶控制器设计[J].现代计算机(专业版),2015(10):66-69.

  [8] 杨琨,曾立波,王殿成.数学形态学腐蚀膨胀运算的快速算法[J].计算机工程与应用,2005(34):54-56.

  [9] 李晓飞,马大玮,粘永健,等.图像腐蚀和膨胀的算法研究[J].影像技术,2005(1):37-39.

  [10] 牛连强,彭敏,孙忠礼,等.利用游程集合的标号传播实现快速连通域标记[J].计算机辅助设计与图形学学报,2015(1):128-135,156.

  

  


此内容为AET网站原创,未经授权禁止转载。