深度学习训练笔记

2022/7/24 23:23:05

本文主要是介绍深度学习训练笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

https://tianchi.aliyun.com/dataset?spm=5176.27080692.J_3941670930.19.31fe5699r5B57A

天池数据集下载

 

 stargan-v2/README.md at master · clovaai/stargan-v2 · GitHub

 

 

 

 -u参数的使用:python命令加上-u(unbuffered)参数后会强制其标准输出也同标准错误一样不通过缓存直接打印到屏幕。

 

 从严重退化的人脸图像中恢复出人脸是一个非常具有挑战性的问题。由于问题的严重性和复杂的未知退化,直接训练深度神经网络通常无法得到可接受的结果。现有的基于生成对抗网络 (GAN) 的方法可以产生更好的结果,但往往会产生过度平滑的恢复。这里我们提供GPEN模型来进行人脸增强。GPEN模型首先学习用于生成高质量人脸图像的GAN并将其嵌入到U形DNN作为先验解码器,然后使用一组合成的低质量人脸图像对GAN先验嵌入DNN进行微调。 GAN 模块的设计是为了确保输入到 GAN 的隐码和噪声可以分别从 DNN 的深层和浅层特征中生成,控制重建图像的全局人脸结构、局部人脸细节和背景。所提出的 GAN 先验嵌入网络 (GPEN) 易于实现,并且可以生成视觉上逼真的结果。实验表明,GPEN 在数量和质量上都比最先进的 BFR 方法取得了显着优越的结果,特别是对于野外严重退化的人脸图像的恢复。

import paddle
from ppgan.faceutils.face_enhancement import FaceEnhancement

faceenhancer = FaceEnhancement()
img = faceenhancer.enhance_from_image(img)

 

Wav2Lip实现的是视频人物根据输入音频生成与语音同步的人物唇形,使得生成的视频人物口型与输入语音同步。Wav2Lip不仅可以基于静态图像来输出与目标语音匹配的唇形同步视频,还可以直接将动态的视频进行唇形转换,输出与目标语音匹配的视频。Wav2Lip实现唇形与语音精准同步突破的关键在于,它采用了唇形同步判别器,以强制生成器持续产生准确而逼真的唇部运动。此外,它通过在鉴别器中使用多个连续帧而不是单个帧,并使用视觉质量损失(而不仅仅是对比损失)来考虑时间相关性,从而改善了视觉质量。Wav2Lip适用于任何人脸、任何语言,对任意视频都能达到很高都准确率,可以无缝地与原始视频融合,还可以用于转换动画人脸

cd applications
python tools/wav2lip.py \
    --face ../docs/imgs/mona7s.mp4 \
    --audio ../docs/imgs/guangquan.m4a \
    --outfile pp_guangquan_mona7s.mp4 \
    --face_enhancement

 

===============================================

这里我们提供百度自研SOTA超分系列模型PP-MSVSR、业界领先视频超分模型EDVR、BasicVSR,IconVSR和BasicVSR++。

⭐ PP-MSVSR ⭐

百度自研的PP-MSVSR是一种多阶段视频超分深度架构,具有局部融合模块、辅助损失和细化对齐模块,以逐步细化增强结果。具体来说,在第一阶段设计了局部融合模块,在特征传播之前进行局部特征融合, 以加强特征传播中跨帧特征的融合。在第二阶段中引入了一个辅助损失,使传播模块获得的特征保留了更多与HR空间相关的信息。在第三阶段中引入了一个细化的对齐模块,以充分利用前一阶段传播模块的特征信息。大量实验证实,PP-MSVSR在Vid4数据集性能优异,仅使用 1.45M 参数PSNR指标即可达到28.13dB。

PP-MSVSR提供两种体积模型,开发者可根据实际场景灵活选择:PP-MSVSR(参数量1.45M)与PP-MSVSR-L(参数量7.42)。

EDVR

EDVR模型在NTIRE19视频恢复和增强挑战赛的四个赛道中都赢得了冠军,并以巨大的优势超过了第二名。视频超分的主要难点在于(1)如何在给定大运动的情况下对齐多个帧;(2)如何有效地融合具有不同运动和模糊的不同帧。首先,为了处理大的运动,EDVR模型设计了一个金字塔级联的可变形(PCD)对齐模块,在该模块中,从粗到精的可变形卷积被使用来进行特征级的帧对齐。其次,EDVR使用了时空注意力(TSA)融合模块,该模块在时间和空间上同时应用注意力机制,以强调后续恢复的重要特征。

BasicVSR

BasicVSR在VSR的指导下重新考虑了四个基本模块(即传播、对齐、聚合和上采样)的一些最重要的组件。 通过添加一些小设计,重用一些现有组件,得到了简洁的 BasicVSR。与许多最先进的算法相比,BasicVSR在速度和恢复质量方面实现了有吸引力的改进。 同时,通过添加信息重新填充机制和耦合传播方案以促进信息聚合,BasicVSR 可以扩展为 IconVSR,IconVSR可以作为未来 VSR 方法的强大基线 .

BasicVSR++

BasicVSR++通过提出二阶网格传播和导流可变形对齐来重新设计BasicVSR。通过增强传播和对齐来增强循环框架,BasicVSR++可以更有效地利用未对齐视频帧的时空信息。 在类似的计算约束下,新组件可提高性能。特别是,BasicVSR++ 以相似的参数数量在 PSNR 方面比 BasicVSR 高0.82dB。BasicVSR++ 在NTIRE2021的视频超分辨率和压缩视频增强挑战赛中获得三名冠军和一名亚军。

 

这里提供4个视频超分辨率常用数据集,REDS,Vimeo90K,Vid4,UDM10。其中REDS和vimeo90k数据集包括训练集和测试集,Vid4和UDM10为测试数据集。将需要的数据集下载解压后放到PaddleGAN/data文件夹下 。

REDS(数据下载)数据集是NTIRE19比赛最新提出的高质量(720p)视频数据集,其由240个训练片段、30个验证片段和30个测试片段组成(每个片段有100个连续帧)。由于测试数据集不可用,这里在训练集选择了四个具有代表性的片段(分别为'000', '011', '015', '020',它们具有不同的场景和动作)作为测试集,用REDS4表示。剩下的训练和验证片段被重新分组为训练数据集(总共266个片段)。

 

1.2.3 模型导出

以msvsr模型为例,inputs_size为模型输入size,model_name为导出模型的命名,model_path为模型权重的路径.

python tools/export_model.py -c configs/msvsr_reds.yaml  --inputs_size="1,2,3,180,320"  --model_name inference --load model_path

1.2.4 模型推理

以msvsr模型为例

python tools/inference.py --model_type msvsr -c configs/msvsr_reds.yaml --output_path output_dir
====================================================

1.1 原理介绍

与CycleGAN类似,U-GAT-IT使用未配对的图片进行图像风格转换,输入两个不同风格的图像,U-GAT-IT自动执行风格转换。不同的是,U-GAT-IT在历史研究的基础上以端到端的方式引入了一个新的注意模块和一个新的可学习的归一化函数。

1.2 如何使用

1.2.1 数据准备

U-GAT-IT使用的Selfie2anime数据集可以从这里下载,您也可以使用自己的数据集

=========================

Progressive Image Deraining Networks: A Better and Simpler Baseline提出一种多阶段渐进的残差网络,每一个阶段都是resnet,每一res块的输入为上一res块输出和原始雨图,另外采用使用SSIM损失进行训练,进一步提升了网络的性能,网络总体简洁高效,在各种数据集上表现良好,为图像去雨提供了一个很好的基准。

2 如何使用

2.1 数据准备

数据集(RainH.zip) 可以在此处下载,将其解压到./data路径下。

 

==================================

MPR_Net是发表在CVPR2021的一篇图像修复方法。图像修复任务需要在恢复图像时在空间细节和高级上下文信息之间实现复杂的平衡。MPR_Net提出了一种新颖的协同设计,可以最佳地平衡这些相互竞争的目标。其中主要提议是一个多阶段架构,它逐步学习退化输入的恢复函数,从而将整个恢复过程分解为更易于管理的步骤。具体来说,MPR_Net首先使用编码器-解码器架构学习上下文特征,然后将它们与保留本地信息的高分辨率分支相结合。在每个阶段引入了一种新颖的每像素自适应设计,利用原位监督注意力来重新加权局部特征。这种多阶段架构的一个关键要素是不同阶段之间的信息交换。为此,MPR_Net提出了一种双向方法,其中信息不仅从早期到后期按顺序交换,而且特征处理块之间也存在横向连接以避免任何信息丢失。由此产生的紧密互连的多阶段架构,称为MPRNet,在包括图像去雨、去模糊和去噪在内的一系列任务中,在十个数据集上提供了强大的性能提升。

安装PaddleGAN之后运行如下代码即生成修复后的图像output_dir/Deblurring/image_name.png,其中task为你想要修复的任务,可以在DeblurringDenoisingDeraining中选择,PATH_OF_IMAGE为你需要转换的图像路径。

from ppgan.apps import MPRPredictor
predictor = MPRPredictor(task='Deblurring')
predictor.run(PATH_OF_IMAGE)

或者在终端中运行如下命令,也可获得相同结果:

python applications/tools/mprnet.py --input_image ${PATH_OF_IMAGE} --task Deblurring



这篇关于深度学习训练笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程