Инструмент для автоматического размывания людей на фотографиях [закрыто]


11

Я ищу способ легко сделать людей на фотографиях неузнаваемыми. Всякий раз, когда я помещаю какие-либо фотографии (обычно города и пейзажи) в свой онлайн-альбом, я сначала делаю всех узнаваемых людей неузнаваемыми, так как считаю, что вежливым вопросом является не публиковать фотографии незнакомых людей.

Итак, я в основном хочу сделать более или менее то, что Google делает с изображениями StreetView. В настоящее время я делаю это вручную для каждой фотографии, рисуя выделения эллипса вокруг всех граней в Gimp, а затем использую фильтр размытия в выделении.

Есть ли инструмент, который позволяет мне делать это размытие более или менее одним щелчком мыши? В идеале, показывая мне все распознанные лица на первом этапе, а затем позволяя мне отменить выбор тех, кого я не хочу размыть?

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

Я уже давно искал такие инструменты, но все, что я нашел, похоже, относится к одной из трех категорий:

  • Он предназначен для запуска на смартфонах, а не на настольных компьютерах, таких как это приложение .
  • Он предназначен для видео, на что указывают похожие вопросы, такие как эта или эта , или эта статья .
  • Это веб-интерфейс, поэтому все фотографии должны быть загружены на чей-либо сервер для обработки, и при редактировании фотографий требуется подключение к Интернету, например, с помощью этой службы или этого редактора .

Я ищу исключительно программное обеспечение, которое работает на Windows и / или Ubuntu без необходимости подключения к Интернету (т.е. нет облачных инструментов, которые требуют от меня загрузки всех фотографий для обработки). Бесплатный инструмент был бы хорош, но платный инструмент все же лучше, чем никакой инструмент вообще.

Ответы:


2

Я нашел для КАНИТЕЛИ обнаружения лица Plugin от 2010 (без гарантии , что он все еще работает):

образ

В противном случае вам, возможно, придется развернуть собственное программное обеспечение. В этом случае смотрите следующие ссылки:

программное обеспечение для обнаружения лиц
Microsoft Research Face SDK, бета-версия
Intel Perceptual Computing SDK

Особо следует отметить OpenCV . См. Определение лица, а затем автообрезка изображений для примера использования Python.


1
К сожалению, я не смог получить плагин для компиляции. Я установил кучу пакетов, необходимых помимо тех, которые указаны в статье, и обновил вызов, чтобы cvHaarDetectObjectsсопоставить текущий (не обратно совместимый?) API с одним дополнительным параметром, но теперь gcc завершается ошибкой по неопределенной ссылке lrint.
ИЛИ Mapper

lrint выполняет «округление до ближайшего целого числа» и определяется как «long int lrint (double x)». Должно быть легко кодировать.
Harrymc

Сейчас я приму этот ответ, так как он самый полезный и выглядит многообещающим. К сожалению, система вознаграждений SU не дает мне достаточно времени, чтобы достаточно попробовать различные предложения, чтобы определить их возможную полезность до истечения срока действия вознаграждения ... и получить работу ;-) Другими словами, большое спасибо, хотя я мог бы добавить некоторые дополнительные замечания позже.
ИЛИ Mapper

Хм. Когда я добавляю определение для lrint, компилятор жалуется на противоречивые определения lrint, а когда я не добавляю его, он жалуется на то, lrintчто он является неопределенной ссылкой.
ИЛИ Mapper

Найдите нужное определение и основывайте на нем свой заголовок функции.
Harrymc

5

Если у вас все в порядке с решениями, требующими сборки, попробуйте использовать facedetect (который просто использует OpenCV) и ImageMagick. Пример на следующей странице:

http://www.thregr.org/~wavexx/hacks/facedetect/#blurring-faces-within-an-image

Пара замечаний по примеру:

  • Он использует пикселизацию, но вы можете легко заменить операторы "-scale" на простой "-blur 0x100".
  • В этом примере каждая грань обрабатывается независимо, и это именно то, что вам нужно: вы можете использовать «display -crop GEOMETRY», чтобы показать грань перед процессом размытия. С "zenity" или некоторыми сценариями оболочки довольно просто спросить, следует ли продолжить размытие или нет.

Никакое программное обеспечение для обнаружения лица не на 100% точно. Вы получите как ложные срабатывания, так и промахи. В частности, профиль OpenCV по умолчанию определенно не лучший на рынке без дополнительного обучения. Ложные срабатывания легко обойти с помощью описанного вами метода, но промахи - это отдельная история. Возможность просмотра всех фотографий вручную может не сэкономить много времени. Я думаю, это зависит от ваших требований к точности.

Чтобы показать наложенное обнаружение, используйте флаг «-o» на образце ваших изображений и посмотрите, соответствует ли уровень обнаружения вашим потребностям.


2

Текущий лучший ответ выглядит так:

https://github.com/openalpr/openalpr

К сожалению, это всего лишь библиотека программного обеспечения и только для обнаружения . Вам нужно будет интегрировать это в программное обеспечение, которое делает размытие.

У меня есть аналогичная потребность, поэтому я мог бы попробовать, но мои навыки программирования немного ... ржавые.

У гугла была такая же проблема. Они опубликовали здесь свое исследование, но не код: http://static.googleusercontent.com/media/research.google.com/en//archive/papers/cbprivacy_iccv09.pdf


Хм, C ++ не является моим основным языком, и у меня сейчас нет времени на эксперименты, но чуть позже (недели? Месяцы?) Я мог бы подумать о том, чтобы попробовать это на практике. Хотя из файла readme кажется, что это только для номерных знаков, а не для лиц?
ИЛИ Mapper

0

Если вы больше в разработке приложений, вы можете попробовать использовать API от Cloudinary. Вот больше информации об этом: http://cloudinary.com/blog/automatic_face_blurring_in_images_made_easy

Я не мог найти ни одно программное приложение, которое делает это автоматически. Там могут быть некоторые плагины для Photoshop или Gimp.


Извините, я уже ссылался на эту статью в своем вопросе как пример того, что я не ищу. Я не хочу загружать свои фотографии в какой-либо веб-сервис, потому что передача занимает много времени, и потому что кто знает, что случится с фотографиями однажды на серверах этой компании. Если нет ничего отдельного, я буду искать какой-нибудь плагин для Gimp.
ИЛИ Mapper

@ORMapper: извините, я должен пропустить это. дайте нам знать, если вы найдете какое-либо приложение.
Алекс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.