LivePortrait:一种让照片动起来的开源技术方案
bigegpt 2025-01-23 15:28 34 浏览
有一款开源项目,它主要功能就是让静态照片动起来。
你只需要提供两个素材,第一个素材是让谁动。就比如下面的这个兵马俑。
第二个素材是如何动,就比如下面这个视频。
然后,将这俩数据交给开源项目处理,最终就得出如下结果。
不但对一个人有效,多个人也可以了。
不但对人类有效,萌宠动物或者二次元也行。
试用网址是:https://huggingface.co/spaces/KwaiVGI/LivePortrait 这个网址是研究和学习用的。
只需要上传那两个素材,然后点击确定。
就可以获得一个会动的视频。
好了。上面这些操作,其实就可以卖钱了。
有很多人利用信息差,白嫖这项开源技术。用上面的网址,制作一些亲人照片怀念视频、萌宠搞怪视频进行售卖。你得开个会员,或者花上九块九才能使用一次。
下面部分内容是给技术人员看的。如果你对此感兴趣,想进一步了解其中的原理,可以继续阅读。
这项开源框架叫LivePortrait,它是具有拼接和重定向控制的高效肖像动画。它的论文概要内容如下:
肖像动画旨在从单一源图像合成逼真的视频,将其用作外观参考。我们没有遵循主流的基于扩散的方法,而是探索和扩展了基于隐式关键点的框架的潜力,从而有效地平衡了计算效率和可控性。为了提高生成质量和泛化能力,我们将训练数据扩展到大约6900万个高质量帧,采用混合图像-视频训练策略,升级网络架构,并设计更好的运动转换和优化目标。此外,我们发现紧凑的隐式关键点可以有效地表示一种混合形状,并精心提出了一个拼接和两个重新定位模块,它们利用一个计算开销可忽略不计的小型MLP来增强可控性。实验结果表明,与基于扩散的方法相比,我们的框架是有效的。在RTX 4090 GPU上使用 PyTorch的生成速度显著达到12.8毫秒。推理代码和模型可在 https://github.com/KwaiVGI/LivePortrait 获得。
技术人员如何自己搭建呢?
对于技术人员,最直观的方式就是去官方的ReadMe.md文档查看 https://github.com/KwaiVGI/LivePortrait
这里面不但有入门操作,项目源码,还有版本更新说明。
比如在7月19日,框架开始支持视频编辑,又名v2v。照片到视频是p2v,即picture to video。v2v就是视频到视频。
图片到视频是让静态图片动起来,感觉很有用。
但是视频到视频有什么用呢?
举个例子,比如有个美女跳舞,她走的是冷酷风。但是老板想让她走嘻哈风,但是美女就是不从。这时就可以找个爱笑的女孩子,通过v2v让不爱笑的美女笑起来。
其实,你们网上看得那些武松和潘金莲、孙悟空和白骨精的改编版,估计用的也是v2v这项技术。
好了,下面就说说如何搭建和使用。7月25日,官方发布了安装包,可以通过下载安装包直接使用。甚至连搭建都不用了。解压即可使用。
两个下载地址如下:
- https://huggingface.co/cleardusk/LivePortrait-Windows/tree/main
- https://pan.baidu.com/s/1FWsWqKe0eNfXrwjEhhCqlw?pwd=86q2
如果,你还有执念,就是想自己搭建,并且融于到自己的产品中。那么继续往下看。
我们用conda管理环境,首先要准备一个新环境。相当于给项目批了一块地。
conda create -n LivePortrait python=3.9
conda activate LivePortrait
然后,将源码下载下来,存放到一个位置。并且进入文件目录。
git clone https://github.com/KwaiVGI/LivePortrait
cd LivePortrait
下载源码,可以用git形式。也可以直接下载zip文件。
第三步,准备运行支持环境。上面新建了一个环境,批了一块地。现在要进行装修和水电网的铺设。安装采用pip。
# Linux和Windows用户执行这个
pip install -r requirements.txt
# macOS用户用这个
pip install -r requirements_macOS.txt
requirements.txt里面是:
-r requirements_base.txt
onnxruntime-gpu==1.18.0
requirements_macOS.txt里面是:
-r requirements_base.txt
onnxruntime-silicon==1.16.3
他们都有requirements_base.txt,然后区分了一些系统特性。
我们看requirements_base.txt里面是这样:
--extra-index-url https://download.pytorch.org/whl/cu118
torch==2.3.0
torchvision==0.18.0
torchaudio==2.3.0
numpy==1.26.4
pyyaml==6.0.1
opencv-python==4.10.0.84
scipy==1.13.1
imageio==2.34.2
lmdb==1.4.1
tqdm==4.66.4
rich==13.7.1
ffmpeg-python==0.2.0
onnx==1.16.1
scikit-image==0.24.0
albumentations==1.4.10
matplotlib==3.9.0
imageio-ffmpeg==0.5.1
tyro==0.8.5
gradio==4.37.1
pykalman==0.9.7
很明显,它是需要GPU的。就算是你下载上面那个windows版本的压缩包,也需要你电脑具有GPU。
准备完环境就具备了运行资格。下一步是下载模型权重。不用你训练,只需要你下载人家训练好的模型,放到你电脑中使用即可。
官方的给出的方式比较国际化:
git clone https://huggingface.co/KwaiVGI/LivePortrait temp_pretrained_weights
mv temp_pretrained_weights/* pretrained_weights/
rm -rf temp_pretrained_weights
其实,在实际操作中,一般很难执行。最好还是去用浏览器下载,然后放到文件目录中。
以下是百度云下载地址:
- https://pan.baidu.com/share/init?surl=MGctWmNla_vZxDbEp2Dtzw&pwd=z5cn
下载完了,让文件解压并将它们放在./pretrained_weights。其实这一步和上面命令行执行的步骤一样。哪一个能走通,更好实现,就走哪一步。
但是,不管怎样,你要确保最终存放模型的文件夹里是这样的结构:
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
最后一步啦,最后一步!开始享受使用过程!准备好两类素材,一个让什么动,一般是图片(假设名字叫p.jpg)。另一个如何动,一般是视频(假设名字叫v.mp4)。然后在环境中,在项目目录下,执行以下命令:
python inference.py -s p.jpg -d v.mp4
此时会在animations文件夹下生成结果。
如果你一时间找不到素材,也可以使用项目里提供的素材。位置在 assets/examples/下。里面有图片也有视频。
如果想要操作视频到视频,命令如下:
python inference.py -s v1.mp4 -d v2.mp4
关于更多的内容,开发者可以去看官方说明,里面讲解的很详细。
相关推荐
- 【Docker 新手入门指南】第十章:Dockerfile
-
Dockerfile是Docker镜像构建的核心配置文件,通过预定义的指令集实现镜像的自动化构建。以下从核心概念、指令详解、最佳实践三方面展开说明,帮助你系统掌握Dockerfile的使用逻...
- Windows下最简单的ESP8266_ROTS_ESP-IDF环境搭建与腾讯云SDK编译
-
前言其实也没啥可说的,只是我感觉ESP-IDF对新手来说很不友好,很容易踩坑,尤其是对业余DIY爱好者搭建环境非常困难,即使有官方文档,或者网上的其他文档,但是还是很容易踩坑,多研究,记住两点就行了,...
- python虚拟环境迁移(python虚拟环境conda)
-
主机A的虚拟环境向主机B迁移。前提条件:主机A和主机B已经安装了virtualenv1.主机A操作如下虚拟环境目录:venv进入虚拟环境:sourcevenv/bin/active(1)记录虚拟环...
- Python爬虫进阶教程(二):线程、协程
-
简介线程线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元,由线程ID、程序计数器、寄存器集合和堆栈共同组成。线程的引入减小了程序并发执行时的开销,提高了操作系统的并发性能...
- 基于网络安全的Docker逃逸(docker)
-
如何判断当前机器是否为Docker容器环境Metasploit中的checkcontainer模块、(判断是否为虚拟机,checkvm模块)搭配学习教程1.检查根目录下是否存在.dockerenv文...
- Python编程语言被纳入浙江高考,小学生都开始学了
-
今年9月份开始的新学期,浙江省三到九年级信息技术课将同步替换新教材。其中,新初二将新增Python编程课程内容。新高一信息技术编程语言由VB替换为Python,大数据、人工智能、程序设计与算法按照教材...
- CentOS 7下安装Python 3.10的完整过程
-
1.安装相应的编译工具yum-ygroupinstall"Developmenttools"yum-yinstallzlib-develbzip2-develope...
- 如何在Ubuntu 20.04上部署Odoo 14
-
Odoo是世界上最受欢迎的多合一商务软件。它提供了一系列业务应用程序,包括CRM,网站,电子商务,计费,会计,制造,仓库,项目管理,库存等等,所有这些都无缝集成在一起。Odoo可以通过几种不同的方式进...
- Ubuntu 系统安装 PyTorch 全流程指南
-
当前环境:Ubuntu22.04,显卡为GeForceRTX3080Ti1、下载显卡驱动驱动网站:https://www.nvidia.com/en-us/drivers/根据自己的显卡型号和...
- spark+python环境搭建(python 环境搭建)
-
最近项目需要用到spark大数据相关技术,周末有空spark环境搭起来...目标spark,python运行环境部署在linux服务器个人通过vscode开发通过远程python解释器执行代码准备...
- centos7.9安装最新python-3.11.1(centos安装python环境)
-
centos7.9安装最新python-3.11.1centos7.9默认安装的是python-2.7.5版本,安全扫描时会有很多漏洞,比如:Python命令注入漏洞(CVE-2015-2010...
- Linux系统下,五大步骤安装Python
-
一、下载Python包网上教程大多是通过官方地址进行下载Python的,但由于国内网络环境问题,会导致下载很慢,所以这里建议通过国内镜像进行下载例如:淘宝镜像http://npm.taobao.or...
- centos7上安装python3(centos7安装python3.7.2一键脚本)
-
centos7上默认安装的是python2,要使用python3则需要自行下载源码编译安装。1.安装依赖yum-ygroupinstall"Developmenttools"...
- 利用本地数据通过微调方式训练 本地DeepSeek-R1 蒸馏模型
-
网络上相应的教程基本都基于LLaMA-Factory进行,本文章主要顺着相应的教程一步步实现大模型的微调和训练。训练环境:可自行定义,mac、linux或者window之类的均可以,本文以ma...
- 【法器篇】天啦噜,库崩了没备份(天啦噜是什么意思?)
-
背景数据库没有做备份,一天突然由于断电或其他原因导致无法启动了,且设置了innodb_force_recovery=6都无法启动,里面的数据怎么才能恢复出来?本例采用解析建表语句+表空间传输的方式进行...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- skip-name-resolve (63)
- linuxlink (65)
- pythonwget (67)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)