跟踪指部轮廓的方法及其装置与流程

文档序号:12748885阅读:302来源:国知局
跟踪指部轮廓的方法及其装置与流程

本发明涉及计算机技术领域,尤其涉及一种跟踪指部轮廓的方法及其装置。



背景技术:

在许多手部交互应用中,不仅仅需要跟踪手部的骨架坐标与朝向,还需要跟踪手指宽度等信息。为了获得精确的手指宽度,较为合理的方案是通过跟踪手指轮廓估算。而现有的手指级别的轮廓跟踪算法往往把重点放在指尖跟踪或大致手指位姿关系,较少关注手指侧边缘的精度,跟踪效果难以满足实际应用需求



技术实现要素:

本发明实施例提出一种跟踪指部轮廓的方法及装置,能准确跟踪指部的外轮廓。

在第一方面,本发明实施例提供一种跟踪指部轮廓的方法,包括:

获取记录用户手部的同一影像的深度图像和彩色图像;

从所述深度图像或彩色图像中提取所述手部的外轮廓;

以所述手部的外轮廓的指蹼作为分割指部的分割点,分割所述手部的外轮廓,获得每个指部的初始外轮廓;

对于每个指部的外轮廓,结合所述指部的初始外轮廓来约束所述指部的外轮廓贴合所述彩色图像中的对应所述指部的边缘,获得所述指部的跟踪外轮廓。

结合第一方面,在第一方面的第一种可能的实现方式中,所述指部的初始外轮廓为V0(s),所述指部的跟踪外轮廓为其中,V(s)为描述所述指部的外轮廓的函数,Eimg(V(s))为约束所述指部的外轮廓贴合所述彩色图像中的对应所述指部的边缘的目标函数,I为描述所述彩色图像中的每一个像素点的像数值的离散函数。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在对于每个指部的外轮廓,结合所述指部的初始外轮廓来约束所述指部的外轮廓贴合所述彩色图像中的手指边缘的同时,还包括:

结合所述指部的初始外轮廓来约束所述指部的外轮廓的总长度和变化曲率,以及约束所述指部的外轮廓趋向于所述用户提供的手部轮廓曲线;

则获得的所述指部的跟踪外轮廓修订为:

<mrow> <msup> <mi>V</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <mi> </mi> <mi>m</mi> <mi>i</mi> <mi>n</mi> <msubsup> <mo>&Integral;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <msub> <mi>E</mi> <mrow> <mi>i</mi> <mi>m</mi> <mi>g</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&alpha;E</mi> <mi>int</mi> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&beta;E</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mi>d</mi> <mi>s</mi> <mo>;</mo> </mrow>

其中,Econ(V(s))=||V(s)-V0(s)||2,Eint(V(s))为约束所述指部的外轮廓的总长度和变化曲率的目标函数,Econ(V(s))为约束所述指部的外轮廓趋向于所述用户提供的手疗轮廓曲线的目标函数。

结合第一方面,在第一方面的第三种可能的实现方式中,从所述深度图像中提取所述手部的外轮廓,具体为:

根据预设的手部关节点模型,从所述深度图像中计算出所述手部的每一个关节点的深度;

取所述有关节点的深度的中值作为参考深度dref

从所述深度图像中提取深度在手部深度范围[dref-δ,dref+δ]内的区域的外轮廓;其中,δ为衡量所述手部的手背与手掌之间厚度的参数值;

从所述外轮廓中选取轮廓的质心距离所述关节点的平均距离最近,且轮廓曲线总长度最长的外轮廓作为所述手部的外轮廓;

以及,从所述彩色图像中提取所述手部的外轮廓,具体为:

从所述彩色图像中提取像素值在手部像素区间的区域的外轮廓;

从所述外轮廓中选取轮廓的质心距离所述关节点的平均距离最近,且轮廓曲线总长度最长的外轮廓作为所述手部的外轮廓。

结合第一方面,在第一方面的第四种可能的实现方式中,所述跟踪指部轮廓的方法还包括提取所述手部的外轮廓的指蹼的位置,具体为:

从所述手部的外轮廓的相邻指尖之间的轮廓点中,选取距离连接所述相邻指尖的直线最远的轮廓点作为轮廓拐点;

以所述轮廓拐点作为指蹼的当前位置,从所述彩色图像中提取以所述当前位置为中心点的局部区域;

将所述当前位置进行偏移获得多个偏移位置,并对于每一个偏移位置,从所述彩色图像中提取以该偏移位置为中心点且与所述局部区域相同形状的区域作为候选区域;其中,所述当前位置为(x,y),所述偏移位置为(x+δx,y+δy);δx∈{-1,0,1},δy∈{-1,0,1},且δx和δy不同时为0;

计算每一个所述候选区域与所述局部区域的结构偏差程度;对于每一个候选区域,所述候选区域与所述局部区域的结构偏差程度为d(P,Q),其中,P为包含所述局部区域的每一个像素点的像素值的集合,Q为包含所述候选区域的每一个像素点的像素值的集合,μP为集合P中所有像素值的均值,μQ为集合Q中所有像素值的均值,σPQ为集合P和集合Q的协方差,σP为集合P的方差,σQ为集合Q的方,c1和c2为预设常数;

若每一个所述候选区域与所述局部区域的结构偏差程度均大于预设阈值,则将所述当前位置作为所述指蹼的位置;

若存在一个所述候选区域与所述局部区域的结构偏差程度不大于所述预设阈值,则选取与所述局部区域的结构偏差程度最小的候选区域所对应的偏移位置来更新所述当前位置,并更新所述局部区域和所述候选区域。

相应地,在第二方面,本发明还提供一种跟踪指部轮廓的装置,包括:

图像获取模块,用于获取记录用户手部的同一影像的深度图像和彩色图像;

外轮廓提取模块,用于从所述深度图像或彩色图像中提取所述手部的外轮廓;

指部轮廓提取模块,用于以所述手部的外轮廓的指蹼作为分割指部的分割点,分割所述手部的外轮廓,获得每个指部的初始外轮廓;

指部轮廓约束模块,用于对于每个指部的外轮廓,结合所述指部的初始外轮廓来约束所述指部的外轮廓贴合所述彩色图像中的手指边缘,获得所述指部的跟踪外轮廓。

结合第二方面,在第二方面的第一种可能的实现方式中,所述指部的初始外轮廓为V0(s),所述指部的跟踪外轮廓为其中,V(s)为描述所述指部的外轮廓的函数,Eimg(V(s))为约束所述指部的外轮廓贴合所述彩色图像中的对应所述指部的边缘的目标函数,I为描述所述彩色图像中的每一个像素点的像数值的离散函数。

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述指部轮廓约束模块还用于:结合所述指疗的初始外轮廓来约束所述指部的外轮廓的总长度和变化曲率,以及约束所述指部的外轮廓趋向于所述用户提供的手部轮廓曲线;

则获得的所述指部的跟踪外轮廓修订为:

<mrow> <msup> <mi>V</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <mi> </mi> <mi>m</mi> <mi>i</mi> <mi>n</mi> <msubsup> <mo>&Integral;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <msub> <mi>E</mi> <mrow> <mi>i</mi> <mi>m</mi> <mi>g</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&alpha;E</mi> <mi>int</mi> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&beta;E</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mi>d</mi> <mi>s</mi> <mo>;</mo> </mrow>

其中,Econ(V(s))=||V(s)-V0(s)||2,Eint(V(s))为约束所述指部的外轮廓的总长度和变化曲率的目标函数,Econ(V(s))为约束所述指部的外轮廓趋向于所述用户提供的手疗轮廓曲线的目标函数。

结合第二方面,在第二方面的第三种可能的实现方式中,所述外轮廓提取模块包括:

关节点深度计算单元,用于根据预设的手部关节点模型,从所述深度图像中计算出所述手部的每一个关节点的深度;

参考深度确定单元,用于取所述有关节点的深度的中值作为参考深度dref

第一轮廓提取单元,用于从所述深度图像中提取深度在手部深度范围[dref-δ,dref+δ]内的区域的外轮廓;其中,δ为衡量所述手部的手背与手掌之间厚度的参数值;

轮廓选取单元,用于从所述外轮廓中选取轮廓的质心距离所述关节点的平均距离最近,且轮廓曲线总长度最长的外轮廓作为所述手部的外轮廓;

第二轮廓提取单元,用于从所述彩色图像中提取像素值在手部像素区间的区域的外轮廓。

结合第二方面,在第二方面的第四种可能的实现方式中,所述跟踪指部轮廓的装置还包括用于提取所述手部的外轮廓的指蹼的位置的指蹼提取模块,所述指蹼提取模块包括:

轮廓拐点选取单元,用于从所述手部的外轮廓的相邻指尖之间的轮廓点中,选取距离连接所述相邻指尖的直线最远的轮廓点作为轮廓拐点;

局部区域确定单元,用于以所述轮廓拐点作为指蹼的当前位置,从所述彩色图像中提取以所述当前位置为中心点的局部区域;

候选区域确定单元,用于将所述当前位置进行偏移获得多个偏移位置,并对于每一个偏移位置,从所述彩色图像中提取以该偏移位置为中心点且与所述局部区域相同形状的区域作为候选区域;其中,所述当前位置为(x,y),所述偏移位置为(x+δx,y+δy);δx∈{-1,0,1},δy∈{-1,0,1},且δx和δy不同时为0;

偏差程度计算单元,用于计算每一个所述候选区域与所述局部区域的结构偏差程度;对于每一个候选区域,所述候选区域与所述局部区域的结构偏差程度为d(P,Q),其中,P为包含所述局部区域的每一个像素点的像素值的集合,Q为包含所述候选区域的每一个像素点的像素值的集合,μP为集合P中所有像素值的均值,μQ为集合Q中所有像素值的均值,σPQ为集合P和集合Q的协方差,σP为集合P的方差,σQ为集合Q的方,c1和c2为预设常数;

指蹼位置确定单元,用于当每一个所述候选区域与所述局部区域的结构偏差程度均大于预设阈值时,将所述当前位置作为所述指蹼的位置;

当前位置更新单元,用于当存在一个所述候选区域与所述局部区域的结构偏差程度不大于所述预设阈值时,则选取与所述局部区域的结构偏差程度最小的候选区域所对应的偏移位置来更新所述当前位置,并更新所述局部区域和所述候选区域。

实施本发明实施例,具有如下有益效果:

本发明实施例提供的跟踪指部轮廓的方法及装置,能获取记录用户手部的同一影像的深度图像和彩色图像;从所述深度图像或彩色图像中提取所述手部的外轮廓;以所述手部的外轮廓的指蹼作为分割指部的分割点,分割所述手部的外轮廓,获得每个指部的外轮廓,并约束每个指部的外轮廓贴合所述彩色图像中的相应的手指边缘,从而准确地跟踪到用户手部的指部轮廓。

附图说明

图1是本发明提供的跟踪指部轮廓的方法的一个实施例的流程示意图;

图2是本发明提供的跟踪指部轮廓的装置的一个实施例的结构示意图;

图3是本发明提供的跟踪指部轮廓的装置的外轮廓提取模块的一个实施例的结构示意图;

图4是本发明提供的跟踪指部轮廓的装置的指蹼提取模块的一个实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明提供的跟踪指部轮廓的方法的一个实施例的流程示意图,该方法包括步骤S1至S4,具体为:

S1,获取记录用户手部的同一影像的深度图像和彩色图像;

需要说明的是,深度图像是由深度摄像装置捕获到被拍摄物体的图像,其所包含的每一个像素点的像素值反映的是该被拍摄物体与该像素点对应的位置距离摄像头之间的距离信息;彩色图像是由普通摄像装置捕获到被拍摄物体的图像,其所包含的每一个像素点的像素值反映的是该被拍摄物体与该像素点对应的位置的外观颜色信息。

S2,从所述深度图像或彩色图像中提取所述手部的外轮廓;

以下将描述本步骤S2中从所述深度图像中提取所述手部的外轮廓的具体过程:

根据预设的手部关节点模型,从所述深度图像中计算出所述手部的每一个关节点的深度;

取所述有关节点的深度的中值作为参考深度dref

从所述深度图像中提取深度在手部深度范围[dref-δ,dref+δ]内的区域的外轮廓;其中,δ为衡量所述手部的手背与手掌之间厚度的参数值;

从所述外轮廓中选取轮廓的质心距离所述关节点的平均距离最近,且轮廓曲线总长度最长的外轮廓作为所述手部的外轮廓。

在本发明实施例中,所获取到手部的外轮廓应是由一群坐标点构成的坐标点集合。手部关节点模型是预先利用大量的记录有手部的深度图像的训练集训练出来的模型,该模型包括:基于kinect的手部关节点踪模型、多随机森林模型等,其是基于手部的深度图像的信息训练生成的,可优选利用随机森林算法训练手部关节点模型。手部关节点提供手部各关节点的大致位置,并且通过各关节点的深度可以估算出整个手部的深度范围。另外,在少数情况下,计算到的部分关节点也可能因精度不足超出该手部的区域,或是因深度图像噪声导致关节点的深度误差较大,因而,为了减少这些异常关节点的影响,取所述关节点的深度的中值作为参考深度,则整个手部的深度处于手部深度范围[dref-δ,dref+δ]内,δ为衡量所述手部的手背与手掌之间厚度的参数值,则提取该范围内的区域的边缘的外轮廓出来,即为该手部的初始外轮廓。但是由于受到噪声或其它干扰区域的影响,提取出来的外轮廓可能会有多个,此时,从中选取轮廓的质心距离所述关节点的平均距离最近,且轮廓曲线总长度最长的外轮廓即可。

以下将描述本步骤S2中从所述彩色图像中提取所述手部的外轮廓的具体过程:

从所述彩色图像中提取像素值在手部像素区间的区域的外轮廓;

从所述外轮廓中选取轮廓的质心距离所述关节点的平均距离最近,且轮廓曲线总长度最长的外轮廓作为所述手部的外轮廓。

需要说明的是,手部的皮肤颜色在RGB空间中有一个范围,可以将这个范围作为本发明实施例的手部像素区间,则根据该手部像素区间对上述彩色图像作区间阈值化,即可获得手部区域。

S3,以所述手部的外轮廓的指蹼作为分割指部的分割点,分割所述手部的外轮廓,获得每个指部的初始外轮廓;

在执行本步骤S3的之前,还包括确定所述手部的外轮廓上的每一个指蹼的位置,则每一个指蹼的位置的获取过程为:

从所述手部的外轮廓的相邻指尖之间的轮廓点中,选取距离连接所述相邻指尖的直线最远的轮廓点作为轮廓拐点;

以所述轮廓拐点作为指蹼的当前位置,从所述彩色图像中提取以所述当前位置为中心点的局部区域;

将所述当前位置进行偏移获得多个偏移位置,并对于每一个偏移位置,从所述彩色图像中提取以该偏移位置为中心点且与所述局部区域相同形状的区域作为候选区域;其中,所述当前位置为(x,y),所述偏移位置为(x+δx,y+δy);δx和δy包括但不限于为:δx∈{-1,0,1}、δy∈{-1,0,1};δx和δy不同时为0;

计算每一个所述候选区域与所述局部区域的结构偏差程度;对于每一个候选区域,所述候选区域与所述局部区域的结构偏差程度为d(P,Q),其中,P为包含所述局部区域的每一个像素点的像素值的集合,Q为包含所述候选区域的每一个像素点的像素值的集合,μP为集合P中所有像素值的均值,μQ为集合Q中所有像素值的均值,σPQ为集合P和集合Q的协方差,σP为集合P的方差,σQ为集合Q的方,c1和c2为预设常数;

若每一个所述候选区域与所述局部区域的结构偏差程度均大于预设阈值,则将所述当前位置作为所述指蹼的位置;

若存在一个所述候选区域与所述局部区域的结构偏差程度不大于所述预设阈值,则选取与所述局部区域的结构偏差程度最小的候选区域所对应的偏移位置来更新所述当前位置,并更新所述局部区域和所述候选区域。

需要说明的是,当局部区域处于指蹼时,该局部区域与邻近的候选区域的颜色分布(即像素值分布)均有较大差别;当局部区域处于指缝时,该局部区域与沿指缝方向上的邻近的候选区域的颜色分布差别相对较小,且该局部区域与其他的候选区域的颜色分布差较大。因而,当在比较出每一个所述候选区域与所述局部区域的结构偏差程度均大于预设阈值时,即可判断出局部区域落在指蹼上,将该局部区域的中心位置(上述当前位置)作为指蹼的位置,从而完成对指蹼的位置的修正;反之,可判断出该局部区域落在指缝上,需要继续对该指蹼的当前位置进行修正,且选取与该局部区域的结构偏差程度最小的候选区域所对应的中心位置(上述偏移位置)更新为该指蹼的当前位置,可以确保后续更新后的指蹼的当前位置仍处于指缝上,不偏移到非指缝的其他位置上。

S4,对于每个指部的外轮廓,结合所述指部的初始外轮廓来约束所述指部的外轮廓贴合所述彩色图像中的对应所述指部的边缘,获得所述指部的跟踪外轮廓。

对于本步骤S4的具体实施方式有以下两种,以下将描述这两种方式:

第一种实施方式是,步骤S4中的对于每个指部的外轮廓的约束优化,可仅约束所述指部的外轮廓贴合所述彩色图像中对应所述指部的手指边缘,例如,将所述指部的外轮廓描述成函数表达方式V(s)时,s是指所述指部的外轮廓上的一点,则V(s)是指该点对应的坐标;进而,上述所述指部的跟踪外轮廓描述为其中,Eimg(V(s))为约束所述指部的外轮廓贴合所述彩色图像中的对应所述指部的边缘的目标函数,I为描述所述彩色图像中每一个像素点的像数值的离散函数。由于指部的外轮廓往往(但不总是)对应于上述记录有所述用户的手部的彩色图像梯度较大的位置,则计算所述彩色图像I(V(s))的梯度,进而基于所述指部的初始外轮廓V0(s)对该梯度的变型进行积分,并选取积分的最小值所对应的外轮廓V(s)作为V*(s),从而获取的外轮廓能够沿所述彩色图像中梯度最大的位置走向变化,即约束指部的外轮廓贴合所述彩色图像中对应所述指部的手指边缘。另外,由于梯度对噪声敏感,在计算梯度之前,采用所述彩色图像包含的像素值的标准差σ为的对所述彩色图像I进行高斯核Gσ平滑。

第二种实施方式,步骤S4中的对于每个指部的外轮廓,除了结合所述指部的初始外轮廓来约束所述指部的外轮廓贴合所述彩色图像中的手指边缘,还包括:结合所述指部的初始外轮廓来约束所述指部的外轮廓的总长度和变化曲率,以及约束所述指部的外轮廓趋向于所述指部的初始外轮廓;

基于第一种实施方式对约束所述指部的外轮廓贴合所述彩色图像中对应的所述指部的手指的边缘的举例,以下结合该举例,继续对第二种实施方式中的另外两种约束进行举例,即所述指部的跟踪外轮廓修订为:

<mrow> <msup> <mi>V</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <mi> </mi> <mi>m</mi> <mi>i</mi> <mi>n</mi> <msubsup> <mo>&Integral;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <msub> <mi>E</mi> <mrow> <mi>i</mi> <mi>m</mi> <mi>g</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&alpha;E</mi> <mi>int</mi> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&beta;E</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mi>d</mi> <mi>s</mi> <mo>;</mo> </mrow>

其中,Econ(V(s))=||V(s)-V0(s)||2

由于从步骤S3所获取的指部的外轮廓的曲线形状通常不太合理,因而提出Eint(V(s))目标函数来约束所述指部的外轮廓的总长度和变化曲率,即基于初始外轮廓V0(s)对Eint(V(s))的第一项进行积分并选取积分最小值所对应的外轮廓曲线,即可约束指部的外轮廓的总长度;以及,基于初始外轮廓V0(s)对Eint(V(s))的第二项进行积分并选取积分最小值所对应的外轮廓曲线,即可约束指部的外轮廓的变化曲率,从而使得最终获取的指部的外轮廓较为平滑。

另外,即使初始外轮廓的轮廓点可能受到噪声影响而不能满足精度要求,但由于其仍然是从深度图像或彩色图像中提取的,其定位还是相对较鲁棒的,所以引入以下约束,约束优化后的轮廓点不应远离初始轮廓点,即,约束所述指部的外轮廓趋向于所述指部的初始外轮廓,例如,约束指部的外轮廓相对初始外轮廓的偏移最小,也就是说,基于初始外轮廓V0(s)对||V(s)-V0(s)||2进行积分并选取积分最小值所对应的外轮廓V(s)即可满足该约束的要求。

对于上述计算指部的跟踪外轮廓或均过程,本发明实施例采作迭代优化方法获得指部的跟踪外轮廓V*(s),且迭代的过程以初始外轮廓为初始迭代值;作为一种优选实施例,可选用梯度下降法,此计算过程运用是现有技术的算法,在此不再赘述。

需要说明的是,上述提供的跟踪指蹼位置的方法包括但并不限于跟踪人体手部,还可以跟踪脚部或其他由模具构造成的手部或脚部,甚至动物的手部或脚部。另外,上述提供的跟踪指蹼位置的方法可以应用于VR(Virtual Reality,虚拟现实),例如,虚拟戒指试戴,即:用户在客户端的摄像头前举起手部,该摄像头拍摄用户的手部,并将拍摄到的深度图像和彩色图像传送到另一接收端,接收端根据以上提供的跟踪指蹼位置的方法从深度图像和彩色图像中跟踪到用户的手部的指蹼的确切位置,然后接收端根据相邻两个指蹼的位置确定戒指在手指上的佩戴位置,以及优化所拍摄的手部的外轮廓,并将戒指佩戴在所述用户的手指的佩戴位置上的图像且该图像为已优化手部的外轮廓的图像返回到客户端,进而在客户端的显示器上显示,从而用户可以从显示器中的图像获知其佩带戒指的效果。

本发明还提供一种跟踪指部轮廓的装置能够实现上述跟踪指部轮廓的方法的全部流和,具体参见图2,图2是本发明提供的跟踪指部轮廓的装置的一个实施例的结构示意图,该装置具体包括:

图像获取模块10,用于获取记录用户手部的同一影像的深度图像和彩色图像;

外轮廓提取模块20,用于从所述深度图像或彩色图像中提取所述手部的外轮廓;

指部轮廓提取模块30,用于以所述手部的外轮廓的指蹼作为分割指部的分割点,分割所述手部的外轮廓,获得每个指部的初始外轮廓;

指部轮廓约束模块40,用于对于每个指部的外轮廓,结合所述指部的初始外轮廓来约束所述指部的外轮廓贴合所述彩色图像中的手指边缘,获得所述指部的跟踪外轮廓。

作为本发明提供的一种优选实施例,所述指部的初始外轮廓为V0(s),所述指部的跟踪外轮廓为其中,V(s)为描述所述指部的外轮廓的函数,Eimg(V(s))为约束所述指部的外轮廓贴合所述彩色图像中的对应所述指部的边缘的目标函数,I为描述所述彩色图像中的每一个像素点的像数值的离散函数。

结合上述优选实施例,本发明提供另一种优选的实施例,所述指部轮廓约束模块还用于:结合所述指疗的初始外轮廓来约束所述指部的外轮廓的总长度和变化曲率,以及约束所述指部的外轮廓趋向于所述用户提供的手部轮廓曲线;

则获得的所述指部的跟踪外轮廓修订为:

<mrow> <msup> <mi>V</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <mi> </mi> <mi>m</mi> <mi>i</mi> <mi>n</mi> <msubsup> <mo>&Integral;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <msub> <mi>E</mi> <mrow> <mi>i</mi> <mi>m</mi> <mi>g</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&alpha;E</mi> <mi>int</mi> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&beta;E</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>V</mi> <mo>(</mo> <mi>s</mi> <mo>)</mo> <mo>)</mo> </mrow> <mi>d</mi> <mi>s</mi> <mo>;</mo> </mrow>

其中,Econ(V(s))=||V(s)-V0(s)||2,Eint(V(s))为约束所述指部的外轮廓的总长度和变化曲率的目标函数,Econ(V(s))为约束所述指部的外轮廓趋向于所述用户提供的手疗轮廓曲线的目标函数。

作为本发明提供的一种优选实施例,具体参见图3,图3是本发明提供的跟踪指部轮廓的装置的外轮廓提取模块的一个实施例的结构示意图;该外轮廓提取模块20包括:

关节点深度计算单元21,用于根据预设的手部关节点模型,从所述深度图像中计算出所述手部的每一个关节点的深度;

参考深度确定单元22,用于取所述有关节点的深度的中值作为参考深度dref

第一轮廓提取单元23,用于从所述深度图像中提取深度在手部深度范围[dref-δ,dref+δ]内的区域的外轮廓;其中,δ为衡量所述手部的手背与手掌之间厚度的参数值;

轮廓选取单元24,用于从所述外轮廓中选取轮廓的质心距离所述关节点的平均距离最近,且轮廓曲线总长度最长的外轮廓作为所述手部的外轮廓;

第二轮廓提取单元25,用于从所述彩色图像中提取像素值在手部像素区间的区域的外轮廓。

作为本发明提供的一种优选实施例,所述跟踪指部轮廓的装置还包括用于提取所述手部的外轮廓的指蹼的位置的指蹼提取模块50,具体参见图4,图4是本发明提供的跟踪指部轮廓的装置的指蹼提取模块的一个实施例的结构示意图;所述指蹼提取模块50包括:

轮廓拐点选取单元51,用于从所述手部的外轮廓的相邻指尖之间的轮廓点中,选取距离连接所述相邻指尖的直线最远的轮廓点作为轮廓拐点;

局部区域确定单元52,用于以所述轮廓拐点作为指蹼的当前位置,从所述彩色图像中提取以所述当前位置为中心点的局部区域;

候选区域确定单元53,用于将所述当前位置进行偏移获得多个偏移位置,并对于每一个偏移位置,从所述彩色图像中提取以该偏移位置为中心点且与所述局部区域相同形状的区域作为候选区域;其中,所述当前位置为(x,y),所述偏移位置为(x+δx,y+δy);δx∈{-1,0,1},δy∈{-1,0,1},且δx和δy不同时为0;

偏差程度计算单元54,用于计算每一个所述候选区域与所述局部区域的结构偏差程度;对于每一个候选区域,所述候选区域与所述局部区域的结构偏差程度为d(P,Q),其中,P为包含所述局部区域的每一个像素点的像素值的集合,Q为包含所述候选区域的每一个像素点的像素值的集合,μP为集合P中所有像素值的均值,μQ为集合Q中所有像素值的均值,σPQ为集合P和集合Q的协方差,σP为集合P的方差,σQ为集合Q的方,c1和c2为预设常数;

指蹼位置确定单元55,用于当每一个所述候选区域与所述局部区域的结构偏差程度均大于预设阈值时,将所述当前位置作为所述指蹼的位置;

当前位置更新单元56,用于当存在一个所述候选区域与所述局部区域的结构偏差程度不大于所述预设阈值时,则选取与所述局部区域的结构偏差程度最小的候选区域所对应的偏移位置来更新所述当前位置,并更新所述局部区域和所述候选区域。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1