Как отследить футбольную позицию?

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

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

Первоначально я думал о встроенном инерциальном измерительном устройстве (IMU, датчике слияния, таком как акселерометр / гироскоп / магнитометр и иногда GPS), способном поддерживать Bluetooth Low Energy (BLE, версия 4.0, которая имеет больший диапазон, чем Bluetooth Classic), чтобы получить абсолютная позиция мяча, так что это может быть вариантом. Поскольку я еще не очень разбираюсь в IMU, некоторые советы по DO и DONT будут полезны.

Другой вариант - использовать камеру за стойкой ворот. С 2D-камерой я представлял себе такую ​​установку:настройка камеры протоНадеюсь, что камера будет достаточно быстрой, потому что я предполагаю, что размытие в движении будет одной из проблем, поскольку форма и цвета будут казаться искаженными, когда мяч находится в быстром движении.

С точки зрения обнаружения я думал о наивном подходе, основанном на некоторых предположениях:

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

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

1 ответ

Решение

Вы можете использовать дешевую камеру Kinect с простым алгоритмом, подобным этому:

  1. обнаруживать капли в данных RGB (устойчивы к размытию)
  2. выполните евклидову кластеризацию в облаке точек, где вы обнаруживаете капли, с порогом / ограничительной рамкой о размере шара, с которым вы играете (данные глубины имеют абсолютные измерения)
  3. рассчитать центр тяжести мяча
  4. рассчитать расстояние центроида от центра камеры на луче обзора
  5. увидеть, если расстояние меньше, чем расстояние между камерой и целью на том же луче

По моему мнению, эти операции достаточно просты, чтобы алгоритм работал в реальном времени на обычном оборудовании.

Единственное, с чем вам следует быть осторожным, это то, что точность Kinect после определенного расстояния почти равна дерьму, поэтому вам придется немного повозиться с ним, чтобы заставить его работать. Или вам, возможно, придется использовать более одного, если он не может охватить всю цель.

Другие вопросы по тегам