卷积神经网络去雾去雨方法
标题:A Convolutional Network for Joint Deraining and Dehazing from A Single Image for Autonomous Driving in Rain
作者:Hao Sun, Marcelo H. Ang Jr. and Daniela Rus
来源:IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS),2019
一.传统图像处理算法
目前已知的方案有两种。第一种是基于图像增强的方法,这类方法是对被降质的图像进行增强,改善图像的质量。这种方法优势在于可以应用已有的成熟图像处理算法,可以对常用的图像算法进行针对性的运用和改良,增强图像的对比度,突出图像中景物的特征和有价值的信息。但是,这种方法可能会造成图像部分信息的损失,使图像失真。第二类是基于物理模型的方法,这种方法通过研究大气悬浮颗粒对光的散射作用,建立大气散射模型,了解图像退化的物理机理,并反演复原出未降质前的图像。这是一类专门针对雾天图像的图像复原的方法,复原出来的图像效果真实,贴近降质前景物原景,对复杂场景的图像处理效果较好,图像信息得到较完整的保存。
雾图模型
I(x) ——待去雾的图像
J(x)——无雾图像
A——全球大气光成分
t——折射率(大气传递系数)
暗通道先验
在无雾图像中,每一个局部区域都很有可能会有阴影,或者是纯颜色的东西,又或者是黑色的东西。因此,每一个局部区域都很有可能有至少一个颜色通道会有很低的值。把这个统计规律叫做Dark Channel Prior。
暗通道定义
表示彩色图像的每个通道
Ω(x)表示以像素X为中心的一个窗口
意义:首先求出每个像素RGB分量中的最小值,存入一副和原始图像大小相同的灰度图中,然后再对这幅灰度图进行最小值滤波
计算折射率
右边第二项其实就是有雾图像的暗通道。
由于空间透视现象/浓淡远近,部分雾的存在有助于我们感知距离和深度,加权值修正:
估计大气光
1)选取暗通道图像暗通道最亮的0.1%的像素(一般来说,这些像素表示雾浓度最大的地方)
2)取输入图像里面这些像素对应的像素里面最亮的作为大气光
注:选中的像素未必是全图最亮的,而且要比选取全图最亮的方式鲁棒性更好。
去雾
大致就是这个流程:
1)求图像暗通道
2)利用暗通道计算出折射率
3)利用暗通道估计大气光
4)代回雾图公式去雾
二.深度学习卷积神经网络算法
在该文中,作者关注利用单一街景图像,对雨中的自动驾驶车辆进行去雨的任务。作者开发了一个以雨天图像为输入的卷积神经网络,并且可以从雨痕及雨痕积累造成的大气遮挡效应(霾、雾、霭)中,直接恢复干净的图像。该文提出了一个包含不同雨强、方向和模糊程度的合成街景图像数据集,用于训练和评估。作者根据合成数据集对该文方法进行了定性和定量的评价。实验表明,该文模型优于现有方法的模型。同时还在真实数据上定性地测试了该文的方法。该模型速度较快,对于1024_512的图像只需要0.05s的时间,还可以与现有的基于图像用于雨中自动驾驶的高级感知算法无缝集成。实验结果表明,该方法可以很大程度上提升雨中自动驾驶的语义分割和目标检测性能。
图1 该文的去雨去雾方法的效果对比,左图为原始图像,右图为处理后图像
图2 该文方法的神经网络架构图,左侧为K1分支,右侧为K2分支。
图3 合成数据集上不同方法的性能对比,从左到右依次为:雨天输入图像,Fu等人的方法,RESCAN,AOD-Net,该文方法,干净的真实图像。
图4 该文方法在真实世界图像上的表现
图5 语义分割表现,从左到右依次为:雨天输入图像,对雨天图像进行PSPNet网络语义分割,对该文方法处理后图像进行PSPNet网络语义分割,对真实图像进行PSPNet网络语义分割。
图6 目标检测表现,从左到右依次为:雨天输入图像,对雨天图像进行YOLOv3网络目标检测,对该文方法处理后图像进行YOLOv3网络目标检测,对真实图像进行YOLOv3网络目标检测。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:卷积神经网络去雾去雨方法 - Python技术站