Если что, можете относиться к этой заметке как к юмору.
Программы для распознавания лиц уже давно на слуху. Но, оказывается, бывают ещё программы для определения, содержит ли фотография наготу.
Зачем эта программа? Например, вы можете проводить автоматизированное исследования большого количества профилей для поиска чего-нибудь «этакого». Вы также можете автоматически анализировать сетевой трафик — выявляя подобные фотографии. Ну или просто рассортировать свой домашний фотоархив на две части: интересные и неинтересные фотографии.
Про эту программу я узнал случайно, когда читал описание imago-forensics (ещё один инструмент для криминалистического анализа ISO образов) — ищет файлы, метаданные, таблицы, БД, анализирует файлы по хешу, ищет фотографии с наготой и т. д. Дальше чтения описания с imago-forensics у меня не пошло, поэтому если вам интересно, то смотрите эту программу сами: https://github.com/redaelli/imago-forensics
Я хочу рассказать о nude.py (сайт https://github.com/hhatto/nude.py ) эта программа как раз и ищет наготу на изображениях. Сама программа является портом nude.js ( https://github.com/pa7/nude.js ).
Для установки nude.py:
sudo pip install --upgrade nudepy
Использование очень простое:
nudepy ПУТЬ_ДО_ФОТОГРАФИИ
Если нагота найдена, то пишет True, если нет, то пишет False.
Можно анализировать все фотографии в папке, для этого перейдите в эту папку и запустите программу со звёздочкой:
nudepy *
Из интересных опций:
-r, --resize Уменьшить размер изображения для увеличения скорости сканирования
-t число, --threads Число Количество потоков для одновременной обработки
Пример обработки всех фотографий в текущей папке в 4 потока:
nudepy -t 4 *
Кстати, программа реально сильно нагружает процессор! По умолчанию нагружает только одно ядро, поэтому если у вас много ядер, то для ускорения процесса и более полной загрузки центрального процессора, используйте обработку в несколько потоков.
Качество распознавания
Само собой программа работает неидеально, но, вроде, показатели лучше обычного рандома — много тестить не смог — сегодня не один на рабочем месте, а объяснять, что это для работы… ну я бы и сам не поверил ? LOL ?