Analysieren Sie Basketballschläge und Schusspositionen mit maschinellem Lernen!
Hierbei handelt es sich um eine KI-gestützte Anwendung, die sich auf die Objekterkennung konzentriert, um Basketballschläge zu analysieren. Mit der App können Benutzer Basketballvideos zur Analyse hochladen oder POST-Anfragen an eine API senden. Zu den Ergebnissen gehört eine detaillierte Aufnahme- und Posenanalyse basierend auf Objekterkennungsdaten. Das Projekt nutzt OpenPose, um Körperschlüsselpunkte und andere Metriken zu berechnen.
Die KI-Basketballanalyse nutzt künstliche Intelligenz, um Basketballschläge aufzuschlüsseln, indem sie Spielerbewegungen, Schussgenauigkeit und Posendaten erkennt. Es verwendet das beliebte OpenPose-Framework zur Schätzung der menschlichen Pose. Unabhängig davon, ob Sie Entwickler oder Sportanalyst sind, hilft dieses Projekt dabei, herauszufinden, wie KI die Basketballanalyse automatisieren und verbessern kann.
Wichtig : Dieses Projekt ist nur für nichtkommerzielle Forschungszwecke bestimmt , da es die OpenPose-Lizenz verwendet. Weitere Informationen finden Sie in der LIZENZ.
Wenn Sie neu in der menschlichen Posenschätzung sind, lesen Sie diesen zusammenfassenden Artikel, der die Schlüsselkonzepte von OpenPose aufschlüsselt.
Um eine Kopie des Projekts zu erhalten, führen Sie den folgenden Befehl aus:
Git-Klon https://github.com/chonyy/AI-basketball-analysis.git
Stellen Sie vor der Ausführung des Projekts sicher, dass alle erforderlichen Abhängigkeiten installiert sind, indem Sie Folgendes ausführen:
pip install -r Anforderungen.txt
Hinweis : Dieses Projekt erfordert eine GPU mit CUDA-Unterstützung, um OpenPose effizient auszuführen, insbesondere für die Videoanalyse.
Sobald alles eingerichtet ist, können Sie das Projekt mit einem einfachen Befehl lokal hosten:
Python app.py
Dadurch wird die Anwendung lokal gestartet, wo Sie Basketballvideos oder Bilder zur Analyse hochladen können.
Wenn Sie das Projekt lieber nicht lokal ausführen möchten, können Sie diese Alternativen ausprobieren:
Dank hardik0 können Sie mit der KI-Basketball-Analyse in Google Colab experimentieren, ohne eine eigene GPU zu benötigen:
Dieses Projekt ist auch auf Heroku verfügbar. Beachten Sie jedoch, dass umfangreiche Berechnungen wie TensorFlow aufgrund begrenzter Ressourcen zu Timeout-Fehlern auf Heroku führen können. Für eine optimale Leistung wird empfohlen, die App lokal auszuführen.
Hier ist eine Aufschlüsselung der Schlüsselkomponenten des Projekts:
app.py : Hauptdatei zum Ausführen der Webanwendung.
/static : Enthält alle statischen Assets wie Bilder, CSS und JavaScript.
/models : Verzeichnis mit vorab trainierten Modellen zur Objekterkennung.
/scripts : Hilfsskripte für die Datenverarbeitung und das Modelltraining.
Analysieren Sie Basketballschläge anhand des Eingabevideos und bestimmen Sie erfolgreiche und verpasste Schüsse. Schlüsselpunkte in verschiedenen Farben stellen Folgendes dar:
Blau : Basketball im Normalstatus erkannt
Lila : Unbestimmter Schuss
Grün : Erfolgreicher Schuss
Rot : Fehlschuss
Mithilfe von OpenPose analysiert das Projekt die Ellbogen- und Kniewinkel des Spielers während eines Schlags und hilft so, Abwurfwinkel und -zeiten zu bestimmen.
Diese Funktion visualisiert die Schusserkennung und zeigt Konfidenzniveaus und Koordinaten für jede Erkennung an.
Das Projekt umfasst eine REST-API zur Erkennung, mit der Sie Bilder über eine POST- Anfrage senden und eine JSON-Antwort mit erkannten Schlüsselpunkten und anderen Daten erhalten können.
POST /detection_json
SCHLÜSSEL : Bild
WERT : Eingabebild
Das Modell basiert auf der Faster R-CNN- Architektur, trainiert auf dem COCO-Datensatz . Weitere Einzelheiten finden Sie im TensorFlow Model Zoo.
Stellen Sie das Modell für eine bessere Leistung auf YOLOv4 um.
Implementieren Sie den SORT-Tracking-Algorithmus, um falsche Erkennungen zu filtern.
Verbessern Sie die Visualisierungsfunktionen für klarere Ergebnisse.
Optimieren Sie die Effizienz für eine bessere Web-App-Integration.
Wir freuen uns über Beiträge aus der Community! So können Sie mitmachen:
Forken Sie das Repository
Erstellen Sie einen Zweig : git checkout -b feature/your-feature-name
Übernehmen Sie Ihre Änderungen : git commit -m 'Add some feature'
Push zum Zweig : git push origin feature/your-feature-name
Öffnen Sie eine Pull-Anfrage
Weitere Informationen zum Mitwirken finden Sie unter „Pull-Anfrage stellen“.