Visão geral
- Aprenda a construir seu próprio sistema de rastreamento de bola de críquete usando visão computacional e Python
- Compreenda diferentes abordagens para rastrear objetos em movimento rápido em um vídeo de esportes.
- Também discutiremos os vários casos de uso de um sistema de rastreamento de bola..
Introdução
O Sistema de Revisão de Decisão (DRS) é bastante onipresente no esporte de críquete nos dias de hoje. As equipes estão começando a confiar fortemente no DRS para substituir as regras estritas do árbitro e que, com bastante frequência, você pode mudar a partida a seu favor.
Este conceito de rastrear a bola, parte do DRS, agora é um programa familiar para fãs de críquete:
Isso me fez pensar: Poderia construir o meu próprio sistema de rastreamento de bolas utilizando o meu conhecimento de aprendizado profundoAqui está o caminho de aprendizado para dominar o aprendizado profundo em, Uma subdisciplina da inteligência artificial, depende de redes neurais artificiais para analisar e processar grandes volumes de dados. Essa técnica permite que as máquinas aprendam padrões e executem tarefas complexas, como reconhecimento de fala e visão computacional. Sua capacidade de melhorar continuamente à medida que mais dados são fornecidos a ele o torna uma ferramenta fundamental em vários setores, da saúde... e Python?
Sou um grande fã de críquete e estou constantemente em busca de diferentes casos de uso onde posso aplicar o aprendizado de máquina ou algoritmos de aprendizado profundo.. A ideia de construir um sistema de rastreamento de bola surgiu quando eu estava trabalhando em meu projeto anterior, focado na geração de insights a partir dos dados de feedback do críquete..
As equipes e franquias de críquete também usam essa ideia de rastreamento de bola para entender os pontos fracos dos jogadores adversários.. Em que posição um rebatedor específico é vulnerável?? Onde o arremessador constantemente joga a morte??
Os sistemas de rastreamento de bola ajudam as equipes a analisar e compreender essas questões. Aqui está um exemplo da recente partida de críquete:
- Os jogadores de boliche da Nova Zelândia seguiram uma estratégia contra Virat Kohli na viagem anterior da Índia à Nova Zelândia. As primeiras bolas que Virat enfrentou foram em sua zona de fraqueza. Isso o deixou desconfortável e ele regularmente perdia sua janela mais cedo.
Neste artigo, examinaremos os vários aspectos de um sistema de rastreamento de bola e, em seguida, criaremos um em Python usando o exemplo de críquete. Isso promete ser uma experiência de aprendizado única!!
Observação: Se você é completamente novo no mundo do aprendizado profundo e da visão computacional, Eu sugiro que você verifique os seguintes recursos:
Tabela de conteúdo
- O que é um sistema de rastreamento de bola?
- Casos de uso de sistema de rastreamento de bola em esportes
- Diferentes abordagens para o sistema de rastreamento de bola
- Implementação: desenvolva seu primeiro sistema de rastreamento de bola para Cricket usando Python
O que é um sistema de rastreamento de bola?
Vamos nos familiarizar rapidamente com dois termos populares em visão computacional antes de discutirmos o sistema de rastreamento de bolas.: detecção de objetos e rastreamento de objetos.
Detecção de objetos é um dos conceitos mais fascinantes da visão computacional. Ele tem um papel poderoso em diferentes domínios, como defesa, o espaço, esportes e outros campos. Aqui, Listei alguns casos de uso de detecção de objetos interessantes em defesa e espaço:
- Ponteiro de alvo automático
- a tela de configurações do calendárioO treinamento é um processo sistemático projetado para melhorar as habilidades, Conhecimento ou habilidades físicas. É aplicado em várias áreas, como esporte, Educação e desenvolvimento profissional. Um programa de treinamento eficaz inclui planejamento de metas, prática regular e avaliação do progresso. A adaptação às necessidades individuais e a motivação são fatores-chave para alcançar resultados bem-sucedidos e sustentáveis em qualquer disciplina.... de robôs em simulações de palavras reais para recuperar pessoas em ambientes físicos perigosos
- Detecção de detritos espaciais
Mas, O que é detecção de objetos?
Classificação de imagem + Localização = detecção de objeto
A detecção de objetos é a tarefa de identificar um objeto e sua localização em uma imagem. A detecção de objetos é semelhante a um problema de classificação de imagens, mas com uma tarefa adicional (também identifica a localização de um objeto), um conceito conhecido como localização.

Como você pode ver aqui, a localização do objeto é representada por uma caixa retangular que é popularmente conhecida como caixa delimitadora.. A caixa delimitadora representa as coordenadas do objeto em uma imagem. Mas espere, Como a detecção de objetos difere do rastreamento de objetos?? Vamos responder a esta pergunta agora.
Rastreamento de objeto é um caso especial de detecção de objetos. Aplica-se apenas a dados de vídeo. No rastreamento de objetos, o objeto e sua localização são identificados em cada quadro de um vídeo.
A detecção de objetos aplicada a todos os quadros de um vídeo torna-se um problema de rastreamento de objetos.
Lembre-se de que a detecção de objetos é para uma imagem, enquanto o rastreamento de objetos é para a sequência de quadros em movimento rápido. Ambos os problemas envolvem a mesma tarefa, mas os termos são usados indistintamente, dependendo do tipo de dados com os quais você está trabalhando.
Então, Como isso se aplica ao rastreamento de bola?
O Sistema de Rastreamento de Bola é um dos casos de uso mais interessantes para detecção e rastreamento de objetos em esportes. Um sistema de rastreamento de bola é usado para encontrar a trajetória da bola em um vídeo de esportes. Hawk-eye é o sistema de rastreamento de bola mais avançado usado em diferentes esportes como o críquete, tênis e futebol para identificar a trajetória da bola a partir de câmeras de alto desempenho.
Podemos desenvolver um sistema semelhante usando os conceitos de visão computacional identificando a bola e sua localização em cada quadro de um vídeo.. Aqui está uma demonstração do que criaremos neste artigo:
Impressionante, verdade?
Casos de uso de sistema de rastreamento de bola em esportes
O sistema de rastreamento de bola, como tenho certeza que você já deve ter percebido, é um conceito poderoso que transcende as indústrias. Nesta secção, Vou mostrar alguns casos de uso populares de rastreamento de bola em esportes.
Caso de uso 1: Tomada de decisão crítica
Já falamos sobre isso antes e tenho certeza de que a maioria de vocês está familiarizada com o olho-de-falcão no críquete..
A trajetória da bola ajuda a tomar decisões críticas durante o jogo. Por exemplo, no críquete, durante a perna antes do postigo (de LBW), a trajetória da bola ajuda a decidir se a bola foi jogada para dentro ou para fora dos tocos. Também inclui informações sobre se a bola atinge os munhões ou não..
de forma similar, no tênis, durante saques ou uma jogada, o sistema de rastreamento de bola ajuda a saber se a bola foi lançada para dentro ou para fora das linhas permitidas na quadra:

Caso de uso 2: identificar as zonas fortes e fracas de um rebatedor
Cada equipe tem um conjunto de jogadores vencedores. Escolher o seu terreno o mais cedo possível é crucial para qualquer equipe vencer partidas. Com a ajuda da tecnologia de rastreamento de bola, podemos analisar os vídeos brutos e gerar mapas de calor.
Destes mapas de calor, podemos facilmente identificar a zona forte e fraca de um batedor. Isso ajudaria a equipe a desenvolver uma estratégia contra todos os jogadores antes da partida.:
Você consegue pensar em outros casos de uso para um sistema de rastreamento de bola nos esportes?? Me avise na seção de comentários abaixo!!
Diferentes abordagens para sistemas de rastreamento de bola
Existem diferentes algoritmos de rastreamento, bem como modelos previamente treinados para rastrear o objeto em um vídeo. Mas, existem certos desafios com eles quando se trata de rastrear uma bola de críquete em movimento rápido.
Estes são os poucos desafios que devemos conhecer antes de rastrear uma bola em movimento rápido em um vídeo de críquete.
- A bola de críquete está se movendo a uma velocidade muito alta de cerca de 130-150 km / h. Devido a isto, a bola segue seu caminho.
- Objetos semelhantes a bolas no chão podem ser difíceis de classificar. Por exemplo, os pontos de 30 jardas no campo, quando vistas de cima, quase parecem uma bola.

Portanto, neste artigo, Vou focar em 2 abordagens simples para rastrear uma bola em movimento rápido em um vídeo de esportes:
- Janela deslizante
- SegmentaçãoA segmentação é uma técnica de marketing chave que envolve a divisão de um mercado amplo em grupos menores e mais homogêneos. Essa prática permite que as empresas adaptem suas estratégias e mensagens às características específicas de cada segmento, melhorando assim a eficácia de suas campanhas. A segmentação pode ser baseada em critérios demográficos, psicográfico, geográfico ou comportamental, facilitando uma comunicação mais relevante e personalizada com o público-alvo.... por cor
Vamos discuti-los em detalhes agora..
Método 1: janela deslizante
Uma das maneiras mais fáceis pode ser dividir a imagem em partes menores, digamos grades de 3 * 3 o 5 * 5, e, em seguida, classifique cada patch em um de 2 aulas, se um patch contém uma bola ou não. Essa abordagem é conhecida como abordagem de janela deslizante., já que deslizamos a janela de um patch em cada parte de uma imagem.
Lembre-se de que a formação da grade também pode se sobrepor. Tudo depende de como você deseja formular o problema.
A seguir, um exemplo é mostrado mostrando as grades que não se sobrepõem:

Este método é realmente simples e eficaz. Mas é um processo que leva tempo, uma vez que considera vários patches da imagem. Outra desvantagem da abordagem da janela deslizante é que ela é cara, uma vez que considera cada patch de uma imagem.
Então, a seguir, Vou discutir a abordagem alternativa para janela deslizante.
Foco 2: segmentação de cores
Em vez de considerar cada patch, podemos reduzir os patches para classificá-los de acordo com a cor da bola. Como sabemos a cor da bola, podemos facilmente diferenciar as manchas que têm uma cor semelhante à da bola do resto das manchas.

Isso resulta em menos patches para classificar. Este processo de combinar partes semelhantes de uma imagem por meio da cor é conhecido como segmentação de cores.
Implementação: desenvolva seu primeiro sistema de rastreamento de bola para Cricket em Python
Hora de codificar! Vamos desenvolver um sistema simples de rastreamento de bola que rastreia a bola no campo usando Python. Baixe os arquivos de dados necessários de aqui.
Primeiro, vamos ler um arquivo de vídeo e salvar os quadros em uma pasta:
Lendo frames:
Como nosso objetivo é rastrear a bola em campo, precisamos extrair os frames que contêm o pitch. Aqui, Estou usando o conceito de detecção de cena para realizar a tarefa:
Produção:
O outlier no gráfico indica o número do quadro durante o qual a cena muda. Portanto, defina o limite para obter os quadros antes de uma mudança de cena:
Agora, obtivemos os frames que contêm um tom. A seguir, vamos implementar uma abordagem de segmentação que discutimos anteriormente neste artigo. Vamos percorrer todas as etapas da abordagem de quadro único agora.
Vamos ler o quadro e aplicar o desfoque gaussiano para remover o ruído de uma imagem:
Produção:

Como voce sabe a cor da bola, podemos facilmente segmentar objetos brancos em uma imagem. Aqui, 200 atua como um limite. Qualquer valor de pixel abaixo deste 200 será marcado como 0 e acima 200 será marcado como 255.
Produção:

Como você pode ver aqui, objetos brancos são segmentados. Branco indica objetos brancos e preto indica todas as outras cores. E isso é! Nós separamos os objetos brancos dos outros.
Agora, vamos encontrar os contornos de objetos segmentados em uma imagem:
Desenhe os contornos da imagem original:
Produção:

A seguir, extrair patches de uma imagem usando contornos:
É hora de construir um classificador de imagem para identificar o patch que contém a bola.
Leia e prepare o conjunto de dados:
Divida o conjunto de dados em treinamento e validação:
Construa um modelo de linha de base para identificar o remendo que contém a bola:
Avalie o modelo nos dados de validação:
Repita as etapas semelhantes para cada quadro em um vídeo, seguido pela classificação:
Dê uma olhada nos quadros que contêm a bola junto com o local:
A seguir, vamos desenhar a caixa delimitadora em torno das molduras que contêm a bola e salvá-la de volta na pasta:
Vamos transformar os frames de volta em um vídeo agora:
Produção:
Quão legal é isso? Parabéns por construir seu próprio sistema de rastreamento de bola de críquete!!
Notas finais
É tudo por hoje! Isso nos leva ao final do tutorial de rastreamento de bola de críquete.. Observe que um modelo de linha de base é criado para tarefas de classificação de imagem. Mas ainda há muito margemMargem é um termo usado em uma variedade de contextos, como contabilidade, Economia e impressão. Em contabilidade, refere-se à diferença entre receitas e custos, que permite avaliar a rentabilidade de um negócio. No domínio da publicação, A margem é o espaço em branco ao redor do texto em uma página, que facilita a leitura e proporciona uma apresentação estética. Seu correto manejo é essencial.. para melhorar o nosso modelo. E também, existem poucos hiperparâmetros nesta abordagem, como o tamanho do filtro Gaussiano e o valor limite a ser ajustado dependendo do tipo de vídeo.
O que você acha do sistema que construímos? Compartilhe suas idéias e comentários na seção de comentários abaixo e vamos conversar..






