제퍼넷 로고

PGA TOUR를 통해 클라우드에서 볼 위치 추적 | 아마존 웹 서비스

시간

PGA TOUR는 팬들을 게임에 더욱 가까이 다가갈 수 있는 실시간 데이터를 통해 골프 경험을 지속적으로 향상시키고 있습니다. 더욱 풍부한 경험을 선사하기 위해 그린 위에서 볼의 위치를 ​​자동으로 추적하는 차세대 볼 위치 추적 시스템 개발을 추진하고 있습니다.

TOUR는 현재 모든 샷의 시작과 끝 위치를 면밀히 추적하기 위해 현장 컴퓨팅 기능이 있는 복잡한 카메라 시스템을 사용하는 최고의 채점 시스템인 CDW가 제공하는 ShotLink를 사용합니다. TOUR는 퍼팅 그린에서 골프공을 찾을 수 있는 차세대 클라우드 기반 파이프라인을 개발하기 위해 컴퓨터 비전과 머신러닝(ML) 기술을 탐구하고자 했습니다.

Amazon Generative AI Innovation Center(GAIIC)는 최근 PGA TOUR 이벤트의 예시 데이터 세트에서 이러한 기술의 효과를 입증했습니다. GAIIC는 카메라 시야 내에서 플레이어의 위치를 ​​성공적으로 파악하고, 어떤 플레이어가 퍼팅하고 있는지 확인하고, 공이 컵을 향해 움직일 때 공을 추적하는 일련의 심층 컨벌루션 신경망을 계단식으로 연결하는 모듈식 파이프라인을 설계했습니다.

이 게시물에서는 이 파이프라인의 개발, 원시 데이터, 파이프라인을 구성하는 컨볼루션 신경망의 설계 및 성능 평가에 대해 설명합니다.

Data

TOUR는 한 홀의 그린 주변에 배치된 3대의 4K 카메라를 통해 최근 토너먼트의 3일 연속 비디오를 제공했습니다. 다음 그림은 플레이어가 퍼팅을 쉽게 볼 수 있도록 자르고 확대한 한 카메라의 프레임을 보여줍니다. 카메라의 고해상도에도 불구하고 그린으로부터의 거리로 인해 공이 작게 나타나고(보통 3×4, 4×5 또는 5×XNUMX 픽셀) 이 크기의 타겟은 정확하게 위치를 파악하기 어려울 수 있습니다.

카메라 피드 외에도 TOUR는 정지 위치의 세계 위치와 타임스탬프를 포함하여 각 샷에 대한 주석이 달린 채점 데이터를 GAIIC에 제공했습니다. 이를 통해 그린 위의 모든 퍼팅을 시각화할 수 있을 뿐만 아니라 플레이어가 퍼팅하는 모든 비디오 클립을 가져올 수 있는 기능이 가능해졌습니다. 이 비디오 클립은 수동으로 라벨을 지정하고 파이프라인을 구성하는 감지 모델을 훈련하는 데 사용할 수 있습니다. 다음 그림은 대략적인 퍼팅 경로 오버레이가 포함된 1개의 카메라 보기를 왼쪽 상단부터 시계 반대 방향으로 보여줍니다. 핀은 매일 이동하며, 2일차는 파란색, 3일차는 빨간색, XNUMX일차는 주황색에 해당합니다.

파이프라인 개요

전체 시스템은 훈련 파이프라인과 추론 파이프라인으로 구성됩니다. 다음 다이어그램은 학습 파이프라인의 아키텍처를 보여줍니다. 시작점은 다음과 같은 스트리밍 모듈에서 비디오 데이터를 수집하는 것입니다. 아마존 키네 시스 라이브 비디오 또는 직접 배치용 아마존 단순 스토리지 서비스 (Amazon S3) 과거 비디오용. 훈련 파이프라인에는 비디오 전처리와 이미지의 수동 라벨링이 필요합니다. 아마존 세이지 메이커 그라운드 진실. 모델은 다음을 사용하여 훈련할 수 있습니다. 아마존 세이지 메이커 그리고 Amazon S3에 저장된 아티팩트.

다음 다이어그램에 표시된 추론 파이프라인은 원시 비디오에서 정보를 연속적으로 추출하고 궁극적으로 정지된 공의 세계 좌표를 예측하는 여러 모듈로 구성됩니다. 처음에는 모델이 선수와 공을 검색해야 하는 픽셀 영역을 줄이기 위해 각 카메라의 더 큰 시야에서 녹색이 잘립니다. 다음으로 심층 합성곱 신경망(CNN)을 사용하여 시야에 있는 사람들의 위치를 ​​찾습니다. 또 다른 CNN은 어떤 사람이 퍼팅을 하려는지 판단하기 위해 어떤 유형의 사람이 발견되었는지 예측하는 데 사용됩니다. 가능성 있는 퍼터가 시야에 국한된 후 동일한 네트워크를 사용하여 퍼터 근처의 공 위치를 예측합니다. 세 번째 CNN은 공이 움직이는 동안 공을 추적하고 마지막으로 카메라 픽셀 위치에서 GPS 좌표로의 변환 기능이 적용됩니다.

플레이어 감지

설정된 간격으로 전체 4K 프레임에 걸쳐 공 감지를 위해 CNN을 실행할 수 있지만 이러한 카메라 거리에서 공의 각도 크기를 고려할 때 작은 흰색 물체가 감지를 트리거하여 잘못된 경보가 많이 발생합니다. 공에 대한 전체 이미지 프레임을 검색하지 않으려면 선수 자세와 공 위치 간의 상관관계를 활용하는 것이 가능합니다. 퍼팅하려는 공은 선수 옆에 있어야 하므로 시야에서 선수를 찾으면 감지기가 공을 검색해야 하는 픽셀 영역이 크게 제한됩니다.

다음 그림과 같이 장면에 있는 모든 사람 주위의 경계 상자를 예측하도록 사전 훈련된 CNN을 사용할 수 있었습니다. 불행하게도 그린 위에 공이 두 개 이상 있는 경우가 많기 때문에 단순히 모든 사람을 찾고 공을 찾는 것 이상의 논리가 필요합니다. 현재 퍼팅하고 있는 플레이어를 찾으려면 또 다른 CNN이 필요합니다.

플레이어 분류 및 볼 감지

공이 있을 수 있는 위치를 더 좁히기 위해 사전 훈련된 객체 감지 CNN(YOLO v7)을 미세 조정하여 그린에 있는 모든 사람을 분류했습니다. 이 프로세스의 중요한 구성 요소는 SageMaker Ground Truth를 사용하여 이미지 세트에 수동으로 레이블을 지정하는 것이었습니다. 라벨을 통해 CNN은 플레이어 퍼팅을 매우 정확하게 분류할 수 있었습니다. 라벨링 과정에서 플레이어 퍼팅과 함께 공의 윤곽도 지정되므로 이 CNN은 공 감지도 수행할 수 있었고, 퍼팅 전에 공 주위에 초기 경계 상자를 그리고 위치 정보를 다운스트림 공 추적 CNN에 공급했습니다. .

우리는 이미지의 객체에 주석을 달기 위해 네 가지 다른 레이블을 사용합니다.

  • 플레이어 퍼팅 – 클럽을 들고 퍼팅 포지션에 있는 선수
  • 플레이어가 퍼팅하지 않음 – 퍼팅 위치에 있지 않은 선수(클럽을 들고 있을 수도 있음)
  • 다른 사람 – 선수가 아닌 기타 모든 사람
  • 골프 공 – 골프공

다음 그림은 시야에 있는 각 사람을 분류하기 위해 SageMaker Ground Truth의 레이블을 사용하여 CNN을 미세 조정한 것을 보여줍니다. 이는 선수와 캐디, 팬의 시각적 모습이 다양하기 때문에 어려운 일이다. 선수가 퍼팅으로 분류된 후, 공 감지를 위해 미세 조정된 CNN이 해당 선수 바로 주변의 작은 영역에 적용되었습니다.

볼 경로 추적

모션 추적을 위해 사전 훈련된 ResNet 아키텍처인 세 번째 CNN은 퍼팅된 공을 추적하는 데 사용되었습니다. 모션 추적은 철저하게 연구된 문제이므로 이 네트워크는 추가 미세 조정 없이 파이프라인에 통합되었을 때 잘 작동했습니다.

파이프라인 출력

CNN의 캐스케이드는 사람들 주위에 경계 상자를 배치하고, 그린에 있는 사람들을 분류하고, 초기 공 위치를 감지하고, 공이 움직이기 시작하면 추적합니다. 다음 그림은 파이프라인의 레이블이 지정된 비디오 출력을 보여줍니다. 공이 움직일 때의 픽셀 위치가 추적되고 기록됩니다. 그린 위의 사람들은 경계 상자로 추적되고 윤곽이 그려집니다. 아래쪽의 퍼터에는 "플레이어 퍼팅"이라는 라벨이 올바르게 표시되어 있고 움직이는 공이 추적되어 작은 파란색 경계 상자로 윤곽이 그려져 있습니다.

퍼포먼스

파이프라인 구성 요소의 성능을 평가하려면 레이블이 지정된 데이터가 필요합니다. 우리는 공의 실제 세계 위치를 제공받았지만 공의 최종 픽셀 위치나 플레이어 퍼팅의 픽셀 위치와 같은 실제 실제 위치에 대한 중간 지점이 없었습니다. 우리가 수행한 라벨링 작업을 통해 성능을 측정할 수 있는 파이프라인의 중간 출력에 대한 실제 데이터를 개발했습니다.

선수 분류 및 볼 감지 정확도

플레이어 퍼팅과 초기 공 위치를 감지하기 위해 앞서 설명한 대로 데이터 세트에 레이블을 지정하고 YOLO v7 CNN 모델을 미세 조정했습니다. 모델은 이전 사람 감지 모듈의 출력을 다음 그림과 같이 퍼팅하는 플레이어, 퍼팅하지 않는 플레이어, 다른 사람, 골프공의 네 가지 클래스로 분류했습니다.

이 모듈의 성능은 다음 그림에 표시된 혼동 행렬을 사용하여 평가됩니다. 대각선 상자의 값은 예측 클래스가 정답 레이블의 실제 클래스와 얼마나 자주 일치하는지 보여줍니다. 이 모델은 각 개인 클래스에 대해 89% 이상의 회상률을 가지며 골프 공에 대해서는 79%의 회상률을 나타냅니다. 이는 모델이 사람에 대한 예에서는 사전 훈련되었지만 골프 공에 대한 예에서는 사전 훈련되지 않았기 때문에 예상되는 것입니다. 훈련 세트에는 더 많은 라벨이 붙은 골프공이 있습니다).

다음 단계는 볼 추적기를 작동시키는 것입니다. 공 감지 출력은 신뢰 확률이므로 "감지된 공"에 대한 임계값을 설정하고 결과가 어떻게 변경되는지 관찰하는 것도 가능합니다(다음 그림에 요약되어 있음). 이 방법에는 임계값이 높을수록 허위 경보가 줄어들지만 덜 확실한 공의 예 중 일부를 놓칠 수 있기 때문에 절충점이 있습니다. 우리는 20%와 50% 신뢰도의 임계값을 테스트했으며 공 감지율은 각각 78%와 61%로 나타났습니다. 이 기준에 따르면 20% 임계값이 더 좋습니다. 20% 신뢰도 임계값의 경우 전체 탐지의 80%가 실제로 공(20% 거짓양성)인 반면, 50% 신뢰도 임계값의 경우 90%가 공(10% 거짓양성)이라는 점에서 절충은 명백합니다. 거짓양성이 적으면 50% 신뢰도 임계값이 더 좋습니다. 더 큰 훈련 세트에 대해 더 많은 레이블이 지정된 데이터를 사용하면 이러한 측정값을 모두 개선할 수 있습니다.

감지 파이프라인 처리량은 초당 10프레임 정도이므로 현재 형태에서는 단일 인스턴스가 입력에서 초당 50프레임으로 연속적으로 실행될 만큼 빠르지 않습니다. 볼 단계 후 7초의 출력 표시를 달성하려면 여러 버전의 파이프라인을 병렬로 실행하고 양자화를 통해 CNN 모델을 압축하는 등의 지연 시간 최적화가 추가로 필요합니다.

볼 경로 추적 정확도

MMTracking의 사전 훈련된 CNN 모델은 잘 작동하지만 흥미로운 실패 사례가 있습니다. 다음 그림은 추적기가 공에서 시작하여 퍼터 헤드와 공을 모두 포함하도록 경계 상자를 확장한 다음 불행하게도 퍼터 헤드를 추적하고 공을 잊어버리는 경우를 보여줍니다. 이 경우 퍼터 헤드는 흰색으로 나타나므로(아마도 정반사로 인해) 혼란을 이해할 수 있습니다. 추적 CNN의 추적 및 미세 조정을 위한 라벨링된 데이터는 향후 이를 개선하는 데 도움이 될 수 있습니다.

결론

이 게시물에서 우리는 카메라 시야 내에서 플레이어의 위치를 ​​파악하고, 어떤 플레이어가 퍼팅하고 있는지 결정하고, 공이 컵을 향해 움직일 때 공을 추적하는 모듈식 파이프라인 개발에 대해 논의했습니다.

PGA TOUR와 AWS의 협력에 대한 자세한 내용은 다음을 참조하십시오. PGA TOUR는 팬 경험을 재구성하기 위해 AWS와 협력합니다..


저자에 관하여

제임스 골든 기계 학습 및 신경 과학에 대한 배경 지식을 갖춘 Amazon Bedrock의 응용 과학자입니다.

헨리 왕 Amazon Generative AI 혁신 센터의 응용 과학자로서 AWS 고객을 위한 생성 AI 솔루션을 연구하고 구축하고 있습니다. 그는 스포츠와 미디어 및 엔터테인먼트 산업에 중점을 두고 있으며 과거에는 다양한 스포츠 리그, 팀, 방송사와 협력해 왔습니다. 여가 시간에는 테니스와 골프를 치는 것을 좋아합니다.

Tryambak Gangopadhyay 그는 AWS Generative AI Innovation Center의 응용 과학자로서 다양한 산업 분야의 조직과 협력하고 있습니다. 그의 역할은 중요한 비즈니스 과제를 해결하고 AI 채택을 가속화하기 위한 연구를 수행하고 생성적 AI 솔루션을 개발하는 것입니다.

spot_img

최신 인텔리전스

spot_img