无所不能的 MATLAB | 利用计算机视觉算法去除水下图像中的水

MathWorks MATLAB

水下摄影很难准确无误。特殊的滤光器、人造光和顶级水下照相机都有帮助,但相机和照片中的物体之间仍然存在大量的水。我们已经习惯了水下摄影的蓝绿色

处理前:以色列红海的珊瑚礁。图片来源:海法大学海洋成像实验室 Matan Yuval
如果没有水,海洋会是什么样子?珊瑚礁的真正颜色是什么?借助一种称为 Sea-thru 的新型计算机视觉算法,我们可以看到如果水下场景是通过空气而不是水拍摄的,它会是什么样子。

处理后:经 Sea-thru 算法处理后的同一图片。图片来源:海法大学海洋成像实验室 Matan Yuval
Sea-thru 消除了光在水中传播时产生的视觉失真,从而生成色彩精确的图像。Sea-thru 由 Derya Akkaynak 博士(工程师和海洋学家)和 Tali Treibitz 博士(电气工程师)开发。结果不仅令人叹服,从物理上看还是精确的校正。
据《科学美国人》杂志的报道,“Sea-thru 的图像分析考虑了大气中光吸收和散射的物理因素,而海洋中与光相互作用的粒子要大得多。该算法可以有效地对水中图像的失真进行逐像素逆转,恢复丢失的颜色。

图片来源:佛罗里达理工大学全球生态研究所 Tom Shlesinger
Sea-thru 由 Akkaynak 在海法大学海洋成像实验室(由 Tali Treibitz 博士负责)担任博士后期间开发。SeaErra Ltd. 拥有使用许可。
水下照片呈现蓝绿色是由光线在深水中的传播方式决定的,与其他波长相比,蓝色和紫色波长被吸收的最少。光通过的水越多,到达物体的红色、黄色和橙色波长就越少。在沿海水域,蓝光和绿光被吸收得更快,留下的红光更多,形成了占主导地位的棕色色调。
另一个问题是水中的小颗粒会产生反向散射或雾化。摄影师离照片中的物体越远,物体就变得越模煳,如同透过薄雾看物体一样。
Sea-thru 的工作原理
Sea-thru 使用自然光拍摄原始图像或视频,无需昂贵且难以安装的人工水下照明设备。它还有助于重建离光源较远对象的图像,而水下闪光灯无法到达那里。
计算机视觉算法是为水下 RGB-D 图像设计的一种基于物理的颜色重建算法,其中 D 表示摄像机到物体的距离。Sea-thru 算法需要提供场景中每个像素与相机之间的距离,因为几乎所有控制颜色和对比度损失的参数都以某种非线性的方式依赖于距离。
在 Akkaynak 的研究中,她通过捕捉同一场景的多个图像创建了一个距离(范围)图。她用一台相机从略微不同的角度捕捉图像,获取一序列有交叠的图像。图像中包含放在感兴趣对象旁边的色表。然后,Sea-thru 使用名为 Agisoft Metashape Professional 的商业摄影测量软件,从这些图像构建每个场景的 3D 重建,并在 3D 重建完成后导出距离图。

后向散射估计中使用的最暗像素显示为红色。完整的研究海报参见此处。图片来源:Akkaynak 等人。
范围图是 grayscale.tiff 文件,它随后会读入到 MATLAB 并与原始图像结合。图像按照这个指南进行处理。科研人员会利用 MATLAB,通过搜索图像中的极暗像素或阴影像素来估计后向散射。在上图中,用于反向散射估计的最暗像素显示为红色。用 MATLAB 减去了图像中的后向散射。
在下一步中,Sea-thru 仅使用像素和深度图 D 计算颜色衰减的相关参数,并将其反转以显示原始颜色。然后,利用 MATLAB 计算各波长光的衰减。借助这些信息,Sea-thru 会反转图像以显示真实的颜色。
Sea-thru 不仅可以用于静态图像,还可以用于视频。
精确的图像可为研究人员提供帮助
气候研究人员和海洋学家研究珊瑚礁等水下生态系统,以便更好地了解它们的现状以及这些系统如何随时间变化。这些研究通常依靠成像和数据技术来记录和了解气候变化对珊瑚和其他海洋系统的影响。Sea-thru 可以通过提供图像数据的真实颜色表示为这些工作提供帮助。例如,准确的图像颜色将使机器学习工具更轻松地准确识别图像中的物种
该算法不同于 Photoshop 等应用,后者让用户通过均匀提升红色或黄色来人为增强水下图像。
加州科学院的珊瑚生物学家 Pim Bongaerts 在接受《科学美国人》采访时表示:“我喜欢这种方法,因为它确实能获得真实的颜色。获得真实的颜色可以帮助我们从当前的数据集中获得更多有价值的东西
加州大学圣迭戈分校“百岛挑战”(100 Island Challenge)项目的研究人员 Nicole Pedersen 表示:“在水下工作会面临很多挑战,这使得我们的研究水平远远落后于水上和陆地的研究人员。”在这个项目中,科学家们通过每 100 平方米拍摄 7000 张图片构建珊瑚礁的三维模型。
Pedersen 对《科学美国人》杂志说:“由于缺乏处理这些图像的计算机工具,进展一直受到阻碍。Sea-thru 代表朝着正确方向迈出的一步。

    ◆  

点击“阅读原文”了解 MATLAB 在图像处理和计算机视觉方面的应用,探索示例,并获取软件试用

文章推荐