一种基于双目视觉图像的指尖检测方法及系统与流程

文档序号:12177971阅读:297来源:国知局
一种基于双目视觉图像的指尖检测方法及系统与流程

本发明涉及指尖检测及定位领域,具体涉及一种基于双目视觉图像的指尖检测方法及系统。



背景技术:

从图像中精确和高效地检测和定位出手指指尖的三维位置,是计算机视觉和人机交互领域的一个热点问题。指尖检测技术在虚拟现实、增强现实、体感游戏、人机交互等方面有着广阔的应用前景。然而,由于手本身的自由度很高,精确的指尖检测仍然是一个难题。近年来出现了很多基于深度图像的全手姿态估计算法研究。由于手指面积较小,运动较快,因此深度图中的手指部分的深度质量相对较差,现有的方法都容易受到深度图精度的影响,通常指尖检测的精度都在10mm以上。同时,在手部的所有骨架节点中,指尖点在交互中起到的作用更加关键,因此精确的指尖点检测算法研究有着重要的意义。

早期的一些研究工作利用单目彩色图像来进行指尖检测。这类方法的检测精度较差,通常只提供粗略的手指的朝向而没有提供指尖点的精确坐标位置。更重要的是,单目图像无法提供深度信息,因此无法得到指尖点的三维空间坐标。

目前,基于双目图像的指尖检测通常利用人工规则的方法进行检测,因而对手的不同形状和运动鲁棒性较差,同时,这些方法也容易受到环境光照和肤色的影响。此外,之前的基于双目的指尖检测方法通常分别在两个视角图像中检测出指尖的位置,然后利用三角测量的方法算出指尖的三维坐标,没有利用两个视角图像之间的约束,造成了检测结果不够准确的缺陷。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种基于双目视觉图像的指尖检测方法及系统,识别精度高且运行速度快,同时避免了基于深度图的指尖检测方法中深度成像过程的误差影响,使得对指尖的检测定位结果精确且可靠,为人机交互中的指尖定位的应用研究提供了精确的技术支撑。

为解决上述技术问题,本发明提供以下技术方案:

一方面,本发明提供了一种基于双目视觉图像的指尖检测方法,所述方法包括:

步骤1.根据双目立体视觉原理获取目标手部的双目视觉图像,并将所述双目视觉图像转换为二值图像;

步骤2.预处理所述二值图像;

步骤3.根据卷积神经网络及卷积神经网络的回归目标模型,得到预处理后的二值图像中的像素坐标预测值及目标手部中各指尖点的视差预测值;

步骤4.对所述二值图像的像素坐标预测值及指尖点的视差预测值进行校正,得到所述二值图像的像素坐标终值及指尖点的视差终值;

以及根据所述二值图像的像素坐标终值及指尖点的视差终值,得到手部的各指尖的三维坐标值。

进一步的,所述步骤1包括:

步骤1-1.根据双目立体视觉抓取设备获取手部的双目视觉图像,其中,所述双目视觉图像有两幅,且两幅图像为分别对应所述双目立体视觉抓取设备的两个摄像头的左视觉图和右视觉图;

步骤1-2.将所述左视觉图和右视觉图分别进行二值分割处理,得到所述左视觉图的二值图像及右视觉图的二值图像。

进一步的,所述步骤2包括:

步骤2-1.将各所述二值图像中的手部的重心作为各所述二值图像的中心点;

步骤2-2.根据各所述二值图像的中心点,将全部的所述二值图像裁剪为长宽比值相同的二值图像;

步骤2-3.将全部剪裁后的二值图像缩放为尺寸相同的二值图像,使得图像满足卷及神经网络的输入要求。

进一步的,所述步骤3包括:

根据卷积神经网络及如式(1)所述的卷积神经网络的回归目标模型,得到预处理后的二值图像中的像素坐标预测值及目标手部中各指尖点的视差预测值;其中,所述卷积神经网络包括12个卷积层、4个池化层和3个全连接层;

式(1)中,△u和△v为所述预处理后的二值图像中的像素横坐标及纵坐标预测值,所述△d为各指尖点的视差预测值;u和v为所述预处理后的二值图像中的像素坐标终值,Cxl和Cyl为左视觉图的二值图像的中心点的横坐标及纵坐标;Cxr为右视觉图的二值图像的中心点的横坐标;fx是双目立体视觉抓取设备参数;b是双目立体视觉抓取设备的双目摄像头的基线长度;z为指尖三维坐标中的深度值。

进一步的,所述步骤4包括:

步骤4-1.根据式(2)对所述二值图像的像素坐标预测值及指尖点的视差预测值进行校正,得到所述二值图像的像素坐标终值及指尖点的视差终值:

(u,v,d)=(△u+Cxl,△v+Cyl,△d+(Cxl-Cxr)) (2)

步骤4-2.根据式(3)得到指尖三维坐标中的深度值z:

步骤4-3.根据双目立体视觉抓取设备参数及所述二值图像的像素坐标终值及指尖点的视差终值,得到手部的各指尖的三维坐标值(x,y,z)。

另一方面,本发明还提供一种基于双目视觉图像的指尖检测系统,所述系统包括:

目标手部图像获取模块,用于根据双目立体视觉原理获取目标手部的双目视觉图像,并将所述双目视觉图像转换为二值图像;

预处理模块,用于预处理所述二值图像;

卷积神经网络预测模块,用于根据卷积神经网络及卷积神经网络的回归目标模型,得到预处理后的二值图像中的像素坐标预测值及目标手部中各指尖点的视差预测值;

指尖三维坐标获取模块,用于对所述二值图像的像素坐标预测值及指尖点的视差预测值进行校正,得到所述二值图像的像素坐标终值及指尖点的视差终值,以及根据所述二值图像的像素坐标终值及指尖点的视差终值,得到手部的各指尖三维坐标值。

进一步的,所述目标手部图像获取模块包括:

双目视觉图像获取单元,用于根据双目立体视觉抓取设备获取手部的双目视觉图像,其中,所述双目视觉图像有两幅,且两幅图像为分别对应所述双目立体视觉抓取设备的两个摄像头的左视觉图和右视觉图;

二值图像获取单元,用于将所述左视觉图和右视觉图分别进行二值分割处理,得到所述左视觉图的二值图像及右视觉图的二值图像。

进一步的,所述预处理模块包括:

中心点确定单元,用于将各所述二值图像中的手部的重心作为各所述二值图像的中心点;

剪裁单元,用于根据各所述二值图像的中心点,将全部的所述二值图像裁剪为长宽比值相同的二值图像;

缩放单元,用于将全部剪裁后的二值图像缩放为尺寸相同的二值图像,使得图像满足卷及神经网络的输入要求。

进一步的,所述卷积神经网络预测模块包括:

预测值获取单元,用于根据卷积神经网络及如式(1)所述的卷积神经网络的回归目标模型,得到预处理后的二值图像中的像素坐标预测值及目标手部中各指尖点的视差预测值;其中,所述卷积神经网络包括12个卷积层、4个池化层和3个全连接层;

式(1)中,△u和△v为所述预处理后的二值图像中的像素横坐标及纵坐标预测值,所述Δd为各指尖点的视差预测值;u和v为所述预处理后的二值图像中的像素坐标终值,Cxl和Cyl为左视觉图的二值图像的中心点的横坐标及纵坐标;Cxr为右视觉图的二值图像的中心点的横坐标;fx是双目立体视觉抓取设备参数;b是双目立体视觉抓取设备的双目摄像头的基线长度;z为指尖三维坐标中的深度值。

进一步的,所述指尖三维坐标获取模块包括:

像素坐标终值及指尖点的视差终值获取单元,用于根据式(2)对所述二值图像的像素坐标预测值及指尖点的视差预测值进行校正,得到所述二值图像的像素坐标终值及指尖点的视差终值:

(u,v,d)=(Δu+Cxl,Δv+Cyl,Δd+(Cxl-Cxr)) (2)

深度值获取单元,用于根据式(3)得到指尖三维坐标中的深度值z:

指尖三维坐标获取单元,用于根据双目立体视觉抓取设备参数及所述二值图像的像素坐标终值及指尖点的视差终值,得到手部的各指尖的三维坐标值(x,y,z)。

由上述技术方案可知,本发明所述的一种基于双目视觉图像的指尖检测方法及系统,识别精度高且运行速度快,同时避免了基于深度图的指尖检测方法中深度成像过程的误差影响,使得对指尖的检测定位结果精确且可靠,为人机交互中的指尖定位的应用研究提供了精确的技术支撑。

1、本发明的技术方案中,根据双目立体视觉原理获取目标手部的双目视觉图像,为后续的卷积神经网络预测部分提供了数据基础,使得本方法及系统的技术方案可靠且准确。

2、本发明的技术方案中,利用二值图像来进行指尖检测,使得对指尖的检测结果不受环境光照和肤色影响,有效提高了检测结果的准确性。

3、本发明的技术方案中,通过对二值图像进行检测及尺寸统一,为后续处理提供了准确的数据基础,同时提高了整个检测过程的效率。

4、本发明的技术方案中,卷积神经网络包括12个卷积层、4个池化层和3个全连接层的设置,使得对指尖的识别精度高且运行速度快。

5、本发明的技术方案中,与基于深度图的方法相比,避免了深度成像过程中所带来的误差的影响,提高了对指尖的检测定位结果精确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的一种基于双目视觉图像的指尖检测方法的流程示意图;

图2是本发明的检测方法中步骤100的流程图;

图3是本发明的检测方法中步骤200的流程图;

图4是本发明的检测方法中步骤400的流程图;

图5是本发明的应用实例中检测方法的流程图;

图6是本发明的应用实例中图像分割和预处理的过程示意图;

图7是本发明的一种基于双目视觉图像的指尖检测系统示意图。

具体实施方式

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

本发明实施例一提供了一种基于双目视觉图像的指尖检测方法,参见图1,该检测方法具体包括如下步骤:

步骤100:根据双目立体视觉原理获取目标手部的双目视觉图像,并将双目视觉图像转换为二值图像。

在本步骤中,先获取要检测的目标手部,然后获取双目立体视觉抓取设备拍摄到的该目标手部的双目视觉图像,由于双目视觉图像为彩色图像,不可避免的会受环境光照和肤色影响,因此,对双目视觉图像转换为二值图像,其中,双目立体视觉原理是机器视觉的一种重要原理,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法;而二值图像是指将图像上的每一个像素只有两种可能的取值或灰度等级状态,常用黑白、B&W、单色图像表示二值图像。

步骤200:预处理二值图像。

在本步骤中,预处理步骤100中的二值图像,使其适用于下述步骤的进一步处理,同时使得目标手部的各指尖点的空间坐标对应二值图像的像素坐标及指尖点的视差值。

步骤300:根据卷积神经网络及卷积神经网络的回归目标模型,得到预处理后的二值图像中的像素坐标预测值及目标手部中各指尖点的视差预测值。

在本步骤中,目标手部的各指尖点的空间坐标对应二值图像的像素坐标及指尖点的视差值,因此,此步骤就转换为对像素坐标及指尖点的视差值的预测,其中,卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。

步骤400:对二值图像的像素坐标预测值及指尖点的视差预测值进行校正,得到二值图像的像素坐标终值及指尖点的视差终值;以及根据二值图像的像素坐标终值及指尖点的视差终值,得到手部的各指尖的三维坐标值。

在本步骤中,将像素坐标预测值及指尖点的视差预测值校正为像素坐标终值及指尖点的视差终值,再将像素坐标终值及指尖点的视差终值对应为手部的各指尖的三维坐标值,完成目标手部的指尖检测及定位。

从上述描述可知,本实施例的一种基于双目视觉图像的指尖检测方法,避免了基于深度图的指尖检测方法中深度成像过程的误差影响,对指尖的检测定位结果精确且可靠,为人机交互中的指尖定位的应用研究提供了精确的技术支撑。

本发明实施例二提供了上述步骤100的一种具体实现方式。参见图2,步骤100具体包括如下步骤:

步骤101:根据双目立体视觉抓取设备获取手部的双目视觉图像,其中,双目视觉图像有两幅,且两幅图像为分别对应双目立体视觉抓取设备的两个摄像头的左视觉图和右视觉图;

步骤102:将左视觉图和右视觉图分别进行二值分割处理,得到左视觉图的二值图像及右视觉图的二值图像。

从上述描述可知,本实施例根据双目立体视觉原理获取目标手部的双目视觉图像,为后续的卷积神经网络预测部分提供了数据基础,使得本方法及系统的技术方案可靠且准确;以及利用二值图像来进行指尖检测,使得对指尖的检测结果不受环境光照和肤色影响,有效提高了检测结果的准确性。

本发明实施例三提供了上述步骤200的一种具体实现方式。参见图3,步骤200具体包括如下步骤:

步骤201:将各二值图像中的手部的重心作为各二值图像的中心点;

步骤202:根据各二值图像的中心点,将全部的二值图像裁剪为长宽比值相同的二值图像;

步骤203:将全部剪裁后的二值图像缩放为尺寸相同的二值图像,使得图像满足卷及神经网络的输入要求。

从上述描述可知,本实施例通过对二值图像进行检测及尺寸统一,为后续处理提供了准确的数据基础,同时提高了整个检测过程的效率。

本发明实施例四提供了上述步骤300的一种具体实现方式。步骤300具体包括如下步骤:

根据卷积神经网络及的卷积神经网络的回归目标模型,得到预处理后的二值图像中的像素坐标预测值及目标手部中各指尖点的视差预测值,卷积神经网络的回归目标模型为:

式(1)中,Δu和Δv为预处理后的二值图像中的像素横坐标及纵坐标预测值,Δd为各指尖点的视差预测值;u和v为预处理后的二值图像中的像素坐标终值,Cxl和Cyl为左视觉图的二值图像的中心点的横坐标及纵坐标;Cxr为右视觉图的二值图像的中心点的横坐标;fx是双目立体视觉抓取设备参数;b是双目立体视觉抓取设备的双目摄像头的基线长度;z为指尖三维坐标中的深度值。

其中,卷积神经网络为一个19层的卷积神经网络,且该卷积神经网络用来回归指尖点的相对坐标值(Δu,Δv,Δd),该卷积神经网络包括12个卷积层,4个池化层(max pooling)和3个全连接层。

从上述描述可知,卷积神经网络及卷积神经网络的回归目标模型的设置,使得对指尖的识别的结果准确且可靠。

本发明实施例五提供了上述步骤400的一种具体实现方式。参见图4,步骤400具体包括如下步骤:

步骤401:对二值图像的像素坐标预测值及指尖点的视差预测值进行校正,得到二值图像的像素坐标终值及指尖点的视差终值,见式(2):

(u,v,d)=(Δu+Cxl,Δv+Cyl,Δd+(Cxl-Cxr)) (2)

步骤402:获取指尖三维坐标中的深度值z,见式(3):

步骤403:根据双目立体视觉抓取设备参数及二值图像的像素坐标终值及指尖点的视差终值,得到手部的各指尖的三维坐标值(x,y,z)。

从上述描述可知,本实施例的技术方案与基于深度图的方法相比,避免了深度成像过程中所带来的误差的影响,提高了对指尖的检测定位结果精确性。

为更进一步地说明本方案,本发明还提供一种基于双目视觉图像的指尖检测方法的应用实例,具体内容如下:

参见图5,整个检测过程输入时为原始的双目二值图像,输出时为指尖点检测的结果。首先对输入的图像进行预处理分割出手部的图像,然后输入到一个19层的卷积神经网络中进行预测,得到指尖点坐标的预测值,最后利用一个指尖点坐标的后处理过程,得到最终的指尖点三维坐标。

图6是图像分割和预处理的过程示意图。指尖检测的目标是从双目图像Im={Iml,Imr}(其中Iml为左视图,Imr为右视图)中,预测出

指尖点的三维坐标在本发明中,K=6,其中包括K1=5个指尖点和K2=1个掌心点,在后文的所有描述中,不做区分,统一称为指尖点。首先所有输入图像都会根据手部区域的重心为中心点进行裁剪和分割成w×h的图像,然后把大小放缩成一个固定的大小wp×hp。左右视图手部区域的重心点分别记为(cxl,cyl)和(cxr,cyr)。由于图像被裁剪,因此指尖点的绝对空间坐标变成了相对于图像的相对坐标。先把指尖点的三维空间坐标(x,y,z)投影到图像平面中来,得到图像中的像素坐标(u,v)。根据手部区域的重心位置,即可得到相对像素坐标。因为左右视图是根据各自的图像重心进行剪裁的,根据这两个图像无法得到指尖点的绝对视差值d,所以,应该先根据裁剪后的图像预测相对视差值Δd,然后再算出绝对视差值d。因此卷积神经网络要回归的目标是:

(Δu,△v,△d)=(u-Cxl,v-Cyl,d-(Cxl-Cxr))

其中视差值d满足:

fx是相机的参数,而b是双目摄像头的基线长度。

卷积神经网络的结构如下表1所示:

表1

利用一个19层的卷积神经网络来回归指尖点的相对坐标值(Δu,Δv,Δd)。该卷积神经网络包括12个卷积层,4个池化层(max pooling)和3个全连接层。表1列出了各个层的参数。其中[(s×s)×d]×k表示有k个滤波核大小为s,有d个通道的卷积层(在表1中用conv表示)。同样,对于池化层(表1中用pool表示),(s×s)表示池化层的核大小为s。表1中用fc表示全连接层,对应的数字表示全连接层的神经元个数。所有的卷积层和全连接层后面都有一个ReLU激活函数。经过预处理和分割的图像作为卷积神经网络的输入,然后得到3×J的输出,重排列可得到J个3D坐标(Δu,Δv,Δd)。

在指尖坐标后处理模块中,相对坐标值(Δu,Δv,Δd)被转换成绝对空间坐标值(x,y,z)。首先利用下面公式得到像素坐标(u,v,d):

(u,v,d)=(△u+Cxl,△v+Cyl,△d+(Cxl-Cxr))

然后根据视差值算出深度值z:

然后根据相机参数,根据(u,v,z)算出最终的指尖三维坐标(x,y,z)。

从上述描述可知,本方法利用双目二值图像来进行指尖检测,不受环境光照和肤色影响;提出一个19层的卷积神经网络来进行指尖检测,识别精度高且运行速度快;直接从双目图像中求解指尖点的三维坐标,与基于深度图的方法相比,避免了深度成像过程中所带来的误差的影响。

为更进一步地说明本方案,本发明还提供一种基于双目视觉图像的指尖检测系统的实施例。参见图7,具体内容如下:

其一,目标手部图像获取模块10,用于根据双目立体视觉原理获取目标手部的双目视觉图像,并将双目视觉图像转换为二值图像。

上述目标手部图像获取模块10中还包括:

双目视觉图像获取单元11,用于根据双目立体视觉抓取设备获取手部的双目视觉图像,其中,双目视觉图像有两幅,且两幅图像为分别对应双目立体视觉抓取设备的两个摄像头的左视觉图和右视觉图。

二值图像获取单元12,用于将左视觉图和右视觉图分别进行二值分割处理,得到左视觉图的二值图像及右视觉图的二值图像。

其二,预处理模块20,用于预处理二值图像。

上述预处理模块20中还包括:

中心点确定单元21,用于将各二值图像中的手部的重心作为各二值图像的中心点。

剪裁单元22,用于根据各二值图像的中心点,将全部的二值图像裁剪为长宽比值相同的二值图像。

缩放单元23,用于将全部剪裁后的二值图像缩放为尺寸相同的二值图像,使得图像满足卷及神经网络的输入要求。

其三,卷积神经网络预测模块30,用于根据卷积神经网络及卷积神经网络的回归目标模型,得到预处理后的二值图像中的像素坐标预测值及目标手部中各指尖点的视差预测值。

上述卷积神经网络预测模块30中还包括:

预测值获取单元31,用于根据卷积神经网络及如式(1)的卷积神经网络的回归目标模型,得到预处理后的二值图像中的像素坐标预测值及目标手部中各指尖点的视差预测值:

式(1)中,△u和△v为预处理后的二值图像中的像素横坐标及纵坐标预测值,△d为各指尖点的视差预测值;u和v为预处理后的二值图像中的像素坐标终值,Cxl和Cyl为左视觉图的二值图像的中心点的横坐标及纵坐标;Cxr为右视觉图的二值图像的中心点的横坐标;fx是双目立体视觉抓取设备参数;b是双目立体视觉抓取设备的双目摄像头的基线长度;z为指尖三维坐标中的深度值。

其四,指尖三维坐标获取模块40,用于对二值图像的像素坐标预测值及指尖点的视差预测值进行校正,得到二值图像的像素坐标终值及指尖点的视差终值,以及根据二值图像的像素坐标终值及指尖点的视差终值,得到手部的各指尖三维坐标值。

上述指尖三维坐标获取模块40中还包括:

像素坐标终值及指尖点的视差终值获取单元41,用于根据式(2)对二值图像的像素坐标预测值及指尖点的视差预测值进行校正,得到二值图像的像素坐标终值及指尖点的视差终值:

(u,v,d)=(△u+Cxl,△v+Cyl,Δd+(Cxl-Cxr)) (2)

深度值获取单元42,用于根据式(3)得到指尖三维坐标中的深度值z:

指尖三维坐标获取单元43,用于根据双目立体视觉抓取设备参数及二值图像的像素坐标终值及指尖点的视差终值,得到手部的各指尖的三维坐标值(x,y,z)。

从上述描述可知,本实施例的一种基于双目视觉图像的指尖检测方法,避免了误差影响,对指尖的检测定位结果精确且可靠,为人机交互中的指尖定位的应用研究提供了精确的技术支撑。

以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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