Как отследить футбольную позицию?
Я начинаю изучать отслеживание футбола (футбольный мяч в США), и я мог бы воспользоваться некоторыми советами о том, какой подход будет более надежным и эффективным.
Мяч должен быть зафиксирован, чтобы определить, находится ли он между стойками ворот или нет, и примерно с какой стороны это будет, если это цель (центр / левый / правый / верхний правый угол / и т. Д.)
Первоначально я думал о встроенном инерциальном измерительном устройстве (IMU, датчике слияния, таком как акселерометр / гироскоп / магнитометр и иногда GPS), способном поддерживать Bluetooth Low Energy (BLE, версия 4.0, которая имеет больший диапазон, чем Bluetooth Classic), чтобы получить абсолютная позиция мяча, так что это может быть вариантом. Поскольку я еще не очень разбираюсь в IMU, некоторые советы по DO и DONT будут полезны.
Другой вариант - использовать камеру за стойкой ворот. С 2D-камерой я представлял себе такую установку:Надеюсь, что камера будет достаточно быстрой, потому что я предполагаю, что размытие в движении будет одной из проблем, поскольку форма и цвета будут казаться искаженными, когда мяч находится в быстром движении.
С точки зрения обнаружения я думал о наивном подходе, основанном на некоторых предположениях:
- сегментируйте фон, так как он статический (и в основном зеленый)
- попробуйте Hough Transform для кругов и эллипсов
- сегментируйте движущиеся объекты и фильтруйте их по размеру ограничивающего прямоугольника (ищите более мелкие, похожие на шарики объекты)
Я также рассматриваю возможность подготовки каскада для обнаружения футбола, но я хотел бы проверить, не слишком ли это заранее или нет.
1 ответ
Вы можете использовать дешевую камеру Kinect с простым алгоритмом, подобным этому:
- обнаруживать капли в данных RGB (устойчивы к размытию)
- выполните евклидову кластеризацию в облаке точек, где вы обнаруживаете капли, с порогом / ограничительной рамкой о размере шара, с которым вы играете (данные глубины имеют абсолютные измерения)
- рассчитать центр тяжести мяча
- рассчитать расстояние центроида от центра камеры на луче обзора
- увидеть, если расстояние меньше, чем расстояние между камерой и целью на том же луче
По моему мнению, эти операции достаточно просты, чтобы алгоритм работал в реальном времени на обычном оборудовании.
Единственное, с чем вам следует быть осторожным, это то, что точность Kinect после определенного расстояния почти равна дерьму, поэтому вам придется немного повозиться с ним, чтобы заставить его работать. Или вам, возможно, придется использовать более одного, если он не может охватить всю цель.