2014-12-12 6 views
0

Я пытаюсь отслеживать объект (шарик в этом случае) с использованием OpenCV и Python. В качестве примера я использую это видео: https://www.youtube.com/watch?v=xmQZiSOiD1cОтслеживание объекта через OpenCV

Мне нужно следить за мячом, не обнаруживая другие части видео в качестве мяча. Отслеживание по цвету здесь не работает. Поиск по кругам довольно сложный по той же причине.

И идея хорошего подхода к этой проблеме?

+0

Поиск вероятностного отслеживания (например, фильтрация частиц) в литературе по компьютерному видению. Не ожидайте, что это будет легко для жесткого фона или непонятного переднего плана. – Micka

+0

сделаю. Любая конкретная литература, которую вы можете порекомендовать? – Shin

+0

Я нашел «Color-BasedProbabilisticTracking» от Perez, чтобы быть хорошей бумагой о фильтрации частиц. Для основ см. Wikipedia и google, есть хорошие слайды учителя – Micka

ответ

0

Простого отслеживание мяча может осуществляться первым:

  1. Выделяя таблицу, используя настольный футбол перспективу гомографии т.е. построения вида сверху стола, чтобы сделать отслеживание 2D позиции проще.

  2. Выполнение серии наблюдений (догадок) с использованием простого метода для удаления фона с использованием цвета и/или движения.

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

Вот source code, который проводит анализ основного круга на видео, которое вы предоставили, и results. Обратите внимание, что зеленая точка не является плохим приближением к прошлому и текущему положению мяча. Следующим шагом будет использование фильтрации частиц по данным цвета с позицией, рассчитанной простым анализом hough. Вы также можете использовать окно поиска вокруг текущих позиций, чтобы отфильтровать любые ложные срабатывания.

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

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

+0

Woah это здорово! Я просто немного смущен, почему вы вряд ли получите какие-либо результаты, которые не являются мячиком, в то время как мой слишком часто находит неправильную цель. Я бы посмотрел в TLD/CMT, но мне нужно работать с Python. Когда я изучаю C++, я буду изучать его :) – Shin

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