Обнаружение быстро движущихся шаров в изображении с низким разрешением - PullRequest
1 голос
/ 07 марта 2019

Я работаю над автоматическим теннисным видеоредактором для мобильных телефонов и домашних видеозаписей, и в настоящее время я застрял, пытаясь обнаружить быстро движущийся шар в изображении с низким разрешением.

Я пробовал несколько подходов:

  1. Я вычисляю временную дельту между текущим кадром и предыдущим кадром, а затем выбираю контуры в текущем кадре, которые пересекаются с временным изображением дельты (текущий кадр - предыдущий кадр). Это оставляет меня с контурами частей тела игроков и контура мяча.

  2. Я фильтрую контуры по размеру, поэтому получаю только контуры, которые могут принадлежать мячу (или голове игрока, или кончику его ботинка и т. Д.)

  3. Я не могу действительно фильтровать по цвету, поскольку плохо освещенный шар становится серым, и есть корты всех цветов (серый, синий, красный), и шар в конечном итоге имеет цвет, близкий к цвету корт или голова игрока, во многих случаях

  4. Невозможно фильтровать по округлости, поскольку у игроков и ракеток также есть круглые части, которые не будут фильтроваться (а размытые шары иногда не выглядят круглыми)

  5. Извлечение функций кажется трудным с изображениями с низким разрешением, но я, возможно, применил это плохо, поскольку у меня мало знаний в этой области. Я пробовал SURF и SIFT на полутоновых версиях моих изображений

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

  7. Я пробовал обучать классификаторы из моих образцов, либо из векторов объектов, либо из самих исходных изображений, и самое большее, что я получил, - это точность 95%, что все еще мало для моего приложения (я бы сказал, что получаю лучшая точность, отфильтровывая точки по цвету окрестности самостоятельно)

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

Я не могу вставлять изображения в эту тему, но все мои примеры изображений доступны по адресу: https://www.dropbox.com/sh/s9m6xq50g4ehdw1/AABXnqkBYlhYeNXOwpZuKBD6a?dl=0

...