Pengaplikasian CNN dalam Image Processing dan Face Recognition
Dalam era teknologi yang berkembang pesat saat ini, Machine Learning telah menjadi sebuah konsep yang mampu memberikan kemampuan pada komputer untuk mempelajari berbagai hal melalui data. Hal yang dapat dipelajari oleh komputer sudah cukup beragam, lantas bagaimana Machine Learning dapat digunakan dalam mempelajari data gambar atau yang biasa dikenal dengan Computer Vision. Salah satu teknik yang digunakan oleh komputer untuk memahami gambar adalah Convolutional Neural Network (CNN), yaitu teknik dalam Deep Learning yang memungkinkan komputer untuk mengenali gambar. Mari kita pahami lebih lanjut!
Definisi Convolutional Neural Network (CNN)
Untuk memahami Convolutional Neural Network (CNN), penting untuk memahami Neural Network (NN) terlebih dahulu. NN adalah serangkaian algoritma yang meniru cara kerja otak manusia dengan cara mengenali pola dalam kumpulan data. ANN adalah tipe NN yang terdiri dari banyak elemen pemrosesan (neuron) yang saling terhubung dan bekerja sama untuk memecahkan masalah tertentu.
CNN adalah jenis Deep Learning yang mengambil gambar sebagai input dan dapat mempelajari pola dan mengenali objek dalam gambar. CNN umumnya digunakan untuk tugas klasifikasi dan visi komputer. Sebelum CNN, metode ekstraksi fitur manual digunakan untuk mengidentifikasi objek dalam gambar. Namun, dengan menggunakan prinsip aljabar linier, khususnya perkalian matriks, jaringan saraf Convolutional memberikan pendekatan yang lebih terukur untuk klasifikasi gambar dan tugas pengenalan objek.
CNN merupakan pengembangan dari konsep NN. Namun, CNN memiliki keunggulan dalam pengolahan gambar karena memanfaatkan prinsip konvolusi dan pooling untuk mengekstraksi fitur dari gambar secara otomatis. Hal ini memungkinkan CNN untuk mempelajari pola dan mengenali objek dengan lebih baik dan lebih cepat.
Jaringan saraf lainnya yang serupa dengan NN adalah Recurrent Neural Networks (RNN) dan Long Short Term Memory Networks (LSTM). Namun, CNN lebih umum digunakan untuk tugas klasifikasi gambar dan pengenalan objek karena keunggulannya dalam mengenali pola dalam gambar.
Cara Kerja CNN
Alur kerja CNN dapat digambarkan melalui pemahaman kita terkait tiga jenis lapisan utama, yaitu Convolutional Layer, Pooling Layer dan Fully-connected (FC) Layer. Convolutional Layer adalah lapisan pertama dari CNN kemudian dapat diikuti lapisan tambahan Convolutional Layer ataupun dengan Pooling Layer, dan lapisan terakhir adalah Fully-connected (FC) Layer. Setiap lapisan ini, akan meningkatkan kompleksitasnya, mengidentifikasi bagian gambar yang lebih besar. Lapisan sebelumnya relatif akan fokus pada fitur sederhana, seperti warna dan tepi. Saat data gambar berkembang melalui lapisan CNN, ia mulai mengenali elemen atau bentuk objek yang lebih besar hingga akhirnya mengidentifikasi objek yang dimaksud. Berikut penjelasan lebih detail :
1. Convolutional Layer
Sama-sama ada kata Convolutional, Layer ini merupakan inti dari proses CNN, dan di disinilah sebagian besar perhitungan terjadi. Hal ini membutuhkan beberapa komponen, yaitu input data, filter, dan peta fitur. Melalui lapisan inilah terjadi proses mengekstrak fitur dalam sebuah gambar melalui perkalian matrik, operasi ini diperlukan karena penting bagi proses pembelajaran Computer.
2. Pooling Layer
Layer ini dikenal sebagai Downsampling, Layer ini melakukan pengurangan dimensi, mengurangi jumlah parameter dalam input. Sederhananya layer ini berusaha mengurangi informasi yang kurang begitu penting melalui perkalian dengan Filter (sebuah matrik yang digunakan sebagai faktor pengali) alias Filter menjadi alat melakukan proses ini. Hal ini dilakukan agar membantu mengurangi kompleksitas, meningkatkan efisiensi, dan membatasi risiko Overfitting (kondisi ketika model hanya bagus ketika proses latihan dan ketika di test dengan data baru memiliki performa buruk).
3. Fully-connected (FC) Layer
Sejalan dengan artinya, yaitu lapisan yang terhubung penuh telah menggambarkan apa yang akan dilakukan lapisan ini. Melalui lapisan ini akan menghubungkan setiap proses pada Convolutional Layer yang diikuti Pooling Layer dengan lapisan Output atau hasil. Dengan demikian, lapisan ini melakukan tugas klasifikasi berdasarkan fitur yang diekstrak melalui lapisan sebelumnya.
Pengaplikasian CNN
CNN digunakan untuk berbagai macam aplikasi di bidang, diantaranya Image Processing dan Face Recognition. Berikut penjelasan lengkapnya:
1. Aplikasi Convolutional Neural Network (CNN) dalam Image Processing
Hal ini berarti bagaimana CNN dapat digunakan untuk mengolah data gambar sehingga menjadi dasar ketika memprediksi sebuah gambar. Berikut contohnya :
- Klasifikasi Gambar: CNN dapat digunakan untuk klasifikasi gambar, misalnya membedakan antara gambar anjing dan kucing. CNN mempelajari fitur-fitur penting dalam gambar dan menggunakan informasi ini untuk mengklasifikasikan gambar.
- Segmentasi Gambar: CNN dapat digunakan untuk membagi gambar menjadi beberapa bagian, misalnya memisahkan latar belakang dan objek di dalam gambar. Alias CNN dapat mengelompokkan gambar menjadi beberapa kelas atau kelompok.
- Deteksi Objek: CNN dapat digunakan untuk mendeteksi objek dalam gambar, misalnya mobil atau orang. CNN dapat mempelajari fitur-fitur objek tersebut dan menggunakan informasi ini untuk mendeteksi objek dalam gambar (melakukan prediksi mengenai gambar).
2. Aplikasi Convolutional Neural Network (CNN) dalam Face Recognition
Hal ini berarti bagaimana CNN digunakan untuk mengenali khususnya wajah manusia yang beragam sehingga dapat menjadi sistem keamanan misalnya di Smartphone (Face ID) dan sebagainya. Berikut contohnya :
- Verifikasi Wajah: CNN dapat digunakan untuk memverifikasi identitas seseorang berdasarkan wajah. CNN mempelajari fitur-fitur wajah dan menggunakan informasi ini untuk memverifikasi identitas seseorang.
- Identifikasi Wajah: CNN dapat digunakan untuk mengidentifikasi wajah seseorang dalam gambar atau video. CNN mempelajari fitur-fitur wajah dan menggunakan informasi ini untuk mengidentifikasi wajah seseorang dalam gambar atau video.
- Analisis Emosi: CNN dapat digunakan untuk menganalisis emosi seseorang berdasarkan wajah. CNN mempelajari fitur-fitur wajah yang berkaitan dengan ekspresi emosi dan menggunakan informasi ini untuk menganalisis emosi seseorang.
Semua aplikasi di atas menunjukkan bagaimana CNN dapat digunakan dalam pemrosesan gambar dan pengenalan wajah. CNN telah menjadi salah satu teknologi yang paling penting dalam bidang pengolahan gambar dan pengenalan wajah, dan terus berkembang pesat dengan kemajuan teknologi dan penelitian.
Kesimpulan
Kita telah mengulas banyak hal terkait Convolution Neural Network (CNN) yang merupakan bagian dari Neural Network yang dapat diterapkan untuk mempelajari data sebuah gambar. Cara kerja CNN sendiri dilakukan dalam 3 lapisan utama yaitu Convolutional layer yang berperan mengekstrak fitur dalam gambar, Pooling layer berperan mereduksi dimensi dan Fully-connected (FC) layer berperan menghubungkan kedua layer sebelumnya dengan output. CNN dapat diterapkan dalam berbagai hal terutama dalam artikel ini dibahas mengenai pengolahan gambar (Image Processing) dan Pengenalan Wajah (Face Recognition).
Faktor kunci untuk menerapkan dan memberikan hasil yang bagus melalui CNN terletak pada data dan mengolah data (dalam kasus ini melakukan berbagai eksperimen untuk menentukan fitur atau pengaturan yang paling optimal).
Jika Anda tertarik mempelajari Data Science dan pemanfaatannya lebih lanjut hingga berkarir di dunia data menjadi seorang data scientist handal, Anda dapat mengikuti Bootcamp Algoritma Data Science yang memiliki serangkaian program yang dapat membantu Anda menguasai dunia data di industri yang Anda minati. Yuk, bergabung bersama Algoritma sekarang!