YOLOv8 Hadir dan Menjadi Lebih Baik! – Menuju AI

YOLOv8 Hadir dan Menjadi Lebih Baik!  – Menuju AI

Author(s): Puneet Jindal

Awalnya diterbitkan di Menuju AI.

YOLOv8 Hadir, dan Menjadi Lebih Baik!

YOLOv8 adalah angsuran terbaru dalam keluarga model yang sangat berpengaruh yang digunakan untuk deteksi objek dan segmentasi gambar. Ini menampilkan arsitektur baru, lapisan konvolusional baru, dan kepala deteksi baru.

Ini juga secara signifikan lebih cepat dan lebih akurat daripada versi YOLO sebelumnya, menjadikannya pilihan yang sangat baik untuk deteksi objek secara real-time. Selain itu, YOLOv8 mendukung algoritme visi komputer terbaru, termasuk segmentasi instans, yang memungkinkan deteksi beberapa objek dalam satu gambar.

Bagaimana Yolov8 lebih baik dari versi populer Yolo sebelumnya, seperti Yolov5, Yolov7, dll?

Pertama, YOLOv8 memperkenalkan jaringan backbone baru, Darknet-53, yang jauh lebih cepat dan lebih akurat daripada backbone sebelumnya yang digunakan di YOLOv7. DarkNet-53 adalah jaringan saraf konvolusional dengan kedalaman 53 lapisan dan dapat mengklasifikasikan gambar ke dalam 1000 kategori objek, seperti keyboard, mouse, pensil, dan banyak hewan. Yolov8 membuat prediksi kotak pembatas yang mirip dengan segmentasi gambar, yaitu dengan pertimbangan piksel. Untuk mencapai hal ini, mereka telah memperkenalkan kepala deteksi bebas jangkar. Untuk lebih memahami apa itu deteksi objek bebas jangkar, Anda dapat membaca di sini Selain itu, YOLOv8 lebih efisien daripada versi sebelumnya karena menggunakan peta fitur yang lebih besar dan jaringan konvolusional yang lebih efisien. Ini memungkinkan model untuk mendeteksi objek dengan cara yang lebih akurat dan lebih cepat. Dengan peta fitur yang lebih besar, model dapat menangkap hubungan yang lebih kompleks antara fitur yang berbeda dan dapat mengenali pola dan objek dalam data dengan lebih baik. Selain itu, peta fitur yang lebih besar juga membantu mengurangi jumlah waktu yang diperlukan untuk melatih model dan dapat membantu mengurangi overfitting. Selain itu, YOLOv8 juga menggunakan fitur jaringan piramida, yang membantu mengenali objek dengan ukuran berbeda dengan lebih baik, yang meningkatkan akurasinya secara keseluruhan. Jaringan Piramida Fitur adalah konsep yang menggunakan skala peta fitur yang berbeda (mirip dengan membuat prediksi pada ukuran gambar yang berbeda) ditambah dengan koneksi lewati untuk memprediksi objek yang lebih kecil dan lebih besar dengan lebih akurat. Selengkapnya dapat dibaca di sini Terakhir, YOLOv8 memperkenalkan API yang ramah pengguna, yang memungkinkan pengguna mengimplementasikan model dengan cepat dan mudah dalam aplikasi mereka.

Mari kita pahami ini sedikit lebih detail dengan penjelasan langsung yang dapat dicoba dan langsung

Anda harus mengunjungi https://github.com/ultralytics/ultralytics

Sebelum melangkah lebih jauh, penting untuk memahami hubungan antara Ultralytics dan Yolo.

Ultralytics adalah pengembang YOLO (You Only Look Once), model deteksi objek populer yang digunakan dalam aplikasi visi komputer. YOLO adalah algoritme pembelajaran mendalam yang digunakan untuk mendeteksi objek dalam gambar dan video, dan paket Ultralytics menyediakan alat dan pustaka untuk membantu pengembang membuat dan menerapkan model YOLO. Paket ini mencakup serangkaian model dan tutorial yang telah dibuat sebelumnya, serta alat untuk melatih, memvalidasi, dan menyimpulkan model.

Gulir ke bawah ke

Seperti yang Anda lihat di atas, klik “Buka di Colab”, seperti yang ditunjukkan di sini. Jika tidak, saya membagikan tautan yang sama di sini https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb

Klik terhubung untuk mulai menggunakan Google Colab. Jika Anda baru mengenal Google Colab, klik “Bagaimana cara mulai menggunakan tutorial Google Colab?”

Saat Anda mengunjungi tautan tersebut, itu akan membuka tutorial seperti di bawah ini, di mana baris pertama tentang Pengaturan

Mari selami lebih dalam setiap sel kode

Baris kode di atas menginstal paket Ultralytics sehingga kita dapat menggunakan algoritme YOLO. Secara default, ini akan menginstal versi 8 saat saya menulis artikel ini. Alternatifnya, Anda bisa melakukannya

%pip pasang ultralytics==8.0.3

Setelah menginstal baris kode berikutnya, mengimpor modul Ultralytics dan kemudian kami mencoba memeriksa apakah semua dependensi yang diperlukan dan perangkat keras yang kompatibel ada atau tidak.

Misalnya, berikut adalah output ketika saya melakukan pemeriksaan pada mesin saya.

Ultralytics YOLOv8.0.3 🚀 Python-3.8.16 torch-1.13.0+cu116 CUDA:0 (Tesla T4, 15110MiB) Penyiapan selesai ✅ (2 CPU, RAM 12,7 GB, disk 24,3/78,2 GB)

Satu hal yang perlu diperhatikan di sini adalah kode di bawah ini. Jangan jalankan kode ini jika Anda menemukannya. Beberapa orang lainnya dan saya melaporkan masalah ini di https://github.com/ultralytics/ultralytics/issues/232

Mari kita lanjutkan ke langkah selanjutnya

# Jalankan inferensi pada gambar dengan YOLOv8n

Inferensi berarti prediksi yang dapat kita jalankan pada gambar untuk mendeteksi label, baik klasifikasi atau kotak pembatas atau segmentasi.

Pernyataan di atas adalah

memanggil yolo(!yolo)

untuk memprediksi (mode = memprediksi)

untuk tugas deteksi objek (tugas = deteksi)

menggunakan model yolov8(model=yolov8n.pt)

ke label keluaran hanya jika skor kepercayaan lebih besar dari 0,25(conf=0,25)

pada gambar di tautan yang dapat diakses publik (sumber = ‘https://ultralytics.com/images/zidane.jpg’)

Jika Anda ingin mencoba prediksi pada jenis tugas lain, opsi berikut tersedia.

Pernyataan di atas pertama-tama akan mengunduh gambar yang direferensikan, dan kemudian mengunduh pos pemeriksaan model pra-terlatih yang direferensikan jika belum diunduh, dan kemudian menghasilkan hasil inferensi. Berikut adalah hasil dalam kasus saya. Ini mungkin berbeda, terutama dalam latensi dan jumlah label yang terdeteksi.

Hasil akan disimpan ke folder run/detect/predict jika Anda ingin referensi silang, dan jika Anda membuka gambar, mungkin terlihat seperti berikut dengan deteksi yang dicetak pada gambar.

Mari beralih ke langkah pengujian prediksi selanjutnya pada set validasi. Namun sebelumnya kita harus mendownload terlebih dahulu dataset validasinya yaitu coco2017.

Anda dapat melihat bahwa PyTorch menyediakan fungsi untuk mengunduh file zip dari URL. Pada pernyataan terakhir di bawah ini, kita dapat mengekstraknya ke lokasi folder ../datasets dan menghapus file zip dengan perintah rm.

Perintah di bawah ini menunjukkan prediksi pada dataset validasi.

Output dari prediksi pada set validasi adalah sebagai

Sekarang sebuah pertanyaan dapat muncul, “Bagaimana saya menginterpretasikan angka-angka ini?”

Untuk menginterpretasikan hasil prediksi YOLOv8 secara ringkas pada set validasi, Anda perlu melihat metrik seperti rata-rata Presisi Rata-Rata (mAP), presisi, daya ingat, dan tingkat positif palsu (FPR). mAP adalah ukuran performa keseluruhan model, sedangkan Precision, Recall, dan FPR mengukur akurasi model dalam mendeteksi kelas yang berbeda. Selain itu, Anda juga harus melihat kinerja model berdasarkan kelas, yang merupakan kinerja model untuk setiap kelas dalam set validasi. Ini akan membantu Anda mengidentifikasi kelas mana yang terdeteksi dengan benar dan kelas mana yang terlewatkan.

Misalnya terlihat bahwa ada 128 gambar dan total 929 contoh (kotak pembatas) yang diprediksi seperti yang ditunjukkan pada baris pertama dengan presisi 0,64 dan perolehan kembali 0,537. Itu tidak terlalu bagus tapi kami pasti bisa melakukan peningkatan dengan lebih banyak zaman atau iterasi pelatihan model.

Langkah selanjutnya adalah memahami bagaimana melakukan pelatihan model di Yolov8.

Saya sedang menulis tentang pelatihan model, yang akan segera kami terbitkan. Tetap disini!!!

YOLOv8 Hadir dan Menjadi Lebih Baik! awalnya diterbitkan di Menuju AI di Medium, di mana orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jeffrey Hayes