🚀 Google Safesearch Mini V2
Google Safesearch Mini V2 是一款超精确的多类别图像分类器,能够准确检测图像中的敏感内容。它可用于社交媒体审核,也能对数据集进行过滤。与稳定扩散安全检查器相比,使用该模型可节省 1GB 的内存和磁盘空间。
🚀 快速开始
Safesearch v3.1 已发布
✨ 主要特性
- 高精度检测:经过多轮训练和优化,在训练和验证数据上达到了 97% 的准确率,能准确识别图像中的敏感内容。
- 节省资源:相比稳定扩散安全检查器,可节省 1.0GB 的 RAM 和磁盘空间。
- 多数据源训练:使用来自 Google Images、Reddit、Kaggle 和 Imgur 等平台的约 340 万张图像进行训练,数据丰富多样。
📦 安装指南
安装 PyTorch 依赖
pip install --upgrade torchvision
💻 使用示例
基础用法
import torch, os
from torchvision import transforms
from PIL import Image
import urllib.request
import timm
image_path = "https://www.allaboutcats.ca/wp-content/uploads/sites/235/2022/03/shutterstock_320462102-2500-e1647917149997.jpg"
device = "cuda"
def preprocess_image(image_path):
transform = transforms.Compose([
transforms.Resize(299),
transforms.CenterCrop(299),
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
])
if image_path.startswith('http://') or image_path.startswith('https://'):
import requests
from io import BytesIO
response = requests.get(image_path)
img = Image.open(BytesIO(response.content)).convert('RGB')
else:
img = Image.open(image_path).convert('RGB')
img = transform(img).unsqueeze(0)
img = img.cuda() if device.lower() == "cuda" else img.cpu()
return img
def eval():
model = timm.create_model("hf_hub:FredZhang7/google-safesearch-mini-v2", pretrained=True)
model.to(device)
img = preprocess_image(image_path)
with torch.no_grad():
out = model(img)
_, predicted = torch.max(out.data, 1)
classes = {
0: 'nsfw_gore',
1: 'nsfw_suggestive',
2: 'safe'
}
print('\n\033[1;31m' + classes[predicted.item()] + '\033[0m' if predicted.item() != 2 else '\033[1;32m' + classes[predicted.item()] + '\033[0m\n')
if __name__ == '__main__':
eval()
📚 详细文档
Google Safesearch Mini V2 在训练方法上与 V1 不同,它采用了 InceptionResNetV2 架构,并使用了约 340 万张从互联网随机获取的图像进行训练,其中部分图像通过数据增强生成。训练和验证数据来自 Google Images、Reddit、Kaggle 和 Imgur 等平台,并由相关公司、Google SafeSearch 和审核人员将其分类为安全或不适宜内容。
模型首先使用交叉熵损失训练 5 个周期,并在训练集和验证集上进行评估,识别预测概率低于 0.90 的图像,对整理后的数据集进行必要的修正后,再训练 8 个周期。之后,在各种可能难以分类的情况下测试模型,发现它会将棕色猫的皮毛误识为人类皮肤。为提高准确性,使用 Kaggle 上的 15 个额外数据集 对模型进行一个周期的微调,最后结合训练和测试数据再训练一个周期,最终在训练和验证数据上达到了 97% 的准确率。
📄 许可证
本项目采用 Apache-2.0 许可证。
属性 |
详情 |
模型类型 |
图像分类器 |
训练数据 |
约 340 万张来自 Google Images、Reddit、Kaggle 和 Imgur 的图像,部分通过数据增强生成 |
评估指标 |
准确率 |
库名称 |
timm |