Jurnal Kecerdasan Buatan dan Teknologi Informasi Vol. No. Mei 2023, hlm. e-ISSN: 2964-2922, p-ISSN: 2963-6191 OBJECT DETECTION UNTUK MENDETEKSI CITRA BUAH BUAHAN MENGGUNAKAN METODE YOLO Dede Haris Saputra1. Bahtiar Imran*2. Juhartini3 Teknik Informatika. Fakultas Teknologi Komunikasi dan Informasi. Universitas Teknologi Mataram. Indonesia Rekayasa Sistem Komputer. Fakultas Teknologi Komunikasi dan Informasi. Universitas Teknologi Mataram. Indonesia Rekayasa Perangkat Lunak. Fakultas Teknologi Komunikasi dan Informasi. Universitas Teknologi Mataram. Indonesia Email: 1harisc. saputa@gmail. com, 2bahtiarimranlombok@gmail. id , 3juhartini@gmail. (Naskah masuk : 14 Desember 2022. Revisi : 8 Mei 2023. Diterbitkan : 20 Mei 2. Abstrak Perkembangan ilmu pengetahuan dan teknologi dalam Artificial Intelligence yang sangat pesat saat ini, telah membawa perubahan yang sangat pesat pula dalam berbagai aspek kehidupan. Terutama kecerdasan buatan merupakan sebuah teknologi komputer atau mesin yang memiliki kecerdasan layaknya manusia. Sederhananya sebuah instruksi pintar yang diberikan kepada program maupun mesin, salah satunya yaitu Object Detection untuk mendeteksi citra buah menggunakan You Only Look Once (YOLO). Metode yang dapat digunakan untuk pengenalan objek pada citra buah adalah Deep Learning. You Only Look Once (YOLO) merupakan salah satu model Deep Learning yang dapat digunakan untuk pengenalan objek. Penelitian ini bertujuan untuk pengenalan objek pada citra buah menggunakan YOLO. Pada penelitian menggunakan sebanyak 300 gambar data dengan tiga kelas yaitu apel, jeruk dan pisang. Hasil penelitian menunjukan algoritma (YOLO) dapat mengenali objek pada citra buah dengan menggunakan pre-trained weights yang telah dilatih dengan nilai akurasi mAP sebesar 91%. Kata kunci: kecerdasan buatan. YOLO, pengenalan objek. OBJECT DETECTION TO DETECT FRUITS IMAGES USING YOLO METHOD Abstract The rapid development of science and technology in Artificial Intelligence today has brought very rapid changes in various aspects of life. Especially artificial intelligence is a computer or machine technology that has human-like It's simply a smart instruction given to a program or machine, one of which is Object Detection to detect fruit images using You Look Only Once (YOLO). The method that can be used for object recognition in fruit images is deep learning. You Look Only Once (YOLO) is a Deep Learning model that can be used for object This study aims to identify objects in fruit images using YOLO. The research uses a dataset of 300 images with three classes, namely apples, oranges and bananas. The results show that the You Only Look Once (YOLO) algorithm can recognize objects in fruit images using pre-trained weights that have been trained with a mean Average Precision . AP) value 91%. Keywords: artificial intelligence. YOLO, object recognition. PENDAHULUAN Deteksi objek adalah teknik visi komputer yang bertujuan untuk mendeteksi objek seperti buah, mobil, dan manusia, dan masih banyak lagi. Objek umumnya dapat diidentifikasi baik dari gambar atau video. Secara khusus, deteksi objek menarik kotak pembatas di sekitar objek yang terdeteksi ini, yang memungkinkan kita menemukan lokasi objek tersebut. Secara garis besar, deteksi objek dapat dipecah menjadi pendekatan berbasis Machine Learning dan pendekatan berbasis Deep Learning . Dalam pendekatan berbasis ML yang lebih tradisional, teknik visi komputer digunakan untuk melihat berbagai fitur gambar, seperti histogram warna atau tepi, untuk mengidentifikasi Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only kelompok piksel yang mungkin dimiliki suatu objek. Fitur-fitur ini kemudian dimasukkan ke dalam model regresi yang memprediksi lokasi objek beserta labelnya . Sampai sekarang masih sedikit teknologi pengolahan citra yang diterapkan untuk dapat mengenali objek khususnya objek buah-buahan. Berdasarkan Maarten Christenhusz pada publikasi yang berjudul AuThe number of known plant species in the world and its annual increaseAy jumlah tumbuhan yang ada didunia berkisar 374. tumbuhan dimana lebih dari 1000 tumbuhan tersebut merupakan tumbuhan yang menghasilkan buah. Karena begitu banyaknya jumlah buah yang ada maka kemungkinan terdapatnya buah-buahan yang memiliki kemiripan fisik baik berupa bentuk maupun warna yang dapat membuat keliru dalam mengenali buah-buahan yang ada. Oleh karena itu, pembuatan aplikasi ini dapat membantu untuk pengenalan buah-buahan yang ada . Beberapa penelitian dengan menggunakan metode Deep Learning juga diusulkan oleh beberapa peneliti untuk pengenalan objek makanan cepat saji pada video dan real time webcam menggunakan Metode You Only Look Once (YOLO). Algoritma CNN dan YOLO . Convolutional Neural Network (CNN) . Metode (YOLO) menjadi salah satu metode yang cepat dan akurat dalam melakukan pendeteksian objek. Metode ini mampu melakukan deteksi objek hingga 2 kali lebih cepat daripada algoritma yang lain. Pada penelitian ini, penulis menggunakan metode YOLOv3 karena memiliki beberapa peningkatan dalam mendeteksi objek dan nilai akurasi yang lebih tinggi daripada versi sebelumnya. Dengan menggunakan metode YOLO. Dari latar belakang masalah tersebut peneliti tertarik untuk mengkaji lebih dalam tentang Object Detection untuk mendeteksi citra pada buahbuahan menggunakan metode You Look Only Once(YOLO). Sehingga pada penelitian ini bermaksud untuk melakukan penelitian dengan Judul AuObject Detection untuk mendeteksi citra pada buah-buahan menggunakan metode You Look Only Once (YOLO)Ay. METODE PENELITIAN Data Yang digunakan Data yang digunakan pada penelitian ini yaitu data image dengan ekstensi jpg yang diperoleh dari sumber berbagi dataset yaitu kaggle, data dapat di download dari link https://w. com/datasets/mbkinaci/fruitsimages-for-object-detection. Data image yang diperoleh dibagi menjadi dua dataset yaitu data training dan data testing dimana data training berjumlah 240 image dan data testing sebanyak 60 image. Analisis Sistem Pada tahap ini merupakan proses pengolahan citra buah-buahan yang telah diperoleh. Proses yang dilakukan terdiri dari resize, pelabelan objek, dan training data. Resize Pada tahap awal proses preprocessing yaitu dilakukan resizing untuk mengubah ukuran citra dengan memperkecil ukuran citra secara horizontal dan/atau vertical, dengan ukuran image yaitu 490 x 360. Hal ini dilakukan untuk membuat proses training lebih ringan dan cepat. Gambar 1. Resize gambar Pelabelan Objek Pada tahap ini dilakukan pelabelan dan pemberian bounding box terhadap objek pada setiap image yang telah diambil hal ini bertujuan untuk memberikan ciri dari masing-masing objek dan melatih sistem untuk mengenali dan memberikan bounding box kepada setiap objek. Hasil dari pelabelan objek ini adalah file . txt yang berisi informasi tentang kelas dan bounding box objek dimana setiap image akan memiliki satu file . Seperti gambar 3. 2 dan 3. Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only Gambar 2. Proses pelabelan menggunakan Labeling Training data Tahap training adalah tahap melatihkan data yang telah digenerate untuk dipelajari oleh sistem. Algoritma yang digunakan adalah You Only Look Once (YOLO). Pada penelitian ini penulis menggunakan 300 images, dimana 240 images sebagai training images dan 60 images sebagai data test. Gambar 3. gambar dataset training dan testing Perancangan Antarmuka Pada bagian ini akan dibahas rancangan antarmuka aplikasi ini. Pada penelitian ini terdapat 2 scene perancangan antarmuka yaitu Object Detection dan Show Process . Adapun rancangan antarmuka pada penelitian ini yaitu dapat dilihat pada Tabel 1. Tabel 1. Rancangan Antarmuka Rancangan Antarmuka Keterangan Tampilan tampilan dari proses object detection, menu yang tersedia. Show Process, dapat menunjukkan process yang sedang dilakukan oleh sistem. Tampilan dimana user dapat melihat process yang berjalan di mengklik run. Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only Instalasi Software . Download file weight dan file configuration YOLO Langkah selanjutnya adalah melakukan download file weight dan file configuration YOLOv3 yang sudah selesai di-training seperti pada Gambar 3. File ini adalah inti dari algoritma YOLO untuk mendeteksi objek dan file configuration adalah pengaturan dari algoritma YOLO. Gambar 4. File weight dan cfg YOLO Instalasi Python Pada penelitian ini, digunakan bahasa python untuk melakukan pendeteksian. Gambar 5. Tampilan website python Instalasi Pycharm Digunakan pycharm untuk deployment aplikasi object deteksi. Gambar 6. Tampilan website Pycharm Instalasi OpenCV Melakukan instalasi openCV disini digunakan openCV dengan kode seperti di gambar 8. Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only Gambar 7. Kode program instalasi OpenCV HASIL DAN PEMBAHASAN Data yang digunakan dalam proses training yang berjumlah 300 data dimana 80 % data ini digunakan untuk training data dan 20 % untuk testing data. 1 Anotasi Objek Gambar 8. Contoh hasil pelabelan Gambar 9. Proses anotasi dataset Gambar 10. Dataset sudah diberikan label Gambar 11. Hasil dari . txt file 2 Training Data Setelah anotasi selesai dilakukan, langkah selanjutnya melakukan proses training. Proses ini bertujuan untuk melatih komputer dengan cara mengolah gambar dan anotasi yang sudah dibuat sehingga terbentuk pola atau karakteristik dari setiap kelas yang akan menjadi bahan pertimbangan komputer dalam mencapai sebuah keputusan atau prediksi . , . Pada bagian ini menggunakan pre-trained weights YOLOv3. Dengan menggunakan teknik Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only transfer learning. Transfer learning adalah suatu teknik yang menggunakan model yang telah di-training sebelumnya . re-trained mode. yang dapat digunakan untuk klasifikasi dataset baru tanpa harus melakukan training data dari Proses transfer learning pada Darknet menggunakan data file, cfg file, dan pre-trained weigths. Data file berisi lokasi gambar yang digunakan untuk train dan test. Cfg file berisi bentuk jaringan yang digunakan untuk training, dan pre-trained weights berisi model weight yang telah dilatih sebelumnya pada jaringan YOLO. Karena proses komputasi yang berat saat melakukan proses training, maka penulis menggunakan Google Colaboratory yang merupakan sebuah platform yang telah disediakan oleh Google. Ketika proses training sedang berjalan, dibutuhkan koneksi internet yang stabil agar runtime saat proses training tidak terputus. Proses training ini dilakukan menggunakan framework neural network Darknet-53 dengan konfigurasi seperti pada Tabel 4. Tabel 2 Konfigurasi pada Darknet-53 Jenis Konfigurasi Keterangan Load model Darknet-53 Load Weight Yolov3 OPENCN GPU CUDNN Proses training menggunakan Darknet-53 sebagai load model dengan susunan layer seperti Gambar 2. YOLOv3 sebagai load weight dengan konfigurasi seperti pada Tabel 4. Jumlah batch menentukan jumlah gambar yang akan diproses sebelum network weight mengalami pembaharuan. Subdivision bertujuan untuk memproses sebagian kecil batch size sekaligus pada GPU. Max_batch merupakan batas iterasi dalam melakukan training yang didapatkan dengan persamaan. Ketika iterasi sudah mencapai 6000, maka proses training akan otomatis berhenti. Nilai max_batches ditentukan pada persamaan 4. max _ycaycaycycaEayceyc = ycycycoycoycaEaycaycoycaycyc . Height dan Weight merupakan dimensi gambar masukan yang akan dilatih. Classes merupakan jumlah kelas yang akan dideteksi. Nilai filter didapatkan pada persamaan 4. yceycnycoycyceyc = . cycycoycoycaEaycaycoycaycyc . y 3 . Nilai step didapatkan pada persamaan . ycycyceycyyc =. %max_ycaycaycycaEaycey. %max _ycaycaycycaEaycey. Proses training dan avg loss dapat dilihat pada Gambar 4. Gambar 12 Iterasi Training Data dan Avg loss Gambar 13 menunjukkan proses training data telah mencapai seribu tujuh puluh delapan iterasi dengan waktu training sekitar satu jam tiga puluh menit hal ini dilakukan agar tingkat Avg loss pada model semakin kecil, proses ini menunjukkan tingkat loss pada pelatihan kecil 0. Tabel 3. Konfigurasi pada weights YOLOv3 Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only Jenis Konfigurasi Keterangan Subdivisions Width Height Max_batches Avg Loss Steps 4000, 4500 Classes Filter 3 Deteksi Buah dengan Algoritma You Only Look Once (YOLO) Pada proses deteksi, setelah semua software yang dibutuhkan telah ter-instalasi dengan baik. Langkah selanjutnya adalah menggabungkan file weight, configuration, dan dataset pada satu folder. Import Library Menggunakan library cv2, numpy, glob, random dan time. Library cv2 berfungsi untuk melakukan computer vision task. Library numpy berfungsi untuk pengolahan data numerical. Glob berfungsi untuk mengetahui gambar apa yang akan kedeteksi. Gambar 13. Kode program Import Library . Memuat network YOLOv3 Menggunakan file weight, cfg, dan folder data. Weight file adalah model yang sudah di- training, inti dari algoritma YOLO untuk mendeteksi objek. Cfg file adalah file konfigurasi, dimana semua pengaturan algoritma YOLO terdapat pada file tersebut. folder data adalah file yang berisi nama-nama objek yang dapat dideteksi menggunakan algoritma YOLO. Disini digunakan folder data yang berisikan tiga kelas yang akan dideteksi yaitu apple, banana dan orange. Setelah itu ada images_path untuk mengetahui gambar apa yang akan kita deteksi dan hasilnya itu akan mengeluarkan bounding box prediksinya . Gambar 14. Kode program memuat network YOLOv3 Hasil keluaran labels yang akan muncul setelah menjalakan code network YOLOv3 diatas. Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only Gambar 15. Hasil keluaran labels . Mengambil fungsi blob dari image Data akan diolah menggunakan library OpenCV untuk diubah menjadi bentuk blob (Binary Large Objec. dari Pada fungsi 'cv2. blobFromImage' berisi parameter image yang akan diproses melalui jaringan saraf dalam bentuk klasifikasi. Blob digunakan untuk mengekstrak fitur gambar dan mengubah ukurannya. Pada YOLO terdapat 3 ukuran, yaitu 320x320, 416x416, dan 609x609. Disini digunakan ukuran 416x416 agar proses deteksi memiliki kecepatan dan akurasi yang seimbang. Gambar 16. Kode program mengambil fungsi blob dari image . Menerapkan Forward Pass Mengimplementasi forward pass dengan 'blob' melalui lapisan keluaran. Lalu, menghitung waktu deteksi yang Gambar 17. Kode program menerapkan Forward Pass . Mendapatkan bounding boxes Pada langkah ini dilakukan ekstraksi seluruh informasi objek yang dideteksi dan menampilkannya pada layar. ClassIDs untuk memberikan label kelas objek yang terdeteksi. Confidences memberikan nilai keyakinan pada YOLO untuk suatu objek, nilai keyakinan . dari objek yang terdeteksi bernilai 0 sampai 1. Bounding_boxes untuk kotak pembatas yang mengelilingi objek. Kemudian if confidence > 0. 3: maksudnya yaitu ketika nilai confidence atau nilai keyakinan lebih dari 0. 3 atau lebih dari 30 persen maka akan dinyatakan terdeteksi. Gambar 18. Kode program mendapatkan bounding boxes . Mendapatkan bounding boxes dengan labels Menggunakan perintah if untuk memeriksa jika setidaknya ada satu objek yang terdeteksi setelah NMS. Dengan mendapatkan bounding box saat ini, lebar, dan tingginya. Kemudian mempersiapkan warna untuk bounding box saat ini dan mengkonversi dari array numpy. Setelah itu, mempersiapkan teks dengan label dan nilai confidence untuk bounding box saat ini dan menampilkan hasilnya. Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only Gambar 19. Kode program mendapatkan bounding boxes dengan labels Tabel 4. Pengujian hasil data test Load model Apple_86 Banana_87 Orange_89 Rata-rata waktu deteksi Recall Precision Yolov3 4 detik 0,99 0,90 0,91% Pada Tabel 4 menunjukkan perbandingan akurasi waktu beberapa metode untuk pendeteksian objek. Metode YOLOv3 dengan masukan 608 menghasilkan nilai mAP dua persen lebih rendah dari metode FPN FRCN . , yaitu 57,9% untuk YOLOv3-608,dan 59,1% untuk FPN FRCN, tetapi metode YOLOv3-608 dapat memproses masukan lebih cepat selama 51 ms dibandingkan FPN FRCN selama 172 ms. mAP adalah suatu metrik untuk mengukur akurasi objek detektor dan semakin tinggi mAP berarti pendeteksi objek semakin akurat. Beberapa metode yang lain menghasilkan nilai mAP yang baik, namun waktu pemrosesan lebih lama dibandingkan metode YOLOv3 dengan masukan 608x608, 416x416, dan 320x320 (Redmon & Farhadi, 2. Sedangkan pada penelitian ini menggunakan pre- trained weights model YOLOv3 dengan teknik transfer learning menghasilkan nilai mAP sebesar 91% dengan waktu pemrosesan selama 4 detik. Hal ini menunjukkan metode YOLOv3 bekerja dengan baik untuk melakukan deteksi objek. Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only Gambar 20. Hasil deteksi apple_86 Gambar 21. Hasil deteksi Banana_87 Gambar 22. Hasil deteksi Orange_89 Gambar 23. Hasil deteksi mixed_2 Dede Haris Saputra, dkk, object detection untuk mendeteksi citra buah buahan menggunakan metode you only Gambar 24. Hasil deteksi mixed_13 KESIMPULAN Dari hasil penelitian yang sudah dilakukan, dapat ditarik kesimpulan sebagai berikut : Hasil dari pendeteksian buah buahan pada kelas apple, banana, dan orange menggunakan algoritma YOLO dapat dinilai bekerja dengan Hasil dari deteksi menggunakan masukan berupa gambar menghasilkan nilai confidence yang berbeda-beda. Hal ini disebabkan oleh kualitas gambar yang berbeda beda. Berdasarkan tabel perbandingan kecepatan akurasi dan waktu deteksi dari beberapa model deteksi objek. YOLOv3 mampu mendeteksi dengan akurasi yang baik dan waktu deteksi yang cepat. Hasil training data pada setiap kelas menunjukan sistem telah dapat mendeteksi objek dengan Nilai confidence pada kelas banana_87 sebesar 94%, pada apple_86 sebesar 99%, dan orange_89 sebesar Sedangkan nilai akurasi mAP sebesar 91% dengan waktu deteksi selama 4 detik. DAFTAR PUSTAKA