基于图像稀疏特征匹配的立体图像重构方法及装置转让专利

申请号 : CN201610708440.1

文献号 : CN106303501B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张新张希飞

申请人 : 深圳市捷视飞通科技股份有限公司深圳凯澳斯科技有限公司

摘要 :

本发明公开一种基于图像稀疏特征匹配的立体图像重构方法及装置,其中,该方法包括:校正获取的左眼图像及右眼图像;分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征;根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图;对左眼图像与右眼图像的稀疏视差图进行图像差值运算,得到图像的稠密视差图;根据图像的稠密视差图及测定参数重构观察区的立体模型。本发明的技术方案能够简化3D图像数据重构的运算量,提高重构后3D图像的显示效果。

权利要求 :

1.一种基于图像稀疏特征匹配的立体图像重构方法,其特征在于,包括如下步骤:校正获取的左眼图像及右眼图像;

分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征,具体包括,根据Harris角点检测算法检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的角点特征,具体为,对观察区的每一个像素点计算相关性矩阵M,其中,gx和gy分别为x和y方向的梯度, 为高斯模板,计算每一像素点的Harris角点响应R,

2

R=det(M)-k·tr(M),

其中,det()为矩阵行列式,tr为矩阵的迹,k为默认常数,取值为0.04~0.06,在w*w范围内寻找极大值点,若Harris角点响应R大于阀值T,则视为角点特征,其中,w取10以内,T取4500~5000;

根据水平边缘Sobel算子及垂直边缘Sobel算子检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的边缘特征,具体为,选用Sobel算子分别遍历左眼图像及右眼图像,其中,该Sobel算子包括水平边缘Sobel算子S1及垂直边缘Sobel算子S2,根据边缘检测算子的中心与中心像素对应原则,分别进行水平和垂直两次卷积运算,两次运算的最大值作为该点的边缘值输出;

遍历整幅图像之后得到左眼图像及右眼图像的边缘特征;

根据左眼图像与右眼图像对应的角点特征及边缘特征生成稀疏特征图;

根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图,具体包括:根据基于极线约束的SSDA算法找出与左眼图像的目标像素点的对应的匹配特征点,具体为,将左眼图像的稀疏特征图记为T,在T中以(i,j)为中心取M*N的区域作为匹配的模板区域Tij,计算出绝对误差值,计算公式如下,根据基于极线约束的SSDA算法找出与右眼图像的目标像素点的对应的匹配特征点,具体为,将右眼图像的稀疏特征图记为S,在S中以(i,j)为参考点且尺寸与Tij相同的子图为Sij,在Sij中随机选取像素点,计算它同Tij中对应点的误差值e,然后将e累加起来,当累加r次误差超过阈值Th,则停止累加,并记下次数r,将I(i,j)值大的(i,j)点作为匹配特征点,检测曲面公式如下,判断两次计算的匹配特征点是否相同,若是则保留匹配特征点,并根据匹配特征点得到左眼图像与右眼图像的稀疏视差图,若否则去除保留匹配特征点;

对左眼图像与右眼图像的稀疏视差图进行图像插值运算,得到图像的稠密视差图;

根据图像的稠密视差图及测定参数重构观察区的立体模型。

2.如权利要求1所述的基于图像稀疏特征匹配的立体图像重构方法,其特征在于,所述校正获取的左眼图像及右眼图像的步骤,具体包括:从左眼图像及右眼图像中选取多个匹配点,并计算对应的基础矩阵;

根据左眼图像及右眼图像各自极线交点的原则对应计算出左极点及右极点;

选择一矩阵作为右眼图像的变换矩阵,并根据变换矩阵将右极点映射到无穷远极点处;

根据基础矩阵及变换矩阵计算出左眼图像的变换矩阵;

根据右眼图像的变换矩阵及左眼图像的变换矩阵重新采样左眼图像及右眼图像,以校正获取的左眼图像及右眼图像。

3.如权利要求1所述的基于图像稀疏特征匹配的立体图像重构方法,其特征在于,所述根据图像的稠密视差图及测定参数重构观察区的立体模型的步骤,具体包括:根据图像的稠密视差图及测定参数求取观察区内所有像素点的三维坐标;

对观察区内所有三维坐标的像素点进行渲染形成立体图像。

4.一种基于图像稀疏特征匹配的立体图像重构装置,其特征在于,包括:校正模块,用于校正获取的左眼图像及右眼图像;

检测模块,用于分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征,具体用于,根据Harris角点检测算法检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的角点特征,具体为,对观察区的每一个像素点计算相关性矩阵M,其中,gx和gy分别为x和y方向的梯度, 为高斯模板,计算每一像素点的Harris角点响应R,

R=det(M)-k·tr2(M),

其中,det()为矩阵行列式,tr为矩阵的迹,k为默认常数,取值为0.04~0.06,在w*w范围内寻找极大值点,若Harris角点响应R大于阀值T,则视为角点特征,其中,w取10以内,T取4500~5000;

根据水平边缘Sobel算子及垂直边缘Sobel算子检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的边缘特征,具体为,选用Sobel算子分别遍历左眼图像及右眼图像,其中,该Sobel算子包括水平边缘Sobel算子S1及垂直边缘Sobel算子S2,根据边缘检测算子的中心与中心像素对应原则,分别进行水平和垂直两次卷积运算,两次运算的最大值作为该点的边缘值输出;

遍历整幅图像之后得到左眼图像及右眼图像的边缘特征;

根据左眼图像与右眼图像对应的角点特征及边缘特征生成稀疏特征图;

匹配模块,用于根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图,具体包括:根据基于极线约束的SSDA算法找出与左眼图像的目标像素点的对应的匹配特征点,具体为,将左眼图像的稀疏特征图记为T,在T中以(i,j)为中心取M*N的区域作为匹配的模板区域Tij,计算出绝对误差值,计算公式如下,根据基于极线约束的SSDA算法找出与右眼图像的目标像素点的对应的匹配特征点,具体为,将右眼图像的稀疏特征图记为S,在S中以(i,j)为参考点且尺寸与Tij相同的子图为Sij,在Sij中随机选取像素点,计算它同Tij中对应点的误差值e,然后将e累加起来,当累加r次误差超过阈值Th,则停止累加,并记下次数r,将I(i,j)值大的(i,j)点作为匹配特征点,检测曲面公式如下,判断两次计算的匹配特征点是否相同,若是则保留匹配特征点,并根据匹配特征点得到左眼图像与右眼图像的稀疏视差图,若否则去除保留匹配特征点;

差值运算模块,用于对左眼图像与右眼图像的稀疏视差图进行图像插值运算,得到图像的稠密视差图;

重构模块,用于根据图像的稠密视差图及测定参数重构观察区的立体模型。

5.如权利要求4所述的基于图像稀疏特征匹配的立体图像重构装置,其特征在于,所述校正模块具体用于:从左眼图像及右眼图像中选取多个匹配点,并计算对应的基础矩阵;

根据左眼图像及右眼图像各自极线交点的原则对应计算出左极点及右极点;

选择一矩阵作为右眼图像的变换矩阵,并根据变换矩阵将右极点映射到无穷远极点处;

根据基础矩阵及变换矩阵计算出左眼图像的变换矩阵;

根据右眼图像的变换矩阵及左眼图像的变换矩阵重新采样左眼图像及右眼图像,以校正获取的左眼图像及右眼图像。

6.如权利要求4所述的基于图像稀疏特征匹配的立体图像重构装置,其特征在于,所述重构模块具体用于:根据图像的稠密视差图及测定参数求取观察区内所有像素点的三维坐标;

对观察区内所有三维坐标的像素点进行渲染形成立体图像。

说明书 :

基于图像稀疏特征匹配的立体图像重构方法及装置

技术领域

[0001] 本发明涉及图像处理技术领域,尤其涉及一种基于图像稀疏特征匹配的立体图像重构方法及装置。

背景技术

[0002] 目前,立体内容生成设备通常对两路光学信号进行采集,通过工业相机上的CCD或CMOS感光元件将分光器分出的光学信号转为数字信号,再通过工业相机上数据接口将图像数据传输到计算机或监视器上,将两路信号分别呈现给观察者双眼。立体内容生成设备具有两个并排的成像元器件,在不同的视角实时采集被观察物体,对得到的双目图像经过处理后,可以形成立体视觉。
[0003] 利用立体内容生成设备得到的3D图像数据直接显示时,一些具有特殊或则重大意义的像素点的个数要比图像总的像素点数少很多,导致用户不能直观地观测到关键区域的变化,容易产生视觉疲劳,为此,需要基于重大意义的像素点对3D图像数据进行重构。3D图像数据进行重构的过程中需要寻找像素点的匹配对,若现有技术中图像重合的面积较大,会增加像素点的匹配对寻找的难度,导致3D图像数据重构计算复杂的问题。

发明内容

[0004] 本发明的主要目的是提供一种基于图像稀疏特征匹配的立体图像重构方法,能够简化3D图像数据重构的运算量,提高重构后3D图像的显示效果。
[0005] 为实现上述目的,本发明采用的一个技术方案为:提供一种基于图像稀疏特征匹配的立体图像重构方法,包括如下步骤:
[0006] 校正获取的左眼图像及右眼图像;
[0007] 分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征;
[0008] 根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图;
[0009] 对左眼图像与右眼图像的稀疏视差图进行图像差值运算,得到图像的稠密视差图;
[0010] 根据图像的稠密视差图及测定参数重构观察区的立体模型。
[0011] 优选地,所述校正获取的左眼图像及右眼图像的步骤,具体包括:
[0012] 从左眼图像及右眼图像中选取多个匹配点,并计算对应的基础矩阵;
[0013] 根据左眼图像及右眼图像各自极线交点的原则对应计算出左极点及右极点;
[0014] 选择一矩阵作为右眼图像的变换矩阵,并根据变换矩阵将右极点映射到无穷远极点处;
[0015] 根据基础矩阵及变换矩阵计算出左眼图像的变换矩阵;
[0016] 根据右眼图像的变换矩阵及左眼图像的变换矩阵重新采样左眼图像及右眼图像,以校正获取的左眼图像及右眼图像。
[0017] 优选地,所述分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征的步骤,具体包括:
[0018] 根据Harris角点检测算法检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的角点特征;
[0019] 根据水平边缘Sobel算子及垂直边缘Sobel算子检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的边缘特征;
[0020] 根据左眼图像与右眼图像对应的角点特征及边缘特征生成稀疏特征图。
[0021] 优选地,所述根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图的步骤,具体包括:
[0022] 根据基于极线约束的SSDA算法找出与左眼图像的目标像素点的对应的匹配特征点;
[0023] 根据基于极线约束的SSDA算法找出与右眼图像的目标像素点的对应的匹配特征点;
[0024] 判断两次计算的匹配特征点是否相同,若是则保留匹配特征点,并根据匹配特征点得到左眼图像与右眼图像的稀疏视差图,若否则去除保留匹配特征点。
[0025] 优选地,所述根据图像的稠密视差图及测定参数重构观察区的立体模型的步骤,具体包括:
[0026] 根据图像的稠密视差图及测定参数求取观察区内所有像素点的三维坐标;
[0027] 对观察区内所有三维坐标的像素点进行渲染形成立体图像。
[0028] 为实现上述目的,本发明采用的另一个技术方案为:提供一种基于图像稀疏特征匹配的立体图像重构装置,包括:
[0029] 校正模块,用于校正获取的左眼图像及右眼图像;
[0030] 检测模块,用于分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征;
[0031] 匹配模块,用于根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图;
[0032] 差值运算模块,用于对左眼图像与右眼图像的稀疏视差图进行图像差值运算,得到图像的稠密视差图;
[0033] 重构模块,用于根据图像的稠密视差图及测定参数重构观察区的立体模型。
[0034] 优选地,所述校正模块具体用于:
[0035] 从左眼图像及右眼图像中选取多个匹配点,并计算对应的基础矩阵;
[0036] 根据左眼图像及右眼图像各自极线交点的原则对应计算出左极点及右极点;
[0037] 选择一矩阵作为右眼图像的变换矩阵,并根据变换矩阵将右极点映射到无穷远极点处;
[0038] 根据基础矩阵及变换矩阵计算出左眼图像的变换矩阵;
[0039] 根据右眼图像的变换矩阵及左眼图像的变换矩阵重新采样左眼图像及右眼图像,以校正获取的左眼图像及右眼图像。
[0040] 优选地,根据Harris角点检测算法检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的角点特征;
[0041] 根据水平边缘Sobel算子及垂直边缘Sobel算子检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的边缘特征;
[0042] 根据左眼图像与右眼图像对应的角点特征及边缘特征生成稀疏特征图。
[0043] 优选地,所述匹配模块具体用于:
[0044] 根据基于极线约束的SSDA算法找出与左眼图像的目标像素点的对应的匹配特征点;
[0045] 根据基于极线约束的SSDA算法找出与右眼图像的目标像素点的对应的匹配特征点;
[0046] 判断两次计算的匹配特征点是否相同,若是则保留匹配特征点,并根据匹配特征点得到左眼图像与右眼图像的稀疏视差图,若否则去除保留匹配特征点。
[0047] 优选地,所述重构模块具体用于:
[0048] 根据图像的稠密视差图及测定参数求取观察区内所有像素点的三维坐标;
[0049] 对观察区内所有三维坐标的像素点进行渲染形成立体图像。
[0050] 本发明的技术方案通过先校正获取的左眼图像及右眼图像,能够使两图像水平扫描线共线,只需沿观察区内一个方向进行搜索,然后分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征,无需对所有的像素点进行匹配,通过前两个步骤可以大大减少立体图像重构的计算量;再根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图;以及对左眼图像与右眼图像的稀疏视差图进行图像差值运算,得到图像的稠密视差图;最后根据图像的稠密视差图及测定参数重构观察区的立体模型,通过后面三个步骤可以重构观察区的立体模型,即重构出3D图像,并且能够提高构后3D图像的显示效果。

附图说明

[0051] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0052] 图1为本发明基于图像稀疏特征匹配的立体图像重构方法一实施例的方法流程图;
[0053] 图2为本发明基于图像稀疏特征匹配的立体图像重构装置一实施例的模块方框图。
[0054] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056] 需要说明,本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0057] 请参照图1,在本发明实施例中,该基于图像稀疏特征匹配的立体图像重构方法,包括如下步骤:
[0058] 步骤S10、校正获取的左眼图像及右眼图像。通过校正步骤能够使左眼图像与右眼图像中观察区的像素特征点变换到同一扫描线上。经过校正步骤之后后,左眼图像和右眼图像对应的特征点变换到同一扫描线上,可以将匹配的搜索范围从二维降到了一维,降低匹配计算的难度。
[0059] 步骤S20、分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征。由于左眼图像及右眼图像的像素冗余量大,需要提取图像中非常明显的目标特征作为图像分析和稀疏匹配的基础,本步骤中选用的目标特征为角点特征和边缘特征,并通过角点特征和边缘特征分别对左眼图像及右眼图像进行检测,得出对应的特征点。
[0060] 步骤S30、根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图。
[0061] 步骤S40、对左眼图像与右眼图像的稀疏视差图进行图像差值运算,得到图像的稠密视差图。
[0062] 步骤S50、根据图像的稠密视差图及测定参数重构观察区的立体模型。测定参数包括图像采集的设备的基线距及焦距,根据稠密视差图、基线距及焦距可以计算观察区的像素点的三维坐标,通过对多个像素点的三维坐标进行渲染,可以得到观察区的立体模型,以获得重构的立体图像。
[0063] 本发明的技术方案通过先校正获取的左眼图像及右眼图像,能够使两图像水平扫描线共线,只需沿观察区内一个方向进行搜索,然后分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征,无需对所有的像素点进行匹配,通过前两个步骤可以大大减少立体图像重构的计算量;再根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图;以及对左眼图像与右眼图像的稀疏视差图进行图像差值运算,得到图像的稠密视差图;最后根据图像的稠密视差图及测定参数重构观察区的立体模型,通过后面三个步骤可以重构观察区的立体模型,即重构出3D图像,并且能够提高构后3D图像的显示效果。
[0064] 在一具体的实施例中,所述步骤S10具体包括:
[0065] 从左眼图像及右眼图像中选取多个匹配点,并计算对应的基础矩阵;具体的,该多个匹配点的数量至少为7个。
[0066] 根据左眼图像及右眼图像各自极线交点的原则对应计算出左极点及右极点;
[0067] 选择一矩阵作为右眼图像的变换矩阵,并根据变换矩阵将右极点映射到无穷远极点处;
[0068] 根据基础矩阵及变换矩阵计算出左眼图像的变换矩阵;
[0069] 根据右眼图像的变换矩阵及左眼图像的变换矩阵重新采样左眼图像及右眼图像,以校正获取的左眼图像及右眼图像。
[0070] 本实施例中,左眼图像及右眼图像校正步骤,主要目的是将两幅图像中的像素点进行二维空间变换,该变换为Ui(i=1,2),变换后图像像素可以表示为p'i=Uipi,其中,p'iT是点pi变换后的坐标。设无穷远的极点坐标为e=(1,0,0) ,图像校正的目标是将两幅图像中对应的极线变换成一组平行的直线,即需求一基础矩阵F,使F经过校正后可表示为:
[0071]
[0072] 在立体内容生成设备无法进行前端标定的情况,选用不需要标定也可根据Hartley算法,完成左眼图像及右眼图像的校正,经过校正后的图像,像点在左眼图像及右眼图像上的高度一致。
[0073] 在一具体的实施例中,所述步骤S20具体包括:
[0074] 根据Harris角点检测算法检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的角点特征;
[0075] 根据水平边缘Sobel算子及垂直边缘Sobel算子检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的边缘特征;
[0076] 根据左眼图像与右眼图像对应的角点特征及边缘特征生成稀疏特征图。
[0077] 本实施例中,根据Harris角点检测算法检测左眼图像与右眼图像中观察区,具体计算过程如下:
[0078] 首先,对观察区的每一个像素点计算相关性矩阵M,
[0079]
[0080] 其中,gx和gy分别为x和y方向的梯度, 为高斯模板。
[0081] 然后,计算每一像素点的Harris角点响应R,
[0082] R=det(M)-k·tr2(M),
[0083] 其中,det()为矩阵行列式,tr为矩阵的迹,k为默认常数,一般取值为0.04~0.06。
[0084] 最后,在w*w范围内(一般w取10以内)寻找极大值点,若Harris角点响应R大于阀值T(一般取4500~5000),则视为角点特征。
[0085] 本实施例中,根据水平边缘Sobel算子及垂直边缘Sobel算子检测左眼图像与右眼图像中观察区,具体计算过程如下:
[0086] 首先,选用Sobel算子分别遍历左眼图像及右眼图像,其中,该Sobel算子包括水平边缘Sobel算子S1及垂直边缘Sobel算子S2,
[0087]
[0088] 然后,根据边缘检测算子的中心与中心像素对应原则,分别进行水平和垂直两次卷积运算,两次运算的最大值作为该点的边缘值输出;
[0089] 最后,遍历整幅图像之后得到左眼图像及右眼图像的边缘特征。结合得到的角点特征和边缘特征,生成左眼图像及右眼图像的稀疏特征图像。
[0090] 在一具体的实施例中,所述步骤S30具体包括:
[0091] 根据基于极线约束的SSDA算法找出与左眼图像的目标像素点的对应的匹配特征点;
[0092] 根据基于极线约束的SSDA算法找出与右眼图像的目标像素点的对应的匹配特征点;
[0093] 判断两次计算的匹配特征点是否相同,若是则保留匹配特征点,并根据匹配特征点得到左眼图像与右眼图像的稀疏视差图,若否则去除保留匹配特征点。
[0094] 本实施例中,将上述步骤S20得到左眼图像及右眼图像的稀疏特征图分别记为T和S,在T中以(i,j)为中心取M*N的区域作为匹配的模板区域Tij,在S中以(i,j)为参考点且尺寸与相同的子图为Sij,如此,可以计算出绝对误差值:
[0095]
[0096]
[0097]
[0098] 在Sij中随机选取像素点,计算它同Tij中对应点的误差值e,然后将e累加起来,当累加r次误差超过阈值Th(为一视图像大小而定的经验值),则停止累加,并记下次数r,定义检测曲面为:
[0099]
[0100] 把I(i,j)值大的(i,j)点作为匹配特征点。
[0101] 经过特征匹配之后得到的匹配点对可能存在误匹配点,本实施例中,使用一致性约束来去除误差结果,即若左图中一特征点x与右图中y相匹配,则检查右图中y是否与x相匹配,如果两次匹配计算得到的特征点不一致,则认为该点是误匹配特征点,并去除该误匹配特征点,如果两次匹配计算得到的特征点一致,则保留该匹配特征点。
[0102] 在一具体的实施例中,步骤S40对左眼图像与右眼图像的稀疏视差图进行图像差值运算,得到图像的稠密视差图。具体的方法如下:选用最近邻插值算法插值得图像的稠密视差图:取插值点的4个邻点中距离最近的邻点灰度值作为该点的灰度值。设插值点(i,j)到周边4个邻点fk(i,j)(k=1,2,3,4)的距离为dk(k=1,2,3,4),则:
[0103] I(i,j)=fl(i,j),dl=min{d1,d2,d3,d4},l=1,2,3,4。
[0104] 在一具体的实施例中,所述根据图像的稠密视差图及测定参数重构观察区的立体模型的步骤,具体包括:
[0105] 根据图像的稠密视差图及测定参数求取观察区内所有像素点的三维坐标;
[0106] 对观察区内所有三维坐标的像素点进行渲染形成立体图像。
[0107] 本实施例中,假设两摄像机观测空间物体的一匹配特征点为P(x,y,z),左眼图像及右眼图像的坐标分别为Pl=(xl,yl),Pr=(xr,yr),由于两图像的水平扫描线共线,即yl=yr=Y,则视差为Disparity=xl-xr,在已知摄像机基线距B和焦距f的情况下,点P在相机坐标系下的三维坐标可以表示如下:
[0108]
[0109] 求取所有像素点的三维坐标后,对三维坐标进行渲染,重构观察区的立体模型,即可得到3D图像,并可由多张连续的3D图像可以重构出立体视频。
[0110] 请参照图2,本发明的实施例中,该基于图像稀疏特征匹配的立体图像重构装置,包括:
[0111] 校正模块10,用于校正获取的左眼图像及右眼图像。通过校正模块10可以使左眼图像与右眼图像中观察区的像素特征点变换到同一扫描线上。
[0112] 检测模块20,用于分别检测经校正的左眼图像与右眼图像中观察区的角点及边缘,得到左眼图像与右眼图像的角点特征及边缘特征。
[0113] 匹配模块30,用于根据基于极线约束的SSDA算法分别对左眼图像与右眼图像的角点特征及边缘特征进行匹配,得到左眼图像与右眼图像的稀疏视差图。
[0114] 差值运算模块40,用于对左眼图像与右眼图像的稀疏视差图进行图像差值运算,得到图像的稠密视差图。
[0115] 重构模块50,用于根据图像的稠密视差图及测定参数重构观察区的立体模型。
[0116] 在一具体的实施例中,所述校正模块10具体用于:
[0117] 从左眼图像及右眼图像中选取多个匹配点,并计算对应的基础矩阵;
[0118] 根据左眼图像及右眼图像各自极线交点的原则对应计算出左极点及右极点;
[0119] 选择一矩阵作为右眼图像的变换矩阵,并根据变换矩阵将右极点映射到无穷远极点处;
[0120] 根据基础矩阵及变换矩阵计算出左眼图像的变换矩阵;
[0121] 根据右眼图像的变换矩阵及左眼图像的变换矩阵重新采样左眼图像及右眼图像,以校正获取的左眼图像及右眼图像。
[0122] 本实施例中,校正模块10主要目的是将两幅图像中的像素点进行二维空间变换,图像校正的目标是将两幅图像中对应的极线变换成一组平行的直线,如此,在根据左眼图像搜索右眼图像的特征匹配点过程中,搜索二维的像素点只需沿着区域内x轴方向前进,而不需要判断y轴方向的像素,因此将算法从二维搜索降维成一维搜索,减少了计算量,提高了匹配精度。在立体内容生成设备无法进行前端标定的情况,选用不需要标定也可根据Hartley算法,完成左眼图像及右眼图像的校正,具体计算方法如下所述,此处不再赘述。可以理解的是,经过校正后的图像,像点在左眼图像及右眼图像上的高度一致。
[0123] 在一具体的实施例中,所述检测模块20具体用于:
[0124] 根据Harris角点检测算法检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的角点特征;
[0125] 根据水平边缘Sobel算子及垂直边缘Sobel算子检测左眼图像与右眼图像中观察区,找出左眼图像与右眼图像对应的边缘特征;
[0126] 根据左眼图像与右眼图像对应的角点特征及边缘特征生成稀疏特征图。
[0127] 本实施例中,由于左眼图像及右眼图像的像素冗余量大,需要提取图像中非常明显的目标特征作为图像分析和稀疏匹配的基础,本实施例中选用的目标特征为角点特征和边缘特征,并通过角点特征和边缘特征分别对左眼图像及右眼图像进行检测,得出对应的特征点,具体计算方法如下所述,此处不再赘述。可以理解的是,通过上述的目标特征的检测方法,可以大大减少重构图像运算量,提高图像处理效率。
[0128] 在一具体的实施例中,所述匹配模块30具体用于:
[0129] 根据基于极线约束的SSDA算法找出与左眼图像的目标像素点的对应的匹配特征点;
[0130] 根据基于极线约束的SSDA算法找出与右眼图像的目标像素点的对应的匹配特征点;
[0131] 判断两次计算的匹配特征点是否相同,若是则保留匹配特征点,并根据匹配特征点得到左眼图像与右眼图像的稀疏视差图,若否则去除保留匹配特征点。
[0132] 本实施例中,考虑到经过特征匹配之后得到的匹配点对可能存在误匹配点,该匹配模块30使用一致性约束来去除误差结果,即若左图中一特征点x与右图中y相匹配,则检查右图中y是否与x相匹配,如果两次匹配计算得到的特征点不一致,则认为该点是误匹配特征点,并去除该误匹配特征点,如果两次匹配计算得到的特征点一致,则保留该匹配特征点,可以提高匹配特征点的准确率,以提高重构图像的显示效果。
[0133] 在一具体的实施例中,所述重构模块50具体用于:
[0134] 根据图像的稠密视差图及测定参数求取观察区内所有像素点的三维坐标;
[0135] 对观察区内所有三维坐标的像素点进行渲染形成立体图像。
[0136] 本实施例中,该重构模块50可以根据稠密视差图以及结合前期摄像机标定得到的参数(如,基线距及焦距数据),可以计算出每个观察点在摄像机坐标系下的三维坐标,计算出所有像素点的三维坐标可对所有像素点进行渲染,重构观察区的立体模型,即可得到3D图像,并可由多张连续的3D图像可以重构出立体视频。
[0137] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。