本发明属于相机标定技术领域,具体涉及一种可见光与红外相机快速配准的方法。
背景技术:
如今,目标检测技术大多使用可见光相机。可见光相机包含丰富的纹理、颜色、阴影特征,但是对图像处理的运算量大,红外相机可以对具有热源的人和物体进行快速的检测,但是分辨率较低,缺乏纹理等细节信息,且目标与背景颜色相同时容易湮没在背景中。如果将两种相机结合起来,可以使两种模态的信息相互融合,优势互补,但这就需要可见光和红外相机同时捕获同一场景的图像信息。由于不同成像传感器内部参数、视场、靶面尺寸或者拍摄角度等物理条件的差异,同一场景的可见光和红外图像并不能做到完全对准,需要对这两种相机进行配准。
常用的可见光和红外相机配准方法为基于特征的图像配准方法。基于特征的图像匹配算法尽管被广泛的应用,但是这需要提取红外及可见光图像的特征。同时该类方法中最著名的surf算法通过提取特征点进行匹配以计算变换矩阵,但是该方法需要先识别出特征点,然后根据各特征点之间的向量距离确定匹配关系并进行变换矩阵计算。但是该算法有一定的误匹配率,即便后续使用ransac算法可以过滤一部分误匹配的点,但消耗了大量的处理资源,对于计算能力有限且实时性要求极高的嵌入式平台来说并不适合应用。
图像配准的实质是寻找一个几何变换模型,能将一幅图像经过坐标变换后与待配准图像进行对准,用数学公式表示为:
i0(x,y)=f(i1(x,y))
其中i0(x,y)和i1(x,y)为待配准图像。f表示几何变换。
技术实现要素:
本发明旨在克服现有技术的不足,提供了一种可见光与红外相机快速配准的方法,即根据最近有效距离和最远有效距离确定图像拍摄距离,通过可见光和红外相机同时拍摄多组棋盘格标定板的图像,检测两种相机所拍摄图像的亚像素级角点,根据最小二乘法或者奇异值矩阵分解算出单应性矩阵h,即可完成可见光和红外相机的快速配准。
本发明的具体技术方案为,一种可见光与红外相机快速配准的方法,包括下列步骤:
1)确定距离:令配准最近有效距离为d1,最远有效距离为d2,确定棋盘格图像拍摄的距离d;
1-1)令配准最近有效距离为d1,最远有效距离为d2,根据视差d求解公式:
其中b为基线长度,f为焦距,z为相机到物体的距离;那么在最近有效距离处的视差d1的求解公式为:
同理,在最远有效距离处的视差d2的求解公式为:
1-2)为了兼顾最近和最远处的视差,使得可见光和红外图像配准后的重影尽可能的最少,设定权重k,得出加权平均视差d0:
d0=kd1 (1-k)d2
确定棋盘格图像拍摄的距离d为:
2)拍摄棋盘格图像:使用可见光和红外相机同时拍摄的棋盘格标定板图像;
3)检测角点:使用棋盘格角点检测算法检测可见光和红外相机拍摄的棋盘格标定板图像;
4)求单应性矩阵:根据分解奇异值矩阵或者最小二乘法求解单应性矩阵h;
5)完成配准:通过单应性矩阵h确定可见光和红外相机的位置关系,完成配准。
进一步地,上述步骤4)求单应性矩阵的具体过程包括:
4-1)将单应性矩阵h定义为以下公式:
则有:
矩阵展开后,有3个式子,将第3个等式代入前两个等式中可得:
因为单应性矩阵h实际上只有8个自由度,可以给加上一个||h||=1的约束条件。将上面的两个等式展开可以得到:
h11x h12y h13-h31xx′-h32yx′-h33x′=0
h21x h22y h23-h31xy′-h32yy′-h33y′=0
假定得到了两幅图像中的n个对应亚像素级角点的坐标,可以得到如下的线性方程组:
由于单应性矩阵h包含了||h||=1约束,因此根据上图的线性方程组,8自由度的h至少需要4对对应的点才能计算出单应性矩阵。实际场景中,计算的点都包含噪声,为了使得计算更精准,一般使用远大于4个点来计算单应矩阵。另外上述方程组采用线性方法经常很难得到最优解,所以实际使用中一般采用其他优化方法,如奇异值分解、levenberg-marquarat(lm)算法进行求解。
本发明的有益效果是:
本发明提出了一种可见光与红外相机快速配准的方法,通过确定距离,拍摄图像,检测角点,求解单应性矩阵最终完成图像配准,具有以下特点:
1、方法简单,易于实现;
2、利用可见光和红外相机通用的棋盘格标定板采集角点对,相比于surf算法,采集到的角点对更加精确;
3、该方法不需要进行繁复的特征点对匹配计算及配准变换矩阵计算,只需要求出两个相机之间的单应性矩阵h,计算速度快,配准效率高。
附图说明
图1是整体流程图;
图2是视差-距离关系图;
图3是可见光和红外双目相机位置关系图;
图4是可见光相机拍摄的标定板图像;
图5是红外相机拍摄的标定板图像。
具体实施方式
本发明提出了一种可见光与红外相机快速配准的方法,结合附图及实施例详细说明如下:
本发明以水平摆放的可见光双目相机和红外双目相机作为成像系统进行异源图像采集,其中v为可见光相机,ir为红外双目相机。可见光双目相机的分辨率为640×512,红外双目相机分辨率为640×512。如图3所示。所述方法流程如图1所示,包括下列步骤:
1)配准最近有效距离d1=5m,最远有效距离d2=30m,如图2视差-距离关系图所示,根据视差d求解公式:
其中b为基线长度,f为焦距,z为相机到物体的距离。那么在最近有效距离处的视差d1的求解公式为:
同理,在最远有效距离处的视差d2的求解公式为:
为了兼顾最近和最远处的视差,使得可见光和红外图像配准后的重影尽可能的最少,设定权重k=0.5,可以得出加权平均视差d0:
d0=(d1 d2)/2
可确定棋盘格图像拍摄的距离d为:
2)使用可见光相机v和红外相机ir同时拍摄的3组以上的通用棋盘格标定板图像,v拍摄的通用棋盘格标定板图像如图4所示,ir拍摄的通用棋盘格标定板图像如图5所示;
3)使用棋盘格角点检测算法检测可见光和红外相机拍摄20对棋盘格标定板图像,分别对红外图像和可见光图像进行角点检测,检测出的720对亚像素级角点将作为求解单应性矩阵h的输入;
4)将单应性矩阵h定义为以下公式:
则有:
矩阵展开后,有3个式子,将第3个等式代入前两个等式中可得:
因为单应性矩阵h实际上只有8个自由度,可以给加上一个||h||=1的约束条件。将上面的两个等式展开可以得到:
h11x h12y h13-h31xx′-h32yx′-h33x′=0
h21x h22y h23-h31xy′-h32yy′-h33y′=0
假定得到了两幅图像中的n个对应亚像素级角点的坐标,可以得到如下的线性方程组:
由于单应性矩阵h包含了||h||=1约束,因此根据上图的线性方程组,8自由度的h至少需要4对对应的点才能计算出单应性矩阵。实际场景中,计算的点都包含噪声,为了使得计算更精准,一般使用远大于4个点来计算单应矩阵。另外上述方程组采用线性方法经常很难得到最优解,所以实际使用中一般采用其他优化方法,如奇异值分解、levenberg-marquarat(lm)算法进行求解。
5)最终,根据单应性矩阵h可以完成对可见光相机v和红外相机ir的配准。
1.一种可见光与红外相机快速配准的方法,其特征在于,包括下列步骤:
1)确定距离:令配准最近有效距离为d1,最远有效距离为d2,确定棋盘格图像拍摄的距离d;
1-1)令配准最近有效距离为d1,最远有效距离为d2,根据视差d求解公式:
其中b为基线长度,f为焦距,z为相机到物体的距离;那么在最近有效距离处的视差d1的求解公式为:
同理,在最远有效距离处的视差d2的求解公式为:
1-2)设定权重k,得出加权平均视差d0:
d0=kd1 (1-k)d2
确定棋盘格图像拍摄的距离d为:
2)拍摄棋盘格图像:使用可见光和红外相机同时拍摄的棋盘格标定板图像;
3)检测角点:使用棋盘格角点检测算法检测可见光和红外相机拍摄的棋盘格标定板图像;
4)求单应性矩阵:根据分解奇异值矩阵或者最小二乘法求解单应性矩阵h;
5)完成配准:通过单应性矩阵h确定可见光和红外相机的位置关系,完成配准。
2.根据权利要求1所述的一种可见光与红外相机快速配准的方法,其特征在于,步骤4)中求单应性矩阵,具体包括以下步骤:
4-1)将单应性矩阵h定义为以下公式:
则有:
矩阵展开处理后,得:
加上一个||h||=1的约束条件;将上面的两个等式展开得到:
h11x h12y h13-h31xx′-h32yx′-h33x′=0
h21x h22y h23-h31xy′-h32yy′-h33y′=0
得到了两幅图像中的n个对应亚像素级角点的坐标,进而得到如下的线性方程组:
采用4个以上的对应点,求解单应矩阵。
3.根据权利要求2所述的一种可见光与红外相机快速配准的方法,其特征在于,步骤4)采用奇异值分解或levenberg-marquarat算法进行求解单应矩阵。
技术总结