🚀 nsfw-image-detection-384
このモデルは、NSFW画像を識別するために設計された軽量の画像分類モデルです。他のオープンソースモデルよりも約18 - 20倍小さく、独自のデータセットで98.56%の高い精度を達成します。
🚀 クイックスタート
⚠️ 重要提示
すべてのモデルと同様に、このモデルも誤りを犯す可能性があります。NSFWコンテンツは主観的かつ文脈依存であり、このモデルはこのコンテンツの識別を支援することを目的としており、自己責任で使用してください。
Marqo/nsfw-image-detection-384
は、NSFW画像を識別するために設計された軽量の画像分類モデルです。このモデルは、他のオープンソースモデルよりも約18 - 20倍小さく、独自のデータセットで98.56%の高い精度を達成します。このモデルは、384x384ピクセルの画像を16x16ピクセルのパッチで入力として使用します。
このモデルは、220,000枚の画像からなる独自のデータセットで学習されました。学習セットには100,000枚のNSFWサンプルと100,000枚のSFWサンプルが含まれ、テストセットには10,000枚のNSFWサンプルと10,000枚のSFWサンプルが含まれています。このデータセットには、実際の写真、絵画、Rule 34素材、ミーム、AI生成画像など、多様なコンテンツが含まれています。NSFWの定義はさまざまで、文脈によって異なる場合があります。このデータセットは難しいサンプルを含むように構築されていますが、この定義がすべてのユースケースと100%一致するとは限らないため、このモデルがあなたのニーズに適しているかどうかを判断するために、異なるしきい値を試して実験することをお勧めします。
✨ 主な機能
- 軽量で、他のオープンソースモデルよりも約18 - 20倍小さい。
- 独自のデータセットで98.56%の高い精度を達成する。
- 384x384ピクセルの画像を16x16ピクセルのパッチで入力として使用する。
📦 インストール
timmを使用した画像分類
pip install timm
💻 使用例
基本的な使用法
from urllib.request import urlopen
from PIL import Image
import timm
import torch
img = Image.open(urlopen(
'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))
model = timm.create_model("hf_hub:Marqo/nsfw-image-detection-384", pretrained=True)
model = model.eval()
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)
with torch.no_grad():
output = model(transforms(img).unsqueeze(0)).softmax(dim=-1).cpu()
class_names = model.pretrained_cfg["label_names"]
print("Probabilities:", output[0])
print("Class:", class_names[output[0].argmax()])
📚 ドキュメント
評価
このモデルは、独自のデータセットで既存のNSFW検出器を上回っています。ここでは、AdamCodd/vit-base-nsfw-detector と Falconsai/nsfw_image_detection との比較評価を提供します。

しきい値と精度対再現率
NSFW確率のしきい値を調整することで、精度、再現率、および正確度をトレードオフすることができます。これは、異なる信頼度が必要なさまざまなアプリケーションで役立つ場合があります。

学習詳細
このモデルは、timm/vit_tiny_patch16_384.augreg_in21k_ft_in1k モデルをファインチューニングしたものです。
引数
batch_size: 256
color_jitter: 0.2
color_jitter_prob: 0.05
cutmix: 0.1
drop: 0.1
drop_path: 0.05
epoch_repeats: 0.0
epochs: 20
gaussian_blur_prob: 0.005
hflip: 0.5
lr: 5.0e-05
mixup: 0.1
mixup_mode: batch
mixup_prob: 1.0
mixup_switch_prob: 0.5
momentum: 0.9
num_classes: 2
opt: adamw
remode: pixel
reprob: 0.5
sched: cosine
smoothing: 0.1
warmup_epochs: 2
warmup_lr: 1.0e-05
warmup_prefix: false
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。
引用
@article{dosovitskiy2020vit,
title={An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale},
author={Dosovitskiy, Alexey and Beyer, Lucas and Kolesnikov, Alexander and Weissenborn, Dirk and Zhai, Xiaohua and Unterthiner, Thomas and Dehghani, Mostafa and Minderer, Matthias and Heigold, Georg and Gelly, Sylvain and Uszkoreit, Jakob and Houlsby, Neil},
journal={ICLR},
year={2021}
}
@misc{rw2019timm,
author = {Ross Wightman},
title = {PyTorch Image Models},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
doi = {10.5281/zenodo.4414861},
howpublished = {\url{https://github.com/huggingface/pytorch-image-models}}
}