当前位置: 首页 > news >正文

教程系列4 | 趋动云『社区项目』极速体验 LivePortrait 人脸表情“移花接木”大法

图片

LivePortrait

LivePortrait 由快手可灵大模型团队开源,只需 1 张原图就能生成动态视频。

LivePortrait 的核心优势在于其卓越的表情"迁移"技术,能够令静态图像中的人物瞬间焕发活力,无论是眨眼、微笑还是转头,皆栩栩如生。

更令人惊叹的是,它能精准捕捉并复现一个人的表情动态至另一人身上,跨越风格界限,无论是追求写实的细腻、油画的韵味、雕塑的立体感,还是 3D 渲染的逼真效果,均能实现无缝融合,展现无限创意与可能。

  • LivePortrait体验地址:https://huggingface.co/spaces/KwaiVGI/LivePortrait

  • 论文:https://arxiv.org/abs/2407.03168

  • Github:https://github.com/KwaiVGI/LivePortrait

  • 项目主页:https://liveportrait.github.io/

LivePortrait 现已入驻趋动云『社区项目』,欢迎前来体验。

  • 项目入口:https://open.virtaicloud.com/web/project/detail/471225500640112640

图片

一键激活,人脸灵动魔法秀

进入【LivePortrait】让人脸动起来的魔法秀项目主页中,下滑可以浏览该项目的详细介绍。

图片

运行一下,将项目一键克隆到工作空间,『社区项目』推荐适用的算力规格,可以直接立即运行。省去个人下载数据、模型和计算算例的大量准备时间。

图片

图片

图片

配置完成,点击进入开放环境,根据项目主页介绍进行部署。『社区项目』给出两种方案,我们一一进行实操。

图片

使用命令行

演示一:原始输入为图片

运行代码:

!cd LivePortrait && \
python inference.py -s assets/examples/source/7252.jpg -d assets/examples/driving/d18.mp4

图片

你可以根据上图标注提示更换原始输入图片和所要使用的驱动视频,图片和驱动视频在相应的文件夹中都有提供案例,方便使用。

运行结果,可以执行以下代码查看,也可以在文件夹中找到输出视频下载到本地查看。

import base64
from IPython.display import HTML, display
video_path = '/gemini/code/LivePortrait/animations/7252--d18_concat.mp4'
with open(video_path, 'rb') as f:video_data = f.read()
video_base64 = base64.b64encode(video_data).decode('utf-8')
video_html = f"""
<video width="640" height="480" controls><source src="data:video/mp4;base64,{video_base64}" type="video/mp4">Your browser does not support the video tag.
</video>
"""
display(HTML(video_html))

图片

演示二:原始输入为视频

操作和上面一致,只是比上一步要多花一些时间。需要将图片更换成source文件夹有的视频即可。

图片

例如,这里演示原始输入视频用s18.mp4,驱动视频用d18.mp4

演示三:使用个人的驱动视频

使用自己的驱动视频时,官方推荐:

  1. 将视频裁剪为1:1的长宽比(例如,512x512或256x256像素),或通过 --flag_crop_driving_video 参数启用自动裁剪功能

  2. 专注于头部区域,与示例视频类似

  3. 减少肩部的运动

  4. 确保驱动视频的第一帧是面部正对镜头的且表情中立的

执行代码:

!cd LivePortrait && \
python inference.py -s assets/examples/source/s725.jpg -d assets/myexamples/myvideo.mp4 --flag_crop_driving_video

图片

图片

使用WebUI

运行代码

# 如果出现public URL无法生成的情况,可以运行注释掉的这两条指令试试
# !cp ./frpc_linux_amd64_v0.2 /root/miniconda3/lib/python3.11/site-packages/gradio && \
# chmod +x /root/miniconda3/lib/python3.11/site-packages/gradio/frpc_linux_amd64_v0.2!cd LivePortrait && \
python app.py --server_port 6006 --server_name 0.0.0.0 --share

图片

根据下图提示添加端口,获取外部访问链接,可在浏览器中打开。

图片

添加端口

图片

图片

根据页面提示,上传原始图片或视频(也可以直接使用官方提供的案例图像视频)、驱动视频(也有官方提供的)。如图所示:

图片

第三步生成。

图片

➫温馨提示: 完成项目后,记得及时关闭开发环境,以免继续产生费用!

智汇全球,趋动未来

『社区项目』汇聚全球智慧,促进技术交流的宝贵平台。现已上线多款一键克隆、秒速部署的精品项目,诚邀您来体验。

图片

同时,我们热切盼望每一位码友加入,分享您的杰作,共筑这个充满活力与创新的技术乐园。让我们并肩同行,在技术的浩瀚宇宙中持续探索,共同成长!

教程系列1 | 趋动云『社区项目』极速部署 SD WebUI
教程系列2 | 趋动云『社区项目』一步实现与 AI 对话
教程系列3 | 趋动云『社区项目』一键极速部署 PhotoMaker,解锁 AI 绘画奇妙之旅

趋动云

相关文章:

教程系列4 | 趋动云『社区项目』极速体验 LivePortrait 人脸表情“移花接木”大法

LivePortrait LivePortrait 由快手可灵大模型团队开源&#xff0c;只需 1 张原图就能生成动态视频。 LivePortrait 的核心优势在于其卓越的表情"迁移"技术&#xff0c;能够令静态图像中的人物瞬间焕发活力&#xff0c;无论是眨眼、微笑还是转头&#xff0c;皆栩栩如…...

WGS84、GCJ-02、BD09三大坐标系详解

文章目录 前言WGS84坐标系定义应用WGS84 Web 墨卡托投影 GCJ-02坐标系&#xff08;火星坐标系&#xff09;定义应用GCJ-02经纬度投影与Web墨卡托投影 BD09坐标系&#xff08;百度坐标系&#xff09;定义应用BD09经纬度投影与Web墨卡托投影 坐标系之间的区别与注意事项总结 前言…...

css上下动画 和淡化

.popup_hidden_bg { transition: opacity .5s ease-out; opacity: 0; pointer-events: none; /* 防止在隐藏时仍然能点击 */ } keyframes popupShop { from { transform: translateY(100%); opacity: 0; } to {transform: translateY(0);opacity: 1; }} keyframes popupHidd…...

深入解析C#中的URI和URL编码:理解EscapeDataString、EscapeUriString和UrlEncode的区别及字符编码错误处理

在C#中&#xff0c;处理URI&#xff08;统一资源标识符&#xff09;和URL&#xff08;统一资源定位符&#xff09;时&#xff0c;可以使用Uri.EscapeDataString、Uri.EscapeUriString和HttpUtility.UrlEncode&#xff08;或WebUtility.UrlEncode&#xff09;方法来编码字符串。…...

【CSS】给图片设置 max-width

.logo img{width:100%; /* 缩成父盒子的100% */max-width:100%; /* (谁小用谁的百分之百) *//* max-width:100%;【1】图片比盒子大&#xff0c;缩成父盒子的100%【2】图片比盒子小&#xff0c;图片自身的100%*/ }示例 设置样式 .el-image {width: 100%;max-width: 100%;max-…...

区块链——代码格式检查(prettier、solhint)

一、引入依赖 // 导入prettier prettier-plugin-solidity yarn add --dev prettier prettier-plugin-solidity yarn add --dev solhint二、创建.prettierrc文件 {"tabWidth": 2,"semi": false,"useTabs": false,"singleQuote": fals…...

搭建自动化 Web 页面性能检测系统 —— 部署篇

作为一个前端想去做全栈的项目时&#xff0c;可能第一个思路是 node vue/react。一开始可能会新建多个工程目录去实现&#xff0c;假设分别为 web 和 server&#xff0c;也许还有管理后台的代码 admin&#xff0c;那么就有了三个工程的代码。此时为了方便管理就需要在远程仓库…...

知识图谱增强的RAG(KG-RAG)详细解析

转自&#xff1a;知识图谱科技 这是一个与任务无关的框架&#xff0c;它将知识图谱&#xff08;KG&#xff09;的显性知识与大型语言模型&#xff08;LLM&#xff09;的隐含知识结合起来。这是该工作的arXiv预印本 https://arxiv.org/abs/2311.17330 。 我们在这里利用一个名为…...

python中list的深拷贝和浅拷贝

其实这还是涉及到python中的可变对象和不可变对象的概念。 https://www.cnblogs.com/poloyy/p/15073168.html # -*- coding: utf-8 -*-person [name, [savings, 100.00]] hubby person[:] # slice copy wifey list(person) # fac func copy a [id(x) for x in person] b …...

【LeetCode】字母异位词分组

题目描述&#xff1a; 给你一个字符串数组&#xff0c;请你将字母异位词组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 输出: [[“bat”…...

Golang | Leetcode Golang题解之第295题数据流的中位数

题目&#xff1a; 题解&#xff1a; type MedianFinder struct {nums *redblacktree.Treetotal intleft, right iterator }func Constructor() MedianFinder {return MedianFinder{nums: redblacktree.NewWithIntComparator()} }func (mf *MedianFinder) AddNum(…...

【C语言】C语言期末突击/考研--数据的输入输出

目录 一、printf()输出函数介绍 二、scanf读取标准输入 &#xff08;一&#xff09;scanf函数的原理 &#xff08;二&#xff09;多种数据类型混合输入 三、练习题 今天我们学习printf和scanf读取标准输入。下面我们开始正式的学习吧。 C语言中有很多内置函数&#xff0c;今…...

How can I fix my Flask server‘s 405 error that includes OpenAi api?

题意&#xff1a;解决包含OpenAI API的Flask服务器中出现的405错误&#xff08;Method Not Allowed&#xff0c;即方法不允许&#xff09; 问题背景&#xff1a; Im trying to add an API to my webpage and have never used any Flask server before, I have never used Java…...

LeetCode Hot100 将有序数组转换为二叉搜索树

给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视为正确…...

【Linux】线程的控制

目录 线程等待 线程退出 线程的优缺点 线程独占和共享的数据 我们说Linux是用进程模拟的线程&#xff0c;所以Linux中只有轻量级进程的概念&#xff0c;但是&#xff0c;用户是只认线程的&#xff0c;所以我们有一个叫原生线程库的东西&#xff0c;它就负责把轻量级进程的系…...

Vue3自研开源Tree组件:人性化的拖拽API设计

针对Element Plus Tree组件拖拽功能API用的麻烦&#xff0c;小卷开发了一个API使用简单的JuanTree组件。拖拽功能用起来非常简单&#xff01; 文章目录 使用示例allowDragallowDrop支持节点勾选支持dirty检测后台API交互 源码实现 使用示例 组件的使用很简单&#xff1a; 通过…...

MYSQL--触发器详解

触发器 1.触发器简介 触发器&#xff08;trigger&#xff09;是一个特殊的存储过程&#xff0c;它的执行不是由程序调用&#xff0c;也不是手工启动&#xff0c;而是由事件来触发&#xff0c;比如当对一个表进行操作&#xff08; insert&#xff0c;delete&#xff0c; update…...

C++实用指南:Lambda 表达式的妙用

Lambda 表达式的灵活性和强大功能确实为编程提供了许多便利。但是我们发现许多开发者仍然无法灵活运用其便利&#xff0c;于是写了这篇文章。 Lambda 允许我们编写更简洁和灵活的代码。例如在处理网络请求时&#xff0c;我们经常需要确保响应与当前的状态或需求仍然相关。通过…...

FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论

源码见&#xff1a;"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 梳理下思路 1.判断是否登录 2.课程是否存在 3.如果是回复&#xff0c;查看回复是否存在 4.是否有权限 5.发起评论 首先新增pydantic模型 class Cour…...

基于springboot+vue+uniapp的居民健康监测小程序

开发语言&#xff1a;Java框架&#xff1a;springbootuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#…...

免费LLM API实战指南:从选型到架构设计,低成本构建AI应用

1. 项目概述与核心价值 最近在折腾一些AI应用原型&#xff0c;或者想给现有产品加个智能对话功能&#xff0c;第一反应往往是去找OpenAI的API。但说实话&#xff0c;对于个人开发者、学生&#xff0c;或者只是想低成本验证想法的小团队来说&#xff0c;GPT-4级别的API调用费用&…...

ComfyUI-Impact-Pack完全指南:如何彻底解决AI图像细节增强难题

ComfyUI-Impact-Pack完全指南&#xff1a;如何彻底解决AI图像细节增强难题 【免费下载链接】ComfyUI-Impact-Pack Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, and more. 项目地址: …...

用Arduino和MAX30102做个心率血氧仪,从硬件连线到算法调试全流程避坑

从零构建Arduino心率血氧仪&#xff1a;MAX30102实战指南 开篇&#xff1a;为什么选择MAX30102&#xff1f; 在可穿戴健康设备爆发的时代&#xff0c;心率血氧监测已成为智能手环的标配功能。而MAX30102这颗高度集成的光学传感器&#xff0c;正以医用级精度和低功耗特性成为创客…...

探索War3编辑器(7):从触发器GUI到JASS脚本的进阶实践

1. 为什么需要从GUI转向JASS脚本 很多War3地图作者刚开始都会使用图形化触发器界面&#xff08;GUI&#xff09;来制作游戏逻辑&#xff0c;毕竟点点鼠标就能完成功能确实很方便。但当你想要实现更复杂的效果时&#xff0c;比如循环判断系统、动态技能机制或者高级AI行为&#…...

打造高效愉悦的开发环境:从工具选型到实战配置全指南

1. 项目概述与核心价值最近在整理自己的开发工具箱时&#xff0c;发现了一个非常有意思的GitHub仓库&#xff0c;叫做awesome-vibe-coding-tools。这个标题本身就充满了吸引力——“Awesome”系列通常意味着精选和高质量&#xff0c;“Vibe”这个词则暗示着一种氛围、感觉或体验…...

别再为nRF52840开发环境头疼了!Win10 + Keil5 + SDK 16.0.0 保姆级配置指南

nRF52840开发环境配置&#xff1a;从零搭建到实战调试的全流程指南 1. 开发环境搭建前的准备工作 对于初次接触nRF52840的开发者来说&#xff0c;环境配置往往是第一个拦路虎。不同于常见的STM32开发环境&#xff0c;nRF52840的开发需要Nordic特有的SDK支持&#xff0c;同时还…...

3个秘籍解锁百度网盘提取码:告别繁琐搜索的智能解决方案

3个秘籍解锁百度网盘提取码&#xff1a;告别繁琐搜索的智能解决方案 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾在深夜急需下载学习资料&#xff0c;却被一个简单的提取码困住&#xff1f;或者在工作汇报前&#…...

渗透测试技巧(七)| 系统提权

系统提权基础 实战过程中,你通过漏洞(上传漏洞、弱口令、Web 漏洞)打进服务器,一般只能对应应用服务的账户权限。这个权限常常属于低权限账户,无法查看账号密码、配置系统文件、获取敏感数据等,这时就需要提权!提权就是把低权限账号升级为系统最高权限,从而完全控制服…...

【日常小问】解决 Jenkins 部署 Spring Cloud 微服务到 Docker 容器启动失败的问题

一、问题出现在使用 Jenkins 进行 CI/CD 部署 Spring Cloud 微服务项目时&#xff0c;遇到了一个让人头疼的问题&#xff1a;所有通过 Jenkins 构建的 Docker 容器启动后立即退出&#xff0c;状态码为 Exited (1)。查看容器日志&#xff0c;报错信息如下&#xff1a;**********…...

Python: Condition Variable Pattern

项目结构&#xff1a; # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ # 许可信息查看&#xff1a;言語成了邀功盡責的功臣&#xff0c;還需要行爲每日來值班嗎 # 描述&#xff1a;Condition Variable Pattern 条件变量模式 # Author : geovindu,Geovin Du …...