Gambar dan video ada di mana-mana. Sebagai manusia, kita mengandalkan penglihatan untuk banyak hal, seperti menyetir, mengenali teman, dan mendiagnosis masalah. Seiring komputer semakin terlibat dalam aktivitas harian kita, kemampuan mereka menggunakan gambar juga semakin penting. Analisis citra adalah cara komputer dapat “melihat” dan memahami sebuah gambar. Ketika analisis citra ditenagai machine learning, kita menyebutnya computer vision.
Tutorial ini akan memandu Anda tentang bagaimana komputer “melihat” gambar, membahas dasar-dasar manipulasi gambar, dan akhirnya, membahas bagaimana machine learning dan AI generatif dapat diterapkan pada gambar. Mari mulai!
Jika Anda tertarik mempelajari lebih lanjut tentang klasifikasi gambar, lihat sesi code-along kami tentang Image Classification with Hugging Face.
Apa itu Computer Vision?
Computer Vision adalah bidang kecerdasan buatan yang memungkinkan komputer dan sistem memperoleh informasi bermakna dari gambar digital, video, dan masukan visual lainnya. Ini adalah ilmu dan teknologi tentang mesin yang dapat melihat. Sebagai disiplin ilmiah, computer vision berupaya menerapkan teori dan modelnya untuk membangun sistem penglihatan komputer.
Pada intinya, computer vision berfokus pada penafsiran data visual. Ini melibatkan perolehan, pemrosesan, analisis, dan pemahaman gambar digital untuk mengekstrak data berdimensi tinggi dari dunia nyata guna menghasilkan informasi numerik atau simbolik yang dapat digunakan mesin. Bidang ini memanfaatkan berbagai metode dan teknik dari banyak disiplin, seperti fisika, matematika, teknik elektro, dan ilmu komputer.
Pengantar Analisis Citra
Pada level terendah, komputer beroperasi dengan 1 dan 0. Ini pun tidak berbeda saat bekerja dengan gambar. Komputer dapat merepresentasikan gambar sebagai matriks 1 dan 0. Ketika komputer menampilkan gambar, ia menampilkan kisi piksel, masing-masing diisi dengan satu warna. Pertimbangkan sebuah bentuk yang sangat sederhana, seperti segitiga hitam di bawah ini.
![]()
Gambar 1: Segitiga sederhana beresolusi rendah yang terdiri dari 28 piksel.
Bentuk ini terdiri dari 28 piksel: 16 piksel hitam, dan 12 piksel putih. Anda dapat melihat garis tepi setiap piksel pada gambar di bawah.
![]()
Gambar 2: Segitiga hitam dengan setiap piksel diberi garis tepi.
Namun gambar ini hanyalah representasi dari matriks angka yang disimpan komputer.

Gambar 3: Ilustrasi 1 dan 0 dalam matriks yang membentuk gambar segitiga.
Ini cukup sederhana untuk gambar dengan hanya dua warna: hitam dan putih. Jika gambar Anda berupa gradasi abu-abu, Anda perlu menambahkan lebih banyak nuansa. Anda mungkin akan mendapatkan angka seperti 0,015 di dalam kotak. Angka ini pada dasarnya memberi tahu komputer tingkat luminansi yang harus diberikan ke setiap piksel di layar. Ini mendefinisikan nilai antara hitam (1) dan putih (0).
Menganalisis gambar berwarna
Namun gambar jarang sesederhana itu. Apa yang dilakukan komputer dengan gambar berwarna? Mari kita jadikan segitiga ini hijau!
![]()
Gambar 4: Segitiga 28 piksel yang sama seperti sebelumnya, tetapi kini berwarna!
Dalam kasus ini, Anda tidak bisa menggunakan satu angka antara nol dan satu untuk menjelaskan warna ini. Terlalu banyak warna yang tersedia untuk secara praktis memberi masing-masing sebuah angka tunggal yang intuitif.
Sebagai gantinya, beberapa sistem telah dikembangkan untuk memecah komponen individu dari sebuah warna dan memberikan angka pada masing-masing komponen.
Misalnya, Anda mungkin pernah mendengar tentang RGB. Ini adalah model warna yang memecah setiap warna menjadi jumlah merah, hijau, dan biru, masing-masing, yang digabungkan untuk menciptakan warna yang Anda inginkan.
Model RGB berasal dari penggunaan layar yang memiliki piksel merah, hijau, dan biru, seperti televisi. Model ini memungkinkan tipe pencampuran warna aditif yang digunakan oleh cahaya pada perangkat tersebut.
Dalam sistem ini, merah, biru, dan hijau disebut “kanal.” Untuk gambar 8-bit, setiap kanal diberi nilai antara 0 dan 255 (nilai maksimum dari bilangan biner 8 digit).
Mari kita lihat apa artinya ini bagi segitiga hijau sederhana kita.
Nilai RGB untuk rona hijau ini masing-masing adalah 154, 205, dan 50. Perhatikan bahwa jika ini hijau murni, kanal merah dan biru masing-masing akan bernilai 0. Representasi RGB ini menunjukkan bahwa ada cukup banyak merah dan sedikit biru yang dicampurkan ke dalam hijau untuk membentuk rona ini. Setiap piksel memiliki tiga kanal nilai yang mendeskripsikannya. Setiap piksel hijau direpresentasikan oleh 154, 205, 50, dan setiap piksel putih direpresentasikan oleh 0, 0, 0.
Artinya, segitiga hijau sederhana berisi 28 piksel ini direpresentasikan oleh tiga matriks 7x4.
Anda dapat membayangkan tiga matriks ini ditumpuk satu sama lain untuk menciptakan gambar ini.

Gambar 5: Untuk segitiga hijau sederhana ini, setiap kanal warna dalam sistem warna RGB berisi matriks nilai piksel yang merepresentasikan gambar. Saat digabungkan, ketiga matriks ini menumpuk membentuk satu gambar ini!
Anda dapat melihat bagaimana gambar dengan cepat menghabiskan banyak ruang di komputer jika setiap piksel membutuhkan tiga angka untuk mendefinisikannya. Luangkan waktu sejenak untuk merenungkan berapa banyak angka yang menyusun gambar beresolusi tinggi, misalnya gambar 4K (yang memiliki 4.000 piksel).
RGB bukan satu-satunya sistem yang digunakan untuk menetapkan warna pada gambar. Anda mungkin pernah mendengar tentang CYMK, yang menggunakan empat angka untuk menjelaskan setiap warna. Model ini menggunakan empat warna, cyan, magenta, kuning, dan hitam. Ini berguna dalam situasi yang memerlukan model warna subtraktif, misalnya pada percetakan.
Setiap sistem warna memiliki kelebihan dan kekurangan, dan mungkin patut Anda telusuri beberapa sistem jika Anda mengalami masalah memori saat menganalisis gambar. Untuk keperluan tutorial ini, kita akan tetap menggunakan RGB.
Lantas, apa yang dapat Anda lakukan dengan matriks nilai piksel ini?
Teknik Analisis Citra Manual
Mengisolasi Objek dengan Thresholding
Bagaimana komputer menentukan piksel mana yang merepresentasikan wajah atau objek lain? Saat ini, banyak pekerjaan identifikasi tersebut dilakukan menggunakan model machine learning. Namun untuk memahaminya, ada baiknya terlebih dahulu memahami cara mengisolasi figur dalam gambar secara manual.
Bayangkan Anda memiliki video dua kadal dengan latar belakang terang. Demi kesederhanaan, Anda ubah video menjadi skala abu-abu, sehingga hanya ada satu kanal yang dipertimbangkan. Anda tertarik melacak pergerakan kadal selama video.
Video hanyalah serangkaian foto (atau frame) yang ditumpuk bersama. Jadi hal pertama yang perlu Anda lakukan adalah memisahkan tumpukan itu dan mengambil setiap foto satu per satu. Sekarang setelah Anda memiliki satu foto skala abu-abu, Anda perlu menunjukkan kepada komputer bagian mana dari foto yang merupakan kadal dan mana yang bukan.
Secara teori, Anda bisa menggunakan mouse untuk menunjuk setiap piksel yang membentuk kadal dan memberi label “kadal.” Namun mengingat resolusi sebagian besar foto dan fakta bahwa Anda memiliki banyak foto yang membentuk video, itu tidak realistis.
Sebagai gantinya, Anda dapat membuat aturan yang memberi tahu komputer mana yang merupakan bagian dari kadal dan mana yang bukan. Cara paling sederhana untuk melakukannya adalah dengan thresholding.

Gambar 6: Untuk menyederhanakan, kita akan menggunakan foto ini dalam skala abu-abu.
Apa itu thresholding?
Thresholding adalah proses segmentasi gambar berdasarkan nilai numerik yang diberikan pada setiap piksel. Lihat kembali gambar skala abu-abu dari kadal. Perhatikan bagaimana kadal tampak lebih gelap daripada latar belakang. Pada banyak gambar, akan ada perbedaan luminansi antara objek yang ingin kita isolasi dan latarnya.
Thresholding adalah proses menemukan tepi objek, dalam hal ini kadal, menggunakan perbedaan luminansi tersebut. Teknik ini bertujuan mendefinisikan ambang luminansi yang memisahkan piksel terang dan gelap.
Membuat gambar biner
Bayangkan matriks angka yang mendefinisikan gambar skala abu-abu ini. Setiap piksel didefinisikan oleh angka antara 0 dan 255.
Dengan thresholding, Anda dapat menentukan aturan bahwa apa pun yang cukup gelap adalah kadal. Misalnya, Anda bisa mengatakan bahwa piksel dengan nilai 130 atau di atasnya adalah kadal, dan apa pun yang lebih rendah dari 130 bukan kadal.
Secara teknis, Anda akan menetapkan apa pun dengan nilai ambang atau di atasnya menjadi 255 dan sisanya menjadi 0. Ini menciptakan gambar biner dengan piksel hitam dan putih. Jika Anda memilih nilai ambang yang baik, kadal akan berwarna hitam di atas latar belakang putih.

Gambar 7: Gambar biner yang dihasilkan dengan menetapkan ambang 130.
Dalam contoh ini, kita hanya memilih angka secara sembarang sebagai ambang: 130. Namun, untuk secara akurat mengisolasi kadal, Anda ingin memilih angka yang dapat menangkap sebagian besar piksel kadal sekaligus meminimalkan piksel yang bukan bagian dari kadal.
Proses memilih satu nilai ambang untuk seluruh gambar ini disebut global thresholding. Ini adalah cara kasar untuk mengisolasi target dan sering kali jauh dari sempurna. Jika Anda memiliki siluet kadal yang sempurna di atas latar belakang putih yang sempurna, global thresholding akan bekerja dengan sangat baik. Namun seperti terlihat pada contoh kadal ini, gambar nyata jarang semudah itu. Anda mungkin memerlukan metode thresholding yang lebih kompleks.
Salah satu metodenya disebut local thresholding. Dalam teknik ini, Anda memilih nilai ambang yang berbeda untuk bagian-bagian berbeda dalam gambar. Ini sangat berguna saat Anda memiliki gradien pencahayaan pada latar belakang. Ada banyak metode optimasi lainnya dengan tingkat kompleksitas beragam, dan pilihan Anda akan bergantung pada kondisi Anda.
Thresholding gambar berwarna juga dimungkinkan. Namun prosesnya jauh lebih rumit dan berada di luar cakupan tutorial ini.
Analisis Morfologis
Meskipun thresholding cukup membantu dalam mengisolasi kadal ini, hasilnya belum sempurna. Anda masih bisa mendapatkan bagian latar belakang yang didefinisikan sebagai kadal atau bagian dari kadal yang hilang. Anda memerlukan alat lain untuk semakin mengisolasi hewan tersebut. Dengan thresholding, Anda menetapkan aturan berdasarkan warna atau iluminansi. Kini Anda akan menetapkan aturan berdasarkan bentuk, menggunakan operasi morfologis.
Mendefinisikan bentuk dengan elemen penyangga
Operasi morfologis menggunakan elemen penyangga (structuring element) untuk menentukan tepi bentuk. Elemen penyangga adalah matriks kecil dengan bentuk tertentu, biasanya persegi, lingkaran, atau silang. Anda juga dapat mengubah ukuran elemen penyangga untuk mendapatkan efek yang berbeda.
Selama operasi morfologis, setiap piksel dibandingkan dengan tetangganya dalam bentuk tersebut. Ada dua operasi morfologis dasar yang dapat Anda gunakan untuk mendefinisikan bentuk objek yang dimaksud: dilasi dan erosi.
Dilasi
Pada dilasi, jika ada piksel tetangga dalam batas elemen penyangga yang berwarna gelap (dalam hal ini, 1), maka piksel target diubah menjadi 1 agar sesuai.
Bayangkan Anda mengamati kisi angka dengan kaca pembesar berbentuk persegi. Anda menempatkan salah satu angka di tengah persegi lalu melihat angka lain di dalam persegi itu. Jika ada yang bernilai 1, maka Anda memberi label angka di tengah sebagai 1, terlepas dari nilai awalnya.
Dengan cara ini, dilasi dapat memperluas batas objek atau mengisi lubang.
Erosi
Erosi bekerja sama seperti dilasi, tetapi dengan efek sebaliknya. Pada erosi, jika salah satu tetangga piksel bernilai 0, maka piksel tersebut akan didefinisikan ulang menjadi 0. Ini dapat memisahkan objek, mengurangi derau, dan memperbaiki batas.

Gambar 8: Contoh visual dilasi dan erosi menggunakan elemen penyangga berbentuk silang. Pada contoh ini, kita hanya melakukan operasi morfologis pada baris kedua matriks. Pada gambar nyata, operasi diterapkan pada setiap piksel. Namun bahkan dengan contoh sederhana ini, Anda dapat melihat bagaimana erosi memisahkan tepi garis sementara dilasi menebalkannya.
Anda dapat melihat bagaimana dilasi dan erosi memodifikasi gambar biner kadal.

Gambar 9: Contoh penerapan erosi dan dilasi pada foto kadal. Elemen penyangga yang digunakan di sini adalah persegi 6x6.
Menggabungkan dilasi dan erosi
Dilasi dan erosi dapat digunakan secara iteratif atau berurutan untuk mengubah hasil akhir. Praktik umum adalah menggunakan keduanya untuk semakin mendefinisikan gambar terisolasi Anda.
Ketika erosi diikuti oleh dilasi, tonjolan kecil dan derau dihilangkan, dan garis luar yang tersisa diperkuat. Teknik ini disebut opening.
Ketika dilasi diikuti oleh erosi, lubang dan celah kecil diisi, dan tepi dirapikan. Teknik ini disebut closing.

Gambar 10: Demonstrasi teknik opening dan closing menggunakan elemen penyangga persegi 6x6 pada foto kadal.
Anda dapat melihat bahwa tidak satu pun dari gambar ini benar-benar mengisolasi kadal dari latar belakang. Namun dengan setiap penyesuaian dan iterasi, Anda bisa semakin mendekat.
Pada iterasi berikutnya, Anda bisa memberi tahu komputer untuk mengabaikan apa pun di luar rentang ukuran tertentu. Ini akan menghapus sebagian besar bintik dan menyisakan kadal tetap utuh. Pelajari cara melakukannya sendiri di Kursus Image Processing in Python di DataCamp!
Untuk setiap gambar atau rangkaian gambar, Anda dapat menyiapkan serangkaian aturan seperti ini untuk memberi tahu komputer seperti apa target Anda. Kemudian komputer dapat menggunakan informasi itu untuk mengambil keputusan.
Keputusan ini memengaruhi segala hal mulai dari mengidentifikasi galaksi hingga menemukan jaringan yang sakit. Namun membuat serangkaian aturan untuk setiap gambar secara individual itu memakan waktu dan melelahkan. Di sinilah machine learning berperan.
Supervised Machine Learning untuk Analisis Citra
Melatih Model ML Terawasi
Seperti yang telah Anda lihat, menganalisis gambar secara manual bisa menantang, karena ada begitu banyak variabel yang berperan. Untungnya, machine learning (ML) dapat membantu mengotomatiskan proses ini. Untuk pembahasan mendalam tentang machine learning, Anda dapat melihat Machine Learning Scientist with Python atau Supervised Machine Learning. Tutorial ini hanya akan menyinggung aspek ML yang berguna untuk memahami pemrosesan gambar.
Ada dua kategori besar ML: ML terawasi dan ML tak terawasi.
Dengan ML terawasi, Anda pada dasarnya memberikan sejumlah besar gambar dan memberi label sebelumnya. Ini mirip seperti mengajari bayi rupa hewan dengan menunjukkannya dan berkata, “Ini gajah.” Terserah si bayi untuk mencari pola antara hal-hal yang kita sebut gajah dan hal-hal yang kita sebut ikan.
Dalam ML terawasi, komputer melakukan pekerjaan serupa seperti bayi itu.

Gambar 11: Gambar yang dihasilkan DALLE-E dari seorang ibu yang menunjuk mainan hewan untuk mengajari bayi seperti apa bentuknya. Pembelajaran terawasi bekerja dengan cara serupa, di mana contoh dengan jawaban benar disediakan.
Anotasi dan ekstraksi fitur
Misalkan Anda ingin melatih model machine learning untuk mengidentifikasi objek dalam gambar yang belum pernah ditemui. Langkah pertama dalam melatih model machine learning terawasi ini adalah memberi anotasi dan label pada kumpulan gambar, yang disebut dataset pelatihan. Anotasi melibatkan identifikasi dan penandaan area yang diminati dalam sebuah gambar secara manual.
Misalnya, jika kita ingin melatih model untuk mengklasifikasikan berbagai jenis hewan, kita akan memberi anotasi pada setiap gambar dengan menggarisi hewan yang ada dalam gambar dan memberinya label kelas yang sesuai, ‘sapi,’ ‘kucing,’ dan sebagainya. Dataset yang diberi anotasi ini menjadi dasar untuk melatih model. Ada juga banyak dataset berlabel yang sudah tersedia secara publik untuk Anda gunakan.
Setelah Anda memiliki dataset pelatihan berlabel, Anda perlu mengekstrak fitur yang relevan dari gambar. Ekstraksi fitur melibatkan identifikasi dan penangkapan karakteristik atau pola penting yang membedakan satu kelas dari kelas lainnya.
Dalam contoh hewan kita, Anda mungkin mendefinisikan karakteristik penting sapi sebagai berkaki empat dan berbintik.
Convolutional neural networks
Ada berbagai teknik untuk ekstraksi fitur dalam pemrosesan gambar, mulai dari metode sederhana seperti histogram warna dan deskriptor tekstur hingga pendekatan yang lebih canggih seperti convolutional neural networks (CNN).
CNN adalah algoritma pembelajaran terawasi yang populer yang secara otomatis mempelajari karakteristik dan pola penting dari gambar berlabel selama pelatihan. CNN terdiri dari lapisan-lapisan, dengan setiap lapisan melakukan operasi tertentu pada data gambar.
Lapisan konvolusi menerapkan filter untuk menangkap pola lokal, sementara lapisan pooling mengurangi dimensi spasial. Lapisan fully connected menggabungkan informasi dari lapisan sebelumnya. Melalui rangkaian operasi ini, jaringan mengekstrak dan menggabungkan fitur untuk membuat prediksi akurat tentang apa yang ada di dalam gambar.
Memilih arsitektur
Proses pelatihan model ML terawasi, seperti CNN, melibatkan beberapa langkah. Pertama, data perlu dipraproses untuk memastikan konsistensi dan kualitas. Ini dapat melibatkan mengubah ukuran gambar, menormalisasi nilai piksel, dan memperkaya dataset dengan menerapkan transformasi seperti rotasi atau pembalikan untuk meningkatkan keberagamannya.
Selanjutnya, Anda akan merancang arsitektur model CNN. Pada dasarnya, arsitektur adalah jumlah dan jenis lapisan yang Anda gunakan serta konfigurasinya. Arsitektur harus dipilih dengan cermat untuk menyeimbangkan kompleksitas dan kesederhanaan, memungkinkan model menangkap fitur penting sekaligus menghindari overfitting. Akan membantu untuk memulai dengan arsitektur yang sudah mapan dan menyesuaikannya dengan kebutuhan Anda. Anda dapat menemukan daftar arsitektur yang bermanfaat di sumber eksternal.

Gambar 12: Contoh sederhana arsitektur CNN.
Overfitting
Overfitting terjadi ketika komputer sangat mahir memberi label pada gambar dalam dataset pelatihan tetapi kemudian tidak dapat mengidentifikasi gambar secara akurat yang tidak ada dalam set pelatihan.
Overfitting ini biasanya terjadi karena komputer mendeteksi bias yang secara tidak sengaja kita perkenalkan dalam set pelatihan yang tidak merepresentasikan kehidupan nyata (misalnya sebagian besar foto kucing berlatar belakang biru). Ada banyak teknik untuk membantu mencegah model menghafal data pelatihan dan mendorongnya mempelajari pola yang lebih dapat digeneralisasi.
Melatih model ML terawasi
Setelah arsitektur model didefinisikan, Anda perlu menginisialisasi parameter model dan memulai proses pelatihan.
Selama pelatihan, model secara iteratif menyesuaikan parameternya menggunakan teknik optimasi seperti gradient descent untuk meminimalkan perbedaan antara prediksinya dan label kebenaran dasar yang telah Anda definisikan sebelumnya.
Proses ini melibatkan perhitungan fungsi loss, yang mengukur kesalahan prediksi model, dan memperbarui parameter sesuai kebutuhan.
Melatih model ML terawasi untuk analisis citra adalah proses iteratif. Anda melatih model menggunakan dataset berlabel, mengevaluasi kinerjanya pada set validasi, dan melakukan penyesuaian untuk meningkatkan akurasinya. Siklus iteratif ini berlanjut hingga model mencapai hasil yang memuaskan.
Penerapan Model ML Terawasi dalam Analisis Citra
Setelah model ML terawasi dilatih pada data gambar berlabel, model tersebut dapat diterapkan pada berbagai tugas dalam analisis citra. Di bawah ini beberapa aplikasi umum yang menyoroti efektivitas model ML terawasi dalam tugas pemrosesan gambar.
Klasifikasi gambar
Klasifikasi gambar adalah tugas mendasar di mana tujuannya adalah memberikan label atau kelas pada gambar masukan.
Misalnya, model ML terawasi dapat dilatih untuk mengklasifikasikan gambar hewan ke dalam kategori berbeda, seperti ‘ikan,’ ‘kadal,’ atau ‘kumbang.’

Gambar 13: Contoh klasifikasi gambar. Gambar ini telah diklasifikasikan sebagai “Dinner.”
Dengan belajar dari dataset beragam yang berisi contoh berlabel, model dapat melakukan generalisasi dan mengklasifikasikan gambar dengan tingkat akurasi yang tinggi. Teknik ini dapat digunakan untuk tugas seperti mengidentifikasi penyakit pada gambar medis, mengenali objek pada citra satelit, hingga mengklasifikasikan emosi dari ekspresi wajah. Lihat webinar DataCamp ini untuk detail lebih lanjut.
Deteksi objek
Deteksi objek adalah aplikasi penting lainnya dari model ML terawasi dalam analisis citra. Tidak seperti klasifikasi gambar, deteksi objek tidak hanya mengidentifikasi objek yang ada dalam gambar tetapi juga menentukan lokasinya dengan menggambar bounding box di sekelilingnya.
Proses ini memungkinkan model mengidentifikasi banyak objek yang menarik dalam sebuah gambar.

Gambar 14: Contoh deteksi objek. Berbagai objek dalam gambar ini telah diidentifikasi.
Aplikasi deteksi objek mencakup berkendara otonom, di mana model dapat mendeteksi dan melacak pejalan kaki, kendaraan, dan rambu lalu lintas, serta sistem pengawasan untuk mengidentifikasi dan melacak individu atau objek yang diminati. Facebook dan Instagram juga menggunakan metode ini saat mereka menemukan wajah Anda di foto.
Tantangan model ML terawasi
Meskipun kemampuan model ML terawasi dalam analisis citra mengesankan, ada keterbatasan dan tantangan yang perlu diperhatikan.
Salah satu tantangan utama adalah kebutuhan akan sejumlah besar data pelatihan berlabel. Proses anotasi dan pelabelan gambar dapat memakan waktu dan sumber daya.
Model ML terawasi juga sensitif terhadap bias yang ada dalam data pelatihan, yang dapat menyebabkan prediksi bias atau hasil yang tidak adil. Menyesuaikan model ke domain baru atau kategori gambar yang baru mungkin memerlukan pelatihan tambahan atau fine-tuning.
Selain itu, menafsirkan representasi yang dipelajari dan proses pengambilan keputusan dari model kompleks seperti CNN dapat menantang, sehingga lebih sulit memahami mengapa model membuat prediksi tertentu.
Terlepas dari tantangan-tantangan ini, model ML terawasi terus mendorong batas analisis citra, memampukan kemajuan luar biasa di bidang seperti kesehatan, pertanian, dan keamanan.
Seiring penelitian dan pengembangan di bidang ini berlangsung, mengatasi tantangan-tantangan tersebut dan menyempurnakan model akan membuka jalan bagi solusi pemrosesan gambar yang semakin akurat dan andal.
Unsupervised Machine Learning untuk Analisis Citra
Menggunakan Pembelajaran Tak Terawasi
Alternatif dari pembelajaran terawasi adalah unsupervised machine learning. Tidak seperti pembelajaran terawasi, pembelajaran tak terawasi tidak bergantung pada data berlabel, melainkan bertujuan menemukan pola, struktur, atau hubungan tersembunyi di dalam data itu sendiri.
Tujuan pembelajaran tak terawasi dalam analisis citra adalah mengungkap struktur dan wawasan bermakna dari data gambar yang tidak berlabel. Dengan memanfaatkan teknik pembelajaran tak terawasi, Anda dapat mengekstrak informasi berharga dan memperoleh pemahaman lebih dalam tentang karakteristik dasar gambar.
Pembelajaran tak terawasi dapat membantu mengidentifikasi kelompok gambar serupa, menemukan pola atau tekstur yang khas untuk kelas gambar tertentu, serta mendeteksi anomali atau outlier dalam data.
Bagaimana pembelajaran tak terawasi berbeda
Jika pembelajaran terawasi seperti memberi tahu bayi mana yang sapi dan mana yang ikan, maka pembelajaran tak terawasi seperti memberikan bayi sekumpulan hewan dan membiarkannya mengelompokkan sesukanya. Mereka mungkin mengelompokkan hewan berdasarkan ukuran, jumlah kaki, tekstur, atau warna.
Hasil akhirnya mungkin mirip dengan yang akan Anda dapatkan jika memisahkan berdasarkan spesies, atau bisa sangat berbeda! Namun menelaah karakteristik dari kategori yang dihasilkan tetap dapat memberi Anda informasi yang berguna.

Gambar 15: Gambar yang dihasilkan DALL-E dari seorang bayi yang memilah mainan hewan dalam lingkungan pembelajaran tak terawasi.
Analisis Citra dengan Model ML Tak Terawasi
Model machine learning tak terawasi menawarkan kemungkinan menarik untuk analisis citra dengan memungkinkan pengelompokan gambar ke dalam bak atau kategori tanpa memerlukan data berlabel.
Bayangkan Anda memiliki koleksi gambar yang sangat besar dan ingin mengaturnya ke dalam kelompok yang bermakna. Model ML tak terawasi dapat menganalisis fitur visual gambar dan mengelompokkannya berdasarkan karakteristik yang sama, seperti warna atau bentuk. Ini memberikan wawasan berharga dan menyederhanakan tugas analisis gambar.
Algoritme pengelompokan
Algoritme pengelompokan (clustering) mengelompokkan gambar serupa berdasarkan karakteristik yang sama. Salah satu algoritme pengelompokan yang banyak digunakan adalah k-means clustering, yang membagi data menjadi sejumlah klaster yang telah ditentukan dengan meminimalkan jarak matematis antar gambar dalam satu set secara iteratif.
Hierarchical clustering adalah pendekatan lain yang membuat struktur hierarkis kumpulan gambar dengan menggabungkan atau memisahkan set secara rekursif berdasarkan kesamaannya. Algoritme pengelompokan ini memungkinkan kita menemukan pengelompokan alami dalam dataset gambar yang tidak berlabel, memberikan wawasan tentang kesamaan dan keragaman gambar.
Segmentasi gambar
Pembelajaran tak terawasi sangat berguna untuk segmentasi gambar, yaitu membagi gambar menjadi wilayah atau objek yang bermakna.
Dengan menerapkan teknik pengelompokan atau metode pembelajaran tak terawasi lainnya, Anda dapat memisahkan gambar menjadi wilayah berbeda berdasarkan warna, tekstur, atau karakteristik lainnya.
Teknik ini berguna dalam pencitraan medis untuk menemukan tumor, pada citra satelit untuk klasifikasi tutupan lahan, atau dalam grafik komputer untuk mengekstraksi elemen latar depan dan latar belakang.
Pengenalan pola
Pengenalan pola adalah area lain di mana pembelajaran tak terawasi unggul.
Algoritme pembelajaran tak terawasi dapat mempelajari representasi atau fitur yang menangkap pola atau struktur mendasar yang ada dalam data. Dengan mengekstrak fitur yang dipelajari ini, gambar dapat diklasifikasikan atau dikelompokkan berdasarkan pola bersama atau kesamaan visualnya. Ini memungkinkan tugas seperti penelusuran gambar atau sintesis gambar.
Deteksi anomali
Pembelajaran tak terawasi juga digunakan untuk mendeteksi anomali. Dengan mempelajari pola atau karakteristik normal dari suatu dataset, algoritme tak terawasi dapat mengidentifikasi gambar atau wilayah yang berbeda dari yang lain. Ini sangat berguna dalam bidang seperti pengawasan, di mana mendeteksi aktivitas tidak biasa atau mencurigakan dapat membantu pemantauan keamanan.
Tantangan model ML tak terawasi
Pembelajaran tak terawasi menghadapi tantangannya sendiri. Salah satu tantangan utama adalah memahami hasil karena tidak ada kebenaran dasar atau data berlabel untuk dibandingkan.
Kembali ke contoh pengelompokan hewan, Anda mungkin berakhir dengan kategori yang berisi kuda, kumbang, dan gurita yang semuanya berwarna cokelat, sementara kategori lain berisi kuda putih, kelinci, dan bunga. Karena Anda tidak menentukan cara mengelompokkan hewan, Anda mungkin mendapatkan kelompok yang tidak terlalu bermakna.
Akan menantang untuk menilai kualitas dan akurasi klaster atau pola yang ditemukan oleh model ML tak terawasi.
Manfaat model ML tak terawasi
Model ML tak terawasi menawarkan beberapa manfaat dalam pemrosesan gambar. Yang terpenting, mereka menghilangkan kebutuhan pelabelan manual yang ekstensif, sehingga lebih mudah dan hemat biaya untuk bekerja dengan dataset gambar berskala besar.
Bayangkan harus memilah dan memberi label secara manual setiap gambar di Instagram. Model machine learning tak terawasi menghilangkan kebutuhan akan upaya panjang dan intensif tenaga seperti itu.
Model ML tak terawasi juga dapat mengungkap pola dan struktur tersembunyi dalam data, memungkinkan orang menemukan wawasan baru dan hubungan visual yang mungkin tidak langsung terlihat.
Sifat eksploratif dari pembelajaran tak terawasi ini membuka peluang baru untuk analisis citra dan dapat mengarah pada terobosan di berbagai bidang, termasuk eksplorasi ruang angkasa, robotika, dan kedokteran.
|
ML Terawasi |
ML Tak Terawasi |
|
|
Tugas |
|
|
|
Keunggulan |
|
|
|
Kelemahan |
|
|
Gambar 16: Perbandingan machine learning terawasi dan tak terawasi dalam pemrosesan gambar.
Menghasilkan gambar baru dengan AI generatif
Setelah sebuah model menentukan karakteristik yang mendefinisikan berbagai objek dalam gambar, model tersebut dapat menggunakan informasi itu untuk membuat gambar baru.
DALL-E dan Midjourney adalah contoh menonjol dari model ML tak terawasi yang memanfaatkan kekuatan pemodelan generatif untuk menghasilkan gambar baru. Dengan dilatih pada dataset masif, model-model ini mempelajari komponen yang diperlukan untuk membuat gambar dengan pengklasifikasi tertentu.
Jadi jika Anda meminta DALL-E membuat gambar panda robot, model akan merujuk pada definisi internalnya tentang apa yang membentuk robot dan panda lalu menyusun bagian-bagian itu untuk membuat gambar yang Anda minta.
Sebagai contoh, model mungkin menentukan bahwa robot memiliki logam dan roda gigi, sementara panda berwarna hitam dan putih. Ia akan menggunakan informasi ini untuk membuat robot panda hitam-putih dari logam dengan roda gigi.

Gambar 17: Gambar yang dihasilkan DALL-E menggunakan prompt 'Panda Robot'.
Kesimpulan
Tutorial ini merupakan eksplorasi tingkat tinggi tentang analisis citra dengan tujuan untuk lebih memahami perannya dalam machine learning. Anda seharusnya kini memiliki intuisi yang lebih baik tentang bagaimana komputer ‘melihat’ dan memanipulasi gambar serta pemahaman dasar tentang konsep machine learning kunci seperti prapemrosesan, ekstraksi fitur, dan algoritma klasifikasi.
Pemrosesan gambar berperan besar dalam kehidupan kita, mulai dari media sosial hingga pencitraan medis, eksplorasi ruang angkasa, hingga pengawasan. Jika Anda tertarik mendalami topik menarik ini, lihat Image Processing with Python, Image Processing with Keras in Python, dan Deep Learning for Images with PyTorch di DataCamp.
Saya seorang PhD dengan pengalaman 13 tahun bekerja dengan data di lingkungan riset biologi. Saya membuat perangkat lunak dalam beberapa bahasa pemrograman termasuk Python, MATLAB, dan R. Saya bersemangat membagikan kecintaan saya terhadap pembelajaran kepada dunia.

