一种基于深度数据的三维手势姿态估计方法及系统的制作方法

文档序号:9631767阅读:542来源:国知局
一种基于深度数据的三维手势姿态估计方法及系统的制作方法
【技术领域】
[0001] 本发明涉及机器人视觉领域,涉及一种基于深度数据的三维手势姿态估计方法及 系统。
【背景技术】
[0002] 随着人们对人机交互需求的不断提高,新的交互技术正在逐渐呈现开来,手势以 其自然、便利的特性成为最具潜力的交互方式技术之一。相比于其他关节部位,手具有丰富 的姿态以及灵活的操控,在人们的日常生活中发挥着巨大的作用,因此基于手势姿态的交 互技术将会有着广泛的应用,如虚拟现实中通过手势操作虚拟物体;利用手势来操控机器 人抓取物体;基于手势的手语识别;通过手势技术在交互界面进行操作指令的输入等。这 些源自实际生活的需求进一步促进着手姿态建模技术的研究与发展。
[0003] 对于静态手势的研究与比较成熟,但是具有较大的局限性,近年来三维手势成 为热点之一,手势姿态估计是三维手势的核心基础之一,正逐步从接触式的方法转向以 视觉为主的非接触式方法。接触式的方法主要是通过佩戴数据手套来获取用户手势的 关节姿态,这种方式准确性较高,但是实现成本较大,同时用户的舒适性也不佳。近几年 基于视觉的三维手势估计技术正在迅速发展,应用的前景也较为广阔,同时市场上出现了 LeapMotion为代表的手势产品,利用手势实现交互、游戏等,但是这种产品的适用距离太 小,手与检测装置的距离超出一定的范围就无法使用了,在实际的应用中如机器人手势控 制等场景下,有很多局限性。为此还需要尝试新的方法来应对这方面的不足,以满足实际的 应用需求。
[0004] 基于视觉的三维手势姿态估计技术,分为判别式与产生式。其中产生式方法计算 量大,精确性往往较低,判别式速度较快,但是估计的结果有一定的误差,且姿态受限,但是 相比于产生式的模型拟合方法,具有能够实际应用的前景。
[0005] 与本发明部分技术类似的发明包括以下三个:
[0006] 1.手检测方法和装置,申请号为201210236446. 5
[0007] 此发明提出了一种手检测方法和装置,主要通过相邻帧的肤色区域之差和分类器 进行手检测。这种方式适用于静态手势,对于三维手势,其手的角度和外观都会发生变换, 因此这种方法具有一定的局限性,适用的场合较为简单,并且实现的方式和本发明也不同。
[0008] 2.基于视觉的手势遥控系统,申请号为201210121832.X
[0009] 此发明提出了基于视觉的手势识别与遥控系统,其中在手势识别模块,主要包括 手部检测,手部跟踪以及手势识别。在手的检测中采用基于灰度图像的级联分类器来检测 手,这种手检测的方式很难应对手部姿态与角度的变化情况,还是一种静态单一的手检测 方式。而对于手势的识别,采用的是基于手部轮廓的模板匹配,未采用检测手势姿态的方 式,因此其整体方法与本发明不同。
[0010] 3.手检测方法和设备,申请号为201410001215. 5
[0011] 此发明提出了基于深度图的手检测方法,此方法首先通过深度阈值进行前景分 害J,然后通过直线检测的方式检测出小臂,然后在确定小臂的方向上检测手的所在,这种方 法对小臂所在的位置有特定的要求,且直线检测容易产生误检测,同时这个方法只是检测 出了手的位置所在,并未对手的姿态情况进行估计,无论方法与目的都与本发明不同。
[0012] 本发明提出了一种基于深度数据的三维手势估计方法。该方法为判别式方法,基 于RGBD数据,首先采用两种方式相互配合完成对手部R0I数据的分割,接着在此基础上采 用回归算法完成手部全局方向估计,最后以此数据为辅助再次利用回归算法实现三维手势 姿态估计。本发相比其他方法不仅算法较为简单,同时不需要依赖额外的用户佩戴装置,在 满足一定可用的精度下具有良好的实用价值。

【发明内容】

[0013] 本发明的目的在于克服现有技术的不足,针对目前三维手势技术在这方面应用的 局限性,提供一种基于深度数据的三维手势姿态估计方法及系统,主要用于提升家用机器 人的交互体验,结合手部R0I检测的基础上,利用机器学习方法对手部姿态进行回归,并对 估计的结果加以约束,最终实现手部姿态的快速估计。
[0014] 本发明的目的是通过以下技术方案来实现的:一种基于深度数据的三维手势姿态 估计方法,它包括以下步骤:
[0015] S1 :对拍摄的数据进行手部R0I检测,获取手部深度数据:
[0016] (1)当能够获取手掌的单个骨骼点信息时,通过手掌单个骨骼点对手部R0I检测, 获取手部深度数据;
[0017] (2)当无法获取手掌的单个骨骼点信息时,采用基于肤色的方式对手部R0I检测, 获取手部深度数据;
[0018] 其中,所述的R0I为感兴趣区域;
[0019] S2 :手部三维全局方向初步估计,包括以下子步骤:
[0020] S21 :对步骤S1得到的手部R0I数据进行特征提取;
[0021] S22:根据预先训练好的手部全局方向回归的分类器&,实现手部全局方向的回 归;
[0022] S3 :三维手势的关节姿态估计,包括以下子步骤:
[0023] S31 :根据预先训练好的关节姿态估计的分类器R2实现手部姿态估计;
[0024] S32 :姿态校正:根据手部尺寸对步骤S31得到的结果进行校正。
[0025] 步骤S1中,当能够获取手掌的单个骨骼点信息时的情况包括以下子步骤:
[0026] S111 :根据图像采集设备采集的图像,获取手掌的骨骼点P。的三维位置;
[0027] S112 :将三维位置投影到二维深度图像P'。,初步得到手部深度值D(P'。);
[0028] S113 :基于骨骼点P。为中心的矩形区域,计算所述矩形区域内的深度信息直方图; 所述矩形区域的大小根据距离设置;
[0029] S114 :根据步骤S113得到的直方图找到峰值对应的深度,并将深度作为手部中心 的实际深度值Η;
[0030] S115 :利用深度值Η与深度误差范围s对图像进行阈值化处理,保留下来的深度h 满足H-s彡h彡H+s;
[0031] S116 :对深度图像对应的二值图进行轮廓检测,并对轮廓中尺寸小于一定阈值的 轮廓,对对应的深度图像位置进行背景填补,去除噪声轮廓;噪声轮廓的阈值根据手部到图 像采集设备的距离设定。
[0032] 步骤S1中,当无法获取手掌的单个骨骼点信息时的情况包括以下子步骤:
[0033] S121 :根据图像采集设备获取的彩色图像进行肤色检测,对非肤色区域进行置0, 此时图像上只含有肤色区域;
[0034] S122 :对肤色区域对应的像素置1,得到肤色区域对应的二值图;
[0035] S123:进行轮廓检测,将轮廓周长小于一定阈值的轮廓进行填补,此时图像中含有 多个肤色轮廓区域;
[0036] S124 :对于每个肤色轮廓区域,计算每个轮廓的形心,形心的计算公式为:
[0037]
[0038] 式中,m代表图像的几何矩,!111。、111。1、 111。。代表几何矩的其中三个顶点;
[0039]S125 :记形心中心为P(x,y),将形心中心P(x,y)变换到对应的深度图像上为点 Q;
[0040] S126 :对每个轮廓进行相同的形心点变换之后,比较深度值H,将深度值较小的形 心变换点Qi作为手部的位置所在;
[0041] S127 :以点%对应的深度值对图像进行阈值化,深度误差值为s,保留下来的深度 h满足H-s彡h彡H+s;
[0042] S128 :对深度图像对应的二值图进行轮廓检测,并对轮廓中尺寸小于一定阈值的 轮廓,对对应的深度图像位置进行背景填补,去除噪声轮廓;噪声轮廓的阈值根据手部到图 像采集设备的距离设定。
[0043] 所述的步骤S21包括以下子步骤:
[0044] S211 :对手部立方体划分,包括以下子步骤:
[0045] S2111 :以手部的宽度方向作为X轴,手部的长度方向作为Y轴,手掌的厚度方向作 为Z轴,形成三维坐标系;
[0046] S2112 :以手部的宽度L、手部的长度Η和手掌的厚度D组成立方体,所述立方体的 中心位于三维坐标系的原点之上;
[0047] S2113 :将立方体进行X、Υ、Ζ方向的立方体分割,在X、Υ、Ζ方向分隔分别得到X、 y、ζ等分,分割后的小立方体格数为x*y*z;
[0048] S212 :将手部深度数据投影到立方体上,包括以下子步骤:
[0049] S2121 :根据步骤S1得到的手部R0I深度数据,对于非背景点,将手部深度数据变 换到图像采集设备坐标
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1