基于动作识别技术的导购系统设计与实现

2019-11-11 13:14廖翔宇甘宇健喻光继
电脑知识与技术 2019年27期
关键词:手势识别

廖翔宇 甘宇健 喻光继

摘要:本文分析了动作识别的研究现状和技术原理,并通过光学体感设备所获取的深度数据信息转换出的骨骼数据,对动作进行识别,并运用在导购系统中,实现手势动作隔空操控系统。该导购系统在识别用户动作方面具有较高的精确性和稳定性,其采用光学式的捕捉方式使得在实际应用中更具有实用价值。

关键词:深度数据;动作识别;手势识别;导购系统

中图分类号:TP393        文献标识码:A

文章编号:1009-3044(2019)27-0187-03

Abstract:In this paper, the research status and technical principle of action recognition are analyzed, and the bone data converted from the depth data information obtained by optical somatosensory equipment are used to recognize the action and apply it to the guidance and purchase system. The gesture action spacer control system is realized.The purchase guidance system has high accuracy and stability in identifying user movements, and its optical capture method makes it more valuable in practical application.

Key words:DepthData; Action Recognition;GestureRecognition; Guidance And Purchase System

在人工智能高速发展的趋势下,动作识别技术在各个领域的应用价值已初见端倪,给人们带来了革命性的体验。虽然现在动作识别技术的发展重点在游戏领域,但是从长远发展来看,动作识别技术的应用必将呈多样发展趋势。如今的无人经济市场,从无人机送货、无人汽车到最贴近广大消费者生活的无人商店,都颠覆了传统的经营模式,更受到商业市场的重视和欢迎。面对未来的无人经济市场,如何抓住机遇,将动作识别技术在无人商店中进行应用,将是我们需要去探讨研究的问题。

1 动作识别技术的研究现状

人机交互技术出现至今, 已应用到了生活中的方方面面并展现出良好的应用前景。在2013年,微软推出的新一代体感设备kinect2.0,可以实时准确地捕捉人体动作、面部及语音特征[1]。这些特性很好地弥补了人机交互技术现有的缺陷,使动作识别成为人机交互领域中的一个研究热点。它的出现, 给众多科技爱好者和热衷人工智能的IT从业者带来无穷的想象,使医学、商业及机器人等多个领域迎来新一轮变革,如ARDoor公司基于Kinect设备开发的“试衣魔镜”给顾客带来了无须脱衣也能换装的体验[2];广州大学实验中心通过体感虚拟装配系统[3],降低了对传统鼠标键盘的依赖;由罗元等人[4]为实现控制轮椅运动,基于Kinect传感器设计的智能轮椅系统。可以预测, 随着未来智能化生活的到来和体感设备功能的完善, 基于动作识别的人机交互应用将越来越值得期待。

2 基于Kinect的动作识别方法

目前对动作进行捕捉识别的常用方法从原理上可分为电磁式、机械式、声学式和光学式,其中光学式的捕捉方法对环境要求和识别者较为友好。本文主要通过光学式的体感设备Kinect2.0来对外界进行即时动态捕捉,并借助微软所提供的Kinect2.0 SDK将捕捉到的深度数据分离出骨骼数据来进行动作识别的研究设计。

2.1 Kinect2.0获取深度数据

Kinect2.0的视锥是由X、Y、Z坐标轴表示的三维立体空间。Kinect2.0通过红外投影仪持续主动的投射出红外光谱,光谱照射到三维空间内粗糙物体或是穿透毛玻璃后光谱会发生扭曲,形成随机反射斑点。深度摄像头通过分析捕获到的随机反射斑点生成具有三维坐标数据的深度数据,通过深度数据可以有效地描述三维空间内的物体。

2.2 基于深度数据的骨骼追踪技术

骨骼追踪技术的原理是通过对Kinect2.0捕获到的深度图像数据进行边缘检测,将人体从整个深度图像中提取出来,再使用随机森林模型对人体部位进行识别,最后结合基于高斯核函数的局部模型识别方法来对关节位置进行追踪[5]。深度图像数据最多可以转换出25个可视化的人骨骼体关节点(如图1)。本文将在骨骼关节点运动轨迹特征的基础上对动作识别技术进行系统应用。

3 系统交互动作的设计

微软所提供的Kinect2.0 SDK中的动作识别引擎并不多,在新的动作识别引擎没有提供之前,需要自行编写算法来识别系统所要识别的动作。但在系统捕捉动作过程中,因为被识别者常常会有其他无意识的动作,所以在所设计的交互动作中应避免设计的动作与人体所做的无意识动作相似。

3.1所能识别的动作范围

虽然导购系统可以基于25个可视化骨骼关节数据识别出人体多数动作,但并非所有動作都适用于实际应用。在日常生活中,手是控制外部设备最常用的部位,所以根据手部肢体位置的变化即以手势作为导购系统与外界交互的方式较于用其他部位的动作显得更自然、简洁和丰富。为使得手势交互更具人性化和高容错率,交互手势应遵循以下原则:

1)交互手势的移动范围应尽可能小

根据人机工程学的设计思想,用户与机器交互所使用的手势运动范围应尽可能地小,这样不仅缓解了使用者短时间内因交互引起的疲劳,也避免了大范围动作给人带来的尴尬心理[6]。

2)交互手势应符合人类自然常用手势

所设计的手势应使用户能自然地与机器交互,而无须专门学习,以减少用户做出手势的难度。因而,所设计使用的手势应契合使用者的自然习惯。

3)所选手势应具有特殊轨迹

许多动作的运动轨迹是相识的,虽然通过动作的重复能提高识别率,但会造成识别时间上的延长,所以应找到具有特殊轨迹的手势,以尽量减少识别时动作的重复,提高识别速度。

3.2整体算法设计

人类对于人体动作的判断是基于视觉的,当眼睛看到人体后,通过大脑中对于动作的描述,判断所做的动作。同样的,在计算机的动作识别过程中,也要首先获取“视觉信息”,即深度数据,作为判断动作状态的基础。本文根据捕获的深度数据所得出的25个骨骼关节点数据,设计出判定方法,判断所做的动作,基本思路如下:

当设备捕获到深度图像数据时,检测深度图像数据中是否包含有人体骨骼特征数据,即25个骨骼关节点;将其中具有骨骼关节点的数据一帧一帧地进行判断。根据所要识别的动作,设定其运动的关键轨迹,再选取动作轨迹中主要关键点,将这些点作为判断动作是否符合的条件,并收集判定结果,需要注意的是收集条件判断的结果的先后顺序要和动作运动时所经过的轨迹点顺序一致。当动作进行过程满足所有条件,即动作与设定轨迹点一一相符,则输出该动作名称。

在整个识别动作过程中需要注意的是,动作是一个动态的过程,它是以一定的速率进行运动的,若识别时间过长,则会被认为是相互独立的动作而非连续动作。本文在判断条件内加入时間属性,在即将更新状态之前,检查动作开始和结束的时间,若时间差大于事先设定的时间值,则移除之前的动作起始点,以现在的位置点作为新的动作起始点。

4 导购系统的实现

本文通过设计导购系统所采用的交互动作和识别动作的算法,将动作识别技术应用到导购系统中,实现基于动作识别的智能无人导购系统。系统使用者可以通过系统所能识别的交互动作与系统进行精确、快速的交互,使人与系统本身自然地融合在一起,为人们带来智能化的购物体验和享受。

4.1系统实现方式

导购系统采用C#语言进行开发,通过Kinect2.0设备获取实时深度数据。系统使用Kinect2.0 SDK提供的骨骼追踪的基本库,直接调用其内置库中的深度图像数据流获取数据,通过本文所设计的算法得出人体当前所进行的动作,根据得到的动作变化最终实现根据人体的不同动作来控制系统进行非接触式的智能化导购。

4.2  识别用户获取物品功能的实现

导购系统识别用户是否获取物品的方法是通过体感器获取顾客手部关键骨骼关节点的变化情况从而控制系统做出对应的反馈。以右手拿取物品过程为例,当体感设备识别范围内出现可识别人体,且右手腕关节点向商品位置移动并靠近物品时,体感设备开始检测手势变化情况。如果25个骨骼关节点中的右手关节(第11个点)、右中指关节(第24个点)和右手拇指关节(第23个点)这三个关节点之间的空间距离在所设定时间内缩短至设定距离范围,则导购系统判定该顾客拿取该商品,并将商品信息以视频文字等形式呈现给用户。如果顾客拿取商品后在极短时间里三点之间的空间距离变大,则导购系统将判定该顾客放弃该商品的选购。

4.3 手势控制视频切换浏览功能的实现

视频切换所用的实现方法为检测用户是否在进行挥手的动作,根据挥手的不同方向对物品信息介绍进行上下切换。以右手向左挥动的动作为例,当体感设备识别范围内出现可识别人体,体感设备判断用户的右手在进行从右向左挥动的动作后,系统将判断用户想要切换视频。那么,系统将为顾客切换到上一个商品视频信息。挥动的过程所对应关节的位置条件设置为:当25个骨骼关节点中的右手关节(第11个点)出现在右胳膊肘(第9个点)前端,且处于右肩关节(第8个点)下方时,在一段极短时间内,右手关节点(第11个点)由右肩关节点(第8个点)外侧即身体的外侧到与右肩关节点(第8个点)重合处,最后处于左右两肩之间。

5 结论与展望

本文通过Kinect2.0获取的深度数据所分离出的骨骼关节数据对动作识别技术进行分析和研究,针对店铺商品导购的实际环境,提出识别手势的方法,并应用到导购系统中。该基于动作识别的导购系统不仅提高了与顾客的互动性,而且减少了商铺雇佣导购员的资金投入和降低顾客与传统导购员间的尴尬感。同时系统仍然存在一些不足,后续将对以下几个方面进行进一步研究:将研究识别更多的动作进行应用实践,以实现更多的交互方式;加入同时对多人手势做出反应的功能;进一步提高手势识别精度。

参考文献:

[1] Kinectfor windows微软中国体感官方网站http://www.k4w.cn/news/1.html

[2]百度百科. 试衣魔镜https://baike.baidu.com/item/试衣魔镜

[3]廖宏建,曲哲.基于Kinect体感交互技术的虚拟装配实验系统开发[J].实验技术与管理,2013,30(7):98-102.

[4]罗元,谢彧,张毅.基于Kinect传感器的智能轮椅手势控制系统的设计与实现[J].机器人,2012,34(1):110-113+119.

[5]Jamie Shotton,Andrew Fitzgibbon,MatCook,et al.Realtime human pose recognition in parts from single depth images[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2011:129-134.

[6] 秦悦.产品人性化设计中的人机工程学[J].现代营销(学苑版),2011(5):168-169.

【通联编辑:唐一东】

猜你喜欢
手势识别
基于手势识别的工业机器人操作控制方法