FurColor Studio 是一个面向兽装活动摄影的、本地优先 AI 批量后期工作站。v4.1 将导入、选片、兽装合集、人脸隐私决定、眼睛蒙版审核、影调渲染与合集导出整理为一条严格顺序、可回退复核的七步流程。
当前版本是摄影师辅助工具,不是无人值守的最终交付系统。真实照片只应在本地工作站处理,商业交付前必须人工复核。
- 从 JPG、JPEG、ARW 原片目录建立项目并生成本地缩略图;
- 使用正选或反选模式提前淘汰废片;
- 从同名手修参考 JPG 自动建立基础参考清单;
- 可选使用 Fursee YOLO 检测兽装主体与新增人脸候选,并在单个项目内生成匿名兽装分组;
- 融合 YuNet、人工记忆与兽装框证据,减少兽耳误打码,同时把单模型人脸结果保留给人工复核;
- 分析中性区域、全局曝光、白毛高光与黑毛细节,再对兽装头部做保守的羽化局部曝光;
- 为每张照片分别标注大小、形状、角度不同的兽装眼睛;
- 批量完成 V4 风格映射、眼睛增强、隐私处理和可选水印;
- 输出全分辨率 JPEG 4:4:4、16-bit TIFF、ZIP 与
manifest.json;按兽装合集建立子目录,不再使用没有实际动作的强制勾选。
- Windows 10/11;
- Git;
- 一个已经存在的照片根目录,例如
D:\Photography。
把示例目录替换成你自己的照片根目录,然后粘贴运行:
$repo = Join-Path $HOME 'FurColor-Studio'
if (Test-Path -LiteralPath $repo) {
throw "目标目录已存在:$repo。不要继续运行旧脚本,请先阅读下方“目标目录已存在”说明。"
}
git clone https://github.com/PWJCSqiushan/FurColor-Studio.git $repo
if ($LASTEXITCODE -ne 0) { throw '克隆失败,安装已停止。不要进入旧目录继续执行。' }
Set-Location -LiteralPath $repo
powershell -ExecutionPolicy Bypass -File '.\install_local.ps1' -AllowedRoots 'D:\Photography' -InstallPython -DownloadFaceModel -Launch多个照片根目录使用英文分号:
powershell -ExecutionPolicy Bypass -File '.\install_local.ps1' -AllowedRoots 'D:\Photography;E:\Events' -InstallPython -DownloadFaceModel -Launch安装脚本会自动完成:
- 寻找 Python 3.12/3.11;找不到时通过
winget为当前用户安装 Python 3.12; - 创建独立
.venv; - 安装锁定依赖;
- 写入仅限本机的路径白名单
.env; - 从 OpenCV 官方仓库下载固定版本 YuNet;
- 验证模型 SHA-256;
- 运行环境自检;
- 打开
http://127.0.0.1:8899。
YuNet 目录采用 MIT License,模型来源和校验值见 第三方声明。OpenCV 官方也将该模型作为 FaceDetectorYN 的下载来源。OpenCV 文档
基础安装完成后,仍可使用原有轻量流程。若要启用 Fursee 双类别检测、匿名分组和主体分层曝光,请先自行取得完整模型包,再运行:
powershell -ExecutionPolicy Bypass -File '.\install_fursee.ps1' `
-ModelDirectory 'D:\Models\Fursee-Package'ModelDirectory 可以指向权重目录本身,也可以指向包含权重的资料包根目录。安装器会:
- 创建独立
.venv-fursee,不修改基础.venv; - 安装锁定的 CUDA 12.8 PyTorch、Ultralytics 与 Transformers;
- 在有限目录深度内查找完整的四文件权重组合;
- 对约 1.27 GB 权重逐文件核对尺寸和 SHA-256;
- 只把本机模型路径写入被 Git 忽略的
.env,不会复制或上传权重。
默认面向 NVIDIA GPU;没有兼容显卡时可加 -CpuOnly,但批量速度会明显下降。首次安装需要下载数 GB 依赖,不能按“五分钟”估算。模型、论文、许可证和固定哈希见 第三方声明。
以后启动只需要:
Set-Location '.\FurColor-Studio'
& '.\run_local.ps1'更新代码后重新同步依赖:
git pull
& '.\install_local.ps1'环境有问题时:
& '.\doctor.ps1'左侧工作栏就是实际执行顺序;每进入一个步骤,当前环节会高亮,正在运行的分析或渲染会显示进度条与当前文件。
- 新建与导入:选择原片、同名手修参考 JPG、分析与输出目录。RAW 预览可缩小,最终输出始终重新读取原文件。
- 选片:逐张保留/废片。缩略图无法读取时不会阻塞选片,会显示源盘不可访问提示。
- 兽装主体分析:运行 Fursee,查看和命名项目内合集;可移动误归属照片或合并合集。
- 人脸隐私决定:检测只是候选。逐脸选择保留、模糊或未决定;仅“模糊”会作用于成片。
- 眼睛蒙版与局部增强:生成几何候选后接受、拒绝或编辑;只有已接受/已编辑蒙版参与局部增强。确认样本累计到 500 个后可提交眼睛分割模型训练审核。
- 影调渲染复核:自动白平衡/曝光只提供建议。保存批量配方,必要时为单张设置曝光例外,然后运行全分辨率渲染。
- 合集导出:选择需要的兽装合集。程序在交付母目录内建立各兽装子目录,导出 JPEG、TIFF、校验清单和 ZIP;未决定人脸仅提示,不阻止导出。
推荐把原片、参考、分析、草稿和交付完全分开:
D:\Photography\2026-Event\
├─ Originals\ # 相机原片,禁止覆盖
├─ References\ # 你在 Lightroom 中手修并导出的参考 JPG
├─ Analysis\ # FurColor 分析报告和配方
├─ Drafts\ # AI 修图草稿
└─ Delivery\ # 最终交付包,由程序生成
先在 Lightroom 中手修至少一张有代表性的照片并导出 JPG。参考 JPG 必须与对应原片同名,例如:
Originals\DSC01151.ARW
References\DSC01151.jpg
项目表单里的“参考样片清单”可以留空,FurColor 会从同名原片/手修 JPG 自动生成基础清单。高级用户也可以选择自定义 JSON。
打开“新建项目”,依次填写或点击“浏览”:
| 字段 | 填什么 | 是否必需 |
|---|---|---|
| 项目名称 | 活动名或交付批次 | 是 |
| 原片目录 | Originals |
是 |
| 手修参考目录 | References |
是,至少一组同名参考 |
| 分析结果目录 | Analysis |
是 |
| 修图输出目录 | Drafts |
是 |
| 水印 PNG | 透明背景签名,可留空 | 否 |
| 参考样片清单 | 留空自动生成,或选择高级 JSON | 否 |
| 选片模式 | 正选或反选 | 是 |
系统会拒绝让分析/输出目录与原片目录重叠,避免覆盖原片或重复扫描。
- 反选模式:默认处理全部照片,只把明确标成“废片”的照片排除。适合保留率较高的活动摄影。
- 正选模式:只有明确标成“保留”的照片才进入后续步骤。适合大量连拍和严格精选。
- 默认:恢复到当前模式的默认行为。
选片结果会同时控制分析、人脸复核、眼睛标注、渲染和交付,不会再弹出已淘汰的数百张照片。
flowchart LR
A[新建与导入] --> B[选片]
B --> C[兽装主体分析与合集修正]
C --> D[人脸隐私决定]
D --> E[眼睛候选与人工审核]
E --> F[影调配方与全分辨率渲染]
F --> G[按兽装合集导出]
每一步都可回退,但不需要绕行“处理流程”或“质检交付”页面:
- 运行主体分析后,可命名合集、移动误归属照片或合并合集;
- 人脸检测只生成候选,逐脸选择保留、模糊或未决定;未决定不自动模糊;
- 眼睛步骤先生成候选椭圆,接受、拒绝或手动编辑;只有已审核蒙版参与局部增强;
- 影调步骤保存可复现的批量配方,也可设置单张曝光例外;
- 渲染从原始全分辨率文件重新解码,输出 JPEG 4:4:4 与 16-bit TIFF;
- 导出页按兽装合集创建子文件夹,并生成 ZIP 和带 SHA-256 的
manifest.json。未决定人脸仅显示提示,不阻断导出。
打开 http://127.0.0.1:8899/ 后,左侧栏从上到下就是实际操作顺序。当前环节会高亮,扫描、主体识别、眼睛候选和渲染都会显示进度条、当前文件与失败信息;技术日志只用于详情排障。
- 01 新建与导入:填写活动名称、原片、同名手修参考 JPG、分析和输出目录;系统只读源照片。
- 02 选片:逐张保留、废片或恢复默认。RAW 缩略图失败时不会影响选片或删除照片。
- 03 兽装主体分析:使用 Fursee 生成项目内合集,人工命名、合并或移动误归属照片。
- 04 人脸隐私决定:候选默认保留原样;仅明确选择“模糊”的候选会被处理。
- 05 眼睛蒙版与局部增强:自动候选必须审核;可手动新增或编辑椭圆/多边形蒙版。累计 500 个确认蒙版后才能提交眼睛分割模型训练审核。
- 06 影调渲染复核:自动白平衡和曝光只给建议;保存批量配方或单图覆盖后执行全分辨率渲染。
- 07 合集导出:勾选需要的兽装合集,得到母目录下的子文件夹、JPEG、TIFF、清单和 ZIP。
遇到问题时,先检查项目路径和参考 JPG 是否仍可访问;如果任务失败,页面会显示可读的提示,展开详情即可查看原始日志。
管理员在确认数据集只含 accepted/edited 蒙版且数量不少于 500 后,可在隔离的 Fursee 环境运行 engine/src/train_eye_segmentation.py。脚本固定划分验证集并输出 IoU 指标;未经审核的候选不会进入训练集或发布模型。
- 完整版默认只监听
127.0.0.1; - 云端 demo 没有照片上传、路径读取或处理 API;
.env、照片、模型、项目级兽装特征、人脸反馈、眼睛标注、数据库和交付文件均被 Git 忽略;- 安装时配置的根目录和本机原生选择器明确选过的目录可以访问;授权记录只保存在本地,敏感系统目录始终拒绝;
- 不要使用
git add -f绕过保护。
这表示克隆没有发生。不要忽略 fatal 后继续进入该目录,否则可能运行到旧版脚本。
先检查现有目录是否是真正的 Git 仓库:
git -C "$HOME\FurColor-Studio" log -1 --oneline
git -C "$HOME\FurColor-Studio" remote -v如果两条命令都正常,直接更新:
Set-Location "$HOME\FurColor-Studio"
git pull --ff-only
if ($LASTEXITCODE -ne 0) { throw '更新失败,请停止安装并检查上方错误。' }
& '.\install_local.ps1'如果提示“没有任何提交”、不是 Git 仓库或目录里只是旧文件,先备份再重新克隆:
Set-Location $HOME
$backup = 'FurColor-Studio_backup_' + (Get-Date -Format 'yyyyMMdd_HHmmss')
Rename-Item -LiteralPath '.\FurColor-Studio' -NewName $backup
git clone https://github.com/PWJCSqiushan/FurColor-Studio.git
if ($LASTEXITCODE -ne 0) { throw "克隆失败;旧文件仍安全保存在 $backup。" }
Set-Location '.\FurColor-Studio'新版支持安全的动态多磁盘授权。请对原片、参考样片、分析、输出、水印和清单字段分别点击一次“浏览”:
- Windows 原生选择器中选中的目录会立即授权;
- 水印和 JSON 清单会授权其所在目录;
- 授权记录保存在本机
runtime/authorized_roots.json,重启后仍有效; - 不同字段可以位于不同硬盘或移动硬盘;
.ssh、.aws、.git、AppData、credentials 等敏感目录不能授权。
如果希望在安装阶段一次授权多个固定根目录,也可以使用英文分号:
& '.\install_local.ps1' -AllowedRoots 'D:\Photography;E:\Events'不要把整个系统盘加入白名单;移动硬盘盘符改变后,用“浏览”重新选择即可。
确认 References 中至少有一张 JPG,并与 Originals 中的 JPG/ARW 使用相同文件名主体。
& '.\install_local.ps1' -DownloadFaceModel如果电脑里已经有 Python 3.11/3.12,但启动器没有发现,可直接指定 python.exe。这只用指定的解释器创建项目独立环境,不会修改原环境:
& '.\install_local.ps1' `
-PythonPath 'C:\path\to\python.exe' `
-AllowedRoots 'D:\Photography' `
-DownloadFaceModel -Launch关闭旧 FurColor 窗口,或修改 .env 的 FURCOLOR_PORT。不要把本地完整版绑定到 0.0.0.0。
只对本次命令使用绕过策略:
powershell -ExecutionPolicy Bypass -File '.\install_local.ps1' -AllowedRoots 'D:\Photography' -DownloadFaceModel -Launch- 白平衡、主体曝光、双模型人脸融合和匿名分组仍需要跨会场、灯光和兽装造型积累真实验证集;
- 眼睛增强目前保留逐图人工蒙版,尚未用未经充分验证的自动眼部模型替代;
- 匿名分组可能合并相似兽装或拆散同一兽装,只用于项目内选片辅助;
- RAW 输出是派生 JPG,不直接修改 Lightroom Catalog;
- 首次 GPU 环境安装需要下载约 3.3 GB 的 PyTorch wheel 和其他依赖;
- 服务器版本是无照片的产品演示,不是多人在线修图 SaaS;
- 公开发布或商业交付前仍必须由摄影师完成人工复核。
py -3.12 -m venv .venv
& '.\.venv\Scripts\python.exe' -m pip install -r requirements-dev.txt
& '.\.venv\Scripts\python.exe' -m pytest -q
& '.\.venv\Scripts\python.exe' scripts\security_audit.py更多文档:
FurColor 原创源代码采用 Apache License 2.0。用户照片、水印、活动素材、私有标注、训练数据、人脸记忆和未随仓库分发的模型权重不自动包含在该授权中;Fursee、Ultralytics YOLO、DINOv3 及其衍生权重继续受各自条款约束,详见 第三方声明。
v4.1 新增了本地可选、服务器强制的账户基础:邮箱规范化、scrypt 密码哈希、HttpOnly 会话 Cookie、CSRF 校验、登录限速、改密后全设备退出,以及账号注销时仅清理 FurColor 自有元数据。外部原片、参考图和输出目录不会因注销而删除。
FURCOLOR_MODE=server 会强制认证,并完全禁用本地文件选择器与客户端路径提交。当前服务器模式只提供账户、项目隔离、健康检查和部署边界,尚未包含上传、对象存储、异步队列、邮件验证或线上修图;不要把它当作已完成的云端照片服务。部署前请阅读 v4.1 部署边界。