一种基于径向对称投影模型的鱼眼图像矫正方法
文献发布时间:2023-06-19 16:09:34
技术领域
本发明涉及图像处理技术领域,特别涉及一种基于径向对称投影模型的鱼眼图像矫正方法。
背景技术
鱼眼镜头是一种视场角很大的镜头,使用鱼眼镜头的相机可以捕获大范围的视觉信息。但所捕获的鱼眼图像中存在较大的畸变,不仅影响视觉效果,还给后续的直线检测等处理带来很大的困难。
当前鱼眼图像的矫正有多种方法,大致分为基于图像的方法和基于相机标定的方法这两种。基于图像的方法不需要获取拍摄设备的信息,应用较灵活。但是这类方法只能减小图片的畸变程度,不能消除畸变,对直线的恢复效果不理想。基于相机标定的方法,需要获取相机的内参矩阵和径向畸变参数,利用三维投影模型矫正图片。朱霍·坎纳拉(JuhoKannala)和萨米·S·勃兰特(Sami S.Brandt)提出了一种通用的相机模型:Kannala-Brandt模型,即径向对称投影模型。
以该模型为基础,鱼眼图像的矫正问题转换成球面图像投影到平面的问题。最简单的投影方法是针孔投影,利用针孔投影的矫正方法已被集成到Matlab视觉工具包和开源计算机视觉库OpenCV中,成为鱼眼图像矫正的首选方法。针孔投影虽然能够完全恢复直线,但是只能矫正鱼眼图像的中间部分,导致边缘信息大量丢失。为了保留球面图像上的全部信息,后续研究者提出了多种投影方法:Sharpless等人提出了Panini投影法,在大视角全景图的畸变矫正上表现良好,但是在鱼眼图像上表现不佳;Carroll等人基于最小化线条失真提出了一种矫正方法,在直线恢复上取得了非常好的效果,但是这种方法需要手动在鱼眼图像上画线标注,操作较为复杂;Chang等人提出了两步法投影,矫正后视觉效果良好,直线恢复也比较理想,但是引入了贯穿整幅图像的新畸变,其数学模型也较为复杂,不便于分析。
因此,在现有鱼眼图像矫正方法的基础上,如何提供一种直线恢复效果好,并且保留鱼眼图像上所有信息的鱼眼图像矫正方法,成为本领域技术人员亟需解决的问题。
发明内容
鉴于上述问题,本发明提出了一种至少解决上述部分技术问题的基于径向对称投影模型的鱼眼图像矫正方法,该方法可保留鱼眼图像上的全部信息,矫正后直线恢复效果和视觉效果良好,且构建的数学模型易于分析,参数调整简单方便。
本发明实施例提供一种基于径向对称投影模型的鱼眼图像矫正方法,包括如下步骤:
S1、获取拍摄待矫正鱼眼图像的相机的内参矩阵和径向畸变系数;
S2、根据预设盒形曲面中间占比和投影点后移距离,以及预设矫正图像分辨率,计算在投影坐标系中生成的矫正图像的宽和高;根据所述内参矩阵和径向畸变系数,从所述矫正图像的初始位置开始行遍历每一个像素点,计算所述矫正图像上全部像素点的像素值,得到矫正图像;
S3、获取所述矫正图像的人工考察结果,如果满足需求,则矫正完成;如果不满足需求,则重新设置所述盒形曲面中间占比和投影点后移距离;
S4、循环执行步骤S2~步骤S3,直至矫正完成。
进一步地,所述步骤S2包括:
S21、根据预设盒形曲面中间占比和投影点后移距离,以及预设矫正图像分辨率,计算在投影坐标系中生成的矫正图像的宽和高;
S22、从初始位置开始,确定所述矫正图像到所述待矫正鱼眼图像之间的像素坐标映射,根据所述径向畸变系数,分别计算投影方位角α和投影方位角θ;
S23、根据所述投影方位角α和投影方位角θ,以及所述内参矩阵,计算所述矫正图像上每一个像素点映射到所述待矫正鱼眼图像上的像素坐标;
S24、根据所述像素坐标,使用双线性插值法,插值计算所述矫正图像上全部像素点的像素值,得到矫正图像。
进一步地,分别通过如下公式计算在投影坐标系中生成的矫正图像的宽和高:
上式中,w
进一步地,所述步骤S22包括:
S221、从初始位置开始,确定所述矫正图像到所述待矫正鱼眼图像之间的像素坐标映射,计算所述矫正图像上每一个像素点在所述投影坐标系中的坐标;
S222、根据所述矫正图像上每一个像素点在所述投影坐标系中的坐标,计算所述矫正图像上每一个像素点投影到盒形曲面上的坐标;
S223、根据所述矫正图像上每一个像素点投影到盒形曲面上的坐标和所述径向畸变系数,分别计算投影方位角α和投影方位角θ。
进一步地,通过如下公式计算所述矫正图像上每一个像素点在所述投影坐标系中的坐标:
上式中,[x
进一步地,通过如下公式计算所述矫正图像上每一个像素点投影到盒形曲面上的坐标:
上式中,[x
进一步地,分别通过如下公式计算投影方位角α和投影方位角θ:
上式中,[x
进一步地,所述步骤S23包括:
S231、根据所述投影方位角α和投影方位角θ,依据径向对称投影模型,计算所述矫正图像上每一个像素点投影到所述待矫正鱼眼图像上的相机坐标;
S232、根据所述相机坐标和所述内参矩阵,计算所述矫正图像上每一个像素点映射到所述待矫正鱼眼图像上的像素坐标。
进一步地,所述步骤S24中,通过如下公式插值计算所述矫正图像上全部像素点的像素值:
上式中,G(x,y)表示所述矫正图像上像素点的像素值;[x
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的一种基于径向对称投影模型的鱼眼图像矫正方法,包括:获取拍摄待矫正鱼眼图像的相机的内参矩阵和径向畸变系数;根据预设盒形曲面中间占比和投影点后移距离,以及预设矫正图像分辨率,计算在投影坐标系中生成的矫正图像的宽和高;根据内参矩阵和径向畸变系数,从矫正图像的初始位置开始行遍历每一个像素点,计算矫正图像上全部像素点的像素值,得到矫正图像;获取矫正图像的人工考察结果,如果满足需求,则矫正完成;如果不满足需求,则重新设置盒形曲面中间占比和投影点后移距离;循环执行,直至矫正完成。该方法可精准保留鱼眼图像上的全部信息,且矫正后直线恢复效果和视觉效果良好,构建的数学模型易于分析,参数调整简单方便。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的基于径向对称投影模型的鱼眼图像矫正方法流程图;
图2为本发明实施例提供的待矫正鱼眼图像;
图3为本发明实施例提供的整体流程图;
图4为本发明实施例提供的盒形曲面投影示意图;
图5为本发明实施例提供的径向对称投影模型示意图;
图6为本发明实施例提供的最初的矫正图像;
图7为本发明实施例提供的调整a
图8为本发明实施例提供的最终的矫正结果。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供一种基于径向对称投影模型的鱼眼图像矫正方法,参照图1所示,包括如下步骤:
S1、获取拍摄待矫正鱼眼图像的相机的内参矩阵和径向畸变系数;
S2、根据预设盒形曲面中间占比和投影点后移距离,以及预设矫正图像分辨率,计算在投影坐标系中生成的矫正图像的宽和高;根据内参矩阵和径向畸变系数,从矫正图像的初始位置开始行遍历每一个像素点,计算矫正图像上全部像素点的像素值,得到矫正图像;
S3、获取矫正图像的人工考察结果,如果满足需求,则矫正完成;如果不满足需求,则重新设置盒形曲面中间占比和投影点后移距离;
S4、循环执行步骤S2~步骤S3,直至矫正完成。
实施例提供的基于径向对称投影模型的鱼眼图像矫正方法,可精确保留待矫正鱼眼图像上的所有信息,矫正后直线恢复效果好、视觉效果良好,且数学模型易于分析,参数调整简单方便。
下面以一个实际应用例子对本实施例提供的方法进行说明:
通过单目鱼眼相机(单目鱼眼相机垂直方向视角不大于165°,水平方向视角不大于180°)采集待矫正鱼眼图像,可使用深圳市中维奥柯科技有限公司生产的USB1080P摄像头,配合180°鱼眼镜头拍摄鱼眼图像,参照图2所示,为采集到的待矫正鱼眼图像;将采集的鱼眼图像输送到PC机进行处理。参照图3所示,为本实施例提供的方法的整体流程图。
提前通过标定获得相机的参数:
内参矩阵:
径向畸变系数:D=[-0.02160;0.00237;-0.00372;0.00159];
设定输出矫正图像的分辨率(像素分辨率),与输入待矫正鱼眼图像相同:Cols*Rows=1920*1080;
设置计算程序参数:设置盒形曲面中间占比a
计算投影坐标系中矫正图像的宽:
计算投影坐标系中矫正图像的高:
上式中,w
从初始位置(x=0,y=0)开始,确定矫正图像G到鱼眼图像F之间的像素坐标映射,行遍历矫正图像的每一个像素点,计算出矫正图像全部像素点的像素值,即,计算矫正图像中坐标为(x,y)像素点的像素值G(x,y):
1)从初始位置开始,计算矫正图像中每一个像素点在投影坐标系下的坐标:[x
即,
上式中,[x
计算盒形曲面中部平面的宽w
盒形曲面相关结构可参照图4所示。
2)把矫正图像上的像素点投影到盒形曲面上;根据矫正图像上每一个像素点在投影坐标系中的坐标,计算矫正图像上每一个像素点投影到盒形曲面上的坐标:[x
当
当
当
3)根据矫正图像上每一个像素点投影到盒形曲面上的坐标,以及径向畸变系数D,参照图5所示的径向对称投影模型,通过如下方式分别计算投影方位角α和投影方位角θ;其中,图4中,α为
投影方位角α=arctan2(y
其中arctan2(y',x')是反正切函数
其中,D=[d
4)根据投影方位角α和投影方位角θ,依据径向对称投影模型(等距投影模型),计算矫正图像上每一个像素点投影到待矫正鱼眼图像上的相机坐标:[x
根据径向对称投影模型:
5)根据相机坐标和内参矩阵K,计算矫正图像上每一个像素点映射到待矫正鱼眼图像上的像素坐标
其中,K是相机的内参矩阵;记
6)根据像素坐标,使用双线性插值法,逐像素灰度插值计算矫正图像上全部像素点的像素值,具体为:
以双线性插值为例,令[x
F(x',y')是鱼眼图像上坐标为(x',y')像素点的像素值,包含RGB三个分量:
H(x
令γ=[F(x
若(x
其中,β=[(1-u)(1-v),(1-u)v,u(1-v),uv],
若(x
即,
依次计算矫正图像上全部像素点的像素值
参照图6所示,为矫正后的图像。发现得到的矫正图像中棋盘格超出了盒形曲面的中间部分,需要加大盒形曲面中间占比a
重新计算获得矫正图像,结果参照图7所示,发现左侧的瓶子被拉长,需要增大投影点后移距离d,以压缩左右两侧的宽度,取d=1.75,a
重新计算获得矫正图像,结果参照图8所示,此时矫正效果较好,矫正完成,获得最终的结果。
本实施例,利用已知的相机内参和畸变系数,把矫正图像的像素点逐个投影到盒形曲面上,再从盒形曲面投影到鱼眼图像上,利用鱼眼图像的像素值计算出整幅矫正图像,实现对鱼眼图像的矫正。能够有效保留鱼眼图像的边缘信息,保留鱼眼图像上的全部信息;恢复大部分直线,矫正后直线恢复效果、视觉效果良好,且所构建的数学模型易于分析,计算简单,参数调整简单方便。适用于多种鱼眼相机所拍摄的鱼眼图像。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
- 一种基于径向对称投影模型的鱼眼图像矫正方法
- 一种基于鱼眼成像模型的鱼眼图像畸变矫正方法