ONNX 模型库
返回模型

说明文档

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.onnx
  • selected_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-v3
  • wd-swinv2-tagger-v3
  • wd-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