AIGC 人物图缺陷二分类器(pass=0 / reject=1)的部署版 ONNX。
Source du modèle
Description de la source
AIGC 人物图缺陷二分类器(pass=0 / reject=1)的部署版 ONNX。
由 Phase2 级联模型(全图 ConvNeXt-Tiny + hand/anatomy/face 专家 + 融合头)的 S2 权重导出。
导出时移除三个专家分支,等价于消融中的 full_image_only(专家特征置零、mask 取「缺失」档),
因此只需一张整图即可推理,指标与完整级联几乎一致。
Sources
1 sourceVérifié 5 août
Artefacts du modèle
1 artefactExtraits de sources
2 extraitscascade_v1_fullonly.onnx — 单输入全图模型(约 111 MB)| 名称 | 形状 | 说明 | |
|---|---|---|---|
| 输入 | image | [B, 3, 512, 512] | float32,RGB,动态 batch |
| 输出 | logit | [B] | 原始 logit,需 sigmoid 转概率 |
预处理需与训练一致:resize/pad 到 512×512,按 ImageNet 均值方差归一化
(mean=[0.485,0.456,0.406], std=[0.229,0.224,0.225])。
import numpy as np, onnxruntime as ort
sess = ort.InferenceSession("cascade_v1_fullonly.onnx", providers=["CPUExecutionProvider"])
# x: float32 [B,3,512,512], 已归一化
logit = sess.run(["logit"], {"image": x})[0]
prob_reject = 1.0 / (1.0 + np.exp(-logit)) # sigmoid
| 模型 | ROC-AUC | PR-AUC |
|---|---|---|
| Phase1 baseline(ConvNeXt-Tiny 全图) | 0.955 | 0.880 |
| Cascade S2(完整,训练时三专家) | 0.970 | 0.924 |
| 本 ONNX(full-image-only) | 0.969 | 0.924 |
级联分数整体偏小,部署请按业务召回率扫阈值:
| 约束 | Precision | Recall | 阈值(sigmoid 概率) |
|---|---|---|---|
| R≥0.90 | ≈0.80 | ≈0.91 | ≈3.9e-7 |
| R≥0.95 | ≈0.67 | ≈0.95 | ≈9.0e-8 |
| R≥0.99 | ≈0.39 | ≈0.99 | ≈3.2e-8 |
aicg-detector(scripts/export_onnx.py 为本文件导出脚本)。--- license: other tags: - onnx - image-classification - content-moderation - aigc-detection pipeline_tag: image-classification --- # aicg-detector — cascade_v1 full-image ONNX AIGC 人物图缺陷二分类器(`pass=0` / `reject=1`)的部署版 ONNX。 由 Phase2 级联模型(全图 ConvNeXt-Tiny + hand/anatomy/face 专家 + 融合头)的 **S2** 权重导出。 导出时**移除三个专家分支**,等价于消融中的 `full_image_only`(专家特征置零、mask 取「缺失」档), 因此只需一张整图即可推理,指标与完整级联几乎一致。 ## 文件 - `cascade_v1_fullonly.onnx` — 单输入全图模型(约 111 MB) ## 接口 | | 名称 | 形状 | 说明 | |---|---|---|---| | 输入 | `image` | `[B, 3, 512, 512]` | float32,RGB,动态 batch | | 输出 | `logit` | `[B]` | 原始 logit,**需 sigmoid 转概率** | 预处理需与训练一致:resize/pad 到 512×512,按 ImageNet 均值方差归一化 (`mean=[0.485,0.456,0.406]`, `std=[0.229,0.224,0.225]`)。 ## 用法 ```python import numpy as np, onnxruntime as ort sess = ort.InferenceSession("cascade_v1_fullonly.onnx", providers=["CPUExecutionProvider"]) # x: float32 [B,3,512,512], 已归一化 logit = sess.run(["logit"], {"image": x})[0] prob_reject = 1.0 / (1.0 + np.exp(-logit)) # sigmoid ``` ## 指标(隔离 test,n=593,reject=150) | 模型 | ROC-AUC | PR-AUC | |---|---:|---:| | Phase1 baseline(ConvNeXt-Tiny 全图) | 0.955 | 0.880 | | Cascade S2(完整,训练时三专家) | 0.970 | 0.924 | | **本 ONNX(full-image-only)** | **0.969** | **0.924** | ## 阈值(按召回率约束选,勿直接用 0.5) 级联分数整体偏小,部署请按业务召回率扫阈值: | 约束 | Precision | Recall | 阈值(sigmoid 概率) | |---|---:|---:|---:| | R≥0.90 | ≈0.80 | ≈0.91 | ≈3.9e-7 | | R≥0.95 | ≈0.67 | ≈0.95 | ≈9.0e-8 | | R≥0.99 | ≈0.39 | ≈0.99 | ≈3.2e-8 | ## 备注 - 训练/评测代码见内部仓库 `aicg-detector`(`scripts/export_onnx.py` 为本文件导出脚本)。 - Hand 分支在训练时 ROI 缓存为空,对指标无实质贡献;架构已预留。
Source context: 0 downloads · 0 likes · Pipeline image-classification · Repo Peeetter/aicg-detector-onnx