Этот проект — утилита для сравнительного тестирования моделей детекции NSFW-контента на изображениях. Поддерживает модели из Hugging Face, Timm и NudeNet, считает метрики (accuracy, precision, recall, f1) и замеряет скорость.
Python
0
7 commits
updated May 20, 2025
Этот проект позволяет:
analyze_file или интегрировать в Telegram-бота через check_avatar.| Модель | Accuracy | Precision | Recall | F1 | Время (сек) |
|---|---|---|---|---|---|
| NUDENET | 0.857 | 1.000 | 0.833 | 0.909 | 0.270 |
| ADAMCODD | 0.929 | 1.000 | 0.917 | 0.957 | 9.260 |
| FALCONSAI | 0.571 | 0.875 | 0.583 | 0.700 | 3.990 |
| GIACOMOARIENTI | 0.714 | 1.000 | 0.667 | 0.800 | 3.820 |
| LUKEJACOB2023 | 0.857 | 1.000 | 0.833 | 0.909 | 3.680 |
| FREEPIK | 0.857 | 1.000 | 0.833 | 0.909 | 12.700 |
| MARQO | 0.857 | 1.000 | 0.833 | 0.909 | 1.790 |
| Тип | Модель ID | Источник |
|---|---|---|
| 🤗 HF | AdamCodd/vit-base-nsfw-detector | transformers |
| 🤗 HF | Falconsai/nsfw_image_detection | transformers |
| 🤗 HF | giacomoarienti/nsfw-classifier | transformers |
| 🤗 HF | LukeJacob2023/nsfw-image-detector | transformers |
| 🤗 HF | Freepik/nsfw_image_detector | transformers |
| 🧠 Timm | marqo/nsfw-image-detection-384 | timm / hf_hub |
| 👀 NudeNet | NudeDetector | локальный детектор (nudenet) |
pip install -r requirements.txt
Положи изображения в папку data/.
Файлы, в названии которых есть porn, будут считаться NSFW, остальные — SFW.
Запусти сравнительный тест моделей:
python main.py
В проекте есть модуль nsfw_checker.py, который позволяет:
analyze_file();.jpg, .png, .mp4, .mov и пр.;is_nsfw, уверенность, debug-информацию.from nsfw_checker import analyze_file
if __name__ == "__main__":
path = "antiwhorebot/photo_2025-05-15_13-16-35.mp4"
is_nsfw, score, src, debug = analyze_file(path)
print("🔍 Проверка:", src)
print("⚠️ NSFW:", is_nsfw)
print("📈 Уверенность:", score)
print("🧠 Детали:", debug)
В nsfw_checker.py реализована функция check_avatar(bot, user_id), которая:
bool, уверенность, file_id.Пример:
is_nsfw, score, file_id = await check_avatar(bot, user_id)
Идеально подходит для антиспам/антишлюх ботов.
.
├── main.py # сравнение всех моделей
├── nsfw_checker.py # API для проверки отдельных файлов
├── data/ # изображения и видео для теста
├── requirements.txt
└── README.md
🔍 Проверка модели: nudenet
❌ ошибка в data\porn12.jpg ( sfw обнаружено: ['FACE_FEMALE'])
❌ ошибка в data\porn3.jpg ( sfw обнаружено: ['FACE_FEMALE'])
🔍 Проверка модели: adamcodd
❌ ошибка в data\porn11.jpg (sfw)
🔍 Проверка модели: falconsai
❌ ошибка в data\photo_2025-05-20_13-52-07.jpg (nsfw)
❌ ошибка в data\porn11.jpg (normal)
❌ ошибка в data\porn2.jpg (normal)
❌ ошибка в data\porn3.jpg (normal)
❌ ошибка в data\porn6.jpg (normal)
❌ ошибка в data\porn9.jpg (normal)
🔍 Проверка модели: giacomoarienti
❌ ошибка в data\porn10.jpg (neutral)
❌ ошибка в data\porn11.jpg (neutral)
❌ ошибка в data\porn12.jpg (neutral)
❌ ошибка в data\porn3.jpg (neutral)
🔍 Проверка модели: LukeJacob2023
❌ ошибка в data\porn11.jpg (neutral)
❌ ошибка в data\porn3.jpg (neutral)
🔍 Проверка модели: Freepik
❌ ошибка в data\porn11.jpg (neutral)
❌ ошибка в data\porn3.jpg (neutral)
🔍 Проверка модели: marqo
❌ ошибка в data\porn11.jpg (sfw)
❌ ошибка в data\porn3.jpg (sfw)
Этот проект — утилита для сравнительного тестирования моделей детекции NSFW-контента на изображениях. Поддерживает модели из Hugging Face, Timm и NudeNet, считает метрики (accuracy, precision, recall, f1) и замеряет скорость.
Python
0
7 commits
updated May 20, 2025
Этот проект позволяет:
analyze_file или интегрировать в Telegram-бота через check_avatar.| Модель | Accuracy | Precision | Recall | F1 | Время (сек) |
|---|---|---|---|---|---|
| NUDENET | 0.857 | 1.000 | 0.833 | 0.909 | 0.270 |
| ADAMCODD | 0.929 | 1.000 | 0.917 | 0.957 | 9.260 |
| FALCONSAI | 0.571 | 0.875 | 0.583 | 0.700 | 3.990 |
| GIACOMOARIENTI | 0.714 | 1.000 | 0.667 | 0.800 | 3.820 |
| LUKEJACOB2023 | 0.857 | 1.000 | 0.833 | 0.909 | 3.680 |
| FREEPIK | 0.857 | 1.000 | 0.833 | 0.909 | 12.700 |
| MARQO | 0.857 | 1.000 | 0.833 | 0.909 | 1.790 |
| Тип | Модель ID | Источник |
|---|---|---|
| 🤗 HF | AdamCodd/vit-base-nsfw-detector | transformers |
| 🤗 HF | Falconsai/nsfw_image_detection | transformers |
| 🤗 HF | giacomoarienti/nsfw-classifier | transformers |
| 🤗 HF | LukeJacob2023/nsfw-image-detector | transformers |
| 🤗 HF | Freepik/nsfw_image_detector | transformers |
| 🧠 Timm | marqo/nsfw-image-detection-384 | timm / hf_hub |
| 👀 NudeNet | NudeDetector | локальный детектор (nudenet) |
pip install -r requirements.txt
Положи изображения в папку data/.
Файлы, в названии которых есть porn, будут считаться NSFW, остальные — SFW.
Запусти сравнительный тест моделей:
python main.py
В проекте есть модуль nsfw_checker.py, который позволяет:
analyze_file();.jpg, .png, .mp4, .mov и пр.;is_nsfw, уверенность, debug-информацию.from nsfw_checker import analyze_file
if __name__ == "__main__":
path = "antiwhorebot/photo_2025-05-15_13-16-35.mp4"
is_nsfw, score, src, debug = analyze_file(path)
print("🔍 Проверка:", src)
print("⚠️ NSFW:", is_nsfw)
print("📈 Уверенность:", score)
print("🧠 Детали:", debug)
В nsfw_checker.py реализована функция check_avatar(bot, user_id), которая:
bool, уверенность, file_id.Пример:
is_nsfw, score, file_id = await check_avatar(bot, user_id)
Идеально подходит для антиспам/антишлюх ботов.
.
├── main.py # сравнение всех моделей
├── nsfw_checker.py # API для проверки отдельных файлов
├── data/ # изображения и видео для теста
├── requirements.txt
└── README.md
🔍 Проверка модели: nudenet
❌ ошибка в data\porn12.jpg ( sfw обнаружено: ['FACE_FEMALE'])
❌ ошибка в data\porn3.jpg ( sfw обнаружено: ['FACE_FEMALE'])
🔍 Проверка модели: adamcodd
❌ ошибка в data\porn11.jpg (sfw)
🔍 Проверка модели: falconsai
❌ ошибка в data\photo_2025-05-20_13-52-07.jpg (nsfw)
❌ ошибка в data\porn11.jpg (normal)
❌ ошибка в data\porn2.jpg (normal)
❌ ошибка в data\porn3.jpg (normal)
❌ ошибка в data\porn6.jpg (normal)
❌ ошибка в data\porn9.jpg (normal)
🔍 Проверка модели: giacomoarienti
❌ ошибка в data\porn10.jpg (neutral)
❌ ошибка в data\porn11.jpg (neutral)
❌ ошибка в data\porn12.jpg (neutral)
❌ ошибка в data\porn3.jpg (neutral)
🔍 Проверка модели: LukeJacob2023
❌ ошибка в data\porn11.jpg (neutral)
❌ ошибка в data\porn3.jpg (neutral)
🔍 Проверка модели: Freepik
❌ ошибка в data\porn11.jpg (neutral)
❌ ошибка в data\porn3.jpg (neutral)
🔍 Проверка модели: marqo
❌ ошибка в data\porn11.jpg (sfw)
❌ ошибка в data\porn3.jpg (sfw)