文献标识码: A
DOI:10.16157/j.issn.0258-7998.190091
中文引用格式: 赵琳,方艳红,张红英,等. 基于体感交互的智能家居控制与监护系统[J].电子技术应用,2019,45(6):101-103.
英文引用格式: Zhao Lin,Fang Yanhong,Zhang Hongying,et al. Smart home control and monitoring system based on somatosensory interaction[J]. Application of Electronic Technique,2019,45(6):101-103.
0 引言
随着科学技术的日益发展和社会的进步,人们对美好生活的需求日益增长,对生活质量也有越来越高的要求。人们的家电控制方式从最初的按下按钮使开关闭合发展为红外遥控,甚至到手机小程序应用。现今甚至可以进一步脱离手机应用程序,利用体感技术来实现对家居设备的控制[1]。
本文在现有的智能家居技术的理论基础上[2-3],设计了一种基于体感交互的智能家居控制与监护系统,用户可以通过简单的手势实现对家居设备的控制。对于有老人或小孩的家庭,当出现有人突然摔倒等危险情况时,系统会自动报警并且将现场实际情况发送给监护人。
1 系统整体结构设计
系统主要由感知终端模块、核心处理模块和信号处理模块组成,系统整体结构框图如图1所示。
由图1可知,系统在感知终端获取视频图像信息后,传递给核心处理模块,在核心处理模块中完成手势判定和摔倒检测,之后,一方面将检测到的摔倒信息利用网络发送到用户预留的地址;另一方面将手势识别信号通过串口发送给上位机微控单元(MCU),在ZigBee局域网中的下位机MCU接收上位机发出的控制信息,实现对电器设备的控制。
2 系统设计及实现
系统的设计流程图如图2所示。
在图2的系统设计流程中,感知终端采用Kinect传感器实现信息采集;核心处理端依据骨骼关节点空间信息进行动作判定,并对动作做出响应;当用户需要完成家居控制服务时,将信息传输给MCU,实现家居设备的控制,当发现危险情况时,通过网络将信息发送给监护人。
2.1 信息采集
系统的信息采集使用Kinect传感器获取人体20个骨骼节点信息,依据骨骼节点的三维位置信息创建对应人体骨架,对相应的人体骨架进行坐标定位。
2.2 信息处理
信息处理包括实时对接收的数据进行手势判定[4-6]和摔倒检测[7-8]。
2.2.1 手势判定
Kinect传感器的信息采集频率是30帧/s,当连续30帧的右手骨骼点坐标变化超出阈值时,认为手势发生并提取数据流,与模型对比完成分类。
以右手骨骼点到脊柱骨骼点以及左右肩骨骼点的欧式距离作为手势判别的特征数据,欧式距离计算公式为:
式中,d为欧式距离数值大小,(x1,y1,z1)、(x2,y2,z2)分别为空间中任意两点的三维坐标。
对获取的数据进行拟合得到待匹配序列。将待匹配序列与模板序列比对,当差值在阈值范围内则匹配到当前模板,完成手势分类。
系统中预先定义了两个模板,每个模板保存有右手骨骼点到左右肩以及脊柱关节点的距离,定义了e1、e2、e3、e4、e5、e6用于保存待匹配序列与模板序列骨骼点相对距离的误差,计算公式为:
其中,E为右手骨骼点到左右肩节点或脊柱节点的误差,ai为模板中存放的某一骨骼点相对距离大小,bi为实时获取的对应骨骼点相对距离大小。
e1、e2、e3分别表示右手到模板一脊柱、左肩、右肩的距离误差,e4、e5、e6分别表示右手到模板二脊柱、左肩、右肩的距离误差,系统设定的误差阈值(单位:m)分别为4、3、3、3、3、5。当有待匹配序列满足某一模板设定的阈值条件时,认定该模板所代表的手势发生。
2.2.2 摔倒检测
受文献[7]和文献[8]中利用加速度传感器检测摔倒的启发,本文利用采集的骨骼点空间位置信息,在被监护者不佩戴任何仪器设备的情况下获得其活动加速度数据。
以脊柱中心骨骼点为例,根据基本物理运动学知识,加速度计算公式为:
其中,at表示第t帧中骨骼点的加速度大小,xt+1、xt-1分别表示与前后帧骨骼点的变化量,Δt是采样时间间隔,本文的采样间隔时间是1/30 s。
由于一些比较剧烈的运动可能会产生较大的加速度而导致误判,因此本文进一步检测关节的距离变化来提高检测的准确性。整体的摔倒检测实现流程如图3所示。
由图3可知,摔倒判定需同时满足加速度超出阈值和骨骼距离小于阈值两个判定条件。其中,骨骼距离是指髋骨和膝盖在竖直方向上的相对位置。经过多次摔倒测试,本文设置的加速度阈值设定为0.05 m/s2,骨骼点距离阈值设定为0.5 m。
2.3 信息传输
信息传输包括与移动端的远程通信和与MCU的串口通信。
2.3.1 远程通信
当检测到有摔倒情况发生后,通过网络将报警信息和当前图片信息发送到第三方云端服务器,服务器将信息发送到用户手机端,使在外的家人能够及时获知危险情况,如图4所示。
2.3.2 串口通信
当需要完成家居控制服务时,核心处理单元通过USB串口向MCU发送信息,MCU根据接收到的信息对家居电器进行判断操作。
系统使用CC2530作为微控单元MCU。CC2530是TI公司推出的一款芯片,里面包含了51单片机的内核与ZigBee技术。其中的ZigBee是一种短距离局域网无线通信技术,工作在2.4 GHz频段,传输速率10 kb/s~250 kb/s,传输距离10~100 m[9],具有低功耗、低成本的特点[10]。
CC2530需要完成的信息处理分为上位机与下位机两部分。上位机主要接收核心处理单元的数据信息,处理分析,通过局域网方式将信息传送到下位机。下位机控制电器设备。图5所示是用CC2530实现家居智能开关的设计流程。
在图5所示的CC2530设计流程中,上位机协调器实时接收从串口发送来的字符,并通过ZigBee无线协议把字符发送到下位机终端,终端根据收到字符控制家电开关。
3 实验及结果分析
将系统硬件设备连接,其中Kinect设备通电并连接到PC,ZigBee协调器通过USB数据线连接到PC串口,对受控终端供电。在室内自然光条件下进行测试,依次打开上位机控制程序、手势识别程序。工作区显示ZigBee成功组网,Kinect摄像头正常工作。进行两组手势控制测试,每组30次,结果记录见表1。
如表1数据所示,两组测试实验的控制成功率分别为86.7%和80%,能够满足日常家居控制的设计需求。
摔倒检测实验中,当出现有人异常摔倒情况时,系统提示“fall detection”,并将报警信息和当前图像(如图6所示)发送到监护人手机端。
4 结束语
本文介绍了基于体感交互的智能家居系统,该系统集智能家居控制、实时检测危险状况于一体,使用户脱离了遥控器、手机APP等终端,只需通过手势就可以控制家居设备;当家中有老人或小孩意外摔倒时,系统会自动检测危险状况并及时向监护人报警。系统采用Kinect作为信息采集设备,检测范围较大且不易受室内光线强度影响,即使在夜间光量不足的情况下也能使用。
参考文献
[1] 傅大梅,倪瑛.基于Kinect的智能家居体感控制系统的研究与设计[J].价值工程,2016,35(32):166-168.
[2] 张嘉庆.浅析中国智能建筑中智能家居的现状及未来[J].中国战略新兴产业,2018(4):47.
[3] 吴杰文,左宸羽,倪银堂,等.智能家居的研究现状综述与展望[J].中国战略新兴产业,2017(16):6.
[4] 管珊珊.基于Kinect的手势识别研究进展[C].中国计算机用户协会网络应用分会2018年第二十二届网络新技术与应用年会论文集,2018.
[5] 陈红梅,赖重远,张洋,等.基于深度数据的手势识别研究进展[J].江汉大学学报(自然科学版),2018,46(2):101-108.
[6] 徐军,刘春花,孟月霞,等.可穿戴手势识别控制器[J].电子技术应用,2016,42(7):68-71,75.
[7] 彭亚平,贺乾格,柯希垚,等.一种基于加速度传感器的摔倒检测腰带[J].电子测量技术,2018,41(11):117-120.
[8] 徐慧慧,杨淼,钱超瑜.基于三轴加速度传感器的摔倒检测系统[J].黑龙江科技信息,2017(6):76.
[9] 廖慧,阳序仁.基于CC2530的LED智能照明系统的设计与实现[J].电力电子技术,2018,52(11):33-35.
[10] 李建勇,李洋,刘雪梅.基于ZigBee的粮库环境监控系统设计[J].电子技术应用,2016,42(1):65-67,71.
作者信息:
赵 琳1,方艳红1,2,张红英1,2,王学渊1
(1.西南科技大学 信息工程学院,四川 绵阳621010;2.特殊环境机器人技术四川省重点实验室,四川 绵阳621010)