衡兰芷若成绝响,人间不见周海媚(4k修复基于PaddleGan)

这篇具有很好参考价值的文章主要介绍了衡兰芷若成绝响,人间不见周海媚(4k修复基于PaddleGan)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

衡兰芷若成绝响,人间不见周海媚(4k修复基于PaddleGan)

一代人有一代人的经典回忆,1994年由周海媚、马景涛、叶童主演的《神雕侠侣》曾经风靡一时,周海媚所诠释的周芷若凝聚了汉水之钟灵,峨嵋之毓秀,遇雪尤清,经霜更艳,俘获万千观众,成为了一代人的共同记忆。

如今美人仙去,回望经典,雪肤依然,花貌如昨,白璧微瑕之处是九十年代电视剧的分辨率有些低,本次我们利用百度自研框架PaddleGan的视频超分SOTA算法来对九十年代电视剧进行4K修复。

配置PaddlePaddle框架

PaddlePaddle框架需要本地环境支持CUDA和cudnn,具体请参照:声音好听,颜值能打,基于PaddleGAN给人工智能AI语音模型配上动态画面(Python3.10),囿于篇幅,这里不再赘述。

接着去PaddlePaddle官网查看本地cudnn对应的paddlepaddle版本:

https://www.paddlepaddle.org.cn/

输入命令查看本地cudnn版本:

nvcc --version  
nvcc: NVIDIA (R) Cuda compiler driver  
Copyright (c) 2005-2022 NVIDIA Corporation  
Built on Tue_Mar__8_18:36:24_Pacific_Standard_Time_2022  
Cuda compilation tools, release 11.6, V11.6.124  
Build cuda_11.6.r11.6/compiler.31057947_0

可以看到版本是11.6

随后安装对应11.6的最新paddle-gpu版本:



python -m pip install paddlepaddle-gpu==2.5.2.post116 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html


注意这里的最新版是paddlepaddle-gpu2.5.2.post116,而非之前的paddlepaddle-gpu2.4.2.post116

安装成功后,进行检测:

PS C:\Users\zcxey> python  
Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)] on win32  
Type "help", "copyright", "credits" or "license" for more information.  
>>> import paddle  
>>> paddle.utils.run_check()  
Running verify PaddlePaddle program ...  
I1214 14:38:08.825912  4800 interpretercore.cc:237] New Executor is Running.  
W1214 14:38:08.827040  4800 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.9, Driver API Version: 12.3, Runtime API Version: 11.6  
W1214 14:38:08.829569  4800 gpu_resources.cc:149] device: 0, cuDNN Version: 8.4.  
I1214 14:38:12.468061  4800 interpreter_util.cc:518] Standalone Executor is Used.  
PaddlePaddle works well on 1 GPU.  
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.

说明PaddlePaddle的配置没有问题。

随后克隆项目并且进行编译:

git clone https://gitee.com/PaddlePaddle/PaddleGAN  
cd PaddleGAN   
pip3 install -v -e .

视频修复超分模型

关于视频修复超分模型的选择,这里我们使用百度自研SOTA超分系列模型PP-MSVSR、业界领先的视频超分模型还包括EDVR、BasicVSR,IconVSR和BasicVSR++等等。

百度自研的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的视频超分辨率和压缩视频增强挑战赛中获得三名冠军和一名亚军。

在当前参数量小于6M的轻量化视频超分模型在 UDM10 数据集上的PSNR指标对比上,PP-MSVSR可谓是“遥遥领先”:

视频修复实践

PP-MSVSR提供两种体积模型,开发者可根据实际场景灵活选择:PP-MSVSR(参数量1.45M)与PP-MSVSR-L(参数量7.42)。这里推荐使用后者,因为该大模型的参数量更大,修复效果更好:

ppgan.apps.PPMSVSRLargePredictor(output='output', weight_path=None, num_frames)

参数说明:

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

随后进入项目的根目录:

cd PaddleGAN

编写test.py来查看视频参数:

import cv2  
import imageio  
import numpy as np  
import matplotlib.pyplot as plt  
import matplotlib.animation as animation  
from IPython.display import HTML  
import warnings  
warnings.filterwarnings("ignore")  
  
def display(driving, fps, size=(8, 6)):  
    fig = plt.figure(figsize=size)  
  
    ims = []  
    for i in range(len(driving)):  
        cols = []  
        cols.append(driving[i])  
  
        im = plt.imshow(np.concatenate(cols, axis=1), animated=True)  
        plt.axis('off')  
        ims.append([im])  
  
    video = animation.ArtistAnimation(fig, ims, interval=1000.0/fps, repeat_delay=1000)  
  
    plt.close()  
    return video  
  
video_path = 'd:/倚天屠龙记.mp4'  
video_frames = imageio.mimread(video_path, memtest=False)  
  
# 获得视频的原分辨率  
cap = cv2.VideoCapture(video_path)  
fps = cap.get(cv2.CAP_PROP_FPS)  
      
  
HTML(display(video_frames, fps).to_html5_video())

如此,就可以获得视频的原分辨率。

随后,进入项目的根目录,执行修复命令:

python3 tools/video-enhance.py --input d:/倚天屠龙记.mp4 \  
                               --process_order PPMSVSR \  
                               --output d:/output_dir \  
                               --num_frames 100

这里使用PPMSVSR模型对该视频进行修复,input参数表示输入的视频路径;output表示处理后的视频的存放文件夹;proccess_order 表示使用的模型和顺序;num_frames 表示模型输入帧数。

随后展示修复后的视频:

output_video_path = 'd:/倚天屠龙记_PPMSVSR_out.mp4'  
  
video_frames = imageio.mimread(output_video_path, memtest=False)  
  
# 获得视频的原分辨率  
cap = cv2.VideoCapture(output_video_path)  
fps = cap.get(cv2.CAP_PROP_FPS)  
      
  
HTML(display(video_frames, fps, size=(16, 12)).to_html5_video())

修复效果:

除了视频超分外,PaddleGAN中还提供了视频上色与补帧的功能,配合上述的PP-MSVSR一起使用,即可实现视频清晰度提高、色彩丰富、播放更加行云流水。

补帧模型DAIN

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

ppgan.apps.DAINPredictor(  
                        output_path='output',  
                        weight_path=None,  
                        time_step=None,  
                        use_gpu=True,  
                        remove_duplicates=False)

参数:

output_path (str,可选的): 输出的文件夹路径,默认值:output.  
weight_path (None,可选的): 载入的权重路径,如果没有设置,则从云端下载默认的权重到本地。默认值:None。  
time_step (int): 补帧的时间系数,如果设置为0.5,则原先为每秒30帧的视频,补帧后变为每秒60帧。  
remove_duplicates (bool,可选的): 是否删除重复帧,默认值:False.

上色模型DeOldifyPredictor

DeOldify 采用自注意力机制的生成对抗网络,生成器是一个U-NET结构的网络。在图像的上色方面有着较好的效果:

ppgan.apps.DeOldifyPredictor(output='output', weight_path=None, render_factor=32)

参数:

output_path (str,可选的): 输出的文件夹路径,默认值:output.  
weight_path (None,可选的): 载入的权重路径,如果没有设置,则从云端下载默认的权重到本地。默认值:None。  
render_factor (int): 会将该参数乘以16后作为输入帧的resize的值,如果该值设置为32, 则输入帧会resize到(32 * 16, 32 * 16)的尺寸再输入到网络中。

结语

AI技术通过分析视频中的图像信息并应用图像处理和修复算法,自动修复视频中的缺陷、噪声、模糊等问题,以提高视频的观看质量和可用性,配合语音克隆等技术,从而让演员在某种程度上实现“数字永生”。文章来源地址https://www.toymoban.com/news/detail-760182.html

到了这里,关于衡兰芷若成绝响,人间不见周海媚(4k修复基于PaddleGan)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 更智能行车记录仪,4K画质超清晰,凌度行车记录仪 4K版上手

    行车记录仪是很多车友的必需品,这两年行车记录仪的提升非常明显,如今市面上已经能够找到很多4K分辨率的产品了,相比于早期只要有480P分辨率的记录仪,清晰度和可靠性都更加出色,确实有升级的必要。 这两天我尝试了一款华为智选 凌度行车记录仪 4K版,型号为AM10

    2024年02月13日
    浏览(49)
  • 4k、VR与万兆光网

    “全光万兆”对VR意义重大。 pico4的分辨率 PICO 4 的单眼分辨率是 2160 × 2160 ,整体分辨率高达 4320 × 2160 。这是一款高性能的 VR 一体机,采用了 2.56 英寸的 Fast-LCD 屏幕,最高可实现 90Hz 刷新率,还有 1200 PPI 和 20.6 PPD 的超清晰画面表现。PICO 4 的视场角为 105° ,比上一代 PIC

    2024年02月03日
    浏览(27)
  • win11蓝牙图标突然不见了

    从win10更新到win11后,蓝牙图标突然不见了,搜了很多方法无法解决,最后还是用的微软自己的软件解决的,果然还是自己最懂自己的BUG。 使用 Microsoft 媒体创建工具执行系统的无损修复操作,在“选择语言和版本”中选择当前系统一样的版本。在“选择要使用的介质”中选择

    2024年02月16日
    浏览(35)
  • 手机便签内容不见了怎么恢复正常?

    在日常生活和工作中,很多人都需要随手记录事情,例如家庭琐事、孩子相关的事情、指定时间需要完成的工作任务、会议安排等。当我们需要随时随地记录事情的时候,手机便签应用就是非常不多的选择,我们直接打开手机上的便签APP就可以新增一条内容记录文字、图片等

    2024年02月13日
    浏览(52)
  • 关于电脑中蓝牙选项突然不见了

    某天系统更新了一下发现,电脑中突然蓝牙功能不生效了。 此教程适用于电脑,以及dell戴尔等。 可以打开网络适配器进行查看,不出意外的话会有一个标黄 话不多说 直接开始 这里以dell戴尔电脑为例 3.1 打开dell技术支持网站 点击驱动程序和下载 (不同品牌的电脑可以去对

    2024年02月07日
    浏览(32)
  • Idea中侧面栏不见了,如何设置?

    一、打开idea点击File然后点击Setting  二、点击Appearance,然后划到最下面,勾选Show tool windows bars和Side-by-side layout on the left  三、侧面栏目正常显示

    2024年02月14日
    浏览(32)
  • 宽带连接图标不见了的解决方法

    最近有网友给小编反应说电脑重装之后再打开刚好要点宽带连接网络,可是宽带连接的图标消失不见了,然后在电脑上都找不到宽带连接了。这可能是电脑重装将宽带连接被删除掉的情况,那 么宽带连接图标不见了怎么办 呢?小编来教你怎么解决吧。 宽带连接图标不见了的

    2024年02月05日
    浏览(56)
  • 波士顿房价数据集怎么不见了?

     做线性回归的同学大概率会用到一个数据集,即波士顿房价数据集,然而当你从sklearn下载该数据集时,你会惊讶地发现居然下载不了了!!!起初我以为是什么别的原因导致数据集可能被收回了,结果当我看到一篇文章就感觉,算了不做评价,参见这篇文章 消失的波士顿

    2024年02月05日
    浏览(67)
  • 爬虫实例(二)—— 爬取高清4K图片

    大家好,我是 Enovo飞鱼,今天继续分享一个爬虫案例,爬取高清4K图片,加油💪。     目录 前言 增加异常处理 增加代码灵活性 基本环境配置 爬取目标网站 分析网站页面 具体代码实现 图片下载示例 感谢支持🙇‍+👍     上篇内容,我们已经了解并惊叹于5行Python代码的强

    2024年02月21日
    浏览(118)
  • AXI协议中的4K边界问题

    AXI中一次突发不能越过4K边界! 4k边界是指低12bit全为0的地址,如32’h00001000,32’h00002000,32’h00004000等这些特殊的地址均为4k边界。 4k边界对齐的最大原因是系统中定义一个page大小为4kBytes,为了更好设定每个slave的访问attribute,就给一个slave划分4k空间。AXI协议中一次突发不能

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包