Как работает ИИ-обнаружение NSFW в Discord
Модель изображений оценивает каждую картинку, а дальнейшее зависит от ваших настроек. Вот что видит модель, где она ошибается и что сохраняется.
Автор: SfwBot Team4 мин чтения

ИИ-обнаружение NSFW означает, что модель изображений смотрит на каждую картинку, опубликованную на вашем сервере, и сообщает, насколько в ней представлена обнажённость. Бот сравнивает результат с заданным вами уровнем и либо удаляет сообщение, либо оставляет его. В этой статье мы проследим путь одного изображения через этот процесс на примере SfwBot.
Что модель делает с изображением

Модель представляет собой нейронную сеть, обученную на большом наборе размеченных картинок. У неё нет списка запрещённых картинок для сравнения. Она выучила, что общего у размеченных примеров, поэтому может оценить картинку, которую никогда не видела.
Для каждого изображения она отвечает на один вопрос: какой из четырёх уровней подходит.
| Уровень | Название | Типичное содержимое |
|---|---|---|
| 0 | Обычное | Мемы, скриншоты, селфи |
| 1 | Открытое | Купальники, нижнее бельё и похожая одежда |
| 2 | Намёк на обнажённость | Обнажённость, которая прикрыта или скрыта |
| 3 | Откровенное | Видимая обнажённость и сексуальный контент |
Модель только оценивает. Она не знает ваших правил и ничего не решает.
Ваш уровень определяет, что удаляется
Вы выбираете уровень, с которого начинается блокировка, и всё начиная с него удаляется. Новый сервер начинает с уровня 3, поэтому удаляется только откровенный контент. Сервер для более молодой аудитории может начать блокировку с уровня 1.
Это разделение важно при настройке бота. Если удаляется слишком много, вы повышаете уровень, с которого начинается блокировка. Если слишком мало, понижаете его. Модель в обоих случаях остаётся прежней.
На платных тарифах это можно уточнить: отдельный уровень для иллюстраций и искусства (Plus) и собственный уровень для отдельных каналов или категорий (Pro). На странице тарифов указано, что входит в каждый тариф.
Что происходит до обращения к модели
Большинство изображений до модели не доходят. SfwBot сначала проверяет три вещи:
- Исключения. Медиа в каналах-исключениях и от ролей-исключений пропускается. Каналы с возрастным ограничением по умолчанию пропускаются.
- Отпечатки. Бот вычисляет отпечаток изображения: короткое значение, которое почти не меняется при изменении размера или повторном сжатии. Если отпечаток есть в вашем белом списке, изображение пропускается. Если он есть в чёрном списке, изображение удаляется. Ни в одном из случаев сканирование не нужно.
- Повторы. Одинаковое медиа, которое сканировалось за последние 24 часа, повторно не сканируется.
К модели попадает только то, что осталось. Это сканирование расходует кредиты.
GIF и видео

Видео слишком длинное, чтобы оценивать его как одну картинку, поэтому бот берёт из него кадры и оценивает их. По умолчанию он проверяет 10 кадров видео и 5 кадров GIF. При глубоком сканировании видео на тарифе Pro проверяется 30 и 15 кадров.
У выборочной проверки есть следствие, о котором стоит знать: несколько откровенных кадров в длинном видео могут оказаться между выбранными кадрами. Если ролик прошёл, добавьте его в чёрный список, и при следующей публикации его отпечаток будет распознан.
Файлы больше 32 МБ не сканируются.
Где модель ошибается
Ни одна модель изображений не бывает права каждый раз. Обычные ошибки таковы:
- Поверхности телесного цвета. Крупные планы рук, лиц или еды иногда получают слишком высокую оценку.
- Искусство. Классическую живопись, скульптуру и нарисованных персонажей оценить труднее, чем фотографии.
- Пограничная одежда. Граница между уровнем 0 и уровнем 1 наименее определённа, поэтому мало серверов блокируют с уровня 1.
- Маленькие или обрезанные изображения. Чем меньше модель видит, тем менее надёжна оценка.
SfwBot считает ошибочное решение тем, что обязательно будет случаться. Каждое удаление попадает в ваш канал журнала с кнопкой Сообщить об ошибке, которая отправляет его на проверку. Изображение из вашего белого списка больше никогда не будет удалено на вашем сервере. Удаление по решению модели не снижает доверие участника, пока вы это не включите, поэтому одно ошибочное решение не приводит к страйку.
Что происходит с изображением
Бот скачивает медиа, чтобы проанализировать его, и сразу после этого удаляет. Сохраняется отпечаток. Само изображение хранится, только если решение отправлено на проверку: до её завершения и не дольше 30 дней.
Данные, полученные из сообщения, например ссылка на медиа и отпечаток, удаляются через 30 дней. Отпечатки в ваших собственных списках хранятся, пока вы их не удалите. Подробности есть на странице безопасности и конфиденциальности.
Часто задаваемые вопросы
Может ли ИИ-обнаружение заменить модераторов-людей?
Нет. Оно мгновенно удаляет очевидные случаи в любое время суток. Спорные случаи, на которые пожаловались, и всё, что зависит от контекста, по-прежнему решают ваши модераторы.
Учится ли модель на изображениях моего сервера?
Бот не хранит изображения, которые сканирует. Изображение сохраняется, только если решение отправлено на проверку, и не дольше 30 дней.
Читает ли ИИ текстовые сообщения?
Нет. Модель оценивает изображения, GIF и видео. Текст обрабатывают отдельные фильтры приглашений, спама и ссылок, которые не расходуют кредиты.
Что происходит, если сканирование не удалось?
Сообщение остаётся, а кредиты за это сканирование возвращаются.


