Terhubung dengan kami

Kecerdasan Buatan

TinySAM : Mendorong Batasan untuk Model Segmen Apa Pun

mm

Diterbitkan

 on

TinySAM : Mendorong Batasan untuk Model Segmen Apa Pun

Segmentasi objek adalah bidang mendasar dan sangat penting dalam visi komputer modern. Ini memainkan peran penting dalam aplikasi yang memerlukan komponen visual yang luas, seperti lokalisasi dan identifikasi objek, dan menuntut segmentasi secara real-time, cepat, dan akurat. Pentingnya hal ini menjadikan segmentasi objek sebagai topik penelitian yang selalu hangat, dengan pekerjaan signifikan yang dilakukan di berbagai bidang seperti segmentasi contoh, segmentasi semantik, dan segmentasi panoptik.

Dengan evolusi segmentasi objek, Segment Anything Model (SAM) telah muncul sebagai alat yang luar biasa, menunjukkan kemampuan segmentasi yang luar biasa dan dengan cepat diadopsi dalam berbagai aplikasi visi komputer. Kerangka kerja yang menggunakan arsitektur SAM terlatih telah mencapai kinerja yang mengesankan dalam tugas-tugas visi hilir. Namun, meskipun memiliki kemampuan dan akurasi yang tinggi dalam tugas segmentasi, arsitektur SAM yang kompleks dan berat memerlukan daya komputasi yang besar, sehingga menghambat penerapannya pada perangkat yang memiliki keterbatasan komputasi.

Untuk mengatasi tantangan komputasi SAM, para peneliti telah mengembangkan Tiny Segment Anything Model (TinySAM), yang mempertahankan performa zero-shot dari kerangka kerja asli sekaligus lebih ringan. TinySAM menggunakan metode penyulingan pengetahuan tahap penuh dengan petunjuk keras online untuk menciptakan model siswa yang lebih efisien. Kuantisasi pasca-pelatihan yang disesuaikan dengan tugas segmentasi yang dapat dilakukan semakin mengurangi kebutuhan komputasi. Selain itu, desain TinySAM bertujuan untuk segmentasi hierarki, hampir menggandakan kecepatan inferensi tanpa mengurangi kinerja.

Artikel ini mempelajari kerangka TinySAM, mengeksplorasi prinsip dasar, arsitektur, dan kinerjanya dibandingkan dengan kerangka segmentasi canggih lainnya. Mari kita jelajahi aspek-aspek ini lebih detail.

TinySAM : Model Segmen Apapun yang Efisien

Model Segmen Apapun telah membantu kemajuan pesat beberapa aplikasi visi komputer karena kemampuan segmentasinya yang terpuji ditambah dengan kumpulan data segmentasi besar-besaran yang menampung lebih dari 11 juta gambar dan lebih dari satu miliar masker gambar. Karena kinerjanya yang luar biasa dalam tugas-tugas yang mengelompokkan objek dengan kategori dan bentuk yang sewenang-wenang, ini berfungsi sebagai landasan untuk kerangka kerja yang melakukan tugas-tugas hilir seperti pengecatan gambar, pelacakan objek, visi 3D, dan banyak lagi. Selain itu, Model Segmen Apapun juga menawarkan hal yang luar biasa segmentasi zero-shot kinerja yang menguntungkan industri sensitif yang bekerja dengan jumlah data terbatas termasuk industri penelitian medis dan pencitraan medis. 

Meskipun kemampuan segmentasi luar biasa yang ditawarkan oleh Model Segmen Apapun pada beragam tugas visi hilir tidak dapat dipertanyakan, model ini memiliki kelemahan dalam hal kelebihan beban arsitektur yang kompleks, persyaratan komputasi yang tinggi, dan biaya operasional yang signifikan. Untuk sistem yang berjalan pada GPU modern, waktu inferensi model SAM dapat mencapai hingga 2 detik untuk gambar 1024×1024. Akibatnya, mengimplementasikan aplikasi SAM pada perangkat dengan kemampuan komputasi terbatas merupakan tugas yang sangat sulit. Untuk mengatasi rintangan ini, karya terbaru seperti MobileSAM dan FastSAM telah mencoba mengembangkan model SAM dengan efisiensi komputasi yang lebih tinggi. Kerangka kerja MobileSAM mencoba untuk menggantikan komponen berat dalam encoder gambar dengan arsitektur kerangka TinyViT sedangkan model FastSAM mentransfer tugas segmen ke tugas segmentasi instance dengan hanya satu kategori dengan YoloV8 model. Meskipun metode ini mampu mencapai tingkat keberhasilan tertentu dalam hal mengurangi kebutuhan komputasi, metode ini tidak dapat mempertahankan kinerjanya terutama pada tugas zero-shot hilir. 

TinySAM atau Tiny Segment Anything Model adalah upaya untuk mengurangi kebutuhan komputasi model SAM saat ini tanpa menghambat kinerja pada tugas-tugas hilir zero-shot. Lebih lanjut, kerangka TinySAM mengusulkan untuk menerapkan metode penyulingan pengetahuan tahap penuh dalam arsitekturnya dengan tujuan meningkatkan kemampuan jaringan siswa yang kompak. Kerangka kerja TinySAM menyaring jaringan siswa secara ujung ke ujung di bawah pengawasan jaringan guru dari berbagai tahapan. Untuk meningkatkan kinerja lebih lanjut, kerangka kerja ini memungkinkan proses distilasi untuk menangani lebih banyak contoh sulit dengan menerapkan strategi pengambilan sampel cepat cepat online tambahan. Selain itu, untuk mengurangi biaya komputasi, kerangka kerja TinySAM memaparkan tugas segmentasi yang dapat dilakukan ke komponen kuantisasi pasca-pelatihan. 

Bagian utama dari persyaratan komputasi Model Segmen Apa Pun adalah karena model tersebut menghasilkan masker masif dari titik prompt grid untuk menyegmentasikan semua yang ada di gambar. Untuk mengatasi kebutuhan komputasi strategi segmentasi ini, kerangka kerja TinySAM menggunakan strategi segmen segala sesuatu yang hierarkis yang hampir menggandakan kecepatan inferensi tanpa menurunkan kinerja. Dengan metode yang digunakan dalam arsitekturnya, kerangka TinySAM menawarkan pengurangan signifikan dalam kebutuhan komputasi, dan menetapkan batasan baru untuk segmen tugas apa pun yang efisien. 

TinySAM: Arsitektur dan Metodologi

Sebelum kita berbicara tentang arsitektur dan metodologi kerangka TinySAM, penting untuk terlebih dahulu melihat pendahulunya, kerangka SAM. Sejak diperkenalkan, Model Segmen Apapun telah menunjukkan kinerja, keserbagunaan, dan kemampuan generalisasi yang luar biasa di berbagai visi hilir dan tugas segmentasi objek. 

Pada intinya, model SAM terdiri dari tiga subjaringan: encoder prompt, encoder gambar, dan decoder mask. Tujuan utama dari encoder prompt adalah untuk mengkodekan masker berbentuk sewenang-wenang, titik dan kotak masukan, dan teks bentuk bebas dengan informasi posisi. Encoder gambar adalah jaringan berbasis ViT atau transformator visi yang mengekstraksi gambar input ke dalam embeddings. Model ini menggunakan jaringan yang berbeda untuk memproses perintah geometris dan teks. Terakhir, dekoder topeng berisi transformator dua arah yang menerima keluaran prompt dan pembuat enkode gambar untuk menghasilkan prediksi topeng akhir. Dengan kumpulan data tersebut, kerangka SAM menunjukkan kemampuan segmentasi berkualitas tinggi yang luar biasa untuk objek apa pun bentuk dan kategorinya. Selain itu, Segmen Model Apapun menunjukkan kinerja dan efisiensi luar biasa di seluruh tugas visi hilir zero-shot termasuk proposal objek, deteksi tepi, prediksi teks ke topeng, dan segmentasi instans. Karena kemampuan segmentasinya yang berkualitas tinggi, dan penawaran cepat yang fleksibel, kerangka kerja SAM menjadi landasan bagi aplikasi visi. Oleh karena itu, kebutuhan komputasi yang tinggi dari arsitektur SAM tradisional dengan sejumlah besar parameter tidak dapat diabaikan sehingga hampir tidak mungkin bagi pengembang untuk menerapkan aplikasi berbasis SAM pada perangkat dengan sumber daya terbatas. 

Penyulingan Pengetahuan

Penyulingan pengetahuan adalah pendekatan penting untuk meningkatkan kinerja jaringan kompak selama fase pelatihan. Metode penyulingan pengetahuan yang menggunakan keluaran jaringan guru untuk mengawasi pelatihan jaringan siswa ringan. Metode penyulingan pengetahuan dapat dibagi menjadi dua subkategori: penyulingan untuk fitur perantara, dan penyulingan untuk keluaran jaringan, dengan sebagian besar penelitian seputar penyulingan pengetahuan berfokus pada tugas klasifikasi gambar. 

Oleh karena itu, gambar berikut menunjukkan arsitektur umum kerangka TinySAM bersama dengan gambaran umum kinerja pada tugas segmentasi instance zero-shot. 

Pada tahap pertama, kerangka TinySAM mengimplementasikan penyulingan pengetahuan yang dirancang khusus untuk kerangka SAM, dan untuk mengaktifkan proses penyulingan lebih lanjut, model tersebut menggunakan pengambilan sampel cepat keras online untuk menggali pengetahuan keras ke jaringan siswa dari jaringan guru. Pada tahap kedua, kerangka TinySAM mengadaptasi metode kuantisasi pasca pelatihan ke tugas segmentasi yang dapat diminta dan mengimplementasikannya pada jaringan siswa yang ringan. Terakhir, model ini mengimplementasikan semua mode inferensi segmen hierarki yang dirancang untuk tugas segmentasi sehingga menghasilkan dua kali lipat kecepatan inferensi dengan kehilangan akurasi yang dapat diabaikan. 

Distilasi Pengetahuan Tahap Penuh

Seperti disebutkan sebelumnya, Model Segmen Apapun terdiri dari tiga sub-jaringan pada intinya: encoder prompt, encoder gambar, dan decoder topeng, dengan komponen encoder gambar dibangun di atas transformator visi, dan memiliki persyaratan komputasi yang tinggi. Untuk mengatasi masalah ini, kerangka MobileSAM mengganti transformator visi dengan TinyViT atau Tiny Vision Transformer, meskipun penggantian tersebut tidak efektif mengingat penurunan kinerja yang signifikan. Untuk memastikan tidak ada penurunan kinerja, kerangka kerja TinySAM menerapkan metode penyulingan pengetahuan tahap penuh yang memandu encoder gambar ringan dari tingkat pembelajaran ke tingkat berbagai pengetahuan. Selain kerugian konvensional antara label kebenaran dasar dan hasil yang diprediksi, kerangka TinySAM juga menyebabkan banyak kerugian distilasi selama berbagai tahap seperti yang ditunjukkan pada gambar berikut. 

Kuantisasi

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

Tujuan utama kuantisasi di TinySAM adalah memproyeksikan tensor titik mengambang ke tensor bilangan bulat bit menggunakan faktor penskalaan dengan metrik untuk mengukur jarak antara perkalian matriks dan matriks terkuantisasi memainkan peran penting untuk mengoptimalkan faktor penskalaan. 

Segmen Hierarki Apa Pun

Model Segment Anything mengusulkan untuk menggunakan generator topeng otomatis yang mengambil sampel titik-titik sebagai kisi untuk mengelompokkan semua yang ada di gambar. Namun, terdapat indikasi bahwa penggunaan grid titik padat menghasilkan keluaran segmentasi yang terlalu halus dan prosesnya memerlukan persyaratan komputasi yang besar serta menimbulkan biaya operasional yang tinggi. Selain itu, di satu sisi, terlalu banyak titik pengambilan sampel untuk objek yang lengkap dapat mengakibatkan bagian objek yang berbeda disegmentasikan secara salah sebagai masker terpisah, sedangkan di sisi lain, biaya waktu dari inferensi mode semuanya terutama disebabkan oleh alasan bahwa encoder gambar telah menyusut secara signifikan. Untuk mengurangi biaya operasional mode segalanya, kerangka TinySAM menggunakan pendekatan pembuatan topeng hierarki, dengan perbedaan strategi dengan kerangka SAM asli yang ditunjukkan pada gambar berikut. 

Berbeda dari pendekatan yang diterapkan pada kerangka SAM asli, model TinySAM hanya menggunakan 25% poin di setiap sisi, sehingga hanya memanfaatkan 1/16 poin yang tersedia di pengaturan awal. Model kemudian menyimpulkan decoder topeng dan encoder prompt dengan prompt ini dan mendapatkan hasilnya. Model tersebut kemudian memfilter beberapa mask dengan keyakinan melebihi ambang batas tertentu, dan menutupi lokasi terkait sebagai area untuk potensi prediksi akhir. Karena model memperlakukan wilayah ini sebagai hasil segmentasi dari instance dengan keyakinan tinggi, maka model tersebut tidak perlu menghasilkan petunjuk titik. Strategi ini tidak hanya membantu mencegah segmentasi objek yang terlalu detail namun juga membantu menurunkan biaya operasional dan kebutuhan komputasi secara signifikan. Kerangka kerja tersebut kemudian menggabungkan dan memproses hasil dari dua putaran ini untuk mendapatkan masker akhir. 

TinySAM: Eksperimen dan Hasil

Untuk mempercepat proses penyulingan, framework TinySAM menghitung dan menyimpan penyematan gambar dari jaringan guru terlebih dahulu, sehingga model tidak wajib lagi menghitung encoder gambar berat dari jaringan guru berulang kali selama fase pelatihan. Untuk kuantisasi pasca pelatihan, kerangka TinySAM mengkuantisasi semua lapisan perkalian matriks, lapisan konvolusi, lapisan dekonvolusi, dan lapisan linier, dengan model menggunakan faktor penskalaan berdasarkan saluran untuk lapisan konvolusi dan dekonvolusi. Untuk lapisan perkalian matriks, model menerapkan faktor penskalaan berdasarkan kepala, sedangkan untuk lapisan linier, model menerapkan faktor penskalaan berdasarkan garis. Model ini juga melakukan evaluasi terhadap tugas-tugas hilir yang zero-shot. 

Misalnya tugas segmentasi dalam pengaturan zero-shot, kerangka TinySAM mengikuti pengaturan eksperimental pendahulunya, Model Segmen Apapun, dan menggunakan hasil deteksi objek kerangka Vision Transformer Det-H atau VitDet-H untuk segmentasi misalnya. Seperti yang ditunjukkan pada gambar berikut, kerangka kerja TinySAM mengungguli metode yang ada dalam hal akurasi segmentasi instans dan skor FLOPs. 

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

Dalam hal evaluasi masker valid titik nol, model TinySAM mengungguli kerangka MobileSAM secara signifikan pada kumpulan data yang berbeda, dan memberikan hasil yang jauh lebih baik ketika jumlah titik yang digunakan lebih sedikit sebagai perintah oleh kerangka kerja. 

Lebih lanjut, tabel berikut merangkum hasil percepatan dan penurunan kebutuhan komputasi yang dicapai sebagai hasil dari strategi mode segalanya hierarkis. Model ini menerapkan skor stabilitas dan nilai ambang batas yang sama dengan strategi berbeda untuk mendapatkan perbandingan yang adil, dan hasilnya dirangkum di bawah ini. 

Final Thoughts

Dalam artikel ini, kita telah membahas tentang TinySAM, kerangka kerja yang diusulkan yang mendorong batas-batas untuk mengelompokkan tugas apa pun, dan memperoleh arsitektur model yang efisien dengan persyaratan komputasi yang lebih sedikit dan akurasi yang setara dengan kerangka SAM asli. TinySAM atau Tiny Segment Anything Model yang mempertahankan dan memberikan kinerja zero-shot dari kerangka kerja aslinya. Kerangka kerja TinySAM pertama-tama menerapkan metode penyulingan pengetahuan tahap penuh yang menggunakan petunjuk keras online untuk menyaring model siswa yang ringan. Kerangka kerja TinySAM kemudian mengadaptasi kuantisasi pasca-pelatihan ke tugas segmentasi yang dapat dilakukan dengan cepat yang selanjutnya membantu mengurangi persyaratan komputasi. Selain itu, kerangka kerja ini juga bertujuan untuk mengelompokkan segala sesuatu secara hierarki yang hampir menggandakan kecepatan inferensi tanpa memengaruhi kinerja. 

"Seorang insinyur berdasarkan profesi, seorang penulis dengan hati". Kunal adalah seorang penulis teknis dengan kecintaan mendalam & pemahaman AI dan ML, berdedikasi untuk menyederhanakan konsep kompleks di bidang ini melalui dokumentasinya yang menarik dan informatif.