วิธีฝึก 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 ด้วยชุดข้อมูลที่กำหนดเองช่วยให้สามารถตรวจจับวัตถุได้ในแอปพลิเคชันจริง เช่น ความปลอดภัย การตรวจสอบการจราจร และระบบอัตโนมัติ คู่มือฉบับนี้จะช่วยให้คุณเตรียมข้อมูล ฝึกโมเดล และนำไปใช้งานได้อย่างมีประสิทธิภาพ

หากต้องการความช่วยเหลือในการเตรียมชุดข้อมูลหรือปรับแต่งการฝึก แจ้งให้เราทราบในความคิดเห็น!

Related Posts

Articles

Our Products


Related Posts

Articles

Our Products


Get in Touch with us

Speak to Us or Whatsapp(+66) 83001 0222

Chat with Us on LINEiiitum1984

Our HeadquartersChanthaburi, Thailand