CV:利用人工智能算法让古代皇帝画像以及古代四大美女画像动起来(模仿偶像胡歌剧中角色表情动作)


忧伤等于棒球
忧伤等于棒球 2022-09-19 12:17:09 51319
分类专栏: 资讯

CV:利用人工智能算法让古代皇帝画像以及古代四大美女画像动起来(模仿偶像胡歌剧中角色表情动作)
利用人工智能算法让古代四大美女画像动起来(模仿偶像胡歌剧中角色表情动作)

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

目录

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

相关论文

输出结果

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

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

实现代码

依赖环境

导出当前依赖环境txt文档


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

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

相关论文

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

输出结果

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

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

实现代码

  1. import imageio
  2. import torch
  3. from tqdm import tqdm
  4. from animate import normalize_kp
  5. from demo import load_checkpoints
  6. import numpy as np
  7. import matplotlib.pyplot as plt
  8. import matplotlib.animation as animation
  9. from skimage import img_as_ubyte
  10. from skimage.transform import resize
  11. import cv2
  12. import os
  13. import argparse
  14. ap = argparse.ArgumentParser()
  15. ap.add_argument("-i", "--input_image", required=True,help="Path to image to animate")
  16. ap.add_argument("-c", "--checkpoint", required=True,help="Path to checkpoint")
  17. ap.add_argument("-v","--input_video", required=False, help="Path to video input")
  18. args = vars(ap.parse_args())
  19. print("[INFO] loading source image and checkpoint...")
  20. source_path = args['input_image']
  21. checkpoint_path = args['checkpoint']
  22. if args['input_video']:
  23. video_path = args['input_video']
  24. else:
  25. video_path = None
  26. source_image = imageio.imread(source_path)
  27. source_image = resize(source_image,(256,256))[..., :3]
  28. generator, kp_detector = load_checkpoints(config_path='config/vox-256.yaml', checkpoint_path=checkpoint_path)
  29. if not os.path.exists('output'):
  30. os.mkdir('output')
  31. relative=True
  32. adapt_movement_scale=True
  33. cpu=False
  34. if video_path:
  35. cap = cv2.VideoCapture(video_path)
  36. print("[INFO] Loading video from the given path")
  37. else:
  38. cap = cv2.VideoCapture(0)
  39. print("[INFO] Initializing front camera...")
  40. fourcc = cv2.VideoWriter_fourcc(*'MJPG')
  41. out1 = cv2.VideoWriter('output/Animation_HuGe_02.avi', fourcc, 12, (256*3 , 256), True)
  42. cv2_source = cv2.cvtColor(source_image.astype('float32'),cv2.COLOR_BGR2RGB)
  43. with torch.no_grad() :
  44. predictions = []
  45. source = torch.tensor(source_image[np.newaxis].astype(np.float32)).permute(0, 3, 1, 2)
  46. if not cpu:
  47. source = source.cuda()
  48. kp_source = kp_detector(source)
  49. count = 0
  50. while(True):
  51. ret, frame = cap.read()
  52. frame = cv2.flip(frame,1)
  53. if ret == True:
  54. if not video_path:
  55. x = 143
  56. y = 87
  57. w = 322
  58. h = 322
  59. frame = frame[y:y+h,x:x+w]
  60. frame1 = resize(frame,(256,256))[..., :3]
  61. if count == 0:
  62. source_image1 = frame1
  63. source1 = torch.tensor(source_image1[np.newaxis].astype(np.float32)).permute(0, 3, 1, 2)
  64. kp_driving_initial = kp_detector(source1)
  65. frame_test = torch.tensor(frame1[np.newaxis].astype(np.float32)).permute(0, 3, 1, 2)
  66. driving_frame = frame_test
  67. if not cpu:
  68. driving_frame = driving_frame.cuda()
  69. kp_driving = kp_detector(driving_frame)
  70. kp_norm = normalize_kp(kp_source=kp_source,
  71. kp_driving=kp_driving,
  72. kp_driving_initial=kp_driving_initial,
  73. use_relative_movement=relative,
  74. use_relative_jacobian=relative,
  75. adapt_movement_scale=adapt_movement_scale)
  76. out = generator(source, kp_source=kp_source, kp_driving=kp_norm)
  77. predictions.append(np.transpose(out['prediction'].data.cpu().numpy(), [0, 2, 3, 1])[0])
  78. im = np.transpose(out['prediction'].data.cpu().numpy(), [0, 2, 3, 1])[0]
  79. im = cv2.cvtColor(im,cv2.COLOR_RGB2BGR)
  80. joinedFrame = np.concatenate((cv2_source,im,frame1),axis=1)
  81. cv2.imshow('Test',joinedFrame)
  82. out1.write(img_as_ubyte(joinedFrame))
  83. count += 1
  84. if cv2.waitKey(20) & 0xFF == ord('q'):
  85. break
  86. else:
  87. break
  88. cap.release()
  89. out1.release()
  90. cv2.destroyAllWindows()

依赖环境

  1. C:\Users\Administrator>conda activate F:\File_Anaconda\project_py37\envs
  2. (F:\File_Anaconda\project_py37\envs) C:\Users\Administrator>conda list
  3. packages in environment at F:\File_Anaconda\project_py37\envs:
  4. Name Version Build Channel
  5. attrs 19.3.0 pypi_0 pypi
  6. backcall 0.1.0 pypi_0 pypi
  7. blas 1.0 mkl https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  8. bleach 3.1.5 pypi_0 pypi
  9. ca-certificates 2021.10.26 haa95532_2 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  10. certifi 2021.10.8 py37haa95532_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  11. cffi 1.11.5 pypi_0 pypi
  12. cloudpickle 0.5.3 pypi_0 pypi
  13. colorama 0.4.3 pypi_0 pypi
  14. cpuonly 2.0 0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
  15. cudatoolkit 8.0 4 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  16. cycler 0.10.0 pypi_0 pypi
  17. dask 0.18.2 pypi_0 pypi
  18. decorator 4.3.0 pypi_0 pypi
  19. defusedxml 0.6.0 pypi_0 pypi
  20. entrypoints 0.3 pypi_0 pypi
  21. freetype 2.10.4 hd328e21_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  22. imageio 2.3.0 pypi_0 pypi
  23. importlib-metadata 1.6.0 pypi_0 pypi
  24. intel-openmp 2021.4.0 haa95532_3556 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  25. ipykernel 5.2.1 pypi_0 pypi
  26. ipython 7.14.0 pypi_0 pypi
  27. ipython-genutils 0.2.0 pypi_0 pypi
  28. jedi 0.17.0 pypi_0 pypi
  29. jinja2 2.11.2 pypi_0 pypi
  30. jpeg 9d h2bbff1b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  31. jsonschema 3.2.0 pypi_0 pypi
  32. jupyter-client 6.1.3 pypi_0 pypi
  33. jupyter-core 4.6.3 pypi_0 pypi
  34. kiwisolver 1.0.1 pypi_0 pypi
  35. libpng 1.6.37 h2a8f88b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  36. libtiff 4.2.0 hd0e1b90_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  37. libuv 1.40.0 he774522_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  38. libwebp 1.2.0 h2bbff1b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  39. lz4-c 1.9.3 h2bbff1b_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  40. markupsafe 1.1.1 pypi_0 pypi
  41. matplotlib 2.2.2 pypi_0 pypi
  42. mistune 0.8.4 pypi_0 pypi
  43. mkl 2021.4.0 haa95532_640 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  44. mkl-service 2.4.0 py37h2bbff1b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  45. mkl_fft 1.3.1 py37h277e83a_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  46. mkl_random 1.2.2 py37hf11a4ad_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  47. nbconvert 5.6.1 pypi_0 pypi
  48. nbformat 5.0.6 pypi_0 pypi
  49. networkx 2.1 pypi_0 pypi
  50. ninja 1.10.2 py37h559b2a2_3 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  51. notebook 6.0.3 pypi_0 pypi
  52. numpy 1.15.0 pypi_0 pypi
  53. olefile 0.46 py37_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  54. opencv-python 4.2.0.34 pypi_0 pypi
  55. openssl 1.1.1l h2bbff1b_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  56. packaging 20.4 pypi_0 pypi
  57. pandas 0.23.4 pypi_0 pypi
  58. pandocfilters 1.4.2 pypi_0 pypi
  59. parso 0.7.0 pypi_0 pypi
  60. pickleshare 0.7.5 pypi_0 pypi
  61. pillow 5.2.0 pypi_0 pypi
  62. pip 21.2.4 py37haa95532_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  63. prometheus-client 0.7.1 pypi_0 pypi
  64. prompt-toolkit 3.0.5 pypi_0 pypi
  65. pycparser 2.18 pypi_0 pypi
  66. pygit 0.1 pypi_0 pypi
  67. pygments 2.6.1 pypi_0 pypi
  68. pyparsing 2.2.0 pypi_0 pypi
  69. pyrsistent 0.16.0 pypi_0 pypi
  70. python 3.7.11 h6244533_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  71. python-dateutil 2.7.3 pypi_0 pypi
  72. pytorch 1.0.1 py3.7_cuda80_cudnn7_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
  73. pytorch-mutex 1.0 cpu https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
  74. pytz 2018.5 pypi_0 pypi
  75. pywavelets 0.5.2 pypi_0 pypi
  76. pywin32 227 pypi_0 pypi
  77. pywinpty 0.5.7 pypi_0 pypi
  78. pyyaml 5.1 pypi_0 pypi
  79. pyzmq 19.0.1 pypi_0 pypi
  80. scikit-image 0.14.0 pypi_0 pypi
  81. scikit-learn 0.19.2 pypi_0 pypi
  82. scipy 1.1.0 pypi_0 pypi
  83. send2trash 1.5.0 pypi_0 pypi
  84. setuptools 58.0.4 py37haa95532_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  85. six 1.11.0 pypi_0 pypi
  86. sqlite 3.36.0 h2bbff1b_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  87. terminado 0.8.3 pypi_0 pypi
  88. testpath 0.4.4 pypi_0 pypi
  89. tk 8.6.11 h2bbff1b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  90. toolz 0.9.0 pypi_0 pypi
  91. torchvision 0.2.2 py_3 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
  92. tornado 6.0.4 pypi_0 pypi
  93. tqdm 4.24.0 pypi_0 pypi
  94. traitlets 4.3.3 pypi_0 pypi
  95. typing_extensions 3.10.0.2 pyh06a4308_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  96. vc 14.2 h21ff451_1 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  97. vs2015_runtime 14.27.29016 h5e58377_2 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  98. n-li

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=2302
赞同 0
评论 0 条
忧伤等于棒球L0
粉丝 0 发表 6 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2941
【软件正版化】软件正版化工作要点  2860
统信UOS试玩黑神话:悟空  2819
信刻光盘安全隔离与信息交换系统  2712
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1246
grub引导程序无法找到指定设备和分区  1213
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  163
点击报名 | 京东2025校招进校行程预告  162
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  160
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  157
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!