Apa itu segmentasi instance?
Temukan IBM Maximo Visual Inspection
Sebuah jaringan kontainer pengiriman

Segmentasi instance adalah visi komputer berbasis pembelajaran mendalam yang memprediksi batas-batas piksel yang tepat dari setiap contoh objek dalam sebuah gambar.

Segmentasi instance, yang merupakan bagian dari bidang segmentasi gambar yang lebih besar, memberikan output yang lebih rinci dan canggih daripada algoritma deteksi objek konvensional. Tugas segmentasi gambar lainnya termasuk segmentasi semantik, yang mengkategorikan setiap piksel dalam gambar menurut kelas semantik, yaitu kategori "benda" atau "hal" yang diwakilinya, dan segmentasi panoptik, yang memadukan tujuan segmentasi instance dan segmentasi semantik.

Segmentasi instance memiliki berbagai macam contoh penggunaan pemrosesan gambar di berbagai industri, mulai dari analisis gambar medis untuk mendeteksi objek yang menarik dalam citra satelit hingga memungkinkan navigasi pada mobil tanpa pengemudi.

Segmentasi instance vs. deteksi objek

Perbedaan utama antara tugas segmentasi instance dan deteksi objek konvensional adalah bahwa segmentasi instance memprediksi batas-batas tingkat piksel dari setiap objek, sedangkan deteksi objek hanya memprediksi perkiraan lokasi objek.

Metode deteksi objek konvensional adalah kombinasi yang berkembang dari klasifikasi gambar dan lokalisasi objek. Dilatih dengan berbagai algoritme machine learning untuk mengenali pola visual dari kategori objek yang relevan, misalnya, model pengemudian otonom dapat dilatih untuk mengenali hal-hal seperti "mobil" atau "pejalan kaki". Model deteksi objek menganalisis data visual dari gambar input untuk memberi keterangan pada setiap contoh objek yang relevan dan menghasilkan area persegi panjang, yang disebut "kotak pembatas", tempat setiap instance berada.

Sistem segmentasi instance juga mendeteksi objek dalam gambar, tetapi dengan detail yang jauh lebih besar: alih-alih kotak pembatas yang mendekati lokasi instance objek, algoritma segmentasi instance menghasilkan "topeng segmentasi" piksel demi piksel dari bentuk dan area yang tepat dari setiap instance.

Banyak arsitektur model segmentasi instance terkemuka, seperti Mask R-CNN, melakukan deteksi objek konvensional sebagai langkah awal dalam proses menghasilkan mask segmentasi. Model "dua tahap" seperti itu biasanya memberikan akurasi yang canggih, meskipun dengan pengorbanan dalam hal kecepatan.

Konten terkait

Berlangganan buletin IBM

Segmentasi instance vs. segmentasi semantik

Segmentasi semantik adalah tugas yang kurang kompleks daripada segmentasi instance. Tidak seperti segmentasi instance, segmentasi semantik tidak berkaitan dengan menghitung atau membedakan antara instance yang berbeda: satu-satunya tujuan segmentasi semantik adalah untuk membuat anotasi setiap piksel dalam gambar dengan label kelas semantik.

Model segmentasi semantik tidak membedakan antara benda, kelas entitas yang dapat dihitung dengan bentuk yang berbeda, seperti "mobil" atau "orang", dan hal-hal (yaitu kelas entitas yang tidak dapat dihitung dengan bentuk yang bervariasi, seperti "langit" atau "jalan").

Jika beberapa instance objek dari kelas benda yang sama berdekatan atau saling tumpang tindih, model segmentasi semantik akan mengelompokkannya dalam satu segmen gambar. Sebagai contoh, pertimbangkan bagaimana model segmentasi semantik memperlakukan mobil yang diparkir secara berdekatan di setiap sisi jalan dalam gambar ini.

Sebaliknya, model segmentasi instance berfokus secara eksklusif pada pendeteksian dan pembuatan mask segmentasi untuk masing-masing benda. Model segmentasi instance harus dapat menggambarkan setiap instance objek yang berbeda, bahkan untuk instance yang terhalang dari kelas objek yang sama.

Segmentasi instance vs. segmentasi panoptik

Segmentasi panoptik memerlukan klasifikasi semantik setiap piksel dalam gambar dan juga penggambaran setiap instance objek yang berbeda.

Model segmentasi panoptik secara teoretis dapat melakukan segmentasi instance, tetapi melakukannya dengan biaya komputasi yang jauh lebih besar (karena outputnya mencakup informasi tambahan yang belum tentu relevan dengan tugas segmentasi instance).

Upaya awal pada segmentasi panoptik hanya melakukan segmentasi contoh dan segmentasi semantik secara terpisah, kemudian menggabungkan output keduanya dalam langkah pasca pemrosesan. Metode ini tidak efisien secara komputasi dan sulit untuk menyelesaikan perbedaan antara output data dari model semantik dan output data dari model instance.

Pendekatan yang lebih baru menghubungkan "kepala" segmentasi semantik dan "kepala" segmentasi instance ke "tulang punggung" bersama, sering kali jaringan piramida fitur (FPN), untuk ekstraksi fitur: isolasi data visual yang relevan. Hal ini menambah efisiensi dan menghilangkan perbedaan.

Contoh penggunaan segmentasi instance

Segmentasi instance sangat penting untuk berbagai tugas visi komputer.

  •  Pencitraan medis: Segmentasi instance digunakan untuk mendeteksi batas-batas spesifik jaringan dan patologi, seperti tumor
  • Pengemudian otonom: Segmentasi instance memungkinkan mobil tanpa kemudi mendeteksi dan mengklasifikasikan mobil, objek, orang, dan fitur jalan secara akurat (seperti lampu lalu lintas).
  • Citra satelit: Segmentasi instance dapat membantu mengidentifikasi dan mengisolasi objek yang menarik, seperti membedakan beberapa bangunan di sepanjang jalan untuk tujuan GPS.
  • Robotika: Segmentasi instance memungkinkan penyortiran item, deteksi kecacatan dan, mirip dengan mobil tanpa pengemudi, memungkinkan robot untuk membedakan dan menavigasi di sekitar objek di lingkungan mereka.

 

 

Bagaimana cara kerja segmentasi instance?

Pembelajaran mendalam telah menjadi hal yang penting untuk segmentasi instance: hampir semua metode segmentasi gambar modern menggunakan jaringan neural. Meskipun beberapa tahun terakhir ini model transformator muncul sebagai alternatif yang layak, sebagian besar metode segmentasi gambar (termasuk yang digunakan untuk segmentasi instance) memanfaatkan beberapa bentuk jaringan neural tiruan (CNN).

Model segmentasi instance berbasis CNN terbagi dalam dua kategori:

  • Model dua tahap , seperti Mask R-CNN, pertama-tama melakukan deteksi objek, kemudian menghasilkan mask segmentasi objek
  • Model one-shot (atau single stage), seperti YOLACT, melakukan kedua tugas secara paralel.

Baik model segmentasi instance berbasis CNN maupun berbasis transformator menggunakan struktur encoder-decoder, di mana jaringan encoder digunakan untuk mengekstrak data yang relevan dari gambar input dan jaringan decoder menggunakan data fitur yang diekstrak tersebut untuk merekonstruksi gambar dengan peta segmentasi.

Untuk memahami model segmentasi instance, ada baiknya untuk memahami bagian-bagian penyusunnya.

Jaringan neural konvolusional (CNN)

CNN sederhana dapat melakukan klasifikasi gambar dan (untuk gambar yang berisi objek tunggal) klasifikasi objek.

Agar algoritme matematika kompatibel dengan suatu gambar, algoritme ini harus merepresentasikan gambar dalam format numerik. CNN memproses gambar input RGB sebagai susunan piksel tiga dimensi (3D), di mana tiga dimensi piksel tersebut masing-masing mewakili nilai R(ed), G(reen), dan (B)lue.

Ada tiga jenis lapisan dalam CNN konvensional:

  • Lapisan konvolusional menggunakan filter dua dimensi, yang disebut kernel, untuk mengekstrak fitur yang relevan dari gambar dengan melakukan konvolusi. Setelah setiap konvolusi, kernel bergerak, langkah demi langkah, ke wilayah yang berdekatan, mengulangi proses ini sampai kernel melintasi seluruh gambar. Keluaran dari ekstraksi fitur ini adalah peta fitur.

  • Lapisan penyatuan (pooling layer) memampatkan data peta fitur. Proses ini, yang juga disebut downsampling atau pengurangan dimensi, meningkatkan efisiensi komputasi dan mengurangi risiko overfitting dalam pelatihan model.

  • Lapisan yang terhubung penuh menerima dan menyusun data visual dari setiap node dalam jaringan neural sehingga "terhubung penuh" dan memprediksi apakah gambar cocok dengan kategori apa pun yang telah dilatih untuk dikenali.

Sementara lapisan konvolusi tambahan dapat meningkatkan akurasi, menambahkan terlalu banyak lapisan menyebabkan hilangnya gradien, mencegah pengoptimalan model. Arsitektur ResNet memecahkan masalah ini, membuka jalan bagi CNN dengan ratusan (atau bahkan ribuan) lapisan.

Tonton video: "What are Convolutional Neural Networks (CNN)? " di YouTube
CNN berbasis wilayah (R-CNN)

R-CNN dikembangkan untuk menyelesaikan tugas pendeteksian multiobjek yang kompleks yang tidak dapat dicapai dengan CNN standar. Evolusi selanjutnya, Faster R-CNN, merupakan komponen integral dari banyak model segmentasi instance.

Untuk membuat prediksi pada tingkat objek (bukan tingkat gambar), R-CNN memperkenalkan proposal wilayah: R-CNN menggunakan pencarian selektif (tautan berada di luar ibm.com) untuk mengusulkan sekitar 2.000 kotak yang tumpang tindih yang mungkin berisi sebuah objek, kemudian memasukkan setiap "proposal objek" ke dalam CNN untuk ekstraksi fitur. Algoritma support vector machine (SVM) kemudian mengklasifikasikan objek dan menghasilkan kotak pembatas.

Fast R-CNN secara dramatis meningkatkan kecepatan R-CNN dengan pertama-tama memasukkan seluruh gambar ke dalam CNN untuk ekstraksi fitur, kemudian menggunakan peta fitur yang dihasilkan untuk mengidentifikasi wilayah yang diminati (RoI). Tidak lama kemudian, Faster R-CNN semakin meningkatkan kecepatan dan akurasi dengan memperkenalkan jaringan proposal wilayah yang dapat dilatih (RPN) untuk menggantikan algoritme pencarian selektif yang lebih lambat dan tidak dapat dilatih.

Baca makalah: "Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks"
Jaringan yang sepenuhnya konvolusional

FCN menggantikan lapisan CNN sederhana yang tetap dan terhubung penuh dengan lapisan konvolusi dan penggabungan tambahan, oleh karena itu disebut "konvolusi penuh". Kemunculan FCN mengantarkan era modern segmentasi gambar.

Seperti CNN konvensional, FCN menggunakan jaringan encoder, seperti ResNet atau VGG, untuk ekstraksi fitur dan downsampling. Namun, alih-alih melewatkan data yang dikodekan ke lapisan yang terhubung sepenuhnya untuk mengklasifikasikan seluruh gambar, FCN mengirimkan data yang dikodekan melalui lapisan jaringan "decoder" yang mengklasifikasikan dan mengambil sampel data fitur yang dikompresi untuk merekonstruksi gambar asli dengan mask segmentasi piksel demi piksel.

Secara alami, sebagian data hilang selama proses downsampling. Variasi FCN yang lebih baru, seperti U-Net, memperkenalkan koneksi loncat yang secara selektif melewati beberapa lapisan konvolusi untuk mempertahankan detail yang lebih baik.

Baca makalah: "Fully Convolutional Networks for Semantic Segmentation"
Mask R-CNN

Arsitektur Mask R-CNN memasangkan deteksi objek dari Faster R-CNN dengan kemampuan segmentasi FCN untuk mencapai terobosan dalam segmentasi instance.

Setelah RPN menghasilkan kotak pembatas untuk objek yang diusulkan, dan jaringan Faster R-CNN lainnya mengonfirmasi proposal wilayah mana yang berisi objek (dan melakukan regresi untuk meningkatkan akurasi kotak pembatas objek), FCN membuat mask segmentasi dari objek yang terkandung dalam setiap kotak pembatas.

Proses ini efektif bahkan ketika objek terhalang, karena jaringan Faster R-CNN dapat membedakan setiap contoh objek untuk memastikan bahwa setiap objek tersegmentasi secara individual.

Baca makalah: "Mask R-CNN"
Model satu percobaan (satu tahap)

Penerapan segmentasi instance tertentu, seperti mendeteksi item yang cacat di jalur perakitan manufaktur, memerlukan hasil real time. Model satu tahap dikembangkan untuk contoh penggunaan yang mengutamakan kecepatan.

Model dua tahap seperti Mask R-CNN sangat akurat, tetapi pendekatan sekuensial yang inheren sulit untuk dipercepat. Model segmentasi instance satu percobaan seperti YOLACT (You Only Look At CoefficienTs) dibangun berdasarkan model deteksi objek satu tahap seperti YOLO (You Only Look Once).

Dalam YOLACT, FPN membuat peta fitur beresolusi tinggi, yang dimasukkan ke dalam dua cabang paralel: sebuah cabang FCN mengusulkan k "mask prototipe" dari contoh objek potensial; secara bersamaan, sebuah cabang dari lapisan yang terhubung penuh menghasilkan banyak "kotak jangkar," yang serupa dengan usulan wilayah, dan juga memprediksi k "koefisien mask" (satu untuk setiap mask prototipe) yang merepresentasikan kemungkinan objek yang diusulkan selaras dengan mask segmentasi yang diusulkan. Non-maximum suppression (NMS) digunakan untuk menyaring instance yang diusulkan dengan koefisien mask tertinggi.

Baca makalah: "YOLACT++: Better Real Time Instance Segmentation"
model transformator

Inovasi terbaru dalam segmentasi instance dan panoptik telah mengeksplorasi model transformator, yang terinspirasi oleh keberhasilan mereka dalam bidang seperti pemrosesan bahasa alami. Model seperti Vision Transformers (ViT) menggunakan perhatian mandiri sebagai pengganti konvolusi, memungkinkan analisis holistik dari konteks visual gambar.

Tantangan utama yang harus diatasi adalah tuntutan komputasi: kompleksitas komputasi dari perhatian diri meningkat secara kuadratik dengan ukuran gambar. Swin transformator menggunakan jendela yang digeser (alih-alih langkah geser konvensional) untuk menciptakan lapisan perhatian diri yang tidak tumpang tindih, sehingga membuat kompleksitas komputasi meningkat secara linier, bukan kuadratik, dengan ukuran gambar. Model berbasis Swin sekarang menyaingi akurasi kerangka kerja berbasis CNN terkemuka.

Baca makalah: "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows"
Model segmentasi instance pelatihan

Algoritme machine learning, termasuk algoritme pembelajaran mendalam yang digunakan segmentasi instance, harus dilatih. Baik model berbasis CNN maupun berbasis transformator dilatih dengan backpropagation: model rekayasa balik gambar pelatihan beranotasi untuk mempelajari bobot dan bias yang sesuai untuk tugas yang dihadapi.

Anotasi data pelatihan harus sangat akurat untuk memaksimalkan machine learning yang tepat dan berfungsi sebagai tolok ukur "kebenaran dasar" yang dapat digunakan untuk mengevaluasi dan mengoptimalkan model yang telah dilatih. Karena kemampuan manusia sangat jauh melebihi model visi komputer yang paling akurat sekalipun, anotasi ini dilakukan secara manual, proses yang mahal dan membutuhkan banyak tenaga kerja.

Untuk menghindari waktu dan biaya set data khusus, sebagian besar model memanfaatkan set data pelatihan sumber terbuka yang besar atau menyempurnakan jaringan encoder yang sudah dilatih sebelumnya untuk tugas-tugas visual yang lebih spesifik. Kumpulan data gambar sumber terbuka yang umum meliputi:

  • COCO (Common Objects in Context): kumpulan data besar yang berisi lebih dari 330.000 gambar dengan segmen beranotasi di 80 kategori benda dan 91 kategori barang

  • ADE20K: dataset segmentasi pemandangan yang dibuat oleh MIT yang berisi lebih dari 20.000 gambar dengan lebih dari 150 kelas semantik

  • Cityscapes: kumpulan data berskala besar yang berfokus pada jalanan perkotaan, dengan gambar dari 50 kota di berbagai waktu, musim, dan kondisi cuaca.

Mengevaluasi model segmentasi instance

Ukuran segmentasi instance dan kinerja deteksi objek yang paling umum diterapkan adalah Intersection over Union (IoU) dan Average Precision (AP). Metrik ini biasanya dinyatakan dalam performa terhadap himpunan data tolok ukur, seperti "AP 54,4 pada himpunan data COCO."

Intersection over Union ( IoU)
IoU mengukur tumpang tindih piksel antara mask kebenaran dasar dan prediksi model, dinyatakan sebagai persentase atau bilangan bulat antara 0 dan 1. Untuk gambar dengan beberapa instance, digunakan IoU rata-rata (mIoU).

Meskipun IoU bersifat intuitif, ia memiliki keterbatasan penting:

  • Menghargai prediksi yang terlalu luas. Bahkan jika mask segmentasi terlalu besar, itu akan mencetak IoU sempurna dari 1 jika mengandung mask kebenaran dasar di dalamnya.
  • Tidak dapat digunakan sebagai fungsi kerugian. Untuk prediksi buruk tanpa hamparan, baik sedikit atau bahkan tidak dekat, IoU=0. Ini berarti IoU tidak dapat dibedakan, dan dengan demikian tidak dapat membantu algoritma mengoptimalkan model. Generalized Intersection over Union (atau GIoU) (tautan berada di luar ibm.com) mengubah IoU untuk membuatnya dapat dibedakan.

Ketepatan Rata-rata (AP)
AP dihitung sebagai area di bawah kurva presisi-recall. Ini menyeimbangkan pertukaran antara dua metrik, presisi dan recall, yang dihitung menggunakan nilai hasil diskrit seperti true positive (TP), true negative (TN), false positive (FP), dan false negative (FN).

  • Presisi mengukur seberapa sering prediksi positif tepat. Dalam hal ini, piksel dari contoh tersegmentasi: TP/(TP+FP). Ini memiliki kelemahan dalam memberikan penghargaan negatif palsu.
  • Recall mengukur seberapa sering prediksi positif ditangkap: TP/(TP+FN). Ini memiliki kelemahan dalam memberikan hasil positif palsu.

Untuk memaksimalkan relevansi, AP sering kali dihitung dalam ambang batas IoU tertentu. Sebagai contoh, "AP50" menghitung AP hanya untuk prediksi dengan IoU lebih besar dari 50 persen. Presisi rata-rata (mAP) digunakan secara situasional sebagai nilai AP rata-rata di semua ambang batas yang dihitung.

 

 

Solusi terkait
IBM Maximo Visual Inspection

Lepaskan 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 instance 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 yang ramah bagi pemula ini akan membantu Anda memahami visi komputer dan aplikasinya di berbagai industri. Sebagai bagian dari kursus ini, Anda akan menggunakan Python, Pillow, dan OpenCV untuk pemrosesan gambar dasar dan melakukan klasifikasi gambar dan deteksi objek.

Mulai menggunakan 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 cacat 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: seperangkat alat intuitif untuk melabeli, melatih, dan menerapkan model visi kecerdasan buatan.

Temukan IBM Maximo Visual Inspection Jelajahi demo MVI