一种多目极线校正方法、装置、计算机设备及存储介质
文献发布时间:2024-04-18 19:57:11
技术领域
本发明涉及图像处理技术领域,特别涉及一种多目极线校正方法、装置、计算机设备及存储介质。
背景技术
双目极线校正是基于摄像头标定后获得的相机内参数据(包括焦距、成像原点和畸变系数)以及双目相对位置关系(旋转矩阵和平移向量),对左右视图进行畸变消除和行对准的过程。通过双目极线校正,实现左右视图的成像原点坐标一致、两摄像头光轴平行、左右成像平面共面,以及对极线行对齐的效果,如图3所示。这样做的目的是为了在立体视觉系统中简化匹配过程、提高匹配准确性,从而实现精确的深度信息重建。而相比于双目极线校正,多目极线校正具备更高的测量精度与更高的稳定性,但是它也因其几何复杂性使得多目系统的极线校正相较于双目系统的极线校正更具挑战性。
目前,多目极线校正主要的难点包括:(1)多目系统的标定;(2)多极线带来的数据关联,大大增加了其计算复杂性。当前,流行的极线校正方法有Fusiello等人提出的极线校正方法,该方法通过标定数据计算两相机的基本矩阵,并利用透视变换实现极线校正;Jean-Yves Bouguet提出了一种利用相机参数估计图像中的畸变,并通过校准参数进行极线校正的方法;Hartley提出了一种使用Fundamental Matrix进行双目校正的方法,其通过计算Fundamental Matrix(基础矩阵),可以得到图像之间的极线,从而实现极线校正。但是上述这些方法都是针对双目图像进行校正,且依赖于相机参数,当相机参数估计得不够准确时,校正的精度便受到影响。研究者也尝试着将双目极线校正拓展到多目极线校正,但往往实现的计算过程都过于复杂,且精度有限。因此,要实现多目的快速准确极线校正还需要解决以下问题:(1)改进标定方法以提高标定精度;(2)优化算法的效率和准确性,即由于在多目系统中存在更多的摄像机需要处理,因此同时需要考虑多个摄像机之间的相机参数、姿态等差异;(3)增加多目极线校正的鲁棒性,由于多目校正需要处理不同视角、不同光照条件、不同畸变程度等情况下的图像,因此算法需要具有较好的鲁棒性,能够应对各种复杂场景。
发明内容
本发明实施例提供了一种多目极线校正方法、装置、计算机设备及存储介质,旨在提高多目极线校正的效率和精度,并提高多目极线校正的鲁棒性。
第一方面,本发明实施例提供了一种多目极线校正方法,包括:
获取相机拍摄的不同视角的平面圆形标靶图,并通过检测算法对所述平面圆形标靶图提取圆形特征点;
基于所述圆形特征点计算相机初始参数;
构建多目重投影优化模型,并利用非线性优化库对所述相机初始参数进行优化,得到相机优化参数;
基于极线校正方法,将双目极线校正拓展为多目极线校正;
利用所述圆形特征点对所述多目极限校正进行辅助校正,得到最终校正结果。
第二方面,本发明实施例提供了一种多目极线校正装置,包括:
标靶图获取单元,用于获取相机拍摄的不同视角的平面圆形标靶图,并通过检测算法对所述平面圆形标靶图提取圆形特征点;
参数计算单元,用于基于所述圆形特征点计算相机初始参数;
参数优化单元,用于构建多目重投影优化模型,并利用非线性优化库对所述相机初始参数进行优化,得到相机优化参数;
极线拓展单元,用于基于极线校正方法,将双目极线校正拓展为多目极线校正;
辅助校正单元,用于利用所述圆形特征点对所述多目极限校正进行辅助校正,得到最终校正结果。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的多目极线校正方法。
第四方面一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的多目极线校正方法。
本发明实施例提供了一种多目极线校正方法、装置、计算机设备及存储介质,该方法首先利用平面圆形标靶标定板实现圆形特征点检测,进而计算得到相机内外参数,然后构建多目重投影模型,并利用非线性优化库有效地迭代优化多相机的内外参数,从而获取高精度的相机参数。接着,在获取得到高精度的相机优化参数后,在极线校正方法的基础上,将两个相机的极线校正拓展至多相机的极线校正,如此既保留了极线校正方法精度高的优点,又增加了其适用性。另外,多目校正需要处理不同视角,由于相机位置的摆放与光照条件等原因,造成校正的鲁棒性不足,因此,本实施例利用标定时获取的圆形特征点辅助实现多目的极线校正,如此能够有效增加多目极线校正的鲁棒性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多目极线校正方法的流程示意图;
图2为本发明实施例提供的一种多目极线校正装置的示意性框图;
图3为现有技术中双目极线示意图;
图4为本发明实施例提供的一种多目极线校正方法中的相机模型坐标示意图;
图5为本发明实施例提供的一种多目极线校正方法中的平面圆形标靶图;
图6为本发明实施例提供的一种多目极线校正方法中的圆形特征点的拓扑关系;
图7为本发明实施例提供的一种多目极线校正方法中的第一相机和第二相机的旋转示意图;
图8为本发明实施例提供的一种多目极线校正方法中的双目极线校正示意图;
图9为本发明实施例提供的一种多目极线校正方法中的多目极线校正对比示意图;
图10为本发明实施例提供的一种多目极线校正方法中的多目极线校正示意图;
图11为本发明实施例提供的一种多目极线校正方法的示例图;
图12为本发明实施例提供的一种多目极线校正方法的平面圆形标靶校正前的示意图;
图13为本发明实施例提供的一种多目极线校正方法的平面圆形标靶校正后的示意图;
图14为本发明实施例提供的一种多目极线校正方法的散斑结构光雕塑图校正前的示意图;
图15为本发明实施例提供的一种多目极线校正方法的散斑结构光雕塑图校正后的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例提供的一种多目极线校正方法的流程示意图,具体包括:步骤S101~S105。
S101、获取相机拍摄的不同视角的平面圆形标靶图,并通过检测算法对所述平面圆形标靶图提取圆形特征点;
S102、基于所述圆形特征点计算相机初始参数;
S103、构建多目重投影优化模型,并利用非线性优化库对所述相机初始参数进行优化,得到相机优化参数;
S104、基于极线校正方法,将双目极线校正拓展为多目极线校正;
S105、利用所述圆形特征点对所述多目极限校正进行辅助校正,得到最终校正结果。
本实施例首先利用平面圆形标靶标定板实现圆形特征点检测,进而计算得到相机内外参数,然后构建多目重投影模型,并利用非线性优化库有效地迭代优化多相机的内外参数,从而获取高精度的相机参数。接着,在获取得到高精度的相机优化参数后,在极线校正方法的基础上,将两个相机的极线校正拓展至多相机的极线校正,如此既保留了极线校正方法精度高的优点,又增加了其适用性。另外,多目校正需要处理不同视角,由于相机位置的摆放与光照条件等原因,造成校正的鲁棒性不足,因此,本实施例利用标定时获取的圆形特征点辅助实现多目的极线校正,如此能够有效增加多目极线校正的鲁棒性。
本实施例首先通过平面圆形标靶实现了高精度标定,为后续的多目极线校正奠定基础,保证了多目口极线校正的精度,然后将双目极线校正扩展到多目极线校正,大大增加了极线校正算法的适用性。本实施例还利用标定时自动获取的精准圆形特征点辅助实现多目极线校正,在增加了多目极线校正鲁棒性的同时也提升了多目极线校正的精度。
在一实施例中,所述步骤S101包括:
通过高斯滤波对所述平面圆形标靶图进行去除噪声处理;
利用边缘检测算子对所述平面圆形标靶图进行圆形边缘粗检测;
按照预设识别条件进行圆形特征点自动识别;其中,预设识别条件为边缘轮廓像素达到预置数量阈值且为闭合轮廓;
采用三次多项式对所述平面圆形标靶图进行曲面拟合处理;
采用最小二乘法对拟合处理后的椭圆边缘点进行拟合处理,得到所述平面圆形标靶图的圆心亚像素定位,并将所述圆心亚像素定位作为所述圆形特征点输出。
本实施例中,在从平面圆形标靶图中提取圆心特征点时,首先通过高斯滤波去除图像噪声,接着利用边缘检测(canny)算子对圆形边缘进行粗检测,再设定判定圆形特征点条件自动识别:检测边缘轮廓像素具备一定数量且轮廓是闭合的,然后利用三次多项式曲面拟合进行边缘亚像素精确定位,并对椭圆边缘点进行最小二乘拟合,得到圆心的亚像素定位,如此便可以得到准确的圆形圆心坐标。
在实际应用场景中,本实施例所述的平面圆形标靶图如图4所示,其由99个圆形特征点组成,其中外围套圆环的4个点用于标识99个点的位置的拓扑关系,用以自动识别各个圆形特征点。图案中,每个圆形特征点间距大致相同,但并非准确,而通过上述圆心特征点提取步骤能够获取每个圆形特征点的准确坐标。
进一步的,所述多目极线校正方法还包括:
对每一所述圆形特征点设置外围套圆环,并将每一外围套圆环与其他外围套圆环的圆心连线;
计算两两连线之间的夹角以及计算每一连线的长度;
根据计算得到的角度和长度对所述圆形特征点进行编号。
本实施例中,通过为圆形特征点设置相应的位置拓扑关系,来对每一圆形特征点进行编号,得到各圆形特征点的序号。举例来说,结合图5所示,按照从左到右的和从上到下顺序依次进行编号。编号规则如下:
(1)通过周长区分大小圆,四个大圆的编号分别为28,69,71,75,此时还无法区分;
(2)将四个大圆中心坐标两两相连,将获得6条直线,然后分别计算任意两条直线的夹角,对应得到15个夹角,可以看到其中三个大圆在一条直线上,其连线夹角都为0,如此可以找出夹角为0的两条直线,而不在直线上的大圆即为28;
(3)计算直线的距离,距离最小的两个大圆的编号为69,71,那么另一个点便可以确定为75;
(4)距离75较近的圆为71,则最后一个为69;
(5)28左右两个点,与75同侧的点为29,与69同侧的为27。
根据以上规则,便可以找出平面标靶中所有圆形的编号,如图6所示。
在一实施例中,所述步骤S102包括:
按照圆形特征点的编号,对不同视角的平面圆形标靶图进行同名点对应处理,得到同名的圆形特征点;
按照下式,将同名的圆形特征点输入至相机成像模型,以对相机初始参数进行计算:
其中,X
本实施例中,在获取不同视角的平面标靶圆心编号后,便可实现各幅图间的同名点对应。而在获取同名点后即可利用上述相机成像模型求解相机的初始内外参数Kn,Rn,Tn,Dn。
具体来说,假设三维空间中一点在世界坐标系(WCS)和相机坐标系(CCS)下的坐标分别为X
X
相机坐标系到图像坐标系是三维坐标到二维坐标的转换,即为投影变换过程。三维点X
λx
其中I为单位矩阵。
利用相机内部参数可将图像物理坐标系下的x
其中,K
成像过程中实际像点x
x
透镜畸变包括径向畸变参数和切向畸变参数。其中,径向畸变参数包括k1、k2、p1、p2,切向畸变参数包括k3。
综上,相机的成像模型可表示为:
在一实施例中,所述步骤S103包括:
按照下式构建所述多目重投影优化模型:
其中,Kn,Rn,Tn,Dn均为相机参数,rep(x)表示多目重投影模型的优化目标函数,i=1,2,3,…,M表示不同视角的平面圆形标靶图序号,j=1,2,3,…,N表示圆形特征点的序号,(Kn,Rn,Tn,Dn)表示所有待优化参数集合,
利用非线性优化库对所述多目重投影优化模型进行优化,并当所述多目重投影优化模型的优化目标函数最小时,将对应的相机参数作为相机优化参数输出。
本实施例中,通过上述模型构建公式可以得到所述多目重投影优化模型,然后利用非线性优化库进行优化求解,只需要使得目标函数达到最小时,即可获得高精度的相机优化参数。在具体场景中,可以采用Ceres Solver作为非线性优化库,以优化得到高精度的相机参数。
在一实施例中,所述双目极线校正对应有第一相机和第二相机,所述多目极线校正对应有包含第一相机和第二相机的n个相机,n大于3;
所述步骤S104包括:
利用极线校正方法对所述第一相机和第二相机进行双目极线校正;
针对第三相机,按照下式补偿所述第三相机相对于所述第一相机的旋转与平移值:
r3=Rodrigues(R
t3=r
R
R
其中,R
基于第三相机的拓展方式,对其他相机进行拓展。
本实施例中,采用Bouguet算法作为极线校正方法,立体校正的Bouguet算法为了使图像重投影畸变最小化,将左右两个相机(即所述的第一相机和第二相机)沿着相对的方向旋转R
om=Rodrigues(R
r
r
每个相机旋转一半,则它们的主光线最终平行于原始主光线所致的矢量和,如图7所示。
旋转之后,左右两相机只做到了共面对准而并非是行对准,为了将左右相机的极点变换到无穷远处并且使得极线水平对准,构建了一个旋转矩阵R
第二个矢量
而第三个矢量
因此旋转矩阵R
这个矩阵将会使左右两相机同时绕着投影中心旋转,从而使得极线水平且极点位于无穷远处。而最后要实现行对齐,则需要通过下式实现,如图8所示:
R
R
因为对两相机平面进行了旋转平移,因此相机的焦距也会随之改变,在获取到新的左右相机矩阵为M
其中,f
上述过程为双目校正的过程,而进行多目校正需要对其进行扩展,本实施例首先三目视觉进行举例说明:
当存在第三个相机时,本实施例首先将第一相机和第二相机按照上述步骤完成极线校正后,再对第三相机进行校正。此时,本实施例重新构建一个使得第三个相机极点变换到无穷远处并且使得极线水平对准R
r3=Rodrigues(R
t3=r
R
R
其中,R
在一实施例中,所述步骤S105包括:
按照下式,利用所述圆形特征点辅助所述多目极限校正:
其中,f(x)表示优化目标函数,i=1,2,3,…,M表示圆形特征点的序号,Rj表示第j号相机实现极点变换到无穷远处并且使得极线水平对准的旋转矩阵,
本实施例中,在经过双目极线校正拓展后可以实现多目极线校正,但是经过实验发现多目校正需要处理不同视角,而由于相机位置的摆放与光照条件等原因,会造成校正的鲁棒性不足,因此本实施例利用平面标靶上的99个圆形特征点辅助实现立体图像之间的计算误差达到最小。在经过计算后可以实现立体图像之间的计算误差达到最小,如此不但能够增加多目极线校正的鲁棒性,而且可以进一步提升多目极线校正的精度。
在实际应用场景中,搭建由三个相机组成的三目系统,并通过该三目系统拍摄获取12个不同视角的平面圆形标靶图,然后进行如图11所示的标定,并拍摄一组散斑结构光雕塑图进行极线校正。在获取标定数据后利用重投影误差进行标定数据精度的评价,可以看到优化前后标定精度得到有效提高:
优化前的重投影误差:0.043436;
优化后的重投影误差:0.0240344。
图12-图15为多目极线校正的结果展示,从图12-图15中可以看到,本实施例所提供的多目极线校正方法在多目极线校正中具有很好的效果。具体来说,从可以看到校正前,物体的行是不在同一条直线上的,经过本实施例所提供多目极线校正方法进行校正后,使得极线变成水平线,简化了特征点的匹配问题,使得在水平方向上的匹配更加容易。并且大大减少了搜索的范围,从而加快了特征点匹配的速度。
图2为本发明实施例提供的一种多目极线校正装置200的示意性框图,该装置200包括:
标靶图获取单元201,用于获取相机拍摄的不同视角的平面圆形标靶图,并通过检测算法对所述平面圆形标靶图提取圆形特征点;
参数计算单元202,用于基于所述圆形特征点计算相机初始参数;
参数优化单元203,用于构建多目重投影优化模型,并利用非线性优化库对所述相机初始参数进行优化,得到相机优化参数;
极线拓展单元204,用于基于极线校正方法,将双目极线校正拓展为多目极线校正;
辅助校正单元205,用于利用所述圆形特征点对所述多目极限校正进行辅助校正,得到最终校正结果。
在一实施例中,所述标靶图获取单元201包括:
噪声去除单元,用于通过高斯滤波对所述平面圆形标靶图进行去除噪声处理;
边缘检测单元,用于利用边缘检测算子对所述平面圆形标靶图进行圆形边缘粗检测;
自动识别单元,用于按照预设识别条件进行圆形特征点自动识别;其中,预设识别条件为边缘轮廓像素达到预置数量阈值且为闭合轮廓;
第一拟合单元,用于采用三次多项式对所述平面圆形标靶图进行曲面拟合处理;
第二拟合单元,用于采用最小二乘法对拟合处理后的椭圆边缘点进行拟合处理,得到所述平面圆形标靶图的圆心亚像素定位,并将所述圆心亚像素定位作为所述圆形特征点输出。
在一实施例中,所述多目极线校正装置200还包括:
圆心连线单元,用于对每一所述圆形特征点设置外围套圆环,并将每一外围套圆环与其他外围套圆环的圆心连线;
连线计算单元,用于计算两两连线之间的夹角以及计算每一连线的长度;
特征点编号单元,用于根据计算得到的角度和长度对所述圆形特征点进行编号。
在一实施例中,所述参数计算单元202包括:
同名点对应单元,用于按照圆形特征点的编号,对不同视角的平面圆形标靶图进行同名点对应处理,得到同名的圆形特征点;
特征点输入单元,用于按照下式,将同名的圆形特征点输入至相机成像模型,以对相机初始参数进行计算:
其中,X
在一实施例中,所述参数优化单元203包括:
模型构建单元,用于按照下式构建所述多目重投影优化模型:
其中,Kn,Rn,Tn,Dn均为相机参数,rep(x)表示多目重投影模型的优化目标函数,i=1,2,3,…,M表示不同视角的平面圆形标靶图序号,j=1,2,3,…,N表示圆形特征点的序号,(Kn,Rn,Tn,Dn)表示所有待优化参数集合,
最优输出单元,用于利用非线性优化库对所述多目重投影优化模型进行优化,并当所述多目重投影优化模型的优化目标函数最小时,将对应的相机参数作为相机优化参数输出。
在一实施例中,所述双目极线校正对应有第一相机和第二相机,所述多目极线校正对应有包含第一相机和第二相机的n个相机,n大于3;
所述极线拓展单元204包括:
双目校正单元,用于利用极线校正方法对所述第一相机和第二相机进行双目极线校正;
补偿计算单元,用于针对第三相机,按照下式补偿所述第三相机相对于所述第一相机的旋转与平移值:
r3=Rodrigues(R
t3=r
R
R
其中,R
相机拓展单元,用于基于第三相机的拓展方式,对其他相机进行拓展。
在一实施例中,所述辅助校正单元205包括:
多目校正单元,用于按照下式,利用所述圆形特征点辅助所述多目极限校正:
其中,f(x)表示优化目标函数,i=1,2,3,…,M表示圆形特征点的序号,Rj表示第j号相机实现极点变换到无穷远处并且使得极线水平对准的旋转矩阵,
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
- 一种用于校正显示设备的灰阶显示曲线的方法、电子设备及计算机可读存储介质
- 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
- 视频校正方法、装置、电子设备和计算机可读存储介质
- 成像畸变校正方法、装置、计算机设备及存储介质
- 一种元数据存储方法、装置、设备及计算机可读存储介质
- 一种图像校正方法、校正装置、计算机设备及存储介质
- 一种图像校正方法、装置、计算机设备及存储介质