Bài báo · arXiv 2304.02643
Segment Anything
Xuất bản cs.CVcs.AIcs.LG arXivPDF
Tóm tắt trong ba dòng
- 🎯 Phân vùng các khái niệm thị giác chưa từng thấy và thích ứng với nhiều tác vụ phân vùng xuôi dòng mà không cần tinh chỉnh (fine-tuning) theo tác vụ.
- 🔧 Giới thiệu tác vụ phân vùng bằng prompt, Segment Anything Model (SAM) với mask decoder thời gian thực đã được khấu hao chi phí tính toán (amortized), và quy trình data engine ba giai đoạn.
- 📈 Được huấn luyện trên SA-1B (1,1 tỷ mask trên 11 triệu ảnh), SAM chuyển giao zero-shot sang phát hiện cạnh, tạo đề xuất vật thể và phân vùng thực thể (instance segmentation), vượt trội hơn các mô hình cơ sở tương tác trên 16/23 tập dữ liệu.
Tóm tắt
Chúng tôi giới thiệu dự án Segment Anything (SA): một tác vụ, mô hình và tập dữ liệu mới cho phân vùng ảnh (image segmentation). Bằng cách sử dụng mô hình hiệu quả của mình trong một vòng lặp thu thập dữ liệu, chúng tôi đã xây dựng tập dữ liệu phân vùng lớn nhất từ trước đến nay (vượt trội hoàn toàn), với hơn 1 tỷ mask trên 11 triệu hình ảnh được cấp phép và tôn trọng quyền riêng tư. Mô hình được thiết kế và huấn luyện để có khả năng nhận prompt, nhờ đó có thể chuyển giao zero-shot sang các phân phối hình ảnh và tác vụ mới. Chúng tôi đánh giá năng lực của mô hình trên nhiều tác vụ và nhận thấy hiệu năng zero-shot rất ấn tượng -- thường cạnh tranh hoặc thậm chí vượt trội so với các kết quả học có giám sát đầy đủ trước đây. Chúng tôi phát hành Segment Anything Model (SAM) và tập dữ liệu tương ứng (SA-1B) gồm 1 tỷ mask và 11 triệu hình ảnh tại https://segment-anything.com để thúc đẩy nghiên cứu về các foundation model cho thị giác máy tính.
Tóm tắt gốc (tiếng Anh)
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.
Hướng dẫn đọc
Vấn đề và động lực
Các foundation model được tiền huấn luyện trên dữ liệu quy mô web đã tạo nên cuộc cách mạng trong NLP và căn chỉnh thị giác - ngôn ngữ (ví dụ: CLIP), nhưng lĩnh vực thị giác máy tính tổng quát vẫn thiếu một hệ thống nền tảng có khả năng tổng quát hóa zero-shot rộng rãi trên nhiều tác vụ phân vùng khác nhau. Các tập dữ liệu hiện có cho phân vùng ảnh rất nhỏ so với các kho ngữ liệu ảnh-văn bản quy mô web, và các kiến trúc phân vùng truyền thống thường bị ràng buộc vào các lớp ngữ nghĩa cố định hoặc các thiết lập tương tác chuyên biệt.
Để xây dựng một vision foundation model cho phân vùng, các tác giả đồng thời giải quyết ba yếu tố cốt lõi:
- Tác vụ (Task): Mục tiêu nào cho phép chuyển giao zero-shot tổng quát?
- Mô hình (Model): Kiến trúc nào hỗ trợ nhận prompt linh hoạt theo thời gian thực đồng thời xử lý được tính nhập nhằng (ambiguity) cố hữu của thị giác?
- Dữ liệu (Data): Làm thế nào để thu thập các mask phân vùng ở quy mô web khi dữ liệu internet thiếu các nhãn mask dày đặc (dense masks)?
Các ý tưởng cốt lõi
- Tác vụ phân vùng bằng prompt (Promptable Segmentation Task): Mô hình phải trả về một mask phân vùng hợp lệ khi nhận bất kỳ prompt nào—chẳng hạn như các điểm tiền cảnh/hậu cảnh, bounding box, dense mask hoặc văn bản tự do. Khi prompt có tính nhập nhằng (ví dụ: một điểm duy nhất trên áo sơ mi), mô hình phải xuất ra nhiều mask hợp lý theo phân cấp (bộ phận phụ, bộ phận, toàn thể).
- Kiến trúc bất đối xứng giảm tải tính toán (Asymmetric Amortized Architecture - SAM): Một image encoder nặng về tính toán chỉ chạy một lần cho mỗi hình ảnh để tạo ra embedding, trong khi một prompt encoder gọn nhẹ và Transformer decoder hai lớp sẽ xử lý các prompt trong khoảng trên CPU bên trong trình duyệt web.
- Quy trình dữ liệu bánh đà (Flywheel Data Engine): Quy trình gán nhãn ba giai đoạn:
- Thủ công có hỗ trợ (Assisted-manual): SAM hỗ trợ người gán nhãn trong trình duyệt, giảm thời gian gán nhãn từ 34 giây xuống 14 giây cho mỗi mask (thu thập 4,3 triệu mask).
- Bán tự động (Semi-automatic): SAM phát hiện các mask có độ tin cậy cao để hướng người gán nhãn chú ý vào các vật thể chưa được gán nhãn và ít nổi bật hơn (thu thập thêm 5,9 triệu mask).
- Tự động hoàn toàn (Fully automatic): SAM được cung cấp prompt trên một lưới điểm đều kết hợp với các vùng ảnh cắt phóng to (zoomed-in image crops), tạo ra 1,1 tỷ mask trong SA-1B.
Phương pháp
Kiến trúc mô hình
SAM bao gồm ba thành phần:
- Image Encoder: Một Vision Transformer được tiền huấn luyện bằng MAE (mặc định là ViT-H/16) được điều chỉnh với windowed attention và bốn khối global attention, xử lý đầu vào kích thước để tạo ra embedding kích thước với 256 kênh.
- Prompt Encoder:
- Sparse prompts (prompt thưa): Điểm và bounding box được ánh xạ thành các vector 256 chiều bằng cách sử dụng positional encoding cộng với learned type embedding. Văn bản tự do được mã hóa bằng text encoder của CLIP.
- Dense prompts (prompt dày đặc): Mask đầu vào (ở độ phân giải thấp hơn ) được giảm kích thước qua các lớp tích chập với stride 2 và được cộng theo từng phần tử (element-wise) vào image embedding.
- Mask Decoder: Một Transformer decoder hai lớp được sửa đổi. Nó cập nhật các prompt token và image embedding thông qua việc xen kẽ self-attention cho prompt và cross-attention hai chiều (tokens-to-image và image-to-tokens). Các đặc trưng hình ảnh được phóng to qua các phép tích chập chuyển vị (transposed convolutions), và một MLP sẽ chiếu output token để tạo ra một bộ phân loại tuyến tính động, được áp dụng theo từng điểm (point-wise) lên các đặc trưng đã phóng to.
Đầu ra nhận biết tính nhập nhằng và hàm mất mát
Một prompt đơn lẻ thường có thể mô tả nhiều cấu trúc lồng nhau. SAM giải quyết sự nhập nhằng bằng cách dự đoán đồng thời 3 mask cùng với các điểm IoU ước tính tương ứng. Trong quá trình huấn luyện, lan truyền ngược chỉ áp dụng cho tổn thất nhỏ nhất trong số các ứng viên: Một head phụ trợ sẽ tối thiểu hóa sai số bình phương trung bình giữa IoU dự đoán và IoU ground truth: Khi nhiều prompt được cung cấp cùng lúc, SAM sẽ xuất ra một mask duy nhất không nhập nhằng bằng cách sử dụng một output token chuyên dụng thứ tư.
Kết quả
- Chuyển giao Zero-Shot Point-to-Mask: Trên 23 tập dữ liệu phân vùng đa dạng (bao gồm ảnh góc nhìn thứ nhất, ảnh dưới nước, ảnh chụp từ trên không và ảnh kính hiển vi), SAM vượt trội hơn RITM trên 16/23 tập dữ liệu chỉ với một prompt điểm ở trung tâm (với mức chênh lệch lên tới IoU). Khi tính nhập nhằng được giải quyết thông qua bộ chọn oracle trên 3 dự đoán của SAM, SAM vượt trội hơn RITM trên toàn bộ 23 tập dữ liệu. Đánh giá chất lượng từ con người luôn xếp hạng SAM cao hơn đáng kể (từ 7 đến 9 trên 10).
- Zero-Shot Edge Detection (BSDS500): Được đánh giá zero-shot bằng lưới kết hợp lọc Sobel và NMS cạnh, SAM đạt ODS là 0,768 và R50 là 0,928, cạnh tranh tốt với các mô hình có giám sát như HED (ODS 0,788, R50 0,923).
- Zero-Shot Object Proposals (LVIS v1): SAM đạt 59,3 AR@1000 mà không cần giám sát theo lớp, vượt qua baseline ViTDet-H có giám sát hoàn toàn trên các vật thể kích thước trung bình (81,6 so với 80,8), vật thể lớn (86,9 so với 87,0) và các danh mục hiếm (65,8 so với 58,3).
- Zero-Shot Instance Segmentation: Khi được cung cấp prompt là các bounding box từ ViTDet, SAM đạt 46,5 AP trên COCO và 44,7 AP trên LVIS. Trong các đánh giá của con người, người gán nhãn liên tục đánh giá mask của SAM sắc nét hơn và có chất lượng cao hơn đầu ra của ViTDet có giám sát đầy đủ.
Hạn chế và các câu hỏi mở
- Chi tiết tinh vi và độ phóng đại cực lớn: SAM có thể bỏ sót các cấu trúc cực nhỏ hoặc tạo ra các phần nhỏ rời rạc so với các phương pháp tương tác tốn nhiều tài nguyên tính toán vốn phóng to rõ ràng vào các vùng ảnh cắt.
- Độ trễ toàn pipeline: Mặc dù giải mã prompt diễn ra theo thời gian thực (), việc chạy image encoder ViT-H rất nặng lại không đạt tốc độ thời gian thực.
- Hiểu biết ngữ nghĩa: SAM tạo ra các mask không phân biệt lớp (class-agnostic); nó không cung cấp nhãn danh mục ngữ nghĩa (semantic) hoặc toàn cảnh (panoptic) một cách nguyên bản nếu không kết hợp với các bộ phân loại bên ngoài.
- Nhận prompt text-to-mask: Pipeline nhận prompt bằng văn bản được căn chỉnh với CLIP ở dạng zero-shot vẫn còn ở mức sơ khởi và nhạy cảm hơn so với các prompt hình học.
Thuật ngữ chính
- promptable segmentation task
- Tác vụ xác định mục tiêu xuất ra một mask phân vùng hợp lệ dựa trên các prompt đầu vào tùy ý như điểm, bounding box, mask hoặc văn bản.
- SAM
- Segment Anything Model; một mô hình thị giác bao gồm một image encoder ViT nặng, một prompt encoder và một mask decoder gọn nhẹ chạy thời gian thực đã được khấu hao chi phí tính toán.
- SA-1B
- Tập dữ liệu Segment Anything 1-Billion, chứa hơn 1,1 tỷ mask được tạo tự động trên 11 triệu hình ảnh độ phân giải cao, đảm bảo quyền riêng tư.
- data engine
- Khung làm việc ba giai đoạn có mô hình tham gia vào vòng lặp (assisted-manual, semi-automatic và fully automatic) được sử dụng để mở rộng quy mô gán nhãn mask lên mức web scale.
- ambiguity-aware modeling
- Lựa chọn thiết kế trong đó decoder xuất ra 3 mask theo phân cấp cùng các điểm IoU dự đoán cho một prompt duy nhất, và chỉ tính toán gradient huấn luyện từ dự đoán có tổn thất thấp nhất.
- amortized real-time inference
- Việc tính toán embedding hình ảnh nặng chỉ một lần cho mỗi ảnh để các lần giải mã mask dựa trên prompt tiếp theo chỉ mất khoảng 50ms trên CPU.
- zero-shot transfer
- Đánh giá mô hình nhận prompt đã tiền huấn luyện trên các tác vụ xuôi dòng và các phân phối hình ảnh chưa từng thấy bằng kỹ thuật prompt mà không cần tinh chỉnh trọng số.
- stable mask filtering
- Bộ lọc chất lượng giúp chọn ra các mask có hình dạng nhị phân thay đổi không đáng kể khi đặt ngưỡng bản đồ xác suất logit tại so với .
Câu hỏi thường gặp
SAM xử lý tính nhập nhằng như thế nào khi một điểm duy nhất có thể ám chỉ nhiều vật thể?
SAM xuất ra đồng thời ba mask (thường đại diện cho bộ phận phụ, bộ phận và toàn thể) cùng với điểm tin cậy IoU dự đoán. Trong quá trình huấn luyện, mô hình chỉ lan truyền ngược tổn thất từ dự đoán có sai số thấp nhất.
Có phải 1,1 tỷ mask trong SA-1B đều được gán nhãn thủ công?
Không, 99,1% số mask được phát hành trong SA-1B được tạo hoàn toàn tự động bằng cách prompt SAM trên các lưới điểm đều khắp 11 triệu ảnh, kết hợp với các bộ lọc nghiêm ngặt về độ tin cậy và độ ổn định.
SAM có thể phân vùng một hình ảnh dựa trên mô tả văn bản không?
Có, dưới dạng thử nghiệm chứng minh khái niệm (proof-of-concept). SAM được huấn luyện bằng cách đưa CLIP image embedding của các mask làm prompt token trong quá trình huấn luyện, cho phép text embedding từ text encoder của CLIP đóng vai trò làm prompt cho SAM lúc suy luận.
Tại sao AP của SAM lại thấp hơn ViTDet trên COCO nếu con người đánh giá mask của SAM cao hơn?
Các mô hình có giám sát học được các thiên kiến đa giác (polygon biases), các tạo tác làm mịn ranh giới và các quy ước amodal đặc thù của tập dữ liệu có trong nhãn ground truth của COCO, trong khi SAM zero-shot lại tạo ra các ranh giới thị giác dạng modal sắc nét phù hợp với cảm nhận của con người nhưng lại bị phạt điểm IoU khi so với các nhãn bị thiên kiến.
Phần giải thích trên trang này do AI viết dựa trên bài báo và có thể có sai sót. Hãy đọc bài báo gốc để biết chi tiết.