Реализация детектора наготы с помощью PHP в Symfony 3

Публичные приложения часто становятся жертвами нарушителей спокойствия, которые хотят забавно загружать контент для взрослых, например, на веб-сайт, предназначенный для всей семьи (куда входят все). Многие компании решают эту проблему, нанимая людей, которые проверяют, имеют ли загруженные изображения непристойный контент. Это хорошее и приемлемое решение для компаний с ресурсами, однако стартапы не могут себе этого позволить. Вот почему сегодня мы хотим поделиться с вами удивительной библиотекой PHP, которая обнаруживает (в основном, не с точностью до 100%), содержит ли изображение ню и т. Д. Мы также покажем вам, как реализовать его в вашем проекте Symfony 3.

Важный

Алгоритм обнаружения наготы, реализованный библиотекой, не является пуленепробиваемым, как многие другие сервисы. Если вы не используете какие-то глубокие основы обучения или резюме, некоторые изображения могут быть квалифицированы как не порно (могут не). Частота ложных срабатываний низка с этой реализацией, так что этот скрипт поможет вам обнаружить четкое «порно» или «обнаженное» изображение.

Если вы действительно хотите пуленепробиваемую реализацию, которая работает с использованием нейронных сетей и т. Д., Вы можете использовать стороннюю службу (API), которая использует нейронные сети. У нас есть коллекция из 5 лучших API, которые вы можете использовать для этой цели.

1. Установите детектор наготы

Чтобы определить, имеет ли изображение ню, мы будем использовать PHP-скрипт Nudity Detector. Обнаженный детектор — это библиотека, опубликованная на Packagist и устанавливаемая вместе с композитором. Первоначально библиотека была написана парнями из FreebieStock, которые использовали потрясающий алгоритм (объяснение и технические детали информация здесь) и портировал его в PHP.

Чтобы установить эту библиотеку с помощью composer, выполните следующую команду:

composer require necrox87/yii2-nudity-detector "dev-master"

Как видите, пакет, опубликованный на Packagist, не обрабатывает версионирование, так как это просто копия исходного проекта PHP в этом хранилище. Для получения дополнительной информации о пакете, доступном на Packagist, посетите его хранилище здесь.

2. Использование детектора наготы

Как уже упоминалось, эта библиотека довольно проста в использовании и может использоваться как в контроллерах, так и в службах Symfony, вам просто нужно использовать класс NudityDetector из пространства имен и все. Вам необходимо создать экземпляр класса детектора, который в качестве первого аргумента получает путь к файлу изображения, который вы хотите проанализировать. Из созданного экземпляра используйте только isPorn метод определения, имеет ли изображение непристойное содержание или нет:

get('kernel')->getRootDir() . '/../web/images/nude6.jpg';
// Create an instance of the NudityDetector
$NudityChecker = new NudityDetector($imagePath);
// The isPorn method verifies if the providen image has obscene content
// and returns a boolean respectively
if($NudityChecker->isPorn()){
// Image has adult content !!!!
}else{
// Image is suitable for the whole family !
}
// Rest of your code ...
}
}

Как уже упоминалось в начале статьи, алгоритм может в некоторых случаях давать сбой, однако при очистке изображений, содержащих нецензурное содержание, будет применен фильтр. Если вы хотите идеальное решение, мы рекомендуем вам проверить решение с помощью сторонний API.

Ссылка на основную публикацию
Adblock
detector