席 倩, 谢忠沂, 孙超群, 安梦生, 吴克力
(淮阴师范学院 计算机科学与技术学院, 江苏 淮安 223300)
随着社会的不断发展和进步,人工智能技术已经成为新一轮经济发展的重要驱动和社会创新的核心竞争力[1].数字化教育装备普及率日益升高,在新课标教育教学理念下,过去的教育教学模式已不适应学生的发展,教师还是原来的老一套传统教学模式更不适应现代教育教学的要求和需要,教师必须转变教育教学观念,不断更新教育教学理念,在这样的大时代下,一种新型的教育形式——“智慧教室”应运而生[2].智慧教室作为一种典型的智慧学习环境,是在物联网、云计算、大数据等新兴信息技术推动下而诞生的,是数字化教育发展到一定阶段的内在诉求[3].
1) 注册功能[4]:利用人脸识别系统对用户照片进行采集,成功注册后系统将所采集的照片转化为对应的人脸特征值存入CSV文件中,并将该特征值与用户注册姓名进行绑定.
2) 登陆功能:调用人脸识别系统获取用户人脸特征值,并与注册时所存储在CSV文件中的特征值进行匹配,若匹配成功则进入操控界面.
3) 软件控制功能:使用语音完成对Word、Excel和PowerPoint文件的新建、打开和删除;实现语音控制PowerPoint的放映、翻页和结束放映.
4) 硬件控制功能:通过语音控制灯泡和空调的开关,并调节空调的温度.
本系统利用了PyQT5框架进行设计,首先是注册和登陆页面.由于本系统所面向的对象是所有的教师员工,不是每个人都可以随意使用的,因此为了加强安全性,引用了人脸识别系统作为用户登陆的唯一途径;在考虑到该系统主要的目的是为了教学,并且现在部分教师年龄偏大,因此本系统的使用界面设计非常简便,只有一个语音识别的窗口;另外为了让用户能够更快、更加熟练地掌握此系统,在控制界面中设计了使用说明,该说明书中详细介绍了系统的使用方法及操作流程.
2.2.1 人脸识别技术
本系统通过现场拍摄的途径获取注册用户的面部图片,检测人脸并采集用户的面部信息,提取人脸特征进行量化处理,再将特征值存入在CSV文件中,在用户登陆时与存储的特征值进行匹配,实现登陆功能.具体实现的技术流程如图1所示.
图1 技术流程
人脸特征标记[5]及人脸特征提取:本系统使用landmark进行人脸标记,landmark是一直运用于人脸特征点提取的技术.通过调用Dlib库中的shape-predictor-68-face-landmarks.dat对人脸的68个特征点进行检测,使用Dlib库提供的深度残差神经网络ResNet(Residual Network)输出128个特征向量,并利用已经训练好的模型获取特征向量后,使用欧氏距离与本地的人脸特征进行匹配,最终返回样本的信息[6].人脸68特征点标记变化如图2所示.人脸特征提取其工作原理如图3所示.
图2 人脸68特征点标记变化
图3 人脸特征值提取工作原理
2.2.2 语音控制功能
本系统的语音系统负责将用户输入的语音转化为可识别的字符串.采用模式识别作为基本框架,分为预处理、特征提取、模式匹配及测试应用4个部分[7].语音识别原理如图4所示.
图4 语音识别原理
讯飞接口调用[8]:集成讯飞的SDK文件,利用一种名为前馈型序列记忆网络(Feed-forward Sequential Memory Network)的新框架,简称为FSMN,将多个技术点进行融合,同时可以使各个技术的效果进行一个有效的叠加.值得一提的是,FSMN采用非循环的前馈结构,只需要180 ms延迟,就达到了和双向循环神经网络RNN(Recurrent Neural Network)相当的效果,从而实现了本系统对于语音识别功能的应用.
基于系统的用户面向范围广,地域性强,课堂环境复杂的情况,对于语音识别模块的语音识别测试,本系统利用普通话、方言在低音环境、正常环境、噪音环境分别进行了测试,得出结论对于所有的环境语音识别的准确率可以达到75%以上.语音识别结果正确率情况如表1所示.
表1 语音识别识别结果正确率
2.2.3 软件控制功能
该功能主要是完成用户对系统内部软件功能的操控.首先是获取用户的命令,这一步需要先从语音模块接收用户提出的命令,并利用代码检索出可以执行的操作语句,该功能通过引入Python中的OS标准库完成实现.同样对于网站和常用应用的打开,这个功能也需要检索命令的关键字,但是和上面功能有所不同,该功能需要利Python中内置的Web Browser库接收该应用的路径或网页的网址执行打开命令.
2.2.4 硬件控制模块
该模块实现了用户对硬件的操控,此模块主要是通过导线连接和红外设备两个方面完成对硬件的控制.因为导线连接和红外设备两个方面的完成都离不开树莓派[4],而用户利用语音控制硬件的功能也同样离不开软件部分,因此对于硬件操控核心是将树莓派与软件部分进行一个远程交互.对于语音控制教室灯光的功能,利用小灯泡进行了模拟,首先将小灯泡的正极通过导线连接到树莓派的引脚,将小灯泡的负极接地,然后在树莓派内使用Python代码控制树莓派的引脚,并通过Paramiko库的功能连接树莓派和该系统,然后调用系统控制灯泡的命令实现对小灯泡的控制.第二功能是对教室空调、投影等红外硬件的控制,本系统以宿舍空调为例实现了该功能.首先连接树莓派,之后在树莓派内通过Linux系统添加了lirc红外模块,并在Linux系统内打开树莓派对于红外模块的使用权限,然后把型号为HS0038B的红外接收管接入树莓派的17引脚,将型号为940N的红外发射管连接到树莓派的18引脚,此时对于硬件的连接已完成.树莓派的连接如图5所示.
接下来是对于红外模块的内部操作,这一步通过红外接收和红外发射两个部分来实现.第一部分是对于红外接收功能的实现,本系统通过调用Linux系统,打开lirc红外模块的内部文件,将红外模块设置为接收状态,此时树莓派就可以接收红外信号,本系统中采集了宿舍空调的多种红外信号,并把这些数据按照格式编排,定义为了4个功能模块.第二部分是红外发射模块,通过调用Linux系统,将红外模块设置为发射状态,根据用户的命令,发射对应的功能按钮.例如:当用户发出“打开空调”命令时,系统先进入“打开”的功能模块,然后当检索到“空调”时发现功能与用户提出的要求相匹配,从而进入空调的功能页面,调用树莓派Linux系统内编写好的打开空调功能模块,实现打开空调的功能,对于其他有关于空调的功能实现也是使用相同的方法.基于整个红外模块的流程,理论上本系统可以完成对所有红外硬件的控制.
本系统实现了对教室中软硬件设施基本的控制,如通过语音识别来新建工作文档、打开或者关闭教室中的硬件设备以及基础的用户人脸登陆等功能.本系统使用树莓派串接的LED小灯泡模拟教室灯光,利用宿舍空调模拟了教室空调.主要的实现步骤如下:
1) 用户通过人脸识别来进行注册和登陆;
2) 进入系统后,点击on按钮;
3) 用户可以通过语音来控制电脑中的软件以及教室中的硬件设备;
4) 点击off按钮则是关闭语音识别;
5) 系统连接树莓派进行模拟,树莓派上LED灯的开关代表教室灯光设备的状态,宿舍空调的不同模式模拟了教室空调的不同模式.
系统功能如图6所示.
图6 系统功能实现图
基于人脸与语音识别的智慧教室控制系统是以PyQT5为基础,融合了人脸识别、语音识别、远程控制和嵌入式等多个模块来搭建的系统,已适应当前的新课标教育教学理念.较传统的教育教学理念而言,本系统有助于提高教学的工作效率.在应用功能方面,由于系统运用了单独的功能文件控制,因而在未来对于应用功能的开发还具有无限的可能性.