常钰坤,杨海燕,陈潇杰,周萍
(1.桂林电子科技大学 信息与通信学院,广西桂林,541004;2.桂林信息科技学院 电子工程学院,广西桂林,541004)
随着人们对高质量生活的不断追求,传统锁具式门禁逐渐失去主导地位,新一代智能门禁成为市场新宠。对比传统锁具式门禁,智能门禁系统在使用更方便的同时其安全性和用户体验均有极大的提升。目前指纹识别、人脸识别等生物识别技术已经广泛应用于市场上的门禁系统,不足之处在于同时也导致了更多的私人信息被迫暴露,比如人脸识别的门禁系统对身份信息的泄漏。密切接触的指纹识别门禁类别,因其采集信息需要密切接触使得应用受到限制。相比于指纹信息和人脸信息,声纹信息的获取更容易得到人们的许可,且不易泄漏身份信息,因此声纹识别技术结合动态指令控制在智能门禁系统的应用有其市场应用需求。声纹识别的智能门禁系统利用不同说话人声纹信息差异来识别开锁人身份,无需接触,使用方便,安全性高。
基于声纹识别的智能门禁系统,通常考虑结合声纹识别技术和动态指令作为智能门禁开启的钥匙,客户端采集用户声纹信息,可进行用户的声纹注册,以及提供随机的八位动态数字密码进行声纹验证。服务器端输出给定的随机数字提醒用户采集声纹信息,并上传至云服务器,并进行声纹认证和信息记录,判别后通过网络发送控制指令来控制门禁状态,并将判别结果同步返回客户端,实现近程控制;管理后台可实时查询门锁状态信息和用户信息;同时允许同一网络下的客户端与门禁系统配对,配对成功则允许客户端实现远程开锁。同时采用Web 网页形式展示给服务端后台,方便管理员对系统的远程管理和监控,对出入信息进行管理,以保证安全度。
智能语音门禁系统的客户端基本架构包括主控制器模块、继电器模块、电源模块、OLED 显示模块和语音识别模块等。在此基础上,也可结合云平台,增加手机无线远程解锁功能,通过云服务器将智能门禁系统与手机APP 进行连接,并在同一局域网下通过一键配置实现互通,增加系统的实用性,安全性、可靠性。
考虑到个人情绪以及身体状况的变化对声纹信息的影响,本文基于声纹识别的智能门禁系统设计结合动态指令和声纹识别技术共同作为门锁开启的钥匙。系统设计框图如图1 所示,其中客户端、服务器端和门禁端在同一网络中,以增加系统的安全性;客户端和服务器通过WiFi 进行通信,控制模块不仅适用本智能门禁系统,也可嵌入到不同的电控锁中,具备通用性设计。
图1 声纹门禁系统框图
智能门禁系统的硬件部分以STM32F103RET6 单片机作为核心控制器,协调各部分电路工作;采用一体式WiFi透传模块进行收发控制指令;最终由继电器开关电路控制门禁锁。主要模块设计如下。
2.1.1 核心控制模块
考虑到门禁系统连续工作的要求,ARM 内核的STM32系列单片机具有优异的运算速度和扩展能力,外设资源丰富。经过调研,系统的核心控制电路采用STM32 系列的STM32F103RET6 单片机作为主控制芯片,通过串口和上层的WiFi 模块进行通讯,再将控制信号作用于下层继电器控制模块。
2.1.2 语音识别模块
考虑到门禁系统对声纹信息的采集与响应速度有着极高的要求,经过调研,选择了智能离线语音识别模块HLK-V20。该模块使用32 位基于RSIC 硬件架构的音频内核,并加入了DSP 运算指令集,专门负责语音信号的传输、数字化音频处理,符合本设计需要进行离线语音识别监测的应用场景。
2.1.3 WiFi 通讯电路
考虑到门禁系统的便捷性和实时性,本系统特意设置将门锁连接到WiFi 网络上,利用ESP8266-12FWiFi 构成无线传输模块,从而实现远程控制与管理。WiFi 模块集成了MAC、基频芯片、射频收发单元以及功率放大器,有两种无线组网方式:无线接入点AP 和无线站点STA,运行频率达80MHz。考虑AP 模式下WiFi 模块不需要连接外围设备,即可实现无线终端到设备的连接,故首先在AP 模式下通过网页配置模块参数,接入门禁系统所在的无线网络,然后选取STA 方式,完成WiFi 模块初始化。WiFi 模块通讯电路框图如图2 所示。
图2 WiFi 通讯电路框图
2.1.4 继电器控制电路
继电器控制模块基本功能是通过小能量电流信号来自动控制大能量电流。本系统设计中,继电器模块驱动电路采用ULN2003A,主要由模块驱动集成电路和控制继电器两个部分组成,如图3 所示。
图3 继电器电路模块
智能声纹门禁系统的软件设计根据功能区分采用分块设计,主要考虑两部分,设计方案如图4 所示。第一部分包括对语音数据的预处理和基于深度学习完成用户声学模型的训练与建立;第二部分则针对实时语音进行采集、预处理以及声纹识别等过程。2.2.1 声纹模型主干网络选择针对智能语音门禁系统的应用场景,仅需要对所采集的语音信息中的关键词进行识别,因此设计中不考虑语言模型。
图4 软件系统总体方案框图
残差神经网络(ResNet)属于深度学习领域问题中的基础特征分类网络。其独特之处在于将网络划分成一个个残差子单元,将元素的相乘操作变成了相加操作,网络在反向传播避免了梯度消失,使得层数很深的网络时浅层参数也能得到更新,减少了信息丢失问题。本文选用ResNet50 作为声纹识别声学模型主干网络,同时加入正则化和Dropout 层以减缓过拟合现象,通过池化层降维,全连接层进行特征重组。ResNet50 结构如图5 所示,声纹模型如图6 所示。
图5 Res Net 中残差单元结构图
图6 声纹模型建立
2.2.2 可视化界面设计
为了服务器端使用方便友好,设计了可视化界面。可视化界面结构图如图7 所示,可视化设计结果如图8 所示。
图7 可视化界面结果图
图8 主交互界面效果图
软件部分调试运行在Google Colab 平台进行,平台服务器GPU 型号为Tesla T4,Python 软件版本为V3.7。调试流程如图9 所示。其中ResNet50 网络的输入为(128,None,1),经过ResNet50 网络的残差单元运算,其参数为23558528 个,Output Shape 为(None,4,None,2048)。经过activity_regularization 层和dropout 层,其Output Shape 不发生变化,没有新增参数。池化层,也称为下采样层,其主要作用是“降维”,将Output Shape“降维”变为(None,2048),不需要新增参数。Dense 层是基本神经网络,其参数等于输入数据维度加“1”再乘以神经元个数,为40980,Output Shape 为(None,20)。
图9 系统调试流图
训练和测试循环中插入损失值和准确率,训练过程和训练结束后部分输出显示分别如图10,图11 所示,测试损失如图12 所示。分析以上图可以发现,通过每一批输出的损失值和准确率的变化可以看出,通过训练,数据送入模型参数进行测试时其损失值在波动中逐渐减小,其准确率在波动中不断增大,模型参数在不断整合数据的特征。经过长时间的训练之后,其训练损失值趋于“0”,准确率趋于“1”。用测试集进行测试可以观察到最后损失值基本稳定在0.56左右,准确率基本稳定在0.92 左右。
图10 训练中部分损失值与准确率输出截图
图11 训练结束损失值和准确率输出截图
图12 测试损失值变化图
图13 服务器端门禁的状态
(1)近程开门功能测试
近程的语音开门功能,主要依靠HLK-V20 模块完成,设置的关键命令词为“打开开关”,HLK-V20 模块接收到语音数据后,触发控制继电器模块,完成电控锁开关操作。服务器端门锁状态显示为“1”,即处于开锁状态。
(2)远程开门功能测试
远程开门功能测试步骤如下:
①手机APP 与WiFi 模块均连接上机智云平台才能实现远程控制。手机APP 首先通过网络一键配置连接上设备,如图14 所示。
图14 APP 连接设备
②将APP 与设备及门禁系统配对后,再将APP 与云端相连接,如图15 所示。
图15 设备连接机智云
③上述两个步骤完成后,将APP 中的门禁开关打开,如图16 所示。
图16 APP门禁开关
可以看到将APP 上的开关打开,门禁系统中的电控锁打开,同时在服务器端接收到门禁状态的数据为“1”,表示门禁已经打开。服务器端状态如图17 所示,客户端状态如图18 所示。
图17 服务器端门禁状态显示
图18 客户端门禁系统状态变化
本文设计完成了声纹识别系统声学模型的建立与训练,并设计实现了以STM32 为主控模块,结合继电器模块、OLED 显示模块、WiFi 电路等模块组成的门禁系统,实现了具有实时显示功能的非接触式的智能语音控制门禁系统。设计过程从实用性出发,提供了两种开锁方式:一是利用语音识别模块实现本地语音开锁;二是利用WiFi 模块作为手机APP 与门禁系统之间通信桥梁,通过机智云平台作为中转服务器端,实现对门禁系统进行远程控制和开锁,并实时显示门锁状态。通过软件仿真、远程/近程测试,验证了智能语音控制门禁系统的有效性,实现了对门禁系统的控制和管理。所设计的系统特色之处在于软件部分基于先进的深度学习算法进行仿真实现,同时硬件电路+云平台提供两种开锁方式--本地输入开锁和云平台远程控制开锁,具有很好的安全保证。同时为了提升用户的友好使用感,设置了多种方式的门禁控制,使用方便简洁,具有一定的实用价值和推广价值。