首页 > 其他分享 >liveportrait_pytorch可以实现静态图模仿动态图面部动作AIGC模型

liveportrait_pytorch可以实现静态图模仿动态图面部动作AIGC模型

时间:2024-09-09 08:53:52浏览次数:11  
标签:assets driving -- AIGC python pytorch video examples 动态图

LivePortrait

论文

LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control

模型结构

模型基于face vid2vid,并在此基础上进行改进。主要为,使用ConvNeXt-V2-Tiny作为backbone将原始的规范隐式关键点检测器L、头部姿态估计网络H和表情变形估计网络 Δ统一成一个单一的模型M,使用SPADE decoder作为生成器(在最后一层插入PixelShuffle)。

算法原理

该算法采用基于隐式关键点框架,在模型中引入缩放因子,使用高质量数据集及级联损失函数进行两阶段训练。

环境配置

Docker(方法一)

docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10

docker run --shm-size 50g --network=host --name=liveportrait --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

pip install -r requirements_docker.txt

apt update && apt install ffmpeg

Dockerfile(方法二)

docker build -t <IMAGE_NAME>:<TAG> .

docker run --shm-size 50g --network=host --name=liveportrait --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

pip install -r requirements_docker.txt

apt update && apt install ffmpeg

Anaconda (方法三)

1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装: https://developer.hpccube.com/tool/

DTK驱动:dtk24.04.1
python:python3.10
torch: 2.1.0
torchvision: 0.16.0
torchaudio: 2.1.2
triton: 2.1.0
onnxruntime: 1.15.0

Tips:以上dtk驱动、python、torch等DCU相关工具版本需要严格一一对应

2、其它非特殊库参照requirements.txt安装

pip install -r requirements_base.txt

conda install -c conda-forge ffmpeg

数据集

训练

推理

命令行

# 快速测试
python inference.py

# 指定图像及视频
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4

# disable pasting back to run faster
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4 --no_flag_pasteback

# 查看更多参数
python inference.py -h

# 使用pkl文件加速推理,同时保护隐私
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d5.pkl

数据准备及处理

1、裁剪成 1:1 的宽高比(例如,512x512 或 256x256 像素),或者通过 --flag_crop_driving_video 启用自动裁剪。

2、关注头部区域,类似于示例视频

3、尽量减少肩膀的移动。

4、确保驱动视频的第一帧是正面表情的中性脸。

python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d13.mp4 --flag_crop_driving_video

注意:如果您发现自动裁剪的结果不够理想,您可以修改 --scale_crop_video 和 --vy_ratio_crop_video 选项来调整缩放和偏移量,或者手动进行调整。

webui

python app.py --server_name 0.0.0.0 --server_port 12321

result

source imgdriving videooutput

从左至右依次为driving video, source video以及output

精度

应用场景

算法类别

AIGC

热点应用行业

零售,广媒,教育

预训练权重

Baidu Yun | SCNet 高速通道

pretrained_weights
├── insightface
│   └── models
│       └── buffalo_l
│           ├── 2d106det.onnx
│           └── det_10g.onnx
└── liveportrait
    ├── base_models
    │   ├── appearance_feature_extractor.pth
    │   ├── motion_extractor.pth
    │   ├── spade_generator.pth
    │   └── warping_module.pth
    ├── landmark.onnx
    └── retargeting_models
        └── stitching_retargeting_module.pth

源码仓库及问题反馈

参考资料

Release Notes

  • 更多特性请等待torch2.3

标签:assets,driving,--,AIGC,python,pytorch,video,examples,动态图
From: https://blog.csdn.net/qq_27815483/article/details/141391737

相关文章

  • 【愚公系列】《AIGC辅助软件开发》018-AI辅助后端编程:快速生成接口文档
    ......
  • 【愚公系列】《AIGC辅助软件开发》019-AI 辅助测试与调试:AI辅助测试与调试应用案例
    ......
  • 每天五分钟玩转深度学习框架PyTorch:将nn的神经网络层连接起来
    本文重点前面我们学习pytorch中已经封装好的神经网络层,有全连接层,激活层,卷积层等等,我们可以直接使用。如代码所示我们直接使用了两个nn.Linear(),这两个linear之间并没有组合在一起,所以forward的之后,分别调用了,在实际使用中我们常常将几个神经层组合在一起,这样不仅操作方便,而且......
  • AIGC到底如何改变创意设计?​
    一、引言(一)创意设计的重要性创意设计在当今社会中扮演着至关重要的角色。它不仅能够满足人们对于美的追求,还能够为产品或服务增加价值,提升竞争力。在数字化时代,创意设计更是成为了企业和品牌吸引消费者的重要手段。然而,随着AIGC技术的不断发展,创意设计领域也面临着前所未有的挑战......
  • 入门pytorch
    ###卷积神经网络模型 卷积神经网络(简称CNN)是一种专为图像输入而设计的网络。它最明显的特征就是具有三个层次,卷积层,池化层,全连接层。 借用一张图,下图很好的表示了什么是卷积(提取特征),什么是池化(减少数据量),而全连接层就是一个简单普通的神经网络。  如下代码,该代码定......
  • PyTorch--Tensor拼接、切分、置换
    目录1、拼接torch.cat()torch.stacks()2、切分torch.chunk()torch.split() 3、置换1、拼接torch.cat()torch.cat(tensors,dim=0,out=None):将张量按照dim维度进行拼接torch.stacks()torch.stacks(tensors,dim=0,out=None):将张量在新创建的dim维度上进行拼接(te......
  • 基于yolov10的行人跌倒检测系统,支持图像检测,也支持视频和摄像实时检测(pytorch框架)【py
       更多目标检测和图像分类识别项目可看我主页其他文章功能演示:基于yolov10的行人跌倒检测系统,支持图像、视频和摄像实时检测【pytorch框架、python】_哔哩哔哩_bilibili(一)简介基于yolov10的行人跌倒检测系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训......
  • 掌握动态图表:使用Python的Matplotlib库实现动态数据可视化
    在数据可视化领域,Matplotlib库是Python中最流行和功能强大的工具之一。它能够生成各种静态图表,如散点图、折线图和柱状图等。然而,Matplotlib也提供了创建动态图表的功能,使得我们能够以动画的方式展示数据的变化趋势,从而更直观地理解数据。本文将介绍如何使用Matplotlib库创建动态图......
  • 8章8节:绘制自定义的高质量动态图和交互式动态图
    在数据科学和数据可视化的领域,动态图和交互式图形越来越受到重视,因为它们可以帮助用户更好地理解数据并发现潜在的模式。R语言作为数据分析和可视化的强大工具,提供了丰富的功能来创建这些图形。一、认识动态图动态图,顾名思义,是一种可以随时间或某些变量的变化而动态呈现的......
  • AIGC月刊 | 大模型/多模态/文生图/AI视频最新技术进展(2024.8月第四期)|【魔方AI新视界
    〔更多精彩AI内容,尽在 「魔方AI空间」 公众号,引领AIGC科技时代〕关注了解更多AI内容本文作者:猫先生AIGCmagic社区知识库(免费访问)原文地址:AIGC月刊|大模型/多模态/文生图/AI视频最新技术进展(2024.8月第四期)【魔方AI新视界】写在前面【魔方AI新视界】专栏致......