Makalah · arXiv 2304.02643
Segment Anything
Terbit cs.CVcs.AIcs.LG arXivPDF
Ringkasan tiga baris
- 🎯 Mensegmentasi konsep visual baru dan beradaptasi ke berbagai tugas segmentasi hilir tanpa perlu fine-tuning khusus tugas.
- 🔧 Memperkenalkan tugas promptable segmentation, Segment Anything Model (SAM) dengan mask decoder real-time teramortisasi, dan data engine tiga tahap.
- 📈 Dilatih pada SA-1B (1,1 miliar mask pada 11 juta gambar), SAM mentransfer secara zero-shot ke edge detection, object proposal generation, dan instance segmentation, mengungguli baseline interaktif pada 16 dari 23 dataset.
Abstrak
Kami memperkenalkan proyek Segment Anything (SA): sebuah tugas, model, dan dataset baru untuk segmentasi gambar. Menggunakan model efisien kami dalam loop pengumpulan data, kami membangun dataset segmentasi terbesar hingga saat ini (jauh melampaui yang lain), dengan lebih dari 1 miliar mask pada 11 juta gambar berlisensi dan menjaga privasi. Model ini dirancang dan dilatih agar dapat menerima prompt (promptable), sehingga dapat melakukan transfer zero-shot ke distribusi gambar dan tugas baru. Kami mengevaluasi kemampuannya pada berbagai tugas dan menemukan bahwa performa zero-shot-nya sangat mengesankan -- sering kali kompetitif atau bahkan mengungguli hasil supervised sebelumnya. Kami merilis Segment Anything Model (SAM) dan dataset terkait (SA-1B) yang berisi 1 miliar mask dan 11 juta gambar di https://segment-anything.com untuk mendorong penelitian foundation model pada computer vision.
Abstrak asli (bahasa Inggris)
We introduce the Segment Anything (SA) project: a new task, model, and dataset for image segmentation. Using our efficient model in a data collection loop, we built the largest segmentation dataset to date (by far), with over 1 billion masks on 11M licensed and privacy respecting images. The model is designed and trained to be promptable, so it can transfer zero-shot to new image distributions and tasks. We evaluate its capabilities on numerous tasks and find that its zero-shot performance is impressive -- often competitive with or even superior to prior fully supervised results. We are releasing the Segment Anything Model (SAM) and corresponding dataset (SA-1B) of 1B masks and 11M images at https://segment-anything.com to foster research into foundation models for computer vision.
Panduan membaca
Masalah dan motivasi
Foundation model yang di-pretrain pada data berskala web telah merevolusi NLP dan penyelarasan visi-bahasa (misalnya, CLIP), tetapi computer vision secara umum belum memiliki sistem fondasi yang mampu melakukan generalisasi zero-shot secara luas di berbagai tugas segmentasi. Dataset yang ada untuk segmentasi gambar tergolong kecil dibandingkan korpus teks-gambar berskala web, dan arsitektur segmentasi konvensional biasanya terikat pada kelas semantik tetap atau konfigurasi interaktif khusus.
Untuk membangun vision foundation model untuk segmentasi, para penulis secara bersamaan menangani tiga elemen inti:
- Task: Tujuan apa yang memungkinkan transfer zero-shot umum?
- Model: Arsitektur apa yang mendukung prompting fleksibel secara real-time sekaligus mengatasi ambiguitas visual bawaan?
- Data: Bagaimana cara memperoleh mask segmentasi berskala web ketika data internet tidak memiliki anotasi mask yang padat?
Ide utama
- Promptable Segmentation Task: Model harus menghasilkan mask segmentasi yang valid untuk setiap prompt yang diberikan—seperti titik latar depan/latar belakang, bounding box, mask padat, atau teks bebas. Ketika sebuah prompt bersifat ambigu (misalnya, satu titik pada kemeja), model harus menghasilkan beberapa mask hierarkis yang masuk akal (subbagian, bagian, keseluruhan).
- Asymmetric Amortized Architecture (SAM): Image encoder yang berat secara komputasi dijalankan sekali per gambar untuk menghasilkan embedding, sementara prompt encoder yang ringan dan Transformer decoder dua lapis mengevaluasi prompt dalam waktu pada CPU di dalam peramban web.
- Flywheel Data Engine: Pipeline anotasi tiga tahap:
- Assisted-manual: SAM membantu anotasator di peramban, memangkas waktu anotasi dari 34 detik menjadi 14 detik per mask (mengumpulkan 4,3 juta mask).
- Semi-automatic: SAM mendeteksi mask yang meyakinkan untuk memandu anotasator menuju objek yang belum dianotasi dan kurang menonjol (mengumpulkan tambahan 5,9 juta mask).
- Fully automatic: SAM diberi prompt pada grid titik seragam berukuran ditambah potongan gambar yang diperbesar (zoomed-in crop), menghasilkan 1,1 miliar mask di SA-1B.
Metode
Arsitektur Model
SAM terdiri dari tiga komponen:
- Image Encoder: Vision Transformer yang di-pretrain dengan MAE (secara default ViT-H/16) yang diadaptasi dengan windowed attention dan empat blok global attention, memproses input untuk menghasilkan embedding berukuran dengan 256 kanal.
- Prompt Encoder:
- Prompt renggang (sparse): Titik dan bounding box dipetakan ke vektor 256 dimensi menggunakan positional encoding yang dijumlahkan dengan learned type embedding. Teks bebas dienkode menggunakan text encoder milik CLIP.
- Prompt padat (dense): Mask input (pada resolusi lebih rendah) diperkecil melalui konvolusi dengan stride-2 dan ditambahkan secara element-wise ke image embedding.
- Mask Decoder: Transformer decoder modifikasi dua lapis. Komponen ini memperbarui prompt token dan image embedding melalui self-attention prompt dan cross-attention dua arah (token-ke-gambar dan gambar-ke-token) secara bergantian. Fitur gambar diperbesar melalui transposed convolution, dan sebuah MLP memproyeksikan token output untuk menghasilkan dynamic linear classifier yang diterapkan secara point-wise pada fitur yang telah diperbesar tersebut.
Ambiguity-Aware Output dan Loss
Satu prompt sering kali mendeskripsikan beberapa struktur yang bersarang. SAM mengatasi ambiguitas dengan memprediksi 3 mask sekaligus beserta estimasi skor IoU masing-masing. Selama pelatihan, backpropagation hanya diterapkan pada loss minimum di antara kandidat tersebut: Sebuah auxiliary head meminimalkan mean-squared-error antara IoU yang diprediksi dan ground truth IoU: Ketika beberapa prompt diberikan sekaligus, SAM menghasilkan satu mask tunggal yang tidak ambigu menggunakan token output khusus keempat.
Hasil
- Zero-Shot Point-to-Mask Transfer: Di 23 dataset segmentasi yang beragam (termasuk citra egosentris, bawah air, udara, dan mikroskopi), SAM mengungguli RITM pada 16 dari 23 dataset hanya menggunakan satu prompt titik tengah (dengan selisih mencapai IoU). Ketika ambiguitas diatasi melalui oracle selector dari 3 prediksi SAM, SAM mengungguli RITM di seluruh 23 dataset. Penilaian kualitas manusia secara konsisten menilai SAM jauh lebih tinggi (antara 7 hingga 9 dari 10).
- Zero-Shot Edge Detection (BSDS500): Dievaluasi secara zero-shot menggunakan grid dengan filter Sobel dan edge NMS, SAM mencapai ODS sebesar 0,768 dan R50 sebesar 0,928, bersaing kompetitif dengan model supervised seperti HED (ODS 0,788, R50 0,923).
- Zero-Shot Object Proposals (LVIS v1): SAM mencetak 59,3 AR@1000 tanpa supervisi kelas, mengungguli baseline ViTDet-H yang sepenuhnya terawasi pada objek berukuran sedang (81,6 vs. 80,8), objek besar (86,9 vs. 87,0), dan kategori langka (65,8 vs. 58,3).
- Zero-Shot Instance Segmentation: Ketika diberi prompt berupa bounding box ViTDet, SAM mencapai 46,5 AP pada COCO dan 44,7 AP pada LVIS. Dalam evaluasi manusia, anotasator secara konsisten menilai mask SAM lebih bersih dan berkualitas lebih tinggi daripada output ViTDet yang diawasi penuh.
Keterbatasan dan pertanyaan terbuka
- Detail halus dan pembesaran ekstrem: SAM dapat melewatkan struktur yang sangat halus atau menghasilkan komponen kecil yang terputus-putus dibandingkan dengan metode interaktif berat komputasi yang secara eksplisit memperbesar bagian gambar (zoom-in crop).
- Latensi pipeline penuh: Meskipun proses decoding prompt berjalan secara real-time (), menjalankan image encoder ViT-H yang berat tidaklah real-time.
- Pemahaman semantik: SAM menghasilkan mask yang class-agnostic; model ini tidak secara bawaan menyediakan label kategori semantik atau panoptik tanpa pengklasifikasi eksternal yang dapat digabungkan.
- Text-to-mask prompting: Pipeline prompting teks yang selaras dengan CLIP zero-shot masih bersifat awal dan sensitif dibandingkan dengan prompt geometris.
Istilah kunci
- promptable segmentation task
- Tugas yang mendefinisikan tujuan untuk menghasilkan mask segmentasi yang valid berdasarkan prompt input sembarang seperti titik, bounding box, mask, atau teks.
- SAM
- Segment Anything Model; vision model yang terdiri dari image encoder ViT yang berat, prompt encoder, dan mask decoder ringan real-time yang teramortisasi.
- SA-1B
- Dataset Segment Anything 1-Billion, berisi lebih dari 1,1 miliar mask yang dihasilkan secara otomatis dari 11 juta gambar beresolusi tinggi yang menjaga privasi.
- data engine
- Kerangka kerja model-in-the-loop tiga tahap (assisted-manual, semi-automatic, dan fully automatic) yang digunakan untuk meningkatkan skala anotasi mask ke skala web.
- ambiguity-aware modeling
- Pilihan desain di mana decoder menghasilkan 3 mask hierarkis beserta prediksi IoU-nya untuk satu prompt tunggal, dengan gradien pelatihan yang hanya dihitung dari prediksi dengan loss terendah.
- amortized real-time inference
- Menghitung image embedding yang berat satu kali per gambar sehingga decoding mask berbasis prompt berikutnya dapat dieksekusi dalam waktu sekitar 50 ms pada CPU.
- zero-shot transfer
- Mengevaluasi model promptable yang telah dilatih sebelumnya pada tugas hilir dan distribusi gambar baru menggunakan prompt engineering tanpa fine-tuning bobot.
- stable mask filtering
- Filter kualitas yang memilih mask dengan bentuk biner yang variasinya sangat minim ketika peta probabilitas logit diberi ambang batas pada versus .
Pertanyaan
Bagaimana SAM menangani ambiguitas ketika satu titik dapat mengindikasikan beberapa objek?
SAM menghasilkan tiga mask secara bersamaan (biasanya mewakili subbagian, bagian, dan keseluruhan) bersama dengan skor keyakinan IoU yang diprediksi. Selama pelatihan, model hanya melakukan backpropagation loss dari prediksi dengan error terendah.
Apakah 1,1 miliar mask di SA-1B diberi label secara manual?
Tidak, 99,1% dari mask yang dirilis di SA-1B dihasilkan secara otomatis sepenuhnya dengan memberikan prompt grid titik seragam kepada SAM pada 11 juta gambar, dengan pemfilteran ekstensif untuk keyakinan dan stabilitas.
Bisakah SAM mensegmentasi gambar berdasarkan deskripsi teks?
Bisa, sebagai bukti konsep (proof-of-concept) eksploratif. SAM dilatih dengan memasukkan embedding gambar CLIP dari mask sebagai token prompt selama pelatihan, yang memungkinkan embedding teks dari text encoder CLIP digunakan untuk memberi prompt kepada SAM saat inferensi.
Mengapa AP mask SAM lebih rendah daripada ViTDet pada COCO jika manusia menilai mask SAM lebih tinggi?
Model supervised mempelajari bias poligon spesifik dataset, artefak penghalusan batas, dan konvensi amodal yang ada pada ground truth COCO, sedangkan SAM zero-shot menghasilkan batas visual modal yang tajam yang sesuai dengan persepsi manusia namun terkena penalti IoU terhadap anotasi yang bias tersebut.
Ulasan di halaman ini ditulis oleh AI dari makalah dan mungkin mengandung kesalahan. Baca makalahnya untuk detail.