鱼眼图像矫正算法比较研究综述

2020-03-15 10:15刘裕拯
现代计算机 2020年4期
关键词:鱼眼畸变标定

刘裕拯

(四川大学计算机学院,成都 610065)

0 引言

作为具有超广视角的一种镜头,鱼眼镜头早已融入我们的生活,经其拍摄而得的鱼眼图像由于具有超广视角,也在监控、安防、医疗、航天、VR、影视制作等方面扮演重要角色。由于科技不断进步,相机生产成本不断降低,廉价的民用消费级鱼眼相机已经出现,并拥有稳定市场。除前述专业领域外,在短视频、Vlog、直播等消费领域对鱼眼图像矫正算法又提出了稳定、快速、高质量等新的需求。因此,研究比较鱼眼图像矫正算法具有一定实用价值和意义。

1 鱼眼镜头模型

鱼眼镜头是一种具有超广视角的镜头。与一般的广角镜头、超广角镜头相比,在设计规格上,鱼眼镜头的焦距更短、视角更广(如表1)。因此在相同画幅和像素尺寸的情况下,鱼眼镜头所拍摄的图像能够容纳更多的景物信息。

表1

鱼眼镜头可以看作是一个球面,一副完整的鱼眼图像投影是一个圆形,而相机的CMOS传感器成像面一般都是矩形,根据鱼眼投影圆和成像面的几何关系,可以将鱼眼镜头分为三种,它们分别是圆形鱼眼、桶形鱼眼、全画幅鱼眼。由于这更多地涉及到相机规格而非鱼眼镜头本身,所以在此不进行赘述。因为圆形鱼眼镜头的成像是一个完整的圆形,包含全部投影信息,为了研究和行文方便,下文提到的所有鱼眼镜头,都是圆形鱼眼。

对于鱼眼镜头本身,受限于镜头生产工艺,各家镜头生产厂商所生产出来的鱼眼镜头一般都属于以下四种鱼眼镜头模型[1],它们分别是:正交投影模型、等距投影模型、等角投影模型、体视投影模型。其中,正交投影模型的映射关系如公式(1)所示:

其中,r表示成像平面上,对象相对于光轴(也就是图像中心)的距离,f表示该镜头的焦距,e是入射光线与光轴的夹角。以下各式与之相同。这种模型的优点在于映射关系较为简单,所生成的图像,其中心位置畸变较小,更接近于广角、超广角镜头所成的像;其缺点在于,所成图像边缘位置畸变较大,且该模型能且仅能描述视角小于等于180°的场景,在接近180°视角附近的图像严重失真。

等距投影模型的映射关系如公式(2)所示:

这种模型的优点在于映射关系较为简单,能够描述视角大于180°的场景。并且由于保证了角距离的线性关系,该种模型下的镜头也被用于测绘。大多数市售平价鱼眼镜头使用的都是这种模型。

等角投影模型的映射关系如公式(3)所示:

这种模型的优点在于保证了每一个像素在单位鱼眼球面上的大小都是相同的,也能描述视角大于180°的场景,并且有比较好的透视效果。缺点在于其映射关系较为复杂,对接近180°视角附近的图像在压缩较大,并且通常情况下,这种鱼眼镜头较为昂贵。

体视投影模型的映射关系如公式(4)所示:

这种模型也可以描述视角大于180°的场景,其优点在于接近180°视角附近的图像压缩较小,可以获得较为理想的边界图像。其缺点在于图像中心部分成像面积较小、畸变较大,而且市售商品也较为昂贵。

2鱼眼图像矫正模型

2.1 径向畸变和切向畸变

由于镜头生产工艺等原因,实际图像并不是严格按照鱼眼镜头光学模型生成的,所以生成的鱼眼图像会包含畸变,畸变一般被分为两种:径向畸变、切向畸变[2]。其中,径向畸变包括枕型畸变和桶型畸变,可以由公式(5)表示:

其中δxr表示在二维平面坐标系中x轴上的径向畸变距离,δyr表示在y轴上的径向畸变距离。x、y为实际图像坐标,r为半径,k为径向畸变参数。该公式通过多项式来近似准确的径向畸变,一般在计算中最多只取到6次。

切向畸变则包括薄透镜畸变和离心畸变,其中薄透镜畸变可以由公式(6)表示,离心畸变可以由公式(7)表示。

其中x、y与公式(5)中含义相同,s为薄透镜畸变参数,p为离心畸变参数。故切向畸变可以表示为这两者之和。总畸变即为这三者之和。实际应用中,由于切向畸变的影响较小,计算切向畸变的性价比较低,所以通常只计算径向畸变。

2.2 基于相机标定的图像矫正模型

既然鱼眼镜头是按照一定的规格生产出来的,那么只要通过标定的手段获得鱼眼镜头的参数,就可以对该鱼眼镜头生成的鱼眼图像进行矫正了。相机标定方法中,张正友标定法具有一定代表性[3]。该方法利用了平面棋盘靶标,通过相机在不同位置拍摄不同姿态的多幅形似棋盘的黑白圆点图像建立图像上各个像点之间的对应关系,并通过单应矩阵与相机参数矩阵求解镜头参数。需要说明的是,张正友标定法本身并不是针对鱼眼镜头设计的,在一般的相机镜头标定中也经常使用,这种方法比较大的缺陷在于,如果镜头的视角较大,则效果并不是很好,所以不能用于接近180°的鱼眼镜头矫正。

针对大视角设备,Scaramuzza等人提出的全方位相机标定法更为可靠,这种方法要求整个相机成像系统是一个中心系统、相机和镜头的光轴对齐并且均为轴对称结构,同时假设不存在镜头失真[4]。另外,冯为嘉等人的全方位视觉参数标定方法在传统标定法的基础上针对鱼眼镜头进行了改良[5]。该方法对光轴、镜面到成像平面距离、径向畸变参数进行分别标定计算,取得了较好的效果。这些方法都是通过一组特定的图像经过多项式计算求解相机参数,对映射模型本身并没有太大改进。

2.3 通用鱼眼图像矫正模型

2.1中的方法要求我们必须拥有鱼眼相机本身,并且通过相对繁琐的标定流程获得相机参数。但是实际情况中,我们可能只能得到一组鱼眼图像的数据集,并且并不能够完整得知所有图像的全部拍摄参数。这就要求我们从现成的鱼眼图像中直接求得一个相对可靠的映射关系来对图像进行矫正。例如通过射影不变性推算畸变前后直线部分的差别进而进行矫正[6],通过对鱼眼球面添加经纬映射模型进行矫正[7],通过改进经纬模型添加双经度映射关系来解决横纵两个方向上的畸变等[8]。这些方法通过添加额外的约束条件,达到实现畸变校正的目的。

Kannala等人则通过多项式逼近来进行映射模拟[9],这种方法的好处在于,可以根据实际需要调整多项式的次数,只要增加多项式次数,那么模拟效果就越好;同时由于只有多项式计算并没有三角函数计算,对机器模拟也相对友好。

需要注意的是这些方法仅仅是对鱼眼镜头模型的补充,并不是完全独立的方法,虽然不能获得精确的相机参数,但是通过添加约束条件或使用多项式逼近方法,在限定条件下往往能取得较好的矫正效果。

3 模型评估

3.1 采样定理和插值

现实世界中的光信号在宏观上是连续的,我们通过相机获得的数字图像是离散的,因此不论采用上述哪一种鱼眼矫正算法,在进行图像矫正的过程中都会遇到采样的过程,这里对采样和插值进行简单说明。采样定理的香农陈述为:对频率域上带宽有限的连续信号,当采样频率高于周期函数的频率两倍及以上时,可以通过离散的采样样本恢复出原始的连续信号[10-11]。

这段陈述中,后半段关于采样频率的说明较为容易理解,而前提条件则要求被采样的对象只能是具有傅里叶变换的一类数学函数,这些函数在频率域上必须拥有有限的带宽,即其频率在有限区域以外为零。当不满足采样定理时,采样后的信号样本在频率域上就会重叠,在使用这些离散样本信号恢复连续信号时,就会使得被恢复出来的信号与原始连续信号不同,这种由于样本频谱重叠导致信号失真的现象被称为混叠现象。对相机模型来说,被采样的光信号在频率域上是带宽无限的,因此我们不可避免地一定会遇到混叠,例如在拍摄具有网格状纹理的物体时,数字图像上的纹理与原始纹理不一样即是混叠的一种表现。

为了尽可能地抵抗混叠的发生,我们可以选择尽量提高采样频率,显然,实际上采样频率不可能无限高。因此在有限的采样频率下,我们需要人为地补充离散采样点的数量,这种通过估计增加样本数量的方法被称作插值。对相机模型而言,和切向形变一样,选择复杂插值算法的性价比并不高,因为被拍摄物体并不是总是拥有较为复杂的纹理特征,所以通常选择较为简单的线性插值。

3.2 矫正评估方法

在实际应用中,我们经常通过个人观感来判断鱼眼图像是否矫正成功,缺少对鱼眼图像矫正算法效果的客观评价方法。这里提出一个较为简单的流程以供参考:

(1)通过不同频率的三角函数生成带有较为复杂纹理的原始图像T;

(2)使用一个固定的鱼眼模拟函数将图像T映射为鱼眼图像F;

(3)使用矫正算法对图像F进行矫正得到矫正后的图像C;

(4)对图像F和图像C做差,即可评估步骤3中所使用的矫正算法。

4 结语

本文介绍了鱼眼镜头的光学模型和鱼眼图像会产生的畸变,同时介绍了一些鱼眼图像矫正算法,并根据混叠理论给出了评估矫正算法的流程以供参考。可以看出鱼眼图像矫正方法已经较为完善,在抗混叠部分由于物理上的不可实现性导致并没有较新的方法可以参考。另外,也未有和内容识别相关的矫正算法,这使得我们并不能够只矫正或者增强图像的一部分,在应用领域上尚有缺失。

猜你喜欢
鱼眼畸变标定
基于能量变分法的曲线组合箱梁畸变效应分析
面向鱼眼图像的人群密度估计
薄壁箱梁畸变的Galerkin解法*
大型焊接容器局部热处理防畸变工装优化设计
轻卡前视摄像头的售后标定
一种轻卡前视单目摄像头下线标定方法
《癌变·畸变·突变》中国科技核心期刊收录证书
使用朗仁H6 Pro标定北汽绅宝转向角传感器
CT系统参数标定及成像—2
CT系统参数标定及成像—2