Обнаружение волос на портретном изображении?

Каков наилучший подход для обнаружения и удаления волос человека на простом портретном изображении? Какие-нибудь полезные библиотеки алгоритмов? Я просматривал openCV, который выглядит так, как будто он может быть полезен

3 ответа

Вы имеете дело с двумя разными проблемами здесь:

  1. определить, есть ли у лица на портрете волосы
  2. "удаление" волос

Первое разрешимо довольно легко:

  • Отделите лицо от фона (как вы упомянули "простое портретное изображение", это не должно быть слишком сложно).
  • Преобразуйте ваше изображение в цветовое пространство Y'CbCr
  • Кожа человека имеет довольно узкий диапазон значений цветности, независимо от расы. Проверьте эту бумагу для деталей.
  • Приведенный выше подход поможет вам отделить участки кожи лица от участков без кожи
  • Предположим, что участки без кожи состоят из волос. Обратите внимание, что волосы на лице также будут восприниматься как не кожа.

Что касается второй проблемы, вам нужно уточнить, что именно вы имеете в виду под "удалением":

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

Я думаю, что это трудная проблема - рассмотрим обнаружение и удаление волос в этом случае:

Я нашел несколько работ, возможно, они вам помогут:

Ура!

Попробуйте это http://betaface.com/demo.html. Цвет, информация о волосах и многое другое. улыбка, возраст, глаза и т.д..

Другие вопросы по тегам