Artigos do Blog

Artigos do Blog

Artigos do Blog

Análise de Vídeo Baseada em Dados: Crie os seus próprios padrões com visualizações

3 de fev. de 2022


A análise de vídeo orientada por dados (DDVA) permite que você faça codificação e ao mesmo tempo destaque de um jogo de forma programática. Você pode detectar momentos relevantes do jogo, criar um evento a cada vez que um deles ocorre e até anotar esses eventos, tudo apenas executando um script/análise sobre os dados do seu jogo.

Embora a DDVA não substitua a análise de vídeo tradicional, é uma excelente maneira para os departamentos de análise de dados transferirem suas descobertas de uma tabela para o vídeo. Você pode, assim, encontrar treinadores e a equipe de análise de vídeo onde eles geralmente trabalham!

Play da Metrica Sports é a única plataforma que permite que você faça isso.

DDVA com o Play

Tradicionalmente, na análise de vídeo, você "codificaria" um jogo. Você define Códigos, cada um dos quais representa um certo conceito tático ou ação relevante, e então assiste ao jogo e, toda vez que um desses Códigos acontece no jogo, você cria um evento.

No Play da Metrica Sports, um Padrão é semelhante a um Código no sentido de que representa um certo conceito tático ou ação que pode ocorrer durante o jogo que um analista de vídeo ou treinador esteja interessado. No entanto, há duas principais diferenças em relação a um Código tradicional:

  1. Eles são definidos programaticamente através de uma linguagem de programação (sem codificação manual)

  2. Eles podem incluir anotações criadas programaticamente.

  3. Podem incluir visualizações 2D (campo auxiliar) criadas programaticamente.


Por exemplo, suponha que uma das coisas que um treinador/analista queira ver após cada jogo sejam passes para dentro da área feitos pela própria equipe. Com a codificação regular, isso levaria uma quantidade considerável de tempo após cada jogo. Usando Padrões, você pode criar um script que analise os dados após cada jogo e encontre todos os passes para dentro da área, criando um evento para cada um deles. Não só isso, você pode também, programaticamente (do mesmo script), adicionar, no momento do passe, uma pausa e uma anotação com seta indicando o início e o término do passe, para que o conteúdo seja mais fácil de digerir / mais didático. Finalmente, você também pode adicionar uma visualização 2D no campo auxiliar para rapidamente categorizar os passes de interesse.

passes_into_the_box.gif

Ou suponha que um treinador queira ver todos os momentos em que sua equipe está muito aberta (mais de 35m) enquanto defende. É impossível fazer isso corretamente a olho nu. No entanto, usando um Padrão (podemos chamar esse de Padrão de Equipe Aberta), você não só pode programaticamente detectar todos os momentos no jogo em que isso acontece, como também pode adicionar uma visualização do comprimento da equipe para ver o comprimento real do time.

team_stretched.gif

A coisa legal sobre fazer DDVA com o Play é que você pode definir esses padrões e quais anotações/visualizações devem ser associadas a cada evento simplesmente a partir de um arquivo JSON (o “arquivo de padrões”) com um formato específico. Por exemplo, para definir um evento do padrão de Equipe Aberta, você especificaria o seguinte no arquivo de padrões:

image.png

Vamos analisar os detalhes deste arquivo e seu formato mais adiante, mas por enquanto você pode ver que existem alguns valores (start_time, end_time) que se relacionam ao momento no jogo em que este evento ocorre, e há também uma seção onde as visualizações estão definidas.

Esse é o poder do Play para DDVA. Você pode acessar todas as visualizações disponíveis no Play e criar eventos destacados apenas definindo-os em um arquivo que você depois importa para a plataforma.

Como você faz isso?

O processo de criar seus próprios Padrões e visualizá-los no Play da forma mostrada acima consiste em três etapas:

  1. Detectar os eventos relevantes

  2. Criar o Arquivo de Padrões

  3. Colocar esse arquivo no Play


Detectando os eventos

Esta etapa é sobre detectar os momentos do jogo em que ocorre uma determinada ocorrência de um Padrão (um Evento). Isso é composto por dois elementos:

  1. Definindo os padrões

  2. Escrevendo o código


Definindo os padrões

Da mesma forma que você define o que é um Código na análise de vídeo padrão, você precisa primeiro definir quais são os conceitos táticos ou ações que definirão um padrão. Vimos dois até agora:

  • Um passe para dentro da área

  • O time esticado a mais de 35 metros enquanto defende.


Estes são apenas 2 exemplos muito simples, mas as opções são ilimitadas. Nos exemplos acima, não temos rótulos/subcategorias, mas há suporte no Play para isso também. Contanto que os dados que você tenha disponíveis contenham as informações necessárias, você pode definir um padrão com base nisso. Veremos alguns exemplos de padrões mais adiante.

Fontes de dados

Você pode executar análises que identifiquem eventos de padrões de seu interesse com base em qualquer dado que você tenha disponível (isso significa identificar o tempo de início e término dos eventos, bem como suas coordenadas, se aplicável). Você também pode adicionar visualizações que não envolvem jogadores, baseadas em qualquer dado (por exemplo, uma seta, uma pausa, uma área destacada no campo, etc.)

No entanto, se você também deseja adicionar visualizações de jogadores programaticamente (holofote, trilha futura, etc.), ou tags de jogadores e equipes, você precisa usar dados de rastreamento que vêm do Projeto de Vídeo na Cloud. Esses dados de rastreamento podem vir de 3 fontes:

  1. Poderiam ser parte dos dados Elite que fornecemos (dados de rastreamento fornecidos por nós)

  2. Poderiam vir da integração de dados de terceiros no Projeto de Vídeo (Tracab, Stats, etc.)

  3. Poderia ser os Dados de Rastreamento Automatizado que são processados para cada vídeo carregado.


Isso ocorre porque, para, por exemplo, colocar um holofote em um jogador, você precisa indicar o ID do jogador e isso precisa vir dos dados disponíveis no Projeto de Vídeo (veja a seção abaixo sobre ID de Jogadores e Equipes).

Você pode combinar esses dados de rastreamento com quaisquer dados de eventos que desejar, como nossos eventos Elite, ou Statsbomb, etc. para poder processar padrões mais complexos.

Escrevendo o código

Depois de ter definido o que constitui um padrão, o próximo passo é codificar os scripts ou a suíte de análises para identificá-los nos dados e posteriormente criar o Arquivo de Padrões (veja abaixo). Mais tarde, sugeriremos algumas bibliotecas que você pode usar, mas é importante notar aqui que realmente não há requisitos sobre a linguagem de codificação que você precisa usar para fazer isso.

A única coisa que importa é que o resultado do processo (o Arquivo de Padrões) cumpra os requisitos de formato, mas como o arquivo em si é um arquivo JSON, você pode chegar lá usando qualquer linguagem que desejar (python, R, Matlab, etc.).

Arquivo de padrões

Para poder definir Padrões com seus Eventos Correspondentes com Anotações, você precisa importar para o Projeto de Vídeo um arquivo de padrões. Este arquivo é um arquivo .json com um formato específico.

Documentação

Todos os detalhes sobre o formato do arquivo de padrões podem ser encontrados aqui. Lá você pode encontrar como definir novos Padrões no arquivo, como definir tags e grupos de tags, os diferentes tipos de visualizações que você pode usar e os parâmetros que elas têm, etc.

Demonstração

Aqui está um arquivo de padrões de exemplo que define um padrão e 3 eventos que pertencem a ele, cada um com uma visualização diferente.

Para tentar fazer o upload deste arquivo exato para o Play você precisa:

  1. Obter o Jogo de Amostra 3 em seu banco de dados (veja abaixo)

  2. Alterar onde está ORGPREFIX para o prefixo de sua organização. Você pode encontrar esse prefixo na seção de configurações na cloud. Confira o vídeo da demonstração aos 4m 30s para mais detalhes.


Códigos de equipe e jogador

Enquanto os códigos para os padrões, tags e grupos de tags podem ser qualquer coisa que você deseje (ou seja, definidos pelo usuário), os códigos de equipe e jogador precisam ser os mesmos dos arquivos de dados do Projeto de Vídeo. Assim que você tiver um jogo processado na Cloud (seja um jogo Elite com dados que fornecemos, um jogo que possui dados de terceiros sincronizados ou Dados de Rastreamento Automatizado), você precisa baixar os dados no formato EPTS da cloud e verificar os IDs de equipe e jogador nesse arquivo (ou você também pode gerar um banco de dados ou usá-los de um banco de dados desde que sejam os mesmos que nos arquivos de dados).

Ideias de padrões

  • Certo número de jogadores na área onde você pode destacar jogadores com um anel ou holofote.

  • Laterais no último terço do ataque onde você pode mostrar sua futura trajetória uma vez que cruzem o limiar.

  • Cruzes rasteiras, onde você pode destacar o receptor (ou receptor pretendido) e uma seta indicando o passe.

  • Computar as melhores opções de passe e destacar as três melhores opções com cor nos anéis indicando sua posição.

  • Identificar corridas em profundidade realizadas ou não realizadas onde você pausa o vídeo e destaque onde isso foi aproveitado ou poderia ter sido.


Colocando esse arquivo no Play

Depois de criar um arquivo de padrões, você pode importá-lo para o Play via Metrica Cloud. Para isso, você precisa selecionar o Projeto de Vídeo que deseja carregar um arquivo e carregá-lo na seção de mais opções (três pontos totalmente à esquerda do Projeto de Vídeo). Você receberá uma notificação informando se o upload foi ou não bem-sucedido.

Depois que o arquivo é carregado, você pode ir ao Play e baixar o Projeto de Vídeo do Gerenciador de BD. Se você já fez isso, você pode:

  1. Selecionar o Projeto de Vídeo no Gerenciador de Vídeo e, em seguida, nas opções de mais Eventos de Padrões, selecionar Reintentar download.

  2. Fechar e abrir o aplicativo novamente, e receberá uma notificação informando que há um novo arquivo, e você pode clicar diretamente lá para baixá-lo.


Se você já tiver feito upload de um arquivo e quiser carregar um novo, vá para a Cloud, exclua o arquivo carregado anteriormente e siga qualquer um dos dois passos descritos acima.

Jogo de Amostra 3

Temos um conjunto de dados de amostra de um jogo para que você experimente isso pessoalmente com um jogo de teste!

Para acessá-lo, você precisa fazer duas coisas:

  1. Siga as instruções em este tutorial, use a chave SAMPLEGAME3 para adicionar o Projeto de Vídeo ao seu banco de dados.

  2. aqui para baixar os dados de rastreamento e eventos desse jogo.


API Metrica Sports

Também há uma API da Metrica Sports disponível que permite criar Projetos de Vídeo, fazer upload de vídeos, executar detecção de jogadores e campo, sincronizar dados de terceiros, baixar os dados e fazer upload de arquivos de padrões totalmente através da API sem a necessidade de interação com a interface da Cloud. Isso é realmente poderoso uma vez que um conjunto de padrões ou análise foi estabelecido. Permite criar fluxos de trabalho totalmente automatizados! A API é um recurso Elite. Se estiver interessado em usá-la, avise-nos!

Ferramentas

Embora não haja absolutamente nenhum requisito sobre a linguagem de codificação que você pode usar para criar o arquivo de padrões, se você programar em python, existem duas bibliotecas de código aberto que podemos sugerir que confira.

Kloppy

Kloppy é um pacote Python que oferece (de)serializadores para dados de eventos e rastreamento de futebol, modelos de dados padronizados, filtros e transformadores projetados para tornar o trabalho com dados de rastreamento e eventos muito mais fácil. Ele visa ser o bloco de construção fundamental para carregar, filtrar e transformar dados de rastreamento e eventos.

Cada fornecedor de dados de futebol usa seu próprio formato único para descrever o curso de um jogo. Portanto, o software escrito para analisar esses dados precisa ser adaptado a um fornecedor específico e não pode ser usado sem modificações para analisar dados de outros fornecedores. Kloppy é um pacote Python que aborda os desafios impostos pela variedade de formatos de dados e visa ser o bloco de construção fundamental para o processamento de dados de rastreamento e eventos de futebol. Ele fornece (de)serializadores, modelos de dados padronizados, filtros e transformadores que facilitam o trabalho com dados de rastreamento e eventos de diferentes fornecedores.

Com o Kloppy, você pode carregar em um formato padrão quaisquer dados baixados de um Projeto de Vídeo, bem como carregar de qualquer outro fornecedor. Isso pode economizar dias de trabalho no desenvolvimento de seus próprios analisadores para arquivos de diferentes empresas. Recomendamos fortemente usá-lo.

Você pode encontrar a documentação do Kloppy aqui.

Codeball

Codeball é uma biblioteca open source desenvolvida por nós para facilitar a realização de análises de vídeo orientadas por dados com o Play. Ele possui três módulos principais:

  1. Padrões: Um módulo de padrões, que possui diferentes padrões que podem ser executados nos dados, como compacidade do time, qualidade dos passes, construção de jogadas, deslocamentos defensivos, espaços criados, mostrar passes entre principais nós na rede de passes, gol esperado de cada chute, etc. Todos os padrões inspirados no que sabemos sobre clubes e a comunidade.

  2. Métodos táticos: funções para usar na criação de padrões, por exemplo, contar jogadores em uma área identificada, linhas táticas, distância entre jogadores, calcular o comprimento da equipe, etc., etc

  3. Métodos de visualização: para tornar super fácil adicionar visualizações aos eventos para que possam ser carregados e visualizados no play.

A ideia é que esta biblioteca possa ajudá-lo a escrever seu próprio padrão enquanto aproveita métodos de análise tática (por exemplo, formas fáceis de obter todos os passes completados na área, os momentos em que o time está esticado, ou apenas obter os jogadores de campo de uma equipe) e adicionar facilmente anotações aos eventos para que possam ser exportados em um formato de arquivo compatível com o Play.

Apesar disso, o Codeball ainda está mais em andamento do que uma biblioteca madura. Embora planejemos expandir nos padrões e métodos táticos, no momento há apenas 3 padrões e alguns métodos táticos. Os métodos auxiliares para as visualizações estão completos, no entanto.

Apesar desse aviso, se você achar interessante ou útil, incentivamos você a experimentá-lo! Se o fizer, por favor nos diga sua experiência, o que gostaria de ver, etc. Além disso, é um projeto open source, então você também pode perguntar sobre como contribuir para ele :).

Você pode conferir a documentação do Codeball aqui.

Você também pode ver aqui um vídeo tutorial sobre como usar o Jogo de Amostra 3 com o Codeball para testar tudo você mesmo.

Resumo

  • A Análise de Vídeo Orientada por Dados consiste em criar eventos com anotações baseados em conceitos ou ações táticas que são relevantes para a equipe. É como “codificar” o jogo com um software de codificação (Angles, Sportscode, etc.) e depois criar anotações em todos os eventos em um só, e tudo a partir de um conjunto de scripts ou suíte de análise.

  • A DDVA não substitui a análise de vídeo tradicional, mas sim a complementa. É a maneira perfeita para os departamentos de análise de dados transmitirem sua mensagem ao treinador e à equipe técnica. Encontre-os exatamente onde já trabalham.

  • O Play é o único software no mercado que permite fazer isso: traduzir seus resultados de análise de dados em eventos com anotações. Você pode fazer isso importando um arquivo de padrões, que nada mais é do que um arquivo JSON com um formato específico.

  • Você pode chegar a esse arquivo usando qualquer linguagem de programação que preferir, mas se você trabalhar em python, recomendamos fortemente o Kloppy para carregar e estruturar os dados, e podemos sugerir dar uma olhada no Codeball também, embora ainda esteja em desenvolvimento.


Sobre a Metrica Sports:

A Metrica Sports foi fundada em 2014 pelo CEO Ruben Saavedra, CTO Bruno Dagnino e CMO Enzo Angilletta. A Metrica usa inteligência artificial para levar insights e melhorias de desempenho a clubes, academias e atletas ao redor do mundo. A visão dos fundadores é oferecer soluções avançadas de análise de vídeo e dados para cada treinador, analista e jogador no mundo.

Análise de Desempenho

Descubra o Poder do Metrica Sports

Desvende a nossa mais recente inovação, oferecendo capacidades incomparáveis para elevar a sua análise.

Análise de Desempenho

Descubra o Poder do Metrica Sports

Desvende a nossa mais recente inovação, oferecendo capacidades incomparáveis para elevar a sua análise.

Análise de Desempenho

Descubra o Poder do Metrica Sports

Desvende a nossa mais recente inovação, oferecendo capacidades incomparáveis para elevar a sua análise.