- 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.
42 lines
4.7 KiB
Markdown
42 lines
4.7 KiB
Markdown
## 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 的验证记录,确认各项任务的验收证据齐全。
|