基于人眼专注度检测的智能台灯设计
2024-01-10颜利宏刘文华
颜利宏,刘文华
(漳州职业技术学院 电子信息学院,福建漳州 363000)
在传统线下授课模式中,教师、家长可以通过面对面观察学生的学习状态,及时纠正学生不良的学习行为,但是在网络学习环境中,由于受空间的限制,教师、家长难以实时监测学生的学习状态,如果学生的专注力比较分散,学生就难以维持高效的学习状态,无法获取足够的有效信息,从而学习效果不佳,所以如何提高学习者的专注度是当下的一个重要研究课题[1-2]。此款设计的智能台灯在前期设计基础上主要为解决如何提高学生、办公人员专注度,帮助其提高学习、工作效率而进行优化,同时增加人机交互智能语音控制功能,提升用户体验感。主要创新点有:(1)专注度判断。通过Open-MV 模块检测人眼位置,计算眼睛张合度来判断专注度情况,从而帮助用户提高学习办公效率;(2)人机交互控制台灯。产品不局限于按键控制台灯,用户可以通过语音功能控制台灯的开关,使得产品更加智能。用户在离开台灯时或不便开关台灯时,可以通过语音的方式控制台灯,为用户带来更好的体验感。
1 系统设计方案
1.1 前期系统
系统以STM32G47RE 为控制芯片,通过串口、Ⅰ2C、中断等接口连接外部血氧传感器、人脸检测摄像头,在智能化照明的基础上采用了快速傅里叶算法、人脸注册、Haar-like 人脸检测算法,实时计算用户心率和人体姿态,对不正确的姿态和不健康的心率发出声光报警信号,来实时进行血氧监测和坐姿矫正,为用户健康保驾护航[3]。
1.2 系统升级方案
随着智能照明设备的迭代更新,用户对产品的要求越来越高,主要表现在智能辅助功能、语音控制、人体感应等方面。此台灯主要针对当下关注的热点——“专注度”进行设计,可以实时监测用户专注情况并即时提醒,从而帮助用户提高学习和办公专注度,同时增加语音控制功能,提升用户体验感。
系统主要针对“专注度”监测提醒进行设计,目的在于模拟再现线下课堂教师督促效果,实时监测用户专注情况,并通过语音进行提醒,从而帮助用户提高学习效率。在STM32G47RE 控制芯片上通过USART、Ⅰ2C、中断扩展接入专注度检测模块和语音模块。专注度检测模块通过Open MV 识别人眼位置并计算眼睛张合度,对用户专注度进行实时监测[4]。语音模块用于接收专注度判定结果,对专注度不足情况进行语音反馈提醒,从而帮助用户提高学习和办公效率,同步具备接受外部语音指令对台灯亮度、开、关进行控制,进一步提升用户体验感。系统设计图如图1 所示:
图1系统硬件连接图
2 专注度检测算法
2.1 专注度判定流程
人眼是面部的重要特征之一,它可以反映一个人的情感、注意力情况等多种信息。人眼检测可应用于专注度判断、疲劳驾驶判断、视线追踪等多个领域。人眼的张合是人体生理信号的一种表现,它与个体的神经生理学反应和视觉注意力等因素有关,当人们处于注意力集中状态时,交感神经系统会使人眼的瞳孔扩张,获取更多的外部信息;当人们处于疲劳状态时,副交感神经系统会使人眼的瞳孔收缩,获取的外部信息相应减少,这种表现与人们的日常经验和观察相符。因此,可通过计算人眼瞳孔大小(即张合度)来判定专注程度。采用张合度判定专注度相比脑电图或眼动追踪等神经科学研究算法,具有非侵入性,不需要在人体上安装设备或试剂,更容易被接受和使用。并且通过人眼张合度计算,可以快速、简单地评估个体的专注度,具有实时性。段巨力[5]将人眼张合度用于线下课堂学生上课专注的判定,其专注度检测准确率达92%。左国才[6]也将人眼张合度用于课堂学习效果评价取得了较好的效果。该模块主要采用OpenMV 进行人脸识别,通过坐姿矫正模块判断用户是否低头、侧脸,再检测出眼睛位置并计算出眼睛张合度,最终将二者结果相结合来判断用户的专注程度。
2.2 张合度计算
OpenMV 模块搭载STM32F427 芯片,集成了OV7725 摄像头芯片,通过实时获取图片定位人脸位置。该模块中的Haar 分类器是基于Adaboost 算法的基础上,结合Haar-like 特征进行人眼检测[7-9]。通过find_features()函数寻找与Haar-like 特征相匹配的区域,并输出一个符合特征的边界框矩形元组(x,y,w,h)的列表,从而提取出眼睛位置[10-11]。
其中,H表示眼睛张开的高度,W表示眼睛张开的宽度。由于人眼张合度是一个连续变量,且不同用户在专注情况下的眼睛张开程度存在个体差异,因此为简化计算,将公式(2)进行归一化:
其中,0 ≤ZHDnor≤1,ZHDmax表示当前用户在清醒状态下眼睛的最大张开度,代表最专注的状态,ZHDmax通过人脸注册模块计算得到。因此,可设定一个阈值p=0.28来判定专注程度:当被测目标的ZHDnor小于p时,认为学习专注度较低,即判定为不专注,并通过语音提醒用户,其程序设计流程图如图2所示:
图2 专注度判断程序流程图
3 语音模块
3.1 硬件设计
语音交互模块以SYN7318 为语音交互核心,它集成了语音识别、语音合成和语音唤醒等功能[13-14]。该语音模块通过UART 与主控芯片STM32G47RE 进行通信,通信方式采用异步串行通讯方式来接收命令帧从而实现文本到语音、语音到文本的转换以及语音控制功能,命令帧包括控制命令帧、待合成的文本数据等内容。
3.2 语音识别流程
该智能台灯使用单片机作为上位机控制语音模块来实现各种控制功能,通过命令帧和回传帧实现上位机与SYN7318 模块之间的信息传输[15-17]。具体流程如下:首先,上位机向SYN7318 模块发送查询指令,查询SYN7318 模块当前状态。SYN7318 模块在成功接收指令后向上位机回传状态指令。然后,上位机继续发送语音识别指令启动语音模块,语音模块从麦克风采集到语音数据并将识别结果通过UART 回传至上位机。
4 实验与结果分析
4.1 专注度测试分析
本设计使用NUCLEO-STM32G47RE 开发板结合OpenMV 摄像头模块进行专注度检测实验,通过低头、侧脸检测和计算被测目标眼睛张合度来判定专注程度。该模块每秒获取5 次人眼数据并进行张合度计算,当连续30s 的张合度平均值低于设定阈值p=0.28 时,系统会进行语音提醒。实验随机选取3 名测试者,被测目标分别在连续专注学习状态、正常学习状态、微闭眼状态、瞌睡状态测得的专注结果如图3 所示。
图3 不同学习状态下专注度检测结果图
系统在四组不同测试视频下的专注状态检测结果如表1 所示,四组视频时长均为120s 且为不同测试者,预设检测次数共240 次,其中,视频1 为专注场景,视频2 为微闭眼场景,视频3 为瞌睡场景,视频4 包含专注、微闭眼、瞌睡三种场景。专注度检测算法精准率如表2 所示,其中精准率(Precision)=TP/(TP+FP)。
表1 专注状态检测结果
表2 专注度检测算法精准率
根据上述实验结果证明该模块根据人眼数据计算得出的张合度大小符合预期,学习越专注张合度值越大,并且在专注和闭眼场景下检测效果明显,其精准率达93.5%。因此能够有效监督用户学习专注情况,达到辅助提升学习效率的目的。
4.2 语音控制测试分析
本实验采用一个面积约22m2的房间作为测试场地,测试以“Hi 百灵”为唤醒词开启语音识别功能,SYN7318 模块通过麦克风采集到语音数据并将识别结果回传至单片机,单片机根据接收的指令结果进行相应的操作,如打开台灯、调节灯的亮度。使用手机以相同的音量在不同距离条件下分别循环播放关键词“Hi 百灵”“开灯”“关灯”“变亮”“变暗”来控制台灯,并记录测试结果如表3 所示:
表3 语音指令识别率
根据上述实验数据得出语音指令的正确识别率随着距离的增加而降低,但本设计在2m 距离内的正确识别率可达85.3%,由于台灯主要用于桌面学习办公使用,因此能够有效满足用户实现语音控制台灯的需求。
5 结语
本文采用OpenMV 摄像头采集人像数据,结合Haar-like 人眼检测算法和计算眼睛张合度来判定专注程度并通过SYN7318 语音模块实现语音提醒、亮度调节功能,提升系统在效率提升上的辅助作用以及用户整体体验感。实验结果表明专注度判定算法能够准确判断用户专注程度,实时性高,能有效帮助用户提高学习、办公效率;语音正确识别率良好,适合在智能化市场推广应用。