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

จนถึงขณะนี้ การตรวจจับวัตถุในภาพโดยใช้โมเดลการมองเห็นของคอมพิวเตอร์เผชิญกับอุปสรรคสำคัญของความล่าช้าในการประมวลผล ซึ่งทำให้เกิดความล่าช้าหลายวินาทีในการใช้งานเชิงปฏิบัติ เช่น การขับขี่อัตโนมัติ อย่างไรก็ตาม การเปิดตัวโมเดลการมองเห็นของ YOLOv8 โดย Ultralytics ได้ทำลายความล่าช้าในการประมวลผลได้สำเร็จ โมเดลใหม่นี้สามารถตรวจจับวัตถุได้ในเวลาเรียลไทม์พร้อมความแม่นยำและความเร็วที่ไม่เคยเกิดขึ้นมาก่อน ทำให้ได้รับความนิยมในพื้นที่การมองเห็นของคอมพิวเตอร์
บทความนี้จะสำรวจ YOLOv8 ความสามารถ และวิธีการปรับแต่งและสร้างโมเดลของคุณเองผ่านрепозиторี Github ที่เปิดให้ใช้งาน
ยอโลว8 อธิบาย
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 แตกต่าง?

YOLOv8 มีความแม่นยำและความเร็วที่ไม่เคยเกิดขึ้นมาก่อน ทำให้โมเดลการมองเห็นของคอมพิวเตอร์นี้แตกต่างจากเวอร์ชันก่อนหน้า เป็นความสำเร็จที่สำคัญ เนื่องจากวัตถุสามารถตรวจจับได้ในเวลาเรียลไทม์โดยไม่มีความล่าช้า ไม่เหมือนกับเวอร์ชันก่อนหน้า
แต่นอกจากสิ่งนี้แล้ว YOLOv8 ยังมีคุณสมบัติที่ทรงพลัง ซึ่งรวมถึง:
- สถาปัตยกรรมที่สามารถปรับแต่งได้: YOLOv8 มีสถาปัตยกรรมที่สามารถปรับแต่งได้ตามความต้องการของนักพัฒนา
- การฝึกอบรมแบบปรับแต่ง: YOLOv8 มีการฝึกอบรมแบบปรับแต่งใหม่ๆ เช่น การสมดุลฟังก์ชันการสูญเสียระหว่างการฝึกอบรมและเทคนิคอื่นๆ ซึ่งช่วยให้การเรียนรู้ดีขึ้น
- การวิเคราะห์ภาพขั้นสูง: YOLOv8 มีการวิเคราะห์ภาพขั้นสูงใหม่ๆ เช่น การแบ่งส่วนเชิงพื้นที่และการคาดการณ์ประเภท ซึ่งช่วยให้สามารถตรวจจับกิจกรรม สี เนื้อหา และความสัมพันธ์ระหว่างวัตถุได้
- การเพิ่มข้อมูล: YOLOv8 มีการเพิ่มข้อมูลใหม่ๆ เช่น การจัดการกับความแปรผันของภาพในสถานการณ์จริง
- การสนับสนุนหลัง: 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
# โหลดโมเดล # ฝึกอบรมโมเดลบนชุดข้อมูล MS COCO |
โดยค่าเริ่มต้น โค้ดจะฝึกอบรมโมเดลโดยใช้ชุดข้อมูล 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
# โหลดโมเดล # ฝึกอบรมโมเดล |
สังเกตว่าคราวนี้เราโหลดไฟล์ `.yaml` แทน `.pt` ไฟล์ YAML มีข้อมูลเกี่ยวกับสถาปัตยกรรมของโมเดล และไม่มีน้ำหนักโหลด การสั่งฝึกอบรมจะเริ่มฝึกอบรมโมเดลใหม่นี้จากศูนย์
เพื่อฝึกอบรมสถาปัตยกรรมแบบกำหนดเอง คุณจะต้องกำหนดโครงสร้างแบบกำหนดเองในไฟล์ `.yaml` เช่นเดียวกับ `yolov8n.yaml` จากนั้น โหลดไฟล์นี้และฝึกอบรมโมเดลโดยใช้โค้ดเดียวกัน
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการตรวจจับวัตถุโดยใช้ AI และติดตามเทรนด์ AI ล่าสุด โปรดเยี่ยมชม unite.ai













