基于PaddleGAN项目人脸表情动作迁移学习(五)图像补帧上色与超分修复

学习目标

体验基于PaddleGAN的图像上色、补针、超分等功能,涉及模型包括DAIN、DeOldify、RealSR、DeepRemaster、EDVR、PPMSVSR等。

一、算法原理

1.补帧模型DAIN

DAIN 模型通过探索深度的信息来显式检测遮挡。并且开发了一个深度感知的流投影层来合成中间流。在视频补帧方面有较好的效果。
在这里插入图片描述
在这里插入图片描述

2.上色模型DeOldify

在这里插入图片描述

3.上色模型DeepRemaster

DeepRemaster 模型基于时空卷积神经网络和自注意力机制。并且能够根据输入的任意数量的参考帧对图片进行上色。
在这里插入图片描述

4.超分辨率模型RealSRP

RealSR模型通过估计各种模糊内核以及实际噪声分布,为现实世界的图像设计一种新颖的真实图片降采样框架。基于该降采样框架,可以获取与真实世界图像共享同一域的低分辨率图像。并且提出了一个旨在提高感知度的真实世界超分辨率模型。对合成噪声数据和真实世界图像进行的大量实验表明,该模型能够有效降低了噪声并提高了视觉质量。
在这里插入图片描述

5.超分辨率模型EDVR

EDVR模型提出了一个新颖的视频具有增强可变形卷积的还原框架:第一,为了处理大动作而设计的一个金字塔,级联和可变形(PCD)对齐模块,使用可变形卷积以从粗到精的方式在特征级别完成对齐;第二,提出时空注意力机制(TSA)融合模块,在时间和空间上都融合了注意机制,用以增强复原的功能。
在这里插入图片描述

6.视频超分辨率模型PPMSVSR

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

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

ppgan.apps.PPMSVSRPredictor(output=‘output’, weight_path=None, num_frames)
ppgan.apps.PPMSVSRLargePredictor(output=‘output’, weight_path=None, num_frames)
参数
output_path (str,可选的): 输出的文件夹路径,默认值:output.
weight_path (None,可选的): 载入的权重路径,如果没有设置,则从云端下载默认的权重到本地。默认值:None.
num_frames (int,可选的): 模型输入帧数,默认值:10.输入帧数越大,模型超分效果越好。

7.视频超分辨率模型BasicVSR系列

BasicVSR在VSR的指导下重新考虑了四个基本模块(即传播、对齐、聚合和上采样)的一些最重要的组件。 通过添加一些小设计,重用一些现有组件,得到了简洁的 BasicVSR。与许多最先进的算法相比,BasicVSR在速度和恢复质量方面实现了有吸引力的改进。

同时,通过添加信息重新填充机制和耦合传播方案以促进信息聚合,BasicVSR 可以扩展为IconVSR,IconVSR可以作为未来 VSR 方法的强大基线 .

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

ppgan.apps.BasicVSRPredictor(output=‘output’, weight_path=None, num_frames)
ppgan.apps.IconVSRPredictor(output=‘output’, weight_path=None, num_frames)
ppgan.apps.BasiVSRPlusPlusPredictor(output=‘output’, weight_path=None, num_frames)
参数
output_path (str,可选的): 输出的文件夹路径,默认值:output.
weight_path (None,可选的): 载入的权重路径,如果没有设置,则从云端下载默认的权重到本地。默认值:None.
num_frames (int,可选的): 模型输入帧数,默认值:10.输入帧数越大,模型超分效果越好。


二、体验效果

1.环境准备:

请参考另一篇文章,基于PaddleGAN项目人脸表情动作迁移学习(一)环境配置,下载PaddleGAN,并配置环境,另外,需要安装相关模块,进入PaddleGAN目录下:

cd PaddleGAN
pip install -r requirements.txt
pip install -v -e .
pip install dlib
pip install ppgan

如果dlib有安装失败请参考另一篇文章记录安装dlib库失败解决过程,认识conda-forge,希望有所帮助。
安装完成根据网速不同,大概需要几分钟左右。

2.准备老照片:

下载小兵张嘎视频数据,截图如下
在这里插入图片描述

3.体验效果:

3.1 DeOldify上色

python tools/video-enhance.py --input /home/work/z2.png    --process_order  DeOldify --output /home/work/output

效果在这里插入图片描述

3.2 RealSR超分辨率

python tools/video-enhance.py --input /home/work/z2.png    --process_order RealSR  --output /home/work/output

效果
在这里插入图片描述
肉眼好像看不出来效果。

3.3 其他模型

通过命令行方式用法都差不多,可以同时使用,例如

使用插帧(DAIN), 上色(DeOldify), 超分(MSVSR)这三个模型对该视频进行修复
input参数表示输入的视频路径
output表示处理后的视频的存放文件夹
proccess_order 表示使用的模型和顺序(目前支持)

python tools/video-enhance.py --input /home/work/xiaobing.mp4    --process_order  DAIN DeOldify PPMSVSR  --output /home/work/output

视频上传不方便,效果就不展示了。

总结

体验了使用PaddleGAN完成视频上色、超分、插帧的技术运用,PaddleGAN的应用也不会止步于此,仅仅是调包、一行代码搞定是远远不够的,想进一步搞得更好,则需要认真阅读所使用的模型的相应论文,自己尝试复现一下或者认真读懂PaddleGAN中提供的源码。

参考:https://aistudio.baidu.com/aistudio/projectdetail/1161285

猜你喜欢

转载自blog.csdn.net/h363924219/article/details/122411713
今日推荐