Identifikasi pengguna masker dengan YOLOv4
Pada masa pandemi COVID-19 seperti sekarang ini diterapkan protokol kesehatan yang ketat untuk dapat mencegah penularan virus. Protokol kesehatan yang diterapkan yaitu menjaga jarak, mencuci tangan, dan menggunakan masker sesuai dengan arahan yang diberikan oleh World Health Organization (WHO) untuk mengurangi resiko penyebaran virus COVID-19. Tetapi dengan adanya arahan tersebut, masih ditemukan orang yang tidak menggunakan masker di tempat umum. Munculnya trending Deep Learning menciptakan berbagai risetuntuk menemukan metode – metode baru dan arsitektur mutakhir seperti YOLO
(You Only Look Once). YOLO merupakan arsitektur pendeteksian yang diklaim sebagai “fastest deep learning object detector” yang berfokus pada akurasi dan kecepatan. Dengan menggunakanYOLOv4, kita dapat menciptakan deteksi masker yang robust dan presisi untuk mendeteksi apakah seseorang yang tampak pada gambar atau kamera bisa dikenali menggunakan masker atau tidak. Backbone yang digunakan yaitu YOLOv4, kita dapat mendeteksi objek masker dengan arsitektur yang ringan. Hasil dari deteksi dengan YOLOv4 mencipatakan deteksi dengan akurasi hingga 89%.Apa Itu YOLO (You Only Look Once)
Dalam beberapa tahun belakangan ini, Deep Learning menjadi topik hangat dan semakin digunakan untuk menciptakan sebuah deteksi benda, wajah, dan beberapa jenis lainnya. Beberapa detektor seperti Fast-RCNN, Faster-RCNN dan You Only Look Once (YOLO) menjadi network deteksi yang cukup signifikan dan menjadikan evolusi deteksi yang presisi namun ringan dalam beberapa aspek.
YOLO merupakan algoritma yang menggunakan convolutional neural network sebagai deteksi objek. YOLO diklaim sebagai arsitektur yang cepat dan sangat akurat. Walaupun beberapa variabel dapat mempengaruhi keakurasian arsitektur, YOLO dapat menjadi pilihan yang baik untuk deteksi real time dengan memperkecil loss dari keakurasian. Gambaran mudah dari YOLO, YOLO dapat melakukan banyak deteksi objek, memprediksi class yang dibuat, dan mengidentifikasi lokasi dari objek tersebut.
Kelemahan YOLO
YOLO sendiri memiliki beberapa kelemahan seperti kebutuhan arsitektur komputer yang mumpuni dan mutakhir, sehingga pada saat proses training untuk spesifikasi yang lebih lama akan memakan waktu yang sangat lama, mengingat ukuran ekstraktor feature yang sangat besar. Maka dari itu dibuatlah rancangan arsitektur yang lebih kecil dinamakan YOLO-tiny. Dari definisinya, versi tiny dari YOLO merupakan arsitektur yang dimana kedalaman convolutional layers dikurangi sehingga kita dapat mendapatkan kecepatan latih yang lebih cepat lagi. YOLO-tiny, sebagai arsitektur yang lebih kecil dari YOLO menggunakan layer konvolusi yang lebih sedikit namun dapat menunjukkan deteksi yang cukup.
Metode YOLO
YOLO adalah arsitektur yang cepat, dan beberapa struktur network yang dirancang merupakan modifikasi dari versi YOLO sebelumnya. Fitur yang diberikan seperti multi-sclae detection, fitur ekstraksi yang lebih kuat,dan beberapa perubahan pada loss function dengan mengorbankan kecepatan. Pada arsitektur YOLOv4, tahapan proses deteksi dimulai dengan input image yang akan kita ekstrak fiturnya, kemudian dari hasil ekstraksi fiturnya kita ubah menjadi 2 skala dengan dimensi 13×13 dan 26×26. Berbeda dengan YOLOv4 yang lebih besar, skala yang digunakan yaitu sejumlah 3 dengan masing masing dimensi sebesar 13×13, 26×26 dan 52×52.
Alur deteksi dari YOLO adalah pertama memasukkan input gambar atau dataset yang dimiliki, kemudian dilanjutkan dengan augmentasi data dengan opsi flip, cropping, dan rotasi, lalu dilakukan ekstraksi fitur menggunakan backbone Darknet, kemudian dilanjutkan dengan Multi-Scale Detector yang nantinya akan dicari deteksi objek menggunakan bounding box.
Pada alur deteksi YOLOv4, semua bounding box dan probabilitas dari keseluruhan input dilakukan dengan convolutional network tunggal [3], sehingga bisa dikatakan jika YOLOv4 merupakan Fully Connected Layer (FCN).
Darknet-53
Ekstraksi fitur yang digunakan pada YOLOv4 adalah Darknet-53. Berbeda dengan versi sebelumnya menggunakan Darknet-19 yaitu network yang disuplai dengan 19 layer ditambah dengan 11 layer untuk deteksi objek, versi sebelumnya cukup kesulitan dalam mendeteksi objek kecil. Ini disebabkan karena efek dari down sample pada input. YOLOv2 juga memiliki kelemahan seperti tidak ada residual block, skip connections, dan upsampling. Kelemahan tersebutlah yang akan ditutupi oleh Darknet-53.
YOLOv4
Berbeda dengan versi dari YOLOv4, YOLOv4-tiny menggunakan arsitektur yang mirip dari YOLOv2 yaitu Darknet-19 dengan perbedaan yaitu tidak terdapat multi-scale detector untuk versi YOLOv2. Jika YOLOv4 terjadi residual block, maka pada YOLOv4-tiny tidak dilakukan residual block untuk mempercepat proses konvolusi layer.
Multi-scale Detector YOLOv4
YOLOv4 menggunakan 2 skala deteksi berbeda untuk memprediksi objek. Rasio yang diberikan adalah 13×13 dan 26×26. Rumus yang diberikan dari versi besar YOLOv4:
NxN *[B * (5 + C)] (1)
Dimana N merupakan rasio fitur, B adalah jumlah bounding box pada cell yang dapat diprediksi, dan C merupakan jumlah class yang diberikan. Pada YOLOv4 yang telah ditrain pada COCO Dataset, B (jumlah anchor) yang diberikan sejumlah 3, dan C(jumlah class) sejumlah 80, sehingga mendapati ukuran kernel sejumlah NxNx3x255. 5 dapat diambil dari angka 4 bounding box offset dijumlahkan dengan objectness prediction yaitu 1. Selanjutnya kita ambil peta fitur dari 2 lapisan sebelumnya dan upsample sejumlah 2 ×. Metode ini memungkinkan kita mendapatkan lebih banyak informasi semantik yang bermakna dari fitur yang di-upsampled dan informasi yang leih terperinci dari feature map sebelumnya.Namun untuk YOLOv4, skala yang diberikan adalah 13×13 dan 26×26 saja.
Setelah menerima ekstraksi fitur, maka langkah selanjutnya yaitu dengan melakukan scale detector dengan awalan menggunakan fitur gambar 13×13 yang nantinya dilakukan proses konvolusi hingga 3 kali, kemudian kita masukkan detector YOLO pada output konvolusi yang menghasilkan output dengan skala besar. Kemudian untuk fitur gambar 26×26, kita mengambil konvolusi ke-5 dari fitur sebelumnya yang kemudian kita upsampling sebesar 2x ukuran yang nantinya akan kita concatenate dan dilanjutkan dengan konvolusi dan detector YOLO, menghasilkan output skala sedang.
Bounding Box
Ketika memasukkan gambar, sebuah target pada network tersebut akan pertama dipilih, kemudian titik tengah gambar tersebut akan ditentukan menggunakan anchor box tepat pada ground truth. Jadi, ketika kita memprediksi bounding box, kita akan menyesuaikan box tersebut sesuai pada anchor untuk menyesuaikan target objek, oleh karena itu kita melakukan offset. Pada setiap bounding box, YOLOv4- tiny mengestimasi 4 koordinat bounding box dengan simbol ( tx, ty, th, tw )[9]. Rumus untuk bounding box adalah:
bx = σ (tx) + cx (2)
by = σ (ty) + cy (3)
bw = pw.ctw (4)
bh = ph.cth (5)
Dimana (tx,ty) merupakan titik tengah dari bounding box, kemudian (tw,th) merupahan ukuran bounding box, (pw,ph) merupakan ukuran dari segmentasi anchor box , dan (cx,cy) merupakan koordinat offset. Karena normalisasi, maka nilai dari koordinatnya berkisar diantara 0-1. YOLOv4-tiny mengestimasi nilai objek pada setiap bounding box sejumlah 3 anchor berdasarkan [B * (5 + C )] setiap skala.
YOLOv4 sangat baik untuk melakukan deteksi objek salah satunya deteksi masker. Dan untuk mendapatkan hasil yang maksimal, maka diperlukannya sebuah data yang memiliki variasi jarak foto dan berbagai macam sudut pengambilan. YOLOv4 memiliki akurasi yang baik dengan proses komputasi yang lebih rendah daripada model-model seperti Faster RCNN dan Fast RCNN.
Referensi
T. Li, Y. Ma and T. Endoh, “A Systematic Study of Tiny YOLO3. nference: Toward Compact Brainware Processor With Less Memory and Logic Gate,” in IEEE Access, vol. 8, pp. 142931-142955, 2020, doi: 10.1109/ACCESS.2020.3013934
Tidak ada komentar:
Posting Komentar