基于Kinect的智能家居体感控制系统的研究与设计

2016-12-20 20:38傅大梅倪瑛
价值工程 2016年32期
关键词:控制系统智能家居

傅大梅 倪瑛

摘要: 现有的智能家居控制系统中,多以操作终端的方式对智能家居实现控制,这种控制方式不够灵活。本文提出了一种基于体感技术的智能家居控制系统,该系统采用微软的Kinect体感设备识别人体动作和姿势,根据人体的不同动作向智能家居各设备发出相应的动作指令,以无线通信的方式接收动作指令后,进行相应的控制。研究结果表明,该系统能够有效、准确地识别人体的各种不同动作,并准确地发出相应的动作控制指令,控制家电、照明、窗帘等设备的开关。

Abstract: The existing intelligent home control system achieves intelligent home controlling by the way of the operation of the terminal. This way is not flexible enough. This paper presents an intelligent home control system based on motion sensing technology. This system uses Microsofts Kinect sensing equipment to recognize the human action and posture, and produces corresponding action commands which are transmitted in a wireless way to control the intelligent equipment. Research results show that the system can effectively and accurately identify the human bodys various movements, and accurately issued the corresponding action control commands, to control appliances, lighting, curtains and other equipment switches.

关键词: 体感技术;智能家居;控制系统

Key words: motion sensing technology;smart home;control system

中图分类号:TP273 文献标识码:A 文章编号:1006-4311(2016)32-0166-03

0 引言

随着科学技术的发展、社会的进步,人们对生活的质量要求也越来越高,尤其是对智能家居这方面的需求,人们需要一种更方便、更轻松、更智能的控制方式。目前现有的智能家居控制系统中,多以操作终端的方式对智能家居实现控制,如通过手机或平板实现对家电等设备的开关等。尽管现有的智能家居控制方式已经很先进,但是必须通过操作终端的控制形式使得控制方式不够灵活。在微软xbox的游戏中有一种“体感”操作技术,它通过彩色摄像头和深度摄像头,不仅能获得人体的彩色图像信息,还可获得人体各部分的深度信息,捕获人体的动作。Kinect识别的对象是用户的身体,用户可通过身体的动作、姿势来控制游戏中的人或物,这样Kineet使得用户与游戏环境结合,形成了一套完整的人机交互游戏控制系统。Kinect体感技术已广泛地应用在各种人机交互游戏、3D场景重建、机器视觉等领域口,体感技术已经成为人机交互的一种重要手段,具有直观性、自然性的特点,将这种体感技术应用到智能家居中将可以弥补现有操作方式的不足,丰富控制方式,适合不同的人群的需求。因此,本课题的研究目的是将体感技术应用、集成到智能家居控制系统中,系统既可以通过人体的动作来控制家居设备的运行状态,同时具有终端控制功能,可以弥补现有操作方式的不足,这样用户可以根据需要进行选择,适合不同的人群的需求。

1 系统总体方案

本文设计了物联网技术和视觉处理联合控制的智能家居系统。

该系统具有三种控制方式:

①使用Kinect体感识别技术,经PC上位机处理人体姿势后发送至控制端达到对家居设备的体感控制。

②控制端搭载各类传感器来实现对智能家居的自动监控。

③本设计还结合云计算技术以实现远程终端控制。用户可以所在的场合、环境、喜好选择其中的一种控制方式。具体实现是通过Kinect体感摄像头与体感识别技术结合,并通过AVR单片机控制驱动各设备做出相应动作。AVR单片机同时连接各种传感器采集数据,将数据进行处理,使各设备也能实现自动控制,达到智能的目的。最后所有设备汇集至智能网关,由网关统一上传至物联网云平台实现远程控制。系统总统方案如图1所示。

Kinect体感设备用来捕获人体姿势。当人体做出姿势,系统通过Kinect体感传感器识别出人体姿势,然后通过计算机以无线通信的形式给单片机发送指令,单片机发送指令给驱动电路,驱动电机开启或开关关闭。

2 系统硬件设计

2.1 总体结构设计

数据采集控制模块包含各种传感器模块、单片机及控制器,传感器有光线传感器、温湿度传感器、PM2.5粉尘传感器等,控制器有继电器、步进电机等。单片机读取传感器数据通过无线通信模块发送出去,同时单片机利用无线通信模块接受命令,驱动对应控制器。

体感识别模块包含Kinect摄像头,PC上位机与通信模块。Kinect摄像头采集体感信息,由上位机进行处理,得到相应指令后由无线通信模块发送出去。

智能网关云端模块包含智能网关、物联网云平台和无线通信模块。网关负责与互联网通信,通过无线模块与采集控制模块,将传感器数据上传至物联网云平台,同时接受物联网云平台控制指令从而控制体感智能控制系统的采集控制模块。

以窗帘控制为例,硬件设计如图2所示。

2.2 体感设备的选取

体感摄像头是整个系统最关键的部分,各种人体姿势必须通过它来获得。该系统使用的体感摄像头是来自Microsoft的Kinect for Windows。Kinect就是一种典型的体感摄影头,有着即时动态捕捉、影像识别、麦克风输入和语音识别等功能[1]。Kinect体感设备具备三个不同的镜头,中间是 RGB 彩色摄影机,用来采集RGB彩色图像。而左右侧的两个镜头,则分别是红外线发射装置和红外CMOS 摄影机,它们共同构建了3D结构光深度感应器,用来采集深度数据(摄像头拍摄范围内物体到摄像头的距离)[2][3]。同时,Kinect还搭配了追焦技术,底座上有马达,马达会随对焦物体移动而转动。

2.3 采集控制模块

本设计的采集控制模块统一采用Arduino pro作为控制模块核心,通过搭载不同的传感器与控制器实现设计所需功能。Arduino主要包含两部分:硬件部分是Arduino电路板;另外一个则是Arduino IDE,这是一种存于计算机中的程序开发环境。只须在IDE中编写程序代码,然后将程序上载至Arduino后,程序会自己向Arduino解释要做什么。Arduino能通过搭载各种传感器来感知环境,同时通过控制灯光、马达和其他的装置来反馈、影响环境。本设计要采用的Arduino pro是Arduino系列中最为袖珍的一款。体积小,利于系统的集成与放置。Arduino pro 麻雀虽小五脏俱全,功能上和Arduino标准版是完全相同的,并且成本上更低。

2.4 智能网关

本设计采用了Raspberry Pi 2b型作为体感智能家居控制的智能网关。Raspberry Pi是一种针对计算机技术爱好者及中小型企业开发的嵌入式开发板。Raspberry Pi可以运行Linux系统和Window10系统,体积仅信用卡大小。树莓派搭载了高性能的ARM V7架构处理器,运算性能上和目前常见的智能手机相仿,可以把它看做是一块Linux开发板,性能上完全满足作为网关的要求。成本低廉,性能强劲,易于大批量采购,有很高的性价比。在接口方面,Raspberry Pi提供了多个USB接口,快速以太网接口、SD卡扩展接口以及40个i/o接口,接口丰富。Raspberry Pi 2b+和市面上常见的linux开发板相比除了性价比高这一优点外,还更加易于开发,足够多的i/o接口和usb接口是大多数其他开发板难以企及的,如图3所示。

2.5 通信模块

当检测到人体动作后,计算机接受指令后,通过无线通信方式发出,被控制器接受。无线通信是体感智能家居系统中的重中之重。目前智能家居通信上已形成了蓝牙4.0、WiFi、ZigBee三种无线通信技术鼎立的局面,这三种主流的无线通信方式各有优劣,出于对通过智能家居系统外的其他物联网设备的控制兼容性与取长补短考虑,本系统同时使用这三种无线通信模块,取长补短。系统采用了TI公司的cc2530用于PM2.5传感器,人体红外传感器火焰传感器与系统间的通信,这些传感器每日只需几次通信,单向通信,传输数据量也比较小。而且布置距离远,数量多,要求一点的数据安全性与可靠性。出于这些因素的考虑这些传感类设备就采用ZigBee通信。HC-05用于对esp8266的补充,对市面上已使用蓝牙通信的灯具、开关等的控制。出于成本与兼容性考虑使用蓝牙通信。HC-05就具有成本低廉,性能稳定,兼容性良好的特点。Esp8266:用于光线传感器,温湿度传感器与各电器的控制,这些模块通信数据量大,连接时间长,通信距离远,节点、模块不仅型号繁杂,而且数量庞大,出于性能考虑使用WiFi通信。Esp8266是目前世面上使用最多的WiFi串口模块,价格十分低廉,性能强劲,可靠性良好,功耗低。

3 软件设计

体感识别处理:

体感识别,首先是从红外采集摄像头采集到的黑白图像中将人体区分出来。这是一个从复杂数值中提炼有用的简单信息过程[4]。体感摄像头会对景深图像进行“像素级”识别,而识别过程和人认识物体的过程一样,都是先识别图像轮廓,再识别图像细节[4]。体感识别模块输入的是深度图像,输出的是目标人体轮廓。首先分析比较接近体感摄像头的区域,这也是最有可能存在“人体”的区域。任何人型的物体都有可能被体感摄像头跟踪识别成人体;其次会逐点扫描这些区域深度图像的像素,来判断具体属于人体的哪些部位。这一过程属于计算机图形视觉处理技术应用过程,包括图像二维化、边缘检测、噪声消除、对人体目标特征点分类等环节[4]。该系统通过这些技术最终将人体从背景环境中识别出来。Kinect利用人体20个骨骼点来定义人体姿态,通过定义人体的不同部位的坐标关系确定一系列人体姿态。人体姿态与控制指令的关系表1。

系统的体感识别程序采用Processing编程工具开发。Processing是Java编程语言的延续,并支持许多现有Java 编程架构,不过在语法上又简易了许多,且具有许多人性化的设计。为实现体感识别,本设计还采用了微软专为Kinect体感识别开发的KINECT SDK。

4 系统调试

4.1 体感识别调试

首先,连接好摄像头与串口模块,打开Processing开发工具,运行体感识别程序,结果如图4所示。

屏幕上出现黑白图像,串口无报错输出,说明程序已经成功运行,此时体感智能家居系统进入待机状态。

4.2 体感控制系统控制调试

体感控制系统运行后,在体感摄像头可拍摄的范围内摆手,出现如图5所示画面,此时系统已进入体感追踪状态。通过姿势点亮屏幕上对应箭头按钮,并控制,说明此时体感识别成功,对采集控制模块控制成功。进一步说明了此时体感智能家居模拟系统工作正常。

5 结束语

本项目以微软Kinect传感器为基础,整合了目前的先进物联网技术,尝试了新的智能家居控制方式,研究实现了手势识别系统在智能家居控制中的应用。目前体感智能家居系统已经可以识别人体姿势、采集环境数据、控制用电设备、窗帘、启动监控系统等,初步实现了设计目标,改进了目前常见的智能家居系统,探索了未来智能家居的发展方向。本研究可以推广应用到其它领域如在无菌环境的手术室或不方便接触使用操作设备的环境下,可以用手势轻松操作,实现人机交互。系统仍有需要进一步改进的部分,如还需要提高手势的正确识别率,更加友好的操作界面等[4]。

参考文献:

[1]顾容,何益明,金丽燕.基于Kinect骨骼追踪技术的智能教学控制系统的设计与实现[J].计算机应用与软件,2013,30(6):276-280.

[2]李健,路飞,田国会,刘志勇.基于Kinect的ppt全自动控制系统的研究[J].计算机工程与应用,2013,49(17):133-138.

[3]乔体洲,戴树岭.基于Kinect的人手姿态混合跟踪方法[J].计算机辅助设计与图形学报,2015,27(4):714-720.

[4]张鑫,徐文胜,刘阶萍,姚燕安.基于Kinect的智能花盆体感控制系统研究[J].机电工程,2014,31(9):1226-1230.

[5]吴志勇,杜振.基于Kinect传感器的家电手势控制应用研究[J].电视技术,2015,39(16).

猜你喜欢
控制系统智能家居
基于PLC的智能家居控制系统研究
智能家居发展或将实现弯道超车
基于PLC的自动切蛋糕机的控制方案
关于智能家居真正需求的探讨
基于LD3320的智能家居控制