โมเดลและแพลตฟอร์ม AI

ยอโลว8 อธิบาย: ชิ้นงานวิชาการด้านการมองเห็นของอัลตราลิติกส์

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google
Blog featured image for YOLOv8

จนถึงขณะนี้ การตรวจจับวัตถุในภาพโดยใช้โมเดลการมองเห็นของคอมพิวเตอร์เผชิญกับอุปสรรคสำคัญของความล่าช้าในการประมวลผล ซึ่งทำให้เกิดความล่าช้าหลายวินาทีในการใช้งานเชิงปฏิบัติ เช่น การขับขี่อัตโนมัติ อย่างไรก็ตาม การเปิดตัวโมเดลการมองเห็นของ YOLOv8 โดย Ultralytics ได้ทำลายความล่าช้าในการประมวลผลได้สำเร็จ โมเดลใหม่นี้สามารถตรวจจับวัตถุได้ในเวลาเรียลไทม์พร้อมความแม่นยำและความเร็วที่ไม่เคยเกิดขึ้นมาก่อน ทำให้ได้รับความนิยมในพื้นที่การมองเห็นของคอมพิวเตอร์

บทความนี้จะสำรวจ YOLOv8 ความสามารถ และวิธีการปรับแต่งและสร้างโมเดลของคุณเองผ่านрепозиторี Github ที่เปิดให้ใช้งาน

ยอโลว8 อธิบาย

YOLOv8-Ultralytics

YOLO (You Only Live Once) เป็นโมเดลการมองเห็นของคอมพิวเตอร์ที่สามารถ ตรวจจับและแบ่งส่วนวัตถุในภาพ โมเดลนี้ได้ผ่านการอัปเดตหลายครั้งในอดีต โดยมี YOLOv8 เป็นรุ่นที่ 8

ณ ตอนนี้ YOLOv8 สร้างความสามารถของเวอร์ชันก่อนหน้าโดยการแนะนำฟีเจอร์ใหม่และปรับปรุง ทำให้สามารถตรวจจับวัตถุในเวลาเรียลไทม์ได้พร้อมความแม่นยำและความเร็วที่ดีขึ้น

จาก v1 ถึง v8: ประวัติย่อ

Yolov1: เปิดตัวในปี 2015 เป็นโมเดลการตรวจจับวัตถุแบบหนึ่ง चरण โดยสามารถอ่านภาพทั้งหมดเพื่อคาดการณ์กล่องขอบเขตในหนึ่งการประเมิน

Yolov2: เปิดตัวในปี 2016 มีประสิทธิภาพสูงสุดในแบบทดสอบ PASCAL VOC และ COCO และสามารถทำงานได้ด้วยความเร็วสูง (67-40 FPS) และสามารถตรวจจับวัตถุได้มากกว่า 9,000 ประเภท แม้จะมีข้อมูลการตรวจจับที่จำกัด

Yolov3: เปิดตัวในปี 2018 มีฟีเจอร์ใหม่ๆ เช่น โครงข่ายหลังที่มีประสิทธิภาพมากขึ้น แอนคอร์หลายตัว และการวิเคราะห์ข้อมูลเชิงพื้นที่สำหรับการถอดรหัสคุณลักษณะหลายระดับ

Yolov4: เปิดตัวในปี 2020 มีการแนะนำเทคนิคการเพิ่มข้อมูลใหม่ๆ เช่น Mosaic data augmentation ซึ่งช่วยให้การฝึกอบรมดีขึ้น

Yolov5: เปิดตัวในปี 2021 มีฟีเจอร์ใหม่ๆ เช่น การเพิ่มประสิทธิภาพของไฮเปอร์พารามิเตอร์ และการ跟踪การทดลองแบบบูรณาการ

Yolov6: เปิดตัวในปี 2022 โมเดลนี้เปิดให้ใช้งานแบบโอเพ่นซอร์สเพื่อส่งเสริมการพัฒนาของชุมชน มีการแนะนำฟีเจอร์ใหม่ๆ เช่น ยุทธวิธีการถอดรหัสตนเองและยุทธวิธีการฝึกอบรมแบบ Anchor-Aided

Yolov7: เปิดตัวในปี 2022 มีการปรับปรุงความเร็วและความแม่นยำของโมเดล และเป็นโมเดลการตรวจจับวัตถุที่เร็วที่สุดในขณะนั้น

อะไรที่ทำให้ YOLOv8 แตกต่าง?

Image showing vehicle detection

YOLOv8 มีความแม่นยำและความเร็วที่ไม่เคยเกิดขึ้นมาก่อน ทำให้โมเดลการมองเห็นของคอมพิวเตอร์นี้แตกต่างจากเวอร์ชันก่อนหน้า เป็นความสำเร็จที่สำคัญ เนื่องจากวัตถุสามารถตรวจจับได้ในเวลาเรียลไทม์โดยไม่มีความล่าช้า ไม่เหมือนกับเวอร์ชันก่อนหน้า

แต่นอกจากสิ่งนี้แล้ว YOLOv8 ยังมีคุณสมบัติที่ทรงพลัง ซึ่งรวมถึง:

  1. สถาปัตยกรรมที่สามารถปรับแต่งได้: YOLOv8 มีสถาปัตยกรรมที่สามารถปรับแต่งได้ตามความต้องการของนักพัฒนา
  2. การฝึกอบรมแบบปรับแต่ง: YOLOv8 มีการฝึกอบรมแบบปรับแต่งใหม่ๆ เช่น การสมดุลฟังก์ชันการสูญเสียระหว่างการฝึกอบรมและเทคนิคอื่นๆ ซึ่งช่วยให้การเรียนรู้ดีขึ้น
  3. การวิเคราะห์ภาพขั้นสูง: YOLOv8 มีการวิเคราะห์ภาพขั้นสูงใหม่ๆ เช่น การแบ่งส่วนเชิงพื้นที่และการคาดการณ์ประเภท ซึ่งช่วยให้สามารถตรวจจับกิจกรรม สี เนื้อหา และความสัมพันธ์ระหว่างวัตถุได้
  4. การเพิ่มข้อมูล: YOLOv8 มีการเพิ่มข้อมูลใหม่ๆ เช่น การจัดการกับความแปรผันของภาพในสถานการณ์จริง
  5. การสนับสนุนหลัง: YOLOv8 มีการสนับสนุนหลังหลายตัว เช่น CSPDarknet (หลังเริ่มต้น) EfficientNet (หลังเบา) และ ResNet (หลังคลาสสิก) ซึ่งผู้ใช้สามารถเลือกได้

ผู้ใช้สามารถปรับแต่งหลังได้โดยการแทนที่ CSPDarknet53 ด้วยโครงข่าย CNN อื่นๆ ที่เข้ากันได้กับขนาดการเข้าและออกของ YOLOv8

การฝึกอบรมและการปรับแต่ง YOLOv8

โมเดล YOLOv8 สามารถฝึกอบรมหรือปรับแต่งได้เพื่อให้เหมาะสมกับการใช้งานเฉพาะ ดูรายละเอียดเพิ่มเติมเกี่ยวกับขั้นตอนการฝึกอบรมได้ที่ เอกสารอย่างเป็นทางการ

มาดูกันว่าคุณสามารถทำสิ่งเหล่านี้ได้อย่างไร

การปรับแต่ง YOLOV8 ด้วยชุดข้อมูลแบบกำหนดเอง

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

โมเดล YOLOv8 สามารถปรับแต่งได้ด้วยโค้ด Python หรือผ่านการเชื่อมต่อแบบคำสั่ง (CLI)

1. ปรับแต่ง YOLOv8 ด้วย Python

เริ่มต้นด้วยการนำเข้าแพ็คเกจ Ultralytics เข้าไปในโค้ดของคุณ จากนั้น โหลดโมเดลที่คุณต้องการฝึกอบรมโดยใช้โค้ดต่อไปนี้:

ก่อนอื่น ติดตั้งไลบรารี Ultralytics จากการกระจายตัวที่เป็นทางการ

# ติดตั้งแพ็คเกจ ultralytics จาก PyPI
pip install ultralytics

จากนั้น รันโค้ดต่อไปนี้ในไฟล์ Python:

from ultralytics import YOLO

# โหลดโมเดล
model = YOLO(‘yolov8n.pt’) # โหลดโมเดลที่ฝึกอบรมไว้แล้ว (แนะนำสำหรับการฝึกอบรม)

# ฝึกอบรมโมเดลบนชุดข้อมูล MS COCO
results = model.train(data=’coco128.yaml’, epochs=100, imgsz=640)

โดยค่าเริ่มต้น โค้ดจะฝึกอบรมโมเดลโดยใช้ชุดข้อมูล COCO ใน 100 โอกาส แต่คุณสามารถกำหนดค่าเหล่านี้ได้โดยการสร้างไฟล์ YAML

เมื่อคุณฝึกอบรมโมเดลด้วยการตั้งค่าและเส้นทางข้อมูลของคุณแล้ว ให้ติดตามความก้าวหน้า ทดสอบและปรับแต่งโมเดล และฝึกอบรมซ้ำจนกว่าคุณจะได้ผลลัพธ์ที่ต้องการ

2. ปรับแต่ง YOLOv8 ด้วย CLI

เพื่อฝึกอบรมโมเดลโดยใช้ CLI ให้รันสคริปต์ต่อไปนี้ในบรรทัดคำสั่ง:

yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

คำสั่ง CLI จะโหลดโมเดลที่ฝึกอบรมไว้แล้ว `yolov8n.pt` และฝึกอบรมเพิ่มเติมบนชุดข้อมูลที่กำหนดไว้ในไฟล์ `coco8.yaml`

การสร้างโมเดลของคุณเองด้วย YOLOv8

มี 2 วิธีในการสร้างโมเดลแบบกำหนดเองด้วยเฟรมเวิร์ก YOLO:

  • การฝึกอบรมจากศูนย์: วิธีนี้ช่วยให้คุณใช้สถาปัตยกรรม YOLOv8 ที่กำหนดไว้ล่วงหน้า แต่จะไม่ใช้น้ำหนักที่ฝึกอบรมไว้ล่วงหน้า การฝึกอบรมจะเกิดขึ้นจากศูนย์
  • สถาปัตยกรรมแบบกำหนดเอง: คุณสามารถปรับเปลี่ยนสถาปัตยกรรม YOLO ที่กำหนดไว้ล่วงหน้าและฝึกอบรมโครงสร้างใหม่จากศูนย์

การนำไปปฏิบัติของทั้งสองวิธีนี้เหมือนกัน เพื่อฝึกอบรมโมเดล YOLO จากศูนย์ ให้รันโค้ด Python ต่อไปนี้:

from ultralytics import YOLO

# โหลดโมเดล
model = YOLO(‘yolov8n.yaml’) # สร้างโมเดลใหม่จาก YAML

# ฝึกอบรมโมเดล
results = model.train(data=’coco128.yaml’, epochs=100, imgsz=640)

สังเกตว่าคราวนี้เราโหลดไฟล์ `.yaml` แทน `.pt` ไฟล์ YAML มีข้อมูลเกี่ยวกับสถาปัตยกรรมของโมเดล และไม่มีน้ำหนักโหลด การสั่งฝึกอบรมจะเริ่มฝึกอบรมโมเดลใหม่นี้จากศูนย์

เพื่อฝึกอบรมสถาปัตยกรรมแบบกำหนดเอง คุณจะต้องกำหนดโครงสร้างแบบกำหนดเองในไฟล์ `.yaml` เช่นเดียวกับ `yolov8n.yaml` จากนั้น โหลดไฟล์นี้และฝึกอบรมโมเดลโดยใช้โค้ดเดียวกัน

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการตรวจจับวัตถุโดยใช้ AI และติดตามเทรนด์ AI ล่าสุด โปรดเยี่ยมชม unite.ai

Haziqa เป็นนักวิทยาศาสตร์ข้อมูลที่มีประสบการณ์อย่างกว้างขวางในการเขียนเนื้อหาทางเทคนิคสำหรับบริษัท AI และ SaaS