Peran Convolutional Neural Networks pada Computer Vision

Notification

×

Peran Convolutional Neural Networks pada Computer Vision

16/11/2024 | November 16, 2024 WIB Last Updated 2024-11-18T20:23:48Z

https://www.itnews.id/2024/11/peran-convolutional-neural-networks-pada-computer-vision.html

Convolutional Neural Networks (CNNs) merupakan salah satu arsitektur utama dalam deep learning yang sangat berperan dalam pengembangan teknologi Computer Vision (CV).  Convolutional Neural Networks (CNNs) telah merevolusi bidang Computer Vision, mengubah cara mesin memahami dan menganalisis gambar dan video.  


Dengan kemampuan untuk mengekstraksi fitur visual secara otomatis dan memproses informasi dengan cara yang sangat efisien, CNN memungkinkan kemajuan luar biasa dalam berbagai aplikasi, dari deteksi objek hingga analisis medis.


CNNs memberikan solusi yang efisien dan efektif untuk berbagai tugas dalam CV, mulai dari pengenalan objek, segmentasi gambar, deteksi wajah, hingga pengenalan pola yang kompleks.


Arsitektur Dasar CNN dan Pengaruhnya terhadap Computer Vision

CNN beroperasi dengan menggunakan lapisan-lapisan (layers) yang secara bertahap mengekstrak fitur dari input gambar.   Arsitektur dasar dari CNN terdiri dari beberapa lapisan utama yaitu:


  • Convolutional:  Lapisan ini menggunakan filter atau kernel untuk melakukan konvolusi pada gambar input.  Filter tersebut bertujuan untuk mendeteksi fitur lokal seperti tepi, sudut, atau tekstur di bagian-bagian gambar.

  • Pooling:  Pooling (biasanya max pooling) digunakan untuk mereduksi dimensi spasial dari data, sehingga mengurangi jumlah parameter dan komputasi, sambil mempertahankan informasi penting. Pooling ini membantu CNN untuk menjadi lebih tahan terhadap perubahan posisi objek dalam gambar.
  • Fully Connected (FC): Setelah melalui beberapa lapisan konvolusi dan pooling, CNN akan mengaplikasikan lapisan fully connected untuk melakukan klasifikasi berdasarkan fitur yang telah dipelajari sebelumnya.


CNN dapat dioptimalkan untuk berbagai tugas CV berkat kemampuannya dalam mempelajari fitur hierarkis dari data visual.  Fitur sederhana seperti garis atau sudut pada lapisan pertama bisa berkembang menjadi representasi objek yang lebih kompleks pada lapisan-lapisan berikutnya.


Pengenalan Objek dan Klasifikasi Gambar

Salah satu aplikasi utama CNN dalam CV adalah pengenalan objek dan klasifikasi gambar. Pada dasarnya, CNN belajar untuk mengenali pola-pola tertentu dalam gambar dan menghubungkannya dengan kategori yang relevan.  


Misalnya, dalam tugas klasifikasi gambar, CNN dapat dilatih untuk membedakan antara gambar anjing, kucing, atau burung berdasarkan fitur-fitur yang terdeteksi dalam gambar.  Prosesnya melibatkan:

  • Feature Extraction:  CNN secara otomatis mengekstraksi fitur seperti tekstur, bentuk, dan pola yang relevan dari gambar tanpa memerlukan intervensi manusia.
  • Klasifikasi:  Setelah fitur diekstraksi, CNN menggunakan lapisan fully connected untuk mengklasifikasikan gambar ke dalam kategori tertentu berdasarkan pola yang telah dipelajari.


Sebagai contoh, dalam aplikasi pengenalan gambar medis (misalnya deteksi tumor), CNN akan dilatih dengan gambar medis yang diberi label sebagai "tumor" atau "normal", dan CNN belajar untuk mengenali perbedaan halus dalam pola gambar yang menandakan adanya tumor.


Deteksi dan Segmentasi Objek

Deteksi objek (object detection) dan segmentasi gambar (image segmentation) adalah tugas lanjutan dalam Computer Vision yang dapat dilakukan secara efektif dengan menggunakan CNN. 


Pada deteksi objek, CNN digunakan untuk menemukan lokasi dan kategori objek dalam gambar. Contohnya adalah deteksi wajah, kendaraan, atau orang dalam citra.


Untuk segmentasi, CNN dapat digunakan untuk membagi gambar menjadi beberapa bagian berdasarkan objek atau fitur tertentu, yang sangat berguna dalam aplikasi seperti pemetaan, medis, dan kendaraan otonom. 


Dalam hal tersebut, CNN bekerja dengan mengklasifikasikan setiap piksel dalam gambar ke dalam kategori tertentu (misalnya, "latar belakang", "mobil", "jalan", dll.).

  • Deteksi Objek:  Arsitektur seperti YOLO (You Only Look Once) dan SSD (Single Shot Multibox Detector) adalah contoh algoritma yang menggunakan CNN untuk deteksi objek secara real-time.
  • SegmentasiU-Net adalah salah satu arsitektur CNN yang sangat populer untuk segmentasi gambar, terutama dalam konteks medis.


Pengenalan Wajah dan Ekspresi Emosi

CNN juga sangat berguna dalam pengenalan wajah dan analisis ekspresi wajah, yang merupakan bagian dari teknologi biometrik dan human-computer interaction.  Dalam aplikasi ini, CNN dapat dilatih untuk mengenali pola-pola yang berkaitan dengan fitur wajah seperti mata, hidung, mulut, dan garis wajah.


Pengenalan wajah menggunakan CNN telah digunakan dalam berbagai aplikasi mulai dari keamanan (misalnya sistem pengenalan wajah di bandara) hingga aplikasi sosial (misalnya pemrograman filter wajah di aplikasi media sosial). 


CNN tidak hanya dapat mengenali identitas seseorang, tetapi juga mampu mengidentifikasi ekspresi emosi, seperti senyum atau marah, berdasarkan fitur wajah.


Keunggulan CNN dalam Computer Vision

  • Ekstraksi Fitur Otomatis:  CNN secara otomatis mengekstraksi fitur dari gambar tanpa perlu menggunakan teknik manual atau ekstraksi fitur tradisional.  Hal ini memungkinkan model untuk belajar dari data mentah dan mengurangi kebutuhan akan teknik pra-pemrosesan yang rumit.
  • Kapasitas untuk Belajar Fitur Hierarkis:  CNN dapat belajar dari fitur tingkat rendah (misalnya, tepi dan sudut) ke fitur tingkat tinggi (misalnya, bentuk objek yang lebih kompleks).  Hal ini memungkinkan CNN untuk menangani berbagai macam variasi dalam gambar.

  • Toleransi terhadap Distorsi dan Perubahan:  CNN memiliki kemampuan untuk mengenali objek meskipun terjadi pergeseran, rotasi, atau skala gambar, berkat penggunaan lapisan pooling yang mengurangi ketergantungan pada posisi objek dalam gambar.

  • Kemampuan Generalisasi:  CNN sangat baik dalam melakukan generalisasi pada data yang belum pernah dilihat sebelumnya, asalkan data tersebut memiliki karakteristik yang mirip dengan data pelatihan.


Aplikasi Convolutional Neural Networks pada Computer Vision

  • Otomotif dan Kendaraan Otonom:  Dalam sistem kendaraan otonom, CNN digunakan untuk mendeteksi jalan, pejalan kaki, kendaraan lain, dan rambu lalu lintas untuk navigasi yang aman.
  • Medis: CNN digunakan untuk mendeteksi kelainan dalam gambar medis seperti X-ray, CT scan, dan MRI, yang membantu dokter dalam diagnosis lebih cepat dan akurat.
  • Keamanan dan Pengawasan:  Pengenalan wajah dan deteksi pergerakan menggunakan CNN dapat digunakan untuk aplikasi pengawasan dan pengamanan.
  • Agrikultur dan Lingkungan:  CNN digunakan untuk memantau kesehatan tanaman, identifikasi hama, dan analisis citra satelit.


Tantangan dan Perkembangan Terbaru

  • Membutuhkan jumlah data pelatihan yang besar untuk dapat bekerja dengan baik. Ini bisa menjadi masalah pada domain yang memiliki data terbatas.
  • Model CNN kadang-kadang bisa mengalami overfitting, di mana mereka sangat cocok dengan data pelatihan tetapi tidak dapat menggeneralisasi dengan baik pada data yang belum pernah dilihat.
  • Komputasi yang Mahal, Latihan dan inference pada CNN membutuhkan komputasi yang besar, yang sering kali membutuhkan perangkat keras khusus seperti GPU atau TPU.


Namun, perkembangan terbaru dalam teknik seperti Transfer Learning, Data Augmentation, dan Architectural Innovations seperti ResNet dan EfficientNet membantu mengatasi beberapa tantangan ini dan meningkatkan efisiensi serta akurasi model CNN.


Referensi:  



Sumber Youtube:  Knowledge Center, 02 Jul 2020 21:00. CNN #1: Computer Vision | Convolutional Neural Networks.