透過機器學習分析籃球投籃和投籃姿勢!
這是一款由人工智慧驅動的應用程序,專注於物體檢測以分析籃球投籃。該應用程式允許用戶上傳籃球影片進行分析或向 API 提交POST 請求。結果包括基於物件檢測數據的詳細鏡頭和姿勢分析。該項目利用OpenPose來計算身體關鍵點和其他指標。
AI 籃球分析利用人工智慧透過偵測球員動作、投籃準確性和姿勢數據來分解籃球投籃。它使用流行的 OpenPose 框架進行人體姿勢估計。無論您是開發人員還是體育分析師,該專案都有助於探索人工智慧如何自動化和增強籃球分析。
重要提示:該專案僅用於非商業研究用途,因為它使用 OpenPose 的授權。請查看許可證以了解詳細資訊。
如果您不熟悉人體姿勢估計,請查看這篇總結文章,其中詳細介紹了 OpenPose 的關鍵概念。
若要取得專案的副本,請執行以下命令:
git 克隆 https://github.com/chonyy/AI-basketball-analysis.git
在運行專案之前,請確保透過執行以下命令安裝了所有必要的依賴項:
pip install -r 要求.txt
注意:此專案需要支援 CUDA 的 GPU才能有效運作 OpenPose,尤其是視訊分析。
一切設定完畢後,您可以使用一個簡單的命令在本地端託管該專案:
蟒蛇應用程式.py
這將在本地啟動該應用程序,您可以在其中上傳籃球影片或圖像進行分析。
如果您不想在本地運行該項目,可以嘗試以下替代方案:
透過 Hardik0,您可以在Google Colab中試驗 AI 籃球分析,而無需使用自己的 GPU:
該專案在 Heroku 上也可用,但請注意,由於資源有限,像 TensorFlow 這樣的繁重運算可能會在 Heroku 上導致逾時錯誤。為了獲得最佳效能,建議在本地運行該應用程式。
以下是此專案關鍵組成部分的細分:
app.py :運行 Web 應用程式的主檔案。
/static :包含所有靜態資源,如映像、CSS 和 JavaScript。
/models :包含用於物件偵測的預訓練模型的目錄。
/scripts :用於資料處理和模型訓練的實用腳本。
分析輸入影片中的籃球投籃,確定成功投籃和未投籃。不同顏色的關鍵點代表:
藍色:偵測到籃球處於正常狀態
紫色:未確定的射擊
綠色:成功射擊
紅色:射失
該計畫使用 OpenPose 分析球員擊球時的肘部和膝蓋角度,幫助確定出手角度和時間。
此功能將鏡頭偵測視覺化,顯示每次偵測的置信度和座標。
此專案包括用於偵測的 REST API,可讓您透過POST請求提交映像並接收包含偵測到的關鍵點和其他資料的 JSON 回應。
發布/檢測_json
關鍵:影像
值:輸入影像
模型基於Faster R-CNN架構,在COCO 資料集上進行訓練。有關更多詳細信息,請參閱 TensorFlow Model Zoo。
將模型轉換為 YOLOv4 以獲得更好的性能。
實作 SORT 追蹤演算法以過濾錯誤偵測。
改進可視化功能以獲得更清晰的結果。
優化效率以實現更好的 Web 應用程式整合。
我們歡迎社區的貢獻!您可以透過以下方式參與:
分叉儲存庫
建立一個分支: git checkout -b feature/your-feature-name
提交您的更改: git commit -m 'Add some feature'
推到分支: git push origin feature/your-feature-name
打開拉取請求
有關貢獻的更多信息,請訪問提出拉取請求。