วิเคราะห์ช็อตบาสเก็ตบอลและท่ายิงด้วยการเรียนรู้ของเครื่อง!
นี่คือแอปพลิเคชันที่ขับเคลื่อนด้วย AI ซึ่งเน้นไปที่ การตรวจจับวัตถุ เพื่อวิเคราะห์ช็อตบาสเก็ตบอล แอปนี้อนุญาตให้ผู้ใช้อัปโหลดวิดีโอบาสเก็ตบอลเพื่อการวิเคราะห์หรือส่ง คำขอ POST ไปยัง API ผลลัพธ์ประกอบด้วยการวิเคราะห์ช็อตและท่าทางโดยละเอียดตามข้อมูลการตรวจจับวัตถุ โปรเจ็กต์นี้ใช้ OpenPose เพื่อคำนวณจุดสำคัญของเนื้อหาและหน่วยวัดอื่นๆ
การวิเคราะห์บาสเกตบอล AI ใช้ประโยชน์จากปัญญาประดิษฐ์เพื่อแยกย่อยช็อตบาสเก็ตบอลโดยการตรวจจับการเคลื่อนไหวของผู้เล่น ความแม่นยำในการยิง และข้อมูลการวางท่า ใช้กรอบงาน OpenPose ยอดนิยมสำหรับการประมาณท่าทางของมนุษย์ ไม่ว่าคุณจะเป็นนักพัฒนาหรือนักวิเคราะห์กีฬา โปรเจ็กต์นี้จะช่วยสำรวจว่า AI สามารถทำให้การวิเคราะห์บาสเก็ตบอลเป็นแบบอัตโนมัติและปรับปรุงได้อย่างไร
สำคัญ : โครงการนี้มีไว้สำหรับ การวิจัยที่ไม่ใช่เชิงพาณิชย์เท่านั้น เนื่องจากใช้ใบอนุญาตของ OpenPose โปรดตรวจสอบใบอนุญาตเพื่อดูรายละเอียด
หากคุณยังใหม่ต่อการประมาณท่าทางของมนุษย์ ลองดูบทความสรุปที่แจกแจงแนวคิดหลักของ OpenPose
หากต้องการรับสำเนาของโครงการ ให้รันคำสั่งต่อไปนี้:
โคลนคอมไพล์ https://github.com/chonyy/AI-basketball-analysis.git
ก่อนรันโปรเจ็กต์ ตรวจสอบให้แน่ใจว่าได้ติดตั้งการขึ้นต่อกันที่จำเป็นทั้งหมดแล้วโดยการรัน:
pip ติดตั้ง -r ข้อกำหนด.txt
หมายเหตุ : โปรเจ็กต์นี้ต้องการ GPU ที่รองรับ CUDA เพื่อรัน OpenPose ได้อย่างมีประสิทธิภาพ โดยเฉพาะอย่างยิ่งสำหรับการวิเคราะห์วิดีโอ
เมื่อตั้งค่าทุกอย่างแล้ว คุณสามารถโฮสต์โปรเจ็กต์ภายในเครื่องได้ด้วยคำสั่งง่ายๆ:
หลาม app.py
การดำเนินการนี้จะเปิดตัวแอปพลิเคชันในเครื่อง ซึ่งคุณสามารถอัปโหลดวิดีโอหรือรูปภาพบาสเก็ตบอลเพื่อการวิเคราะห์ได้
หากคุณไม่ต้องการดำเนินโครงการในเครื่อง คุณสามารถลองใช้ทางเลือกเหล่านี้:
ขอบคุณ hardik0 คุณสามารถทดลอง AI Basketball Analysis ใน Google Colab ได้โดยไม่ต้องใช้ GPU ของคุณเอง:
โปรเจ็กต์นี้พร้อมใช้งานบน Heroku เช่นกัน แต่โปรดทราบว่าการคำนวณจำนวนมากเช่น TensorFlow อาจทำให้เกิดข้อผิดพลาดการหมดเวลาใน Heroku เนื่องจากทรัพยากรที่จำกัด เพื่อประสิทธิภาพที่ดีที่สุด ขอแนะนำให้เรียกใช้แอปในเครื่อง
ต่อไปนี้เป็นรายละเอียดองค์ประกอบสำคัญของโครงการ:
app.py : ไฟล์หลักเพื่อเรียกใช้เว็บแอปพลิเคชัน
/static : ประกอบด้วยเนื้อหาคงที่ทั้งหมด เช่น รูปภาพ, CSS และ JavaScript
/models : ไดเร็กทอรีที่มีโมเดลที่ได้รับการฝึกอบรมล่วงหน้าสำหรับการตรวจจับวัตถุ
/scripts : สคริปต์ยูทิลิตี้สำหรับการประมวลผลข้อมูลและการฝึกโมเดล
วิเคราะห์ช็อตบาสเก็ตบอลจากวิดีโออินพุต ตัดสินช็อตที่สำเร็จและพลาด จุดสำคัญที่มีสีต่างกันแสดงถึง:
สีน้ำเงิน : ตรวจพบบาสเก็ตบอลในสถานะปกติ
สีม่วง : ยิงไม่ชัด
เขียว : ยิงสำเร็จ
สีแดง : ยิงพลาด
โปรเจ็กต์นี้ใช้ OpenPose เพื่อวิเคราะห์มุมข้อศอกและเข่าของผู้เล่นระหว่างช็อต ซึ่งช่วยกำหนดมุมและเวลาในการคลายตัว
คุณสมบัตินี้แสดงภาพการตรวจจับช็อต โดยแสดงระดับความมั่นใจและพิกัดสำหรับการตรวจจับแต่ละครั้ง
โปรเจ็กต์นี้มี REST API สำหรับการตรวจจับ ซึ่งช่วยให้คุณสามารถส่งรูปภาพผ่านคำขอ POST และรับการตอบสนอง JSON พร้อมจุดสำคัญที่ตรวจพบและข้อมูลอื่น ๆ
โพสต์ /detection_json
คีย์ : รูปภาพ
ค่า : อินพุตรูปภาพ
โมเดลนี้อิงตามสถาปัตยกรรม Faster R-CNN ซึ่งได้รับการฝึกฝนบน ชุดข้อมูล COCO สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ TensorFlow Model Zoo
เปลี่ยนโมเดลเป็น YOLOv4 เพื่อประสิทธิภาพที่ดีขึ้น
ใช้อัลกอริธึมการติดตาม SORT เพื่อกรองการตรวจจับที่ผิดพลาด
ปรับปรุงคุณสมบัติการแสดงภาพเพื่อผลลัพธ์ที่ชัดเจนยิ่งขึ้น
เพิ่มประสิทธิภาพเพื่อการรวมเว็บแอปที่ดีขึ้น
เรายินดีรับการสนับสนุนจากชุมชน! คุณสามารถมีส่วนร่วมได้ดังนี้:
แยกพื้นที่เก็บข้อมูล
สร้างสาขา : git checkout -b feature/your-feature-name
ยอมรับการเปลี่ยนแปลงของคุณ : git commit -m 'Add some feature'
พุชไปที่สาขา : git push origin feature/your-feature-name
เปิดคำขอดึง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการบริจาค โปรดไปที่ Make A Pull Request