отслеживание голых рук - PullRequest
3 голосов
/ 14 июля 2011

Моя проблема состоит в том, чтобы отслеживать голые руки в видео, где подписывающее лицо сидит перед равномерным фоном, обнажая верхнюю половину его тела.Отделение всего тела от фона легко, но отделение рук от тела доставляет настоящую боль.Когда я погуглил, я наткнулся на такие темы, как «подход на основе модели», «подход на основе внешнего вида», CCMSPF, haar, HOG, оптический поток и т. Д., И я теряюсь.

Я весьма впечатленпроизводительность, достигнутая в этом http://thepaintballworld.info/play/W801F97DSfI/hand_detection.html (видео).

Какой может быть лучший подход для решения моей проблемы?

Ответы [ 2 ]

1 голос
/ 14 июля 2011

У вас на самом деле есть две разные проблемы (хе).

  1. Во-первых, обнаружение рук
  2. Отслеживание рук после того, как вы их нашли.

1 Труднее двух.Сначала вы не знаете, где находятся руки, какого они цвета, как они расположены и насколько они велики.Как только вы их нашли, есть все виды ограничений, которые помогут вам найти их в последующих кадрах.Они не будут прыгать вокруг изображения, они останутся примерно одного цвета, они не станут внезапно очень большими или очень маленькими и т. Д. В зависимости от вашего варианта использования здесь есть несколько подходов:

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

OpenCV - это библиотека компьютерного зрения высокого уровня, которая поможет вам смного задач, необходимых для любого из этих подходов.Как только вы нашли руки goodFeaturesToTrack только в области рук, вы сможете отслеживать их.И некоторые функции из анализа движения и отслеживания объектов также помогут вам.

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

Что касается определения кожи, это пример кода , который можетпомочь вам, но для этого вам нужно создать скины / не скины.Просто поиск в Google «обнаружение скина opencv» также дает массу полезных ссылок.

Как видите, это довольно широкая тема.Надеюсь, это поможет вам начать.

1 голос
/ 14 июля 2011

Вы можете попробовать использовать OpenCV для обнаружения объектов.Проверить http://sourceforge.net/projects/opencvlibrary/ и http://en.wikipedia.org/wiki/OpenCV

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...