Skip to content

About

Local-first AI post-production workflow for privacy-sensitive fursuit event photography

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FurColor Studio

License Platform

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。

新用户:复制整个代码块到 PowerShell

把示例目录替换成你自己的照片根目录,然后粘贴运行:

$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

安装脚本会自动完成:

  1. 寻找 Python 3.12/3.11;找不到时通过 winget 为当前用户安装 Python 3.12;
  2. 创建独立 .venv;
  3. 安装锁定依赖;
  4. 写入仅限本机的路径白名单 .env;
  5. 从 OpenCV 官方仓库下载固定版本 YuNet;
  6. 验证模型 SHA-256;
  7. 运行环境自检;
  8. 打开 http://127.0.0.1:8899。

YuNet 目录采用 MIT License,模型来源和校验值见 第三方声明。OpenCV 官方也将该模型作为 FaceDetectorYN 的下载来源。OpenCV 文档

可选:启用 4.0 兽装主体智能层

基础安装完成后,仍可使用原有轻量流程。若要启用 Fursee 双类别检测、匿名分组和主体分层曝光,请先自行取得完整模型包,再运行:

powershell -ExecutionPolicy Bypass -File '.\install_fursee.ps1' `
  -ModelDirectory 'D:\Models\Fursee-Package'

ModelDirectory 可以指向权重目录本身,也可以指向包含权重的资料包根目录。安装器会:

  1. 创建独立 .venv-fursee,不修改基础 .venv;
  2. 安装锁定的 CUDA 12.8 PyTorch、Ultralytics 与 Transformers;
  3. 在有限目录深度内查找完整的四文件权重组合;
  4. 对约 1.27 GB 权重逐文件核对尺寸和 SHA-256;
  5. 只把本机模型路径写入被 Git 忽略的 .env,不会复制或上传权重。

默认面向 NVIDIA GPU;没有兼容显卡时可加 -CpuOnly,但批量速度会明显下降。首次安装需要下载数 GB 依赖,不能按“五分钟”估算。模型、论文、许可证和固定哈希见 第三方声明。

已安装用户

以后启动只需要:

Set-Location '.\FurColor-Studio'
& '.\run_local.ps1'

更新代码后重新同步依赖:

git pull
& '.\install_local.ps1'

环境有问题时:

& '.\doctor.ps1'

v4.1 七步操作流程

左侧工作栏就是实际执行顺序;每进入一个步骤,当前环节会高亮,正在运行的分析或渲染会显示进度条与当前文件。

  1. 新建与导入:选择原片、同名手修参考 JPG、分析与输出目录。RAW 预览可缩小,最终输出始终重新读取原文件。
  2. 选片:逐张保留/废片。缩略图无法读取时不会阻塞选片,会显示源盘不可访问提示。
  3. 兽装主体分析:运行 Fursee,查看和命名项目内合集;可移动误归属照片或合并合集。
  4. 人脸隐私决定:检测只是候选。逐脸选择保留、模糊或未决定;仅“模糊”会作用于成片。
  5. 眼睛蒙版与局部增强:生成几何候选后接受、拒绝或编辑;只有已接受/已编辑蒙版参与局部增强。确认样本累计到 500 个后可提交眼睛分割模型训练审核。
  6. 影调渲染复核:自动白平衡/曝光只提供建议。保存批量配方,必要时为单张设置曝光例外,然后运行全分辨率渲染。
  7. 合集导出:选择需要的兽装合集。程序在交付母目录内建立各兽装子目录,导出 JPEG、TIFF、校验清单和 ZIP;未决定人脸仅提示,不阻止导出。

第一次项目:从原片到交付

1. 准备文件夹

推荐把原片、参考、分析、草稿和交付完全分开:

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。

2. 新建项目

打开“新建项目”,依次填写或点击“浏览”:

字段 填什么 是否必需
项目名称 活动名或交付批次 是
原片目录 Originals 是
手修参考目录 References 是,至少一组同名参考
分析结果目录 Analysis 是
修图输出目录 Drafts 是
水印 PNG 透明背景签名,可留空 否
参考样片清单 留空自动生成,或选择高级 JSON 否
选片模式 正选或反选 是

系统会拒绝让分析/输出目录与原片目录重叠,避免覆盖原片或重复扫描。

3. 选片

  • 反选模式:默认处理全部照片,只把明确标成“废片”的照片排除。适合保留率较高的活动摄影。
  • 正选模式:只有明确标成“保留”的照片才进入后续步骤。适合大量连拍和严格精选。
  • 默认:恢复到当前模式的默认行为。

选片结果会同时控制分析、人脸复核、眼睛标注、渲染和交付,不会再弹出已淘汰的数百张照片。

4. 七步处理与导出

flowchart LR
    A[新建与导入] --> B[选片]
    B --> C[兽装主体分析与合集修正]
    C --> D[人脸隐私决定]
    D --> E[眼睛候选与人工审核]
    E --> F[影调配方与全分辨率渲染]
    F --> G[按兽装合集导出]
Loading

每一步都可回退,但不需要绕行“处理流程”或“质检交付”页面:

  1. 运行主体分析后,可命名合集、移动误归属照片或合并合集;
  2. 人脸检测只生成候选,逐脸选择保留、模糊或未决定;未决定不自动模糊;
  3. 眼睛步骤先生成候选椭圆,接受、拒绝或手动编辑;只有已审核蒙版参与局部增强;
  4. 影调步骤保存可复现的批量配方,也可设置单张曝光例外;
  5. 渲染从原始全分辨率文件重新解码,输出 JPEG 4:4:4 与 16-bit TIFF;
  6. 导出页按兽装合集创建子文件夹,并生成 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 绕过保护。

常见问题

destination path 'FurColor-Studio' already exists

这表示克隆没有发生。不要忽略 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'

提示 Path is outside FURCOLOR_ALLOWED_ROOTS

新版支持安全的动态多磁盘授权。请对原片、参考样片、分析、输出、水印和清单字段分别点击一次“浏览”:

  1. Windows 原生选择器中选中的目录会立即授权;
  2. 水印和 JSON 清单会授权其所在目录;
  3. 授权记录保存在本机 runtime/authorized_roots.json,重启后仍有效;
  4. 不同字段可以位于不同硬盘或移动硬盘;
  5. .ssh、.aws、.git、AppData、credentials 等敏感目录不能授权。

如果希望在安装阶段一次授权多个固定根目录,也可以使用英文分号:

& '.\install_local.ps1' -AllowedRoots 'D:\Photography;E:\Events'

不要把整个系统盘加入白名单;移动硬盘盘符改变后,用“浏览”重新选择即可。

提示找不到参考样片

确认 References 中至少有一张 JPG,并与 Originals 中的 JPG/ARW 使用相同文件名主体。

提示缺少 YuNet

& '.\install_local.ps1' -DownloadFaceModel

winget 误报 Python 已安装或安装卡住

如果电脑里已经有 Python 3.11/3.12,但启动器没有发现,可直接指定 python.exe。这只用指定的解释器创建项目独立环境,不会修改原环境:

& '.\install_local.ps1' `
  -PythonPath 'C:\path\to\python.exe' `
  -AllowedRoots 'D:\Photography' `
  -DownloadFaceModel -Launch

8899 端口被占用

关闭旧 FurColor 窗口,或修改 .env 的 FURCOLOR_PORT。不要把本地完整版绑定到 0.0.0.0。

PowerShell 阻止脚本运行

只对本次命令使用绕过策略:

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

更多文档:

License

FurColor 原创源代码采用 Apache License 2.0。用户照片、水印、活动素材、私有标注、训练数据、人脸记忆和未随仓库分发的模型权重不自动包含在该授权中;Fursee、Ultralytics YOLO、DINOv3 及其衍生权重继续受各自条款约束,详见 第三方声明。

v4.1 账户与服务器边界

v4.1 新增了本地可选、服务器强制的账户基础:邮箱规范化、scrypt 密码哈希、HttpOnly 会话 Cookie、CSRF 校验、登录限速、改密后全设备退出,以及账号注销时仅清理 FurColor 自有元数据。外部原片、参考图和输出目录不会因注销而删除。

FURCOLOR_MODE=server 会强制认证,并完全禁用本地文件选择器与客户端路径提交。当前服务器模式只提供账户、项目隔离、健康检查和部署边界,尚未包含上传、对象存储、异步队列、邮件验证或线上修图;不要把它当作已完成的云端照片服务。部署前请阅读 v4.1 部署边界。

About

Local-first AI post-production workflow for privacy-sensitive fursuit event photography

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages