2015-06-08 3 views
0

Я пытаюсь обнаружить игроков в футбольной игре с javacv, используя HOG Descriptor. Я уже реализовал метод с детекторами людей по умолчанию, но результаты не удовлетворяют. Итак, я извлек положительные и отрицательные изображения, и я хочу извлечь функции с помощью этих изображений. У кого-нибудь есть идеи о том, как это сделать, пожалуйста? Благодаря!Извлечь функции HOG Descriptor

ответ

2

Вы на самом деле реализуете идею, опубликованную в этом paper.

An (расширенный) пример кода можно найти на UCI

Резюмируя:

  1. Вы должны генерировать положительный и отрицательный набор тренировки. Это означает, что в позитивных учебных изображениях вы должны знать, где находятся игроки.
  2. Затем вам нужно извлечь функции HoG в положение игроков. Обратите внимание, что оригинальный метод HoG принимает вводные исправления размером 128x64, поэтому убедитесь, что ваши игроки масштабированы до одного размера. И важно: размер функции HoG зависит от размера окна экстракции, поэтому держите его исправленным! Сохраните информацию в структуре данных с соответствующей меткой 1.
  3. Затем извлеките отрицательные объекты из отрицательных изображений и сохраните их с соответствующей меткой 0 или -1.
  4. Используйте некоторые методы обучения. В настоящее время я работаю с линейной машиной векторной поддержки, подобной liblinear: SVM
  5. Затем используйте тестовый набор, чтобы убедиться, что вы получаете правильные результаты. Для тестирования используйте скользящее окно и перемещайте его по всему изображению и оценивайте извлеченные функции. Возьмите лучший результат, поскольку, скорее всего, игрок находится там.
  6. Если вы хотите обнаружить нескольких игроков в одном изображении, используйте не максимальное подавление.

Примечание: функции HoG довольно сложно обрабатывать, так как небольшие изменения в извлечении могут оказать большое влияние на производительность. Например, openCV поставляется с детектором HoG (недокументированным). HoG visualization помог мне понять, как это работает.

EDIT: фиксированный Hog визуализация ссылка

+0

Спасибо за ваш ответ, но я просто хочу знать, когда вы говорили о создании положительного и отрицательного обучающего набора, вы имеете в виду, что я должен извлечь особенности свиней от негатива и положительные образцы, как показано ниже: http://thebrainiac1.blogspot.com/2012/07/v-behaviorurldefaultvmlo.html – Synda

+0

Точно. Вы извлекаете положительные характеристики HoG на (известных) позициях лиц. Отрицательные черты извлекаются в любой позиции негативных изображений (если на них нет людей). Если у вас есть люди с отрицательным набором данных, убедитесь, что вы не извлеките возможности человека, это завинчило бы все это. – LSA

+0

Ссылка на визуализацию свиней нарушена. :( –

Смежные вопросы