图片视频修复-baidu paddleGAN应用小样

news/2024/11/29 6:49:38/

1、概述

paddlepaddle(百度飞浆)作为百度的人工智能框架,在发展上可能没有tensorflow与pytorch来的成熟。但在本土化的应用中也有非常的明显的优势,比如汉语的自然语言处理层面。为了保证平台能够快速上手。他也内置了许多有趣的功能模块。本文主要介绍paddleGAN,对抗生成模块的相关接口。可以帮助我们达到一些意想不到的效果。下面的内容将涵盖图片的上色,视频的修复,超频以及卡通头像生成等内容。

在运行本文的案例之前您需要先安装paddlepaddle以及panddleGAN具体的安装步骤请参考下面链接。

https://github.com/PaddlePaddle/PaddleGAN/blob/develop/docs/zh_CN/install.md

2、引入相关类库并设置GPU运行环境

from matplotlib import pyplot as plt
%matplotlib notebook
from PIL import Image
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")import paddle
paddle.set_device('gpu')

如果您是单卡GPU可以看到下面输出

CUDAPlace(0)

编写显示视频辅助函数

# 定义一个展示视频的函数
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

2、上色功能

2.1 老照片上色ppgan.apps.DeOldifyPredictor

该上色功能主要用于老照片上色,实例化参数说明

  • output (str): 设置输出图片的保存路径,默认是output。注意,保存路径为设置output/DeOldify。
  • weight_path (str): 指定模型路径,默认是None,则会自动下载内置的已经训练好的模型。
  • artistic (bool): 是否使用偏"艺术性"的模型。"艺术性"的模型有可能产生一些有趣的颜色,但是毛刺比较多。
  • render_factor (int): 图片渲染上色时的缩放因子,图片会缩放到边长为16xrender_factor的正方形, 再上色,例如render_factor默认值为32,输入图片先缩放到(16x32=512) 512x512大小的图片。通常来说,render_factor越小,计算速度越快,颜色看起来也更鲜活。较旧和较低质量的图像通常会因降低渲染因子而受益。渲染因子越高,图像质量越好,但颜色可能会稍微褪色。
from ppgan.apps import DeOldifyPredictor
deoldify = DeOldifyPredictor()
result=deoldify.run("imgs/heibai1.jpg")
figure,ax=plt.subplots(1,2,figsize=(8,4))
srcimg=Image.open("imgs/heibai1.jpg")
ax[0].imshow(srcimg)
ax[1].imshow(result[0])

输出效果如下

可以使用该模型为视频上色

result2=deoldify.run("imgs/bj.mp4")
video_path = "output/DeOldify/bj/bj_deoldify_out.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())

 

2.2 视频修复并上色

接口说明

ppgan.apps.DeepRemasterPredictor(output='output', weight_path=None, colorization=False, reference_dir=None, mindim=360)

参数说明

  • output (str): 设置输出图片的保存路径,默认是output。注意,保存路径为设置output/DeepRemaster。
  • weight_path (str): 指定模型路径,默认是None,则会自动下载内置的已经训练好的模型。
  • colorization (bool): 是否打开上色功能,默认是False,既不打开,只执行修复功能。
  • reference_dir(str|None): 打开上色功能时,输入参考色图片路径,也可以不设置参考色图片。
  • mindim(int): 预测前图片会进行缩放,最小边长度。
from ppgan.apps import DeepRemasterPredictor
deep_remaster = DeepRemasterPredictor(colorization=True)
result=deep_remaster.run("imgs/bj.mp4")
video_path = 'output/DeepRemaster/bj_comp.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())

 效果如下

 

3、超分

from ppgan.apps import RealSRPredictor
sr = RealSRPredictor()
result=sr.run("output/DeepRemaster/bj_out.mp4")
video_path = "output/RealSR/bj_out/bj_out_realsr_out.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())

效果如下

4、图像动漫化

from ppgan.apps import AnimeGANPredictor
predictor = AnimeGANPredictor(use_adjust_brightness=True)
result3=predictor.run('imgs/girl.jpg')
figure,ax=plt.subplots(1,2,figsize=(8,4))
srcimg=Image.open("output/anime.png")
ax[0].imshow(srcimg)
ax[1].imshow(result3)

效果如下图所示

其实paddleGAN还有一些其他的功能大家可以尝试一下,不过个人解决整体接口易用性还是有待提高。另外像补帧的一些功能还会爆出异常(也有可能是我调用方式不对)不过框架的整体感觉还是不错的大家可以多用国产的AI框架 


http://www.ppmy.cn/news/487275.html

相关文章

Thymeleaf实例页面范例

<!DOCTYPE html> <html xmlns:th"http://www.thymeleaf.org"><head><meta charset"utf-8" /><meta http-equiv"X-UA-Compatible" content"IEEmulateIE7" /><title >产品列表页</title><…

ICCV 2021口罩人物身份鉴别全球挑战赛冠军方案分享

1. 引言 10月11-17日&#xff0c;万众期待的国际计算机视觉大会 ICCV 2021 (International Conference on Computer Vision) 在线上如期举行&#xff0c;受到全球计算机视觉领域研究者的广泛关注。 今年阿里云多媒体 AI 团队&#xff08;由阿里云视频云和达摩院视觉团队组成&a…

决斗小游戏代码html,《游戏王:决斗链接》的基础玩法介绍

《游戏王&#xff1a;决斗链接》是konami于2016年发行的《YU-GI-OH Duel Links》的国服&#xff0c;同时也是在手机应用市场下载量位于卡牌游戏榜首&#xff0c;是全世界最火的游戏王网络游戏。 《游戏王&#xff1a;决斗链接》将于1月14日国服上线&#xff0c;来小黑盒预约即可…

【AI系统内容推荐第26期】更新一下我对深度学习编译器和框架的认识;OpenPPL 中的卷积优化技巧;机器学习访存密集计算编译优化框架AStitch

1、更新一下我对深度学习编译器和框架的认识 深度学习基础软件里最hard core的问题有两个&#xff0c;一个是微观层次的auto codegen&#xff0c;即用领域特定语言 DSL 描述一个算法的逻辑&#xff0c;自动生成在各种后端上最高效的代码&#xff1b;另一个是宏观层次的自动分布…

开源风暴吞噬AI界?从Stable Diffusion的爆火说起

近日&#xff0c;文本生成图像模型Stable Diffusion背后的公司Stability AI宣布获得了1.01亿美元超额融资&#xff0c;估值达10亿美元&#xff0c;这家基于开源社区的“草根”企业的风头一时间甚至盖过了业界顶级研究机构OpenAI。 本文作者认为&#xff0c;尽管开源项目存在商业…

强大到离谱!硬核解读Stable Diffusion(完整版)

原文链接: 硬核解读Stable Diffusion(完整版) 2022年可谓是AIGC(AI Generated Content)元年,上半年有文生图大模型DALL-E2和Stable Diffusion,下半年有OpenAI的文本对话大模型ChatGPT问世,这让冷却的AI又沸腾起来了,因为AIGC能让更多的人真真切切感受到AI的力量。这篇…

强烈安利试试这个!效果爆炸的漫画变身AI,火到服务器几度挤爆

转自&#xff1a;量子位 “排队1241人&#xff0c;等待2600秒……” ——这届网友为了看一眼自己在动漫里的样子&#xff0c;可真是拼了&#xff01; “始作俑者”是一款可以把人像变动漫的生成器。 只需一张图片或一段视频&#xff0c;无论男女老少、明星素人都可以一睹自己的…

styleGAN环境搭建 、 动漫模型效果测试

&#x1f4d9; 声明&#xff1a; 本博文的主体内容借鉴该博文&#xff1a; https://blog.csdn.net/weixin_41943311/article/details/100539707 我主要做的工作是精简流程和测试记录&#xff0c;想了解更多内容可以关注 https://blog.csdn.net/weixin_41943311 博客主页下的一…