Pose de rastreamento de dados para arremessadores de beisebol
Readme.md - uma breve visão geral dos dados e como usá -los
Exemplo_script.r - Um script com exemplos de como usar os dados
Os dados podem ser encontrados no seguinte link Dropbox: https://www.dropbox.com/sh/gxxxnqu9c1v0d6w/aaa8ilsel7yb3_uyn03_k7vba?dl=0
O arquivo principal é Pither_motion_data.csv. Este é um arquivo CSV de cerca de 500 MB.
Há também um arquivo CSV complementar que contém dados Statcast correspondentes aos arremessos incluídos neste conjunto de dados.
Os dados foram obtidos para arremessadores/tipos de arremesso que foram lançados pelo menos 5 vezes no campo Tropicana na temporada regular de 2021. 5 vídeos de amostra foram usados para cada arremesso, em cada caso estes foram os últimos lançados pelo arremessador em particular.
O campo Tropicana foi usado porque possui um ângulo de câmera de campo central, fácil de trabalhar. Somente dados limitados estão incluídos devido ao volume de computação necessário para medir as posições do jarro.
Cada tom individual pode ser identificado exclusivamente usando três colunas:
A coluna "normalizada_frame" contém a variável de tempo para o tom, medido em quadros de vídeo (o vídeo é 60fps). Isso é zerado no elevador da perna do jarro e se estende nas direções positivas e negativas.
A detecção do arremessador foi realizada automaticamente com base em sua posição no quadro, a sincronização dos arremessos foi realizada automaticamente usando o elevador da perna do arremessador. Pode haver casos em que esse processo falhou porque o algoritmo de rastreamento de pose não identificou o arremessador, ou alguma parte do movimento do arremessador não foi vista no vídeo de destaque. Incluí dois sinalizadores de confiabilidade para mostrar quando esse processo falhou.
"No_missing_frames" = 1 Quando o arremessador pode ser observado continuamente de Normised_frame = -20 a +120, caso contrário, pode haver quadros neste período em que o arremessador não foi detectado e, portanto, está ausente no conjunto de dados. "Smooth_Com_Flag" = 1 Quando a posição do tronco do arremessador não varia por mais de 100 pixels entre os quadros consecutivos, isso remove os casos em que diferentes jogadores podem ser detectados como arremessador. A filtragem por ambas as colunas fornece o conjunto mais robusto de dados de movimento.
As colunas v1 a v51 descrevem as posições das partes do corpo do arremessador em pixels. Cada parte do corpo é descrita por três colunas, as coordenadas horizontais e verticais são as duas primeiras, não tenho certeza de qual é o terceiro, mas eu o deixei no conjunto de dados. A ordem é sempre deixada primeiro e depois para a direita, movendo -se ao longo do corpo
V1-V15 são pontos na cabeça
V16-V21 são os ombros
V22-V27 são os cotovelos
V28-V33 são as mãos
V34-V39 são os quadris
V40-V45 são os joelhos
V46-v51 são os pés
Os componentes verticais são o número de pixels da parte superior da imagem, então você precisa tomar (720 - variável) destes para obter a posição correta na imagem.
Também existem outras variáveis que sobem da identificação do arremessador e também uma variável contendo uma tentativa rudimentar de medir a separação do quadril/ombro desses dados 2D, isso não é uma medição confiável!
Graças ao Baseballsavant e MLB por disponibilizarem os destaques de vídeo facilmente disponíveis online, o que foi essencial para coletar dados nessa escala.
Também graças a Will McNally por Kapao, toda a detecção de pose foi feita usando esse algoritmo, implementado no Python.
https://github.com/wmcnally/kapao
Este é um tipo de conjunto de dados que não estava disponível ao público antes, espero que algum uso possa ser encontrado para ele.
Se você tiver alguma sugestão, entre em contato no Twitter @pitching_bot ou encontre minhas informações de contato no meu site
Cameron Grove - 24/12/21