Мы пытаемся разработать систему HawkEye, которая используется в крикете для нашего проекта в колледже.Процесс, используемый в системе HawkEye, выглядит следующим образом: необходимы
- изображения мяча в разные моменты времени (в разных точках) от руки боулера до игрока с битой (во время всего полета мяча)
- определение (x, y) координат шара в разные моменты времени в течение всего полета мяча
- преобразование (x, y) координат в соответствующие трехмерные координаты (x,y, z)
- моделирование траектории мяча в течение всего полета мяча вместе с окружающей средой мяча, которая включает в себя поле, поле, калитки, стадион
- , расширяющий траекториюмяч, чтобы увидеть, ударил ли бы шар по калиткам или нет
Пока это то, что мы планировали выполнить в этом проекте:
мы будем снимать видеоигрок с битой из положения ноги судьи, а затем воспроизвести это видео в замедленном режиме в VLC Player и одновременно сделать несколько снимков экранаПолет мяча, я думаю, это позаботится о шаге 1.
, но сейчас мы застряли на шаге 2, проблема, с которой мы сейчас сталкиваемся, заключается в том, как распознать и найти (х, у) координаты шара в конкретном случае (с изображением шара, взятой из стороны ноги), если мы сможем найти (х, у) шара и, если расстояние от камеры от некоторой точки отсчета известнозатем мы можем найти глубину изображения, то есть координату z, следовательно, мы можем найти соответствующие (x, y, z) координаты, а затем мы можем моделировать его в 3D, используя OpenGL
, который мы пытаемсядля его реализации в C ++
любая помощь приветствуется:)
Быстрое редактирование:
Я узнал, что в реальной системе HawkEye System 6 камеры настраиваются по окружности поля для крикета,все камеры разделены под углом 60 градусов, HawkEye может отлично работать, используя только 4 камеры, но для большей точности используются 2 дополнительные камеры.так как у нас не так много камер, я думаю, что мы будем использовать 3 камеры, расположенные по окружности поля, разделенного на 120 градусов, и чтобы уменьшить сложность, мы выберем небольшое поле, которое может быть одним с радиусом = 5 м, номы не уверены, где разместить камеры, чтобы получить более точные результаты, возможно, это могут быть позиции: одна на ноге, одна на стороне и третья прямо впереди, но я все еще не уверен, какие позициивыберите
этот подход называется Multi Camera Calibration, и для распознавания мяча я думаю, что мы должны выбрать OpenCV вместо MATLAB из-за более быстрой обработки изображений, выполняемой OpenCV
Что вы все должны сказать?