一种Kinect工作区域的划分方法与应用_2

文档序号:9810030阅读:来源:国知局
/停止"指令;
[0067] II.右手移出区域RB,模型输出null并回到Qo状态;
[0068] III.右手处于区域RB且处于张开状态,模型输出nul 1并维持在〇2状态,表示继续 等待进入连续型指令执行;
[0069] R3右手布尔型指令待触发状态,此时右手处于区域RC,有三条状态跳转路线:
[0070] I.右手处于区域RC且处于握拳状态,模型输出Fc(LEFT)并跳转到Qo状态,其中Fc (LEFT)表示与左手状态相关的函数,此时若左手处于&状态,则触发"快退"指令,若左手处 于Q2状态,则触发"音量减"指令,若左手处于Q 3状态,则触发"下一曲"指令,若左手处于Qo状 态,则触发"开始/停止"指令;
[0071] II.右手移出区域RC,模型输出null并回到Qo状态;
[0072] III.右手处于区域RC且处于张开状态,模型输出null并维持在&状态,继续等待 布尔型指令的触发;
[0073] Q4右手连续型指令执行状态,此时右手处于区域RB,有二条状态跳转路线:
[0074] I.右手处于区域RB且处于握拳状态,模型输出Fb ' (LEFT)并维持在Q4状态,其中Fb' 〇^?1',?(1?1.6!11'))是以右手三维空间点和左手状态为自变量的函数值,?(1?1.6!11')为连续 型指令的输出信号,此时若左手处于&状态,则进行进度设置,若左手处于Q 2状态,则进行音 量调整,若左手处于Q3状态,则进行曲目选择;
[0075] II.右手移出区域[RAURBURC]或处于张开状态,模型输出null并跳转到Qo状态, 连续型指令执行结束。
[0076]该发明的有益之处是:
[0077] 1、本发明所述Kinect工作区域的划分方法,选择脊柱下段长度为人体基准尺寸有 效避免由于肢体移动中产生关节点遮挡造成的误差;用相对坐标代替实际的坐标值,可避 免因不同人体的臂长和身高不同而带来的误差;
[0078] 2、本发明所述Kinect工作区域的划分方法,可扩展到三个坐标轴上,单手可以实 现最多27个区域的划分与识别;
[0079] 3、本发明所述控制音乐播放的方法,通过功能分解、指令提取、模型匹配三个步 骤,将不同场景下复杂的控制任务分解为连续型指令算法模型和布尔型指令算法模型;上 述两个模型以手掌三维坐标点和手掌姿态作为输入条件,实现状态跳转和指令输出;该音 乐控制方法可在多种情况下实现,且控制准确率、鲁棒性、便捷性和普适性更高;
[0080] 4、本发明所述控制音乐播放的方法,与传统鼠标点击和触屏点击进行音乐播放的 方法相比,无须与设备进行接触,直接用双手进行操作,更加方便快捷。
【附图说明】
[0081 ]图1为人体骨骼关节点的分布图;
[0082]图2为Kinect2.0的实体空间坐标系的示意图;
[0083]图3为发明所述控制音乐播放的方法的模型构建图;
[0084]图4为右手指令的状态转换图;
[0085]图5为左手指令的状态转换图。
【具体实施方式】
[0086]下面结合实施例和说明书附图对本发明做详细的说明,但不限于此。
[0087] 实施例1 [0088] 如图1-5所示。
[0089] 一种Kinect工作区域的划分方法包括步骤如下:
[0090] 1)确定坐标系
[0091 ]在Kinect2.0的实体空间坐标空间选取人体关节点作为坐标原点,以Kinect2.0的 实体空间坐标系的坐标方向为坐标方向确定坐标系。不同时刻不同人体相对摄像头绝对位 置不同,坐标原点应该选取人体身上一点。
[0092]现有技术中Kinect2.0的实体空间坐标系符合右手螺旋定则,是以深度摄像头为 实体空间坐标原点,z坐标轴的正半轴沿着深度摄像头的感应方向,y坐标轴的正半轴向上 延伸,X坐标轴的正半轴(从深度摄像头的视角来看)向左延伸。
[0093] 当目标人体处在深度摄像头视野范围内时,深度感应器获得25个人体关节点的三 维坐标(人体关节点的名称及位置如图1和表1所示)。
表1
[0094] 2)有效区域划分
[0095] X轴工作区域划分:
[0096] I.选择人体基准尺寸Peopsize。所述基准尺寸可以为肩宽。为了屏蔽不同身体比 例的目标人体在操作时产生的差异,需要选取一个人体的基准尺寸。
[0097] II.确定手掌X轴相对坐标值
[0099] 其中,Hand.X为右手掌X轴实际坐标值,0.X为坐标原点X轴实际坐标值。用手掌X轴 相对坐标代替手掌X轴实际坐标值的优点是,可避免因不同人体的臂长和身高不同而带来 的误差。
[0100] in.根据手掌正常的活动范围,确定手掌X轴相对坐标值的取值范围为:
[0101 ] M i nHand_x < Hand_x <MaxHand_x
[0102] 其中,MinHand_x为手掌X轴相对坐标值取值的最小值;MaxHand_x为手掌X轴相对 坐标值取值的最大值。MinHand_x和MaxHand_x的实际值通过实验统计获得。
[0103 ] 3)划分工作区域,分界点为A、B;分界点A和B的X轴相对坐标值分别为:
[0106] Position_ASA点X轴相对坐标值,Position_BSB点X轴相对坐标值;
[0107] 4)手掌所处区域的临时区域号
[0109] y轴工作区域应满足的条件:
[0110] ElbowRight. Y<Hand_y <Head. Y
[0111] 其中,Hand_y为手掌Υ轴实际坐标值;ElbowRightY为右肘Υ轴实际坐标值;HeadY为 头部Y轴实际坐标值;
[0112] z轴工作区域应满足的条件:
[0113] Hand_z<SpineMid.Z
[0114] 其中,Hand_z为手掌Z轴实际坐标值;SpineMidZ为脊柱中点Z轴实际坐标值;
[0115] 5)手掌所处区域的区域号
[0117] 实施例2
[0118] 如实施例1所述的Kinect工作区域的划分方法,其区别在于,所述人体基准尺寸为
[0119] 其中,SpineBaseX为脊柱终点的X轴实际坐标值,SpineMidX为脊柱中段点的X轴实 际坐标值,SpineBaseY为脊柱终点的Y轴实际坐标值,SpineMidY为脊柱中段点的Y轴实际坐 标值。选取脊柱下段长度为人体基准尺寸可避免由于肢体移动中产生关节点遮挡造成的误 差。
[0120] 实施例3
[0121]如实施例1所述的Kinect工作区域的划分方法,其区别在于,所述坐标原点为 SpineMid,即选取脊柱中点作为坐标原点。由于人体手掌坐标点在摄像头坐标系内的位置 是动态变化的,因此不能使用手掌的绝对坐标进行计算。坐标原点应满足不宜被其他关节 点遮挡。综上考虑我们选取SpineMid (脊柱中点)作为坐标原点。
[0122] 实施例4
[0123] 如实施例1-3所述的Kinect工作区域的划分方法,应用到控制音乐播放的方法,包 括步骤如下:
[0124] 1)进行左手区域划分,得到三个区域LA、LB和IX,进入Qo状态;
[0125] Qo为布尔型指令初始状态,此时左手处于区域
,有三条状态跳转路 线:
[0126] I.左手移至区域LA,模型输出null并跳转到&状态,进入"歌曲曲目"功能菜单;
[0127] II.左手移至区域LB,模型输出nul 1并跳转到出状态,进入"音量调整"功能菜单;
[0128] III.左手移至区域IX,模型输出null并跳转到Q3状态,进入"播放进度"功能菜单;
[0129] Qi为布尔型指令待触发状态,此时左手处于区域LA,有二条状态跳转路线:
[0130] I.左手处于区域LA,模型输出nul 1并保持&状态,仍处"歌曲曲目"功能菜单;
[0131] II.左手移出区域LA,模型输出nu 11并跳转到Qo状态;
[0132] Q2为布尔型指令待触发状态,此时左手处于区域LB,有二条状态跳转路线:
[0133] I.左手处于区域LB,模型输出null并保持Q2状态,仍处"音量调整"功能菜单;
[0134] II.左手移出区域LB,模型输出null然后跳转到Qo状态;
[0135] Q3为布尔型指令待触发状态,此时左手处于区域IX,有二条状态跳转路线:
[0136] I.左手处于区域LC,模型输出nul 1并保持Q3状态,仍处"播放进度"功能菜单;
[0137] II.左手移出区域IX,模型输出null并跳转到Qo状态;
[0138] 2)进行右手区域划分,得到三个区域RA、RB和RC,进入Ro状态;
[0139] Ro为右手的初始状态,此时右手处于区域
,此时有三条状态跳转路 线:
[0140] I.右手移至区域RA并且保持张开状态,模型输出null并跳转到心状态,等待布尔 型指令的触发;
[0141] II.右手移至区域RB并且保持张开状态,模型输出null并跳转到办状态,等待连续 型指令的触发;
[0142] III.右手移至区域RC并且保持张开状态,模型输出null并跳转到R3状态,等待布 尔型指令的触发;
[0143] 办为右手布尔型指令待触发状态,此时右手处于区域RA,有三条状态跳转路线:
[0144] I.右手处于区域RA且做出握拳动作,模型输出Fa(LEFT)并跳转到Ro状态,其中Fa (LEFT)表示与左手状态相关的函数,此时若左手处于&状态,则触发"快进"指令,若左手处 于Q2
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1