基于Bayer图像的快速畸变校正方法与流程

文档序号:12597968阅读:309来源:国知局
基于Bayer图像的快速畸变校正方法与流程

本发明属于计算机视觉图像技术领域,涉及鱼眼图像畸变校正方法,特指一种基于Bayer图像的快速畸变校正方法。



背景技术:

鱼眼镜头具有比普通摄像头更加广阔的视角,在全景视觉技术方面的应用越来越重,尤其是虚拟现实、全景漫游以及图像的三维重建等机器视觉领域中,鱼眼镜头更有着不可替代的位置。鱼眼镜头是一种超广角、焦距极短的镜头,其拍摄视角可以达到甚至超过180°,基于光的折射原理鱼眼镜头的制造与设计一般遵循某个特定的投影模型,通过鱼眼镜头对超广角视野或场景进行拍摄,得到超广角鱼眼图像。鱼眼图像存在严重的畸变,不符合人眼对图像的观察和浏览需求,因此需要对鱼眼图像进行畸变校正。

目前鱼眼图像畸变校正的方式主要分为基于投影变换模型的校正方法和基于标定的鱼眼镜头畸变校正方法。其中基于球面透视投影主要是通过拟合多项式以优化目标函数,从而估计校正模型参数,推导出校正后的图像,该方法研究较早,但计算复杂,实时性差。基于标定的校正方法,主要是借助外部设备对鱼眼图像的内外参数进行标定,通过真实坐标与语言成像平面坐标之间坐标转换,实现鱼眼图像畸变校正,该方法校正精度高,对实验设备要求较高。

为了简化传统校正方法复杂度,提高视觉效果,在这两类方法的基础上结合图像的具体应用领域提出了许多校正方法。如刘红军等人采用球面透视投影和柱面展开两种算法对鱼眼图像进行校正。廖士中等人则提出利用多项式表示校正前后像素点坐标之间的关系,并通过最小二乘法求得多项式参数,实现鱼眼图像校正。但这些方法多项式次数越高,校正效果越好,计算量越大,过程比较复杂,无法满足实际需求。



技术实现要素:

针对现有方法的不足,本发明其目的在于提出一种基于Bayer图像的快速畸变校正方法。通过FPGA硬件模块实现Bayer图像的快速畸变校正,减轻ISP芯片的计算负担,增加成像系统设计的灵活性。

本发明的技术方案是:

一种基于Bayer图像的快速畸变校正方法,包括以下步骤:

第一步、将鱼眼镜头和CMOS传感器采集的Bayer图像输入FPGA模块,采用等距内参模型将鱼眼图像映射到三维球面上,利用经纬度方式对三维球面进行描述,得到鱼眼图像平面坐标点与三维球面对应映射点的经纬度坐标转换关系式;

采用等距内参模型将鱼眼图像映射到三维球面上,设鱼眼镜头位于三维球面的球心Os处,半球面为鱼眼镜头180°视场角的覆盖面,α为入射光线OsPs与摄像机光轴OsW之间的夹角,f为鱼眼镜头的等效焦距,在鱼眼图像平面内任一图像点Pd(xd,yd)与鱼眼图像中心Od之间的距离为由等距投影模型可以得到rd=fα,为了方便计算,取三维球面的半径为f,则鱼眼图像内的点Pd(xd,yd)映射到三维球面上的对应点Ps(us,vs,ws)的坐标计算公式如(1)式所示。

采用经纬度方式对三维球面进行描述,即三维球面上任意点的三维坐标存在唯一的经纬度坐标与之对应,其中经度用θ表示,纬度用φ表示,则三维球面的球心Os的经纬度坐标为(0,0)。设点P为三维球面上点Ps在平面UOsW(如图2所示的三维球面坐标系中平面UOsW)上的投影点,则点Ps的经纬度坐标可表示为(2)式所示。

联立(1)式和(2)式,得到鱼眼图像平面内的点Pd(xd,yd)映射到三维球面对应点Ps(θ,φ)的经纬度坐标计算公式(3)如下:

第二步、采用垂直鱼眼投影方法得到三维球面上映射点投影到二维平面内对应投影点的计算公式,将三维球面重新投影到二维平面;

三维球面上点Ps(θ,φ)投影到二维平面内点Pu(xu,yu)的计算公式如(4)式所示。

第三步、基于Bayer图像的每一行都包括R、G、B三通道中的两个通道像素值,相邻的像素间具有不同的颜色通道值,采用横向扫描插值方法将二维Bayer图像插值转化为一维图像插值问题,利用Bayer图像的多通道相关性把插值区间分成若干段区间,求解各区间对应的三次多项式曲线方程参数;将步骤(3)中求得的三次多项式曲线方程参数代入求得待插值点x处的R通道像素值R(x)。在Bayer图像中的R、G通道或G、B通道像素交替出现的像素行中,采用同样的方法可以求得其待插值点像素值,实现校正后二维平面图像的插值,并将校正后的Bayer图像直接按照时序输出至ISP芯片。

设在Bayer图像R、B通道像素交替出现的像素行中,待插值点R(x)为坐标在x处的像素点,在该像素行中选择与x处像素点邻近的5个像素值进行插值,设5个像素值分别为B1、R2、B3、R4、B5,B1、R2、B3、R4、B5分别位于待插值点R(x)两侧,根据相邻区间的曲线在连接处具有相同的函数值与函数导数值,求解插值区间对应的三次多项式曲线方程参数;

通常认为各通道的高频信息比较相近,图像中大多数像素的各通道梯度值可以认为相等,这一先验知识可以用其他通道的梯度信息来估计当前通道的梯度值,即利用R通道的导数值近似代替B通道的导数值来求解R(x)的曲线方程。已知插值区间函数为待拟合变量的三次多项式曲线,设待插值点R(x)的插值区间对应的三次多项式曲线方程为FR(x)=a0+a1x+a2x2+a3x3,根据先验知识得到曲线方程FR(x)满足(5)式条件:

其中FR'(x)表示FR(x)的导函数,将(5)式条件代入曲线方程求解参数,得到参数a0,a1,a2,a3的值,如(6)式所示。

将公式(6)中求得的参数代入曲线方程FR(x)得到曲线表达式如(7)式所示,即利用5个相邻像素点的像素通道值可以求得待插值点x处的R通道像素值R(x)。

本发明提出了一种基于Bayer图像的快速畸变校正方法,将鱼眼镜头和CMOS图像传感器采集输出的原始Bayer图像信号在ISP图像信号处理前端处理,通过FPGA硬件模块实现Bayer图像的快速畸变校正,然后将校正好的Bayer图像输出到ISP芯片,这样不仅可以减轻ISP芯片的计算负担,节约图像缓存占用的内存空间,增加成像系统设计的灵活性,同时能有效地缩短畸变校正算法带来的延时,满足系统实时性要求。

附图说明

图1鱼眼镜头成像图像处理流程示意图

图2鱼眼图像校正原理图

图3 Bayer格式图像插值示意图

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

基于鱼眼镜头成像系统如图1所示设计了图像处理流程,首先将鱼眼镜头汇聚的场景光线由CCD或CMOS图像传感器完成光电转化输出Bayer图像信号,基于Bayer图像在FPGA硬件模块上实现快速畸变校正,并将校正后的Bayer图像输出至ISP芯片,经过去马赛克、Gamma校正、颜色校正等一系列计算之后最终输出RGB图像。

本发明提出的基于Bayer图像的快速畸变校正方法在FPGA模块上实现,分为两个部分:第一部分根据内参模型和投影方法将鱼眼图像映射到三维球面上,再投影到二维平面得到校正后图像;第二部分为利用Bayer图像的多通道相关性对校正后图像进行插值,提高Bayer图像畸变校正的精度。然后将畸变校正完成的Bayer图像输出到ISP芯片,从而减轻ISP芯片的计算负担,增加成像系统设计的灵活性。具体实现过程如下:

第一部分将鱼眼图像的畸变校正过程分为两个步骤,第一步采用等距内参模型将鱼眼图像映射到三维球面上,第二步采用垂直鱼眼投影方法将三维球面重新投影到二维平面,得到校正后的图像。

一般将鱼眼镜头看作是一个半球面,景物透过半球面投影到CCD或CMOS成像面而发生畸变,根据等距投影模型的成像规律,将鱼眼图像按照等距内参模型映射到三维球面上。如图2所示,设鱼眼镜头位于三维球面的球心Os处,半球面为鱼眼镜头180°视场角的覆盖面,α为入射光线OsPs与摄像机光轴OsW之间的夹角,f为鱼眼镜头的等效焦距,在鱼眼图像平面内图像点Pd与图像中心Od之间的距离为由等距投影模型可以得到rd=fα,为了方便计算,取三维球面的半径为f,则鱼眼图像内的点Pd(xd,yd)映射到三维球面上的对应点Ps(us,vs,ws)的坐标计算公式如(1)式所示。

采用经纬度方式对球面进行描述,即球面上任意点的三维坐标存在唯一的经纬度坐标与之对应,其中经度用θ表示,纬度用φ表示,则球心Os的经纬度坐标为(0,0)。设点P为三维球面上点Ps在平面UOsW(如图2所示的三维球面坐标系中平面UOsW)上的投影点,则点Ps的经纬度坐标可表示为(2)式所示。

联立(1)式和(2)式,得到鱼眼图像内的点Pd(xd,yd)映射到三维球面对应点Ps(θ,φ)的经纬度坐标计算公式(3)如下:

接下来进行鱼眼图像校正的第二步,采用垂直鱼眼投影方法将三维球面重新投影到二维平面,半球面的经纬度投影范围为经度θ∈(-π,π),纬度φ∈(-π/2,π/2),在摄像机水平拍摄过程中,场景中竖直方向的物体形变比较严重,为了减小视觉效果的影响,需要将垂直方向上的物体保持垂直,则投影到二维平面的点Pu(xu,yu)的横坐标需要满足条件xu=fθ。由于输出图像信号与输入图像信号之间的时差为畸变校正算法的延时,该时差主要取决于输出图像坐标与输入图像坐标之间的距离。

为了减少图像信号处理的延时,本发明方法提出校正方法中投影到二维平面内点Pu(xu,yu)的纵坐标取yu=yd,即得到三维球面上点Ps(θ,φ)投影到二维平面内点Pu(xu,yu)的计算公式如(4)式所示。

至此完成了将鱼眼图像映射到三维球面并投影到二维平面的坐标点对应关系求解,着重考虑了鱼眼图像垂直方向的畸变校正和缩短图像信号处理的延时问题。第二部分为利用Bayer图像的多通道相关性对校正后的二维平面图像进行插值,畸变校正都会涉及到小数位置的像素坐标计算,对于坐标为小数的像素,需要进行图像插值才能得到其像素值,以提高Bayer图像畸变校正的精度。

常见的图像插值方法有最邻近插值法、双线性插值法、双立方插值法等,基于Bayer图像的每一行都包括R、G、B三通道中的两个通道像素值,相邻的像素间具有不同的颜色通道值。采用横向扫描插值方法将二维Bayer图像插值转化为一维图像插值问题,由于同一行中不同颜色通道的像素交叉排列,若单独对同一颜色通道的像素进行插值,相邻同通道像素点间的间距太大,降低了图像插值的精度,为了充分利用相邻像素值的颜色通道信息,提高插值精度,因此利用Bayer图像的多通道相关性即不同颜色通道的高频信息相接近对校正后的二维平面图像进行插值。Bayer图像的每一像素行都包括R、G、B三通道中的两个通道像素值,同一像素行相邻的像素间具有不同的颜色通道值。对于Bayer图像中以R、B通道像素交替出现的像素行为例说明如何求解三次多项式曲线方程参数,得到待插值点处的像素值:假设待插值点为坐标在x处的像素点,该像素点的R通道像素值为R(x),选择与x处像素点邻近的5个像素值(包括R通道和B通道)进行插值,如图3所示,虚线矩形框内的五个像素值B1、R2、B3、R4、B5分别位于待插值点R(x)两侧,把插值区间分成若干段区间,在每个区间内分别求解待拟合变量的三次多项式曲线,每个区间的三次多项式曲线不一样,待拟合函数为分段函数,但是要求函数在相邻区间连接处平滑,即相邻区间的曲线在连接处具有相同的函数值与函数导数值。

通常认为各通道的高频信息比较相近,图像中大多数像素的各通道梯度值可以认为相等,这一先验知识可以用其他通道的梯度信息来估计当前通道的梯度值,即利用R通道的导数值近似代替B通道的导数值来求解R(x)的曲线方程。设R(x)的插值区间对应的曲线方程为FR(x)=a0+a1x+a2x2+a3x3,根据先验知识得到曲线方程FR(x)满足(5)式条件:

其中FR'(x)表示FR(x)的导函数,将(5)式条件代入曲线方程求解参数,得到参数a0,a1,a2,a3的值,如(6)式所示。

将求得的参数代入曲线方程FR(x)得到曲线表达式如(7)式所示,即利用5个相邻像素点的像素通道值可以求得待插值点x处的R通道像素值R(x)。

在Bayer图像中的R、G通道或G、B通道像素交替出现的像素行中,采用同样的方法可以求得其待插值点像素值,实现校正后二维平面图像的插值,并将校正后的Bayer图像直接按照时序输出至ISP芯片。

由于畸变校正方法通过横向扫描主要进行水平方向的校正,根据鱼眼图像的对称性,只需在FPGA内部开辟一行像素大小的空白RAM内存空间,将连续不断的Bayer图像信号缓存在空白RAM内,当缓存的Bayer图像信号达到半行像素时,开始Bayer图像的畸变校正运算,将校正后的Bayer图像不存入内存中,直接按照时序输出至ISP芯片。这样不仅可以节约图像缓存占用的内存空间,便于嵌入式硬件实现,同时有效地缩短畸变校正算法带来的延时,使系统满足实时性要求。

以上包含了本发明优选实施例的说明,这是为了详细说明本发明的技术特征,并不是想要将发明内容限制在实施例所描述的具体形式中,依据本发明内容主旨进行的其他修改和变型也受本专利保护。本发明内容的主旨是由权利要求书所界定,而非由实施例的具体描述所界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1