具体实施方式
本发明提供了一种基于RGB-D图像的手势检测方法,其包括:
第一步,获取RGB-D图像;
第二步,从背景中分割手部;
第三步,识别手势;
第四步,寻找手势的最优分割。
所述第一步具体为利用深度传感器获取彩色图像(RGB Image)流和深度图像(Depth Image)流,即RGB-D图像数据流,并将其转换成一帧帧的图像以便于后续的图像处理。
利用深度传感器可以同时获取深度图像和RGB彩色图像数据,能够支持实时的全身和骨骼追踪,同时可以识别一系列的姿态、动作,在本申请中利用它来获取手势数据信息。
手势检测的目的是从原始图像中有效地分割手部区域,也就是把图像中的人手区域(前景)与其它(背景区域)区分开来,是手势识别一项很重要的基础工作。深度传感器具有分析深度数据和探测人体或者游戏者轮廓的功能。通过它可以获取颜色和深度数据流并将其转换成一帧帧的图像以便于后续的图像处理。对输入的图像,要求RGB图像与Depth深度图像在像素上对齐且时间同步。在获得了满足上述条件的图像对后,对输入图像进行预处理,如滤波等,达到抑制噪声的目的。
所述第二步具体为通过骨骼图和深度图像的像素比,将手部位置映射到深度图像,利用深度图像信息将手部从背景中予以分割。
彩色图像和深度图像都可以用来进行手势分割。彩色图像的优点是清晰,但它仅包含二维信息,且抗干扰性比较弱。而深度图像在分辨率上没有彩色图像高,但它包含了三维信息,且抗干扰性强。由于骨骼图能追踪人体手部的坐标位置,因此很容易确定手部在骨骼图中的具***置。然后通过骨骼图和深度图像的像素比,将手部位置映射到深度图像,利用深度图像信息将手部从背景中予以分割。由于深度图像分辨率低且易受深度值相同物体的干扰,分割的效果并不理想。因此,在本申请中提出了结合深度图像和彩色图像的检测方法。
所述第三步具体为利用凸函数来优化分割RGB-D的手势图像,从而快速准确地识别手势。
对于分割优化过程,我们定义这个问题的图像分割为一个最小化的泛函:
E(u)=∫Ωf(x)u(x)dx+∫Ω|Du(x)| (1)
其中,u∈BV(IR
d;{0,1})是一个指示函数上的二元函数的有界变差,u=1和u=0表示在表面IRd的内部和外部,即在二维图像分割情况下的一组封闭边界或在三维分割情况下的一组封闭曲面。公式(1)中第二部分是全变差。其中Du表示分布导数,可微函数u归结为
通过松弛二进制约束,函数u的值在0和1之间。该优化问题变为在凸集BV(IR
d;[0,1])中求得最小化凸公式(1)。
通过凸优化和阈值,在空间上连续设置泛函的形式,可以实现全局优化。这个域值定理确保解决方案u*分解问题对原始二进制标记问题保持全局最优。计算公式(1)的全局最小值如下:在凸集BV(IRd;[0,1]),θ∈(0,1)任何值时,计算公式(1)中全局最小值u*和大于最小值u*的阈值。
由于从RGB-D图像获取到额外的深度信息,所以边界长度可以在绝对值域|Du(x)|而不是在图像域d(x)中进行测量。泛函(1)可以推广到:
E(u)=∫Ωf(x)u(x)dx+∫Ωd(x)|Du(x)| (2)
深度值d:Ω→IR,公式(2)补偿了操作过程中引起的不良效果(由于透视投影,对象越远,相机出现较小的图像)。
所述第四步具体为利用最小化函数及其函数约束,通过Split Bregman快速算法解出模型,对RGB-D图像寻找最优分割。
对于RGB-D图像的函数约束,我们将利用深度信息来约束分割的矩,同时将说明这些约束条件怎么样影响内嵌的凸优化函数对应的集合点。我们用定义在B=BV(Ω;[0,1])的凸函数表示定义在整个图像区域
的有界变差二值标记函数。面积约束:0阶矩的对应区域u的形状,可以通过公式(3)计算
Area(u):=∫Ωd2(x)u(x)dx (3)
其中d(x)给出了像素x的深度。假设d(x)=KD(x),K是相机的焦距,D(x)是测量出的像素的深度。令d2(x)为对应的像素在3D空间中投影的大小,整体的空间是表面积而不是图像中的投影区域。采用与文献的(Grenander,U.,Chow,Y.,Keenan,D.M.:Hands:A Pattern Theoretic Study of Biological Shapes.Springer,New York(1991))方法,以同样的方式处理所有的像素。
形状u的绝对面积被限制在常量c1≤c2之间,通过在公式(4)集合中约束u来实现:
C0={u∈β|c1≤Area(u)≤c2}
(4)
集合C0线性依赖于u,因此凸常量c2≥c1≥0。
通常,通过设置c1=c2或施加上界和下界的区域来确定准确的面积,或者施加一个软区域约束,通过公式(5)提升泛函(1)如下:
Etotal(u)=E(u)+λ(∫d2udx-c)2 (5)
公式(5)增加软约束权重λ>0,使得估计的面积形状接近c≥0。公式(5)也是凸函数。
所述Split Bregman快速算法具体为最大化一个似然函数同最大化它的自然对数是等价的。本申请首先将Split方法应用到RGB-D图像分割中,建立一个如下的通用模型:
其中Qi=-lnPi,i=1,2,ω=(μ,σ)=Max(pi),i=1,2,u为二值标记函数用来表示曲线运动。
本申请将Split Bregman算法思想引入到RGB-D图像分割的通用模型中,即在Split方法的基础上先引入***变量w=[w1,w2]T,再引入Bregman距离b=(b1,b2)T,将公式(7)的泛函极值问题转化为:
其中r(u1,u2)=α1Q1(x,ω1)-α2Q2(x,ω2)。公式(9)为对两个变量的能量泛函求极值的问题,通常采用交替优化实现。首先,假定w不变,上述问题转化为对u求极值问题:
然后,假定u不变,求解关于w的极值问题:
由变分方法可得到能量泛函(10)的Euler-Lagrange方程:
公式(12)可以采用快速高斯赛德尔迭代机制来求解。由于采用凸松弛技术后u的取值范围为[0,1],所以需采用如下的投影方式将u约束到此范围内:
uk+1=Max(Min(uk+1,1),0) (13)
求解完能量泛函(10)后,接着求解能量泛函(11)。公式(11)的Euler-Lagrange方程为:
通过广义软阈值公式得到其解析解,其形式为:
以下采用实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
本发明显示了本方法与其它方法的实验对比结果。测试分割方法由图1和图2两个场景来演示,实验旨在从人群中分割个体的手势。从图中可以看出基于RGB-D手势分割优于单独基于颜色图像或深度图像的分割。如图1(c)所示,当仅利用RGB彩色图像信息算法分割出了人手,人脸和部分墙壁信息,未能分割出需要的手势。图1(d)所示,仅利用深度图像信息时,人手以及与人手深度相同的人体部分被分割出来了。由此可见,当仅考虑上述两种情况中的一种时分割效果都不理想。如图1(e)所示,当同时考虑RGB和深度信息时,即基于RGB-D图像信息时,人手的区域分割被单独的分割出来,分割困难的问题得到了解决。在复杂的场景下,本申请算法也具有很好的鲁棒性,如图2所示。在场景中加入了处于不同深度的新人物,在这种情况下也能很好的分割出目标手势。
所有上述的首要实施这一知识产权,并没有设定限制其他形式的实施这种新产品和/或新方法。本领域技术人员将利用这一重要信息,上述内容修改,以实现类似的执行情况。但是,所有修改或改造基于本发明新产品属于保留的权利。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。