资讯动态

用PaddleGAN的First-Order运动迁移让静态照片跟随视频动起来

发布时间:2026/8/24 16:53:21 来源:尧图企业网站定制
用PaddleGAN的First-Order运动迁移让静态照片跟随视频动起来【免费下载链接】PaddleGANPaddlePaddle GAN library, including lots of interesting applications like First-Order motion transfer, Wav2Lip, picture repair, image editing, photo2cartoon, image style transfer, GPEN, and so on.项目地址: https://gitcode.com/gh_mirrors/pa/PaddleGAN你手里有一张肖像照或老照片想让它跟着视频里的动作动起来说话、笑、点头。PaddleGAN 的 First-Order 运动迁移功能做的就是这件事给它一张源图像和一段驱动视频它会生成一个视频画面里的主体做出视频中的动作。仓库自带 VoxCeleb 上训练好的预训练模型装完依赖就能直接跑不需要自己训练。 先看效果运动迁移生成什么样先看看做完之后你能得到什么一段源图像里的主体按驱动视频做动作的视频。左侧是源图像右侧几格分别是用不同驱动视频跑出来的动画结果主体始终是左边那张照片里的人。️ 动手实现三步跑出第一个迁移结果这一步的目标很简单在零基础上用仓库自带的示例素材把演示命令完整跑通一次。环境准备克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/pa/PaddleGAN cd PaddleGAN pip install -r requirements.txtrequirements.txt里已包含 PaddlePaddle 等全部依赖。如果没有 GPU运行时加--cpu参数即可流程不变只是更慢。首次运行会自动下载预训练权重到缓存目录不用手动找模型文件。预期你会看到pip install全部成功且能正常import paddle。素材准备一张源图像加一段驱动视频需要准备两样东西一张静态的源图像和一段包含动作的驱动视频。做人脸动作迁移时源图像选正面、清晰、主体居中的照片驱动视频选表情或动作幅度自然、主体在画面中占比较大的片段。方法本身是在同类别数据集上训练的仓库自带的模型在 VoxCeleb 人脸视频上训练所以最擅长人脸表情与动作迁移。仓库里备好了一组示例素材第一次可以直接用它源图像docs/imgs/fom_source_image.png驱动视频docs/imgs/fom_dv.mp4。预期你会看到源图像里有一个清晰的主体驱动视频里的主体与它属于同一类别比如都是人脸。核心命令一条命令跑通运动迁移进入applications目录运行演示脚本cd applications python -u tools/first-order-demo.py \ --source_image ../docs/imgs/fom_source_image.png \ --driving_video ../docs/imgs/fom_dv.mp4 \ --output output \ --relative --adapt_scale脚本内部分两步走先由关键点检测器提取驱动视频每一帧中主体的关键点轨迹再由密集运动网络根据轨迹计算源图像每个像素的运动向量。这就是First-Order的含义只依赖一阶运动信息不需要对图像做 3D 建模。命令里的--relative让关键点使用相对坐标能明显减少主体形变--adapt_scale按关键点凸包自适应运动尺度避免动作幅度和源图像主体不匹配。预期你会看到output目录里生成result.mp4主体跟着驱动视频做动作而长相和画面仍是源图像里的。⚙️ 调优与进阶参数对照表和多人场景跑通之后真正影响成片质量的是下面这几个参数参数默认影响--relative关使用相对关键点坐标人脸迁移建议常开关闭易导致主体扭曲--adapt_scale关按关键点凸包调整运动尺度解决动作过大或过小--ratio0.4贴回原图的人脸区域比例多人脸距离近时在 [0.4, 0.5] 区间微调--image_size256处理分辨率设 512 细节更精细但更慢两种分辨率的差距在这张对比图上能直接看出来设备允许的话优先 512。人脸迁移还可以加--find_best_frame自动对齐最合适的起始帧设备性能有限时可以换移动端优化模型在命令里加--config ../configs/firstorder_vox_mobile_256.yaml --mobile_net模型体积从约 229M 降到 10M 左右速度提升明显。进阶场景是多人照片脚本会用 S3FD 人脸检测器把照片里的每张脸都检测出来逐张驱动再贴回原位置实现多人同时动。一条完整的多人迁移命令cd applications python -u tools/first-order-demo.py \ --source_image group_photo.jpg \ --driving_video talking.mp4 \ --multi_person --image_size 512 \ --relative --adapt_scale --face_enhancement多人照片里人脸间距越大贴回效果越自然。 避坑速查跑完之后先查这三条迁移后主体扭曲变形→ 原因使用了绝对关键点坐标 → 解法命令里加--relative动作幅度对不上主体像飞出去或几乎不动→ 原因驱动视频与源图像尺度不匹配 → 解法加--adapt_scale多人场景再微调--ratio成片偏糊或人脸细节不够→ 原因默认 256 分辨率偏低 → 解法--image_size 512或加--face_enhancement开启人脸增强 延伸入口想再往深里走从这三个文件入手就够了官方教程含原理示意、多人实现与训练部署说明docs/zh_CN/tutorials/motion_driving.md预测器核心源码参数逻辑和多人脸的检测贴回都在这里ppgan/apps/first_order_predictor.py256 分辨率预训练模型配置改数据集训练时参考configs/firstorder_vox_256.yaml跑通演示之后换一张自己的照片试试老照片动起来的效果往往比预期更值得回味。【免费下载链接】PaddleGANPaddlePaddle GAN library, including lots of interesting applications like First-Order motion transfer, Wav2Lip, picture repair, image editing, photo2cartoon, image style transfer, GPEN, and so on.项目地址: https://gitcode.com/gh_mirrors/pa/PaddleGAN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价