基于手势识别的智能家居系统

2018-12-18 01:08任小康葛化亚丁星李道全
电脑知识与技术 2018年27期
关键词:手势识别智能家居互联网

任小康 葛化亚 丁星 李道全

摘要:为了解决智能家居行业中用户交互体验不佳和操作复杂等问题,本文将基于LeapMotion的手势识别技术融入智能家居系统,使用LeapMotion获取手腕、手掌和手指图像的深度信息与骨骼数据。设计了智能家居系统的硬件电路与相应的模块软件,并采用Socket技术实现了手势控制指令的传输。实验结果表明,该系统操作简单,能通过简单的手势实现对家居的操作。

关键词:Leap Motion;手势识别;智能家居;互联网+

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)27-0170-03

Design of Intelligent Home System Based on Gesture Recognition

REN Xiao-kang, GE Hua-ya, DING Xing, LI Dao-quan

(School of Information and Control Engineering, Qingdao University of Technology, Qingdao 266520, China)

Abstract: In order to solve the problems of poor user interaction experience and complex operation in smart home industry, this paper integrates the gesture recognition technology Based on LeapMotion into the smart home system, and uses LeapMotion to obtain depth information and bone data of wrist, palm and finger images. The hardware circuit and corresponding module software of smart home system are designed, and the transmission of gesture control instruction is realized by Socket technology. The experimental results show that the system is easy to operate and can be operated by simple gestures.

Key words: Leap Motion; gesture recognition; intelligent Home Furnishing; Internet plus

1 概述

近年来,人工智能已经成为这个时代最激动人心、最值得期待的技术,将成为未来10年乃至更长时间内IT产业发展的焦点。包括语音、体感等技术的智能设备也是层出不穷。

智能家居是在互联网影响下产生的,也是互联网+的体现。与普通家居相比,智能家居不仅具有传统的居住功能,还兼备建筑、网络通信、信息家电、设备自动化,提供全方位的信息交互功能,甚至为各种能源费用节约资金该智能家居系统涉及机械设计、机械制造、电器控制、体感技术、数据处理、硬件编程等诸多方面的知识[1-2]。该系统通过预先设置的手势可以轻松实现对家用电器的控制。例如:开关灯,拉闭窗帘,开关门,开关风扇等。为了解决这些问题,本文将基于LeapMotion的手势识别技术融入设计的智能家居系统。

2 系统综述

2.1 系统框架与原理

本系统拓扑结构如图1所示;图2所示為系统的原理框架图[3-4]。

本系统分为四个部分:操作者手势采集模块、数据分析处理模块、数据传输模块及动作执行模块。各模块功能如下:

操作者手势采集模块:操作者在LeapMotion扫描范围内做出命令手势,该部分通过Leap Motion将采集的数据传送给数据分析处理部分[5-6]。

数据分析处理模块:接受从操作者手势采集部分传来的数据,并对其进行分析生成手势命令。

数据传输模块:把经过手势识别处理得到的手势命令传送给动作执行模块

动作执行模块:接受从数据分析处理部分传来的手势命令,家居设备执行命令完成操作。

3 系统硬件设计

本系统硬件包括三部分:Leap Motion采集手势模块设计、树莓派执行动作命令模块设计及被控制的家居设备模块设计,下面分别做扼要介绍。

3.1 LeapMotion

LeapMotion是面向PC以及Mac的体感控制器。Leap Motion系统识别并跟踪手和手指。该设备以高精度(1/100 毫米)和跟踪帧率(200帧/秒)紧密结合并报告手和手指位置和运动。Leap Motion控制器的有效范围从设备上方约25毫米至600毫米(1英寸至2英尺),150°宽幅的控件视场。Leap Motion的主要原理是使用红外LED+灰阶camera的方式才采集数据,并生成3D数据。LeapMotion如图3所示。

4 系统软件设计

本系统软件设计主要分为手势数据处理分析模块(PC)、树莓派与主控制器通信模块以及各嵌入式模块软件设计。

4.1 手势数据处理分析模块

手势数据处理分析模块是从LeapMotion获取到的数据,经过处理分析得到指令的过程。处理分析的结果有两个大部分,一部分是与我们特定手势不符合,我们舍掉;另一部分是与我们特定手势相符合的,然后得到相应的指令,经数据传输模块发送到树莓派主控制器。

那么我们是如何分析的呢?首先我们需要先了解一下我们从LeapMotion获取的是什么数据。LeapMotion以帧采集数据,大约200帧每秒。一帧的画面里可以识别手臂、手掌和手指。我们这里只需手掌和手指。我们把它看成一个集合,一帧里面识别处两只手或一只手。每当出现在LeapMotion里的手我们给它赋一个ID,同一只手只要不超过LeapMotion检测范围,我们就一直保持这个ID。我们每隔0.2秒抽取一帧,当抽取集8帧我们视为一个单位,我们具体分析这个单位里的手势,如果超过两只手,则作废;如果这个单位里有连续两个空帧(未识别出手或者识别不出手势),则作废。我们通过这8帧里手的移动情况和手势情况来进行判定,来得到一个指令或作废。

关键代码如下:

手势方向判断代码段:

4.2 通信模块

这个模块应用了基于TCP/IP协议族的socket编程实现了从数据分析处理端到动作执行模块的数据传输。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。

我们的数据分析处理模块是Java环境,而动作执行模块是Python环境,我们用IP地址+协议+端口号来唯一标识一个网络进程。我们在Python环境里搭建一个服务器,并为Socket绑定Ip地址和端口号。服务器Socket监听端口号请求,随时准备接受客户端发来的连接。我们在Java环境里创建Socket客户端,打开Socket,根据服务器IP地址和端口号请求连接到服务器Socket,即Python环境下的服务器。当服务器Socket监听到或接收到客户端Socket连接的请求时,双方确认建立连接。连接成功后,客户端向服务器端发送手势命令信息。

4.3 各嵌入式模块软件设计

从Socket传输来指令到树莓派,我们判断具体是哪个指令来打开或关闭树莓派的某个引脚,然后调用相应函数来发送控制指令,来具体对继电器或舵机进行操作。

5 系统测试

此次系统测试对风扇控制子系统、门控制子系统、窗帘控制子系统和电灯控制子系统进行了多维度测试,包括恢复测试、安全测试、压力测试等。

经过测试判定该智能家居系统实现了预期需求,系统实现的正确性得到良好保证,系统的性能很好地满足了实际需要,而且该智能家居系统可靠性良好,易于使用。经过测试,该系统达到了预期效果。

6 结论

最终整体结果表明,LeapMotion可准確采集手势,并进行有效识别,发出控制指令;树莓派和简单的机械原件可以完成对家居的控制。基于手势识别的智能家居系统控制动作简单便捷,且识别率高,完全满足日常生活对家居设备控制的需要。

参考文献:

[1] 张燕.我国智能家居的现状和发展方向[J].山西电子技术, 2016(04).

[2] 邓中祚.智能家居控制系统设计与实现[D].哈尔滨工业大学, 2015.

[3] 黄俊,景红.基于Leap Motion的手势控制技术初探[J].计算机系统应用. 2015(10).

[4] S Bak,CLee,H Shin. "Edutainment content production utilizing the leap motion device,". Proceedings of The Korea Contents Associations. 2015.

[5] 李杨韬,禹东川,靳来鹏,宋文凯.基于LeapMotion手势识别的认知训练系统的设计和实现[J]. 电子设计工程, 2016(09).

[6] 林书坦,尹长青.基于LeapMotion的数字手势识别[J].电脑知识与技术,2015(35).

[通联编辑:梁书]

猜你喜欢
手势识别智能家居互联网
基于Zigbee的无线通信技术在智能家居中的应用
基于手势识别的工业机器人操作控制方法
从“数据新闻”看当前互联网新闻信息传播生态
互联网背景下大学生创新创业训练项目的实施
关于智能家居真正需求的探讨
基于LD3320的智能家居控制