ComfyUI_HelloMeme 插件保姆级教程
1. 插件简介
插件地址: https://github.com/HelloVision/ComfyUI_HelloMeme
ComfyUI_HelloMeme 是一个专门用来制作表情包和人脸动画的超强插件!简单来说,它就像一个魔法工具,能让你把一张静态的人脸照片变成会动的表情包,或者让照片里的人做出各种有趣的表情和动作。
这个插件能给我们带来什么效果?
- 🎭 表情迁移:把一个人的表情复制到另一个人脸上,比如让蒙娜丽莎做出你的搞怪表情
- 🎬 人脸动画:让静态照片里的人物动起来,眨眼、说话、点头都可以
- 🎨 风格转换:在保持人脸表情的同时,改变画面风格,比如变成卡通、油画等
- 📹 视频生成:根据驱动视频,让目标人物做出相同的动作和表情
这个插件基于最新的人工智能技术,特别擅长处理人脸的细节,生成的效果非常逼真自然。
2. 如何安装
方法一:通过 ComfyUI Manager 安装(推荐)
- 打开 ComfyUI Manager
- 在搜索框中输入:
hellomeme-api - 找到插件后点击安装
- 重启 ComfyUI
方法二:手动安装
- 打开终端或命令提示符
- 进入你的 ComfyUI 安装目录下的
custom_nodes文件夹 - 运行命令:
git clone https://github.com/HelloVision/ComfyUI_HelloMeme.git - 进入插件目录:
cd ComfyUI_HelloMeme - 安装依赖:
pip install -r requirements.txt - 重启 ComfyUI
重要提示:
- 模型文件需要放在指定位置:
- 基础模型 放在:
ComfyUI/models/checkpoints - LoRA模型 放在:
ComfyUI/models/loras
- 基础模型 放在:
3. 节点详细解析
3.1 HMImagePipelineLoader 节点 - 图片生成器加载器
这个节点就像一个"图片制作工厂的启动器",它负责准备所有制作表情包图片需要的工具和材料。
3.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| checkpoint | checkpoint | 各种预设模型名称 | RealisticVisionV60B1 | 选择画画的"画笔风格",不同的画笔画出来的人物风格不一样 | 选择用于生成图像的基础扩散模型检查点 | 想要真实照片效果选RealisticVision,想要卡通效果选toonyou |
| lora | lora | 各种LoRA模型 | None或BabyFaceV1 | 给画笔加上"特殊技能",比如画婴儿脸、画动漫风格等 | 选择用于微调生成效果的LoRA适配器 | 想让人物更可爱选BabyFaceV1,想要更多细节选MoreDetails |
| vae | vae | VAE模型选择 | same as checkpoint | 选择"颜色调色板",决定最终图片的色彩效果 | 选择用于编码解码的变分自编码器 | 一般选"same as checkpoint"就行,除非你想要特殊的色彩效果 |
| version | version | v5c/v5b/v5/v4/v3/v2/v1 | v5c | 选择"制作工艺版本",新版本效果更好但可能需要更多资源 | 选择HelloMeme算法的版本 | 推荐用最新的v5c,效果最好;如果显卡不够用就选v2 |
| stylize | stylize | x1/x2 | x1 | 选择"风格化程度",x2会让效果更艺术化 | 控制风格化处理的强度 | 想要自然效果选x1,想要更艺术化效果选x2 |
| deployment | deployment | huggingface/modelscope | huggingface | 选择"模型下载源",就像选择从哪个商店买东西 | 选择模型文件的下载源 | 国外用户选huggingface,国内用户选modelscope下载更快 |
| lora_scale | lora_scale | 0.0-10.0 | 1.0 | 控制"特殊技能"的强度,数值越大效果越明显 | 控制LoRA模型的影响强度 | 一般用1.0,如果效果太强可以调到0.7,太弱可以调到1.3 |
| dtype | dtype | fp32/fp16 | fp16 | 选择"计算精度",fp16省显存但可能略微降低质量 | 选择模型运算的数据精度 | 显卡显存够用选fp32质量更好,显存不够选fp16 |
3.3 HMVideoPipelineLoader 节点 - 视频生成器加载器
这个节点就像一个"视频制作工厂的启动器",专门用来准备制作动态表情包视频的所有工具。
3.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| checkpoint | checkpoint | 各种预设模型名称 | RealisticVisionV60B1 | 选择视频画面的"绘画风格",决定视频里人物的外观风格 | 选择用于视频生成的基础扩散模型 | 想要真实视频效果选RealisticVision,想要动漫视频选toonyou |
| lora | lora | 各种LoRA模型 | None | 给视频加上"特殊效果",比如让人物更可爱或更有细节 | 选择用于视频生成的LoRA适配器 | 制作婴儿视频选BabyFaceV1,需要更多细节选MoreDetails |
| vae | vae | VAE模型选择 | same as checkpoint | 选择视频的"色彩处理器",影响最终视频的色彩表现 | 选择用于视频编码解码的VAE模型 | 通常选"same as checkpoint",除非需要特殊色彩效果 |
| version | version | v5/v4/v3/v2/v1 | v5 | 选择视频制作的"技术版本",新版本效果更好 | 选择HelloMeme视频算法版本 | 推荐用v5最新版本,如果显卡性能不够可以选v2 |
| stylize | stylize | x1/x2 | x1 | 控制视频的"艺术化程度",x2会让视频更有艺术感 | 控制视频风格化的强度 | 想要自然视频选x1,想要艺术化视频选x2 |
| deployment | deployment | huggingface/modelscope | huggingface | 选择"模型下载来源",影响下载速度 | 选择模型文件下载源 | 国外选huggingface,国内选modelscope速度更快 |
| lora_scale | lora_scale | 0.0-10.0 | 1.0 | 控制"特殊效果"在视频中的强度 | 控制LoRA在视频生成中的影响程度 | 默认1.0,效果太强调到0.8,太弱调到1.2 |
| dtype | dtype | fp32/fp16 | fp16 | 选择视频处理的"计算精度",影响显存使用和质量 | 选择视频生成的数据精度 | 显存充足选fp32质量更好,显存紧张选fp16 |
3.5 HMFaceToolkitsLoader 节点 - 人脸工具箱加载器
这个节点就像一个"人脸分析专家",它能识别和分析照片或视频中的人脸,为后续的表情制作做准备。
3.6 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| gpu_id | gpu_id | -1到16的整数 | 0 | 选择用哪块"显卡大脑"来分析人脸,-1表示用CPU | 指定用于人脸分析的GPU设备ID | 只有一块显卡选0,有多块显卡可以选1、2等,CPU处理选-1 |
| deployment | deployment | huggingface/modelscope | huggingface | 选择从哪里下载"人脸分析工具" | 选择人脸分析模型的下载源 | 国外用户选huggingface,国内用户选modelscope |
3.7 GetFaceLandmarks 节点 - 获取人脸关键点
这个节点就像一个"人脸测量师",它会在人脸上标记出重要的点位,比如眼角、嘴角、鼻尖等,为后续的表情制作提供精确的定位信息。
3.8 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| face_toolkits | face_toolkits | FACE_TOOLKITS类型 | 必需连接 | 连接"人脸分析工具箱",提供分析人脸的能力 | 输入已加载的人脸分析工具集 | 必须连接HMFaceToolkitsLoader节点的输出 |
| images | images | IMAGE类型 | 必需连接 | 输入要分析的"照片或视频帧",可以是一张或多张图片 | 输入需要检测人脸关键点的图像数据 | 连接LoadImage节点或视频帧输入 |
3.9 GetHeadPose 节点 - 获取头部姿态
这个节点就像一个"头部姿势分析师",它能判断人脸是朝哪个方向看、头部是怎么转动的,这些信息用来控制生成图片中人物的头部朝向。
3.10 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| face_toolkits | face_toolkits | FACE_TOOLKITS类型 | 必需连接 | 连接"人脸分析工具箱",提供头部姿态分析能力 | 输入人脸分析工具集用于头部姿态估计 | 连接HMFaceToolkitsLoader节点的输出 |
| images | images | IMAGE类型 | 必需连接 | 输入要分析头部姿态的"照片或视频帧" | 输入需要分析头部姿态的图像数据 | 连接包含人脸的图像输入 |
| landmarks | landmarks | FACELANDMARKS222类型 | 必需连接 | 连接"人脸关键点信息",提供人脸的精确位置 | 输入人脸关键点数据用于姿态计算 | 连接GetFaceLandmarks节点的输出 |
| crop | crop | True/False | True | 是否"裁剪人脸区域",True会自动裁剪出人脸部分 | 是否对图像进行人脸区域裁剪 | 一般选True自动裁剪,想保持原图完整选False |
3.11 GetExpression 节点 - 获取面部表情
这个节点就像一个"表情读心师",它能识别人脸上的各种表情,比如开心、生气、惊讶等,然后把这些表情信息提取出来。
3.12 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| face_toolkits | face_toolkits | FACE_TOOLKITS类型 | 必需连接 | 连接"人脸分析工具箱",提供表情识别能力 | 输入人脸分析工具集用于表情提取 | 连接HMFaceToolkitsLoader节点的输出 |
| images | images | IMAGE类型 | 必需连接 | 输入要分析表情的"照片或视频帧" | 输入需要提取表情的图像数据 | 连接包含表情的人脸图像 |
| landmarks | landmarks | FACELANDMARKS222类型 | 必需连接 | 连接"人脸关键点信息",帮助精确定位表情特征 | 输入人脸关键点用于表情分析 | 连接GetFaceLandmarks节点的输出 |
3.13 GetExpression2 节点 - 获取面部表情V2版
这个节点是"表情读心师"的升级版,使用了更先进的技术来识别表情,效果比第一版更准确,特别适合用于视频生成。
3.14 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| face_toolkits | face_toolkits | FACE_TOOLKITS类型 | 必需连接 | 连接"人脸分析工具箱",提供V2版本的表情识别能力 | 输入人脸分析工具集用于PD-FGC表情提取 | 连接HMFaceToolkitsLoader节点的输出 |
| images | images | IMAGE类型 | 必需连接 | 输入要分析表情的"照片或视频帧" | 输入需要提取表情的图像数据 | 连接包含表情的人脸图像 |
| landmarks | landmarks | FACELANDMARKS222类型 | 必需连接 | 连接"人脸关键点信息",为V2版表情分析提供定位 | 输入人脸关键点用于高级表情分析 | 连接GetFaceLandmarks节点的输出 |
3.15 HMPipelineImage 节点 - 图片生成管道
这个节点就是"表情包制作机"的核心,它把所有准备好的材料(参考图片、目标表情、头部姿态等)组合起来,最终生成一张新的表情包图片。
3.16 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| hm_image_pipeline | hm_image_pipeline | HMIMAGEPIPELINE类型 | 必需连接 | 连接"图片制作工厂",提供生成图片的能力 | 输入已配置的图像生成管道 | 连接HMImagePipelineLoader节点的输出 |
| ref_head_pose | ref_head_pose | HEAD_POSE类型 | 必需连接 | 连接"参考人物的头部姿态",作为生成的基础 | 输入参考图像的头部姿态信息 | 连接参考图像的GetHeadPose输出 |
| ref_expression | ref_expression | EXPRESSION类型 | 必需连接 | 连接"参考人物的表情",作为生成的基础 | 输入参考图像的表情信息 | 连接参考图像的GetExpression输出 |
| drive_head_pose | drive_head_pose | HEAD_POSE类型 | 必需连接 | 连接"目标头部姿态",决定生成图片中人物的头部朝向 | 输入驱动图像的头部姿态信息 | 连接驱动图像的GetHeadPose输出 |
| drive_expression | drive_expression | EXPRESSION类型 | 必需连接 | 连接"目标表情",决定生成图片中人物的表情 | 输入驱动图像的表情信息 | 连接驱动图像的GetExpression输出 |
| trans_ratio | trans_ratio | 0.0-1.0 | 0.0 | 控制"头部移动程度",0表示不移动,1表示完全跟随目标 | 控制头部位移的传递比例 | 想让头部位置保持不变用0.0,想完全跟随目标用1.0 |
| prompt | prompt | 文本字符串 | 空字符串 | 输入"画面描述词",告诉AI你想要什么样的画面效果 | 输入正向提示词描述期望的生成效果 | 比如"beautiful woman, smiling"描述美丽微笑的女性 |
| negative_prompt | negative_prompt | 文本字符串 | 空字符串 | 输入"不想要的效果",告诉AI要避免什么 | 输入负向提示词避免不良效果 | 比如"blurry, ugly"避免模糊和丑陋的效果 |
| steps | steps | 1-10000整数 | 25 | 设置"制作精细程度",数值越大质量越好但速度越慢 | 设置扩散模型的去噪步数 | 快速预览用15步,高质量用30-50步 |
| seed | seed | 0到最大整数 | 0 | 设置"随机种子",相同种子会产生相同结果 | 设置随机数生成器的种子值 | 想要可重复结果设置固定数字,想要随机效果用0 |
| guidance_scale | guidance_scale | 0.0-100.0 | 2.0 | 控制"听话程度",数值越大越严格按照描述词生成 | 控制分类器自由引导的强度 | 一般用2.0,想要更严格按提示词生成可以用3.0-5.0 |
| gpu_id | gpu_id | -1到16整数 | 0 | 选择用哪块"显卡"来生成图片 | 指定用于图像生成的GPU设备 | 单显卡用0,多显卡可以选1、2等 |
3.17 HMPipelineVideo 节点 - 视频生成管道
这个节点就是"动态表情包制作机",它能把静态的参考图片变成动态视频,让图片中的人物按照驱动视频的动作和表情来表演。
3.18 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| hm_video_pipeline | hm_video_pipeline | HMVIDEOPIPELINE类型 | 必需连接 | 连接"视频制作工厂",提供生成动态视频的能力 | 输入已配置的视频生成管道 | 连接HMVideoPipelineLoader节点的输出 |
| ref_head_pose | ref_head_pose | HEAD_POSE类型 | 必需连接 | 连接"参考人物的头部姿态",作为视频生成的基础 | 输入参考图像的头部姿态信息 | 连接参考图像的GetHeadPose输出 |
| ref_expression | ref_expression | EXPRESSION类型 | 必需连接 | 连接"参考人物的表情",作为视频生成的基础 | 输入参考图像的表情信息 | 连接参考图像的GetExpression输出 |
| drive_head_pose | drive_head_pose | HEAD_POSE类型 | 必需连接 | 连接"驱动视频的头部姿态序列",控制生成视频中的头部动作 | 输入驱动视频的头部姿态序列 | 连接驱动视频的GetHeadPose输出 |
| drive_expression | drive_expression | EXPRESSION类型 | 必需连接 | 连接"驱动视频的表情序列",控制生成视频中的表情变化 | 输入驱动视频的表情序列 | 连接驱动视频的GetExpression输出 |
| trans_ratio | trans_ratio | 0.0-1.0 | 0.0 | 控制"头部移动跟随程度",决定生成视频中头部位置的变化 | 控制头部位移传递的比例 | 想保持头部位置稳定用0.0,想完全跟随驱动视频用1.0 |
| patch_overlap | patch_overlap | 0-5整数 | 4 | 设置"视频片段重叠度",影响视频的流畅性 | 设置视频块处理时的重叠帧数 | 一般用4保证流畅,显存不够可以用2 |
| prompt | prompt | 文本字符串 | 空字符串 | 输入"视频画面描述",告诉AI你想要什么风格的视频 | 输入正向提示词描述期望的视频效果 | 比如"high quality, detailed face"描述高质量详细面部 |
| negative_prompt | negative_prompt | 文本字符串 | 空字符串 | 输入"不想要的视频效果",避免生成质量差的视频 | 输入负向提示词避免不良视频效果 | 比如"blurry, distorted"避免模糊扭曲 |
| steps | steps | 1-10000整数 | 25 | 设置"视频制作精细程度",影响视频质量和生成时间 | 设置视频生成的去噪步数 | 快速预览用20步,高质量用30-40步 |
| seed | seed | 0到最大整数 | 0 | 设置"随机种子",控制视频生成的随机性 | 设置视频生成的随机数种子 | 想要可重复结果设置固定数字 |
| guidance_scale | guidance_scale | 0.0-100.0 | 2.0 | 控制"描述词遵循程度",影响视频与提示词的匹配度 | 控制视频生成的引导强度 | 一般用2.0,想要更严格按提示词生成用3.0 |
| gpu_id | gpu_id | -1到16整数 | 0 | 选择用哪块"显卡"来生成视频 | 指定用于视频生成的GPU设备 | 单显卡用0,多显卡可以选择其他编号 |
4. 使用技巧和建议
4.1 新手入门建议
- 从简单开始:先尝试图片生成,熟悉后再尝试视频生成
- 选择合适的模型:新手推荐使用 RealisticVisionV60B1 模型,效果稳定
- 版本选择:建议使用 v5c 版本,效果最好且相对稳定
- 显存管理:如果显卡显存不足,选择 fp16 精度,并使用较低的版本
4.2 质量优化技巧
- 提示词优化:
- 正向提示词加入:
best quality, highly detailed, sharp focus - 负向提示词加入:
blurry, low quality, distorted, ugly
- 正向提示词加入:
- 参数调优:
- 步数:图片用25-30步,视频用20-25步
- 引导强度:一般用2.0,特殊需求可以调到3.0-5.0
- 表情控制:使用 GetExpression2 节点可以获得更准确的表情控制
4.3 性能优化建议
- 显存优化:
- 使用 fp16 精度
- 降低 patch_overlap 参数
- 选择较低版本的算法
- 速度优化:
- 减少生成步数
- 使用较小的图片尺寸
- 合理设置 GPU ID
4.4 常见工作流程
-
图片表情迁移:
- 加载参考图片 → 获取人脸关键点 → 获取头部姿态和表情
- 加载驱动图片 → 获取人脸关键点 → 获取头部姿态和表情
- 使用图片生成管道合成最终结果
-
视频表情迁移:
- 加载参考图片 → 获取人脸信息
- 加载驱动视频 → 逐帧获取人脸信息
- 使用视频生成管道创建动态视频
5. 常见问题解答
5.1 安装和配置问题
Q: 插件安装后找不到节点怎么办?
A:
- 确认插件已正确安装到
custom_nodes目录 - 检查是否安装了所有依赖:
pip install -r requirements.txt - 重启 ComfyUI
- 检查控制台是否有错误信息
Q: 提示缺少模型文件怎么办?
A:
- 确保基础模型放在
ComfyUI/models/checkpoints目录 - LoRA 模型放在
ComfyUI/models/loras目录 - 首次使用时插件会自动下载必要的模型文件
5.2 使用过程问题
Q: 生成的图片质量不好怎么办?
A:
- 检查输入图片质量,确保人脸清晰
- 调整提示词,加入质量相关描述
- 增加生成步数(25-40步)
- 尝试不同的基础模型
Q: 显存不够用怎么办?
A:
- 选择 fp16 精度
- 使用较低版本的算法(v2 而不是 v5)
- 降低 patch_overlap 参数
- 关闭其他占用显存的程序
Q: 生成速度太慢怎么办?
A:
- 减少生成步数(15-20步)
- 使用较低精度(fp16)
- 选择合适的 GPU ID
- 确保没有使用 CPU 模式(gpu_id 不要设为 -1)
5.3 效果相关问题
Q: 生成的表情不够准确怎么办?
A:
- 使用 GetExpression2 节点而不是 GetExpression
- 确保驱动图片/视频中的表情清晰明显
- 检查人脸关键点检测是否准确
- 尝试调整 guidance_scale 参数
Q: 头部姿态控制不准确怎么办?
A:
- 调整 trans_ratio 参数(0.0-1.0)
- 确保输入图片中人脸角度适中
- 检查 crop 参数设置是否合适
Q: 视频不够流畅怎么办?
A:
- 增加 patch_overlap 参数(推荐4)
- 确保驱动视频帧率稳定
- 检查输入视频质量
6. 进阶使用技巧
6.1 多人脸处理
- 插件会自动选择最大的人脸进行处理
- 如果需要处理特定人脸,建议预先裁剪图片
6.2 风格化处理
- 使用不同的 checkpoint 可以获得不同风格的效果
- 配合 LoRA 模型可以实现特定风格的表情迁移
- stylize 参数设为 x2 可以获得更艺术化的效果
6.3 批量处理
- 可以输入多张图片进行批量处理
- 视频处理时会自动处理所有帧
6.4 与其他节点结合
- 可以与 ComfyUI 的其他图像处理节点结合使用
- 支持与超分辨率、图像增强等节点配合
7. 总结
ComfyUI_HelloMeme 是一个功能强大的表情迁移和人脸动画插件,通过9个核心节点提供了完整的表情包制作解决方案。无论是静态图片的表情迁移,还是动态视频的生成,都能获得出色的效果。
核心优势:
- 🎯 精确控制:支持精确的表情和姿态控制
- 🚀 高质量输出:基于最新AI技术,生成效果自然逼真
- 🔧 灵活配置:丰富的参数设置满足不同需求
- 📱 易于使用:节点化操作,可视化工作流程
适用场景:
- 表情包制作
- 人脸动画生成
- 视频换脸
- 艺术创作
- 娱乐应用
希望这份教程能帮助你快速上手 ComfyUI_HelloMeme 插件,创作出有趣的表情包和动画作品!