• 全国 [切换]
  • 深圳市鼎达信装备有限公司

    扫一扫关注

    当前位置: 首页 » 新闻动态 » 真空技术 » 正文

    基于Kinect体感识别技术在LED显示屏上的应用

    放大字体  缩小字体 发布日期:2021-10-27 15:34:29    浏览次数:65    评论:0
    导读

    摘要:现今,LED显示屏已经广泛的运用在广告及商业地产等行业中。但是传统的LED显示屏只能单一的显示预设好的视频或图片、文字内容,很难抓人眼球。因此,新兴的交互式LED显示屏应运而生,其可以通过体感识别来改变播放内容甚至还能通过动作、手势实现人机交互。本文研究的是基于Kinect体感识别技术在LED显示屏上的应用,具

    摘要:现今,LED显示屏已经广泛的运用在广告及商业地产等行业中。但是传统的LED显示屏只能单一的显示预设好的视频或图片、文字内容,很难抓人眼球。因此,新兴的交互式LED显示屏应运而生,其可以通过体感识别来改变播放内容甚至还能通过动作、手势实现人机交互。本文研究的是基于Kinect体感识别技术在LED显示屏上的应用,具有广阔的实际应用前景。

    关键词:体感识别;LED显示屏;Kinect

    1 引言

    体感互动是通过硬件互动设备、体感互动系统软件以及三维数字内容,来感应站在窗口前的观看者,当观看者的动作发生变化时,窗口显示的画面同时发生变化。

    体感互动应用在LED显示屏上的优势:

    (1)体现业主的高科技性、前沿性、信息性、比传统展示更有优势。

    (2)集趣味性、观赏性、艺术性、文化性、科技性、人性化于一体。

    (3)当参与者走近,系统自动感应并友好互动。增加参与者在展厅的停留时间。

    (4)人机交互的互动方式和互动内容可吸引参与者自发参与,并引起围观。使展项成为参与者体验和关注的热点。

    2 系统功能介绍

    整套系统包含了Kinect感应器、控制处理计算机、LED显示屏三大部分。

    Kinect 是微软推出的一款体感设备,并配有Windows开发包。Kinect感应器是一个外型类似网络摄影机的装置。Kinect有三个镜头,中间的镜头是 RGB 彩色摄影机,左右两边镜头则分别为红外线发射器和红外线 CMOS 摄影机所构成的3D结构光深度感应器。Kinect还搭配了追焦技术,底座马达会随着对焦物体移动跟着转动。Kinect也内建阵列式麦克风,由多组麦克风同时收音,比对后消除杂音。

    图1 系统框图

    图2 Kinect感应器

    控制处理计算机负责接收Kinect的数据,处理这些数据将它与库中的标志姿势对比判断,做出相应的响应,并将相对应的视频送往显示屏播放。

    LED显示屏 一块普通的LED全彩显示屏,只要是同步控制方式即可。

    3 简单POSE识别举例

    挥手是最简单最基本的手势。使用算法方法能够很容易识别这一手势,但是之前讲到的任何方法也能够使用。虽然挥手是一个很简单的手势,但是如何使用代码来识别这一手势呢?读者可以在镜子前做向自己挥手,然后仔细观察手的运动,尤其注意观察手和胳膊之间的关系。继续观察手和胳膊之间的关系,然后观察在做这个手势时身体的整个姿势。有些人保持身体和胳膊的不动,使用手腕左右移动来挥手。有些人保持身体和胳膊不动使用手腕前后移动来挥手。可以通过观察这些姿势来了解其他各种不同挥手的方式。

    挥手动作定义为:从胳膊开始到肘部弯曲。用户以胳膊肘为原点来回移动前臂,移动平面和肩部在一个平面上,并且胳膊和地面保持平行,在手势的中部,前臂垂直于后臂和地面。下图展示了这一姿势。

    图3 挥手动作特征示意图

    从图中可以观察得出一些规律,第一个规律就是,手和手腕都是在肘部和肩部之上的,这也是大多是挥手动作的特征。这也是我们识别挥手这一手势的第一个标准。

    第一幅图展示了挥手这一姿势的中间位置,前臂和后臂垂直。如果用户手臂改变了这种关系,前臂在垂直线左边或者右边,我们则认为这是该手势的一个片段。对于挥手这一姿势,每一个姿势片段必须来回重复多次,否则就不是一个完整的手势。这一运动规律就是我们的第二个准则:当某一手势是挥手时,手或者手腕,必须在中间姿势的左右来回重复特定的次数。使用这两点通过观察得到的规律,我们可以通过算法建立算法准则,来识别挥动手势了。

    算法通过计算手离开中间姿势区域的次数。中间区域是一个以胳膊肘为原点并给予一定阈值的区域。算法也需要用户在一定的时间段内完成这个手势,否则识别就会失败。这里定义的挥动手势识别算法只是一个单独的算法,不包含在一个多层的手势识别系统内。算法维护自身的状态,并在识别完成时以事件形式告知用户识别结果。挥动识别监视多个用户以及两双手的挥动手势。识别算法计算新产生的每一帧骨骼数据,因此必须记录这些识别的状态。

    记录手势识别状态的两个枚举和一个结构。第一个名为WavePosition[1]的枚举用来定义手在挥手这一动作中的不同位置。手势识别类使用WaveGestureState枚举来追踪每一个用户的手的状态。WaveGestureTracker[1]结构用来保存手势识别中所需要的数据。他有一个Reset方法,当用户的手达不到挥手这一手势的基本动作条件时,比如当手在胳膊肘以下时,可调用Reset方法来重置手势识别中所用到的数据。

    手势识别类的最基本结构:它定义了五个常量:中间区域阈值,手势动作持续时间,手势离开中间区域左右移动次数,以及左手和右手标识常量。这些常量应该作为配置文件的配置项存储,在这里为了简便,所以以常量声明。WaveGestureTracker数组保存每一个可能的游戏者的双手的手势的识别结果。当挥手这一手势探测到了之后,触发GestureDetected事件。

    当主程序接收到一个新的数据帧时,就调用WaveGesture的Update方法。该方法循环遍历每一个用户的骨骼数据帧,然后调用TrackWave方法对左右手进行挥手姿势识别。当骨骼数据不在追踪状态时,重置手势识别状态。

    挥手姿势识别的主要逻辑方法TrackWave的主体部分。它验证我们先前定义的构成挥手姿势的条件,并更新手势识别的状态。方法识别左手或者右手的手势,第一个条件是验证,手和肘关节点是否处于追踪状态。如果这两个关节点信息不可用,则重置追踪状态,否则进行下一步的验证。

    如果姿势持续时间超过阈值且还没有进入到下一步骤,在姿势追踪超时,重置追踪数据。下一个验证手部关节点是否在肘关节点之上。如果不是,则根据当前的追踪状态,挥手姿势识别失败或者重置识别条件。如果手部关节点在Y轴上且高于肘部关节点,方法继续判断手在Y轴上相对于肘关节的位置。调用UpdatePosition方法并传入合适的手关节点所处的位置。更新手关节点位置之后,最后判断定义的重复次数是否满足,如果满足这些条件,挥手这一手势识别成功,触发GetstureDetected事件。

    唯一需要注意的是UpdatePosition方法。TrackWave调用该方法判断手的位置已经移动。他的最主要目的是更新CurrentPosition和Timestamp属性,该方法也负责更新InterationCount字段合InPorgress状态。

    完成上述步骤就可以实现挥动手势识别的逻辑了。LED显示屏播放正常视频,当人在Kinect 前完成挥手动作,LED显示屏可以播放一段特定的视频,至此一个简单的互动完成。

    4 结束语

    本文提出了基于Kinect传感器实现LED显示屏互动的方案。深入开发的话,可以完成一些较为复杂动作的识别,以达到人机互动的效果。体感识别技术运用在LED显示屏这一领域可以拓展新的细分市场,具有广阔的实际应用前景。


     
    (文/小编)
    打赏
    免责声明
    • 
    本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://2024.dingdx.com/news/show.php?itemid=1165 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
    0相关评论
     

    © Copyright 深圳市鼎达信装备有限公司 版权所有 2015-2022. All Rights Reserved.
    声明:本站内容仅供参考,具体参数请咨询我们工程师!鼎达信作为创新真空产品研发制造商,我们提供海绵吸具,海绵吸盘,真空吸盘,真空发生器,真空泵,真空鼓风机,缓冲支杆,真空配件,真空吊具等等产品

    粤ICP备17119653号