Pose les données de suivi pour les lanceurs de baseball
Readme.md - un bref aperçu des données et comment l'utiliser
Example_script.r - un script avec des exemples d'utilisation des données
Les données peuvent être trouvées sur le lien Dropbox suivant: https://www.dropbox.com/sh/gxxxnqu9c1v0d6w/aaa8ilsel7yb3_uyn03_k7vba?dl=0
Le fichier principal est Pitcher_Motion_data.csv. Il s'agit d'un fichier CSV d'environ 500 Mo.
Il existe également un fichier CSV compagnon qui contient des données Statcast correspondant aux hauteurs qui sont incluses dans cet ensemble de données.
Les données ont été prises pour les lanceurs / types de hauteur qui avaient été lancés au moins 5 fois sur Tropicana Field en saison régulière 2021. 5 exemples de vidéos ont été utilisés pour chaque pitch, dans chaque cas, ils ont été le dernier lancé par le lanceur particulier.
Tropicana Field a été utilisé car il a un angle de caméra en champ central qui est facile à travailler. Seules les données limitées sont incluses en raison du volume de calcul requis pour mesurer les positions des pichets.
Chaque pas individuel peut être identifié de manière unique en utilisant trois colonnes:
La colonne "Normalised_Frame" contient la variable de temps pour la hauteur, mesurée dans les trames vidéo (la vidéo est de 60fps). Ceci est à zéro à l'ascenseur des jambes du pichet et s'étend à la fois dans les directions positives et négatives.
La détection du pichet a été effectuée automatiquement en fonction de leur position dans le cadre, la synchronisation des hauteurs a été effectuée automatiquement en utilisant le lifting des jambes du lanceur. Il peut y avoir des cas où ce processus a échoué car l'algorithme de suivi de la pose n'a pas identifié le lanceur, ou une partie du mouvement du lanceur n'a pas été observée dans la vidéo de surbrillance. J'ai inclus deux drapeaux de fiabilité à montrer lorsque ce processus a échoué.
"NO_MISSING_FRAMES" = 1 Lorsque le lanceur peut être observé en continu à partir de Normalised_Frame = -20 à +120, sinon il peut y avoir des cadres dans cette période où le lanceur n'a pas été détecté et est donc manquant dans l'ensemble de données. "smooth_com_flag" = 1 Lorsque la position du torse du lanceur ne varie pas de plus de 100 pixels entre les cadres consécutifs, cela supprime les cas où différents joueurs peuvent être détectés comme le lanceur. Le filtrage par ces deux colonnes donne l'ensemble de données de mouvement le plus robuste.
Les colonnes V1 à V51 décrivent les positions des parties du corps du picheur dans les pixels. Chaque partie du corps est décrite par trois colonnes, les coordonnées horizontales et verticales sont les deux premières, je ne sais pas ce qu'est le troisième mais je l'ai laissé dans l'ensemble de données. L'ordre est toujours laissé d'abord à droite, en descendant le long du corps
V1-V15 sont des points sur la tête
V16-v21 sont les épaules
V22-v27 sont les coudes
V28-v33 sont les mains
V34-V39 sont les hanches
V40-V45 sont les genoux
V46-V51 sont les pieds
Les composants verticaux sont le nombre de pixels du haut de l'image, vous devez donc en prendre (720 - variable) de ceux-ci pour obtenir la position correcte sur l'image.
Il existe également d'autres variables qui restent de l'identification du pichet, ainsi qu'une variable contenant une tentative rudimentaire de mesurer la séparation de la hanche / épaule de ces données 2D, ce n'est pas une mesure fiable!
Grâce à BaseballSavant et MLB pour avoir rendu les points forts vidéo facilement disponibles en ligne, ce qui était essentiel pour collecter des données sur cette échelle.
Grâce également à Will McNally pour Kapao, toute la détection de pose a été réalisée en utilisant cet algorithme, implémenté dans Python.
https://github.com/wmcnally/kapao
Il s'agit d'un type d'ensemble de données qui n'a pas été accessible au public auparavant, j'espère qu'une utilisation peut être trouvée pour cela.
Si vous avez des suggestions, contactez Twitter @pitching_bot, ou trouvez mes coordonnées sur mon site Web
Cameron Grove - 24/12/21