许 哲,张少帅,郭 璐,黄 鹤,王会峰,刘琦妍
(1.中国电子科技集团公司第20 研究所,陕西 西安 710068;2.长安大学 电子与控制工程学院,陕西 西安 710064;3.西安爱生技术集团公司,陕西 西安 710075;4.西北工业大学 无人机系统国家工程研究中心,陕西 西安 710072)
无人机广泛应用于遥感图像处理,能胜任恶劣环境,有效完成航拍采集图像和图传任务。无人机重量轻、时效性强且成本低廉,但通常飞行高度几十或者几百米。该高度易受到雾霾的影响,导致采集的图像不同程度上质量下降。因此,航拍图像模糊亟需研究有效的无人机遥感去雾算法。
雾霾天气下,空气中悬浮微粒会对光线造成散射和折射,使采集的图像模糊不清且含有较多噪声。在分析含雾图像时,应该尽可能地把空气中的成像介质、入射光衰减的作用以及大气光成像过程充分考虑在内,并设置模型,才能对雾天图像的降质原理进分析。
式(1)由入射光衰减和大气光成像模型构,其中,L(x,y)是雾退化图像通过可见光透镜获取,入射光减模型为L0(x,y)e-kd(x,y),其中模型Ls(1-e-kd(x,y))是大气光成像模型。成像中,光的照射受到大气中颗粒的散射,导致透镜无法接收到被散射的入射光,导致其弱化。入射光衰减模型中,光射强度用L0(x,y)表示,即固有光在未衰减时的强度。入射光的衰减率不可避免地受到接收设备到场景点之间的距离长短的影响。其中,景深用d(x,y)表示,k指的是大气散射系数,与波长λ以及大气中粒径γ有,即:
式(1)中Ls表示大气光在成像过程中环境光亮度,分透射率为e-kd(x,y)。在通过分析模型后,可以依此得出致使雾霾天图像模糊和退化降质的最主要的因素在于纯空气中的颗粒(10-4μm 左右)尺寸远小于空气中雾霾颗粒(1~10 μm)的尺寸,即式(2)中相对于波长,决定因素是大气散射粒径系数的大小。此时,可见光的每一种颜色的空气散射系数约等。换句话说,所有可见光均匀分散,雾霾呈现灰白色,雾天获得的图像也是灰色和不明确的。
暗通道是对图像每个像素各颜色空间上取最小值后局部范围内取最小值,得到单波段影像就是原始影像的暗通道1]。
由于对大气雾光散射效应,受散射光的影响,含雾影像的暗通道像素值远远高于无雾的值,且有雾时会呈现一定的灰色,而无雾时会呈现大量的黑色。
雾图形成模型:
其中:I(x)是现有图像(待去雾);J(x)是要恢复的原无雾图像;A是大气光成分;t(x)为大气传输的透射率,表明物体反射光在实际拍摄中不被散射,直接到达镜头。
将式(4)变形,可得:
引导滤波器首先把含雾图像作为引导图获取图像的边缘轮廓信息,粗略估计透射率,使得透射率细节化处理。用公式表示引导滤波之前应先定义局部线性滤波器,像素滤波结果则如下:
式中:I为输入图像;Pj为待滤波图中的像素点;输出的滤波图像用q表示(透射率精确估计);输出滤波图像的像素点表示为qj;像素指数用i、j表示;Wij为滤波核函数,由引导图和待滤波图构成[2]。
假设滤波过程的线性变换在局部范围内发生。在待滤波窗口,k为中心像素,i为待滤波像素,窗口大小为Wk,所以在该局部线性窗口中,滤波结果(输出图像)表示为:
其中,设ak和bk是窗口系数为k的中心像素,求两侧梯度,为:
式(14)表明,输入图像I和输出图像q梯度相关,同时引导滤波的边缘保持能力与此相关。输出和输入图像之间差异最小化取决于ak和bk一组最优解,相当于是计算最小化式(15)的值,即:
式中,ε为调节系数,可以避免系数a过大。由最小二乘法得式(15)最优解为:
其中:μk为在局部窗口wk内I的平均像素值;用σk2表示wk中在引导图像I中的像素方差值,在局部窗口wk内像素的总数用|w|表示。同理,其中即为I中位置相对应的窗口内的均值像素。
含雾图像包含明亮区域时,进行暗原色先验算法图像去雾,去雾效果会不真实,出现不同程度上的色彩失真现象。原因是明亮区域是偏白,而这些像素在R、G、B 通道内的值差别不大,约等于大气光值A,区域中找暗原色点比较困难,原本假设暗原色失去效果[3],即:
其中:一些明亮区域内,J c(y)的值约为A;分母中的是接近于1 的值,但不为0,由此可得在式(18)中分母项小于1。透射率实际上是远大于由暗原色先验估出的,这样求透射率的值会相对于偏小点,因此使用式(19)恢复去雾图像时会易出失真现象:
户外图像去雾中有大范围天空域需最大程度上增强非天空域对比度,同时天空域对比度防止过度的增强,维持相对比例。天空域是相比较来说平滑,相邻像素梯度小,梯度越小区域越光滑,所以需要针对天空域分离求取t(x),算法步骤如下[4]:
(1)对雾气图像灰度图适当地滤波去噪,再依据自适应阈值分割方法得天空域ssky;
(2)计算得出天空域像素占比为α,当α大于5%时取天空域对应的像素亮度的平均值为A,当α小于5%时则天空域较小,利用暗通道求得大气光值;
(3)历经大量的实验验证得到,可先假设天空域透射率为tsky,利用暗通道修改透射率;
(4)改进快速引导滤波算法对透射图精细化处理,能较好地保持去雾的边缘性。
3.3.1 阈值分割求天空域
天空域梯度变化较小,因此可以对天空域边缘检测后分割处理。在插入到Canny 算子两个不同尺度的结构元素B1和B2之前,先对含雾图像灰度处理,处理后的灰度图为F(x),对其平滑去噪。元素B1为3×3 十字形结构元素,B2为5×5 菱形结构。
平滑降噪后的灰度图为式中的F(x)disnoise。B1作为十字形结构元素尺寸小,去噪能力弱,但B1能很好地保存去雾图的边缘细节;菱形结构元素B2有较大尺度,去噪能力强,但在细节处理方面较弱。因此,两个形态学结构元素的合理运用至关重要,二者相配合对灰度图像进行开、闭滤波处理,既能去除噪声,又能更好地保存图像边缘的细节。
依据先验信息,255 是天空域像素趋近值,采用自定义阈值分割方法,分割处理减少时间复杂度。经大量实验证明,最佳时间为T=210,分割后为:
3.3.2 大气光值估计
天空域的像素点由该区域看无限远的特点可得,t(x)→0 的同时I(x)趋于A。因此,可以运用阈值分割方法计算天空域ssky像素与整体图像像素的比,比值记为α。当比例α大于5%时,大气光值A 则取天空域中对应像素亮度的平均值;当α小于5%时,暗原色先验在此时是有效的,可认为图像中的天空域较小或者是不存在的。全局大气光值的可以根据先验信息获得。经实验验证,这样既可去除图像中由于椒盐噪声产成的估计偏差,又可消除大的白色物体的影响,既可获取准确的大气光值,又能使得图像的去雾效果平滑自然。
3.3.3 透射率t(x)求取方法
先验信息对于天空域失效时,可以假定天空域中的常数tsky用透射率t(x)的值替代,同时取tsky值为0.1。先验信息对于非天空域未失效,因此可利用暗原色先验方法求透射率,然后根据像素暗通道所在位置修正归一化处理亮度值s(x)的值[5]:
式中,s(x)∈[0,255]。当s(x)=255 时,为全天空域,以固定值tsky作为该点透射率;当s(x)=0 时,完全属于非天空域,透射率取暗原色透射率值。
3.3.4 改进的快速导向滤波优化透射图
粗投射率根据暗通道使用最小值滤波获得,导致透射图内发生块状效应。采用软抠图方法获得精细透射率图,优化和初始化透射率,但该方法速度过慢,占用70%运行以上时间。快速引导向滤波改进算法对透射图精细优化,时间复杂度不受滤波窗口大小影响,增强边缘细节的同时可加快处理速度。
假设滤波输出qi和引导图是线性关系,即:
式中,引导图Ii中像素k之间,wk作为中心邻域;窗口(ak,bk)的半径为r,邻域wk中为常数。为寻找最优化系数(ak,bk),结合引导滤波和输出图像qi以及待滤波图像pi两者之间差异来确定。邻域wk中代价函数最小化形式如下:
输出图像q与输入图像p的平均方差误差最小,获得输出图像为:
实验来自两组无人机航拍雾霾图像为素材,图5 和图6 为去雾效果,针对暗通道先验图像去雾算法和改进暗通道先验图像去雾算法分别采用PSNR、NC、SSIM 这3 个客观指标进行评价对比,结果如表1 所示,说明改进算法的去雾能力强于传统算法。可以看出,改进算法图像有更好的色彩真实性、清晰度和细节处理,可以优化计算透射率,并增强了边缘细节,同时提升了处理速度。结合表1 衡量因素的比较,改进算法指标值更小,去雾效果明显。
图5 基于暗通道先验图像去雾法结果
图6 改进暗通道先验图像去雾算法结果
表1 不同算法的评价指标值对比
本文提出了一种无人机遥感图像去雾算法,基于改进暗通道图像先验去雾算法,采用采样法和插值法计算透射率,引导滤波优化透射率,增强边缘细节,大幅降低了复杂度,明显提高了图像处理质量。实验结果表明,算法有效提升了效率和精确性,为无人机遥感图像去雾领域提供了很好的实用性。