Beranda

Topics

Segmentasi gambar

Apa itu segmentasi gambar?
Temukan IBM Maximo Visual Inspection
Grafik desain kotak 3D

Segmentasi gambar adalah teknik visi komputer yang mempartisi gambar digital ke dalam kelompok-kelompok piksel, segmen gambar, untuk menginformasikan deteksi objek dan tugas-tugas terkait. Dengan mengurai data visual gambar yang kompleks menjadi segmen-segmen yang berbentuk khusus, segmentasi gambar memungkinkan pemrosesan gambar yang lebih cepat dan lebih canggih.

Teknik segmentasi gambar berkisar dari analisis heuristik yang sederhana dan intuitif hingga implementasi pembelajaran mendalam yang mutakhir. Algoritma segmentasi gambar konvensional memproses fitur visual tingkat tinggi dari setiap piksel, seperti warna atau kecerahan, untuk mengidentifikasi batas objek dan wilayah latar belakang. Machine learning, memanfaatkan kumpulan data beranotasi, digunakan untuk melatih model untuk secara akurat mengklasifikasikan jenis objek dan wilayah tertentu yang terkandung dalam gambar.

Sebagai metode visi komputer yang sangat serbaguna dan praktis, segmentasi gambar memiliki berbagai macam contoh penggunaan kecerdasan buatan, mulai dari membantu diagnosis dalam pencitraan medis hingga mengotomatisasi gerakan untuk robotika dan mobil tanpa pengemudi hingga mengidentifikasi objek yang menarik pada citra satelit.

Konten terkait Berlangganan buletin IBM
Segmentasi gambar vs. deteksi objek vs. klasifikasi gambar

Segmentasi gambar merupakan evolusi lanjutan dari klasifikasi gambar dan deteksi objek, serta serangkaian kemampuan visi komputer yang unik.

Klasifikasi gambar menerapkan label kelas ke seluruh gambar. Sebagai contoh, model klasifikasi gambar sederhana dapat dilatih untuk mengkategorikan gambar kendaraan sebagai "mobil" atau "truk". Sistem klasifikasi gambar konvensional memiliki kecanggihan yang terbatas, karena tidak memproses fitur gambar secara terpisah.

Deteksi objek menggabungkan klasifikasi gambar dengan lokalisasi objek, menghasilkan daerah persegi panjang, yang disebut "kotak pembatas," tempat objek berada: daripada hanya memberi label gambar kendaraan sebagai "mobil" atau "truk," model deteksi objek dapat menunjukkan di mana dalam gambar mobil atau truk dapat ditemukan. Sementara deteksi objek dapat mengklasifikasikan beberapa elemen dalam gambar dan memperkirakan lebar dan tinggi setiap elemen, ia tidak dapat membedakan batas atau bentuk yang tepat. Hal ini membatasi kemampuan model deteksi objek konvensional untuk menggambarkan objek yang bergerombol secara dekat dengan kotak pembatas yang tumpang tindih.

Segmentasi gambar memproses data visual pada tingkat piksel, menggunakan berbagai teknik untuk membubuhi keterangan piksel individu sebagai milik kelas atau instance tertentu. Teknik segmentasi gambar "klasik" menentukan anotasi dengan menganalisis kualitas yang melekat pada setiap piksel (disebut "heuristik") seperti warna dan intensitas, sementara model pembelajaran mendalam menggunakan jaringan neural yang kompleks untuk pengenalan pola yang canggih. Output dari anotasi ini adalah mask segmentasi, mewakili batas dan bentuk piksel demi piksel tertentu dari setiap kelas, biasanya sesuai dengan objek, fitur, atau wilayah yang berbeda dalam gambar. 

Secara garis besar, segmentasi gambar digunakan untuk tiga jenis tugas: segmentasi semantik, segmentasi instance dan segmentasi panoptik.

Kelas semantik: "barang" dan "benda"

Perbedaan antara tiap jenis tugas segmentasi gambar terletak pada cara mereka memperlakukan kelas semantik: kategori spesifik yang mungkin ditentukan untuk piksel tertentu.

Dalam istilah visi komputer, ada dua jenis kelas semantik. Masing-masing cocok dengan teknik yang berbeda untuk segmentasi yang akurat dan efektif.

Barang adalah kelas objek dengan bentuk yang khas, seperti "mobil" atau "pohon" atau "orang". Biasanya, barang memiliki contoh yang jelas yang dapat dihitung. Mereka memiliki ukuran yang relatif kecil dari satu contoh ke contoh berikutnya, serta bagian-bagian penyusun yang berbeda dari benda itu sendiri: misalnya, semua mobil memiliki roda, tetapi roda bukanlah mobil.

Benda mengacu pada kelas semantik yang berbentuk amorf dan ukurannya sangat bervariasi, seperti "langit" atau "air" atau "rumput". Biasanya, benda tidak memiliki contoh individu yang jelas dan dapat dihitung. Tidak seperti barang, benda tidak memiliki bagian-bagian yang berbeda: sehelai rumput dan padang rumput, keduanya sama-sama "rumput".

Beberapa kelas, dalam kondisi gambar tertentu, dapat berupa barang atau benda. Misalnya, sekelompok besar orang dapat ditafsirkan sebagai beberapa "orang" yang masing-masing berbentuk jelas, barang yang dapat dihitung, atau "kerumunan" tunggal berbentuk amorf.

Meskipun sebagian besar upaya deteksi objek berfokus terutama pada kelas barang, namun penting untuk mempertimbangkan bahwa benda (langit, dinding, lantai, tanah) merupakan sebagian besar konteks visual kita. Benda adalah titik data yang penting untuk mengidentifikasi sesuatu, dan sebaliknya: barang logam di jalan biasanya adalah mobil; latar belakang biru di belakang perahu mungkin air, sedangkan latar belakang biru di belakang pesawat mungkin langit. Hal ini sangat penting untuk model pembelajaran mendalam.

Segmentasi Semantik

Segmentasi semantik adalah jenis segmentasi gambar yang paling sederhana. Model segmentasi semantik menetapkan kelas semantik untuk setiap piksel, tetapi tidak menghasilkan konteks atau informasi lainnya (seperti objek).

Segmentasi semantik memperlakukan semua piksel sebagai benda; tidak membedakan antara benda dan barang.

Misalnya, model segmentasi semantik yang dilatih untuk mengidentifikasi kelas-kelas tertentu di jalan kota akan menghasilkan mask segmentasi yang menunjukkan batas-batas dan kontur untuk setiap kelas barang yang relevan (seperti kendaraan atau tiang lampu) dan benda (seperti jalan dan trotoar), tetapi tidak membuat perbedaan antara (atau menghitung jumlah) beberapa instance dari kelas yang sama. Misalnya, mobil yang diparkir satu di depan yang lain mungkin hanya diperlakukan sebagai satu segmen "mobil" yang panjang.

Segmentasi instance

Segmentasi instance membalikkan prioritas segmentasi semantik: sedangkan algoritma segmentasi semantik hanya memprediksi klasifikasi semantik dari setiap piksel (tanpa memperhatikan instance individual), segmentasi instance menggambarkan bentuk yang tepat dari setiap instance objek yang terpisah.

Segmentasi instance mengisolasi barang dari benda yang diabaikannya, dan dengan demikian dapat dipahami sebagai bentuk evolusi dari deteksi objek yang menghasilkan mask segmentasi yang tepat, bukan kotak pembatas perkiraan.

Ini adalah tugas yang lebih sulit daripada segmentasi semantik: bahkan ketika barang dari kelas yang sama saling bersentuhan atau bahkan tumpang tindih satu sama lain, model segmentasi instance harus dapat memisahkan dan menentukan bentuk masing-masing, sedangkan model segmentasi semantik dapat dengan mudah menggabungkannya. Sebagai contoh, pertimbangkan, bagaimana kedua model yang berbeda memperlakukan mobil yang diparkir dalam gambar jalanan kota ini.

Algoritma segmentasi instance umumnya mengambil pendekatan dua tahap atau satu percobaan untuk masalah tersebut. Model dua tahap, seperti Jaringan Neural Konvolusional (R-CNNs) berbasis wilayah, melakukan deteksi objek konvensional untuk menghasilkan kotak pembatas untuk setiap instance yang diusulkan, kemudian melakukan segmentasi dan klasifikasi yang lebih baik di dalam setiap kotak pembatas. Model satu percobaan, seperti YOLO (You Only Look Once), mencapai segmentasi instance real-time dengan melakukan deteksi, klasifikasi, dan segmentasi objek secara bersamaan.

Pendekatan satu percobaan menawarkan kecepatan yang lebih tinggi (dengan mengorbankan akurasi), sedangkan pendekatan dua tahap menawarkan akurasi yang lebih besar (dengan mengorbankan kecepatan).

Segmentasi panoptik

Model segmentasi panoptik menentukan klasifikasi semantik semua piksel dan membedakan setiap instance objek dalam gambar, yang memadukan manfaat segmentasi semantik dan instance.

Dalam tugas segmentasi panoptik, setiap piksel harus diberi anotasi dengan label semantik dan "ID instance." Piksel yang berbagi label dan ID yang sama milik objek yang sama; untuk piksel yang ditentukan sebagai benda, ID instance diabaikan.

Dengan demikian, segmentasi panoptik memberikan sistem visi komputer pemahaman yang komprehensif dan menyeluruh tentang gambar yang diberikan. Meskipun daya tariknya sudah jelas, namun untuk mencapai segmentasi panoptik dengan cara yang konsisten dan efisien secara komputasi, merupakan tantangan yang berat.

Tantangannya terletak pada penyatuan dua metodologi yang kontradiktif: model segmentasi semantik memperlakukan semua piksel sebagai benda, mengabaikan contoh individu dari barang. Model segmentasi instance mengisolasi hal-hal individual, mengabaikan benda. Tidak ada jenis model yang dapat menyerap tanggung jawab orang lain secara memadai.

Upaya awal pada model segmentasi panoptik hanya menggabungkan dua model, melakukan setiap tugas secara terpisah dan kemudian menggabungkan outputnya dalam fase pasca pemrosesan. Pendekatan ini memiliki dua kelemahan utama: pendekatan ini membutuhkan banyak overhead komputasi dan berjuang dengan perbedaan antara titik data yang dihasilkan oleh jaringan segmentasi semantik dan titik data yang dihasilkan oleh jaringan segmentasi instance.

Arsitektur segmentasi panoptik yang lebih baru bertujuan untuk menghindari kelemahan ini dengan pendekatan yang lebih terpadu untuk pembelajaran mendalam. Sebagian besar dibangun di atas jaringan "tulang punggung", seperti jaringan piramida fitur (FPN), yang mengekstraksi fitur dari gambar input, memasukkan data yang diekstraksi ke dalam cabang paralel seperti "cabang latar depan" dan "cabang latar belakang," atau "kepala semantik" dan "kepala contoh", dan kemudian menggabungkan output dari setiap cabang menggunakan sistem tertimbang. Arsitektur panoptik yang diusulkan termasuk EfficientPS, OANet, PanopticFPN, UPSNet, SOGNet, BGRNet, AUNet, FPSNet, dan SpatialFlow.

Teknik segmentasi gambar tradisional

Teknik segmentasi gambar tradisional menggunakan informasi dari nilai warna piksel (dan karakteristik terkait seperti kecerahan, kontras, atau intensitas) untuk ekstraksi fitur, dan dapat dengan cepat dilatih dengan algoritma machine learning sederhana untuk tugas-tugas seperti klasifikasi semantik.

Meskipun metode segmentasi berbasis pembelajaran mendalam mampu menghasilkan presisi yang lebih tinggi dan analisis gambar yang lebih canggih, terutama tugas-tugas seperti segmentasi panoptik yang memerlukan banyak informasi kontekstual, metode tradisional jauh lebih murah dan tidak memerlukan banyak komputasi, serta dapat memecahkan masalah tertentu secara lebih efisien.

Teknik segmentasi gambar tradisional (atau "klasik") yang umum meliputi:

  • Ambang batas: Metode ambang batas membuat gambar biner, mengklasifikasikan piksel berdasarkan apakah intensitasnya di atas atau di bawah "nilai ambang batas" yang diberikan. Metode Otsu sering digunakan untuk menentukan nilai ambang batas yang meminimalkan variasi intrakelas.
  • Histogram: Histogram, yang memplot frekuensi nilai piksel tertentu dalam gambar, sering digunakan untuk menentukan ambang batas. Contohnya, histogram dapat menyimpulkan nilai piksel latar belakang, membantu mengisolasi piksel objek.
  • Deteksi tepi: Metode deteksi tepi mengidentifikasi batas-batas objek atau kelas dengan mendeteksi diskontinuitas dalam kecerahan atau kontras.
  • Daerah Aliran Sungai: Algoritma DAS mengubah gambar menjadi skala abu-abu, kemudian menghasilkan peta topografi di mana "ketinggian" setiap piksel ditentukan oleh kecerahannya. Wilayah, batas dan objek dapat disimpulkan dari tempat terbentuknya "lembah", "punggung bukit" dan "cekungan tangkapan air".
  • Segmentasi berbasis wilayah: Dimulai dengan satu atau lebih "piksel benih", algoritma penumbuhan wilayah mengelompokkan piksel-piksel yang bertetangga dengan karakteristik yang serupa. Algoritma bisa bersifat aglomerasi atau memecah belah.
  • Segmentasi berbasis pengelompokan: Metode pembelajaran tanpa pengawasan, algoritma pengelompokan membagi data visual ke dalam kelompok piksel dengan nilai yang serupa. Varian yang umum adalah pengelompokan K-means, di mana k adalah jumlah klaster: nilai piksel diplot sebagai titik data, dan k titik acak dipilih sebagai pusat klaster ("centroid"). Setiap piksel ditugaskan ke dalam klaster berdasarkan centroid terdekat, yaitu, yang paling mirip. Centroid kemudian direlokasi ke rata-rata setiap klaster dan prosesnya diulangi, merelokasi centroid dengan setiap iterasi sampai klaster menjadi stabil. Prosesnya divisualisasikan di sini (tautan berada di luar ibm.com).
Model segmentasi gambar pembelajaran mendalam

Dilatih pada kumpulan data gambar yang dianotasi, jaringan neural dari model segmentasi gambar pembelajaran mendalam menemukan pola yang mendasari dalam data visual dan membedakan fitur-fitur yang paling relevan untuk klasifikasi, deteksi, dan segmentasi.

Meskipun ada pengorbanan dalam hal kebutuhan komputasi dan waktu pelatihan, model pembelajaran mendalam secara konsisten mengungguli model tradisional dan menjadi dasar dari sebagian besar kemajuan yang sedang berlangsung dalam visi komputer.

Model pembelajaran mendalam yang menonjol yang digunakan dalam segmentasi gambar meliputi:

  • Jaringan Konvolusi Penuh (FCN): FCN, yang sering digunakan untuk segmentasi semantik, adalah jenis jaringan neural konvolusional (CNN) tanpa lapisan tetap. Jaringan encoder melewatkan data input visual melalui lapisan konvolusi untuk mengekstrak fitur yang relevan dengan segmentasi atau klasifikasi, dan mengompres (atau menurunkan sampel) data fitur ini untuk menghilangkan informasi yang tidak penting. Data yang dikompresi ini kemudian dimasukkan ke dalam lapisan decoder , meningkatkan data fitur yang diekstraksi untuk merekonstruksi gambar input dengan mask segmentasi.
  • U-Nets: U-Nets memodifikasi arsitektur FCN untuk mengurangi kehilangan data selama downsampling dengan melewatkan koneksi, mempertahankan detail yang lebih besar dengan secara selektif melewati beberapa lapisan konvolusi saat informasi dan gradien bergerak melalui jaringan neural. Namanya diambil dari bentuk diagram yang menunjukkan susunan lapisan-lapisannya.
  • Deeplab: Seperti U-Nets, Deeplab adalah arsitektur FCN yang dimodifikasi. Selain melewatkan koneksi, model ini menggunakan konvolusi yang dikurangi (atau "atrous") untuk menghasilkan peta output yang lebih besar tanpa memerlukan daya komputasi tambahan.
  • Mas R-CNN: Mask R-CNN adalah model terkemuka untuk segmentasi instance. Mask R-CNN menggabungkan jaringan proposal wilayah (RPN) yang menghasilkan kotak pembatas untuk setiap contoh potensial dengan "kepala mask" berbasis FCN yang menghasilkan mask segmentasi di dalam setiap kotak pembatas yang telah dikonfirmasi.
  • Transformator: terinspirasi oleh keberhasilan model transformator seperti GPT dan BLOOM dalam pemrosesan bahasa alami, model baru seperti Vision Transformer (ViT) menggunakan mekanisme perhatian sebagai pengganti lapisan konvolusi telah sesuai atau melebihi kinerja CNN untuk tugas visi komputer.
Kumpulan data pelatihan untuk model pembelajaran mendalam

Untuk tidak hanya memetakan batas segmen gambar, tetapi juga memprediksi benda atau barang mana yang diwakili oleh setiap segmen, model pembelajaran mendalam dilatih pada kumpulan data besar beranotasi untuk mengenali kelas semantik tertentu. Dari gambar pra-label ini, model pembelajaran mendalam menyimpulkan pola dan nilai piksel yang khas dari setiap label.

Tugas yang berbeda memerlukan data pelatihan yang berbeda: sistem visi komputer untuk mobil tanpa pengemudi dilatih pada gambar yang dilabeli dengan kelas semantik seperti "orang", "mobil", "jalur", dan "tanda berhenti", sementara model pencitraan medis memerlukan pengoptimalan untuk mengenali kelas jaringan fisik tertentu, atau tumor, dan patologi lainnya.

Kumpulan data pelatihan harus diberi label sebelumnya dengan hati-hati oleh para pakar manusia, yang bisa sangat melelahkan. Sebagian besar model segmentasi gambar menggunakan kumpulan data sumber terbuka yang besar. Kumpulan data publik ini juga berfungsi sebagai “kebenaran dasar” ketika mengevaluasi keberhasilan model terlatih: metrik kinerja sering dinyatakan sebagai persentase hasil yang secara akurat cocok dengan anotasi dalam kumpulan data pelatihan.

Kumpulan data pelatihan populer untuk model segmentasi gambar pembelajaran mendalam meliputi:

  • COCO (Common Objects in Context): dataset berskala besar yang berisi lebih dari 330.000 gambar dengan segmen beranotasi di 80 kategori barang dan 91 kategori benda .
  • ADE20K: kumpulan data segmentasi pemandangan yang dibuat oleh MIT berisi lebih dari 20.000 gambar dengan lebih dari 150 kelas semantik.
  • Lanskap kota: kumpulan data berskala besar yang berfokus pada jalan-jalan di perkotaan. Data ini diambil di 50 kota di berbagai waktu, musim, dan kondisi cuaca.
Contoh penggunaan untuk segmentasi gambar

Segmentasi gambar telah menjadi alat bantu yang penting dalam berbagai bidang.

  • Pencitraan medis: Segmentasi gambar memiliki banyak aplikasi di bidang radiografi, citra resonansi magnetik (MRI), ultrasound dan tomografi komputer (CT), membantu tugas-tugas seperti deteksi tumor, segmentasi otak, diagnosis penyakit dan perencanaan bedah.
  • Kendaraan otonom: Segmentasi gambar memungkinkan mobil tanpa pengemudi menghindari rintangan seperti pejalan kaki dan mobil lain, serta mengidentifikasi jalur dan rambu lalu lintas. Hal ini juga digunakan untuk menginformasikan navigasi dalam robotika.
  • Citra satelit: Segmentasi semantik dan instance mengotomatiskan identifikasi medan dan fitur topografi yang berbeda.
  • Kota pintar: Segmentasi gambar mendukung tugas-tugas seperti pemantauan dan pengawasan lalu lintas real time.
  • Manufaktur: Selain mendukung tugas-tugas robotika, segmentasi gambar juga mendukung penyortiran produk dan deteksi kecacatan.
  • Pertanian: Segmentasi gambar membantu petani memperkirakan hasil panen dan mendeteksi gulma untuk dihilangkan.
Solusi terkait
IBM Maximo Visual Inspection

Melepaskan kekuatan visi komputer tanpa kode untuk inspeksi visual otomatis dengan seperangkat alat intuitif untuk pelabelan, pelatihan, dan penerapan model visi kecerdasan buatan.

Temukan IBM Maximo Visual Inspection

Sumber daya segmentasi gambar IBM Research: Visi Komputer

Sistem visi komputer modern memiliki akurasi yang luar biasa dalam hal pengenalan dan analisis gambar, tetapi sistem ini tidak benar-benar memahami apa yang mereka lihat. Di IBM Research, kami merancang sistem AI dengan kemampuan untuk melihat dunia seperti yang kita lihat.

Pengantar Visi Komputer dan Pemrosesan Gambar

Kursus ramah pemula ini membantu Anda memahami visi komputer dan berbagai penerapannya di banyak industri. Sebagai bagian dari kursus, Anda akan menggunakan Python, Pillow, dan OpenCV untuk pemrosesan gambar dasar dan melakukan klasifikasi gambar dan deteksi objek.

Memulai IBM Maximo Visual Inspection

Memulai dengan IBM Maximo Visual Inspection untuk membuat dan melatih model berbasis AI untuk memeriksa aset dan produk Anda, serta mengidentifikasi kecacatan yang dapat menyebabkan masalah produksi dan kualitas.

Ambil langkah selanjutnya

Lepaskan kekuatan visi komputer tanpa kode untuk inspeksi visual otomatis dengan IBM Maximo Visual Inspection: perangkat intuitif untuk melabeli, melatih, dan menerapkan model visi kecerdasan buatan.

Temukan IBM Maximo Visual Inspection Jelajahi demo MVI