1.一种基于深度学习的无监督去雨方法,其特征在于:包括以下步骤:
步骤一、数据预处理;
对降雨数据集的图像使用上采样方法增强数据,扩充降雨数据集;
步骤二、获取具有最少重叠雨线的有雨图像对;
在多张属于同一背景的有雨图像中寻找与一张作为输入的有雨图像具有最少重叠雨线的目标有雨图像;
步骤二中对于任意一张有雨输入图像找到与之对应的具有最少重叠雨线的有雨目标图像的方法如下:
给定N张图像集合{O1,O2,···,ON},每张图像可以表示为Oi=B+Ri(Ri≥0),B表示静态背景,Ri表示第i个雨层;
通过计算Oi和集合中其他单张图像Oj}之间所有像素值差的绝对值之和,并选取获得最大值的图像,确定每个最小重叠对:并且j≠i;
其中||A||=∑x,y,z|ax,y,z|表示所有像素绝对值之和,x,y,z表示像素a坐标;
步骤三、构建去雨模型;
使用深度学习框架PyTorch搭建StackConvNet模型通过参数映射学习提取图像的浅层特征、中层特征和深层特征进行去雨;
步骤四、模型训练;
模型训练的输入图像和目标图像分别为真实有雨图像和使用最少重叠雨线方法选取的真实有雨图像,根据反向传播原理迭代更新StackConvNet模型的参数,使用Adam算法作为模型优化策略,训练去雨模型至模型在验证集的测试性能不再增加时,达到收敛状态,获得模型参数;
步骤五、使用经过步骤四训练的去雨模型对有雨图像进行处理,保存去雨图像。
2.如权利要求1所述的一种基于深度学习的无监督去雨方法,其特征在于:降雨数据集包括真实降雨数据集和合成降雨数据集。
3.如权利要求1所述的一种基于深度学习的无监督去雨方法,其特征在于:步骤三中用于去雨的StackConvNet模型包括多个卷积层,分为输入层、隐藏层和输出层。
4.如权利要求3所述的一种基于深度学习的无监督去雨方法,其特征在于:每个输入层包含一个卷积层和一个ReLU激活函数,通道数由3变成64;
隐藏层包含15个卷积层,每个卷积后面是一个ReLU激活函数,通道数为64;
输出层是一个卷积层,通道数由64恢复成3。
5.如权利要求1所述的一种基于深度学习的无监督去雨方法,其特征在于:所述步骤四模型训练在Ubuntu系统下使用3块NVIDIA GeForce GTX 1080Ti显卡进行训练,批次大小为
32,使用Adam优化算法对去雨模型进行梯度优化加快收敛。
6.如权利要求5所述的一种基于深度学习的无监督去雨方法,其特征在于:步骤四中使用Adam优化算法对去雨模型进行梯度优化的方法如下:总共12万次迭代训练,每3万次训练将学习率衰减为原来的十分之一,使用损失函数进行去雨模型的参数更新。
7.如权利要求6所述的一种基于深度学习的无监督去雨方法,其特征在于:步骤四中的损失函数为L1或者L2,其中,L1(Z,O)=||Z‑O||1=|Z‑O|;
其中Z表示模型实际输出,O表示期望输出。