Отслеживание положения мяча в облаке с помощью PGA TOUR | Веб-сервисы Amazon

Отслеживание положения мяча в облаке с помощью PGA TOUR | Веб-сервисы Amazon

Исходный узел: 3057379

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

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

Инновационный центр Amazon Generative AI (GAIIC) продемонстрировал эффективность этих методов на примере набора данных с недавнего мероприятия PGA TOUR. GAIIC разработал модульный конвейер, каскадно объединяющий серию глубоких сверточных нейронных сетей, который успешно локализует игроков в поле зрения камеры, определяет, какой игрок делает ставку, и отслеживает движение мяча по направлению к чашке.

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

Данные

TOUR предоставил 3 дня непрерывной видеозаписи недавнего турнира с трех камер 4K, расположенных вокруг грина на одной лунке. На следующем рисунке показан кадр с одной камеры, обрезанный и увеличенный, чтобы было хорошо видно, как игрок ставит мяч. Обратите внимание, что, несмотря на высокое разрешение камер, из-за расстояния от грина мяч кажется маленьким (обычно 3×3, 4×4 или 5×5 пикселей), и цели такого размера может быть сложно точно локализовать.

В дополнение к изображениям с камер TOUR предоставил GAIIC аннотированные данные о результатах каждого выстрела, включая местоположение в мире его положения покоя и временную метку. Это позволило визуализировать каждый удар на грине, а также получить возможность извлекать все видеоклипы с участием игроков, которые можно было вручную пометить и использовать для обучения моделей обнаружения, составляющих конвейер. На следующем рисунке показаны три изображения с камеры с примерным наложением траектории удара, против часовой стрелки, начиная с левого верхнего угла. Булавка перемещается каждый день: день 1 соответствует синему цвету, день 2 — красному, а день 3 — оранжевому.

Обзор конвейера

Общая система состоит из конвейера обучения и конвейера вывода. На следующей диаграмме показана архитектура конвейера обучения. Отправной точкой является прием видеоданных либо из модуля потоковой передачи, например Амазонка Кинезис для живого видео или размещения непосредственно в Простой сервис хранения Amazon (Amazon S3) для исторического видео. Конвейер обучения требует предварительной обработки видео и ручной маркировки изображений с помощью Amazon SageMaker - основа правды. Модели можно обучать с помощью Создатель мудреца Амазонки и их артефакты, хранящиеся в Amazon S3.

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

Обнаружение игрока

Хотя можно было бы запустить CNN для обнаружения мяча по всему кадру 4K с заданным интервалом, учитывая угловой размер мяча на этих расстояниях от камеры, любой небольшой белый объект запускает обнаружение, что приводит к множеству ложных тревог. Чтобы избежать поиска мяча по всему кадру изображения, можно воспользоваться корреляцией между позой игрока и местоположением мяча. Мяч, который собирается забить, должен находиться рядом с игроком, поэтому обнаружение игроков в поле зрения сильно ограничит область пикселей, в которой детектор должен искать мяч.

Мы смогли использовать CNN, которая была предварительно обучена прогнозировать ограничивающие рамки вокруг всех людей в сцене, как показано на следующем рисунке. К сожалению, на зеленом поле часто находится более одного мяча, поэтому требуется дополнительная логика, помимо простого поиска всех людей и поиска мяча. Для этого требуется другой CNN, чтобы найти игрока, который в данный момент ставил.

Классификация игроков и обнаружение мяча

Чтобы еще больше сузить область, где может находиться мяч, мы настроили предварительно обученную CNN для обнаружения объектов (YOLO v7), чтобы классифицировать всех людей на зеленом поле. Важным компонентом этого процесса была ручная маркировка набора изображений с помощью SageMaker Ground Truth. Метки позволили CNN классифицировать игрока, ставящего мяч, с высокой точностью. В процессе маркировки мяч также обрисовывался вместе с игроком, который делал удар, поэтому эта CNN также могла выполнять обнаружение мяча, рисуя начальную ограничивающую рамку вокруг мяча перед ударом и передавая информацию о местоположении в следующую CNN, отслеживающую мяч. .

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

  • игрок-паттинг – Игрок, держащий клюшку и находящийся в позиции для патинга
  • игрок, не ставящий паттинг – Игрок не в позиции для паттинга (также может держать в руках клюшку)
  • другая личность – Любой другой человек, не являющийся игроком
  • мяч для гольфа – Мяч для гольфа

На следующем рисунке показано, что CNN была точно настроена с использованием меток из SageMaker Ground Truth для классификации каждого человека в поле зрения. Это сложно из-за широкого спектра внешнего вида игроков, кедди и болельщиков. После того, как игрок был классифицирован как паттинг, CNN, настроенный для обнаружения мяча, был применен к небольшой области непосредственно вокруг этого игрока.

Отслеживание траектории мяча

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

Выход трубопровода

Каскад CNN размещает вокруг людей ограничивающие рамки, классифицирует людей на поле, определяет начальное положение мяча и отслеживает мяч, когда он начинает двигаться. На следующем рисунке показан помеченный видеовыход конвейера. Позиции пикселей мяча по мере его движения отслеживаются и записываются. Обратите внимание, что люди на зеленом поле отслеживаются и обводятся ограничивающими рамками; клюшка внизу правильно помечена как «игрок, ставящий игрок», а движущийся мяч отслеживается и обрисовывается маленькой синей ограничивающей рамкой.

Перфоманс

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

Классификация игроков и точность обнаружения мяча

Для определения того, как игрок ставит мяч, и начального местоположения мяча мы пометили набор данных и настроили модель YOLO v7 CNN, как описано ранее. Модель классифицировала выходные данные предыдущего модуля обнаружения людей на четыре класса: игрок, делающий ставку, игрок, не выполняющий ставку, другие люди и мяч для гольфа, как показано на следующем рисунке.

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

Следующий шаг — активировать трекер мяча. Поскольку выходные данные обнаружения мяча представляют собой доверительную вероятность, также можно установить пороговое значение для «обнаруженного мяча» и наблюдать, как это меняет результаты, представленные на следующем рисунке. В этом методе есть компромисс, поскольку более высокий порог обязательно приведет к меньшему количеству ложных тревог, но также пропустит некоторые из менее определенных примеров шаров. Мы протестировали пороговые значения достоверности 20% и 50% и обнаружили, что вероятность обнаружения мяча составляет 78% и 61% соответственно. По этому показателю порог в 20% лучше. Компромисс очевиден в том, что при доверительном пороге 20 % 80 % всех обнаружений на самом деле были шариками (20 % ложноположительных результатов), тогда как при доверительном пороге 50 % 90 % были шариками (10 % ложноположительных результатов). Для меньшего количества ложных срабатываний лучше использовать порог достоверности 50%. Обе эти меры можно улучшить, добавив больше размеченных данных для более крупного обучающего набора.

Пропускная способность конвейера обнаружения составляет порядка 10 кадров в секунду, поэтому в его нынешнем виде один экземпляр недостаточно быстр, чтобы непрерывно работать на входе со скоростью 50 кадров в секунду. Достижение 7-секундной отметки для вывода после шагов шара потребует дальнейшей оптимизации задержки, возможно, путем параллельного запуска нескольких версий конвейера и сжатия моделей CNN посредством квантования (например).

Точность отслеживания траектории мяча

Предварительно обученная модель CNN от MMTracking работает хорошо, но бывают интересные случаи сбоев. На следующем рисунке показан случай, когда трекер начинает с мяча, расширяет свою ограничивающую рамку, включив в нее и головку клюшки, и мяч, а затем, к сожалению, отслеживает головку клюшки и забывает о мяче. В этом случае головка клюшки кажется белой (возможно, из-за зеркального отражения), поэтому путаница понятна; помеченные данные для отслеживания и точной настройки отслеживающей CNN могут помочь улучшить эту ситуацию в будущем.

Заключение

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

Дополнительную информацию о сотрудничестве AWS с PGA TOUR см. PGA TOUR объединяется с AWS, чтобы переосмыслить опыт болельщиков.


Об авторах

Джеймс Голден — учёный-прикладник в Amazon Bedrock с опытом работы в области машинного обучения и нейробиологии.

Генри Ван — учёный-прикладник в инновационном центре Amazon Generative AI, где он исследует и создаёт решения генеративного искусственного интеллекта для клиентов AWS. Он специализируется на спорте, средствах массовой информации и индустрии развлечений и в прошлом работал с различными спортивными лигами, командами и вещательными компаниями. В свободное время он любит играть в теннис и гольф.

Трямбак Гангопадхьяй — учёный-прикладник в Инновационном центре AWS Generative AI, где он сотрудничает с организациями из самых разных отраслей. Его роль заключается в проведении исследований и разработке решений генеративного искусственного интеллекта для решения важнейших бизнес-задач и ускорения внедрения искусственного интеллекта.

Отметка времени:

Больше от Машинное обучение AWS