Rastreamento da posição da bola na nuvem com o PGA TOUR | Amazon Web Services

Rastreamento da posição da bola na nuvem com o PGA TOUR | Amazon Web Services

O PGA TOUR continua a melhorar a experiência do golfe com dados em tempo real que aproximam os fãs do jogo. Para proporcionar experiências ainda mais ricas, eles estão buscando o desenvolvimento de um sistema de rastreamento da posição da bola de última geração que rastreie automaticamente a posição da bola no green.

O TOUR atualmente usa ShotLink alimentado por CDW, um sistema de pontuação de primeira linha que usa um sistema de câmera complexo com computação no local, para rastrear de perto a posição inicial e final de cada cena. O TOUR queria explorar técnicas de visão computacional e aprendizado de máquina (ML) para desenvolver um pipeline de próxima geração baseado em nuvem para localizar bolas de golfe no putting green.

O Amazon Generative AI Innovation Center (GAIIC) demonstrou a eficácia dessas técnicas em um exemplo de conjunto de dados de um evento recente do PGA TOUR. O GAIIC projetou um pipeline modular que conecta em cascata uma série de redes neurais convolucionais profundas que localiza com sucesso os jogadores dentro do campo de visão de uma câmera, determina qual jogador está colocando e rastreia a bola conforme ela se move em direção ao copo.

Neste post, descrevemos o desenvolvimento deste pipeline, os dados brutos, o projeto das redes neurais convolucionais que compõem o pipeline e uma avaliação de seu desempenho.

Data

O TOUR forneceu 3 dias de vídeo contínuo de um torneio recente com três câmeras 4K posicionadas ao redor do green em um buraco. A figura a seguir mostra um quadro de uma câmera recortado e ampliado para que a colocação do jogador seja facilmente visível. Observe que apesar da alta resolução das câmeras, devido à distância do verde, a bola parece pequena (geralmente 3×3, 4×4 ou 5×5 pixels), e alvos deste tamanho podem ser difíceis de localizar com precisão.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Além dos feeds das câmeras, o TOUR forneceu ao GAIIC dados de pontuação anotados em cada foto, incluindo a localização mundial de sua posição de repouso e o carimbo de data/hora. Isso permitiu a visualização de cada tacada no green, bem como a capacidade de extrair todos os videoclipes das tacadas dos jogadores, que poderiam ser rotulados manualmente e usados ​​para treinar modelos de detecção que compõem o pipeline. A figura a seguir mostra as três visualizações da câmera com sobreposições aproximadas do caminho do putt, no sentido anti-horário a partir do canto superior esquerdo. O alfinete é movido a cada dia, onde o dia 1 corresponde ao azul, o dia 2 ao vermelho e o dia 3 ao laranja.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Visão geral do pipeline

O sistema geral consiste em um pipeline de treinamento e um pipeline de inferência. O diagrama a seguir ilustra a arquitetura do pipeline de treinamento. O ponto de partida é a ingestão de dados de vídeo, seja de um módulo de streaming como Amazon Kinesis para vídeo ao vivo ou veiculação diretamente em Serviço de armazenamento simples da Amazon (Amazon S3) para vídeo histórico. O pipeline de treinamento requer pré-processamento de vídeo e rotulagem manual de imagens com Verdade no solo do Amazon SageMaker. Os modelos podem ser treinados com Amazon Sage Maker e seus artefatos armazenados com o Amazon S3.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

O pipeline de inferência, mostrado no diagrama a seguir, consiste em vários módulos que extraem sucessivamente informações do vídeo bruto e, por fim, prevêem as coordenadas mundiais da bola em repouso. Inicialmente, o verde é recortado do maior campo de visão de cada câmera, para diminuir a área de pixels em que os modelos devem procurar jogadores e bolas. Em seguida, uma rede neural convolucional profunda (CNN) é usada para encontrar a localização das pessoas no campo de visão. Outra CNN é usada para prever que tipo de pessoa foi encontrada, a fim de determinar se alguém está prestes a dar uma tacada. Após um provável putter ter sido localizado no campo de visão, a mesma rede é usada para prever a localização da bola perto do putter. Uma terceira CNN rastreia a bola durante seu movimento e, por último, é aplicada uma função de transformação da posição do pixel da câmera para as coordenadas GPS.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Detecção de jogador

Embora fosse possível executar uma CNN para detecção de bola em um quadro inteiro de 4K em um intervalo definido, dado o tamanho angular da bola nessas distâncias da câmera, qualquer pequeno objeto branco aciona uma detecção, resultando em muitos alarmes falsos. Para evitar a busca da bola em todo o quadro da imagem, é possível aproveitar as correlações entre a pose do jogador e a localização da bola. Uma bola que está prestes a ser lançada deve estar próxima a um jogador, portanto, encontrar os jogadores no campo de visão restringirá bastante a área de pixels na qual o detector deve procurar a bola.

Conseguimos usar uma CNN pré-treinada para prever caixas delimitadoras ao redor de todas as pessoas em uma cena, conforme mostrado na figura a seguir. Infelizmente, frequentemente há mais de uma bola no green, portanto é necessária mais lógica além de simplesmente encontrar todas as pessoas e procurar uma bola. Isso requer outra CNN para encontrar o jogador que estava colocando no momento.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Classificação de jogadores e detecção de bola

Para restringir ainda mais onde a bola poderia estar, ajustamos uma CNN de detecção de objetos pré-treinada (YOLO v7) para classificar todas as pessoas no green. Um componente importante desse processo foi rotular manualmente um conjunto de imagens usando o SageMaker Ground Truth. Os rótulos permitiram à CNN classificar a tacada do jogador com alta precisão. No processo de rotulagem, a bola também foi delineada junto com a tacada do jogador, de modo que esta CNN também foi capaz de realizar a detecção da bola, desenhando uma caixa delimitadora inicial ao redor da bola antes de uma tacada e alimentando as informações de posição no rastreamento de bola posterior CNN .

Usamos quatro rótulos diferentes para anotar os objetos nas imagens:

  • colocação de jogador – O jogador segurando um taco e na posição de putting
  • jogador que não coloca – O jogador que não está na posição de putting (também pode estar segurando um taco)
  • outra pessoa – Qualquer outra pessoa que não seja jogador
  • bola de golfe – A bola de golfe

A figura a seguir mostra que uma CNN foi ajustada usando rótulos do SageMaker Ground Truth para classificar cada pessoa no campo de visão. Isso é difícil devido à ampla variedade de aparências visuais de jogadores, caddies e torcedores. Depois que um jogador foi classificado como putting, uma CNN ajustada para detecção de bola foi aplicada à pequena área imediatamente ao redor daquele jogador.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Rastreamento do caminho da bola

Uma terceira CNN, uma arquitetura ResNet pré-treinada para rastreamento de movimento, foi usada para rastrear a bola após ela ser lançada. O rastreamento de movimento é um problema exaustivamente pesquisado, portanto esta rede teve um bom desempenho quando integrada ao pipeline sem ajustes adicionais.

Saída do pipeline

A cascata de CNNs coloca caixas delimitadoras ao redor das pessoas, classifica as pessoas no green, detecta a posição inicial da bola e rastreia a bola assim que ela começa a se mover. A figura a seguir mostra a saída de vídeo rotulada do pipeline. As posições dos pixels da bola conforme ela se move são rastreadas e registradas. Observe que as pessoas no green estão sendo rastreadas e delimitadas por caixas delimitadoras; o taco na parte inferior está rotulado corretamente como “colocação do jogador” e a bola em movimento está sendo rastreada e delineada por uma pequena caixa delimitadora azul.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Performance

Para avaliar o desempenho dos componentes do pipeline, é necessário ter dados rotulados. Embora tenhamos recebido a posição mundial da bola, não tínhamos pontos intermediários para a verdade, como a posição final do pixel da bola ou a localização do pixel da colocação do jogador. Com o trabalho de rotulagem que realizamos, desenvolvemos dados reais para essas saídas intermediárias do pipeline que nos permitem medir o desempenho.

Classificação de jogadores e precisão de detecção de bola

Para detecção da colocação do jogador e da localização inicial da bola, rotulamos um conjunto de dados e ajustamos um modelo CNN YOLO v7 conforme descrito anteriormente. O modelo classificou a saída do módulo de detecção de pessoa anterior em quatro classes: um jogador que está colocando, um jogador que não está colocando, outras pessoas e a bola de golfe, conforme mostrado na figura a seguir.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

O desempenho deste módulo é avaliado com uma matriz de confusão, mostrada na figura a seguir. Os valores nas caixas diagonais mostram com que frequência a classe prevista correspondeu à classe real a partir dos rótulos de verdade. O modelo tem 89% de recall ou melhor para cada classe de pessoa e 79% de recall para bolas de golfe (o que é esperado porque o modelo é pré-treinado em exemplos com pessoas, mas não em exemplos com bolas de golfe; isso poderia ser melhorado com mais bolas de golfe rotuladas no conjunto de treinamento).

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

O próximo passo é acionar o rastreador de bola. Como a saída de detecção de bola é uma probabilidade de confiança, também é possível definir o limite para “bola detectada” e observar como isso altera os resultados, resumidos na figura a seguir. Há uma compensação neste método porque um limite mais alto terá necessariamente menos alarmes falsos, mas também perderá alguns dos exemplos de bolas menos certos. Testamos limites de confiança de 20% e 50% e encontramos detecção de bola em 78% e 61%, respectivamente. Por esta medida, o limite de 20% é melhor. A compensação é aparente porque, para o limite de confiança de 20%, 80% do total de detecções eram na verdade bolas (20% de falsos positivos), enquanto para o limite de confiança de 50%, 90% eram bolas (10% de falsos positivos). Para menos falsos positivos, o limite de confiança de 50% é melhor. Ambas as medidas poderiam ser melhoradas com mais dados rotulados para um conjunto de treinamento maior.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

A taxa de transferência do pipeline de detecção é da ordem de 10 quadros por segundo, portanto, em sua forma atual, uma única instância não é rápida o suficiente para ser executada continuamente na entrada a 50 quadros por segundo. Atingir a marca de 7 segundos para saída após as etapas da bola exigiria otimização adicional da latência, talvez executando várias versões do pipeline em paralelo e compactando os modelos CNN por meio de quantização (por exemplo).

Precisão de rastreamento do caminho da bola

O modelo CNN pré-treinado do MMTracking funciona bem, mas há casos de falha interessantes. A figura a seguir mostra um caso em que o rastreador começa na bola, expande sua caixa delimitadora para incluir a cabeça do taco e a bola e, infelizmente, rastreia a cabeça do taco e esquece a bola. Neste caso, a cabeça do taco parece branca (possivelmente devido à reflexão especular), portanto a confusão é compreensível; dados rotulados para rastreamento e ajuste fino do rastreamento CNN poderiam ajudar a melhorar isso no futuro.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Conclusão

Nesta postagem, discutimos o desenvolvimento de um pipeline modular que localiza os jogadores dentro do campo de visão de uma câmera, determina qual jogador está colocando e rastreia a bola conforme ela se move em direção ao copo.

Para obter mais informações sobre a colaboração da AWS com o PGA TOUR, consulte PGA TOUR se une à AWS para reimaginar a experiência dos fãs.


Sobre os autores

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.James Dourado é cientista aplicado na Amazon Bedrock com experiência em aprendizado de máquina e neurociência.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Henrique Wang é cientista aplicado no Amazon Generative AI Innovation Center, onde pesquisa e cria soluções generativas de IA para clientes da AWS. Ele se concentra nas indústrias de esportes, mídia e entretenimento e já trabalhou com várias ligas, times e emissoras esportivas no passado. Nas horas vagas gosta de jogar tênis e golfe.

Rastreamento da posição da bola na nuvem com o PGA TOUR | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Tryambak Gangopadhyay é cientista aplicado no AWS Generative AI Innovation Center, onde colabora com organizações em diversos setores. Sua função envolve a realização de pesquisas e o desenvolvimento de soluções de IA generativa para enfrentar desafios comerciais cruciais e acelerar a adoção da IA.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS