Extensions/ECHO · 回响
ComfyUI Extension

ECHO · 回响

ECHO: reference-guided color consistency for fashion SKU image sets

By x9c4gqtpv4-coder·Created 21 days ago·Updated 10 days ago· 1
x9c4gqtpv4-coder/ECHO
Nodes4
On cloudLocal install
CategoryECHO / 回响, ECHO/Mask repair
Stars1
Updated10 days ago
Readme
<div align="center">

ECHO · 回响

让所有来源的图片,回到同一个视觉标准。

一个本地运行、由参考标准驱动的色彩视觉一致性引擎,解决电商、品牌与 AIGC 规模化生产中图片不统一、色彩不成套和难以标准化的问题。

macOS Local ComfyUI Python Tests License

解决的问题 · ComfyUI 工作流 · 工作原理 · 能力边界

</div>

原图、最终校色结果与参考图的三联对照

<p align="center"><sub>单组测试示例:左侧为原图,中间为校色结果,右侧为参考图。背景与人物分别追色,服装随人物整体调整;限制调整幅度以尽量保留材质与层次。这不是所有图片无色差或商品原色不变的保证。</sub></p>

它解决什么问题

一张参考图,统一整套 SKU。ECHO 分析不同图片的冷暖、曝光和颜色分布,批量向同一视觉标准校正,让不同动作、场景和生成流程的图片更容易成套。结果经过人工复核后再交付。

核心功能:精准参考追色

从参考图中识别目标冷暖、曝光、明暗层次与色彩分布,分别校正背景和人物,让肤色、服装与环境光在同一视觉标准下自然统一;同时限制调整幅度,尽量保护商品关键色、材质纹理、高光与阴影。

  • 套系一致:背景、人物和服装向同一视觉标准靠拢。
  • 过渡自然:人物整体使用平滑变换,减少脸、脖子、头发和服装之间的色块与分层。
  • 对象保护:通过已确认的保护蒙版,让书本、商标、配饰和指定商品保持原色。
  • 边缘精修:按需修订发丝、孔洞、窄缝和柔边;输出风险提示,疑难结果留给人工确认。
  • 本地处理:Mac 本地运行,不上传业务图片,不依赖 NVIDIA 显卡或云端服务器。

ComfyUI 工作流

ECHO 现在可以直接放进 ComfyUI:

Load Image(原图)─┐
                    ├─→ ECHO Reference Match ─→ Save Image
Load Image(参考图)─┘

ComfyUI/custom_nodes 目录中安装:

git clone https://github.com/x9c4gqtpv4-coder/ECHO.git

然后使用 ComfyUI 自己的 Python 环境安装 ECHO/requirements.txt,重启 ComfyUI,搜索 ECHO Reference Match / 回响·参考追色

  • source:需要校色的图片。
  • reference:色彩、冷暖和曝光标准。
  • protect_mask:可选;白色区域完全保持原图像素。
  • source_background_mask / reference_background_mask:可选;连接经过人工确认的蒙版可提高复杂场景稳定性。

可直接载入 示例工作流,完整说明见 ComfyUI 使用指南。 需要云端运行时,可使用 RunningHub 四条并行接入路径

户外场景:成对取样追色(0.7.0,可选)

户外的天空、树叶、地面占比不同,整张背景的平均色并不能代表曝光或冷暖。新增 ECHO Paired Surface + ECHO Outdoor Match:按已确认的同材质分别取样,再独立匹配背景和整个人物的亮度/颜色,服装跟随人物。支持保护区域、混合光冲突拒绝、色域压缩与内存预检。

这条通路需要外部背景蒙版和明确的配对样本,不会自动确认材质、恢复过曝细节,也不会替换旧工作流。命令行为 batch-color outdoor-match完整用法与限制

核心原理

标准参考图 + 需要校色的图片
              ↓
       识别背景和人物
              ↓
比较亮度、冷暖和颜色分布的差异
              ↓
计算幅度受限的平滑颜色变换
              ↓
结合保护区域,从原图一次完成渲染
              ↓
输出候选图、蒙版、对照图和报告

默认采用最稳定的“两区校色”逻辑:

  1. 背景单独追色:让背景向参考图的背景效果靠拢。
  2. 人物整体追色:服装、皮肤和头发共用一条平滑的颜色变换。

人物整体共用一条变换,可以减少脸、脖子、头发和服装之间出现色块、分层或不自然过渡。

系统只调整原图像素的颜色,不生成新人物,也不主动重绘服装纹理、文字或画面结构。所有调整尽量从原图一次完成,避免反复处理造成画质损失。

默认能力

  • 按每个 SKU 自己的参考图进行校色,不让不同 SKU 共用错误标准。
  • 分开控制背景和人物的调整强度。
  • 使用 OKLab 颜色空间分析亮度和色彩差异。
  • 限制调整幅度,保护高光、阴影和中性色。
  • 使用软蒙版融合边缘,减少人物轮廓处的断层。
  • 使用保护蒙版让指定对象保持原色。
  • 正式候选使用 PNG/TIFF 无损输出,JPEG 只用于预览。

可选的精细能力

当图片确实需要局部处理时,系统还可以定位:

  • 人脸与皮肤
  • 头发
  • 上衣、裤子、裙子和连衣裙
  • 鞋、包和配饰

精细识别默认关闭。只有在局部需求明确、蒙版质量合格时,才会在指定区域内做受限追色,避免增加不必要的复杂度。

系统也可以分析冷暖、曝光和色调差异。这一分析只生成报告,不会在没有授权的情况下自动修改图片。

新增:复杂边缘精修

先确认“哪里是人物、哪里是背景”,再沿原图细化交界处。可以补充前景/背景标记,修正粗蒙版漏掉的窄缝、孔洞与部分柔边,保存可复用、绑定本张原图的蒙版包。

  • 不改主逻辑:精修按需启用,原有背景单独追色、人物整体追色保持不变。
  • 原尺寸计算:高精度档求解完整未知区域,提供适合大包围框、较窄边缘带的稀疏路径,不靠放大缩略图补细节。
  • 失败可见:检查求解稳定性、局部证据和计算预算;无法完成时阻断后续调色,不把失败伪装成完成。
  • 本机 CPU 可用:不需要新增训练模型或云端算力;另需安装可选 matting 依赖,复杂图的耗时与内存会增加。

CLI 和 ECHO Refine Mask 节点接口已实现。详见 使用方法复杂边缘验证及限制。ComfyUI 宿主实测、Registry 发布和 RunningHub 安装状态不由本次源码更新代表。

输出结果

每次处理可以生成:

校色输出/SKU/
├── 待复核候选/
├── 蒙版/
├── 预览/
├── 报告/
├── 整套对照.jpg
└── review-status.json

所有结果默认都是待复核候选,人工确认后才能进入已批准成品目录。

能力边界

这个项目解决的是“套图视觉一致性”,不是只凭普通 sRGB 图片恢复服装的物理绝对颜色。

最终效果仍会受到参考图质量、拍摄光线、面料反光、人物蒙版和局部遮挡影响。商品颜色要求很高时,应结合实物色卡、标准光源或经过人工确认的服装锚点。

边缘精修也不等于自动识别所有物体。同色边界、错误的确定选区、透明材质与原背景残色仍可能需要人工修订。已有真实 3584×4800 难例因容量和局部证据不足被阻断,不能宣称任意大图都能完成。蒙版包支持 16-bit alpha,但旧追色入口仍使用 8-bit alpha,不是全链路 16-bit。

运行环境与隐私

  • 跨平台基础模式使用 Python、NumPy 和 Pillow;macOS Vision 是可选增强。
  • 不需要 NVIDIA 显卡,也不需要云端服务器。
  • 默认在 Mac 本地处理,不会把图片上传到云端。
  • 公开仓库不包含用户照片、SKU 数据、个人路径、账号凭据或模型权重。

当前状态

  • 当前源码版本:0.7.0,户外通路为待样片确认的可选能力;GitHub 源码更新不等于 Comfy Registry / RunningHub 已同步发布。
  • 本地公开功能范围复测:313 项通过,0 失败,0 跳过(macOS ARM64 / Python 3.12.14;原 258 项加户外 55 项)。不含未发布的 PS 实验测试。
  • 验证范围:原有追色与 A0 基线、蒙版约束、稀疏求解、户外受控反例、命令行和节点入口;没有用未提供的户外失败样片宣称真实画质验收。
  • 开源许可:MIT License

更详细的技术内容: