论文部分内容阅读
图像去雾应用在雾霾严重的当今有着广泛的应用前景,目前暗通道优先去雾算法可以得到较好的去雾结果,但是花费时间较长、图像在天空部分存在纹理、天空与景物的衔接处不自然、处理结果较暗限制了其进一步应用。随着深度学习的发展,将深度学习算法与去雾需求相结合,利用卷积神经网络(Convolutional Neural Network,CNN)处理雾霾图像,得到效果好、应用广泛、处理时间可接受的结果成为趋势。本文对暗通道优先去雾算法进行优化,提出了一种基于卷积神经网络的去雾算法。同时,本文利用并行卷积神经网络算法训练时间短、可从原始输入学习高阶不变特征的特性,采用开放运算语言(Open Computing Language,OpenCL)设计并优化并行卷积神经网络;同时解决现有卷积神经网络并行化时硬盘利用率低、成本过高、硬件实现难度大以及跨平台性不强的问题,达到了对图像进行去雾处理,并缩短处理时间的目的。首先,本文对卷积神经网络的概念、实现原理、关键技术进行了探讨,以典型的LeNet5网络为例,探讨了网络每层的功能和实现方式。然后本文对典型的去雾算法进行了分析,主要是暗通道优先去雾算法,并在此基础上提出了四点改进:(1)采用基于“白区”的大气光值的计算,使算法在处理有小部分浓雾图像时也可得到良好的效果,同时还能减少计算时间。(2)使用不同的图像恢复公式,只需要计算大气光值,不需要计算透射率来减少计算时间。(3)用基于天空分割的算法来减少天空部分的纹理。(4)用基于最小可视模型(Just Noticeable Difference,JND)理论的图像颜色修正使图像更加明亮。第二,本文提出了一种基于暗通道优先去雾算法原理的加雾霾算法,并生成了以雾霾浓度作为标号的有雾图像数据集合,用于去雾卷积神经网络训练测试。第三,本文实现了基于卷积神经网络的去雾算法。该算法首先利用训练好的网络将有雾图像按照雾霾浓度分类,然后找出待处理图像的天空部分,使用限制对比度自适应直方图均衡化(Contrast Limited Adaptive Histogram Equalization,CLAHE)算法处理,接着对非天空部分调用该类对应参数,利用改进后的暗通道优先去雾算法进行计算,最后针对整幅图像进行JND亮度调整。最终的处理效果优于暗通道优先去雾算法。第四,本文设计并实现了基于VS2015的串行卷积神经网络以及利用OpenCL实现的并行卷积神经网络,并提出两种并行优化方案,来加速卷积神经网络的训练。经过实际测试,时间的主要开销在卷积计算部分,因此本文设计了基于批量数据并行化的卷积内核,并用共享虚拟内存(Share Virtual Memory,SVM)技术加速网络训练,最终用时只相当于串行方式训练的卷积神经网络的3.4%。论文实现了对暗通道优先去雾算法优化,实现了用于去雾的卷积神经网络,并用OpenCL对其训练加速。论文对去雾算法以及卷积神经网络的并行化加速具有一定参考意义。