Model dan platform AI

Membongkar Yolov8: Karya Agung Penglihatan Komputer Ultralytics yang Viral

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google
Blog featured image for YOLOv8

Sampai sekarang, deteksi objek dalam gambar menggunakan model penglihatan komputer menghadapi hambatan besar karena keterlambatan beberapa detik karena waktu pemrosesan. Keterlambatan ini menghambat adopsi praktis dalam kasus seperti mengemudi otonom. Namun, peluncuran model penglihatan komputer YOLOv8 oleh Ultralytics telah menghancurkan keterlambatan pemrosesan. Model baru ini dapat mendeteksi objek secara real-time dengan akurasi dan kecepatan yang tak tertandingi, membuatnya populer di ruang penglihatan komputer.

Artikel ini menjelajahi YOLOv8, kemampuannya, dan bagaimana Anda dapat memperhalus dan membuat model Anda sendiri melalui repositori Github yang open-source.

Yolov8 Explained

YOLOv8-Ultralytics

YOLO (You Only Live Once) adalah model penglihatan komputer populer yang dapat mendeteksi dan membagi objek dalam gambar. Model ini telah mengalami beberapa pembaruan di masa lalu, dengan YOLOv8 menandai versi ke-8.

Saat ini, YOLOv8 membangun kemampuan versi sebelumnya dengan memperkenalkan fitur baru yang kuat dan perbaikan. Ini memungkinkan deteksi objek secara real-time dalam data gambar dan video dengan akurasi dan presisi yang ditingkatkan.

Dari v1 ke v8: Sejarah Singkat

Yolov1: Dirilis pada 2015, versi pertama YOLO diperkenalkan sebagai model deteksi objek tahap tunggal. Fitur termasuk model membaca gambar secara keseluruhan untuk memprediksi setiap kotak pembatas dalam satu evaluasi.

Yolov2: Versi berikutnya, dirilis pada 2016, menampilkan kinerja terbaik pada benchmark seperti PASCAL VOC dan COCO dan beroperasi pada kecepatan tinggi (67-40 FPS). Ini juga dapat mendeteksi lebih dari 9000 kategori objek, bahkan dengan data deteksi spesifik yang terbatas.

Yolov3: Diluncurkan pada 2018, Yolov3 memperkenalkan fitur baru seperti jaringan backbone yang lebih efektif, beberapa jangkar, dan pyramid pooling spasial untuk ekstraksi fitur multi-skala.

Yolov4: Dengan peluncuran Yolov4 pada 2020, teknik augmentasi data Mosaic baru diperkenalkan, yang menawarkan kemampuan pelatihan yang ditingkatkan.

Yolov5: Dirilis pada 2021, Yolov5 menambahkan fitur baru yang kuat, termasuk optimasi hiperparameter dan pelacakan eksperimen terintegrasi.

Yolov6: Dengan peluncuran Yolov6 pada 2022, model ini dibuka untuk pengembangan komunitas. Fitur baru diperkenalkan, seperti strategi distilasi mandiri dan strategi pelatihan berbantuan jangkar (AAT).

Yolov7: Dirilis pada tahun yang sama, 2022, Yolov7 memperbaiki model yang ada dalam kecepatan dan akurasi dan merupakan model deteksi objek tercepat pada saat peluncuran.

Apa yang Membuat YOLOv8 Menonjol?

Gambar menunjukkan deteksi kendaraan

Akurasi dan kecepatan YOLOv8 yang tak tertandingi membuat model penglihatan komputer ini menonjol dari versi sebelumnya. Ini adalah pencapaian luar biasa karena objek sekarang dapat dideteksi secara real-time tanpa keterlambatan, tidak seperti versi sebelumnya.

Namun, selain itu, YOLOv8 hadir dengan kemampuan yang kuat, termasuk:

  1. Arsitektur yang dapat disesuaikan: YOLOv8 menawarkan arsitektur yang fleksibel yang dapat disesuaikan oleh pengembang untuk memenuhi kebutuhan spesifik mereka.
  2. Pelatihan adaptif: Kemampuan pelatihan adaptif YOLOv8 yang baru, seperti keseimbangan fungsi kerugian selama pelatihan dan teknik, memperbaiki laju pembelajaran. Ambil Adam, yang menyumbang pada akurasi yang lebih baik, konvergensi yang lebih cepat, dan kinerja model yang lebih baik secara keseluruhan.
  3. Analisis gambar lanjutan: Melalui kemampuan segmentasi semantik dan prediksi kelas yang baru, model dapat mendeteksi aktivitas, warna, tekstur, dan bahkan hubungan antara objek selain fungsionalitas deteksi objek intinya.
  4. Augmentasi data: Teknik augmentasi data baru membantu mengatasi aspek variasi gambar seperti resolusi rendah, oklusi, dll., dalam situasi deteksi objek dunia nyata di mana kondisi tidak ideal.
  5. Dukungan backbone: YOLOv8 menawarkan dukungan untuk beberapa backbone, termasuk CSPDarknet (backbone default), EfficientNet (backbone ringan), dan ResNet (backbone klasik), yang dapat dipilih oleh pengguna.

Pengguna bahkan dapat menyesuaikan backbone dengan menggantikan CSPDarknet53 dengan arsitektur CNN lain yang kompatibel dengan dimensi input dan output YOLOv8.

Pelatihan dan Pemperhalusan YOLOv8

Model YOLOv8 dapat diperhalus untuk memenuhi kasus penggunaan tertentu atau dilatih sepenuhnya dari awal untuk membuat model khusus. Lebih banyak detail tentang prosedur pelatihan dapat ditemukan di dokumentasi resmi.

Mari kita jelajahi bagaimana Anda dapat melakukan kedua operasi ini.

Pemperhalusan YOLOV8 Dengan Dataset Kustom

Operasi pemperhalusan memuat model yang ada dan menggunakan bobot default sebagai titik awal untuk pelatihan. Secara intuitif, model mengingat semua pengetahuan sebelumnya, dan operasi pemperhalusan menambahkan informasi baru dengan menyesuaikan bobot.

Model YOLOv8 dapat diperhalus dengan kode Python Anda atau melalui antarmuka baris perintah (CLI).

1. Perhalus Model YOLOv8 Menggunakan Python

Mulai dengan mengimpor paket Ultralytics ke dalam kode Anda. Kemudian, muat model kustom yang ingin Anda latih menggunakan kode berikut:

Pertama, instal perpustakaan Ultralytics dari distribusi resmi.

# Instal paket ultralytics dari PyPI
pip install ultralytics

Selanjutnya, jalankan kode berikut dalam file Python:

from ultralytics import YOLO

# Muat model
model = YOLO(‘yolov8n.pt’) # muat model pra-dilatih (direkomendasikan untuk pelatihan)

# Latih model pada dataset MS COCO
results = model.train(data=’coco128.yaml’, epochs=100, imgsz=640)

Secara default, kode akan melatih model menggunakan dataset COCO untuk 100 epoch. Namun, Anda juga dapat mengonfigurasi pengaturan ini untuk menyetel ukuran, epoch, dll., dalam file YAML.

Setelah Anda melatih model dengan pengaturan dan jalur data Anda, pantau kemajuan, uji, dan sesuaikan model, dan terus melatih sampai hasil yang diinginkan tercapai.

2. Perhalus Model YOLOv8 Menggunakan CLI

Untuk melatih model menggunakan CLI, jalankan skrip berikut dalam baris perintah:

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

Perintah CLI memuat model pra-dilatih `yolov8n.pt` dan melatihnya lebih lanjut pada dataset yang didefinisikan dalam file `coco8.yaml`.

Membuat Model Anda Sendiri dengan YOLOv8

Ada dua cara untuk membuat model kustom dengan kerangka YOLO:

  • Pelatihan dari Awal: Pendekatan ini memungkinkan Anda menggunakan arsitektur YOLOv8 yang telah ditentukan sebelumnya tetapi tidak akan menggunakan bobot pra-dilatih. Pelatihan akan terjadi dari awal.
  • Arsitektur Kustom: Anda menyesuaikan arsitektur YOLO default dan melatih struktur baru dari awal.

Implementasi kedua metode ini tetap sama. Untuk melatih model YOLO dari awal, jalankan kode Python berikut:

from ultralytics import YOLO

# Muat model
model = YOLO(‘yolov8n.yaml’) # bangun model baru dari YAML

# Latih model
results = model.train(data=’coco128.yaml’, epochs=100, imgsz=640)

Perhatikan bahwa kali ini, kita telah memuat file `.yaml` bukan file `.pt`. File YAML berisi informasi arsitektur untuk model, dan tidak ada bobot yang dimuat. Perintah pelatihan akan memulai pelatihan model dari awal.

Untuk melatih arsitektur kustom, Anda harus mendefinisikan struktur kustom dalam file `.yaml` serupa dengan `yolov8n.yaml` di atas. Kemudian, Anda memuat file ini dan melatih model menggunakan kode yang sama seperti di atas.

Untuk mempelajari lebih lanjut tentang deteksi objek menggunakan AI dan untuk tetap mendapatkan informasi tentang tren AI terbaru, kunjungi unite.ai.

Haziqa adalah Ilmuwan Data dengan pengalaman luas dalam menulis konten teknis untuk perusahaan AI dan SaaS.