一种基于双目彩色成像系统的立体人手3D骨架模型实时重建方法和装置与流程

文档序号:14992111发布日期:2018-07-20 22:28阅读:188来源:国知局

本发明涉及人手识别技术领域,特别是一种基于双目彩色成像系统的立体人手3d骨架模型实时重建方法和装置。



背景技术:

手势识别技术在人机交互中起着重要的作用。自然方式的手势识别可以使人不用借助穿戴式设备对机器进行手势信息的控制。手势识别可以分为三个等级:二维手型识别,二维手势识别,三维手势识别。其中二维手型识别是对二维图片的手势进行分类,可以判别出握拳,ok等简单手势。相比二维手型识别,二维手势识别可以计算出更复杂的连续的手势动作,比如挥手等,但其依然停留到二维信息的层面,不含深度信息。三维手势识别是手势识别中最为理想的形态,但也是最为复杂的任务。三维手势识别包含了人手的深度信息,可以计算出人手的立体模型,包括各种手型和动作。二维手势信息采集只需要单个普通摄像头,而目前的三维手势识别需要特别的硬件来获得手的深度信息。

目前三维手势识别成像原理大致分为三种技术:结构光,光飞行时间,多角成像。前两种技术代表产品分别为微软公司的kinect和intel公司的softkinetic。它们都是借助特殊的物理器件来获得场景的深度图从而计算出手的3d模型。多角成像技术的代表产品是leapmotion公司的同名产品和usens公司的fingo。就像人类的双眼,它们使用双目红外摄像头获取到场景两个视角的红外信息,从而借助双目信息计算出人手3d模型。结构光和光飞时间需要特殊的物理器件,成本大,功耗大,难以普及。红外双目则需要红外摄像头来获取信息,难以在手机,平板电脑,智能手表等普通移动终端应用。

基于深度图现有的人手3d模型典型的重建方法有文献[1,2],其都需要一个昂贵的深度摄像头。此外[1]需要帧与帧之间的追踪,不能单帧处理图像。文献[2]中需要2d和3d的人手关键点的标注信息来训练卷积神经网络。

在文献[5]的方法中,作者使用rgb彩色摄像头识别手势。但是此方法在应用时需要戴一个纯色手套,不是自然的手势识别,而且只能识别出几十种特定手势,不能将整手的3d信息重建出来。

同样利用双目彩色摄像头的方法文献[6]中,只能检测到食指一个手指的位置,只能识别一个简单的点击动作,不能得到整个手的信息。

参考文献:

[1]qianc,sunx,weiy,etal.realtimeandrobusthandtrackingfromdepth[c]//computervisionandpatternrecognition(cvpr),2014ieeeconferenceon.ieee,2014:1106-1113.

[2]choic,yoonsh,chencn,etal.robusthandposeestimationduringtheinteractionwithanunknownobject[c]//proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2017:3123-3132.

[3]weise,ramakrishnav,kanadet,etal.convolutionalposema-chines[c]//proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2016:4724-4732.

[4]rens,hek,girshickr,etal.fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks[c]//advancesinneuralinformationprocessingsys-tems.2015:91-99.

[5]nagij,ducatellef,dicaroga,etal.max-poolingconvolutionalneuralnetworksforvision-basedhandgesturerecognition[c]//signalandimageprocessingapplica-tions(icsipa),2011ieeeinternationalconferenceon.ieee,2011:342-347.

[6]华南理工大学.一种基于手写输入和指尖鼠标的电视人机交互方法:中国,2011101414335[p].2013-06-12



技术实现要素:

本发明的一个目的是提供一种基于双目彩色成像系统的立体人手三维骨架(即3d骨架)模型实时重建方法和装置,不借助任何额外的特殊特备,仅仅使用双目彩色图像(rgb3通道彩色图)对手进行3d重建。

为了实现上述目的,第一方面,本发明提供一种基于双目彩色成像系统的立体人手三维骨架模型实时重建方法,所述双目彩色成像系统用于拍摄人手,得到两张同一只手不同视角的彩色图片;所述方法包括:

s1:检测手位置,所述检测手位置包括检测出与所述图片中手所在区域相切的矩形区域,然后确定矩形区域外围的正方形区域;

s2:检测手平面关键点:所述检测手平面关键点包括将所述正方形区域的图像输入卷积神经网络,卷积神经网络输出人手的11个关键点的置信热力图;

s3:根据所述关键点的双目平面位置恢复三维坐标;以及

s4:利用所述关键点的三维坐标拟合三维人手骨架。

可选地或优选地,步骤s4中,使用26自由度人手骨架作为恢复对象;其中:手腕6个自由度,包括手腕的三维坐标3个自由度和手掌的3个旋转自由度;每个手指4个自由度,包括指根2个旋转自由度和两个次指节分别1个旋转自由度。

可选地或优选地,所述步骤s4包括如下子步骤:

s41:拟合手掌的6个自由度;以及

s42:拟合5个手指的20个自由度。

可选地或优选地,所述子步骤s41包括:

骨架手掌的点定义为6个点,分别为手腕加5个手指的指根点;手掌点位置只与26自由度中的6个自由度相关;

定义优化目标为拟合后虚拟骨架的手掌点位置与双目三维手掌点位置的欧式距离最小;

可选地或优选地,所述子步骤s42包括:

定义虚拟骨架模型的指尖点和相应双目关键点三维位置的距离平方和为成本函数;

优化的目标为通过调整自由度参数使得成本函数值尽量小。

第二方面,本发明提供一种基于双目彩色成像系统的立体人手三维骨架模型实时重建装置,该装置包括如下模块:

检测手位置模块,所述检测手位置模块用于检测出与所述图片中手所在区域相切的矩形区域,然后确定矩形区域外围的正方形区域;

检测手平面关键点模块,所述检测手平面关键点模块用于将所述正方形区域的图像输入卷积神经网络,卷积神经网络输出人手的11个关键点的置信热力图;

三维坐标恢复模块,用于根据所述关键点的双目平面位置恢复三维坐标;以及

拟合模块,用于利用所述关键点的三维坐标拟合三维人手骨架。

可选地或优选地,所述拟合模块使用26自由度人手骨架作为恢复对象;其中:手腕6个自由度,包括手腕的三维坐标3个自由度和手掌的3个旋转自由度;每个手指4个自由度,包括指根2个旋转自由度和两个次指节分别1个旋转自由度。

可选地或优选地,所述拟合模块还用于:

拟合手掌的6个自由度;以及

拟合5个手指的20个自由度。

可选地或优选地,所述拟合模块用于拟合手掌的6个自由度包括:

骨架手掌的点定义为6个点,分别为手腕加5个手指的指根点;手掌点位置只与26自由度中的6个自由度相关;

定义优化目标为拟合后虚拟骨架的手掌点位置与双目三维手掌点位置的欧式距离最小;

可选地或优选地,所述拟合模块用于拟合5个手指的20个自由度包括:

定义虚拟骨架模型的指尖点和相应双目关键点三维位置的距离平方和为成本函数;

优化的目标为通过调整自由度参数使得成本函数值尽量小。

本发明提供的基于双目彩色成像系统的立体人手三维骨架模型实时重建方法和装置,借助任何额外的特殊特备,仅仅使用双目彩色图像(rgb3通道彩色图)对手进行3d重建。此技术完全依赖计算机视觉算法来匹配两张图片里的相同目标,可以单帧独立计算手型。相比于深度图和双目红外的手势重建方案,此技术具有成本低,功耗小,易普及等特点。

附图说明

图1为本发明实施例提供的一种基于双目彩色成像系统的立体人手三维骨架模型实时重建方法的流程图;

图2为拟合3d人手骨架步骤的流程图;

图3为本发明实施例提供的一种基于双目彩色成像系统的立体人手三维骨架模型实时重建装置的结构示意图;

图4为本发明实施例人手追踪示意图;

图5为本发明实施例大拇指指尖的热力相应示意图;

图6为从11张热力图中计算出11个关键点2d位置示意图;

图7为双目成像示意图;

图8为人手骨架26自由度分布示意图;

图9为人手3d骨架恢复示意图。

具体实施方式

下面将参考附图中示出的若干示例性实施方式来描述本发明的原理和精神。应当理解,描述这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。

本发明实施例提供一种基于双目彩色成像系统的立体人手三维(即3d)骨架模型实时重建方法,所述双目彩色成像系统用于拍摄人手,得到两张同一只手不同视角的彩色图片。即在以下的方法流程开始前,需要一个普通的双目彩色摄像头来拍摄同一张手,使系统在下述各步骤开始前已经获取到两张同一只手不同视角的彩色图片(两个视角为双目摄像头的两个镜头)。接下来,方法具体包括如下的步骤:

步骤s1:检测手位置,所述检测手位置包括检测出与所述图片中手所在区域相切的矩形区域,然后确定矩形区域外围的正方形区域。

此步骤目的是要在每张图片中找到人手的具体位置,即先找到与手(手指加手掌)的区域严格相切的矩形框作为矩形区域,然后将此矩形框周围一定区域所构成的正方形区域的图片内容输入下述步骤s2的卷积神经网络。如图4所示,人手严格相切的矩形区域(小框)占网络输入图片(大框)大小的60%~80%。

在实验中,此步骤使用了成熟的物体检测方法fasterr-cnn来进行手位置检测。fasterr-cnn可以实时地检测出一张图片里多只手的矩形切框(小框),在这里每张图片只有一只手。

图4为人手追踪示意图,小的矩形框为检测到的人手切框,大的正方形框为网络的输入。根据实验效果对比,网络输入包括一些手边缘的区域,会有助于关键点的检测。而faster-rcnn检测出的框是与手相切的,所以需要将小矩形区域适当扩大到大正方形区域来作为下述步骤s2网络的输入。

接下来,方法进行到步骤s2:检测手平面关键点:所述检测手平面关键点包括将所述正方形区域的图像输入卷积神经网络,经过训练,卷积神经网络输出人手的11个关键点的置信热力图。

步骤s1抠取到了双目的左右两张主要信息为手的正方形图片(正方形区域)。将其分别率重置为256*256用于输入卷积神经网络。这个卷积神经网络的输入是一张分别率为256*256的rgb3通道彩色图片,输出是人手11个关键点的置信热力图(图5示例性地给出了大拇指指尖的热力相应示意图)。11个关键点分别为手腕和5个手指的指根与指尖。每张热力图大小为32*32。热力图的每个像素位置的值大小表示这个位置是相应关键点的可信度。对于每张32*32大小的热力图,用线性插值算法将其大小放大到64*64的尺度。然后取最大值的像素位置为响应的关键点位置,并按比例计算其在256*256的输入图片中的实际对应位置。至此已经计算出了每个关键点的平面xy坐标。(图6为从11张热力图中计算出11个关键点2d位置示意图)

此网络在训练中使用了人工标注的约10万张不同人物和背景的人手图片。每张图片人工标注了11个关键点(手腕以及5个手指的指根和指尖),并根据所标注的关键点位置用程序生成对应的目标热力图进行监督训练。为了防止数据过拟合,训练中使用了数据增强(dataaugmentation)的方法,增强方式包括对图片进行随机的旋转,翻转,平移,缩放大小和像素值扰动。其中除了人手的11个关键点,数据中也标注了与人手严格相切的矩形框(左上和右下点表示一个矩形),这个框是用于步骤s1检测网络的训练。

接下来,方法进行到步骤s3:根据所述关键点的双目平面位置恢复三维坐标。即根据双目图像中关键点的平面位置恢复三维坐标。

步骤s2中得到了11个关键点的双目平面位置。利用双目摄像头的校准参数,通过双目三角成像原理可以计算出被观测点的3d位置ti=(xi,yi,zi),i∈[1,11]。此时所有关键点的3d位置由于平面信息的误差可能并非是一个合理的手结构。步骤三要通过模型拟合,恢复一个合理的完整人手3d骨架。

图7为双目成像示意图,左视角平面观测点p的实际3d位置分布在一条射线上,如果提供同一点右视角平面观测位置,那么两条射线的交点即为目标3d位置。

接下来,方法进行到步骤s4:利用所述关键点的三维坐标拟合三维人手骨架。

步骤s4中,使用26自由度(dof)人手骨架作为恢复对象θ=(θ1,θ2…θ26)。其中手腕6个自由度,包括手腕的3d坐标3个自由度和手掌的3个旋转自由度。每个手指4个自由度,包括指根2个旋转自由度,两个次指节分别1个旋转自由度,如图8所示。每组θ(向量)取值都会对应一组人手21点的坐标位置ji=(xi,yi,zi),i∈[1,21],映射函数为f。即

j=f(θ)

步骤s3通过双目视角获得粗糙的人手关键点3d位置ti=(xi,yi,zi),i∈[1,11]。此步骤目的为求出一个合理的26自由度骨架参数,使得骨架参数对应的骨架点位置j和双目计算出的3d点t尽量吻合。

拟合分为两个子步骤,首先是手掌6个自由度的拟合,然后是5个手指共20个自由度的拟合。

子步骤s41:手掌6个自由度的拟合

骨架手掌的点定义为6个点分别为手腕加5个手指的指根点。手掌点位置只与26自由度中的6个自由相关,即jf=f*(θ1,θ2,θ3,θ4,θ5,θ6)。

定义优化目标为拟合后虚拟骨架的手掌点位置与双目3d手掌点位置ti=(xi,yi,zi),i∈[1,6]的欧式距离最小。

其本质是求出一个最优的旋转矩阵(由旋转角θ1,θ2,θ3确定的3*3正交矩阵)和平移向量(θ4,θ5,θ6),使得人手骨架模型在旋转和平移变换后满足最优化目标。这是一个数值优化方案,本发明实施例使用最小二乘法进行最优旋转矩阵和平移向量的计算。

子步骤s42:5个手指20个自由度的拟合

手掌拟合完后,手腕和5个指根点已经最大程度的吻合上。此时需要计算出每个手指的4个自由度参数,即剩余的20个自由度参数(θ7,θ8…θ26)。本发明定义虚拟骨架模型的指尖点和相应双目关键点3d位置的距离平方和为成本函数。因为模型中手指之间的相互独立关系,在一些实施例中可以将其分别独立来计算。以小拇指为例,虚拟骨架的小拇指指尖为点j21,步骤s3中通过双目视角计算到的小拇指指尖点为t11。而手掌固定后,j21只与小拇指的自由度(θ23,θ24,θ25,θ26)有关。所以将优化的目标设定为通过调整(θ23,θ24,θ25,θ26)使得成本函数||j21-t11‖值尽量小。成本函数值越小手的骨架模型与双目信息的吻合程度就越好。本发明实施例使用梯度下降法进行成本函数的参数优化,用微扰法求出成本函数关于每个变量的梯度,即每次对一个自由度变量θi进行一个很小量δ(约0.001)的扰动,然后用成本函数值的变化量除以微扰量δ得到成本函数此时相对θi的偏导数,然后将偏导数乘上一个设定好的逐渐递减的学习率α加到变量参数上,使变量参数沿梯度方向下降,即另外在参数变化的过程中,骨架模型的自然结构使得其可以添加合理的先验限制。本发明实施例中限制了5个手指每个关节的旋转角度在合理的范围内,并且不准手指发生相交。即每次梯度下降迭代后,模型都要检验骨架是否合理,如果不合理则随机给出一个微扰的合理数值继续梯度下降。这样可以一定程度上保证在3d点计算位置不准确情况下,骨架仍可以给出一个合理自然的手势。

最后,恢复了的人手3d骨架如图9所示,人手骨架的11个关键点恢复后以3d的形式呈现。

本发明实施例还提供了一种基于双目彩色成像系统的立体人手三维骨架模型实时重建装置,如图3所示,包括如下模块:

检测手位置模块,所述检测手位置模块用于检测出与所述图片中手所在区域相切的第一矩形区域,然后确定第一矩形区域外围的正方形区域;

检测手平面关键点模块,所述检测手平面关键点模块用于将所述正方形区域的图像输入卷积神经网络,经过训练输出人手的11个关键点的置信热力图;

三维坐标恢复模块,用于根据所述关键点的双目平面位置恢复三维坐标;以及

拟合模块,用于利用所述关键点的三维坐标拟合三维人手骨架。

所述拟合模块使用26自由度人手骨架作为恢复对象;其中:手腕6个自由度,包括手腕的三维坐标3个自由度和手掌的3个旋转自由度;每个手指4个自由度,包括指根2个旋转自由度和两个次指节分别1个旋转自由度。

所述拟合模块还用于:

拟合手掌的6个自由度;以及

拟合5个手指的20个自由度。

所述拟合模块用于拟合手掌的6个自由度包括:

骨架手掌的点定义为6个点,分别为手腕加5个手指的指根点;手掌点位置只与26自由度中的6个自由度相关;

定义优化目标为拟合后虚拟骨架的手掌点位置与双目三维手掌点位置的欧式距离最小;

所述拟合模块用于拟合5个手指的20个自由度包括:

定义虚拟骨架模型的指尖点和相应双目关键点三维位置的距离平方和为成本函数;

优化的目标为通过调整自由度参数使得成本函数值尽量小。

应当理解的是,上述各模块和方法实施例中各步骤的实施方式对应,具体的实现可以参考方法实施例中的相应描述,在此不再赘述。

本文中应用了具体个例对发明构思进行了详细阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离该发明构思的前提下,所做的任何显而易见的修改、等同替换或其他改进,均应包含在本发明的保护范围之内。

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