Files
AnyImage/openspec/changes/simplify-ai-model-tiers/specs/hat-upscale/spec.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

50 lines
2.8 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.
## Purpose
为图片超分增加用户已比较确认的 HAT Sharper 细节增强选项,提供可验证的小体积模型资源,并使最终两倍尺寸、透明度、多帧处理和大图分块行为与现有超分功能一致。
## ADDED Requirements
### Requirement: HAT Sharper 提供可验证的小体积资源
系统 SHALL 提供官方 Real HAT GAN x4 Sharper 对应的模型资产,完整记录上游来源、文件大小及校验信息。发布文件 SHALL 小于 60 MB,保持 FP32 输入输出,并通过 CPU / DirectML 与原始 FP32 参考的数值对照。
#### Scenario: 校验发布模型
- **WHEN** 对预先固定的样图执行正式导出资产
- **THEN** 输出全部有限,未裁剪的 `[0,1]` 标度输出误差满足 MAE ≤ 0.0005、P99 ≤ 0.005、最大误差 ≤ 0.02
#### Scenario: 实验精度路径失败
- **WHEN** 导出或运行路径在验收中产生 NaN、Inf 或超过预设误差
- **THEN** 该资产不能登记为可发布模型,也不能标记验收完成
### Requirement: 三款超分均保持最终两倍输出
系统 SHALL 对限制后的分析输入保持宽高各 2 倍的最终输出;HAT 与现有两款 Real-ESRGAN SHALL 保持相同的透明度合成和帧输出约定。
#### Scenario: 普通与透明静态图片
- **WHEN** 用户用 HAT Sharper 放大宽 W、高 H 的分析输入
- **THEN** 最终图片尺寸为 `2W×2H`,原始 Alpha 按现有超分规则缩放并合成
#### Scenario: 多帧输入
- **WHEN** 使用 HAT Sharper 处理支持的多帧输入
- **THEN** 每帧输出保持两倍尺寸及既有编号,帧间复用模型资源
### Requirement: 分块支持合法图片尺寸且控制边界误差
HAT SHALL 支持小图、奇数尺寸和跨多个分块的输入,输出覆盖全部像素;分块配置 SHALL 通过纹理、细线和透明边缘样图检查,并相对完整参考记录接缝误差。
#### Scenario: 奇数尺寸与边缘块
- **WHEN** 输入宽高不是分块步长的整数倍
- **THEN** 结果保持准确的两倍尺寸,边缘完整,没有空白条带或重复像素区
#### Scenario: 自然纹理跨越接缝
- **WHEN** 对固定跨缝样图检查最终 2× 输出
- **THEN** 没有由拼接造成的可见直线接缝,并记录相对整图参考的接缝和内部误差
### Requirement: 推理取消和资源错误可处理
系统 SHALL 沿用超分任务的取消、会话复用和资源释放机制;资源不足时 SHALL 报告当前模型及可操作的调整建议。
#### Scenario: 分块间取消
- **WHEN** 用户取消正在处理多块图片的 HAT 任务
- **THEN** 后续块停止推理,未完成产物按现有任务规则清理
#### Scenario: 显存或内存不足
- **WHEN** 当前设备无法完成 HAT 推理
- **THEN** 返回包含模型和设备上下文的资源错误,提示减小分析输入或选择更轻量模型