文献标识码: A
DOI:10.16157/j.issn.0258-7998.2017.02.016
中文引用格式: 李英春,尤磊,贺靖康,等. 基于生理信号的情绪识别腕戴设备[J].电子技术应用,2017,43(2):69-72,76.
英文引用格式: Li Yingchun,You Lei,He Jingkang,et al. Emotion recognition wristband device based on physiological signals[J].Application of Electronic Technique,2017,43(2):69-72,76.
0 引言
情感计算的概念是由美国MIT媒体实验室的PICAR R提出的,是指对与情绪有关的、由情绪引发的、或是能够影响情绪因素的计算。情绪不仅有内心体验和外部行为表现,同时伴随着复杂的神经过程和生理变化。情绪可由表情、语音、姿态、文本等非生理信号进行感知,但人体的生理信号不易伪装,可获得更加客观有效的结果[1]。针对基于生理信号的情绪识别,国内外科研工作者做了大量的研究,PICARD R等采集了不同情感状态下皮肤电反应、血容量波动、肌电信号、呼吸作用的4种生理信号,得到针对8种情绪81%的识别准确度[2]。KIM K H等开发了一种基于多用户生理信号的短时监控情绪识别系统,使用支持向量机对悲伤、压抑、惊奇和愤怒4种情感状态进行分类识别[3]。刘光远等通过多导生理记录仪MP150采集多种生理信号,利用Fisher、k-NN等智能算法进行特征提取和分析,识别6种基本情感状态,获得60~90%的识别率[4,5]。
现代科学技术提供了基于生理信号的情感识别方法,但是通常需要昂贵笨重的设备,影响了用户体验效果及市场应用。伴随着无线通信技术、嵌入式及传感器技术的快速发展,可穿戴式智能设备在医疗、健康等多个领域表现出重要的研究价值和应用潜力[6]。本文针对情感计算设计了一种基于生理信号的情绪识别腕带设备。
1 系统总体设计
皮肤电反应和心率变化是反映人体心理的放松和紧张程度、情绪波动、性格特征的重要依据。1890年,Tarchanoff发现机体在视、听、痛等感觉刺激及情绪激动时皮肤两点之间电阻降低,他将这种现象称为皮肤电反射(Galvanic Skin Response,GSR)。然而由于环境温度或人体运动的影响,皮肤温度随之发生变化,GSR信号会受到干扰,同时人体运动时会造成心率伪像,导致生理信号测量不准,因此,增加了对皮肤温度及加速度的测量。系统总体框架如图1所示。
2 硬件设计
2.1 生理信号及动力学信号采集单元
2.1.1 皮肤电及皮肤温度测量
人们情绪变化时,交感神经活动度发生变化,汗腺分泌活动改变,由于汗液中存在大量的电解质,从而导致皮肤的导电性发生变化。对于情绪这种难以检测的心理活动,利用皮肤电阻进行测定成为了最有效的方法。皮肤电阻阻值较大,一般在2 kΩ~50 kΩ之间,而由情绪、呼吸变化引起的皮肤电阻变化幅度很小,需对其进行较大幅度的放大。皮肤阻抗测量电路如图2所示。
通过两个接触探针测量皮肤的阻抗,经过阻-压转换调理电路获得微弱的变化信号,再由差分放大电路滤除干扰最终获得皮肤阻抗相对变化情况。
由于外界环境温度的变化会影响到汗腺分泌情况,从而影响GSR信号,因此需增加一个温度传感器来研究温度对GSR信号的影响。本设备采用Maxim数字温度传感器DS18B20Z,它提供9~12 bit摄氏度温度测量数据,通过1-Wire总线通信,可直接将温度转化成串行数字信号供MCU处理。应注意DS18B20主要通过GND引脚检测温度,腕带设备通过底部金属探针接触皮肤,作为GND引脚和被测热源(皮肤)之间的良好导热通道。
2.1.2 心率测量
心率测量基于光电容积脉搏波描记法[7](Photoplethysmography,PPG),采用SON7015心率传感器,其集成高灵敏度光感IC,2个绿光LED以及低噪声的前置放大器。测量时,利用峰值波长为550 nm的绿光LED照射腕部皮肤表面,根据朗伯-比尔定律(Lamber-Beer′s Law),通过测量动脉血管的组织容积在心脏波动时的微小变化造成的反射光强度变化,获得微弱的心率原始信号。该信号的幅值为10 μV~5 mV,其典型值为1 mV,在处理时若要求输出达到1 V左右,则放大倍数要做到1 000倍左右。采用具有较高的共模抑制比的OPA4313运算放大器,实现放大后的信号无失真、低噪声等要求。通过滤波和放大及比较电路得到较好的方波输出,如图3所示。设T为输出的方波中2个上升沿之间的时间差,则每分钟心跳数BPM为:
在MCU中可经过两次捕捉事件得到时间间隔T,利用式(1)计算得到BPM,实现动态心率的测量。然而在实际测量中面临两大问题:首先环境光的干扰使得测量信号中易出现较大的噪声信号,可通过腕带式的结构设计来减小环境光影响;其次,当传感器与腕部发生相对运动时,对信号波形的形状亦会产生干扰,通常称为运动伪迹,强烈的运动伪迹远远大于心率信号,严重破坏输出的心率信号波形,从而影响到心率测量的准确性。因此,需通过加速度传感器研究运动状态对心率的影响。
2.1.3 动力学信号测量
采用NXP半导体公司MMA8452Q三轴加速度传感器,其可感受X、Y、Z 3个自由度的加速度信号,全方位感知人体运动信息。采集的加速度数据可以通过传感器内部的高通滤波器实时输出,输出信号已被转换为12 bit数字量信号,通过I2C接口为MCU读取。在MCU中利用式(2)计算x、y、z 3个方向加速度的矢量长度和,获得运动的幅度(magnitude)轨迹:
人体最快的跑步频率为5 Hz,即相邻两步的时间间隔至少大于0.2 s,设置最小时间间隔,从而在计步过程中过滤掉高频噪声。同时,通过设定幅度阈值来判断运动是否有效,通过对峰值次数的累加,可得到用户的步数及用户的运动状态。步行状态下加速度矢量和的变化如图4所示。
2.2 信号处理及无线通信单元
基于ARM Cortex-M处理器的MCU是针对智能腕带的最佳解决方案[8],本设备采用STM32L052作为腕带设备的主控,片上集成了同类型MCU中功耗最低的12 bit模数转换器(ADC),在10 kb/s的采样率下功耗仅为48 μA。通信单元采用Dialog公司蓝牙芯片DA14580,它集成无线收发器和基带处理器,发射电流低至3.4 mA,接收电流低至3.7 mA,可在超低功耗下提供非常好的射频性能及灵活的外围配置。在DSPS(Dialog Serial Port Service)的基础上进行串口透传功能开发,实现数据的传输。
2.3 电源管理及无线充电
腕带设备如图5所示,由锂离子可再充电电池LIR2032经XC6206 3.3 V/0.5 A稳压芯片后提供3.3 V电压供整个系统使用。MCU采集电池分压电路后电压值,映射成电池剩余电量。选用IDT公司P9235B+P9025AC无线充电解决方案进行穿戴设备的扩展,其中接收端P9025AC内置集成同步全桥整流器和LDO输出级,将输入的无线电源信号转换为5 V/0.4 A的稳压输出,通过PJ4054单片锂离子电池恒流/恒压线性电源管理芯片给电池充电。系统具有过温过压过流保护,充满电可自动关闭发送。
3 软件设计
3.1 下位机
软件分为发送和接收两部分,接收部分主要涉及智能终端控制腕带设备上的LED情绪指示灯,用于消息提醒的振动马达和低功耗模式开启等;发送部分主要包括MCU对各个生理信号的处理算法,其中发送主程序流程如图6所示。通过判断当前运动状态,将处于剧烈运动时采集到的心率及皮电数据不再发送,从而确保上位机最终获得稳定可靠的生理信号数据。
3.2 上位机
为了便于腕带设备的校正及后期数据分析,搭建基于LabVIEW数据采集系统,主要包括串口交互、数据处理及显示2个程序块。首先,通过接入计算机USB端口的蓝牙适配器进行无线连接,利用VISA节点进行串行通信编程,数据接收部分主程序框架采用状态机模型:条件结构+While循环+事件结构。在传输数据之前,下位机程序中已给生理信号及其他非生理信号(运动幅值、电量、步数)等数据变量定义校验帧头,用于甄别是否为有效数据,当与预先定义的所有帧头均一致时,上位机接收相应数据。然后,各帧依次执行串口配置及控件的初始化,采集下位机的数据并显示在前面板的数值框和波形图中,同时将数据写入电子表格文件。最后,关闭串口通信及释放程序。
3.3 移动应用
在移动客户端,利用蓝牙的API进行蓝牙设备的连接和数据的收发,实现对腕带设备的控制,并建立用户表。在本地用SQLITE进行用户数据和生理信号中特征值的存储。使用Android图表引擎AChartEngine,建立定时任务刷新图表,显示所需的波形曲线。应用界面如图7所示。
客户端借助第三方云服务,通过Apache HTTTP Client连接服务器后以Json形式传输数据。服务端基于MVC模型设计用户登录和注册的Severlet以及用户表、用户状态表、各个设备信号检测记录表和文件存储。
4 实验分析
从离散和维度两种视角来建构和理解情绪空间,将具有显著特征的离散的情绪状态以维度化的方式表达,如图8所示。
研究情绪识别的可行性,很大程度上依赖于情感的诱发方法,本文采用视频刺激及情感情境诱发相结合获取个体的不同情绪状态[9]。分别提取具有较强烈的情感状态下的数据,包括兴奋、紧张、中性及温热性出汗,截取其中5 min内的数据,如图9所示。
通过用户的主观评价标记训练样本并使用有监督的机器学习算法——BP神经网络。该网络的主要特点是信号前向传递误差反向传播,包括输入层、隐含层及输出层三层。
首先,使用式(3),应用最大最小法对生理信号进行归一化处理:
式中,xk是数据样本;xmax和xmin分别是数据序列中的最大值和最小值。
其次,根据生理特征信号特点确定BP神经网络的结构为3-4-4,随机初始化BP神经网络权值和阈值。
最后,用训练好的BP神经网络分类生理信号测试数据。BP神经网络分类正确率如表1所示。
虽然生理信号可以客观地反映人的情感状态,但是对唤醒度较高的情感才有良好的识别效果。若要进行多种情感的分类,如惊讶、轻蔑、恶心等,则需要将生理信号同表情、语音、身体姿态等其他方式进行融合。如图7中所示,通过调用前置摄像头获取用户面部表情,结合微软公司认知服务中的人脸情绪识别API来实现更多样更准确的情感识别。
5 结论
本文设计了一种基于STM32L052K8的低功耗生理信号采集腕带设备,通过低功耗蓝牙将采集的生理信号发送至具有蓝牙4.0接口的智能设备端,利用BP神经网络对生理信号进行分析处理,识别兴奋、紧张及中性3种情绪状态,获得了较高准确性。
参考文献
[1] 张迪,万柏坤,明东.基于生理信号的情绪识别研究进展[J].生物医学工程学杂志,2015,32(1):229-234.
[2] PICARD R,VYZAS E,HEALEY J.Toward machine emotional intelligence analysis of affective physiological state[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2001,23(10):1175-1191.
[3] KIM K H,BANG S W,KIM S R.Emotion recognition system using short-term monitoring of physiological signals[J].Medical and Biological Engineering and Computing,2004,42(3):419-472.
[4] YANG Z F,LIU G Y.Emotion recognition based on nonlinear features of skin conductance response[J].Journal of Information & Computational Science,2013,10(12):3877-3887.
[5] YAN F F,LIU G Y,LAI X W.The research on material selection algorithm design with improved OWA in active regulation system based on human-computer interaction[J].Journal of Information and Computational Science,2013,14(9):4477-4486.
[6] 谢凌钦,石萍,蔡文杰.可穿戴式智能设备关键技术及发展趋势[J].生物医学工程与临床,2015,19(6):635-640.
[7] 石萍,喻洪流.光电容积描记技术原理及其应用[J].生物医学工程学杂志,2013,30(4):899-904.
[8] 吴灶全,刘梦星,秦丽平,等.基于ARM Cortex-M0+内核的穿戴式医疗设备MCU选型分析[J].中国医疗器械杂志,2015,39(3):192-196.
[9] 赵国朕,宋金晶,葛燕,等.基于生理大数据的情绪识别研究进展[J].计算机研究与发展,2016,53(1):80-92.
作者信息:
李英春1,尤 磊1,贺靖康1,周 柯2,赵立强1,李 烨1
(1.陕西科技大学 电气与信息工程学院,陕西 西安710021;2.西安沧海网络科技有限公司,陕西 西安710000)