如今,许多基于摄像头的高级驾驶员辅助系统( ADAS )已经被引入来帮助驾驶员,并确保他们在各种驾驶条件下的安全。驾驶员面临的一个问题是雾天驾驶时场景能见度下降,对比度降低。在本文,我们提出了一种新的方法,通过使用深度神经网络来解决这个问题。假设图像中的雾可以通过未知的复杂函数进行数学建模,并且利用深度神经网络来近似这个数学模型。我们技术的优点如下:(1)它是实时操作的;(2)基于最小输入,即单个图像,并且对各种看不见的图像数据表现出鲁棒性/泛化。在各种合成图像上进行的实验表明,我们提出的技术能够合理地逼近相应的雾函数,并去除它,以获得更好的可视性和安全性。
雾天能见度下降,亮度不足,对司机的安全造成严重威胁。这些情况增加了车辆碰撞的危险,是大雾笼罩的道路上伤亡的主要原因。雾滴悬浮在雾中会导致光线的阻挡和散射。这导致到达驾驶员眼睛的光线减少,对比度降低,因此能见度降低(图1)。增强恶劣天气中的能见度是研究人员非常感兴趣的领域。已经进行了各种研究来观察和模拟各种天气条件对视觉系统的影响。[ 1 - 4 ]的作者展示了这样的天气模型。他们分析各种天气条件如何影响场景。这些研究试图在这些天气模型的帮助下恢复因恶劣天气条件而退化的图像中场景的各种属性。一些研究,例如[ 5 - 6 ],建议使用偏振滤光器从图像中去除薄雾的影响。为了实现[ 5 - 6 ]中描述的技术,需要两个或更多独立的图像来符合空气光在其中产生一些可测量的部分偏振的条件。[ 7 ]提出了天气消除算法利用了单一图像和用户提供的一些补充信息。[ 8 ]提出了基于照片的地理注册的深度照片系统。这种地理注册允许访问大量地理信息系统( GIS )数据,例如城市、建筑物、地形和结构的3D模型;纹理模型;和深度图。这项研究的作者建议用简单照片来增加这些信息,以实现各种操作,如去雾、重新照明、视图合成和扩大视野。[ 9–12 ]中提出了完全依赖单一图像的去雾/去雾解决方案。[ 9 ]中的单个图像可见性增强方法基于对有或没有天气影响的图像的某些观察来开发优化的代价函数。该代价函数试图估计应用于场景以增强可视性的空气光的直接衰减。在[ 10 ]中,提出用于单个图像去雾的暗通道先验法( DCP )。这个方法根据对户外无雾图像的一些统计观察,与有雾图像模型相结合以恢复无霾图像。[ 11 ]的作者提出了另一种基于[ 10 ]的单一图像去雾方法。他们通过引入单个中值滤波操作来改进DCP方法,从而改善去雾性能。他们还研究去雾对图像和视频编码的影响。在[ 12 ]通过考虑表面阴影的场景传输模型来定义图像,提出了从单一图像中恢复有雾的场景。在[ 13 ]中介绍了基于视觉的车辆检测方法的智能驾驶员辅助系统概述。最后,在[ 14,15 ]中,作者提出了考虑雾效应的增强可见性算法,特别适用于道路图像。
在本文中,我们提出了一种新的方法来提高雾天场景的可见性。我们的目标是通过使用深层神经网络[ 16 ]生成场景中雾成分的近似模型来增强能见度。然后,这个广义模型被用于恢复图像中的场景质量。我们提出的方法实时执行图像场景的恢复,并且不需要任何附加信息。该方法对大量雾天看不见的图像具有良好的鲁棒性。
人工神经网络[ 17–19 ]是计算机模拟生物神经系统工作的复杂的数学系统。这些网络由大量简单的被称为人工神经元的计算单元组成。网络中人工神经元的数量可以从几百个到几千个不等。一个神经网络是通过在不同的拓扑中连接成百上千个人工神经元而形成的。图2中示出了一个这样的互连网络。正是通过简单计算元素的这种互连,实现了神经网络的高计算复杂度。目前正在研究人工神经网络来解决各种问题,例如函数逼近、回归分析、时间序列预测、分类、模式识别、优化、决策、数据处理、过滤以及聚类和分类等。极高的CPU处理能力的优势使得为神经网络实现更深层的结构[ 16,20 ]成为可能,因此可以实现更复杂的数学模型。深层神经网络在输入层和输出层之间有许多隐藏的神经元层。
我们提出了一种深度神经网络,它接受有雾图像作为输入,模拟场景中相应的雾状成分,并产生去雾图像作为输出。图2显示了用于图像去雾的深层神经网络的结构。网络由一个输入层、一个输出层和夹在两者之间的若干个隐藏层组成。深层神经网络的多个隐藏层有利于实现相应雾函数的更有效表示。学习问题包括寻找权重的最佳组合,以便网络函数 ?尽可能接近给定函数?。网络通过一些隐含的例子来学习这个给定的函数?。在本文中,深度神经网络通过在几幅雾天图像及其对应的原始图像(输入-输出对)上训练来解决能见度增强问题。为了学习广义雾函数并产生相应的去雾图像,雾图像被分成大小为 ? × ?像素的不重叠块。每个块被归一化到优化DNN的学习和结果的范围。为一维向量输入定制DNN;因此,通过光栅化将二维块转换成一维向量? 。这些向量? 作为网络的输入模式呈现。随机初始化DNN的thight,输入模式通过DNN的多个隐藏层向前传播,以生成传播输出激活。我们的DNN中使用的激活函数是双曲正切传递函数,由下式给出:
正切双曲函数产生-1到+ 1闭合范围内的缩放输出。这个函数具有sigmoid函数的许多特性,但是因为这个正切函数的输出空间更宽,所以更抽象地建模复杂的非线性关系可能会更有效。该输入模型?产生不同于目标输出(原始图像)的输出。网络的误差函数是网络所有隐藏节点造成的误差的组合,给出如下:
最小化误差函数的权重组合被认为是学习的解决方案。在本文中,这一最佳权重集是通过反向传播算法实现的。反向传播是一种迭代梯度下降算法,在该算法中,输出误差信号从输出层立即向后传输到隐藏层中对输出层有贡献的每个节点。这种反向传播逐层继续,直到网络中的每个节点都接收到一个误差信号,该信号描述了它对整体误差的相对贡献。一旦确定了每个节点的误差信号,这些误差就被节点用来更新网络权重的值。误差的这种反向传播和权重的更新一直持续到误差函数值变得足够小。网络训练停止,新的输入模式呈现给网络。训练有素的网络可以近似和消除这些输入模式中的雾,以获得更好的可视性。可见性增强DNN的流程图如图3所示。
对从FRIDA数据库[ 14 ]获得的图像进行了实验。FRIDA数据库包括有雾和无雾的合成图像集。此次实验对灰度图像进行了评价。每个图像的大小为640×480。图像数据集分为训练集图像和测试集图像。用于去雾的深度神经网络的学习由训练集进行。训练了基于不同数量的隐藏节点( 16到128 )的多个隐藏层( 5到8 )架构。基于均方误差( MSE )检验网络的收敛性。一旦网络学习了广义雾函数,结果就应用于测试图像。出于评估目的,我们在图4 - 10中显示了结果。在这些图中,感兴趣的区域用矩形封闭。可以通过分析这些区域来评估提议的解决方案。图4 ( a )显示了无雾图像中的原始场景,而图4 ( b )显示了受雾影响的场景。可以清楚地看到,图4 ( b )中的背景已经褪色,并且大部分是不可见的。图4 ( a )中矩形包围的树在图4 ( b )中几乎看不见。在图4 ( a )中可见的建筑(正面)的大部分在图4 ( b )中完全不可见。另外,在图4 ( b )中,封闭在图4 ( a )的矩形中的建筑的其他部分是不可见的。图4 ( c )显示了用我们的深度神经网络恢复的场景。雾天版本中不可见的建筑在去雾版本中被修复。树是可见的,图中矩形包围的其他区域有一部分被网络恢复。
图5 ( a )和5 ( b )分别显示了原始场景和有雾场景。在图5 ( a )的原始场景中建筑的前部是清晰可见的,但在有雾的场景中褪色,而它后面的建筑在图5 ( b )的场景中不可见。有雾图像中,较小的棕榈树也是看不见的。有雾图像中左侧的房子和树木几乎看不见,交通标志和一些小型建筑也消失了。在图5 ( c )中,深度神经网络去除了雾。在复原图像中,褪色的正面建筑可以看见了。在我们复原的场景中,可以清晰地看到以前看不到前面建筑后面的建筑,较小的棕榈树是可见的,图像左侧的房子和树也成功复原。由于大雾而看不见的交通标志和小型建筑在某种程度上也在去雾图像中得以恢复。
图6 ( a )显示了原始场景,而图6 ( b )显示了由于雾导致能见度下降的图像。图6 ( b )中几乎看不到图6 ( a )左侧矩形中的树木。原始图像中矩形包围的汽车在降级图像中是不可见的。此外,图6 ( a )中矩形封闭的结构/建筑物在降级版本中是不可见的。图6 ( c )中展示了具有增强可视性的相同场景。可以看到,雾天图像中几乎看不见的树木已经被恢复。以前看不见的汽车可以在复原的图像中被发现。我们的DNN还成功地恢复了雾天图像中缺失的结构/建筑物。
图7 ( a )显示了没有雾的原始场景图像,图7 ( b )显示出由于雾导致能见度降低的场景图像。从图像的左侧开始,原始图像中可见的树在退化图像中几乎不可见。在退化的图像中,房子及其附近的树是不可见的。退化图像中也缺少棕榈树。在有雾图像中中,柱子、树和右边建筑的后方景象严重退化到不可见。图7 ( c )显示由DNN恢复的场景图像。从左手边开始,在增强版中恢复了几乎看不见的树。在恢复图像中,房子和邻近的树也被恢复,虽然细节缺失,但是结构是可见的。先前不可见的棕榈树出现在复原的场景中。柱子、树和建筑物的后部景象也被修复,并且在再现的图像中清晰可见。
图8 ( a )、8 ( b )和8 ( c )显示了原始图像、受雾天影响的图像以及我们的DNN恢复的图像。与图8 ( a )相比,在图8 ( b )中,包围在矩形框中的背景,即建筑物、房屋、树木、植被和汽车几乎看不见或看不
见,而在图8 ( c )中,我们的DNN成功地恢复了上述区域。
图9 ( a )和9 ( b )分别表示原始图像及其有雾版本。图9 ( a )左侧车道尽头的房子在图9 ( b )中几乎看不见。电线杆和交通信号也是看不见的。由于大雾,右边的建筑物已经褪色,后面的树木也看不见了。现场的汽车几乎看不见。在我们恢复的图像中,即图9 ( c ),场景的可见性增强了。车道尽头的房子现在相当明显。电线杆和交通信号从有雾版本中恢复过来。右侧建筑的可见性有所提高,其背后的树木现在可见。复原图像中的汽车比有雾版本更容易被发现。
图10 ( a )表示没有雾的原始场景。图10 ( b )表示因雾而退化的图像场景。右边的建筑由于大雾而褪色,几乎看不见。右边大楼后面的树是看不见的。有雾图像中看不到交通标志,有雾图像左侧也缺少一大片建筑物和棕榈树。在图10 ( c )中,即由DNN再现的场景中,图像右侧几乎不可见的建筑基本上是可见的。后面的树也恢复了。交通标志在再现的图像中也是可见的。我们的DNN也成功地修复了建筑物的后部和左侧的树。
本文提出了一种借助深度神经网络恢复雾天图像可见性的新方法。这个想法是用深度神经网络对场景恢复的雾函数建模的初步尝试。该方法简单地通过单个图像输入恢复场景结构,实时操作,并且具有良好的泛化能力。恢复的图像显示了良好的恢复性。在一些图像中,所提出的技术在再现场景中某些物体的精确细节方面显示出局限性,但是,它们是相当可识别的。这种方法可以定制成用于为驾驶辅助系统、智能车辆系统、室外监控系统等设计的应用中。在未来的工作中,我们将使用这个想法来开发基于深度神经网络的更先进的天气消除视觉系统框架。
作者宣称,发表这篇论文没有利益冲突。
这项研究得到了大韩民国科学、信通技术和未来规划部的支持,在信息通信和广播技术发展项目下,由信息和通信技术促进研究所监督( IITP 2015 - B0101 - 15 - 1377 )。