Инструмент для автоматического размывания людей на фотографиях
Я ищу способ легко сделать людей на фотографиях неузнаваемыми. Всякий раз, когда я размещаю какие-либо фотографии (обычно города и пейзажи) в своем онлайн-альбоме, я сначала делаю всех узнаваемых людей неузнаваемыми, так как считаю, что вежливым вопросом является не публиковать фотографии незнакомых людей.
Итак, я в основном хочу сделать более или менее то, что Google делает с изображениями StreetView. В настоящее время я делаю это вручную для каждой фотографии, рисуя выделения эллипса вокруг всех граней в Gimp, а затем использую фильтр размытия в выделении.
Есть ли инструмент, который позволяет мне делать это размытие более или менее одним щелчком мыши? В идеале, показывая мне все распознанные лица на первом этапе, а затем позволяя мне отменить выбор тех, которые я не хочу размыть?
(Было бы неплохо стирать и другие личные данные, такие как номерные знаки автомобилей, но моя главная цель - найти такой инструмент для размытия лиц, так как люди часто появляются на фотографиях, а общее количество разборчивых номерных знаков минимально. Более того, я ищу инструменты, которые размывают лица. Пикселизация может быть запасным вариантом, но она не так хорошо интегрируется с остальной частью изображения, как размытие.)
Я уже давно искал такие инструменты, но все, что я нашел, похоже, относится к одной из трех категорий:
- Он предназначен для запуска на смартфонах, а не на настольных компьютерах, таких как это приложение.
- Он предназначен для видео, на что указывают похожие вопросы, такие как эта или эта, или эта статья.
- Это веб-интерфейс, поэтому все фотографии должны быть загружены на чей-либо сервер для обработки, и при редактировании фотографий требуется подключение к Интернету, например, с помощью этой службы или этого редактора.
Я ищу исключительно программное обеспечение, которое работает в Windows и / или Ubuntu без необходимости подключения к Интернету (т.е. нет облачных инструментов, которые требуют от меня загрузки всех фотографий для обработки). Бесплатный инструмент был бы хорош, но платный инструмент все же лучше, чем никакой инструмент вообще.
4 ответа
Я нашел для GIMP плагин распознавания лиц с 2010 года (нет гарантии, что он все еще работает):
В противном случае вам, возможно, придется развернуть собственное программное обеспечение. В этом случае смотрите следующие ссылки:
программное обеспечение для обнаружения лиц
Microsoft Research Face SDK Beta
Intel Perceptual Computing SDK
Особо следует отметить OpenCV. См. Определение лица, а затем автообрезка изображений для примера использования Python.
Если у вас все в порядке с решениями "требуется некоторая сборка", попробуйте использовать "facedetect" (который просто использует OpenCV) и ImageMagick. Пример на следующей странице:
http://www.thregr.org/~wavexx/hacks/facedetect/
Пара замечаний по примеру:
- Он использует пикселизацию, но вы можете легко заменить операторы "-scale" на простой "-blur 0x100".
- Каждое лицо обрабатывается в этом примере независимо, и это именно то, что вам нужно: вы можете использовать "display -crop GEOMETRY", чтобы показать лицо перед процессом размытия. С "zenity" или некоторыми сценариями оболочки довольно просто спросить, следует ли продолжить размытие или нет.
Никакое программное обеспечение для обнаружения лиц не является точным на 100%. Вы получите как ложные срабатывания, так и промахи. В частности, профиль OpenCV по умолчанию определенно не лучший на рынке без дополнительного обучения. Ложные срабатывания легко обойти с помощью описанного вами метода, но промахи - это отдельная история. Возможность просмотра всех фотографий вручную может не сэкономить много времени. Я думаю, это зависит от ваших требований к точности.
Чтобы показать наложенное обнаружение, используйте флаг "-o" на образце ваших изображений и посмотрите, соответствует ли уровень обнаружения вашим потребностям.
Текущий лучший ответ выглядит так:
https://github.com/openalpr/openalpr
К сожалению, это всего лишь библиотека программного обеспечения и только для обнаружения. Вы должны будете интегрировать это в программное обеспечение, которое делает размытие.
У меня есть аналогичная потребность, поэтому я мог бы попробовать, но мои навыки программирования немного... ржавые.
У гугла была такая же проблема. Они опубликовали свое исследование здесь, но не код: http://static.googleusercontent.com/media/research.google.com/en//archive/papers/cbprivacy_iccv09.pdf
Если вы больше заинтересованы в разработке приложений, вы можете попробовать использовать API от Cloudinary. Вот дополнительная информация об этом: http://cloudinary.com/blog/automatic_face_blurring_in_images_made_easy
Я не мог найти ни одно программное приложение, которое делает это автоматически. Там могут быть некоторые плагины для Photoshop или Gimp.