贾 芃, 李 博, 赵晓龙
(中北大学仪器科学与动态测试教育部重点实验室,太原030051)
数字图像作为记录信息的重要途径之一,在海上交通运输、水下探查以及海洋军事等许多领域都有广泛应用[1]。然而,水下采集到的图像通常由于水下环境对光产生散射的影响,会出现模糊化、颜色衰减等问题,严重影响水下彩色图像的清晰度。因此,如何改善水下图像从而获取有效信息,已成为学者关注的热点。如今,图像增强方式大致分为对像素值处理的增强算法和基于色感一致性的增强算法[2]。其中,对像素值的直接处理,例如直方图均衡化[3]只改善图像的某一方面但易丢失细节信息和色彩失真;基于色感一致性的增强算法是通过减小低频分量与增强高频分量来改善图像的质量[4]。
近年来,Retinex 理论由于易于操作、实现效果良好,已逐渐成为国内外学者的研究热点,该理论提出动物眼睛接收到的画面是由入射光和反射光的共同影响[5]。由于该算法计算量较小且实现效果良好,学者们开始尝试将Retinex算法应用于增强水下图像领域。聂瑛等[3,6]设计了一种新的光学方法来进行图像处理,结合红光和蓝绿光的光传输特性,通过红光和绿光照明图像的灰度线性差值去除噪声,获取图像信息,Song等[6]提出基于遗传算法和人类视觉系统的自适应Retinex 算法[7]。Zhang 等[7]提出将图像转换在CIELAB色彩空间中,对图像的3 个色彩通道分别采用双边滤波器和三边滤波器相结合的方法达到增强图像的目的。宋巍等[8]提出了基于背景光融合及水下暗通道先验和色彩平衡的水下图像增强方法。然而,Retinex理论虽然加大了图像的可见性,但是增强后图像的噪声也随之增加,并且算法仅对图像进行全局增强处理,没有考虑到图像的局部特征,导致增强后的图像对比度较低、图像泛灰[9-10]。
针对以上不足,本文提出了一种基于HSI 色彩空间且结合多通道增强的水下图像增强方法,可以有效避免“光晕”现象和细节模糊化问题,能有效增强水下图像细节并且色彩特征保持良好,进行后续分析处理。
Retinex是由视网膜Retina 和大脑皮层Cortex 两个词组合构成的,该理论认为人眼接收到的物体颜色是由物体表面对不同波长的反射性质,而不是由反射光强度的绝对值来决定的[11]。由于在日常生活中并没有作为标准的参考物,人眼将会把所在场所中光照强度最大的物体定义为参考物,之后通过计算其他物体与该物体的相对色差,计算出其他物体的色彩数据,而从计算过程可以看出,物体本身的颜色不因入射光频率改变而改变。
在Retinex理论中,人眼中物体的成像S(x,y)是由入射光和反射光两部分组成。物体的入射光对应的是图像的低频部分,称之为入射图像L(x,y);而反射光对应的是图像的高频部分,称之为亮度图像或反射图像R(x,y)。其中入射分量L(x,y)对图像产生干扰噪声,应该尽量去除;反射分量R(x,y)体现出图像的本质特征,应尽可能保留。该模型可用下式表示:
通常将式(1)转化为对数运算,这样不仅更符合人眼的色彩感知,同时可以简单化计算过程,式(1)可转化为:
式中,入射光部分L(x,y)可由一个环绕函数和图像f(x,y)的卷积估计出来,最终可表示为
而环绕函数G(x,y)一般取高斯函数,表示为
式中:σx和σy为高斯函数的方差,决定了滤波器的带宽,一般取σx=σy。最终,Retinex模型为
Retinex增强算法虽然能够有效去除薄雾成分,增强图像的清晰程度。但是,由于传统Retinex算法只有单尺度,很难同时兼顾细节强化和颜色还原能力,所以增强后的图像对比度较低,色彩稍有失真[11]。并且由于光照不是均匀变化的,所以在实际生活环境中,在光照变化明显的区域和图像的边缘,会产生“光晕”现象[12]。
实际水下采集到的画面具有光照不均匀、对比度低、背景大多为蓝绿色的特点。为了实现良好的增强效果,在处理时可以分离出图像的噪声,强化物体的轮廓和表面细节,同时要尽可能还原原本色彩。因此,根据图像的特点和对传统Retinex理论,本文提出了一种基于HSI和多通道增强的Retinex水下图像增强方法。
算法的整体流程为:将采集到的水下图像转换至HSI空间[13],提取出色调部分H、饱和度部分S 和亮度部分I;利用小波变换分离出I 的低频和高频成分,选用Retinex增强图像低频分量,高频部分利用多尺度高斯差分进行噪声处理,之后将高频与低频部分进行叠加;对S进行拉伸。最后,利用小波逆变换得到增强后的水下图像。算法流程如图1 所示。
本文算法通过对图像的不同频带进行处理,从而达到减少噪声以及增强图像细节的目的。经过小波分解后,水下图像的特征信息和噪声将分解在不同的子频带上。根据不同频带上图像的特征,采取不同的滤波方法进行处理,最后再使用小波逆变换便能得到增强后的图像。通过本文算法可以使图像从整体上增强,既可以有效减少图像的噪声,还可以有效保持图像细节信息。
图1 算法流程
离散小波变换作为一种多分辨率图像分割[14-15],可以视为图像在一组小波基变换函数的扩展。小波基函数可以突出空域和频域的不同特性。在离散小波基函数上的扩展一般是通过一对低通和高通滤波器(类似子带编码)组成的滤波器组来实现的。由于经常采用分离滤波,因此二维小波变换运算就降为一维变换运算。在实际的图像处理中,主要采用离散小波和离散小波变换:
一维信号可以被可分离滤波器分解到二维,即先按行分割图像s(n1,n2),再按列分割。在每个方向进行二元分解,得到4 个子带,称为低(L)yL(n1,n2)、水平(H)yH(n1,n2)、垂直(V)yV(n1,n2)、对角(D)yD(n1,n2),分别对应于lower-lower,upper-lower,lower-upper,upper-upper子带,选择合适的方法处理各个子带的分量,进而优化图像包含的信息,达到增强图像的目的。如图2 所示,先通过一级小波分解将图像分为LL1、HL1、LH1和HH1,对得到的低频子图LL1进行二级分解,得到集中图像主要信息的低频分量LL2,对其进行Retinex处理;对噪声集中的高频子图进行多通道增强。
图2 通过两级二叉树分解将图像分解到频带
图像在采集和传输过程中不可避免地会对图像造成一些损失,必须对图像进行锐化处理来减少图像的噪声,增强图像边缘细节部分,使其轮廓清晰,从而达到增强图像的目的。
在高频子带中引入一种多尺度细节增强方法,利用多尺度高斯模糊差分增强细节,去除晕轮、伪影等,在高频子带I*中使用高斯核可以获得两种不同的模糊图像
式中:G1和G2分别表示标准差的高斯核,并且G1=1.0,G2=3.0。之后,可以得到具体细节D1和粗略细节D2,定义如下:
然后通过合并2 个图层可以得到全局的细节图像:
式中:k1和k2为可调参数。在高频子图像增加细节D1,可以增大图像边缘的灰度差,过度超调可能导致图像的灰度饱和。为了解决这个问题,在方程(10)中通过还原D1的正分量和放大其负分量来保持正分量和负分量的平均差。最后,在低频图像中添加图像D*,得到一个新的增强图像
通过拉伸饱和度部分使图像细节部分更加清晰,突出需要关注的部分。可以在不同区域采用分段指数增强法进行饱和调整。根据图像的饱和度分布将饱和度分为高(70% ~100%)、中(20% ~70%)和低饱和度区域(0% ~20%)进行指数变换,放大饱和度。通过指数变换适当调整中饱和度面积。饱和度分量S的增强算法公式如下:
式中:S和S′分别为增强前后的饱和度,通过调整α、β来改变转换尺度。实验结果表明,α取值在1.2 ~1.5,β取值在0.6 ~0.9,增强效果最好。在本算法中,α、β分别取1.4 和0.7。最后,将图像拉伸后的饱和分量S、处理后的亮度分量I 和色调分量H 还原为RGB图像。
本文选取两幅不同水下图像进行对比实验。实验硬件平台为Intel i5-5600 CPU,主频3.3 GHz,内存8 GB,软件仿真环境为Win7 操作系统、Matlab2017b。实验中选择直方图均衡法和MSR 算法在Matlab 上对实验图像进行处理,之后分别从主观评价和图像包含信息程度两方面对图像进行分析,①通过对比原图和结果图,对画面中的细节特征和画面的色彩复原程度进行评价;②通过比较图像的均值、标准差和信息熵对图像增强效果进行评价。
由图3 的Pic1 和Pic2 两组图像可以看出,直方图均衡法、Retinex 算法和本文算法均有明显的增强效果。由于水下图像存在亮度差,物体边界模糊的特点,在直方图均衡法,Retinex 算法两种算法的图像中,虽然都具有增强效果,但是在对比度剧烈变换的区域会模糊化,如图Pic1 中鱼的轮廓和图Pic2 中建筑物的边缘,并且增强后的图像亮度低,色彩还原程度较低。比如图Pic1 中色彩恢复效果差,图Pic2 中鱼的身体由于增强方法不恰当造成颜色失真;在图Pic1 中沉船以及周围水体的对比度较低,图像的细节信息丢失。而本文算法处理后的图Pic1 中整体对比度明显提高,鱼的色彩还原性高且没有丢失细节;图Pic2 整体提升效果良好,建筑物和近处的物体层次比较明显,色彩恢复效果良好。
图3 Pic1和Pic2实验结果图
由表1 得到的数据可以说明,利用3 种方法增强后的图像的信息熵均高于原图像,增强算法丰富了图像包含的特征信。本文提出的算法相比于直方图均衡法和Retinex算法,在信息熵方面达到了相近水平,均值与标准差均高于原图。上述结果表明,3 种方法均对水下图像有一定的增强作用,而本文算法在色彩恢复和清晰画面方面均优于其他算法。
表1 算法增强图像参数对比
针对水下图像存在色彩失真、难以分辨、边界模糊化和“光晕”现象的特点,本文基于单尺度Retinex,提出了一种基于HSI和小波变换的改进水下图像增强算法。通过对转换到HSI色彩空间的水下图像进行小波分解,对分离得到的亮度分量分别进行去噪、增强处理。最后,利用逆变换还原为RGB 图像,得到处理后的水下图像。将本文算法与其他两种算法进行对照实验。结果表明,在不改变色彩饱和度的前提下,本文算法可以有效强化图像中包含的信息,对一般的水下彩色图像均具有较好的增强效果。下一步将试验在一些相对恶劣的环境如水底昏暗光照下或物体与水下色彩差距较小,利用本算法对目标图像进行增强处理,同时对本文算法进行优化改进。