基于EAIDK310 和OneNET 云平台的非接触式智能门禁系统

2022-06-07 08:56楼陈哲张文君莫英东
电子技术应用 2022年5期
关键词:门禁系统手势人脸

楼陈哲,夏 鲲,张文君,莫英东

(上海理工大学 电气工程系,上海 200093)

0 引言

物联网时代下,人工智能不断发展,其应用场景也在不断拓宽深入,人们对生活质量的需求在不断提升,家居环境舒适性、便捷性和安全性推动了智能家居的发展。智能门禁作为智能家居生态环中的基础产品,越来越得到大众的认可与买单。时至今日,智能门禁正飞速占领市场,相比于传统门锁,最显著的优点在于多样化和方便的解锁方式以及更有保障的住户安全,再也不会出现因为忘带钥匙导致无法进门的情况发生[1]。利用生物特征识别的门禁系统与计算机技术相结合,安全、准确、可靠,今后,基于生物特征识别的门禁系统有明朗的发展前景[2-3]。

2020 疫情肆虐全球,非接触式的办公与生活方式显得更为重要,这更加速了新型非接触式智能家居产品的研究与应用。针对非接触式智能门禁,本文提出了一种融合人脸识别、手势识别以及语音识别的智能门禁系统,使得门禁进出更为方便且安全。

1 外壳结构

本文所述的非接触式智能门禁系统的主体是一款方正的六面体结构,如图1 所示,长30.6 cm,宽22.4 cm,高9.8 cm,外壳采用SolidWorks 绘制,考虑到机械强度和绝缘性能要求,选用树脂为3D 打印材料。正面有定制化的摄像头开孔、麦克风接收孔、红外感应窗口、显示屏窗口,侧面电源模块处有散热小孔设计,背面留有孔位方便固定在门面墙面。

图1 作品外壳设计图

2 系统硬件设计

非接触式智能门禁平台的硬件部分主要由EAIDK-310 核心板、红外采集单元、图像采集单元、语音单元、显示屏、电源底板、电磁门锁等组成,系统整体框图如图2 所示。

图2 系统总体框图

2.1 控制系统

选用的主控板是EAIDK-310,主芯片采用具备主流性能Arm SoC 的RK3228H,搭载OPEN AI LAB 嵌入式AI开发平台AID(包含支持异构计算库HCL、嵌入式深度学习框架Tengine 以及轻量级嵌入式计算机视觉加速库BladeCV)。硬件平台具备语音、视觉等传感器数据采集能力,及适用于多场景的运动控制接口。软件平台支持视觉处理与分析、语音识别、语义分析、SLAM 等应用和主流开源算法[4]。

EAIDK-310 功能如图3 所示,支持运行内存4 GB DDR3,拥有8 GB 高速eMMC 存储空间;支持MicroSD 扩展,最大支持128 GB;网络模块搭载了10/100 M 自适应的RJ45 以太网接口,802.11ac/a/b/g/n 的Wi-Fi,2.4G/5 GHz 的Bluetooth 5.0;支持HDMI2.0,standard Type-A,最高4K×2K@60 Hz 的HDMI 接口;拥有3.5 mm CTIA 耳 麦接口;支持1 路USB3.0、3 路USB2.0、1 路Micro-USB;使用5 V/2 A 的电源接口。

图3 EAIDK-310 功能框图

EAIDK-310 作为整个系统控制的核心,用于实现对平台资源的调度和利用。红外采集单元用于检测门口是否有人想要进入,摄像头用于获取人脸和手势图像信息,语音单元用于和访客进行语音交互,显示屏可以实时显示输入的手势数字密码以及系统状态等信息,EAIDK-310 通过IO 口控制电磁锁开闭。

2.2 门锁控制设计

门锁控制部分包括外设底板和电磁门锁,其中外设底板包含电磁继电器、稳压模块等。

外设底板设计主要包括微动开关、5 V 降压电路、12 V 稳压电路和USB 接口等部分。布局时走线尽量短,在PCB 的顶层和底层对GND 进行铺铜,能够有效防止外部信号对板端信号产生干扰,并打地孔便于底板的固定安装。同时,在PCB 布局方面配合系统的外部结构和EAIDK-310 的接口分布,便于系统的结构排布。外设底板PCB 设计图如图4 所示。

图4 外设底板PCB 设计图

设计选用12 V 的尺寸为50 mm×25 mm 的一路继电器模块,采用贴片光耦隔离,驱动能力强,性能稳定;可以使用高低电平输入控制输入,拥有常开常闭两种开关。使用跳线可以选用高电平/低电平触发,以便EAIDK310快捷地控制电磁锁的开闭。

2.3 主要外设模块选型

红外传感器模块对环境光线适应能力强,其具有一对红外线发射与接收,发射管发射出一定频率的红外线,当检测方向遇到人体(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,红色指示灯会亮起,同时信号输出接口输出数字信号。

图像采集单元选用高清720P/120°广角无畸变防逆光摄像头,用于图像信息的输入,采用USB 接口接入。

语音单元选用Raspberry PI 树莓派麦克风输入、Raspberry PI 树莓派USB 扬声器输出,两者均使用USB接口。

显示屏选用Raspberry PI 树莓派10 英寸HDMI 电容显示屏,分辨率大小为1 024×600,仅用于显示时,不占用任何I/O 资源。采用HDMI 接口进行音视频信号传输。

3 系统软件设计

3.1 上位机设计

上位机的开发选用基于用户图形界面设计开发框架PyQt5 以及OpenCV2 和OneNET 的免费数据交互平台,开发环境为PyCharm。采用模块化的设计思路对需要实现的不同功能进行编写,减少系统之间的耦合性。程序主要分为UI 界面设计显示、用户图形库交互子程序、EAIDK310 交互子程序、OneNET 交互子程序、手势识别子程序、人脸识别子程序、语音交互子程序。主函数按照系统的逻辑对各部分在需要的时候进行调用。UI 界面设计如图5 所示。

图5 显示屏UI 界面

智能门禁系统上电后首先进入参数和UI 界面的初始化,红外模块就会跟随启动,但是此时摄像头和麦克风都处于睡眠状态,大大降低了系统整体的功耗以及系统资源的不必要的使用。

当系统检测到有人经过门时,便会迅速启动语音模块,首先发出提示音提示主人选择进入解锁的两种模式,当听到主人模式或者主人等的关键词时,系统会自动启用主人模式,并迅速唤醒摄像头并处于人脸识别的模式下,采集一帧照片保存到本地,然后与人脸库里面的照片进行匹配比对,首先返回人脸库里面最相似的脸的名字和得分。通过阈值判断,当得分在95 分以上时,认为是人脸库里面的人,也就是主人,此时进行模块触发一个信号传递给开发板EAIDK310 的IO 口,持续0.3 s后释放,由此来完成开门的操作,系统再次进入红外测距模式,处于一直检测是否有人的状态。同样,当听到客人模式或者含有客人等关键字的语音时,系统会进入客人模式,使用4 位手势密码进行解锁,密码是通过小程序APP 端提前发给访客的,每识别成功一位数字密码都会在UI 界面上进行显示,方便客人看自己是否手势输入成功。系统设置了5 次的试错机会,当5 次输入都错误,系统会暂停解锁模式30 s,并返回系统初始化进行重新识别并解锁。将输入的手势密码和云端的密码进行比对,若两者完全相同,进行解锁操作,由于是客人模式,安全起见,系统会采集一张人脸照片上传至云端,当出现安全问题时,该照片将会提供证据,为门禁安全加上了一层看不见的钥匙,也让用户有很好的体验。门禁系统开锁流程如图6 所示。

图6 门禁系统开锁流程图

3.2 人脸识别功能

人脸识别通过本地Python 编程建立自己的人脸库,当摄像头获取到照片的时候,调用百度AI 开放平台的API 接口里面提供的接口函数,与人脸库的照片进行1:N的比对。并返回匹配度最高的UserID 及其相关信息,再进行阈值判断,当匹配度大于等于阈值时,人脸匹配完成[5-6]。具体流程如图7 所示。

图7 人脸识别流程框图

3.3 手势数字识别功能

手势数字识别的训练数据来源主要是两方面,第一块是基于Python 的网络爬虫爬取,第二是拍摄手势视频。使用OpenCV 进行抽帧处理,然后将图像分为10 类,分别是数字0~9,选用卷积神经网络进行学习,选用80%的数据作为训练集,20%的数据作为测试集,将训练好的模型移植到EAIDK310,利用OpenCV 调取摄像头获得照片,带入模型进行识别[7-8]。流程如图8 所示。

图8 手势识别流程框图

3.4 语音交互功能

语音识别功能基于百度AI 开放平台语音识别技术,在控制台中创建应用获取API Key 和Secret Key,短语音识别可以将语音精准识别为文字,包含中文普通话输入法、英语、粤语、四川话、远场5 个识别模型。调用PyAudio 库并使用外置麦克风进行本地录音,通过REST API 接入通用的HTTP 接口,处理本地音频以JASON 格式POST 到百度语音识别服务器,获得返回结果。百度语音服务器支持的音频格式有:pcm(不压缩)、wav(不压缩,pcm 编码)、amr(压缩格式),采样率为16 000 Hz,编码为16 bit 位深的单声道[9-10]。EAIDK310 的Fedora2 系统无法识别pcm 格式,本系统选用wav 格式保存,而百度语音服务器会将非pcm 格式转化为pcm,因此会有额外耗时。

文字转语音播报也是使用百度AI 开放平台中的语音合成,通过REST API 接入,合成的文件格式为mp3、pcm(8k/16k)、wav(16k),多音字可以通过标注自行定义发音,例如重(chong)新出发,当前只支持中英文混合一种语言,优先中文发音。语音交互功能流程如图9 所示。

图9 语音交互流程框图

3.5 微信小程序

微信小程序主要实现了和上位机的数据互传,通过向云端获取并传入信息来实现和EAIDK-310 的通信。为了提高安全性,系统会将每一次开锁时间、实时照片等上传至云端形成数据流,主人可以方便地在小程序中查看上述所有信息,微信小程序数据传输如图10 所示。

图10 微信小程序数据流传输

用户通过微信小程序发送一串4 位数的短期随机密码到云端,并将密码发给访客,同时上位机从云端获取4 位数的随机密码,访客就可以通过手势比对密码来开启门锁。微信小程序及开发工具界面如图11 所示。

图11 微信小程序及开发工具界面图

3.6 OneNET 云平台

OneNET 是由中国移动打造的PaaS 物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,快速完成产品开发部署,为智能硬件、智能家居产品提供完善的物联网解决方案。

使用OneNET 云服务器,上位机通过HTTP 协议访问云服务器,云端服务器数据库建立多个数据流来传输数据,数据库中包含产生的随机密码、每次开锁时间记录、访客照片、门禁定位等。OneNET 可视化数据流平台如图12 所示。

图12 OneNET 可视化数据流平台

4 结论

经测试,该系统的人脸识别和手势数字识别精度高且速度快,与用户的语音交互过程也流畅无误。系统开启电磁锁的响应时间迅速,可以达到0.3 s 内。OneNET云平台和微信小程序的数据流能够达到实时传输显示的效果。该门禁系统具有较高的即时性和鲁棒性,硬件整体外壳设计也适用于各类场景。

本作品作为智能家居的一环,旨在为用户提供更好的居家体验,为用户提供24 小时的智能门禁服务。该系统平台一方面给用户带来舒适安全的体验,另一方面也为商业上的快速应用提供方便,为防疫大环境下智能门禁系统提供一种解决方案。

猜你喜欢
门禁系统手势人脸
基于多种生物特征识别的RFID门禁系统设计
有特点的人脸
一起学画人脸
挑战!神秘手势
基于AI智慧人脸门禁系统的硬件系统设计
基于单片机的安全门禁系统研究设计
三国漫——人脸解锁
地铁线网门禁系统集成方案研究
胜利的手势
长得象人脸的十种动物