返回模型
说明文档
WD ViT Tagger v3 - ONNX Runtime
🎯 针对浏览器中图像标签和内容分析优化的 ONNX 模型
本仓库托管了 WD ViT Tagger v3 模型的优化 ONNX 版本,专为通过 ONNX Runtime Web 在网络浏览器中高效推理而设计。
📋 模型详情
- 基础模型:SmilingWolf/wd-vit-tagger-v3
- 模型类型:Vision Transformer (ViT) 图像多标签分类
- 格式:ONNX(针对 WebAssembly 优化)
- 输入尺寸:448×448 RGB(通道顺序为 BGR)
- 输出:约 9,000 个标签,分为多个类别
- 许可证:Apache 2.0
🎨 功能
该模型可以高精度地分析并标记图像:
- 通用标签:物体、动作、属性、风格
- 角色标签:角色识别(动漫/漫画)
- 分类标签:普通 / 敏感 / 明确
- 真实照片:在真实图像上效果完美
- 动漫/漫画:专为插画风格优化的模型
🚀 使用方法
🌐 在线工具(100% 本地运行,无需服务器)
👉 https://fmenguy.fr/oai/
100% 客户端运行 — 不发送任何图像,所有处理都在您的浏览器中进行。
📦 JavaScript(浏览器 – ONNX Runtime Web)
import * as ort from 'onnxruntime-web';
// 加载模型
const session = await ort.InferenceSession.create(
'https://huggingface.co/Skarn55/oai/resolve/main/model.onnx',
{ executionProviders: ['wasm'] }
);
// 准备图像(448x448,BGR,范围 0-255)
const imageData = prepareImage(yourImage); // 见下方预处理
const tensor = new ort.Tensor('float32', imageData, [1, 448, 448, 3]);
// 执行推理
const results = await session.run({ [session.inputNames[0]]: tensor });
const scores = results[session.outputNames[0]].data;
// 筛选标签
const tags = scores
.map((score, i) => ({ tag: tagNames[i], score }))
.filter(x => x.score > 0.35)
.sort((a, b) => b.score - a.score);
// 显示结果
console.log("检测到的标签:", tags);
🔧 预处理(Python)
def prepare_square_image(image, target_size=448):
canvas = Image.new("RGBA", image.size, (255, 255, 255))
canvas.alpha_composite(image.convert("RGBA"))
image = canvas.convert("RGB")
max_dim = max(image.size)
pad_left = (max_dim - image.size[0]) // 2
pad_top = (max_dim - image.size[1]) // 2
padded = Image.new("RGB", (max_dim, max_dim), (255, 255, 255))
padded.paste(image, (pad_left, pad_top))
if max_dim != target_size:
padded = padded.resize((target_size, target_size), Image.BICUBIC)
return padded
📊 性能
| 项目 | 数值 |
|---|---|
| 浏览器推理时间 | 3–5 秒 |
| 模型大小 | ~250 MB |
| 标签总数 | 10,861 |
| 推荐阈值 | 0.35 |
📁 提供的文件
model.onnxselected_tags.csv
🏷️ 标签类别
| 类别 | 描述 | 示例 |
|---|---|---|
| 通用 | 视觉标签 | girl, solo |
| 艺术家 | 艺术家名称 | … |
| 版权 | 作品/系列 | … |
| 角色 | 角色名称 | … |
| 元数据 | 元信息 | … |
| 分级 | general, sensitive, explicit | … |
🎯 应用场景
- 图像自动标签
- 内容审核/过滤
- SEO(图像元数据)
- 机器学习数据集标注
- 100% 浏览器应用(保护隐私)
⚙️ 技术规格
- 输入:
float32,[1, 448, 448, 3],BGR,0–255 - 输出:
float32,[1, 10861] - 激活函数:sigmoid
🙏 致谢
- 原始模型:SmilingWolf
- 数据集:WaifuDiffusion v3
- ONNX 转换:François MENGUY
📜 许可证
Apache 2.0 许可证,允许:
- 商业用途
- 修改
- 分发
- 私人使用
请注明原作者 SmilingWolf。
🔗 相关模型
wd-vit-tagger-v3wd-swinv2-tagger-v3wd-convnext-tagger-v3
🛠️ François MENGUY 的其他模型
Skarn55/gender-classification-onnx- https://fmenguy.fr/oai/
📧 联系方式
如有关于此 ONNX 版本的问题,请提交 issue。
ONNX 转换由 François MENGUY 用 ❤️ 制作。
Skarn55/oai
作者 Skarn55
image-classification
onnxruntime
↓ 0
♥ 0
创建时间: 2025-11-16 11:23:21+00:00
更新时间: 2025-11-16 11:50:22+00:00
在 Hugging Face 上查看文件 (6)
.gitattributes
README.md
convert.py
model.onnx
ONNX
selected_tags.csv
tags.json