CV之IA:利用人工智能算法实现图像动画(以让古代皇帝画像以及古代四大美女画像动起来-来模仿偶像胡歌剧中角色表情动作为例-照片嗨起来)案例应用

导读:本论文来自NeurIPS2019,该算法中主要采用一阶运动模型的思想,用一组自学习的关键点和局部仿射变换,建立了复杂运动模型。模型由运动估计模块和图像生成模块两个主要部分组成。首先进行关键点检测,然后根据关键点,进行运动估计,最后使用图像生成模块,生成最终效果。
额,哈哈,不好意思了,又拿我的偶像胡歌下手啦,视频截取来源偶像胡歌在《猎场》中的一角色。

目录

利用人工智能算法让经典图片根据自定义动作嗨起来(将一张静态人像图片转为带表情动作视频)

相关论文

输出结果

利用人工智能算法让古代皇帝画像动起来(模仿偶像胡歌《猎场》剧中角色表情动作)

利用人工智能算法让古代四大美女画像动起来

实现代码

依赖环境

导出当前依赖环境txt文档


作品视频链接
利用人工智能算法,让古代皇帝画像动起来(模仿偶像胡歌《猎场》剧中角色表情动作)
利用人工智能算法让古代美女《西施、王昭君、貂蝉、杨玉环四大美女领衔》画像动起来

利用人工智能算法让经典图片根据自定义动作嗨起来(将一张静态人像图片转为带表情动作视频)

相关论文

Paper:《First Order Motion Model for Image Animation》翻译与解读

输出结果

利用人工智能算法让古代皇帝画像动起来(模仿偶像胡歌《猎场》剧中角色表情动作)

利用人工智能算法让古代四大美女画像动起来

实现代码

import imageio
import torch
from tqdm import tqdm
from animate import normalize_kp
from demo import load_checkpoints
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from skimage import img_as_ubyte
from skimage.transform import resize
import cv2
import os
import argparseap = argparse.ArgumentParser()
ap.add_argument("-i", "--input_image", required=True,help="Path to image to animate")
ap.add_argument("-c", "--checkpoint", required=True,help="Path to checkpoint")
ap.add_argument("-v","--input_video", required=False, help="Path to video input")args = vars(ap.parse_args())print("[INFO] loading source image and checkpoint...")
source_path = args['input_image']
checkpoint_path = args['checkpoint']
if args['input_video']:video_path = args['input_video']
else:video_path = None
source_image = imageio.imread(source_path)
source_image = resize(source_image,(256,256))[..., :3]generator, kp_detector = load_checkpoints(config_path='config/vox-256.yaml', checkpoint_path=checkpoint_path)if not os.path.exists('output'):os.mkdir('output')relative=True
adapt_movement_scale=True
cpu=Falseif video_path:cap = cv2.VideoCapture(video_path) print("[INFO] Loading video from the given path")
else:cap = cv2.VideoCapture(0)print("[INFO] Initializing front camera...")fourcc = cv2.VideoWriter_fourcc(*'MJPG')
out1 = cv2.VideoWriter('output/Animation_HuGe_02.avi', fourcc, 12, (256*3 , 256), True)cv2_source = cv2.cvtColor(source_image.astype('float32'),cv2.COLOR_BGR2RGB)
with torch.no_grad() :predictions = []source = torch.tensor(source_image[np.newaxis].astype(np.float32)).permute(0, 3, 1, 2)if not cpu:source = source.cuda()kp_source = kp_detector(source)count = 0while(True):ret, frame = cap.read()frame = cv2.flip(frame,1)if ret == True:if not video_path:x = 143y = 87w = 322h = 322 frame = frame[y:y+h,x:x+w]frame1 = resize(frame,(256,256))[..., :3]if count == 0:source_image1 = frame1source1 = torch.tensor(source_image1[np.newaxis].astype(np.float32)).permute(0, 3, 1, 2)kp_driving_initial = kp_detector(source1)frame_test = torch.tensor(frame1[np.newaxis].astype(np.float32)).permute(0, 3, 1, 2)driving_frame = frame_testif not cpu:driving_frame = driving_frame.cuda()kp_driving = kp_detector(driving_frame)kp_norm = normalize_kp(kp_source=kp_source,kp_driving=kp_driving,kp_driving_initial=kp_driving_initial, use_relative_movement=relative,use_relative_jacobian=relative, adapt_movement_scale=adapt_movement_scale)out = generator(source, kp_source=kp_source, kp_driving=kp_norm)predictions.append(np.transpose(out['prediction'].data.cpu().numpy(), [0, 2, 3, 1])[0])im = np.transpose(out['prediction'].data.cpu().numpy(), [0, 2, 3, 1])[0]im = cv2.cvtColor(im,cv2.COLOR_RGB2BGR)joinedFrame = np.concatenate((cv2_source,im,frame1),axis=1)cv2.imshow('Test',joinedFrame)out1.write(img_as_ubyte(joinedFrame))count += 1if cv2.waitKey(20) & 0xFF == ord('q'):breakelse:breakcap.release()out1.release()cv2.destroyAllWindows()

依赖环境

C:\Users\Administrator>conda activate F:\File_Anaconda\project_py37\envs(F:\File_Anaconda\project_py37\envs) C:\Users\Administrator>conda list
# packages in environment at F:\File_Anaconda\project_py37\envs:
#
# Name                    Version                   Build  Channel
attrs                     19.3.0                   pypi_0    pypi
backcall                  0.1.0                    pypi_0    pypi
blas                      1.0                         mkl    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
bleach                    3.1.5                    pypi_0    pypi
ca-certificates           2021.10.26           haa95532_2    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
certifi                   2021.10.8        py37haa95532_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
cffi                      1.11.5                   pypi_0    pypi
cloudpickle               0.5.3                    pypi_0    pypi
colorama                  0.4.3                    pypi_0    pypi
cpuonly                   2.0                           0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
cudatoolkit               8.0                           4    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
cycler                    0.10.0                   pypi_0    pypi
dask                      0.18.2                   pypi_0    pypi
decorator                 4.3.0                    pypi_0    pypi
defusedxml                0.6.0                    pypi_0    pypi
entrypoints               0.3                      pypi_0    pypi
freetype                  2.10.4               hd328e21_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
imageio                   2.3.0                    pypi_0    pypi
importlib-metadata        1.6.0                    pypi_0    pypi
intel-openmp              2021.4.0          haa95532_3556    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
ipykernel                 5.2.1                    pypi_0    pypi
ipython                   7.14.0                   pypi_0    pypi
ipython-genutils          0.2.0                    pypi_0    pypi
jedi                      0.17.0                   pypi_0    pypi
jinja2                    2.11.2                   pypi_0    pypi
jpeg                      9d                   h2bbff1b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
jsonschema                3.2.0                    pypi_0    pypi
jupyter-client            6.1.3                    pypi_0    pypi
jupyter-core              4.6.3                    pypi_0    pypi
kiwisolver                1.0.1                    pypi_0    pypi
libpng                    1.6.37               h2a8f88b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libtiff                   4.2.0                hd0e1b90_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libuv                     1.40.0               he774522_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libwebp                   1.2.0                h2bbff1b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
lz4-c                     1.9.3                h2bbff1b_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
markupsafe                1.1.1                    pypi_0    pypi
matplotlib                2.2.2                    pypi_0    pypi
mistune                   0.8.4                    pypi_0    pypi
mkl                       2021.4.0           haa95532_640    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mkl-service               2.4.0            py37h2bbff1b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mkl_fft                   1.3.1            py37h277e83a_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mkl_random                1.2.2            py37hf11a4ad_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
nbconvert                 5.6.1                    pypi_0    pypi
nbformat                  5.0.6                    pypi_0    pypi
networkx                  2.1                      pypi_0    pypi
ninja                     1.10.2           py37h559b2a2_3    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
notebook                  6.0.3                    pypi_0    pypi
numpy                     1.15.0                   pypi_0    pypi
olefile                   0.46                     py37_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
opencv-python             4.2.0.34                 pypi_0    pypi
openssl                   1.1.1l               h2bbff1b_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
packaging                 20.4                     pypi_0    pypi
pandas                    0.23.4                   pypi_0    pypi
pandocfilters             1.4.2                    pypi_0    pypi
parso                     0.7.0                    pypi_0    pypi
pickleshare               0.7.5                    pypi_0    pypi
pillow                    5.2.0                    pypi_0    pypi
pip                       21.2.4           py37haa95532_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
prometheus-client         0.7.1                    pypi_0    pypi
prompt-toolkit            3.0.5                    pypi_0    pypi
pycparser                 2.18                     pypi_0    pypi
pygit                     0.1                      pypi_0    pypi
pygments                  2.6.1                    pypi_0    pypi
pyparsing                 2.2.0                    pypi_0    pypi
pyrsistent                0.16.0                   pypi_0    pypi
python                    3.7.11               h6244533_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
python-dateutil           2.7.3                    pypi_0    pypi
pytorch                   1.0.1           py3.7_cuda80_cudnn7_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
pytorch-mutex             1.0                         cpu    https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
pytz                      2018.5                   pypi_0    pypi
pywavelets                0.5.2                    pypi_0    pypi
pywin32                   227                      pypi_0    pypi
pywinpty                  0.5.7                    pypi_0    pypi
pyyaml                    5.1                      pypi_0    pypi
pyzmq                     19.0.1                   pypi_0    pypi
scikit-image              0.14.0                   pypi_0    pypi
scikit-learn              0.19.2                   pypi_0    pypi
scipy                     1.1.0                    pypi_0    pypi
send2trash                1.5.0                    pypi_0    pypi
setuptools                58.0.4           py37haa95532_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
six                       1.11.0                   pypi_0    pypi
sqlite                    3.36.0               h2bbff1b_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
terminado                 0.8.3                    pypi_0    pypi
testpath                  0.4.4                    pypi_0    pypi
tk                        8.6.11               h2bbff1b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
toolz                     0.9.0                    pypi_0    pypi
torchvision               0.2.2                      py_3    https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
tornado                   6.0.4                    pypi_0    pypi
tqdm                      4.24.0                   pypi_0    pypi
traitlets                 4.3.3                    pypi_0    pypi
typing_extensions         3.10.0.2           pyh06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
vc                        14.2                 h21ff451_1    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
vs2015_runtime            14.27.29016          h5e58377_2    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
wcwidth                   0.1.9                    pypi_0    pypi
webencodings              0.5.1                    pypi_0    pypi
wheel                     0.37.0             pyhd3eb1b0_1    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
wincertstore              0.2              py37haa95532_2    http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
xz                        5.2.5                h62dcd97_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
zipp                      3.1.0                    pypi_0    pypi
zlib                      1.2.11               h62dcd97_4    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
zstd                      1.4.9                h19a0ad4_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

导出当前依赖环境txt文档

F:\File_Anaconda\project_py37\RealTimeImageAnimation>conda activate F:\File_Anaconda\project_py37\envs(F:\File_Anaconda\project_py37\envs) F:\File_Anaconda\project_py37\RealTimeImageAnimation>conda list -e > requirements2020.txt# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: win-64
attrs=19.3.0=pypi_0
backcall=0.1.0=pypi_0
blas=1.0=mkl
bleach=3.1.5=pypi_0
ca-certificates=2021.10.26=haa95532_2
certifi=2021.10.8=py37haa95532_0
cffi=1.11.5=pypi_0
cloudpickle=0.5.3=pypi_0
colorama=0.4.3=pypi_0
cpuonly=2.0=0
cudatoolkit=8.0=4
cycler=0.10.0=pypi_0
dask=0.18.2=pypi_0
decorator=4.3.0=pypi_0
defusedxml=0.6.0=pypi_0
entrypoints=0.3=pypi_0
freetype=2.10.4=hd328e21_0
imageio=2.3.0=pypi_0
importlib-metadata=1.6.0=pypi_0
intel-openmp=2021.4.0=haa95532_3556
ipykernel=5.2.1=pypi_0
ipython=7.14.0=pypi_0
ipython-genutils=0.2.0=pypi_0
jedi=0.17.0=pypi_0
jinja2=2.11.2=pypi_0
jpeg=9d=h2bbff1b_0
jsonschema=3.2.0=pypi_0
jupyter-client=6.1.3=pypi_0
jupyter-core=4.6.3=pypi_0
kiwisolver=1.0.1=pypi_0
libpng=1.6.37=h2a8f88b_0
libtiff=4.2.0=hd0e1b90_0
libuv=1.40.0=he774522_0
libwebp=1.2.0=h2bbff1b_0
lz4-c=1.9.3=h2bbff1b_1
markupsafe=1.1.1=pypi_0
matplotlib=2.2.2=pypi_0
mistune=0.8.4=pypi_0
mkl=2021.4.0=haa95532_640
mkl-service=2.4.0=py37h2bbff1b_0
mkl_fft=1.3.1=py37h277e83a_0
mkl_random=1.2.2=py37hf11a4ad_0
nbconvert=5.6.1=pypi_0
nbformat=5.0.6=pypi_0
networkx=2.1=pypi_0
ninja=1.10.2=py37h559b2a2_3
notebook=6.0.3=pypi_0
numpy=1.15.0=pypi_0
olefile=0.46=py37_0
opencv-python=4.2.0.34=pypi_0
openssl=1.1.1l=h2bbff1b_0
packaging=20.4=pypi_0
pandas=0.23.4=pypi_0
pandocfilters=1.4.2=pypi_0
parso=0.7.0=pypi_0
pickleshare=0.7.5=pypi_0
pillow=5.2.0=pypi_0
pip=21.2.4=py37haa95532_0
prometheus-client=0.7.1=pypi_0
prompt-toolkit=3.0.5=pypi_0
pycparser=2.18=pypi_0
pygit=0.1=pypi_0
pygments=2.6.1=pypi_0
pyparsing=2.2.0=pypi_0
pyrsistent=0.16.0=pypi_0
python=3.7.11=h6244533_0
python-dateutil=2.7.3=pypi_0
pytorch=1.0.1=py3.7_cuda80_cudnn7_1
pytorch-mutex=1.0=cpu
pytz=2018.5=pypi_0
pywavelets=0.5.2=pypi_0
pywin32=227=pypi_0
pywinpty=0.5.7=pypi_0
pyyaml=5.1=pypi_0
pyzmq=19.0.1=pypi_0
scikit-image=0.14.0=pypi_0
scikit-learn=0.19.2=pypi_0
scipy=1.1.0=pypi_0
send2trash=1.5.0=pypi_0
setuptools=58.0.4=py37haa95532_0
six=1.11.0=pypi_0
sqlite=3.36.0=h2bbff1b_0
terminado=0.8.3=pypi_0
testpath=0.4.4=pypi_0
tk=8.6.11=h2bbff1b_0
toolz=0.9.0=pypi_0
torchvision=0.2.2=py_3
tornado=6.0.4=pypi_0
tqdm=4.24.0=pypi_0
traitlets=4.3.3=pypi_0
typing_extensions=3.10.0.2=pyh06a4308_0
vc=14.2=h21ff451_1
vs2015_runtime=14.27.29016=h5e58377_2
wcwidth=0.1.9=pypi_0
webencodings=0.5.1=pypi_0
wheel=0.37.0=pyhd3eb1b0_1
wincertstore=0.2=py37haa95532_2
xz=5.2.5=h62dcd97_0
zipp=3.1.0=pypi_0
zlib=1.2.11=h62dcd97_4
zstd=1.4.9=h19a0ad4_0

CV之IA:利用人工智能算法实现图像动画(以让古代皇帝画像以及古代四大美女画像动起来-来模仿偶像胡歌剧中角色表情动作为例-照片嗨起来)案例应用相关推荐

  1. 利用MSER算法提取图像区域(车牌区域)的OpenCV代码~

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 我的博客中前面已经写了两种方法来实现车牌区域的提 ...

  2. 利用k-means算法实现图像自动色彩量化

    图像色彩量化 请参考:图像色彩量化讲解及实现 k-means算法 请参考:k-means算法讲解及实现 算法流程: 从图像中随机选取K个RGB分量(K是k-means的类别数) 将图像中的像素分配到颜 ...

  3. python opencv 利用 GrabCut 算法(opencv已经实现)从图像中分离出前景

    # 利用GrabCut算法从图像中分离出前景 import numpy as np import cv2 as cv from matplotlib import pyplot as pltimg = ...

  4. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之二、会中智能

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理.区块链和爬虫技术的智能会议系统>软件系统案 ...

  5. 人工智能算法的可解释性方法研究

    来源:数学与人工智能 摘要 以深度学习为代表的人工智能技术在信息领域的应用,极大地提高了信息的利用效率和挖掘价值,深刻的影响了各领域的业务形态,同时也引发了监管部门和用户对这一新技术运用中出现的 &q ...

  6. 用人工智能算法检测皮肤病变的方式训练医生

    十几年来,维也纳医科大学教授的皮肤科医生哈拉尔德·基特勒一直用医学经验教授学生如何诊断皮肤病变,今年下学期开始,他将加入利用人工智能算法诊断皮肤病变的课程.这一算法系统来源于基特勒帮助组织过的一场比赛 ...

  7. 深思:外卖背后的人工智能算法揭秘

    知识积累带来规模递增,规模递增引发市场集中. 当一个行业可以以"流水线"的形式固定下来后,这个行业中,人的价值就被越来越弱化与微不足道,从身体.动作.时间.精力等,都被重复的机器与 ...

  8. 【图像隐写】基于LSB+DWT+DCT三种算法实现图像和音频水印嵌入提取含Matlab源码

    1 简介 基于LSB+DWT+DCT三种算法实现图像和音频水印嵌入提取. 1.1 LSB算法 根据LSB算法简单易实现的特点,结合在图像置乱技术中很好特性的Arnold变换.利用变化产生影子图像.通过 ...

  9. 识花君:一款利用人工智能识别花草的小程序

    识花君是一款利用人工智能识别花草的小程序.6000多种常见花草,拍照上传,立刻识别.识花君还可以把你的照片制作成精美卡片,保存欣赏. 「识花君」微信小程序是由腾讯"识你所见"AI产 ...

最新文章

  1. 面试造飞机系列:面对Redis持久化连环Call,你还顶得住吗?
  2. Linux下 memcached安装以及启动
  3. Github工程师为MySQL高可用性采用了新架构
  4. mysql 索引 normal_mysql索引类型 normal, unique, full text
  5. 硬刚一周,3W字总结,一年的经验告诉你如何准备校招,拿大厂offer
  6. UCMap移动GIS 时空地图GIS
  7. 红米手机 android 版本,#MIUI#关于红米手机4高配版 Android版本适配的说明【miui9吧】_百度贴吧...
  8. Hadoop系列之FieldSelectionMapReduce用法
  9. 死磕算法!35 篇算法设计实例+6 本超赞好书打包送你
  10. linux v4l2 示例程序,linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析)...
  11. 转Spring+Hibernate+EHcache配置(二)
  12. 同步调用、异步调用和回调函数
  13. Atitit.获取某个服务 网络邻居列表 解决方案
  14. w ndows7运行命令,如何打开Win7命令提示符cmd.exe窗口
  15. 德标螺纹规格对照表_德标 国标,国际标准中英文对照表
  16. C++ 头文件「ctype.h」里的:isalpha、islower、isupper、isalnum等函数
  17. 解决nginx 503 Service Temporarily Unavailable 方法
  18. matlab length什么意思,matlab中的length什么意思?如何应用?
  19. java获取微信token_Java微信公众平台开发(六)--微信开发中的token获取
  20. 使用OpenWrt创建子网作为二级路由

热门文章

  1. 人机交互软件又添新成员,CarLink认证流程详解
  2. GMAC接口(1)——GMAC简介
  3. js复制本地文件(单条和批量)
  4. 一个可以为你的任何创作加速的神软件
  5. 全球地形起伏模型ETOPO1
  6. 2022年种子行业分析
  7. 智慧停车怎么实现的,停车场寻车是怎么实现的
  8. 从零开始创建自己的区块链应用(JAVA版)
  9. Microsoft XBOX 360 Project Natal 体感装置2010年6月15正式发布产品正式命名为“Kinect”...
  10. [词一首]【相思难断】