李骏明,王海瑞,朱贵富
(1.昆明理工大学信息工程与自动化学院,云南 昆明 650000;2.昆明理工大学信息化建设管理中心 云南 昆明 650000)
近年来各式各样的无人潜水器例如我国的“蛟龙”号、俄罗斯的“和平”号、美国的“阿尔文”号等都被广泛应用于水下探索活动,[1]但由于水中的图像会由于波长不同的光在水中衰减系数不同而导致颜色失真,[2]波长越短的光在水中传播距离越长,因此水下图像总是偏向蓝绿色调。
同时水中的悬浮颗粒对光存在吸收与散射作用。水对光的散射可分为前向散射与后向散射,前向散射使得图像信息缺失,细节丢失;后向散射使得图像对比度降低。不同波长的光在水中传播距离的不同造成的颜色失真和前后向散射引起的图像对比度下降,使得水下图像需要进行图像增强。
Retinex 理论由 Land 等人[2]首先提出,中文名是视网膜大脑皮层学说。该理论主张人眼看到的图像是入射光分量与反射光分量的乘积即照射分量图像和反射分量图像。[2]
而Retinex 算法的框架图由图1所示,即首先使用对数得到照射分量和反射分量相加,接着对照射分量做出预测,然后用原图像减去照射分量得到反射分量,最后对结果图像取反对数得到增强后的图像。[3]
图1 Retinex 算法框架图
其中带色彩恢复的多尺度Retinex(MSRCR)能够同时提供动态范围压缩和颜色高保真,MSRCR 算法加入了色彩恢复因子,可以对Retinex 输出进行修正,校正图像颜色,解决了色彩不平衡问题。[4]
MSRCP 算法解决了MSRCR 算法在图像饱和度高的区域由于算法缺陷导致的颜色反转问题,可以更好地保护图像的原有色彩。[5]
自适应尺度参数的MSR 算法(AUTOMSRCR),可以自动选择合适的尺度参数,使处理后的图片在维持图像颜色的同时有较高的图像对比度。
本实验采用的是Windows 10 操作系统,程序编写语言为Python,使用的是Python3.8 作为代码解释器,实验所用水下图像均为8 位图像,灰度值最大值为255。
图2 (a)列为原图(b)列为经MSRCR 处理后的图
为了对比处理后的图像与之前图像的客观对比,以及便于量化分析不同图像增强算法之间的优劣,本文选取以下三种客观评价指标,对处理后的图像进行计算。[6]
本文采用峰值信噪比(PSNR),平均梯度与信息熵共3 个指标,其中峰值信噪比指达到功率峰值的信号与噪音功率的比值,是一个非常重要的指标,它通常被用来比较经增强算法处理后的图像在原图基础上提高了多少。平均梯度对于图像微小细节差异需要用平均梯度来衡量,即梯度值越大则图像的细节越清晰。信息熵一般用来表示图像信息量,其值越大则图像信息量越大。
表1 图片的指标计算结果
PSNR 值越大,失真越小,PSNR 是评价图像质量最常用、应用最广泛的客观指标。平均梯度用来表征图像的清晰度,计算值越大,融合图像越清晰。信息熵是反映图像中平均信息量的特征的统计形式。信息熵越大,图像越丰富多彩,图像轮廓越清晰,人眼看到的图像越清晰。
从表格中可知以下结论:MSRCR 在峰值信噪比上的表现较好,滤除了大量的噪声,信噪比较高;AUTOMSRCR 算法的平均梯度最高,可以提供最清晰的图像,在提高图像清晰度方面表现最好;在图片蕴含的信息量方面,MSRCR 算法的信息量最少,而MSRCP 算法的图片信息量较高。
本文主要研究了几种经典的和改进的Retinex 图像增强算法。在分析了基于Retinex 理论的MSRCR、MSRCP 和AUTOMSRCR 算法的基础上,利用客观质量评价指标的峰值信噪比来评价这些算法的增强效果,对平均梯度和信息熵进行了比较和分析。最后得到,AUTOMSRCR 算法各方面都比较好,没有明显的短板,成像结果也符合人眼的主观感受。在水下图像增强工作中,应优先考虑。