本发明属于数字图像处理领域,尤其涉及一种双目立体视觉系统中对应指尖点的匹配方法、装置。
背景技术:
基于双目立体视觉的手势跟踪识别技术常常被用于构建人机交互系统。通过使用两个摄像头同时对使用者的手势进行拍摄,并还原出各个手指指尖的三维坐标,可以为手势跟踪识别提供重要信息。在还原各个手指指尖的三维坐标时,需要对两个摄像头同时拍摄得到的图像进行对应指尖点的匹配,若图像中由于手指间的相互遮挡、噪声等问题导致指尖的漏检,使得两个摄像头拍摄的图像中指尖的数目不一致,就比较容易导致指尖点的误匹配。
技术实现要素:
本发明实施例提供了一种双目立体视觉系统中对应指尖点的匹配方法、装置,旨在解决现有技术提供的指尖点的匹配方法,由于指尖的漏检,容易导致指尖点的误匹配的问题。
一方面,提供一种双目立体视觉系统中对应指尖点的匹配方法,所述方法包括:
根据手指在手部二值图像中的空间位置关系,利用手指顺序约束法穷举出第一手部二值图像和第二手部二值图像中各指尖点之间的所有匹配组合;
计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和,确定所述距离和最小的一组匹配组合;
根据预设的距离阈值,依次判断所述距离和最小的一组匹配组合中的每对匹配指尖点中的两个指尖点是否匹配正确。
进一步地,所述计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和包括:
A、计算第一手部二值图像中的各个指尖点在第二手部二值图像中的对应第一极线;
B、计算与所述第一手部二值图像中的各个指尖点匹配的第二手部二值图像中的各个指尖点与所述第一极线的距离;
C、计算第二手部二值图像中的各个指尖点在第一手部二值图像中的对应第二极线;
D、计算与所述第二手部二值图像中的各个指尖点匹配的第一手部二值图像中的各个指尖点与所述第二极线的距离
E、将步骤B计算得到的所有距离与步骤D计算得到的所有距离相加,得到每组匹配组合中的每对匹配指尖点至其对应极线的距离和。
进一步地,在所述根据手指在手部二值图像中的空间位置关系,利用手指顺序约束法穷举出第一手部二值图像和第二手部二值图像中各指尖点之间的所有匹配组合之前,还包括:
将双目立体视觉系统中的两个摄像头分别采集的两幅手部图像经过手部区域分割后得到的两幅手部二值图像。
进一步地,在所述所有匹配组合中,指尖点数目较少的一副手部二值图像中的所有指尖点都有相应的匹配指尖点。
另一方面,提供一种双目立体视觉系统中对应指尖点的匹配装置,所述装置包括:
匹配组合确定单元,用于根据手指在手部二值图像中的空间位置关系,利用手指顺序约束法穷举出第一手部二值图像和第二手部二值图像中各指尖点之间的所有匹配组合;
最佳匹配组合确定单元,用于计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和,确定所述距离和最小的一组匹配组合;
匹配正确性判断单元,用于根据预设的距离阈值,依次判断所述距离和最小的一组匹配组合中的每对匹配指尖点中的两个指尖点是否匹配正确。
进一步地,所述最佳匹配组合确定单元包括:
第一极线确定模块,用于计算第一手部二值图像中的各个指尖点在第二手部二值图像中的对应第一极线;
第一距离计算模块,用于计算与所述第一手部二值图像中的各个指尖点匹配的第二手部二值图像中的各个指尖点与所述第一极线的距离;
第二极线确定模块,用于计算第二手部二值图像中的各个指尖点在第一手部二值图像中的对应第二极线;
第二距离计算模块,用于计算与所述第二手部二值图像中的各个指尖点匹配的第一手部二值图像中的各个指尖点与所述第二极线的距离
距离和计算模块,用于将第一距离计算模块计算得到的所有距离与第二距离计算模块计算得到的所有距离相加,得到每组匹配组合中的每对匹配指尖点至其对应极线的距离和。
进一步地,所述装置还包括:
手部二值图像获取单元,用于将双目立体视觉系统中的两个摄像头分别采集的两幅手部图像经过手部区域分割后得到的两幅手部二值图像。
进一步地,在所述所有匹配组合中,指尖点数目较少的一副手部二值图像中的所有指尖点都有相应的匹配指尖点。
在本发明实施例,先根据手指在手部二值图像中的空间位置关系,利用手指顺序约束法穷举出第一手部二值图像和第二手部二值图像中各指尖点之间的所有匹配组合;再计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和,确定所述距离和最小的一组匹配组合;最后根据预设的距离阈值,依次判断所述距离和最小的一组匹配组合中的每对匹配指尖点中的两个指尖点是否匹配正确。充分地利用了各个手指的顺序约束特性和双目立体视觉系统的极线约束特性,有效地减少了指尖点误匹配的发生。
附图说明
图1是本发明实施例一提供的双目立体视觉系统中对应指尖点的匹配方法的实现流程图;
图2a和图2b分别是本发明实施例一提供的第一手部二值图像和第二手部二值图像示意图;
图3a和图3b分别是本发明实施例一提供的检测到指尖点数目相同的两幅手部二值图像的示意图;
图4a和图4b分别是本发明实施例一提供的检测到指尖点数目不相同的两幅手部二值图像的示意图;
图5是本发明实施例一提供的计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和时的实现流程图;
图6是本发明实施例一提供的双目立体视觉系统中的极线约束特性的体现示意图;
图7a和图7b分别是本发明实施例一提供的检测到指尖点数目不相同,并且容易出现误匹配的两幅手部二值图像的示意图;
图8是本发明实施例二提供的双目立体视觉系统中对应指尖点的匹配装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,先根据手指在手部二值图像中的空间位置关系,利用手指顺序约束法穷举出第一手部二值图像和第二手部二值图像中各指尖点之间的所有匹配组合;再计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和,确定所述距离和最小的一组匹配组合;最后根据预设的距离阈值,依次判断所述距离和最小的一组匹配组合中的每对匹配指尖点中的两个指尖点是否匹配正确,如果不正确,则可以将该对匹配指尖点从所述距离和最小的一组匹配组合中去除。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的双目立体视觉系统中对应指尖点的匹配方法的实现流程,详述如下:
在步骤S101中,根据手指在手部二值图像中的空间位置关系,利用手指顺序约束法穷举出第一手部二值图像和第二手部二值图像中各指尖点之间的所有匹配组合。
在本实施例中,如图2所示为双目立体视觉系统中的两个摄像头分别采集的两幅手部图像经过手部区域分割后得到的两幅手部二值图像,为了方便叙述,将该两幅手部二值图像图2a和图2b分别称为第一手部二值图像和第二手部二值图像。由于两个摄像头拍摄的图像存在视差,因此手部区域在两幅手部二值图像中并非处于同一位置。
在提取出两幅手部二值图像中的各个指尖点后,需要对该两幅手部二值图像中对应的指尖点进行匹配,只有两幅手部二值图像中的各指尖点匹配正确才可能计算得到指尖点的准确三维空间位置,例如在图3中,图3a和图3b中各指尖点的正确匹配为:1-1’,2-2’,3-3’,4-4’,5-5’。若待匹配的两幅手部二值图像中检测得到的指尖点的数目相同(即图3中所示的情况),则根据人手固有的特性,只需按照顺时针(或逆时针)方向逐个匹配两幅手部二值图像中找到的各个指尖点即可完成正确匹配。但有时由于遮挡、噪声等因素的干扰,在摄像头拍摄的两幅手部图像中未必能够得到相等个数的指尖点,如图4所示,在图4a中找到了三个指尖点1、2和3,而在图4b中找到了四个指尖点1’、2’、3’和4’,正确的匹配组合应为:1-1’,2-2’,3-4’。
为了在两幅手部图像中指尖点数目不一致的情况下正确匹配各指尖点,首先根据手指在手部二值图像中的空间位置关系,利用手指的顺序约束法来穷举出图4a和图4b中的所有指尖点之间的所有可能的匹配组合,并且在各种匹配组合中,指尖点数目较少的一幅手部二值图像中的所有指尖点都有相应的匹配指尖点,例如在手指的顺序约束下,图4a和图4b中的指尖点之间的所有可能的匹配组合为:
第一组匹配组合:1-1’ 2-2’ 3-3’;
第二组匹配组合:1-1’ 2-2’ 3-4’;
第三组匹配组合:1-1’ 2-3’ 3-4’;
第四组匹配组合:1-2’ 2-3’ 3-4’。
其中,在第一组匹配组合中,1和1’是一对匹配指尖点,2和2’是一对匹配指尖点,3和3’是一对匹配指尖点。其中,1、2和3是第一手部二值图像中的指尖点,1’、2’和3’是与1、2和3匹配的第二手部二值图像中的指尖点。图4a这一副手部二值图像中的指尖点比图4b这一副手部二值图像中的指尖点数目少,图4a这一副手部二值图像中的指尖点1、2和3在图4b中都可以找到相应的匹配指尖点。
在步骤S102中,计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和,确定所述距离和最小的一组匹配组合。
本发明实施例中,计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和时的流程如图5所示,具体包括:
步骤S501、计算第一手部二值图像中的各个指尖点在第二手部二值图像中的对应第一极线。
步骤S502、计算与所述第一手部二值图像中的各个指尖点匹配的第二手部二值图像中的各个指尖点与所述第一极线的距离。
步骤S503、计算第二手部二值图像中的各个指尖点在第一手部二值图像中的对应第二极线。
步骤S504、计算与所述第二手部二值图像中的各个指尖点匹配的第一手部二值图像中的各个指尖点与所述第二极线的距离。
步骤S505、将步骤S502计算得到的所有距离与步骤S504计算得到的所有距离相加,得到每组匹配组合中的每对匹配指尖点至其对应极线的距离和。
以下以计算第一组匹配组合中的每对匹配指尖点至其对应极线的距离和为例来进行说明,详述如下:第一组匹配组合为:1-1’、2-2’、3-3’,首先计算图4a中的指尖点1在图4b中的对应第一极线;再计算图4b中的指尖点1’到指尖点1在图4b中的对应第一极线的距离d1’;然后计算图4b中的指尖点1’在图4a中的对应第二极线;再计算图4a中的指尖点1到指尖点1’在图4a中的对应第二极线的距离d1;然后,计算第一对匹配指尖点中的每个指尖点至其对应极线的距离和d(1-1’)=d1+d1’。用上述同样的方法可以计算第二对匹配指尖点中的每个指尖点至其对应极线的距离和d(2-2’)和第三对匹配指尖点中每个指尖点至其对应极线的距离和d(3-3’),最后,计算所有对匹配指尖点至其对应极线的距离和,记d(1)=d(1-1’)+d(2-2’)+d(3-3’),表示第一组匹配组合中的所有对匹配指尖点至其对应极线的距离和。
同理,可以计算得到第二组匹配组合对应的d(2)=d(1-1’)+d(2-2’)+d(3-4’),第三组匹配组合对应的d(3)=d(1-1’)+d(2-3’)+d(3-4’),第四组匹配组合对应的d(4)=d(1-2’)+d(2-3’)+d(3-4’)。比较d(1)、d(2)、d(3)和d(4),找到其中的最小者d(i),那么这个最小的d(i)所对应的第i组匹配组合就是距离和最小的一组匹配组合。
其中,在双目立体视觉系统中,极线的确定如图6所示,该图6体现了双目立体视觉系统中的极线约束特性。设两个摄像头的光心分别为C1和C2,两个摄像头的图像平面分别为I1和I2,空间中某个点P在I1中所成的像点为p1(即P与C1的连线与图像平面I1的交点),P在I2中所成的像点为p2(即P与C2的连线与图像平面I2的交点),P、C1、C2所在的平面为极平面,极平面与I1、I2的交线L1、L2为极线,C1与C2的连线与I1、I2的交点e1、e2为极点,p1像点在I2中对应的极线为L2。
另外,从图6中容易看出,与p1像点对应的p2像点位于极线L2上;同样地,p2像点在I1中对应的极线为L1,与p2像点对应的p1像点位于极线L1上,这就是双目立体视觉中的极线约束特性。极线约束特性对于寻找某个像点在另外一个图像平面上的对应像点很有帮助,例如,需要寻找p1像点在I2平面上的对应像点时,可以求得p1像点在I2平面上的对应极线L2,与p1对应的p2像点就位于L2上。在实际的双目立体视觉系统中,由于受到许多因素的影响,p2不会严格地在L2上,但p2到L2的距离会非常近。本实施例中的步骤S102充分地利用了双目立体视觉系统的极线约束特性,该极线约束特性对于寻找某个像点在另外一个图像平面上的对应像点很有帮助,可以有效减少误匹配的发生。
在步骤S103中,根据预设的距离阈值,依次判断所述距离和最小的一组匹配组合中的每对匹配指尖点中的两个指尖点是否匹配正确。
在本实施例中,对于距离和最小的一组匹配组合中的某对匹配指尖点m-n’,若d(m-n’)小于一个设定的距离阈值T,则认为指尖点m与指尖点n’是两幅摄像头图像中的一对匹配正确的指尖点;否则认为它们不是一对匹配正确的指尖点。
例如,在图7中,根据步骤S102求得的距离和最小的一组匹配组合为1-1’,2-2’,而d(1-1’)<T,因此认为图7a中的指尖点1与图7b中的指尖点1’为一对匹配正确的指尖点;但是d(2-2’)≥T,因此认为图7a中的指尖点2与图7b中的指尖点2’不是一对匹配正确的指尖点,可以将该对匹配指尖点从最佳匹配组合为1-1’,2-2’中去除,从而减少误匹配的发生。其中,阈值T的具体值可根据实验来进行设定,是一个经验值。
本实施例,先根据手指在手部二值图像中的空间位置关系,利用手指顺序约束法穷举出第一手部二值图像和第二手部二值图像中各指尖点之间的所有匹配组合;再计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和,确定所述距离和最小的一组匹配组合;最后根据预设的距离阈值,依次判断所述距离和最小的一组匹配组合中的每对匹配指尖点中的两个指尖点是否匹配正确,如果不正确,则可以将该对匹配指尖点从所述距离和最小的一组匹配组合中去除。本发明实施例充分地利用了各个手指的顺序约束特性和双目立体视觉系统的极线约束特性,有效地减少了指尖点误匹配的发生。
本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
实施例二
图8示出了本发明实施例二提供的双目立体视觉系统中对应指尖点的匹配装置的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该装置8包括:匹配组合确定单元81、最佳匹配组合确定单元82和匹配正确性判断单元83。
其中,匹配组合确定单元81,用于根据手指在手部二值图像中的空间位置关系,利用手指顺序约束法穷举出第一手部二值图像和第二手部二值图像中各指尖点之间的所有匹配组合,其中,在所述所有匹配组合中,指尖点数目较少的一副手部二值图像中的所有指尖点都有相应的匹配指尖点;
最佳匹配组合确定单元82,用于计算所述匹配组合确定单元81确定的每组匹配组合中的每对匹配指尖点至其对应极线的距离和,确定所述距离和最小的一组匹配组合;
匹配正确性判断单元83,用于根据预设的距离阈值,依次判断所述最佳匹配组合确定单元82确定的所述距离和最小的一组匹配组合中的每对匹配指尖点中的两个指尖点是否匹配正确。
具体的,所述最佳匹配组合确定单元82包括:
第一极线确定模块,用于计算第一手部二值图像中的各个指尖点在第二手部二值图像中的对应第一极线;
第一距离计算模块,用于计算与所述第一手部二值图像中的各个指尖点匹配的第二手部二值图像中的各个指尖点与所述第一极线确定模块计算得到的第一极线的距离;
第二极线确定模块,用于计算第二手部二值图像中的各个指尖点在第一手部二值图像中的对应第二极线;
第二距离计算模块,用于计算与所述第二手部二值图像中的各个指尖点匹配的第一手部二值图像中的各个指尖点与所述第二极线确定模块计算得到的第二极线的距离;
距离和计算模块,用于将所述第一距离计算模块计算得到的所有距离与所述第二距离计算模块计算得到的所有距离相加,得到每组匹配组合中的每对匹配指尖点至其对应极线的距离和。
进一步地,所述装置8还包括:
手部二值图像获取单元,用于将双目立体视觉系统中的两个摄像头分别采集的两幅手部图像经过手部区域分割后得到的两幅手部二值图像。
本实施例,由匹配组合确定单元先根据手指在手部二值图像中的空间位置关系,利用手指顺序约束法穷举出第一手部二值图像和第二手部二值图像中各指尖点之间的所有匹配组合;再由最佳匹配组合确定单元计算每组匹配组合中的每对匹配指尖点至其对应极线的距离和,确定所述距离和最小的一组匹配组合;最后由匹配正确性判断单元根据预设的距离阈值,依次判断所述距离和最小的一组匹配组合中的每对匹配指尖点中的两个指尖点是否匹配正确,如果不正确,则可以将该对匹配指尖点从所述距离和最小的一组匹配组合中去除。充分地利用了各个手指的顺序约束特性和双目立体视觉系统的极线约束特性,有效地减少了指尖点误匹配的发生。
本发明实施例提供的双目立体视觉系统中对应指尖点的匹配装置可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。