尽管最近水下图像恢复技术取得了显着成就,但缺乏标记数据已成为进一步发展的主要障碍。这项工作提出了一种基于mean-teacher 的半监督水下图像恢复(Semi-UIR)框架,以将未标记的数据整合到网络训练中。

论文链接:https://arxiv.org/pdf/2303.09101.pdf

源码链接:https://github.com/Huang-ShiRui/Semi-UIR

由于水下场景中光纤折射吸收和散射,在水中拍摄的图像通常会出现严重的色彩失真,低对比度和模糊的现象。有这些缺陷的图像往往在视觉上不那么吸引人并有可能妨碍水下机器人系统良好运行。与主要依赖手工制作先验的传统方法相比,基于深度学习的解决方案由于数据驱动特性,能够提供卓越的恢复效果。

大部分基于深度学习的方法设计用于以监督的方式学习从成对的数据集学习的恢复映射。众所周知,在真实场景获得成对的水下图像是很难的甚至几乎是不可能的。现在的水下图像复原数据集存在几个不容忽视的问题:1. 缺乏真实数据,构建成对数据集一种流行方法事使用一些物理模型或GAN合成。然而真实和合成数据集存在显著差异。另一种方法是通过选择传统方法产生的结果中选择最好的人工构建伪标签。2. 有限的数据集大小。

另一方面,未标记的水下图像相对容易收集。挑战在于如何有效利用这些未标记的数据。半监督学习利用标记和未标记数据进行模型训练,最适合这种情况。这促使提出一种半监督方法,目的是提高模型在真实世界的水下图像上的泛化能力。具体地,本文采用mean teacher算法作为基础。Mean Teacher找到一种获得未标记数据的为标签的方法,并利用一致性损失提高网络的准确性和鲁棒性。具体地,通过指数移动平均(EMA)策略从学生模型中构建一个具有改进性能的教师模型。教师预测作为为标签指导学生模型训练。然而为水下复原任务定制Mean Teacher方法是一种难事。主要原因:1. 没有保证教师模型一定优化学生模型。错误的伪标签可能会危及学生网络的训练。2. 常用的一致性损失基于L1距离。严格的L1损失会容易使模型在错误的预测上过拟合。

为了解决第一个问题,本文构建一个可靠库(bank),将教师的最佳输出作为伪标签。主要问题是如何决定哪个是最佳输出。直观地,可以利用非参考图像质量评估(NR-IQA)来评估每个输出地质量。然而目前水下图像地NR-IQA指标一定程度上与人类视觉感知是不一致的。为了确定本文目的是正确的,比较了几个NR-IQA指标,使用单调性作为可靠性指标。本文地经验分析表明MUSIQ符合这个标准。为了解决第二个问题,一如何对比学习作为额外地正则项缓解过拟合。与传统地只关注输出与GT接近程度地损失函数不同,对比损失函数提供了额外的监督,以防止输出的退化。

水下图像去雾算法代码OpenCV 水下图像复原_过拟合

本文方法

问题定义

水下图像去雾算法代码OpenCV 水下图像复原_数据集_02

 半监督水下修复

水下图像去雾算法代码OpenCV 水下图像复原_过拟合_03

可靠的教师-学生一致

在图像分类和语义分割任务中,模型输出的可靠性通常由交叉熵和置信度测量。然而由于存在新的挑战,对图像复原任务的扩展似乎并不简单。

水下图像去雾算法代码OpenCV 水下图像复原_数据集_04

可靠指标选择

指标选择可以求助于非参考图像质量评价。但不幸地,常用的NCIQE和UIQM不能准确地反映恢复后水下图像的质量。为了找到水下图像的最佳NR-IQA,本文对几个NR-IQA指标进行实证分析。

水下图像去雾算法代码OpenCV 水下图像复原_数据集_05

对比正则化

很多基于Mean Teacher的方法使用L1距离作为一致性损失。这个简单的一致损失能轻易地使学生在错误的预测上过拟合,导致确认误差。为了解决这个问题,本文训练过程中引入一致性损失。对比学习在自监督域中是一种有效的范式。对比学习目标使使模型对于正样本对产生相似的表示,对于负样本对产生不相似的表示。目前已扩展解决图像复原问题。之前的方法主要在成对数据集上构建对比损失,正负样本分别为标签和降至的图像。Towards compact single image super-resolution via contrastive self distillation的对比学习将教师输出作为正样本。然而由于之前讨论过的错误标签问题,使用教师输出作为正样本可能是有害的。

水下图像去雾算法代码OpenCV 水下图像复原_水下图像去雾算法代码OpenCV_06

整体优化目标

水下图像去雾算法代码OpenCV 水下图像复原_水下图像去雾算法代码OpenCV_07

实验

全参考数据集

表1给出了在testS和testR数据集上定量分析结果。在testS上,本文方法在PSNR指标上最高,在SSIM指标上略低于Ucolor。潜在原因是在训练中家人也未标记的真实水下图像可能会强调网络更多地关注于水下场景。该结论可以在testR数据集上证实。本文方法较大幅度高于其他方法(比第二高方法PSNR指标超过1.67dB)。

水下图像去雾算法代码OpenCV 水下图像复原_人工智能_08

一i些图片可视化结果如图6所示: 

水下图像去雾算法代码OpenCV 水下图像复原_过拟合_09

无参考数据集

表2给出了在UIEB、EUVP、RUIE和Seathru数据集上实验结果。观察到本文方法在MUSIQ指标上显著高于其他方法。除此之外,本文方法在UIQM和UCIQE指标上也获得了相当的性能。然而UIQM和UCIQE可能偏向某些特征而不能准确反映恢复图像的真实视觉质量。MUSIQ的性能也只是一个参考。

水下图像去雾算法代码OpenCV 水下图像复原_数据集_10

图7给出了部分图片可视化结果。 

水下图像去雾算法代码OpenCV 水下图像复原_数据集_11