Professional Documents
Culture Documents
Rangkuman Materi Computer Vision
Rangkuman Materi Computer Vision
Oleh :
Adrians Galih Armansyah Gea
20102220
Pengenalan CV
Komputer Vision, yang juga dikenal sebagai Computer Vision, adalah bidang yang
berkaitan dengan pengolahan dan analisis informasi visual oleh sistem komputer. Tujuan
utama dari Komputer Vision adalah untuk memberikan kemampuan pada komputer agar
dapat "melihat" dan memahami dunia visual seperti yang dilakukan manusia. Ini melibatkan
pengembangan teknik dan algoritma yang memungkinkan komputer untuk menafsirkan dan
memanipulasi gambar dan video secara otomatis.
Dalam Komputer Vision, penting untuk memahami dan merepresentasikan data
visual dengan baik. Hal ini dapat melibatkan penggunaan model matematis untuk
menggambarkan objek dan atribut visual dalam gambar. Beberapa teknik yang sering
digunakan dalam pengolahan citra adalah ekstraksi fitur, segmentasi, deteksi objek,
pengenalan pola, dan pelacakan objek. Melalui teknik-teknik ini, komputer dapat
mengidentifikasi objek, mengenali wajah, mendeteksi gerakan, dan memahami konteks visual
dalam gambar atau video.
Selain itu, Komputer Vision juga berhubungan erat dengan pembelajaran mesin dan
pengenalan pola. Dengan menggunakan pendekatan pembelajaran mesin, komputer dapat
"belajar" dari data visual yang diberikan untuk meningkatkan kinerja dan akurasi dalam
tugas-tugas seperti klasifikasi objek, pengenalan wajah, dan deteksi anomali. Dalam beberapa
tahun terakhir, penggunaan teknik pembelajaran mendalam seperti jaringan saraf tiruan
(neural networks) telah menghasilkan kemajuan signifikan dalam kemampuan komputer
dalam memahami dan memproses data visual.
Komputer Vision memiliki banyak aplikasi praktis dalam berbagai industri dan
bidang. Di bidang medis, komputer vision dapat digunakan untuk mendiagnosis penyakit
berdasarkan gambar medis seperti pemindaian MRI atau CT. Dalam industri otomotif,
komputer vision digunakan dalam sistem pengenalan rambu lalu lintas dan pengemudi
otonom. Di bidang keamanan, teknologi pengenalan wajah dan deteksi gerakan digunakan
untuk pemantauan dan pengawasan. Selain itu, Komputer Vision juga dapat digunakan
dalam industri kreatif seperti grafika komputer, animasi, dan augmented reality.
Namun, meskipun kemajuan yang signifikan telah dicapai dalam Komputer Vision,
masih ada beberapa tantangan yang perlu diatasi. Salah satu tantangan utama adalah
kompleksitas pemrosesan dan interpretasi data visual yang sangat besar. Gambar dan video
dapat berisi jumlah besar informasi yang harus diproses oleh komputer dalam waktu nyata.
Selain itu, terdapat juga masalah seperti variasi pencahayaan, posisi objek, dan perubahan
lingkungan yang dapat mempengaruhi kinerja sistem komputer vision.
Mengharapkan kemajuan lebih lanjut dalam aplikasi Komputer Vision. Salah satu
tren yang menarik dalam bidang ini adalah integrasi komputer vision dengan teknologi lain
seperti kecerdasan buatan, robotika, dan Internet of Things (IoT). Hal ini membuka peluang
baru untuk pengembangan sistem yang lebih kompleks dan interaktif, seperti robot
penglihatan yang dapat berinteraksi dengan lingkungan dan manusia secara lebih cerdas.
Selain itu, Komputer Vision juga memiliki implikasi yang signifikan dalam bidang
keamanan dan privasi. Meskipun teknologi pengenalan wajah dan deteksi gerakan memiliki
manfaat yang jelas dalam pemantauan dan pengawasan, perlu juga diingat pentingnya
mempertimbangkan etika dan privasi dalam penggunaan teknologi ini. Perlindungan data
pribadi dan kebijakan yang tepat harus diterapkan untuk memastikan bahwa informasi visual
yang dikumpulkan tidak disalahgunakan.
Dalam konteks riset dan pengembangan, Komputer Vision terus menjadi fokus
penelitian yang intensif. Para ilmuwan dan insinyur komputer terus berusaha untuk
meningkatkan keakuratan, kecepatan, dan efisiensi sistem komputer vision. Mereka juga
berupaya untuk mengatasi tantangan khusus, seperti pengenalan objek dalam situasi yang
kompleks, pemrosesan video secara real-time, dan pemahaman konteks yang lebih baik.
Pada akhirnya, Komputer Vision memiliki potensi yang luar biasa untuk
menghadirkan perubahan signifikan dalam berbagai aspek kehidupan kita. Dari aplikasi di
bidang medis hingga otomotif, dari industri keamanan hingga industri kreatif, Komputer
Vision terus membuka pintu bagi inovasi baru dan kemajuan teknologi yang akan membantu
kita dalam memahami dan menginterpretasikan dunia visual dengan lebih baik. Dengan
kombinasi antara kreativitas manusia dan kemampuan analisis komputer, Komputer Vision
berperan penting dalam memperluas batas kemampuan teknologi kita dan membuka jalan
bagi masa depan yang lebih canggih dan cerdas.
Convolutional Neural Network
Convolutional Neural Network (CNN) adalah salah satu jenis arsitektur jaringan saraf
tiruan yang telah menunjukkan keberhasilan yang luar biasa dalam aplikasi Seni Komputer
Visi. CNN dirancang khusus untuk mengatasi tantangan pemrosesan data visual, seperti
pengenalan pola dalam gambar dan segmentasi objek.
Salah satu fitur utama CNN adalah kemampuannya untuk melakukan konvolusi pada
data masukan. Konvolusi adalah operasi matematis yang melibatkan filter atau kernel yang
diterapkan pada data gambar untuk menghasilkan fitur-fitur yang relevan. Filter ini bergerak
secara sejajar melintasi gambar dan mengalikan intensitas piksel dengan bobot yang sesuai.
Proses ini menghasilkan peta fitur, yang merupakan representasi yang lebih kaya dan abstrak
dari gambar asli.
Setelah melakukan konvolusi, CNN menggunakan lapisan aktivasi non-linear seperti
fungsi ReLU (Rectified Linear Unit) untuk memperkenalkan non-linearitas ke dalam
jaringan. Hal ini memungkinkan jaringan untuk mempelajari hubungan yang kompleks dan
non-linear antara fitur-fitur yang dihasilkan. Selanjutnya, lapisan pooling digunakan untuk
mengurangi dimensi spasial dari peta fitur dan mengurangi jumlah parameter yang diperlukan
untuk dipelajari oleh jaringan. Umumnya, operasi pooling yang paling umum adalah operasi
maksimum, di mana nilai maksimum diambil dari suatu wilayah.
Arsitektur CNN juga dapat terdiri dari beberapa lapisan konvolusi, aktivasi, dan
pooling yang saling terhubung secara berurutan. Biasanya, arsitektur CNN berakhir dengan
lapisan-lapisan yang lebih dalam, yang dikenal sebagai lapisan fully connected (sepenuhnya
terhubung), yang bertugas untuk mengklasifikasikan fitur-fitur yang telah dipelajari oleh
jaringan. Lapisan fully connected menghubungkan semua fitur-fitur yang ada di peta fitur ke
unit-unit output, yang menghasilkan probabilitas kelas yang diinginkan.
Untuk melatih CNN, digunakan metode pembelajaran yang disebut backpropagation,
di mana galat (error) antara keluaran yang dihasilkan oleh jaringan dan label yang diharapkan
digunakan untuk mengoptimalkan bobot-bobot dalam jaringan. Algoritma optimasi seperti
Stochastic Gradient Descent (SGD) digunakan untuk mengupdate bobot-bobot tersebut
berdasarkan gradien galat yang dihitung.
Keunggulan utama CNN dalam aplikasi Seni Komputer Visi adalah kemampuannya
untuk secara otomatis mengekstrak fitur-fitur penting dari data visual tanpa perlu adanya
penentuan fitur manual. Dengan melakukan konvolusi dan pembelajaran berbasis data, CNN
dapat secara efektif mengidentifikasi pola dan atribut penting dalam gambar. Hal ini
membuat CNN sangat berguna dalam tugas-tugas seperti klasifikasi gambar, deteksi objek,
pengenalan wajah, dan segmentasi gambar.
Meskipun CNN telah mencapai kesuksesan besar, masih ada tantangan yang harus
dihadapi. Arsitektur CNN yang lebih dalam dan kompleks memerlukan jumlah parameter
yang sangat besar dan membutuhkan sumber daya komputasi yang lebih tinggi. Selain itu,
kekurangan data pelatihan yang cukup atau data yang tidak representatif dapat mempengaruhi
kinerja CNN. Oleh karena itu, pengembangan teknik seperti transfer learning dan augmentasi
data telah diperkenalkan untuk membantu mengatasi masalah ini.
Selain keberhasilan yang telah dicapai, Convolutional Neural Network (CNN) terus
mengalami perkembangan dan inovasi. Penelitian terbaru dalam bidang CNN mencakup
pengembangan arsitektur yang lebih efisien, seperti MobileNet dan EfficientNet, yang
dirancang khusus untuk perangkat berdaya rendah atau kecepatan inferensi yang lebih cepat.
Arsitektur ini mempertimbangkan trade-off antara akurasi dan kecepatan komputasi, sehingga
memungkinkan implementasi CNN dalam berbagai platform dan perangkat. Selain itu,
terdapat juga perluasan CNN ke dalam domain tiga dimensi dengan penggunaan
Convolutional 3D (C3D) atau Convolutional Spatial-Temporal Network (CSTN) untuk
pemrosesan video. Ini memungkinkan analisis konten video, seperti pengenalan gerakan,
aktivitas manusia, dan pemrosesan video secara real-time. CNN juga digunakan dalam tugas
pemrosesan citra lainnya, seperti restorasi citra, pemrosesan citra medis, dan pengenalan
objek dalam citra medis.
Selain arsitektur, penggunaan teknik tambahan seperti attention mechanism, dilated
convolutions, dan capsule networks juga sedang diteliti untuk meningkatkan performa CNN.
Attention mechanism memungkinkan jaringan untuk fokus pada fitur-fitur yang lebih relevan
dalam gambar, sedangkan dilated convolutions memungkinkan jaringan untuk memiliki field
of view yang lebih besar dengan menggabungkan piksel-piksel yang lebih jauh. Capsule
networks, di sisi lain, menggantikan unit linier dalam CNN dengan kapsul yang dapat
merepresentasikan atribut objek secara lebih eksplisit.
Penerapan Convolutional Neural Network juga telah melebar ke berbagai bidang dan
industri. Di bidang kedokteran, CNN digunakan untuk mendiagnosis penyakit berbasis
gambar seperti retinopati diabetik dan kanker. Dalam industri otomotif, CNN digunakan
dalam sistem pengenalan tanda lalu lintas, deteksi pengendara sepeda, dan penglihatan
komputer dalam kendaraan otonom. CNN juga digunakan dalam analisis citra satelit untuk
pemetaan dan pemantauan lingkungan, serta dalam bidang keamanan untuk identifikasi
wajah dan deteksi perilaku mencurigakan.
Kendati demikian, CNN juga menghadapi beberapa tantangan. Pertama, ukuran
dataset yang besar dan diversitas yang diperlukan untuk melatih CNN memerlukan sumber
daya komputasi yang signifikan. Selain itu, interpretabilitas dari keputusan yang diambil oleh
CNN masih menjadi perdebatan, mengingat bahwa proses internal jaringan secara kompleks
dan sulit dijelaskan secara intuitif. Dalam mengatasi tantangan ini, upaya terus dilakukan
untuk mengembangkan teknik interpretabilitas dan menjaga keadilan dan transparansi dalam
penggunaan CNN.
Secara keseluruhan, Convolutional Neural Network adalah arsitektur jaringan saraf
yang telah membawa terobosan besar dalam bidang Seni Komputer Visi. Dengan
kemampuannya dalam mengekstrak fitur-fitur visual yang penting, CNN telah digunakan
secara luas dalam berbagai aplikasi, dari pengenalan objek hingga analisis video. Dengan
terus berlanjutnya penelitian dan inovasi, kita dapat mengharapkan pengembangan lebih
lanjut dalam arsitektur dan teknik yang akan meningkatkan kemampuan CNN dan
menghadirkan manfaat yang lebih besar dalam pemrosesan data visual.
Transfer Learning for Computer Vision
Siamese Neural Network adalah jenis arsitektur jaringan saraf yang digunakan dalam
pembelajaran mesin untuk membandingkan dan memetakan kesamaan antara dua input.
Arsitektur ini mengambil namanya dari "Siamese Twins" karena memiliki dua cabang
identik yang terhubung, mirip dengan saudara kembar Siamese. Tujuan utama dari Siamese
Neural Network adalah untuk mempelajari representasi yang diskriminatif dari input
sehingga dapat digunakan untuk membandingkan kesamaan atau perbedaan antara dua data.
Pada dasarnya, Siamese Neural Network terdiri dari dua cabang atau jalur yang
identik, masing-masing menerima input yang berbeda. Setiap jalur terdiri dari serangkaian
lapisan yang melakukan operasi transformasi pada input. Representasi yang dihasilkan dari
masing-masing jalur kemudian digabungkan dan diproses lebih lanjut untuk menghasilkan
output yang dapat digunakan untuk perbandingan.
Proses pelatihan Siamese Neural Network melibatkan pasangan data input yang
terdiri dari dua input yang diketahui kesamaannya atau perbedaannya. Selama pelatihan,
jaringan diajarkan untuk mempelajari representasi yang mampu membedakan antara
pasangan input yang sama dan berbeda. Untuk mencapai hal ini, fungsi kerugian khusus
digunakan, seperti kontrasif atau triplet loss, yang memberikan sinyal kepada jaringan untuk
mempelajari representasi yang mempertahankan kesamaan atau perbedaan yang diinginkan.
Keuntungan utama dari Siamese Neural Network adalah kemampuannya untuk memodelkan
perbandingan atau kesamaan antara data tanpa memerlukan label kelas yang spesifik. Hal ini
memungkinkan jaringan untuk mempelajari representasi yang lebih umum dan berguna
dalam berbagai tugas, termasuk pengenalan wajah, pencocokan citra, verifikasi teks, atau
rekomendasi produk.
Contoh aplikasi yang populer dari Siamese Neural Network adalah dalam pengenalan
wajah. Dalam kasus ini, jaringan dilatih untuk mempelajari representasi unik untuk setiap
individu berdasarkan data wajah mereka. Kemudian, jaringan tersebut dapat digunakan untuk
membandingkan kesamaan antara dua wajah yang berbeda, menghasilkan skor atau
probabilitas kesamaan.
Namun, pelatihan dan penggunaan Siamese Neural Network juga memiliki beberapa
pertimbangan. Salah satunya adalah bahwa pelatihan jaringan dapat menjadi lebih rumit dan
memerlukan dataset yang lebih besar karena melibatkan pasangan input. Selain itu,
representasi yang dihasilkan oleh jaringan dapat tergantung pada kualitas data yang
digunakan dalam pelatihan, sehingga penting untuk memastikan keberagaman dan
representativitas dataset.
Siamese Neural Network (SNN) adalah arsitektur jaringan saraf yang khusus
dirancang untuk membandingkan dan memetakan kesamaan atau perbedaan antara dua input.
Terinspirasi oleh "Saudara Kembar Siamese", SNN terdiri dari dua cabang atau jalur identik
yang terhubung, di mana setiap jalur menerima input yang berbeda. Setiap jalur kemudian
menjalani serangkaian lapisan yang melakukan operasi transformasi pada input untuk
menghasilkan representasi yang lebih tingkat tinggi.
Tujuan utama dari SNN adalah untuk mempelajari representasi yang diskriminatif
dan lebih kompak dari input sehingga dapat digunakan untuk membandingkan dan
memetakan kesamaan antara dua data. Dalam proses pelatihan SNN, pasangan data input
yang diketahui kesamaannya atau perbedaannya digunakan untuk mengajarkan jaringan
bagaimana membedakan antara keduanya. Untuk mencapai hal ini, fungsi kerugian khusus,
seperti kontrasif loss atau triplet loss, digunakan untuk memberikan sinyal kepada jaringan
agar mempelajari representasi yang mempertahankan kesamaan atau perbedaan yang
diinginkan.
Salah satu keuntungan utama dari SNN adalah kemampuannya untuk memodelkan
perbandingan atau kesamaan antara data tanpa memerlukan label kelas yang spesifik. Ini
memungkinkan jaringan untuk mempelajari representasi yang lebih umum dan berguna
dalam berbagai tugas, termasuk pengenalan wajah, pencocokan citra, verifikasi teks, atau
rekomendasi produk. Dalam pengenalan wajah, misalnya, SNN dapat dilatih untuk
mempelajari representasi unik untuk setiap individu berdasarkan data wajah mereka.
Kemudian, jaringan tersebut dapat digunakan untuk membandingkan kesamaan antara dua
wajah yang berbeda, menghasilkan skor atau probabilitas kesamaan
Selain itu, SNN juga memiliki kemampuan untuk mengatasi permasalahan yang sulit
dalam tugas perbandingan, seperti data yang tidak seimbang atau variabilitas pose dan
pencahayaan. Dengan memanfaatkan struktur jaringan yang identik dan pembagian
parameter, SNN dapat mencapai tingkat generalisasi yang tinggi dan toleransi yang lebih
baik terhadap variasi input
Meskipun SNN memiliki potensi yang besar, pelatihan dan penggunaannya juga
melibatkan beberapa pertimbangan. Pelatihan SNN dapat menjadi lebih rumit karena
melibatkan pasangan input dan pemilihan fungsi kerugian yang tepat. Selain itu, representasi
yang dihasilkan oleh jaringan sangat bergantung pada kualitas dan keberagaman data
pelatihan yang digunakan. Oleh karena itu, perhatian yang cermat perlu diberikan dalam
pemilihan dataset dan pengaturan pelatihan untuk memastikan bahwa representasi yang
dipelajari oleh jaringan memadai dan generalisasi ke data baru.
Dalam pengembangan lebih lanjut, terus ada penelitian dan inovasi yang bertujuan
untuk mengoptimalkan SNN dan memperluas penggunaannya dalam berbagai bidang
aplikasi. Misalnya, dengan penggunaan teknik penggalian informasi yang lebih maju, seperti
hashing atau metric learning, SNN dapat ditingkatkan untuk mengatasi tantangan dalam
pemetaan kesamaan pada skala besar. Selain itu, dengan integrasi SNN ke dalam kerangka
kerja yang lebih luas, seperti arsitektur jaringan generatif, terdapat potensi untuk
menghasilkan representasi yang lebih kuat dan lebih berkualitas tinggi.
Secara keseluruhan, Siamese Neural Network adalah arsitektur jaringan saraf yang
efektif dan kuat dalam membandingkan dan memetakan kesamaan atau perbedaan antara dua
input. Dengan kemampuannya untuk mempelajari representasi yang diskriminatif dan umum,
SNN telah digunakan dalam berbagai tugas, termasuk pengenalan wajah, pencocokan citra,
dan rekomendasi. Dalam penelitian dan pengembangan lebih lanjut, terus ada potensi untuk
meningkatkan performa dan aplikasi dari SNN, membuka peluang baru dalam pemodelan
perbandingan data dalam dunia pembelajaran mesin.