Files
AnyImage/openspec/changes/simplify-ai-model-tiers/tasks.md
nan e8129fe495 Implement BiRefNet and HAT Sharper models with background removal capabilities
- Added validation documentation for AI model tiers.
- Introduced `background.py` for background removal logic, including inference functions for alpha and foreground extraction.
- Created `onnx_birefnet.py` to handle BiRefNet model sessions and alpha inference.
- Developed tests for background models, ensuring proper dispatch and session reuse.
- Added tests for BiRefNet ONNX model to validate alpha output and error handling for invalid values.
- Implemented model export scripts for BiRefNet and HAT Sharper, ensuring proper weight compression and licensing.
- Created `deform_sampling.py` for deformable convolution operations used in BiRefNet.
- Added utility functions for compressing ONNX weights without altering graph arithmetic.
- Introduced a reference plane node for depth field adjustments in geometry processing.
2026-09-10 20:50:44 +08:00

42 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 1. 核对基础与验证 BiRefNet
- [x] 1.1 核对当前 MoGe-3、2× Upscale、HDR 和工具 CLI 的真实调用链,记录受影响入口及工作区已有修改,确认模型矩阵与相关 change 的衔接。
- [x] 1.2 固定 BiRefNet Lite 的上游版本、权重和许可证,完成隔离环境的可复现导出;交付通过结构检查的 ONNX、来源、大小和 SHA-256。
- [x] 1.3 固定 BiRefNet HR-matting 的上游版本、权重和许可证,完成隔离环境的可复现导出;交付通过结构检查的 ONNX、来源、大小和 SHA-256。
- [x] 1.4 在运行前固定 BiRefNet 数值容差和样图,对 Lite 执行原始实现与 CPU / DirectML 的逐图比较,对 HR-matting 执行 CPU 比较并记录 DirectML 失败及用户确认的 CPU 限制;验证连续 Alpha、尺寸、有限值及官方预处理一致性,记录结果。
- [x] 1.5 用同一组发丝、毛绒、细杆、薄纱与普通主体样图比较 Lite、BEN2 和 HR-matting,记录下载体积、加载/热推理耗时、峰值内存/显存及边缘效果;验证 Lite 满足轻量默认门槛。
## 2. 固化 HAT Sharper 资产
- [x] 2.1 将已验证的 Sharper 导出流程整理到 `tools/models`,固定源码和 checkpoint,采用 FP16 权重存储、FP32 运算;验证完整资产小于 60 MB 并记录可复现来源与哈希。
- [x] 2.2 对正式导出资产复跑 CPU / DirectML 数值对照,检查全部有限且符合 `hat-upscale` 预设门槛;交付样图、误差、加载和热推理记录。
- [x] 2.3 以 256 像素 tile、48 像素边距验证 HAT 拼接,覆盖跨缝纹理、细线、小图、奇数尺寸和透明图;交付与整图参考的对照,确认最终 2× 无可见拼接直线。
## 3. 统一三档目录与默认设置
- [x] 3.1 将正式目录调整为九款模型及对应分类、用途和真实资源信息;更新目录与下载测试,验证每类恰好三款且保留顺序一致。
- [x] 3.2 将默认模型及扩展偏好读取统一到对应入口,背景默认改为 Lite;测试有效旧选择保留、退役偏好归一和直接提交退役 Job 键报错。
- [x] 3.3 更新 AI Setup、默认所需模型、离线目录与下载界面;测试仅三个默认模型就绪时初始化完成,非默认模型按需提示下载。
## 4. 接入背景移除与超分
- [x] 4.1 将背景移除公共编排、模型资源分类和缓存接口按业务职责整理,保留各模型专用适配器;运行会话复用、模型/设备切换和关闭释放测试。
- [x] 4.2 接入 BiRefNet 官方输入和 Alpha 后处理,更新 Job、Operator、进度文案与实际模型选择;测试三款真实分派、有限连续 Alpha 和无效预测失败。
- [x] 4.3 让三款背景模型贯穿静态、多帧、源 Alpha 和 HDR Alpha-only 流程;运行对应行为测试,验证 HDR RGB 保持以及取消/失败清理。
- [x] 4.4 将 HAT Sharper 接入共享超分及模型专属分块配置,保持两款 Real-ESRGAN 的已有配置;测试准确 2× 尺寸、透明度、多帧、取消和资源错误。
- [x] 4.5 运行真实背景移除与 HAT Job,验证模型切换、重复执行和服务关闭后的资源状态;记录正式输入准备和输出路径的端到端结果。
## 5. 清理退役实现与准备发布
- [x] 5.1 清理 DA3 现行残留及 MoGe-2 L、SAFMN、PiSA-SR 的专用实现、旧导出器、构建登记和测试;沿真实调用链检查旧引用,确认保留模型仍有有效行为覆盖。
- [x] 5.2 清理退役模型的专用依赖并同步必要锁文件,核对 Manifest 和打包清单;运行依赖及打包内容测试,确认新增导出依赖隔离于正式 Runtime。
- [x] 5.3 将三款新资产纳入 `model prepare` / `model sync`,执行 `uv run model prepare`;验证九款模型完整文件集合、损坏文件报错和校验信息。
- [x] 5.4 运行全部相关测试及 `uv run pytest`,确认正常退出;检查最终差异和注册清单,确保原有有效功能与其他工作区修改完整。
## 6. 镜像发布与退役对象清理
- [x] 6.1 执行 `uv run model sync` 发布正式资产,从实际下载地址回读新模型并校验大小和哈希;确认下载后的模型可就绪和执行。
- [x] 6.2 枚举 DA3 全部现存变体、MoGe-2 L、SAFMN、PiSA-SR 的本地模型目录、开发缓存及 R2 对象;交付具体删除清单,验证本地绝对路径和远端前缀归属。
- [x] 6.3 在新资产验收后按清单删除退役对象,逐项复查本地与远端状态;确认保留模型和其他资源完整,失败项保留为未完成任务。
- [x] 6.4 将实际模型矩阵、导出来源与哈希、真实推理和质量记录、测试结果及镜像清理结果写入本 change 的验证记录,确认各项任务的验收证据齐全。