Последние три недели я работал над обнаружением футбольных голов и улучшением детектора последовательности действий.
Мой подход к обнаружению футбольных голов был в основном таким:
- Сегментируйте табло.
- Следите за изменениями в табло для обнаружения голов.
Оказывается, область табло имеет довольно много краевого содержимого из-за наличия текстовых областей. Благодаря этому выходные данные фильтра Собеля/Шарра лучше отображают область табло, а также отсеивают ненужные детали. Итак, в основном, мне нужно было пропустить случайный кадр, если у него есть табло, через фильтр Собеля и получить контуры. Правильно? Вообще-то, нет.
Вот что произошло, когда я передал случайный кадр в...
Я обошел это, выполнив поиск субклипа, ~ 10 минут видео, для кадров с наименьшим краевым содержимым и использовал лучший из них для дальнейшей обработки. Ниже приведены некоторые кадры с низкоуровневым содержимым —
Затем, после размытия и морфинга, я находил контуры в наименьших краях, в дальнейшем LE, кадре, получал их ограничивающие прямоугольники и помечал как табло тот, который удовлетворял определенным критериям по площади и соотношению сторон.
А вот и наша табличка!
Однако есть еще ненужная вещь, которая позже может создать проблемы — таймер. Поскольку мой подход основан на сравнении изменений в таблицах результатов, тот факт, что там что-то меняется каждую секунду, довольно плох.
Поэтому, чтобы убрать таймер, я вычислил структурное сходство между табло кадра LE и табло кадра, который идет через секунду после кадра LE. И поскольку единственное, что меняется за такое короткое время, — это таймер, я смог убрать сторону таймера с табло.
Следующим шагом является отслеживание изменений в области только для оценки. Я снова использовал структурное сходство для получения различий между двумя табло. Вот как это выглядит при изменении счета -
Тогда это был просто вопрос повторения матча и сравнения области только для очков на предмет значительных изменений. Хотя выбор порога сходства, нарушение которого будет означать гол, — отдельная проблема, на основе четырех матчей от разных студий я выяснил, что 87,5% — это хорошая ставка.
И вот как вы забиваете голы в футболе!
Проверьте и внесите свой вклад в FabBits, если у вас есть время!