วิธีฝึก YOLO ด้วยชุดข้อมูลที่กำหนดเอง: คำแนะนำทีละขั้นตอน
การตรวจจับวัตถุเป็นเทคโนโลยีที่สำคัญในอุตสาหกรรมต่างๆ เช่น ความปลอดภัย ระบบอัตโนมัติ และหุ่นยนต์ YOLO (You Only Look Once) เป็นหนึ่งในโมเดลตรวจจับวัตถุแบบเรียลไทม์ที่ได้รับความนิยมมากที่สุด เนื่องจากมีความเร็วและความแม่นยำสูง บทความนี้จะอธิบายวิธีฝึก YOLO โดยใช้ชุดข้อมูลที่กำหนดเอง เพื่อให้สามารถใช้งานจริงได้
ขั้นตอนที่ 1: ติดตั้งไลบรารีที่จำเป็น
ก่อนอื่นต้องติดตั้งไลบรารีที่จำเป็น การใช้ YOLOv5 หรือ YOLOv8 เวอร์ชันล่าสุดจะช่วยให้การฝึกง่ายขึ้น
# โคลนที่เก็บข้อมูล YOLOv5
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
# ติดตั้งแพ็คเกจที่จำเป็น
pip install -r requirements.txt
หากใช้ YOLOv8 สามารถติดตั้งแพ็คเกจ Ultralytics ได้โดยตรง:
pip install ultralytics
ขั้นตอนที่ 2: เตรียมชุดข้อมูล
YOLO ต้องการข้อมูลในรูปแบบเฉพาะ โดยแต่ละภาพจะต้องมีไฟล์กำกับฉลากในรูปแบบ YOLO:
<class_id> <x_center> <y_center> <width> <height>
ค่าทั้งหมดต้องถูกทำให้เป็นอัตราส่วนระหว่าง 0 ถึง 1 โครงสร้างโฟลเดอร์ของชุดข้อมูลควรเป็นดังนี้:
/dataset
├── images
│ ├── train
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ ├── val
│ ├── img3.jpg
│ ├── img4.jpg
├── labels
│ ├── train
│ │ ├── img1.txt
│ │ ├── img2.txt
│ ├── val
│ ├── img3.txt
│ ├── img4.txt
├── data.yaml
สร้างไฟล์ data.yaml
ไฟล์นี้ใช้กำหนดโครงสร้างชุดข้อมูลและชื่อคลาส:
train: /path/to/dataset/images/train
val: /path/to/dataset/images/val
nc: 2 # จำนวนคลาส
names: ['person', 'car'] # ชื่อคลาส
ขั้นตอนที่ 3: ฝึกโมเดล
ใช้คำสั่งต่อไปนี้เพื่อฝึก YOLOv5:
python train.py --img 640 --batch 16 --epochs 50 --data dataset/data.yaml --weights yolov5s.pt --cache
สำหรับ YOLOv8:
yolo train model=yolov8n.pt data=dataset/data.yaml epochs=50 imgsz=640
ขั้นตอนที่ 4: ตรวจสอบความคืบหน้าของการฝึก
YOLO จะบันทึกตัวชี้วัดประสิทธิภาพต่างๆ ระหว่างการฝึก หากใช้ YOLOv5 ผลลัพธ์จะถูกบันทึกใน runs/train/exp/
สามารถใช้ TensorBoard เพื่อตรวจสอบประสิทธิภาพของการฝึกได้:
tensorboard --logdir=runs/train
ขั้นตอนที่ 5: ประเมินและทดสอบโมเดล
หลังจากฝึกเสร็จแล้ว สามารถทดสอบโมเดลกับภาพใหม่ได้:
python detect.py --weights runs/train/exp/weights/best.pt --img 640 --source test_images/
สำหรับ YOLOv8:
yolo detect model=runs/train/exp/weights/best.pt source=test_images/
ขั้นตอนที่ 6: ส่งออกโมเดลสำหรับใช้งาน
สามารถส่งออกโมเดล YOLO เป็นหลายรูปแบบได้:
python export.py --weights runs/train/exp/weights/best.pt --include onnx torchscript
สำหรับ YOLOv8:
yolo export model=runs/train/exp/weights/best.pt format=onnx
สรุป
การฝึก YOLO ด้วยชุดข้อมูลที่กำหนดเองช่วยให้สามารถตรวจจับวัตถุได้ในแอปพลิเคชันจริง เช่น ความปลอดภัย การตรวจสอบการจราจร และระบบอัตโนมัติ คู่มือฉบับนี้จะช่วยให้คุณเตรียมข้อมูล ฝึกโมเดล และนำไปใช้งานได้อย่างมีประสิทธิภาพ
หากต้องการความช่วยเหลือในการเตรียมชุดข้อมูลหรือปรับแต่งการฝึก แจ้งให้เราทราบในความคิดเห็น!
Get in Touch with us
Related Posts
- การจำลองการรบกวนทางแม่เหล็กไฟฟ้า (EMC/EMI) บนดาดฟ้าเรือรบด้วย MEEP และ Python
- ระบบ TAK ทำงานอย่างไร: คู่มือฉบับสมบูรณ์สำหรับการรับรู้สถานการณ์แบบเรียลไทม์
- สร้างเว็บไซต์และแอปขายของออนไลน์ พร้อมระบบ AI แชทบอทอัจฉริยะ – ครบจบในที่เดียว
- ระบบแนะนำสินค้าอัจฉริยะมาแล้ว — พร้อมใช้งานในร้านของคุณ
- ปรียบเทียบ Rasa vs LangChain vs Rasa + LangChain
- เข้าใจ Wazuh ด้วยการสำรวจโครงการโอเพ่นซอร์สที่อยู่เบื้องหลัง
- วิธีเชื่อมต่อระบบยืนยันตัวตนจากแอปกับ OCPP Central System
- คู่มือสำหรับผู้เริ่มต้น: แอปชาร์จรถ EV ทำงานอย่างไร ติดต่อกับสถานีชาร์จ และคำนวณค่าใช้จ่ายอย่างไร
- สร้างระบบจัดการ EV Charging OCPP 1.6 ด้วย Flask[async], WebSocket และ MongoDB
- AI ยกระดับระบบบัญชีและคลังสินค้าใน Odoo อย่างไร (พร้อมแนวทางพัฒนา)
- พัฒนา E-commerce แบบ Fullstack ด้วย JavaScript
- สร้าง Agentic AI ด้วย Python, Langchain และ Ollama สำหรับระบบอีคอมเมิร์ซและโรงงานอัตโนมัติ
- วิเคราะห์หาสาเหตุของโค้ด P0420 ด้วย Python และข้อมูลสดจาก OBD-II
- วิธีนำแนวคิดจากหนังสือ The Mom Test มาใช้ตรวจสอบไอเดียสตาร์ทอัพของคุณ
- ควรเลือกใช้ Rasa หรือ Langchain สร้างแชทบอทเมื่อไหร่?
- แนะนำ OCR Document Manager: แปลงเอกสารเป็นข้อความได้ง่ายๆ บนเว็บ
- ผมกำลังทดสอบเครื่องมือ AI ที่ช่วยหาสินค้ามาแรงก่อนใคร — คุณสนใจไหม?
- เว็บไซต์ของคุณกำลังเสียโอกาส — เพราะมัน “เงียบเกินไป”
- Agentic AI คืออะไร? ทำไมฟาร์มของคุณถึงควรใช้ตั้งแต่วันนี้
- วิธีสร้าง RAG Chatbot ด้วย LangChain + Ollama