วิธีฝึก 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
- จากการตรวจเช็กด้วยมือสู่การบำรุงรักษาอากาศยานด้วย AI
- ระบบสร้างใบรับรองการตรวจสอบอัตโนมัติจากเทมเพลต Excel
- SimpliPOS (COFF POS): ระบบขายหน้าร้านสำหรับคาเฟ่ที่ใช้งานง่ายและครบฟังก์ชัน
- สร้างเว็บแอป Local-First ด้วย Alpine.js — เร็ว ปลอดภัย และไม่ต้องใช้เซิร์ฟเวอร์
- 🌱 Carbon Footprint Calculator (Recycling) — เครื่องมือคำนวณคาร์บอนสำหรับอุตสาหกรรมรีไซเคิล
- Recycle Factory Tools — เครื่องมือช่วยบันทึกงานรีไซเคิลให้ง่ายขึ้น
- โค้ชท่าวิ่ง — เมโทรนอมจังหวะก้าว เคาะจังหวะ จับเวลาท่าฝึก เช็คลิสต์ท่าทาง
- วิธีสร้างเครื่องคำนวณคาร์บอนเครดิตสำหรับธุรกิจของคุณ
- เปลี่ยนห้องของคุณให้น่าอยู่ด้วย SimRoom: การออกแบบภายในด้วยพลัง AI
- จะฉลาดขึ้นในยุค AI ได้อย่างไร ด้วย วิทยาศาสตร์ คณิตศาสตร์ การเขียนโปรแกรม และธุรกิจ
- 🎮 ทำให้โปรเจกต์สนุกขึ้น: ใช้กรอบคิด Octalysis
- ความมั่นคงชายแดนสมัยใหม่ด้วยดาวเทียม โดรน HALE และระบบ Cueing
- ปรับแต่ง LM Studio สำหรับงานโค้ด: เข้าใจ `top_p`, `top_k` และ `repeat_penalty`
- ระบบจัดการรีไซเคิลสำหรับโรงงาน: ทำให้การขายเศษวัสดุง่ายและโปร่งใส
- วิธีเขียน Use Case ให้เข้าใจง่าย และใกล้เคียงลูกค้าที่สุด
- หลังฟองสบู่ AI: ทำไมเครื่องเล่นเกมคอนโซลและ Local AI ถึงคือคำตอบที่แท้จริง
- การใช้ Source–Victim Matrix เชื่อมโยงการทดสอบ RE102 และ RS103 ในการวิเคราะห์ EMC บนเรือ
- เทคโนโลยีกับการสร้างความไว้วางใจใหม่หลังวิกฤต
- ก้าวสู่ยุคใหม่ของคลินิกเสริมความงามด้วย Mobile App
- ยกระดับอีคอมเมิร์ซด้วย AI: การวิเคราะห์รูปภาพ แปลภาษา และ Cross-Selling อัจฉริยะ