Vue d'ensemble
- Apprenez à construire votre propre système de suivi des balles de cricket à l'aide de la vision par ordinateur et de Python
- Comprendre différentes approches pour suivre des objets en mouvement rapide dans une vidéo de sport.
- Nous aborderons également les différents cas d'utilisation d'un système de suivi de balle..
introduction
Le système de révision des décisions (DRS) c'est assez omniprésent dans le sport du cricket de nos jours. Les équipes commencent à s'appuyer fortement sur le DRS pour outrepasser les décisions strictes des arbitres et cela, assez souvent, vous pouvez changer le match en votre faveur.
Ce concept de suivi de la balle, partie du DRS, est maintenant un spectacle familial pour les fans de cricket:
Cela m'a fait réfléchir: Pourrais-je construire mon propre système de suivi de balles en utilisant mes connaissances en l'apprentissage en profondeurL'apprentissage en profondeur, Une sous-discipline de l’intelligence artificielle, s’appuie sur des réseaux de neurones artificiels pour analyser et traiter de grands volumes de données. Cette technique permet aux machines d’apprendre des motifs et d’effectuer des tâches complexes, comme la reconnaissance vocale et la vision par ordinateur. Sa capacité à s’améliorer continuellement au fur et à mesure que de nouvelles données lui sont fournies en fait un outil clé dans diverses industries, de la santé... et Python?
Je suis un grand fan de cricket et je suis constamment à la recherche de différents cas d'utilisation où je peux appliquer des algorithmes d'apprentissage automatique ou d'apprentissage en profondeur.. L'idée de construire un système de suivi de balle m'est venue lorsque je travaillais sur mon précédent projet axé sur la génération d'informations à partir des données de retour de cricket..
Les équipes de cricket et les franchises utilisent également cette idée de suivi de balle pour comprendre les points faibles des joueurs adverses.. Dans quelle position un frappeur particulier est-il vulnérable ?? Où le melon jette-t-il constamment la mort?
Les systèmes de suivi de balle aident les équipes à analyser et à comprendre ces questions. Voici un exemple du récent match de cricket:
- Les quilleurs néo-zélandais ont poursuivi une stratégie contre Virat Kohli lors de la précédente tournée de l'Inde à la Nouvelle-Zélande. Les premiers ballons affrontés par Virat étaient dans sa zone faible. Cela le mettait mal à l'aise et il perdait régulièrement sa fenêtre tôt.
Dans cet article, nous allons passer en revue les différents aspects d'un système de suivi de balle, puis en créer un en Python en utilisant l'exemple de cricket. Cela promet d'être une expérience d'apprentissage unique!!
Noter: Si vous êtes complètement nouveau dans le monde de l'apprentissage en profondeur et de la vision par ordinateur, Je vous suggère de consulter les ressources suivantes:
Table des matières
- Qu'est-ce qu'un système de suivi de balle?
- Cas d'utilisation du système de suivi de balle dans le sport
- Différentes approches du système de suivi de balle
- Mise en œuvre: développez votre premier système de suivi de balle pour Cricket en utilisant Python
Qu'est-ce qu'un système de suivi de balle?
Faisons rapidement connaissance avec deux termes populaires en vision par ordinateur avant une discussion sur le système de suivi de balle.: détection d'objets et suivi d'objets.
Détection d'objets est l'un des concepts les plus fascinants de la vision par ordinateur. Il a un rôle puissant dans différents domaines tels que la défense, l'espace, sports et autres domaines. Ici, J'ai répertorié quelques cas d'utilisation intéressants de la détection d'objets dans la défense et l'espace:
- Pointeur de cible automatique
- EntraînementLa formation est un processus systématique conçu pour améliorer les compétences, connaissances ou aptitudes physiques. Il est appliqué dans divers domaines, Comme le sport, Éducation et développement professionnel. Un programme d’entraînement efficace comprend la planification des objectifs, Pratique régulière et évaluation des progrès. L’adaptation aux besoins individuels et la motivation sont des facteurs clés pour obtenir des résultats réussis et durables dans toutes les disciplines.... robots dans des simulations de mots réels pour récupérer des personnes dans des environnements physiques dangereux
- Détection de débris spatiaux
Mais, Qu'est-ce que la détection d'objets?
Classification des images + Emplacement = Détection d'objet
La détection d'objet est la tâche d'identifier un objet et son emplacement dans une image. La détection d'objets est similaire à un problème de classification d'images, mais avec une tâche supplémentaire (identifier également l'emplacement d'un objet), un concept connu sous le nom d'emplacement.

Comme vous pouvez le voir ici, l'emplacement de l'objet est représenté par une boîte rectangulaire qui est populairement connue sous le nom de boîte englobante.. Bounding Box représente les coordonnées de l'objet dans une image. Mais attendez, En quoi la détection d'objets est-elle différente du suivi d'objets ?? Répondons à cette question maintenant.
Suivi d'objets c'est un cas particulier de détection d'objet. S'applique uniquement aux données vidéo. Sur le suivi d'objet, l'objet et son emplacement sont identifiés dans chaque image d'une vidéo.
La détection d'objet appliquée à chaque image d'une vidéo devient un problème de suivi d'objet.
Rappelez-vous que la détection d'objet est pour une image, tandis que le suivi d'objet est pour la séquence d'images en mouvement rapide. Les deux problèmes impliquent la même tâche, mais les termes sont utilisés de manière interchangeable selon le type de données avec lesquelles vous travaillez.
Ensuite, Comment cela s'applique-t-il au suivi de balle?
Ball Tracking System est l'un des cas d'utilisation les plus intéressants pour la détection et le suivi d'objets dans le sport. Un système de suivi de balle est utilisé pour trouver la trajectoire de la balle dans une vidéo de sport. Hawk-eye est le système de suivi de balle le plus avancé utilisé dans différents sports comme le cricket, tennis et football pour identifier la trajectoire de la balle à partir de caméras performantes.
Nous pouvons développer un système similaire en utilisant les concepts de vision par ordinateur identifiant la balle et son emplacement dans chaque image d'une vidéo.. Voici une démo de ce que nous allons créer dans cet article:
Impressionnant, vérité?
Cas d'utilisation du système de suivi de balle dans le sport
Le système de suivi de balle, comme je suis sûr que vous l'aurez déjà compris, est un concept puissant qui transcende les industries. Dans cette section, je vais montrer quelques cas d'utilisation populaires du suivi de balle dans le sport.
Cas d'utilisation 1: Prise de décision critique
Nous en avons déjà parlé et je suis sûr que la plupart d'entre vous connaissent le hawk-eye dans le cricket..
La trajectoire du ballon aide à prendre des décisions critiques pendant le jeu. Par exemple, au cricket, pendant la jambe avant le guichet (de FPN), la trajectoire de la balle aide à décider si la balle est entrée ou sortie des souches. Il comprend également des informations indiquant si la balle frappe les tourillons ou non..
de la même manière, au tennis, pendant les services ou un jeu, le système de suivi de balle permet de savoir si la balle a été lancée dans ou hors des lignes autorisées sur le terrain:

Cas d'utilisation 2: identifier les zones fortes et faibles d'un frappeur
Chaque équipe a un ensemble de joueurs gagnants. Choisir son terrain le plus tôt possible est crucial pour que toute équipe gagne des matchs. Avec l'aide de la technologie de suivi de balle, nous pouvons analyser les vidéos brutes et générer des cartes thermiques.
A partir de ces cartes thermiques, nous pouvons facilement identifier la zone forte et faible d'un frappeur. Cela aiderait l'équipe à développer une stratégie contre tous les joueurs avant un match.:
Pouvez-vous penser à d'autres cas d'utilisation d'un système de suivi de balle dans le sport ?? Laissez-moi savoir dans la section commentaire ci-dessous!!
Différentes approches des systèmes de suivi de balle
Il existe différents algorithmes de suivi, ainsi que des modèles préalablement formés pour suivre l'objet dans une vidéo. Mais, il y a certains défis avec eux lorsqu'il s'agit de suivre une balle de cricket en mouvement rapide.
Ce sont les quelques défis que nous devons connaître avant de suivre une balle en mouvement rapide dans une vidéo de cricket.
- La balle de cricket se déplace à une vitesse très élevée d'environ 130-150 km / h. À cause de, le ballon continue son chemin.
- Les objets en forme de balle au sol peuvent être difficiles à classer. Par exemple, les pointes de 30 les mètres sur le terrain vus d'en haut ressemblent presque à une balle.

Donc, dans cet article, je vais me concentrer sur 2 approches simples pour suivre un ballon en mouvement rapide dans une vidéo de sport:
- Fenêtre coulissante
- SegmentationLa segmentation est une technique de marketing clé qui consiste à diviser un large marché en groupes plus petits et plus homogènes. Cette pratique permet aux entreprises d’adapter leurs stratégies et leurs messages aux spécificités de chaque segment, améliorant ainsi l’efficacité de vos campagnes. Le ciblage peut se faire sur des critères démographiques, Psychographique, géographique ou comportementale, Faciliter une communication plus pertinente et personnalisée avec le public cible.... par couleur
Discutons-en en détail maintenant..
Méthode 1: fenêtre coulissante
L'un des moyens les plus simples pourrait être de diviser l'image en plus petits patchs, disons des grilles de 3 * 3 O 5 * 5, puis classer chaque patch dans l'un des 2 cours, si un patch contient une balle ou non. Cette approche est connue sous le nom d'approche de la fenêtre glissante., puisqu'on glisse la fenêtre d'un patch dans chaque partie d'une image.
N'oubliez pas que la formation de grille peut également se chevaucher. Tout dépend de la façon dont vous voulez formuler le problème.
Ensuite, un exemple est montré montrant les grilles qui ne se chevauchent pas:

Cette méthode est vraiment simple et efficace. Mais c'est un processus qui prend du temps, car il considère plusieurs patchs de l'image. Un autre inconvénient de l'approche de la fenêtre coulissante est qu'elle est coûteuse, puisqu'il considère chaque patch d'une image.
Ensuite, ensuite, Je vais discuter de l'approche alternative à la fenêtre coulissante.
Se concentrer 2: segmentation des couleurs
Au lieu de considérer chaque patch, on peut réduire les patchs pour les classer selon la couleur de la balle. Comment connaissons-nous la couleur de la balle, nous pouvons facilement différencier les patchs qui ont une couleur similaire à la balle du reste des patchs.

Cela se traduit par moins de correctifs à trier. Ce processus de combinaison de parties similaires d'une image par la couleur est connu sous le nom de segmentation des couleurs.
Mise en œuvre: développez votre premier système de suivi de balle pour Cricket en Python
Le temps de coder! Développons un système de suivi de balle simple qui suit la balle sur le terrain à l'aide de Python. Téléchargez les fichiers de données nécessaires à partir de ici.
Premier, lisons un fichier vidéo et enregistrons les images dans un dossier:
Cadres de lecture:
Comme notre objectif est de suivre le ballon sur le terrain, nous devons extraire les images qui contiennent le pitch. Ici, J'utilise le concept de détection de scène pour accomplir la tâche:
Production:
La valeur aberrante dans le graphique indique le numéro d'image pendant lequel la scène change. Donc, définir le seuil pour obtenir les images avant un changement de scène:
À présent, nous avons obtenu les trames qui contiennent un ton. Ensuite, nous allons mettre en œuvre une approche de segmentation dont nous avons parlé plus tôt dans cet article. Passons maintenant en revue toutes les étapes de l'approche à cadre unique.
Nous allons lire le cadre et appliquer un flou gaussien pour supprimer le bruit dans une image:
Production:

Comment connais-tu la couleur de la balle, nous pouvons facilement segmenter des objets blancs dans une image. Ici, 200 agit comme un seuil. Toute valeur de pixel inférieure à celle-ci 200 sera marqué comme 0 et ci-dessus 200 sera marqué comme 255.
Production:

Comme vous pouvez le voir ici, les objets blancs sont segmentés. Le blanc indique les objets blancs et le noir indique toutes les autres couleurs. Et c'est ça! Nous avons séparé les objets blancs des autres.
À présent, on va retrouver les contours des objets segmentés dans une image:
Dessinez les contours sur l'image originale:
Production:

Ensuite, extraire des patchs d'une image à l'aide de contours:
Il est temps de construire un classificateur d'images pour identifier le patch contenant la balle.
Lire et préparer l'ensemble de données:
Diviser l'ensemble de données en apprentissage et validation:
Construire un modèle de base pour identifier le patch contenant la balle:
Évaluer le modèle sur les données de validation:
Répétez les étapes similaires pour chaque image d'une vidéo, puis notez:
Jetez un œil aux cadres contenant la balle avec l'emplacement:
Ensuite, nous allons dessiner le cadre de délimitation autour des cadres contenant la balle et l'enregistrer dans le dossier:
Transformons les images en vidéo maintenant:
Production:
À quel point cela est cool? Félicitations pour la construction de votre propre système de suivi de balles de cricket !!
Remarques finales
C'est tout pour aujourd'hui! Cela nous amène à la fin du didacticiel de suivi des balles de cricket.. Notez qu'un modèle de base est créé pour les tâches de classification d'images. Mais il reste encore beaucoup margeLa marge est un terme utilisé dans divers contextes, comme la comptabilité, Économie et imprimerie. En comptabilité, fait référence à la différence entre les revenus et les coûts, qui permet d’évaluer la rentabilité d’une entreprise. Dans le domaine de l’édition, La marge est l’espace blanc autour du texte d’une page, qui le rend facile à lire et offre une présentation esthétique. Sa bonne gestion est essentielle.. pour améliorer notre modèle. Et aussi, il y a peu d'hyperparamètres dans cette approche, comme la taille du filtre gaussien et la valeur seuil à ajuster en fonction du type de vidéo.
Que pensez-vous du système que nous construisons? Partagez vos idées et commentaires dans la section commentaires ci-dessous et parlons-en..






