Как справиться с окклюзией и фрагментацией

Я пытаюсь внедрить систему подсчета людей с использованием компьютерного зрения для проекта uni. В настоящее время мой метод:

  1. Вычитание фона с помощью MOG2
  2. Морфологический фильтр для удаления шума
  3. Отслеживание большого двоичного объекта
  4. Подсчет большого двоичного объекта, проходящего через указанную область (строку)

Проблема в том, что если люди приходят группой, мой метод учитывает только одного человека. Судя по моим чтениям, я считаю, что это то, что называется окклюзией. Другая проблема заключается в том, что когда люди выглядят похожими на фон (используют темную одежду и проходят мимо черной колонны/стены), капля отделяется, хотя на самом деле это один человек. введите здесь описание изображения

Из того, что я прочитал, я должен реализовать детектор + трекер (например, обнаруживать человека с помощью HOG). Но мой результат обнаружения плохой (например, 50% ложных срабатываний с 50%-й частотой совпадений; использование детектора человека OpenCV и моего собственного обученного детектора), поэтому я не убежден использовать детектор в качестве основы для отслеживания. Спасибо за ответы и время на прочтение этого поста!


person bonchenko    schedule 26.04.2013    source источник


Ответы (2)


На этот вопрос нет единого «хорошего» ответа, поскольку обработка окклюзии (и вычитание фона) все еще остается открытой проблемой! Есть несколько советов, которые могут помочь вам в вашем проекте.

Вы хотите определить, является ли «клякса» одним человеком или группой людей. Есть несколько вещей, которые вы могли бы сделать, чтобы справиться с этим.

  • Используйте несколько камер (маловероятно, что группа людей будет распознана как единое целое со всех сторон).
  • Попробуйте обнаружить части человеческого тела. Если вы обнаружите две головы на одной капле, значит, там несколько человек. То же самое можно сказать о 3 ногах, 5 плечах и т. д.

На область слежения за «потерянным» человеком (идущим за другим объектом) следует экстраполировать его положение. Вы знаете, что человек может двигаться только между кадрами. Принимая это во внимание, вы знаете, что пользователь не может быть обнаружен в середине вашего изображения, а затем внезапно исчезнуть. После нескольких кадров, когда вы не видите этого человека, вы можете отказаться от наблюдения, так как у человека могло быть достаточно времени, чтобы отойти.

person Nallath    schedule 26.04.2013
comment
Понятно, поэтому мне нужно улучшить и модифицировать мой детектор, от полного детектора человека до детектора человека на основе частей. Я буду читать об этом больше, потому что я больше знаком с обнаружением, используя HOG, LBP, Latent SVM, а не несколько камер. Спасибо Наллат! - person bonchenko; 26.04.2013
comment
Это немного похоже на так называемую модель мешка слов. - person Nallath; 26.04.2013

Отслеживание людей в кадрах видеонаблюдения по-прежнему остается открытой проблемой в исследовательском сообществе. Однако particule filters (PF) (он же последовательный монте-карло) дает хорошие результаты в отношении окклюзии и сложной сцены. Вы должны прочитать это. Также есть дополнительные ссылки на примеры исходного кода после biblio.

Преимуществом использования PF является выигрыш во времени вычислений по сравнению с отслеживанием путем обнаружения (только).

Если вы пойдете по этому пути, не стесняйтесь просить лучшего понимания математики, лежащей в основе PF.

person Eric    schedule 26.04.2013
comment
Спасибо за предупреждение, @Eric. Я нашел несколько связанных статей или обсуждений об отслеживании людей, в которых упоминается фильтр частиц. - stackoverflow.com/questions/15873484/ - stackoverflow.com/questions/4903016/ tracking-blobs-with-opencv/ Я обязательно углублюсь в тему! PS. Я думаю, вы имеете в виду фильтр частиц, а не конкретный фильтр - person bonchenko; 26.04.2013