论文部分内容阅读
深度学习在计算机视觉上的成功应用,使得现在很多方法将深度学习应用在恶劣天气复原任务上,比如说去雨,去雾,去雪,去沙尘等任务。然而目前几乎所有的算法都只能对某一种特定的天气进行复原,而无法使用统一算法来针对多种恶劣天气进行复原。这导致了在实际恶劣天气复原算法的部署过程中,都只能先使用一个前端算法来判别天气的类型,再选择某一种特定的后端算法对该天气进行复原。这类部署的主要问题有两个:第一,因为对每种天气都必须部署一个特定算法,所以所需要的参数量比较大;第二,恶劣天气复原的效果会很大程度上依赖于前端算法对于天气判别的质量,然而在实际实现当中,本文发现天气判别的质量并不理想,也就是说这个前端算法的质量问题会很大影响最终恶劣天气复原的结果。针对目前学术与工业界,还没有通用的恶劣天气复原方法。本文旨在设计一种基于深度学习的,对于多种恶劣天气都适用的算法。这样不仅能够减少部署的参数量,也能够减少前端算法恶劣天气辨别的错误所导致的图像复原效果不佳的问题。首先,针对目前沙尘天气与雪天标注数据不足的问题,本文利用聚类的方法证明了沙尘天气与雾天,雪天与雨天的特征相似性,为通过神经网络的泛化性构建统一的恶劣天气图像复原算法的合理性作出了实验上的证明。具体地说,目前构建统一的恶劣天气图像复原算法,最大的问题在于没有足够数量的恶劣天气的标注图像。尽管对于雾霾天气,有大量公开的数据集,对于雨天,有一定数量的数据,但是对于雪天与沙尘天气,几乎不存在有标注的数据。因此,本文通过对于恶劣天气进行了聚类,发现沙尘天气与雾天、雨天与雪天具有十分相似的特征,可以归为一类天气做处理,从而减轻了对于所需要标注数据的数量需求。我们只需要对雾天与雨天数据进行拟合,就可以期待网络对于其他天气也有很好的泛化性。其次,本文构建了基于隐码解码的神经网络,相对于经典的神经网络,提高了神经网络的泛化能力。在使用神经网络拟合任务时,本文首先尝试使用了多种端到端的网络对于雾天和雨天数据进行了拟合,包括FCN,Res-Net,GAN。虽然这些网络具有一定的泛化能力,但是对于沙尘天气以及雪天的泛化能力还是没有传统方法效果来得好。本文受到传统图像处理去噪算法的启发,将传统图像处理算法较好的泛化能力与神经网络强劲的拟合能力相结合,提出了基于隐码解码的神经网络结构。在隐码解码结构中,仿照传统图像处理滤波的方式,用神经网络学习得到滤波核,并且使用神经网络编码器将图像编码为高维特征,在此特征空间上进行滤波;然后,将滤波完成的特征使用一个神经网络解码器将此特征解码为一张复原图像。除此之外,神经网络还会使用预训练过的VGG网络分类器作为图像的额外监督,以便在没有真实标签的场合对于网络进行约束。最后,通过实验证明了这种基于隐码解码的方法相比于直接使用端到端的神经网络,泛化性能有了明显的提高。接着,为了进一步提高神经网络的泛化能力以达到设计恶劣天气退化图像通用复原算法的目标,本文提出了基于教师学生网络的半监督训练方式。这种训练方式只需要使用少量的目标天气图像对,就可以对于特定天气的图像进行训练。本文构建了一个教师网络来压缩目标图像,得到高维图像特征,使得此特征能够在训练过程中提高学生网络的复原水平。教师网络使用学生向老师学习一次之后的性能作为反馈,以此为优化目标来对教师网络进行更新。之后,学生网络不仅能够在有标签的特定天气图像对上进行更新,也可以通过无标签的特定天气图像进行更新,实现了半监督的学习。最后,通过实验验证了本文提出的学习方法使得网络在指定天气上仅使用少量数据集,就可以有较大的性能提升。最后,将提出的基于隐码解码的网络与基于教师学生网络的半监督方法相结合,与其他目前最好的单个天气复原网络进行了实验对比。实验结果表明,本文提出的算法在保持相对有竞争力的复原效果的同时,具有能够对多种不同恶劣天气导致的退化图像进行复原优点。