ระบบตรวจจับและติดตามยานพาหนะแบบเรียลไทม์ โดยใช้ YOLOv11 สำหรับการตรวจจับ และ ByteTrack สำหรับการติดตามวัตถุ พร้อมวิเคราะห์การเคลื่อนผ่านเส้น IN/OUT ภายในพื้นที่ที่กำหนด เหมาะสำหรับลานจอดรถ ระบบ IoT และอุปกรณ์ Edge
ระบบนี้ใช้เทคนิค Object Detection และ Object Tracking เพื่อนับจำนวนวัตถุที่เคลื่อนผ่านเส้นทางเข้า/ออกภายใน Polygon ROI จากวิดีโอหรือกล้องแบบเรียลไทม์ โดยสามารถติดตามวัตถุด้วย Track ID อย่างแม่นยำแม้ในกรณีที่มีการบดบัง (Occlusion) และรองรับการแสดงผล overlay เช่น IN / OUT / FPS บนวิดีโอที่ประมวลผลแล้ว
.
├── count_vehicle.py # สคริปต์หลักสำหรับนับจำนวนรถ
├── get_frame.py # สคริปต์ดึงเฟรมจากวิดีโอเพื่อใช้วาด Polygon บน Roboflow PolygonZone
├── videos/ # วิดีโอต้นฉบับ
├── weights/ # ไฟล์โมเดล YOLOv11 (.pt)
├── outputs/ # ไฟล์วิดีโอหรือภาพผลลัพธ์
├── README.md # เอกสารประกอบนี้
├── requirements.txt # รายการไลบรารีที่จำเป็น
- ตรวจจับยานพาหนะ (รถยนต์ รถกระบะ ฯลฯ) ด้วย YOLOv11
- ติดตามวัตถุด้วย ByteTrack โดยใช้ Track ID เดิมแม้จะมี Occlusion
- ครอบพื้นที่สนใจด้วย Polygon และตรวจจับเฉพาะในพื้นที่นั้น
- นับเฉพาะวัตถุที่เคลื่อน “ผ่านเส้น” IN/OUT
- แสดง overlay แบบ real-time ได้แก่ IN / OUT / FPS
ภาพ GIF ด้านล่างแสดงให้เห็นการทำงานของระบบนับรถเข้า-ออกแบบเรียลไทม์ โดยตรวจจับยานพาหนะที่เคลื่อนผ่านเส้น IN/OUT ภายในพื้นที่ Polygon ROI
- วางวิดีโอไว้ในโฟลเดอร์
videos/ - วางโมเดล YOLOv11 (
yolo11x.pt) ไว้ในโฟลเดอร์weights/หากไม่มีโมเดลจะถูกโหลดอัตโนมัติเมื่อรันสคริปต์ - แก้ไขบรรทัดใน
count_vehicle.pyให้ตรงกับชื่อไฟล์ของคุณ:
video_name = "parking.mp4"
model_name = "yolo11x.pt"🔗 Download: parking.mp4
- รันโปรแกรม:
python count_vehicle.py- กด
qเพื่อหยุดการทำงาน วิดีโอที่ผ่านการประมวลผลจะถูกบันทึกไว้ในโฟลเดอร์outputs/
สามารถใช้ get_frame.py เพื่อดึงเฟรมจากวิดีโอเพื่อไปวาด ROI บนเว็บไซต์ https://polygonzone.roboflow.com
python get_frame.py # ดึงเฟรมที่ 100 (สามารถเปลี่ยนเลขในสคริปต์ได้)ผลลัพธ์จะถูกเก็บไว้ใน outputs/frame_100.jpg
numpy
torch
opencv-python
ultralytics
supervision
ติดตั้งไลบรารี:
pip install -r requirements.txt- ตรวจนับรถเข้า-ออกในลานจอดรถ
- วิเคราะห์ความแออัดของถนนในเขตเมือง
- ใช้กับกล้องบนอุปกรณ์ IoT หรือ Edge Device เพื่อประมวลผลแบบ local
- Open source computer vision library OpenCV
- YOLOv11 Ultralytics
- พัฒนาโดย MorseTech Lab
Project นี้เผยแพร่ภายใต้ GNU Affero General Public License v3.0 (AGPLv3) เพื่อให้สอดคล้องกับเงื่อนไขการใช้งานของไลบรารีที่เกี่ยวข้อง
