本发明涉及一种图像处理技术,具体为一种基于变分模型的单幅图像去雾方法。
背景技术:
由于雾天大气中微小粒子的散射作用,在雾天环境下获取的户外图像往往对比度和清晰度比较差。这对户外监测系统和基于视频分析的自动驾驶辅助系统中的各种应用造成了严重的影响。因此,如何设计有效的图像去雾方法,以获得清晰高质量图像成为了图像处理与计算机视觉领域亟需解决的问题。
由于基于单幅图像去雾的方法需要较少的先验知识,成为了当前研究的热点。基于单幅图像去雾的方法主要分为两类:一类是基于图像增强的方法,即通过增强图像的对比度来达到去雾目的。这类方法有针对性地改良已有的成熟图像处理算法,对薄雾图像能够取得较好的去雾效果,但由于没有针对成雾的客观原因,所以不能从根本上实现去雾。另一类是基于雾天成像模型的去雾方法。该类方法首先基于大气成雾以及图像退化的客观机理,构建雾天成像模型;然后,通过求解该模型以实现图像去雾。这类方法去雾效果理想,并不容易使图像信息丢失。
近年来,基于雾天成像模型的单幅图像去雾方法取得了重要进展。Tan等人基于无雾图像的对比度优于有雾的先验知识和局部区域大气光平滑的假设,提出了通过最大化局部对比度的去雾算法,但该方法容易使去雾后图像出现过饱和光晕效应。Fattal基于大气传播率和物体表面阴影局部不相关的假设,利用独立成分分析的方法实现图像去雾。该方法对于去除薄雾具有良好的效果,但不能处理灰度图像和浓雾图像。He等人提出了一种基于暗原色先验的去雾算法。该方法大多数情况下都能取得良好的效果,但该算法中软抠图的计算效率太低。为解决该问题,He等人又提出了用导向滤波代替软抠图的去雾算法。导向滤波虽然提高了透射率的优化效率,但破坏了图像透射率的同质性。Yu等人提出了一种基于块和单个像素的插值去雾算法。该方法有效地克服了导向滤波的缺点,但方法的透射率的计算误差较大。
中国专利申请(申请号201510224034.3)公开了一种基于暗原色先验的图像去雾方法。该方法对于天空区域与其他场景区别较大的图像,能取得较理想的效果。该方法利用经典聚类算法获取候选天空区域。因此,对于天空区域与其他场景的亮度值区别不大的图像,其去雾效果并不理想。
中国专利申请(申请号201610150509.3)公开了一种基于天空区域分割处理的单幅图像去雾方法。该方法对于高信噪比的雾天图像,能取得较理想的去雾效果。该方法采用Canny边缘算子求取原始图像的边缘图像,并将图像划分为天空和地面两个区域。由于Canny边缘算子对噪声较敏感,对于低信噪比雾天图像,该方法的去雾效果并不理想。
中国专利申请201610143521.1公开了一种雾霾条件下视频图像增强方法。该方法利用相邻图像帧的数据信息求取各帧图像的大气光值和透射率图像,有效地保持了雾霾条件下视频图像的连续性。然而,该方法利用快速导向滤波对透射率图像进一步优化。这会严重破坏透射率的同质性,从而会降低雾霾条件下视频图像的增强效果。
技术实现要素:
本发明的目的是为克服现有方法不能保持透射率的同质性和复原图像边缘信息错误的问题,提供一种基于变分模型的单幅图像去雾方法,采用该方法能够保持透射率的同质性和克服复原图像边缘信息错误的问题。
为实现上述目的,本发明采用下述技术方案:
一种基于变分模型的单幅图像去雾方法,包括以下步骤:
步骤一:获取雾天气条件下的图像(待复原图像)I;
步骤二:利用暗原色先验理论获取初始的透射率图像t0(x)
其中,c是待复原图像I红、绿、蓝三个颜色通道中的一个,即c∈{R,G,B},Ω(x)是以x为中心的局部区域,λ为调节系数,Ac为大气光强的一个颜色分量值,y表示区域Ω(x)内的像素点。
步骤三:根据雾天图像复原模型,在已知透射率图像t0(x)的情况下获取初始的复原图像J0(x):
J0(x)=(I(x)-(1-t0(x))A)/max{t0(x),0.1} (2)
其中A为大气光强,I(x)为待复原图像。
步骤四:根据获取的初始透射率图像t0(x)计算初始反边缘图像M0:
其中,th为预先设定的阈值,由上式可知边缘区域的像素点设为了0,同质区域的像素点设为了1,与传统的梯度检测图像表示相反;因此,在本发明中M称为反边缘图像,为t0(x)的梯度值。
步骤五:基于逆问题求解的思想和变分模型构建用于单幅图像复原的能量函数:
其中,(I(x)-J(x)t(x)+A(1-t(x)))2是根据雾天成像模型获取的数据项,因此,当该项的值最小时,J(x)为精确的无雾图像,t(x)为精确的透射率图像;为平滑项,最小化该项可以起到平滑透射率图像的作用,从而消除复原图像天空区域的失真现象;为边缘保持项,当边缘保持项的值最小时,J(x)的边缘与t(x)的边缘具有一致性,以提高透射率的求解精度;因此,最小化该能量泛函则可实现复原图像J(x)和透射率t(x)的精确求解;I(x)为待复原图像,A为大气光强,λ1和λ2为调节系统,M称为反边缘图像,Ω为待复原图像的定义域。
步骤六:利用分步梯度下降流法最小化能量函数F(t(x),J(x))
步骤五中的能量函数含有两个变量,本文利用分步梯度下降法将其最小化:首先固定精确的无雾图像J(x)最小化能量函数,假设J(x)已知,求解透射率t(x);然后固定t(x)最小化能量函数,假设t(x)已知,求解无雾图像J(x)。
(a)假设J(x)已知,求解透射率t(x)
保持J(x)固定,利用梯度下降流法最小化关于透射率的能量泛函F(t(x),J(x)),则可推导出关于透射率的欧拉-拉格朗日方程。在该方程中引入时间参数w,得到如下的表达式:
(b)假设t(x)已知,求解无雾图像J(x)
保持t(x)固定,利用梯度下降流法最小化关于复原图像的能量泛函F(t(x),J(x)),则可推导出关于复原图像的欧拉-拉格朗日方程。在该方程中引入时间参数w,则无雾图像J(x)可根据下式求解:
利用分步梯度下降流法最小化能量函数F(t(x),J(x))的具体步骤如下:
a)根据tn-1(x)和Jn-1(x)求解式(5)所示偏微分方程,获取tn的值,n为大于等于1的正整数。n等于1时的初始透射率、初始反边缘图像和初始复原像由式(1)、式(3)和式(2)计算。
b)将tn代入式(3)计算Mn
c)根据tn的值和其反边缘图像Mn,求解式(6)所示的偏微分方程,获取Jn(x)的值。
d)重复步骤a)-c),直到满足预先设定的迭代次数或
步骤七:抽取迭代停止时的Jn(x)即为复原图像(无雾图像),tn(x)即为透射率图像。
进一步地,在求解式(5)所示偏微分方程的过程中,确保透射率图像中的每个像素点(坐标为(i,j))都符合这一条件。
本发明主要用于基于视频传感器的驾驶辅助系统,利用雾天成像模型、和暗原色先验理论获取初始透射率图像和初始复原图像;将这些初始数据代入本发明提出的雾天图像复原能量函数,并利用梯度下降流法最小化该能量函数;使能量函数达到最小值的透射率图和复原图像即为所求的结果。
本发明具有如下特点:
(1)本发明基于逆问题求解的思想和变分模型提出一个适用于雾天图像复原的能量函数(如式(4)所示)。该能量由数据项、平滑项和边缘保持项组成。最小化该能量函数则可实现复原图像和透射率图像的精确求解。
(2)在平滑项和边缘保持项的约束下,最小化数据项的过程中可使待求解的透射率在同质区内其值逐步逼近于初始透射率的值,从而保障在同质区域内透射率解的精确性。
(3)在边缘保持项的约束下,最小化平滑项的过程中可以起到逐步对透射率同质区域平滑的作用,从而有效抑制同质区域的噪声和细小的纹理对透射率计算结果的影响。这样不但可以防止复原图像在天空区域的失真,也可以保持透射率的同质性。
(4)根据雾天图像成像模型中所示的复原图像和投射率图像的函数关系,以及两者都是分段常数函数这一特性可知透射率图像和复原图像具有相同的边缘特征。根据式(3)中M的定义可知,当边缘保持项达到最小值时,投射率图像将与复原图像的边缘相匹配。这不但能降低透射率在非同质区域的halo现象,也能提高非同质区域的透射率计算精度。
附图说明:
图1为本发明方法的流程图;
图2为待复原图像;
图3为待复原图像的初始透射率图像;
图4为初始的复原图像;
图5为待复原图像的暗原色通道图像;
图6为初始透射率图像的反边缘图像;
图7为最终的复原图像。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明的基本思路是:根据雾天成像模型和逆问题求解的思路,基于变分理论提出了一个适用于雾天图像复原的能量函数;该能量函数由数据项、平滑项、和边缘保持项组成;利用分步梯度下降流法最小化该能量函数;当该能量函数取得最小值时,抽取透射率图像和复原图像即为最终所求的结果。
以上是本发明的核心思想,下面将结合本发明实施例中的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下获得的所有其他实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
图1所示为本发明的实施步骤:
步骤一:获取雾天气条件下的图像(待复原图像)I,如图2所示
步骤二:利用暗原色先验理论获取初始的透射率图像t0(x)(如图3所示)
其中,c是待复原图像I红、绿、蓝三个颜色通道中的一个,即c∈{R,G,B},Ω(x)是以x为中心的局部区域,λ为调节系数,y表示区域Ω(x)内的像素点;Ac为大气光强的一个颜色分量值,其值的计算方法如下:
1)获取Ac对应颜色通道亮度在前10%像素点的位置。
2)这些像素点在待复原图像I中的平均亮度值即为Ac的值。
步骤三:根据雾天图像复原模型,在已知透射率的情况下获取初始的复原图像J0(x)(如图4所示):
J0(x)=(I(x)-(1-t0(x))A)/max{t0(x),0.1} (2)
其中,I(x)为待复原图像,A为大气光强,其值的计算方法如下:
1)根据暗原色理论,利用最小滤波方法计算I(x)的暗原色通道图像D(x)(如图5所示);
2)获取暗原色通道图像D(x)中亮度在5%的像素点位置;
3)这些像素点在待复原图像I中的平均亮度值即为大气光强A的值。
步骤四:根据获取的初始透射率图像t0(x)计算初始反边缘图像M0(如图6所示):
其中,th为预先设定的阈值,是一个经验值,在本发明中设定的取值范围为th∈[mthσth+mth](mth为透射率图像梯度的均值,σth为透射率图像梯度的均方差),由上式可知边缘区域的像素点设为了0,同质区域的像素点设为了1,与传统的边缘检测图像表示相反。因此,在本发明中M称为反边缘图像。
步骤五:基于逆问题求解的思想和变分模型构建用于单幅图像复原的能量函数:
其中左边的第一项是根据雾天成像模型获取的数据项。因此,当该项的值最小时,J(x)为精确的无雾图像,t(x)为精确的透射率图像;第二项为平滑项,最小化该项可以起到平滑透射率图像的作用,从而消除复原图像天空区域的失真现象;第三项为边缘保持项,当边缘保持项的值最小时,J(x)的边缘与t(x)的边缘具有一致性,以提高透射率的求解精度。因此,最小化该能量泛函则可实现复原图像J(x)和透射率t(x)的精确求解。式中的λ1,λ2为经验性的数值,在本发明中,其取值范围分别设定为[0.30.4]和[0.40.6]
步骤六:利用分步梯度下降流法最小化能量函数F(t(x),J(x))
步骤五中的能量函数含有两个变量,本文利用分步梯度下降法将其最小化:首先固定无雾图像J(x)(假设J(x)已知,求解透射率t(x))最小化能量函数,然后固定t(x)(假设t(x)已知,求解无雾图像J(x))最小化能量函数。
(a)假设J(x)已知,求解透射率t(x)
保持J(x)固定,利用梯度下降流法最小化关于透射率的能量泛函F(t(x),J(x)),则可推导出关于透射率的欧拉-拉格朗日方程。在该方程中引入时间参数w,得到如下的表达式:
对于透射率图像中的坐标为(i,j)的像素点而言,式(5)所示偏微分方程的数值求解表达式如下:
其中,待复原图像和复原图像均为灰度图像。另外对于坐标为(i,j)像素点
根据的结果计算其对应的反边缘图像M。
另外,在求解式(5)所示偏微分方程的过程中,为确保透射率图像中的每个像素点(坐标为(i,j))都符合这一条件,采用如下方法:
1)每次迭代结束后,逐个判断透射率图像中的像素点的灰度值是否在区间
2)对于灰度值小于的像素点,使其的灰度值等于
3)对于灰度值大于1的像素点,使的灰度值等于1。
(b)假设t(x)已知,求解无雾图像J(x)
保持t(x)固定,利用梯度下降流法最小化关于复原图像的能量泛函F(t,J),则可推导出关于复原图像的欧拉-拉格朗日方程。在该方程中引入时间参数w,则无雾图像J(x)可根据下式求解:
对于复原图像中的坐标为(i,j)的像素点而言,式(6)所示偏微分方程的数值求解表达式如下:
其中,对于坐标为(i,j)像素点
利用分步梯度下降流法最小化能量函数F(t(x),J(x))的具体步骤如下:
a)计算Jn-1(x)和待复原图像I(x)的灰度图像,并根据它们灰度图像的值和tn-1(x)求解式(5)所示偏微分方程,获取tn的值,n为大于等于1的正整数。n等于1时的初始透射率、初始反边缘图像和初始复原像分别由式(1)、式(3)和式(2)计算。
b)将tn代入式(3)计算Mn
c)根据tn的值和其反边缘图像Mn,求解式(6)所示的偏微分方程,获取Jn(x)的值。
d)重复步骤a)-c),直到满足预先设定的迭代次数或
步骤七:抽取迭代停止时的Jn(x)即为最终的复原图像(如图7所示)。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。