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

11

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

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

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

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

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

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

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

ИЛИ Картограф
источник

Ответы:

2

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

образ

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

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

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

harrymc
источник
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» на образце ваших изображений и посмотрите, соответствует ли уровень обнаружения вашим потребностям.

TARDIS
источник
2

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

https://github.com/openalpr/openalpr

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

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

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

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

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

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

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