วิธีฝึก 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
- การประเมินทิศทางราคาช่วงสั้นด้วย Heuristics และ News Sentiment (Python)
- Rust vs Python: เลือกภาษาให้เหมาะกับระบบในยุค AI และระบบขนาดใหญ่
- ซอฟต์แวร์ช่วยเกษตรกรจันทบุรีฟื้นอำนาจการกำหนดราคาผลไม้อย่างไร
- AI ช่วยค้นหาโอกาสทางการเงินได้อย่างไร
- วิธีใช้งานโมเดล ONNX ใน React Native และ Mobile App Framework อื่น ๆ
- อัลกอริทึมตรวจจับโรคใบพืชทำงานอย่างไร: จากกล้องสู่การตัดสินใจ
- Smart Farming Lite: เกษตรดิจิทัลที่ใช้งานได้จริงโดยไม่ต้องพึ่งพาเซนเซอร์
- ทำไม MES แบบสั่งพัฒนาจึงตอบโจทย์โรงงานไทยมากกว่า MES สำเร็จรูป
- เมื่อ AI เข้ามาแทนที่การค้นหา: นักเขียนและผู้เชี่ยวชาญจะอยู่รอดอย่างไร
- วิธีคาดการณ์ราคาโลหะสำหรับธุรกิจรีไซเคิล
- Smart Farming ทุเรียนแบบต้นทุนต่ำ (ประเทศไทย)
- ใครย้ายชีสของฉันไป?
- การออกแบบระบบ E-Commerce แบบเฉพาะสำหรับประเทศไทย
- Anti-Patterns ที่การใช้ AI ทำให้ระบบพัง
- ทำไมเราไม่ได้แค่พัฒนาซอฟต์แวร์ — แต่ทำให้ระบบทำงานได้จริง
- ชุด Prompt สำหรับผู้ดูแล Wazuh ที่มีประโยชน์
- เหตุใดการเปลี่ยนระบบ Legacy ทั้งหมดจึงล้มเหลวในภาครัฐ (และอะไรคือทางออกที่ได้ผลจริง)
- Vertical AI Use Cases ที่องค์กรปกครองส่วนท้องถิ่นของไทย “จำเป็นต้องใช้จริง”
- การออกแบบการให้บริการดิจิทัลสำหรับหน่วยงานภาครัฐหลายกรม (บริบทประเทศไทย)
- 7 เหตุผลหลักที่ระบบบริการดิจิทัลภาครัฐล้มเหลวหลังเปิดใช้งานจริง













