基于 First Order Model 的 damedane/unravel 教程

举报
HWCloudAI 发表于 2022/11/25 12:05:17 2022/11/25
【摘要】 基于 First Order Model 的 damedane/unravel 教程使用方法:点击上方菜单,选择 Run(运行) - Run All Cells(运行所有)如果需要修改输入视频和音频的名称,修改其中的 source_image_name 和 source_video_name 变量,并再运行之后的所有代码块使用的是Pytorch1.4环境 准备环境mox.file.copy...

基于 First Order Model 的 damedane/unravel 教程

使用方法:点击上方菜单,选择 Run(运行) - Run All Cells(运行所有)

如果需要修改输入视频和音频的名称,修改其中的 source_image_namesource_video_name 变量,并再运行之后的所有代码块

使用的是Pytorch1.4环境

准备环境

mox.file.copy_parallel('obs://obs-aigallery-zc/clf/code/damedane.zip','damedane.zip')

! unzip damedane.zip
!ls -lah
pip install imageio-ffmpeg ffmpeg-python
import os
os.chdir('damedane')
import imageio
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from skimage.transform import resize
from IPython.display import HTML
import warnings
warnings.filterwarnings("ignore")

# 下面修改输入图片的文件名
source_image_name = 'import.png'

# 下面修改输入视频的文件名
source_video_name = '蚂蚁呀嘿.mp4'

source_image = imageio.imread(source_image_name)
driving_video = imageio.get_reader(source_video_name)


# 调整图片和视频分辨率为 256x256
source_image = resize(source_image, (256, 256))[..., :3]
driving_video = [resize(frame, (256, 256))[..., :3] for frame in driving_video]

def display(source, driving, generated=None):
    fig = plt.figure(figsize=(8 + 4 * (generated is not None), 6))

    ims = []
    for i in range(len(driving)):
        cols = [source]
        cols.append(driving[i])
        if generated is not None:
            cols.append(generated[i])
        im = plt.imshow(np.concatenate(cols, axis=1), animated=True)
        plt.axis('off')
        ims.append([im])

    ani = animation.ArtistAnimation(fig, ims, interval=50, repeat_delay=1000)
    plt.close()
    return ani

HTML(display(source_image, driving_video).to_html5_video())
import ffmpeg

# 合并音频 + 视频
video = ffmpeg.input('export-no-audio.mp4')
audio = ffmpeg.input(source_video_name)

ffmpeg.concat(video, audio, v=1, a=1).output('export.mp4').overwrite_output().run()

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。