Model dan platform AI

TinySAM : Mendorong Batas untuk Model Segmen Apa Saja

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

Pengsegmentasian objek adalah bidang yang sangat penting dan fundamental dalam penglihatan komputer modern. Ini memainkan peran yang sangat penting dalam aplikasi yang memerlukan komponen visual yang luas, seperti pelokalan objek dan identifikasi, dan menuntut segmentasi yang cepat, akurat, dan waktu nyata. Pentingnya ini telah membuat pengsegmentasian objek menjadi topik penelitian yang sangat populer, dengan banyak pekerjaan yang telah dilakukan di bidang seperti segmentasi instance, segmentasi semantik, dan segmentasi panoptik.

Dengan evolusi pengsegmentasian objek, Model Segmen Apa Saja (SAM) telah muncul sebagai alat yang luar biasa, menampilkan kemampuan segmentasi yang sangat baik dan dengan cepat diadopsi dalam berbagai aplikasi penglihatan komputer. Kerangka kerja yang menggunakan arsitektur SAM yang telah dilatih sebelumnya telah mencapai kinerja yang sangat baik dalam tugas penglihatan downstream. Namun, meskipun kemampuan dan akurasi yang tinggi dalam tugas segmentasi, arsitektur SAM yang kompleks dan berat memerlukan daya komputasi yang sangat besar, sehingga menghambat implementasinya pada perangkat dengan sumber daya yang terbatas.

Untuk mengatasi tantangan komputasi SAM, para peneliti telah mengembangkan Tiny Segment Anything Model (TinySAM), yang mempertahankan kinerja zero-shot dari kerangka kerja asli sambil menjadi lebih ringan. TinySAM menggunakan metode distilasi pengetahuan penuh dengan prompt yang sulit secara online untuk menciptakan model siswa yang lebih efisien. Kuantisasi pasca-pelatihan yang disesuaikan dengan tugas segmentasi yang dapat diprompt juga mengurangi kebutuhan komputasi. Selain itu, desain TinySAM bertujuan untuk segmentasi hierarkis, yang hampir dua kali lipat kecepatan inferensi tanpa mengorbankan kinerja.

Artikel ini membahas kerangka kerja TinySAM, mengeksplorasi prinsip-prinsip dasar, arsitektur, dan kinerjanya dibandingkan dengan kerangka kerja segmentasi lainnya yang sangat canggih. Mari kita jelajahi aspek-aspek ini lebih lanjut.

TinySAM : Model Segmen Apa Saja yang Efisien

Model Segmen Apa Saja telah membantu dalam kemajuan pesat beberapa aplikasi penglihatan komputer karena kemampuan segmentasinya yang sangat baik dan dataset segmentasi yang besar yang berisi lebih dari 11 juta gambar dan lebih dari satu miliar masker gambar. Karena kinerjanya yang sangat baik pada tugas segmentasi objek dengan kategori dan bentuk yang sewenang-wenang, itu berfungsi sebagai dasar untuk kerangka kerja yang melakukan tugas downstream seperti inpainting gambar, pelacakan objek, visi 3D, dan lain-lain. Selain itu, Model Segmen Apa Saja juga menawarkan kinerja segmentasi zero-shot yang sangat baik yang telah mendukung industri yang sensitif yang bekerja dengan jumlah data yang terbatas, termasuk penelitian medis dan penggambaran medis.

Meskipun tidak dapat dipungkiri bahwa kemampuan segmentasi Model Segmen Apa Saja sangat baik pada berbagai tugas penglihatan downstream, itu memiliki kelemahan dalam hal arsitektur yang kompleks, kebutuhan komputasi yang tinggi, dan biaya operasional yang signifikan. Untuk sistem yang berjalan pada GPU modern, waktu inferensi model SAM dapat mencapai 2 detik untuk gambar 1024×1024. Akibatnya, sangat sulit untuk mengimplementasikan aplikasi SAM pada perangkat dengan kemampuan komputasi yang terbatas. Untuk mengatasi hambatan ini, karya terbaru seperti MobileSAM dan FastSAM telah mencoba mengembangkan model SAM dengan efisiensi komputasi yang lebih baik. Kerangka kerja MobileSAM mencoba menggantikan komponen berat dalam pengkode image dengan arsitektur TinyViT, sedangkan model FastSAM memindahkan tugas segmentasi ke tugas segmentasi instance dengan hanya satu kategori dengan model YoloV8. Meskipun metode ini dapat mencapai beberapa tingkat keberhasilan dalam mengurangi kebutuhan komputasi, mereka tidak dapat mempertahankan kinerja, terutama pada tugas zero-shot downstream.

TinySAM atau Tiny Segment Anything Model adalah upaya untuk mengurangi kebutuhan komputasi model SAM saat ini tanpa mengorbankan kinerja pada tugas zero-shot downstream. Selain itu, kerangka kerja TinySAM mengusulkan untuk mengimplementasikan metode distilasi pengetahuan penuh dalam arsitektur dengan tujuan untuk meningkatkan kemampuan jaringan siswa yang kompak. Kerangka kerja TinySAM mengdistilasi jaringan siswa secara end-to-end di bawah pengawasan jaringan guru dari berbagai tahap. Untuk meningkatkan kinerja lebih lanjut, kerangka kerja memungkinkan proses distilasi untuk memperhatikan contoh yang sulit dengan mengimplementasikan strategi sampling prompt yang sulit secara online. Selain itu, untuk mengurangi biaya komputasi lebih lanjut, kerangka kerja TinySAM mengexpos tugas segmentasi yang dapat diprompt ke komponen kuantisasi pasca-pelatihan.

Bagian terbesar dari kebutuhan komputasi Model Segmen Apa Saja disebabkan oleh model yang menghasilkan masker yang besar dari titik prompt grid untuk membagi segala sesuatu dalam gambar. Untuk mengatasi kebutuhan komputasi strategi segmentasi ini, kerangka kerja TinySAM menggunakan strategi segmentasi hierarkis yang hampir dua kali lipat kecepatan inferensi tanpa mengorbankan kinerja. Dengan metode yang diimplementasikan dalam arsitektur, kerangka kerja TinySAM menawarkan pengurangan yang signifikan dalam kebutuhan komputasi dan menetapkan batas baru untuk tugas segmentasi yang efisien.

TinySAM : Arsitektur dan Metodologi

Sebelum kita membahas arsitektur dan metodologi kerangka kerja TinySAM, penting untuk memahami kerangka kerja SAM sebelumnya. Sejak diperkenalkan, Model Segmen Apa Saja telah menunjukkan kinerja yang sangat baik, fleksibilitas, dan kemampuan generalisasi pada berbagai tugas penglihatan dan segmentasi objek.

Pada intinya, model SAM terdiri dari tiga sub-jaringan: pengkode prompt, pengkode gambar, dan dekoder masker. Tujuan utama pengkode prompt adalah untuk mengkode masker yang berbentuk sewenang-wenang, titik input, dan kotak, serta teks bebas dengan informasi posisional. Pengkode gambar adalah jaringan berat yang berbasis Vision Transformer yang mengekstrak gambar input menjadi embeddings. Model menggunakan jaringan yang berbeda untuk memproses prompt geometris dan teks. Akhirnya, dekoder masker berisi transformer dua arah yang menerima output dari pengkode prompt dan pengkode gambar untuk menghasilkan prediksi masker akhir. Dengan dataset, kerangka kerja SAM menunjukkan kemampuan segmentasi yang sangat baik untuk objek tanpa memandang bentuk dan kategori. Selain itu, Model Segmen Apa Saja juga menawarkan kinerja yang sangat baik dan efisiensi pada tugas penglihatan downstream zero-shot, termasuk proposal objek, deteksi tepi, prediksi masker teks, dan segmentasi instance. Karena kemampuan segmentasi yang sangat baik dan fleksibilitas prompt, kerangka kerja SAM membentuk dasar untuk aplikasi penglihatan. Namun, tidak dapat diabaikan bahwa arsitektur SAM tradisional memiliki kebutuhan komputasi yang sangat tinggi dengan banyak parameter, sehingga hampir mustahil bagi pengembang untuk mengimplementasikan aplikasi berbasis SAM pada perangkat dengan sumber daya yang terbatas.

Distilasi Pengetahuan

Distilasi pengetahuan adalah pendekatan yang sangat penting untuk meningkatkan kinerja jaringan kompak selama fase pelatihan. Metode distilasi pengetahuan yang menggunakan output jaringan guru untuk mengawasi pelatihan jaringan siswa yang ringan. Metode distilasi pengetahuan dapat dibagi menjadi dua subkategori: distilasi untuk fitur antara, dan distilasi untuk output jaringan, dengan sebagian besar penelitian tentang distilasi pengetahuan yang berfokus pada tugas klasifikasi gambar.

Namun, gambar berikut menunjukkan arsitektur generik kerangka kerja TinySAM bersama dengan tinjauan kinerja pada tugas segmentasi instance zero-shot.

Pada tahap pertama, kerangka kerja TinySAM mengimplementasikan distilasi pengetahuan yang dirancang khusus untuk kerangka kerja SAM, dan untuk mengaktifkan proses distilasi lebih lanjut, model menggunakan sampling prompt yang sulit secara online untuk menambang pengetahuan yang sulit ke jaringan siswa dari jaringan guru. Pada tahap kedua, kerangka kerja TinySAM menyesuaikan metode kuantisasi pasca-pelatihan ke tugas segmentasi yang dapat diprompt dan mengimplementasikannya pada jaringan siswa yang ringan. Akhirnya, model mengimplementasikan mode inferensi segmentasi hierarkis yang dirancang untuk tugas segmentasi, sehingga hampir dua kali lipat kecepatan inferensi dengan kerugian akurasi yang dapat diabaikan.

Distilasi Pengetahuan Penuh

Seperti yang disebutkan sebelumnya, Model Segmen Apa Saja terdiri dari tiga sub-jaringan pada intinya: pengkode prompt, pengkode gambar, dan dekoder masker, dengan komponen pengkode gambar yang dibangun pada Vision Transformer dan memiliki kebutuhan komputasi yang tinggi. Untuk mengatasi masalah ini, kerangka kerja MobileSAM menggantikan Vision Transformer dengan TinyViT, meskipun penggantian tersebut tidak efektif karena penurunan kinerja yang signifikan. Untuk memastikan tidak ada penurunan kinerja, kerangka kerja TinySAM mengimplementasikan metode distilasi pengetahuan penuh yang membimbing pengkode gambar yang ringan dari tingkat pembelajaran ke tingkat pengetahuan yang banyak. Selain kerugian konvensional antara label ground-truth dan hasil prediksi, kerangka kerja TinySAM memperkenalkan beberapa kerugian distilasi selama tahap yang berbeda seperti yang ditunjukkan pada gambar berikut.

Kuantisasi

Kuantisasi model adalah pendekatan yang populer dalam kerangka kerja penglihatan komputer, dan digunakan untuk mengompresi model dengan mengkuantisasi bobot atau aktivasi dari bandwidth yang lebih tinggi ke bandwidth yang lebih rendah dalam upaya untuk mengurangi kompleksitas komputasi dan kebutuhan penyimpanan tanpa mengorbankan kualitas output secara signifikan.

Tujuan utama kuantisasi dalam TinySAM adalah untuk memproyeksikan tensor titik mengapung ke tensor bit integer menggunakan faktor skala dengan metrik untuk mengukur jarak antara perkalian matriks dan matriks kuantisasi memainkan peran yang sangat penting untuk mengoptimalkan faktor skala.

Segmentasi Hierarkis

Model Segmen Apa Saja mengusulkan untuk menggunakan generator masker otomatis yang mengambil sampel sebagai grid untuk membagi segala sesuatu dalam gambar. Namun, telah ditunjukkan bahwa penggunaan grid titik yang padat menghasilkan output segmentasi yang terlalu halus dan proses ini memerlukan kebutuhan komputasi yang besar dan biaya operasional yang tinggi. Selain itu, pada satu sisi, terlalu banyak titik sampel untuk objek yang lengkap mungkin menghasilkan bagian yang berbeda dari objek yang di segmentasi secara tidak benar sebagai masker yang terpisah, sedangkan pada sisi lain, biaya waktu inferensi mode segala sesuatu sebagian besar disebabkan oleh fakta bahwa pengkode gambar telah dikurangi secara signifikan. Untuk mengurangi biaya operasional mode segala sesuatu, kerangka kerja TinySAM menggunakan pendekatan generasi masker hierarkis, dengan perbedaan strategi dengan kerangka kerja SAM asli yang ditunjukkan pada gambar berikut.

Berbeda dengan pendekatan yang diimplementasikan dalam kerangka kerja SAM asli, model TinySAM hanya menggunakan 25% titik pada setiap sisi, sehingga menggunakan hanya 1/16 dari titik yang tersedia dalam pengaturan asli. Model kemudian menginferensi dekoder masker dan pengkode prompt dengan prompt ini dan mendapatkan output. Model kemudian menyaring beberapa masker dengan kepercayaan yang melebihi ambang tertentu dan menandai lokasi yang sesuai sebagai area untuk prediksi akhir. Karena model memperlakukan area ini sebagai hasil segmentasi instance dengan kepercayaan yang tinggi, tidak perlu menghasilkan prompt titik. Strategi ini tidak hanya membantu mencegah segmentasi objek yang terlalu halus, tetapi juga membantu mengurangi biaya operasional dan kebutuhan komputasi secara signifikan. Kerangka kerja kemudian menggabungkan dan memproses hasil dari dua putaran untuk mendapatkan masker akhir.

TinySAM : Eksperimen dan Hasil

Untuk mempercepat proses distilasi, kerangka kerja TinySAM menghitung dan menyimpan embeddings gambar dari jaringan guru sebelumnya, sehingga tidak perlu lagi menghitung pengkode gambar yang berat dari jaringan guru selama fase pelatihan. Untuk kuantisasi pasca-pelatihan, kerangka kerja TinySAM mengkuantisasi semua lapisan perkalian matriks, lapisan konvolusi, lapisan dekonvolusi, dan lapisan linear, dengan model menggunakan faktor skala chanel-wise untuk lapisan konvolusi dan dekonvolusi. Untuk lapisan perkalian matriks, model mengimplementasikan faktor skala head-wise, sedangkan untuk lapisan linear, model mengimplementasikan faktor skala linear-wise. Model juga melakukan evaluasi pada tugas downstream zero-shot.

Untuk tugas segmentasi instance dalam pengaturan zero-shot, kerangka kerja TinySAM mengikuti pengaturan eksperimental dari pendahulunya, Model Segmen Apa Saja, dan menggunakan hasil deteksi objek dari kerangka kerja VitDet-H untuk segmentasi instance. Seperti yang ditunjukkan pada gambar berikut, kerangka kerja TinySAM outperforms metode yang ada dalam hal akurasi segmentasi instance dan skor FLOPs.

Selain itu, kinerja kualitatif model TinySAM ditunjukkan pada gambar berikut untuk segmentasi instance zero-shot dengan kotak hijau yang mewakili prompt kotak.

Dalam hal evaluasi masker valid zero-shot, model TinySAM outperforms kerangka kerja MobileSAM secara signifikan pada berbagai dataset, dan memberikan hasil yang jauh lebih baik ketika jumlah titik yang digunakan sebagai prompt oleh kerangka kerja lebih sedikit.

Selain itu, tabel berikut merangkum hasil percepatan dan penurunan kebutuhan komputasi yang dicapai sebagai hasil dari strategi mode segala sesuatu hierarkis. Model mengaplikasikan skor stabilitas dan nilai ambang yang sama dengan strategi yang berbeda untuk perbandingan yang adil, dan hasilnya dirangkum di bawah.

Pemikiran Akhir

Dalam artikel ini, kita telah membahas tentang TinySAM, sebuah kerangka kerja yang diusulkan yang mendorong batas untuk membagi segala sesuatu, dan mendapatkan arsitektur model yang efisien dengan kebutuhan komputasi yang lebih rendah dan akurasi yang setara dengan kerangka kerja SAM asli. TinySAM atau Tiny Segment Anything Model yang mempertahankan dan memberikan kinerja zero-shot dari kerangka kerja asli. Kerangka kerja TinySAM pertama-tama mengimplementasikan metode distilasi pengetahuan penuh yang menggunakan prompt yang sulit secara online untuk mendistilasi model siswa yang ringan. Kerangka kerja TinySAM kemudian menyesuaikan kuantisasi pasca-pelatihan ke tugas segmentasi yang dapat diprompt yang lebih lanjut membantu mengurangi kebutuhan komputasi. Selain itu, kerangka kerja juga bertujuan untuk membagi segala sesuatu secara hierarkis yang hampir dua kali lipat kecepatan inferensi tanpa mengorbankan kinerja.

Seorang insinyur oleh profesi, seorang penulis oleh hati. Kunal adalah seorang penulis teknis dengan cinta yang mendalam & pemahaman tentang AI dan ML, yang didedikasikan untuk menyederhanakan konsep-konsep kompleks dalam bidang ini melalui dokumentasi yang menarik dan informatif.