https://arxiv.org/abs/2304.02643
요약
우리는 이미지 분할을 위한 새로운 과제, 모델, 데이터셋을 소개하는 Segment Anything (SA) 프로젝트를 발표합니다. 데이터 수집 루프에서 효율적인 모델을 사용하여 11M개의 라이선스 및 프라이버시를 준수하는 이미지에서 10억 개 이상의 마스크를 포함하는 현재까지 가장 큰 분할 데이터셋을 구축했습니다. 이 모델은 프롬프트를 사용할 수 있도록 설계되고 훈련되었으며, 새로운 이미지 분포 및 과제로 제로샷 전이를 할 수 있습니다. 우리는 다양한 과제에서 모델의 성능을 평가했으며, 제로샷 성능이 종종 이전의 완전 감독된 결과와 경쟁할 정도로 또는 그보다 우수함을 발견했습니다. 우리는 컴퓨터 비전의 기초 모델 연구를 촉진하기 위해 Segment Anything Model (SAM)과 10억 개의 마스크와 11M개의 이미지가 포함된 데이터셋 (SA-1B)을 https://segment-anything.com에서 공개합니다.
그림 1: 우리는 프롬프트 기반 분할 과제, 데이터 주석을 지원하고 프롬프트 엔지니어링을 통해 다양한 과제로 제로샷 전이를 가능하게 하는 분할 모델 (SAM), 그리고 10억 개 이상의 마스크로 구성된 데이터셋 SA-1B를 수집하기 위한 데이터 엔진 등 세 가지 상호 연결된 구성 요소를 도입하여 분할을 위한 기초 모델을 구축하는 것을 목표로 합니다.
1. 서론
웹 규모의 데이터셋으로 사전 학습된 대형 언어 모델은 강력한 제로샷 및 퓨샷 일반화 능력으로 NLP 분야에서 혁신을 일으키고 있습니다【10】. 이러한 "기초 모델"【8】은 훈련 중에 보지 못한 과제와 데이터 분포에 일반화할 수 있습니다. 이 기능은 종종 손으로 작성한 텍스트를 사용하여 언어 모델을 특정 작업에 유효한 텍스트 응답을 생성하도록 하는 프롬프트 엔지니어링으로 구현됩니다. 이러한 모델은 웹에서 풍부한 텍스트 코퍼스를 사용하여 확장 및 훈련되었을 때, 제로 및 퓨샷 성능이 놀라울 정도로 좋으며, 때로는 미세 조정된 모델과 비교해도 손색이 없습니다【10, 21】. 경험적 경향은 모델의 규모, 데이터셋 크기, 총 훈련 연산량이 증가함에 따라 이러한 행동이 개선된다는 것을 보여줍니다【56, 10, 21, 51】.
기초 모델은 컴퓨터 비전에서도 탐구되고 있지만, 그 정도는 더 적습니다. 아마도 가장 두드러진 예는 웹에서 페어링된 텍스트와 이미지를 정렬하는 것입니다. 예를 들어, CLIP【82】와 ALIGN【55】은 대조 학습을 사용하여 텍스트와 이미지 인코더를 훈련시키며 두 모달리티를 정렬합니다. 일단 훈련되면, 설계된 텍스트 프롬프트는 새로운 시각적 개념과 데이터 분포에 대한 제로샷 일반화를 가능하게 합니다. 이러한 인코더는 이미지 생성과 같은 다운스트림 작업을 가능하게 하는 다른 모듈과 효과적으로 조합될 수도 있습니다 (예: DALL·E【83】). 비전과 언어 인코더에서 많은 진전이 이루어졌지만, 컴퓨터 비전은 이 범위를 넘어서는 광범위한 문제들을 포함하고 있으며, 많은 경우에 풍부한 훈련 데이터가 존재하지 않습니다.
이 연구에서 우리의 목표는 이미지 분할을 위한 기초 모델을 구축하는 것입니다. 즉, 우리는 프롬프트 가능한 모델을 개발하고 강력한 일반화를 가능하게 하는 과제를 사용하여 넓은 데이터셋에서 사전 학습을 시도합니다. 이 모델을 통해 새로운 데이터 분포에서 프롬프트 엔지니어링을 사용하여 다양한 다운스트림 분할 문제를 해결하고자 합니다.
이 계획의 성공은 세 가지 요소에 달려 있습니다: 과제, 모델, 데이터. 이를 개발하기 위해 우리는 이미지 분할에 관한 다음 질문들을 다룹니다:
- 제로샷 일반화를 가능하게 할 과제는 무엇인가?
- 이에 상응하는 모델 아키텍처는 무엇인가?
- 이 과제와 모델을 지원할 데이터는 무엇인가?
이 질문들은 얽혀 있으며 종합적인 해결책이 필요합니다. 우리는 강력한 사전 학습 목표를 제공하고 넓은 범위의 다운스트림 응용을 가능하게 하는 일반적인 프롬프트 가능한 분할 과제를 정의하는 것부터 시작합니다. 이 과제는 유연한 프롬프트를 지원하고 인터랙티브한 사용을 위해 프롬프트될 때 실시간으로 분할 마스크를 출력할 수 있는 모델이 필요합니다. 우리의 모델을 훈련시키기 위해서는 다양한 대규모 데이터 소스가 필요합니다. 불행히도, 웹 규모의 분할 데이터 소스는 존재하지 않으므로, 이를 해결하기 위해 "데이터 엔진"을 구축합니다. 즉, 우리는 데이터 수집을 돕기 위해 효율적인 모델을 사용하는 것과 새로 수집된 데이터를 사용하여 모델을 개선하는 것을 반복합니다. 다음으로, 우리는 각 상호 연결된 구성 요소를 소개하고, 우리가 만든 데이터셋과 우리의 접근 방식의 효과를 입증하는 실험을 소개합니다.
과제 (§2)
NLP와 최근의 컴퓨터 비전에서 기초 모델은 종종 "프롬프팅" 기술을 사용하여 새로운 데이터셋과 과제에 대해 제로샷 및 퓨샷 학습을 수행할 수 있는 유망한 발전입니다. 이 연구에서 영감을 받아, 우리는 프롬프트 가능한 분할 과제를 제안합니다. 이 과제의 목표는 어떤 분할 프롬프트가 주어졌을 때 유효한 분할 마스크를 반환하는 것입니다 (그림 1a 참조). 프롬프트는 이미지에서 무엇을 분할할지 지정하는 것으로, 예를 들어, 프롬프트는 객체를 식별하는 공간적 또는 텍스트 정보를 포함할 수 있습니다. 유효한 출력 마스크의 요구 사항은 프롬프트가 모호하여 여러 객체를 지칭할 수 있는 경우 (예: 셔츠 위의 점이 셔츠 또는 셔츠를 입은 사람을 나타낼 수 있음)에도 최소한 그 중 하나에 대해 합리적인 마스크를 출력해야 한다는 것을 의미합니다. 우리는 프롬프트 가능한 분할 과제를 사전 학습 목표로 사용하고 프롬프트 엔지니어링을 통해 일반적인 다운스트림 분할 과제를 해결합니다.
모델 (§3)
프롬프트 가능한 분할 과제와 현실 세계의 사용 목표는 모델 아키텍처에 제약을 부여합니다. 특히, 모델은 유연한 프롬프트를 지원하고, 인터랙티브한 사용을 위해 마스크를 실시간으로 계산할 수 있어야 하며, 모호성을 인식해야 합니다. 놀랍게도, 단순한 디자인이 이 세 가지 제약을 모두 만족시킨다는 것을 발견했습니다: 강력한 이미지 인코더가 이미지 임베딩을 계산하고, 프롬프트 인코더가 프롬프트를 임베딩하며, 그런 다음 두 정보 소스가 가벼운 마스크 디코더에서 결합되어 분할 마스크를 예측합니다. 우리는 이 모델을 Segment Anything Model (SAM)이라고 부릅니다 (그림 1b 참조). SAM을 이미지 인코더와 빠른 프롬프트 인코더 / 마스크 디코더로 분리함으로써 동일한 이미지 임베딩을 다양한 프롬프트와 함께 재사용할 수 있으며, 그 비용을 절감할 수 있습니다. 이미지 임베딩이 주어지면, 프롬프트 인코더와 마스크 디코더는 웹 브라우저에서 약 50ms 내에 프롬프트에서 마스크를 예측합니다. 우리는 점, 상자, 마스크 프롬프트에 집중하고, 자유 형식의 텍스트 프롬프트에 대한 초기 결과도 제시합니다. SAM을 모호성 인식하게 만들기 위해, 단일 프롬프트에 대해 여러 마스크를 예측하도록 설계하여, SAM이 자연스럽게 모호성을 처리할 수 있도록 합니다 (예: 셔츠 vs. 사람 예제).
데이터 엔진 (§4)
새로운 데이터 분포에 대한 강력한 일반화를 달성하기 위해, 우리는 기존의 어느 분할 데이터셋을 초과하는 대규모의 다양한 마스크 집합으로 SAM을 훈련시킬 필요가 있음을 발견했습니다. 기초 모델에 대한 전형적인 접근 방식은 온라인에서 데이터를 얻는 것이지만【82】, 마스크는 자연스럽게 풍부하지 않기 때문에 대안 전략이 필요합니다. 우리의 해결책은 "데이터 엔진"을 구축하는 것입니다. 즉, 데이터셋 주석에서 모델을 함께 개발하는 것입니다 (그림 1c 참조). 우리의 데이터 엔진은 세 가지 단계로 이루어집니다: 지원-수동, 반자동, 완전 자동. 첫 번째 단계에서 SAM은 주석자들이 마스크를 주석하는 것을 돕습니다, 이는 전통적인 인터랙티브 분할 설정과 유사합니다. 두 번째 단계에서는 SAM이 객체 위치를 프롬프팅하여 일부 객체에 대해 자동으로 마스크를 생성하고 주석자는 남은 객체를 주석합니다, 이는 마스크 다양성을 증가시키는 데 도움이 됩니다. 마지막 단계에서 우리는 전경 점의 정규 그리드로 SAM을 프롬프팅하여 평균적으로 이미지 당 약 100개의 고품질 마스크를 생성합니다.
데이터셋 (§5)
우리의 최종 데이터셋인 SA-1B는 11M개의 라이선스 및 프라이버시를 보호하는 이미지에서 10억 개 이상의 마스크를 포함합니다 (그림 2 참조). SA-1B는 우리의 데이터 엔진의 최종 단계를 사용하여 완전 자동으로 수집되었으며, 기존의 어느 분할 데이터셋보다 400배 이상의 마스크를 가지고 있습니다【66, 44, 117, 60】. 우리는 광범위하게 검증하여 마스크의 품질과 다양성이 높음을 확인했습니다. SA-1B는 SAM을 강력하고 일반적으로 훈련시키는 데 사용되는 것 외에도, 새로운 기초 모델을 구축하려는 연구에 귀중한 자원이 되기를 바랍니다.
책임 있는 AI (§6)
우리는 SA-1B와 SAM을 사용할 때의 잠재적인 공정성 문제와 편향에 대해 연구하고 보고합니다. SA-1B의 이미지는 지리적, 경제적으로 다양한 국가를 포함하며, SAM은 다른 그룹의 사람들 간에 유사하게 작동함을 발견했습니다. 이를 통해 우리의 작업이 현실 세계의 사용 사례에 더 공평하게 되기를 바랍니다. 우리는 부록에 모델 및 데이터셋 카드를 제공합니다.
실험 (§7)
우리는 SAM을 광범위하게 평가합니다. 먼저, 23개의 다양한 새로운 분할 데이터셋을 사용하여, SAM이 단일 전경 점에서 고품질 마스크를 생성하며, 종종 수동으로 주석된 실제 데이터와 거의 차이가 없음을 발견했습니다. 두 번째로, 제로샷 전이 프로토콜을 사용하여 엣지 검출, 객체 제안 생성, 인스턴스 분할 및 텍스트-마스크 예측의 초기 탐색을 포함한 다양한 다운스트림 작업에서 일관되게 강력한 정량적 및 정성적 결과를 발견했습니다. 이러한 결과는 SAM이 훈련 데이터 범위를 넘어 객체와 이미지 분포를 포함하는 다양한 작업을 해결하기 위해 프롬프트 엔지니어링과 함께 즉시 사용할 수 있음을 시사합니다. 그럼에도 불구하고, §8에서 논의한 바와 같이 개선의 여지가 남아 있습니다.
공개
우리는 연구 목적으로 SA-1B 데이터셋을 공개하고, SAM을 관대한 오픈 라이선스 (Apache 2.0) 하에 https://segment-anything.com에서 사용할 수 있도록 합니다. 또한 온라인 데모를 통해 SAM의 기능을 시연합니다.
그림 2: 우리의 새로 소개된 데이터셋 SA-1B에서 마스크가 오버레이된 예제 이미지들. SA-1B는 11M개의 다양한 고해상도, 라이선스가 있고 프라이버시를 보호하는 이미지와 1.1B개의 고품질 분할 마스크를 포함합니다. 이러한 마스크는 SAM에 의해 완전 자동으로 주석되었으며, 우리가 인간 평가 및 수많은 실험을 통해 검증했듯이, 품질과 다양성이 높습니다. 시각화를 위해 이미지를 이미지 당 마스크 수로 그룹화합니다 (평균적으로 이미지 당 약 100개의 마스크가 있습니다).
2. Segment Anything 과제
우리는 NLP에서 기초 모델 사전 학습과 프롬프트 엔지니어링을 통해 다양한 다운스트림 과제를 해결하는 데 사용되는 다음 토큰 예측 과제에서 영감을 받았습니다【10】. 분할을 위한 기초 모델을 구축하기 위해, 우리는 유사한 기능을 가진 과제를 정의하고자 합니다.
과제
우리는 NLP의 프롬프트 아이디어를 분할로 번역하는 것에서 시작합니다. 여기서 프롬프트는 전경/배경 점의 집합, 대략적인 상자 또는 마스크, 자유 형식의 텍스트 또는 이미지에서 무엇을 분할할지 나타내는 일반적인 정보일 수 있습니다. 프롬프트 가능한 분할 과제는 주어진 프롬프트에 대해 유효한 분할 마스크를 반환하는 것입니다. "유효한" 마스크의 요구 사항은 프롬프트가 모호하여 여러 객체를 지칭할 수 있는 경우 (예: 셔츠 대 사람 예제 및 그림 3 참조)에도 최소한 그 중 하나에 대해 합리적인 마스크를 출력해야 한다는 것을 의미합니다. 이 요구 사항은 언어 모델이 모호한 프롬프트에 대해 일관된 응답을 출력해야 하는 것과 유사합니다. 우리는 이 과제를 선택한 이유는 자연스러운 사전 학습 알고리즘을 유도하고, 프롬프팅을 통해 다운스트림 분할 과제로 제로샷 전이를 가능하게 하는 일반적인 방법이기 때문입니다.
사전 학습
프롬프트 가능한 분할 과제는 각 훈련 샘플에 대해 프롬프트(예: 점, 상자, 마스크)의 시퀀스를 시뮬레이션하고 모델의 마스크 예측을 실제값과 비교하는 자연스러운 사전 학습 알고리즘을 제안합니다. 우리는 이 방법을 인터랙티브 분할에서 적응시킵니다【109, 70】, 하지만 인터랙티브 분할의 목표는 충분한 사용자 입력 후에 유효한 마스크를 예측하는 것인 반면, 우리의 목표는 프롬프트가 모호할 때도 항상 유효한 마스크를 예측하는 것입니다. 이는 우리의 데이터 엔진이 요구하는 자동 주석을 포함한 모호성을 수반하는 사용 사례에서 사전 학습된 모델이 효과적임을 보장합니다 (§4 참조). 이 과제에서 좋은 성능을 내기 위해서는 특화된 모델링과 훈련 손실 선택이 필요하며, 이에 대해서는 §3에서 논의합니다.
제로샷 전이
직관적으로, 우리의 사전 학습 과제는 모델이 추론 시점에 어떤 프롬프트에도 적절히 응답할 수 있는 능력을 부여하므로, 다운스트림 과제는 적절한 프롬프트를 설계함으로써 해결할 수 있습니다. 예를 들어, 고양이에 대한 바운딩 박스 검출기가 있다면, 고양이 인스턴스 분할은 검출기의 박스 출력을 우리의 모델에 대한 프롬프트로 제공함으로써 해결할 수 있습니다. 일반적으로, 다양한 실용적인 분할 과제는 프롬프팅으로 변환될 수 있습니다. 자동 데이터셋 레이블링 외에도, 우리는 §7 실험에서 다섯 가지 다양한 예제 과제를 탐구합니다.
그림 3: 각 열은 단일 모호한 점 프롬프트(녹색 원)로부터 SAM이 생성한 3개의 유효한 마스크를 보여줍니다.
관련 과제
분할은 매우 넓은 분야로, 인터랙티브 분할【57, 109】, 엣지 검출【3】, 슈퍼 픽셀화【85】, 객체 제안 생성【2】, 전경 분할【94】, 의미론적 분할【90】, 인스턴스 분할【66】, 전경 분할【59】 등이 포함됩니다. 우리의 프롬프트 가능한 분할 과제의 목표는 프롬프트 엔지니어링을 통해 기존 및 새로운 분할 과제에 적응할 수 있는 폭넓은 기능을 갖춘 모델을 생산하는 것입니다. 이 능력은 일종의 과제 일반화입니다【26】. 이는 다중 과제 분할 시스템에 관한 이전 연구와 다릅니다. 다중 과제 시스템에서는 단일 모델이 고정된 과제 집합을 수행하지만, 훈련 및 테스트 과제는 동일합니다. 우리의 연구에서 중요한 차이점은 프롬프트 가능한 분할을 위해 훈련된 모델이 더 큰 시스템의 구성 요소로서 추론 시점에 새로운, 다른 과제를 수행할 수 있다는 점입니다. 예를 들어, 인스턴스 분할을 수행하려면 프롬프트 가능한 분할 모델을 기존 객체 검출기와 결합할 수 있습니다.
토론
프롬프팅 및 구성은 단일 모델을 확장 가능한 방식으로 사용하게 해주는 강력한 도구로, 모델 설계 당시에는 알지 못했던 과제를 수행할 수 있게 해줍니다. 이 접근 방식은 다른 기초 모델들이 사용되는 방식과 유사합니다. 예를 들어, CLIP【82】가 DALL·E【83】 이미지 생성 시스템의 텍스트-이미지 정렬 구성 요소로 사용되는 방식과 같습니다. 우리는 프롬프트 엔지니어링과 같은 기술로 구동되는 구성 가능한 시스템 설계가 고정된 과제 집합을 위해 특별히 훈련된 시스템보다 더 다양한 응용 프로그램을 가능하게 할 것이라고 예상합니다. 프롬프트 가능한 분할과 인터랙티브 분할을 구성의 관점에서 비교하는 것도 흥미롭습니다. 인터랙티브 분할 모델은 인간 사용자를 염두에 두고 설계되었지만, 프롬프트 가능한 분할을 위해 훈련된 모델은 또한 더 큰 알고리즘 시스템에 구성될 수 있습니다. 우리는 이를 시연할 것입니다.
그림 4: Segment Anything Model (SAM) 개요. 고성능 이미지 인코더가 이미지 임베딩을 출력하고, 다양한 입력 프롬프트에 의해 효율적으로 쿼리되어 실시간 속도로 객체 마스크를 생성할 수 있습니다. 하나 이상의 객체에 해당하는 모호한 프롬프트의 경우, SAM은 여러 유효한 마스크와 관련된 신뢰 점수를 출력할 수 있습니다.
3. Segment Anything 모델
다음으로 프롬프트 가능한 분할을 위한 Segment Anything Model (SAM)에 대해 설명합니다. SAM은 세 가지 구성 요소로 이루어져 있으며, 그림 4에 나와 있습니다: 이미지 인코더, 유연한 프롬프트 인코더, 빠른 마스크 디코더. 우리는 (암화된) 실시간 성능을 위해 특정 트레이드오프가 있는 Transformer 비전 모델【14, 33, 20, 62】을 기반으로 합니다. 여기서 각 구성 요소를 고수준에서 설명하고, 세부 사항은 §A에 있습니다.
이미지 인코더
확장성과 강력한 사전 학습 방법에서 영감을 받아, 우리는 고해상도 입력을 처리하기 위해 최소한으로 조정된 MAE【47】 사전 학습 Vision Transformer (ViT)【33】를 사용합니다【62】. 이미지 인코더는 이미지당 한 번 실행되며 모델을 프롬프트하기 전에 적용될 수 있습니다.
프롬프트 인코더
우리는 두 가지 프롬프트 집합을 고려합니다: 희소 프롬프트(점, 상자, 텍스트)와 밀집 프롬프트(마스크). 우리는 점과 상자를 각 프롬프트 유형에 대해 학습된 임베딩과 위치 인코딩을 합산하여 표현하고, 자유 형식의 텍스트는 CLIP【82】의 기성 텍스트 인코더를 사용합니다. 밀집 프롬프트(즉, 마스크)는 컨볼루션을 사용하여 임베딩되고 이미지 임베딩과 요소별로 합산됩니다.
마스크 디코더
마스크 디코더는 이미지 임베딩, 프롬프트 임베딩, 출력 토큰을 마스크로 효율적으로 매핑합니다. 이 설계는【14, 20】에서 영감을 받아 Transformer 디코더 블록의 변형과 동적 마스크 예측 헤드를 사용합니다. 우리의 수정된 디코더 블록은 프롬프트 자체 주의와 교차 주의를 두 방향(프롬프트에서 이미지 임베딩으로, 그 반대로)으로 사용하여 모든 임베딩을 업데이트합니다. 두 블록을 실행한 후, 우리는 이미지 임베딩을 업샘플링하고 MLP가 출력 토큰을 동적 선형 분류기로 매핑하여 각 이미지 위치에서 마스크 전경 확률을 계산합니다.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
self-attention to cross-attention은 유구한 전통처럼 되어가는 느낌
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
모호성 해결
출력 하나만으로는 모호한 프롬프트가 주어졌을 때 여러 유효한 마스크를 평균화합니다. 이를 해결하기 위해, 우리는 단일 프롬프트에 대해 여러 출력 마스크를 예측하도록 모델을 수정합니다 (그림 3 참조). 대부분의 일반적인 경우를 처리하는 데 3개의 마스크 출력이 충분함을 발견했습니다(중첩된 마스크는 보통 세 겹: 전체, 부분, 하위 부분). 훈련 중에는 마스크에 대해 최소 손실【15, 45, 64】만 역전파합니다. 마스크를 순위 매기기 위해, 모델은 각 마스크에 대해 신뢰 점수(즉, 추정 IoU)를 예측합니다.
효율성
전체 모델 설계는 주로 효율성을 염두에 두고 있습니다. 사전 계산된 이미지 임베딩이 주어지면, 프롬프트 인코더와 마스크 디코더는 웹 브라우저에서 CPU로 50ms 내에 실행됩니다. 이 런타임 성능은 모델의 원활하고 실시간 인터랙티브 프롬프팅을 가능하게 합니다.
손실 및 훈련
우리는【14】에서 사용된 초점 손실【65】과 다이스 손실【73】의 선형 결합으로 마스크 예측을 감독합니다. 우리는 기하학적 프롬프트의 혼합을 사용하여 프롬프트 가능한 분할 과제를 위해 훈련합니다(텍스트 프롬프트에 대해서는 §7.5 참조).【92, 37】을 따라, 우리는 마스크당 11라운드에서 무작위로 프롬프트를 샘플링하여 인터랙티브 설정을 시뮬레이션하여 SAM이 우리의 데이터 엔진에 원활하게 통합되도록 합니다.
그림 5: 이미지 크기로 정규화된 마스크 중심 분포.
4. Segment Anything 데이터 엔진
인터넷에는 분할 마스크가 풍부하지 않기 때문에, 우리는 1.1억 개의 마스크 데이터셋인 SA-1B를 수집하기 위해 데이터 엔진을 구축했습니다. 데이터 엔진은 세 단계로 이루어집니다: (1) 모델 지원 수동 주석 단계, (2) 자동으로 예측된 마스크와 모델 지원 주석이 혼합된 반자동 단계, (3) 주석자의 입력 없이 모델이 마스크를 생성하는 완전 자동 단계입니다. 각 단계를 자세히 설명하겠습니다.
모델 지원 수동 단계
첫 번째 단계에서는 고전적인 인터랙티브 분할과 유사하게, 전문 주석자 팀이 SAM이 지원하는 브라우저 기반 인터랙티브 분할 도구를 사용하여 전경/배경 객체 점을 클릭하여 마스크를 라벨링했습니다. 마스크는 픽셀 정밀한 "브러시"와 "지우개" 도구를 사용하여 정제할 수 있었습니다. 우리의 모델 지원 주석은 사전 계산된 이미지 임베딩을 사용하여 브라우저 내에서 실시간으로 실행되어 진정한 인터랙티브 경험을 가능하게 했습니다. 우리는 객체 라벨링에 의미론적 제약을 두지 않았으며, 주석자들이 "스텁(stuff)"과 "물건(things)" 모두를 자유롭게 라벨링하도록 했습니다【1】. 주석자들에게 이름을 붙이거나 설명할 수 있는 객체를 라벨링하도록 권장했지만, 이러한 이름이나 설명을 수집하지는 않았습니다. 주석자들은 두드러진 순서대로 객체를 라벨링하라는 요청을 받았고, 마스크 주석에 30초 이상 걸리면 다음 이미지로 넘어가도록 권장되었습니다.
이 단계의 초기에는 SAM이 공용 분할 데이터셋을 사용하여 훈련되었습니다. 충분한 데이터가 주석된 후, SAM은 새로 주석된 마스크만을 사용하여 재훈련되었습니다. 더 많은 마스크가 수집됨에 따라, 이미지 인코더는 ViT-B에서 ViT-H로 확장되었고, 기타 아키텍처 세부 사항도 발전했습니다. 총 6번 모델을 재훈련했습니다. 모델이 개선됨에 따라 마스크당 평균 주석 시간은 34초에서 14초로 감소했습니다. 우리는 14초가 COCO【66】의 마스크 주석보다 6.5배 빠르며, 극단적인 점을 사용한 바운딩 박스 라벨링보다 2배만 느리다는 것을 주목합니다【76, 71】. SAM이 개선됨에 따라 이미지당 평균 마스크 수는 20개에서 44개로 증가했습니다. 전체적으로 이 단계에서 12만 개의 이미지에서 430만 개의 마스크를 수집했습니다.
반자동 단계
이 단계에서는 모델의 모든 것을 분할할 수 있는 능력을 향상시키기 위해 마스크의 다양성을 높이는 것을 목표로 했습니다. 주석자들이 덜 두드러진 객체에 집중할 수 있도록 하기 위해, 먼저 신뢰할 수 있는 마스크를 자동으로 감지했습니다. 그런 다음 이러한 마스크로 미리 채워진 이미지를 주석자들에게 제시하고, 추가로 주석되지 않은 객체를 주석하도록 요청했습니다. 신뢰할 수 있는 마스크를 감지하기 위해, 우리는 첫 번째 단계의 모든 마스크를 사용하여 "객체" 범주로 바운딩 박스 검출기를 훈련시켰습니다【84】. 이 단계 동안 우리는 추가로 18만 개의 이미지에서 590만 개의 마스크를 수집하여 총 1,020만 개의 마스크를 수집했습니다. 첫 번째 단계와 마찬가지로, 우리는 주기적으로 새로 수집된 데이터로 모델을 재훈련했습니다 (5회). 주석당 평균 주석 시간은 더 어려운 객체를 라벨링함에 따라 34초로 다시 증가했습니다 (자동 마스크 제외). 이미지당 평균 마스크 수는 44개에서 72개로 증가했습니다 (자동 마스크 포함).
완전 자동 단계
최종 단계에서는 주석이 완전 자동으로 이루어졌습니다. 이는 모델에 두 가지 주요 개선이 이루어졌기 때문에 가능했습니다. 첫째, 이 단계의 시작 시점에서 우리는 이전 단계의 다양한 마스크를 포함하여 모델을 크게 개선할 수 있는 충분한 마스크를 수집했습니다. 둘째, 이 단계에서는 모호성 인식 모델을 개발하여 모호한 경우에도 유효한 마스크를 예측할 수 있게 되었습니다. 구체적으로, 우리는 32×32 정규 그리드의 점으로 모델을 프롬프팅하고 각 점에 대해 유효한 객체에 해당할 수 있는 마스크 집합을 예측했습니다. 모호성 인식 모델을 사용하면, 점이 부분이나 하위 부분에 놓일 경우에도 모델은 하위 부분, 부분 및 전체 객체를 반환합니다. 모델의 IoU 예측 모듈을 사용하여 신뢰할 수 있는 마스크를 선택하고, 또한 안정적인 마스크만 식별하고 선택했습니다 (확률 맵을 0.5 - ε와 0.5 + ε에서 임계값으로 설정했을 때 유사한 마스크가 생성되는 경우 마스크를 안정적이라고 간주). 마지막으로, 신뢰할 수 있고 안정적인 마스크를 선택한 후, 비최대 억제(NMS)를 적용하여 중복을 필터링했습니다. 더 작은 마스크의 품질을 더욱 향상시키기 위해 여러 겹치는 확대된 이미지 크롭을 처리했습니다. 이 단계에 대한 자세한 내용은 §B를 참조하십시오. 우리는 데이터셋의 1,100만 개 이미지에 완전 자동 마스크 생성을 적용하여 총 11억 개의 고품질 마스크를 생성했습니다. 결과 데이터셋인 SA-1B를 다음에 설명하고 분석합니다.
5. Segment Anything 데이터셋
우리의 데이터셋 SA-1B는 1.1억 개의 고해상도, 라이선스가 있는, 프라이버시를 보호하는 다양한 이미지와 데이터 엔진을 통해 수집된 11억 개의 고품질 분할 마스크로 구성됩니다. 우리는 SA-1B를 기존 데이터셋과 비교하고 마스크 품질과 특성을 분석합니다. SA-1B를 컴퓨터 비전 기초 모델의 미래 개발을 돕기 위해 공개할 예정입니다. SA-1B는 특정 연구 용도로 유리한 라이선스 계약 하에 제공될 것이며, 연구자들을 위한 보호 장치도 마련될 것입니다.
이미지
우리는 사진작가와 직접 작업하는 제공업체로부터 새로운 1,100만 개의 이미지를 라이선스 받았습니다. 이 이미지는 고해상도(평균 3300×4950 픽셀)이며, 결과 데이터 크기는 접근성과 저장에 도전을 줄 수 있습니다. 따라서 우리는 짧은 쪽을 1500픽셀로 설정하여 다운샘플링된 이미지를 공개합니다. 다운샘플링 후에도 우리의 이미지는 많은 기존 비전 데이터셋 (예: COCO【66】의 이미지 크기는 약 480×640 픽셀)보다 훨씬 높은 해상도를 가집니다. 오늘날 대부분의 모델은 훨씬 낮은 해상도 입력으로 작동한다는 점에 유의하십시오. 공개된 이미지에서는 얼굴과 차량 번호판이 블러 처리되었습니다.
마스크
우리의 데이터 엔진은 11억 개의 마스크를 생성했으며, 이 중 99.1%는 완전 자동으로 생성되었습니다. 따라서 자동 마스크의 품질이 매우 중요합니다. 우리는 이를 전문 주석과 직접 비교하고 다양한 마스크 특성이 두드러진 분할 데이터셋과 어떻게 비교되는지 살펴봅니다. 우리의 주요 결론은 아래의 분석 및 §7의 실험에서 입증된 바와 같이, 우리의 자동 마스크가 높은 품질을 가지고 있으며 모델 훈련에 효과적이라는 것입니다. 이러한 발견에 힘입어, SA-1B에는 자동으로 생성된 마스크만 포함됩니다.
마스크 품질
마스크 품질을 추정하기 위해, 우리는 무작위로 500개의 이미지(약 5만 개의 마스크)를 샘플링하고, 우리의 전문 주석자들에게 이 이미지의 모든 마스크 품질을 향상시키도록 요청했습니다. 주석자들은 모델과 픽셀 정밀한 "브러시"와 "지우개" 편집 도구를 사용하여 그렇게 했습니다. 이 절차로 자동으로 예측된 마스크와 전문적으로 수정된 마스크 쌍이 생성되었습니다. 각 쌍 간의 IoU를 계산한 결과, 쌍의 94%가 90% 이상의 IoU를 가졌으며, 97%가 75% 이상의 IoU를 가졌습니다. 비교를 위해, 이전 연구에서는 주석자 간 일관성을 85-91% IoU로 추정합니다【44, 60】. §7의 실험은 다양한 데이터셋에 비해 마스크 품질이 높고, 우리의 모델을 자동 마스크로 훈련시키는 것이 데이터 엔진에서 생성된 모든 마스크를 사용하는 것만큼이나 좋다는 것을 인간 평가로 확인합니다.
그림 6: 데이터셋 마스크 특성. 범례는 각 데이터셋의 이미지와 마스크 수를 참조합니다. SA-1B는 가장 큰 기존 분할 데이터셋 Open Images【60】보다 11배 더 많은 이미지와 400배 더 많은 마스크를 가지고 있습니다.
그림 7: SA-1B 이미지의 추정된 지리적 분포. 대부분의 세계 국가에는 SA-1B에 1,000개 이상의 이미지가 있으며, 이미지가 가장 많은 세 국가는 서로 다른 지역에 있습니다.
마스크 특성
그림 5에서 SA-1B의 객체 중심의 공간 분포를 기존의 가장 큰 분할 데이터셋과 비교하여 나타냈습니다. 모든 데이터셋에는 일반적인 사진작가의 편향이 존재합니다. 우리는 SA-1B가 LVIS v1【44】 및 ADE20K【117】보다 이미지 모서리의 커버리지가 더 넓다는 것을 관찰했으며, COCO【66】와 Open Images V5【60】는 중심 편향이 더 두드러집니다. 그림 6 (범례)에서 이러한 데이터셋을 크기로 비교합니다. SA-1B는 두 번째로 큰 데이터셋인 Open Images보다 11배 더 많은 이미지와 400배 더 많은 마스크를 가지고 있습니다. 평균적으로, SA-1B는 Open Images보다 이미지당 36배 더 많은 마스크를 가지고 있습니다. 이 측면에서 가장 가까운 데이터셋인 ADE20K도 여전히 이미지당 3.5배 더 적은 마스크를 가지고 있습니다. 그림 6 (왼쪽)에서는 이미지당 마스크 분포를 나타냅니다. 다음으로, 그림 6 (중간)에서는 이미지 상대적 마스크 크기(마스크 면적의 제곱근을 이미지 면적으로 나눈 값)를 살펴봅니다. 예상대로, 우리 데이터셋은 이미지당 더 많은 마스크를 가지고 있기 때문에 상대적으로 작은 및 중간 크기의 마스크 비율이 더 높습니다. 마지막으로, 형상 복잡성을 분석하기 위해 마스크의 오목도(1에서 마스크 면적을 마스크의 볼록 껍질의 면적으로 나눈 값을 뺀 값)를 살펴봅니다. 형상 복잡성은 마스크 크기와 상관관계가 있으므로, 우리는 데이터셋의 마스크 크기 분포를 통제하기 위해 먼저 마스크 크기별로 층화된 샘플링을 수행했습니다. 우리는 우리의 마스크의 오목도 분포가 다른 데이터셋과 전반적으로 유사하다는 것을 관찰했습니다.
6. Segment Anything 책임 있는 AI(RAI) 분석
다음으로 SA-1B와 SAM을 사용할 때 잠재적인 공정성 문제와 편향을 조사하여 책임 있는 AI(RAI) 분석을 수행합니다. 우리는 SA-1B의 지리적 및 소득 분포와 사람들의 보호 속성에 대한 SAM의 공정성에 중점을 둡니다. 또한 §F에서 데이터셋, 데이터 주석, 및 모델 카드를 제공합니다.
지리적 및 소득 대표성
표준 방법을 사용하여 사진이 촬영된 국가를 추론합니다 (자세한 내용은 §C 참조). 그림 7에서는 SA-1B의 국가별 이미지 수(왼쪽)와 이미지가 가장 많은 50개국(오른쪽)을 시각화합니다. 상위 세 개국은 서로 다른 지역에서 왔다는 것을 알 수 있습니다. 다음으로, 표 1에서는 SA-1B, COCO【66】 및 Open Images【60】의 지리적 및 소득 대표성을 비교합니다. SA-1B는 유럽과 아시아 및 오세아니아에서 중간 소득 국가의 이미지 비율이 상당히 높습니다. 모든 데이터셋에서 아프리카와 저소득 국가의 이미지는 과소 대표됩니다. SA-1B에서는 모든 지역, 아프리카를 포함하여, 이전의 어느 데이터셋보다 10배 더 많은 최소 2,800만 개의 마스크가 있습니다. 마지막으로, 평균 이미지당 마스크 수(표시되지 않음)는 지역과 소득에 따라 비교적 일관된 것으로 나타났습니다 (이미지당 94-108개).
표 1: 지리적 및 소득 대표성 비교. SA-1B는 유럽과 아시아 및 오세아니아에서 중간 소득 국가의 이미지 비율이 높습니다. 모든 데이터셋에서 아프리카, 라틴 아메리카 및 카리브해, 저소득 국가의 이미지는 과소 대표됩니다.
표 2: 인식된 성별 표현, 연령대, 피부색에 따른 SAM의 사람 분할 성능. 95% 신뢰 구간이 표시됩니다. 각 그룹 내에서 노인 대 중년을 제외하고 모든 신뢰 구간이 겹칩니다.
사람 분할에서의 공정성
우리는 SAM의 성능 차이를 측정하여 인식된 성별 표현, 연령대, 피부 톤 간의 잠재적 공정성 문제를 조사합니다. 성별 표현과 연령에 대해서는 More Inclusive Annotations for People (MIAP)【87】 데이터셋을, 피부 톤에 대해서는 독점 데이터셋을 사용합니다(§C 참조). 우리의 평가는 1점과 3점을 무작위로 샘플링한 시뮬레이션된 인터랙티브 분할을 사용합니다(§D 참조). 표 2 (왼쪽 상단)는 인식된 성별 표현에 대한 결과를 보여줍니다. 여성은 검출 및 분할 데이터셋에서 과소 대표된 것으로 나타났지만【115】, SAM은 그룹 간에 유사하게 작동하는 것을 관찰합니다. 표 2 (왼쪽 하단)에서 인식된 연령에 대한 분석을 반복하며, 젊거나 나이가 많은 사람들이 대규모 데이터셋에서 과소 대표된 것으로 나타났습니다【110】. SAM은 인식된 연령이 높은 사람들에게 가장 잘 작동하지만 신뢰 구간이 큽니다. 마지막으로, 표 2 (오른쪽)에서 인식된 피부 톤에 대한 분석을 반복하며, 밝은 피부 톤을 가진 사람들은 과대 대표되고 어두운 피부 톤을 가진 사람들은 과소 대표된 것으로 나타났습니다【110】. MIAP는 인식된 피부 톤 주석을 포함하지 않기 때문에, 우리는 Fitzpatrick 피부 유형【36】에 대한 주석을 포함하는 독점 데이터셋을 사용합니다. Fitzpatrick 피부 유형은 1(가장 밝은 피부 톤)에서 6(가장 어두운 피부 톤)까지 범위가 있습니다. 평균 값은 다소 다르지만, 그룹 간에 유의미한 차이는 발견되지 않았습니다. 우리의 발견은 과제의 특성에서 비롯된다고 믿으며, SAM이 더 큰 시스템의 구성 요소로 사용될 때 편향이 발생할 수 있음을 인정합니다. 마지막으로, §C에서 우리는 의류 분할에 대한 분석을 확장하여 인식된 성별 표현에 따른 편향의 징후를 발견했습니다.
그림 8: SAM의 제로샷 전이 능력을 평가하기 위해 사용된 23개의 다양한 분할 데이터셋 샘플.
7. 제로샷 전이 실험
이 섹션에서는 Segment Anything Model (SAM)의 제로샷 전이 실험을 제시합니다. 우리는 다섯 가지 과제를 고려하는데, 그 중 네 가지는 SAM을 훈련시킨 프롬프트 가능한 분할 과제와 상당히 다릅니다. 이러한 실험은 훈련 중에 보지 못한 데이터셋과 과제에서 SAM을 평가합니다 (여기서 "제로샷 전이"의 사용은 CLIP【82】에서의 사용과 동일합니다). 데이터셋에는 SA-1B에 나타나지 않은 것으로 보이는 새로운 이미지 분포가 포함될 수 있습니다(예: 수중 이미지나 에고-센트릭 이미지, 그림 8 참조).
우리의 실험은 프롬프트 가능한 분할의 핵심 목표인 어떤 프롬프트로부터 유효한 마스크를 생성하는 것을 테스트하는 것에서 시작합니다. 우리는 단일 전경 점 프롬프트의 도전적인 시나리오를 강조합니다. 이는 다른 더 구체적인 프롬프트보다 모호할 가능성이 더 높기 때문입니다. 다음으로, 저수준, 중간 수준 및 고수준 이미지 이해를 순차적으로 탐색하는 일련의 실험을 제시하며, 이는 해당 분야의 역사적 발전과 대략적으로 평행합니다. 구체적으로, 우리는 SAM에게 (1) 엣지 검출 수행, (2) 모든 것을 분할(즉, 객체 제안 생성), (3) 검출된 객체 분할(즉, 인스턴스 분할), (4) 개념 증명으로 자유 형식 텍스트에서 객체 분할을 수행하도록 프롬프트합니다. 이 네 가지 과제는 SAM이 훈련된 프롬프트 가능한 분할 과제와 상당히 다르며 프롬프트 엔지니어링을 통해 구현됩니다. 우리의 실험은 소멸 연구로 결론을 내립니다.
구현
별도로 명시되지 않는 한: (1) SAM은 MAE【47】 사전 학습된 ViT-H【33】 이미지 인코더를 사용하고, (2) SAM은 데이터 엔진의 최종 단계에서 자동으로 생성된 마스크만 포함된 SA-1B에서 훈련되었습니다. 다른 모든 모델 및 훈련 세부 사항(예: 하이퍼파라미터)에 대해서는 §A를 참조하십시오.
7.1 제로샷
단일 포인트 유효 마스크 평가
과제: 단일 전경 점에서 객체를 분할하는 과제를 평가합니다. 이 과제는 한 점이 여러 객체를 지칭할 수 있으므로 제대로 정의되지 않은 과제입니다. 대부분의 데이터셋에서 모든 가능한 마스크를 열거하지 않기 때문에 자동 메트릭이 신뢰할 수 없을 수 있습니다. 따라서 우리는 표준 mIoU 메트릭(예: 예측된 마스크와 실제 마스크 간의 IoU 평균)을 보완하기 위해, 주석자들이 마스크 품질을 1(무의미)에서 10(픽셀 정확)까지 평가하는 인간 연구를 추가로 수행합니다. 자세한 내용은 §D.1, §E 및 §G를 참조하십시오.
기본적으로, 우리는 인터랙티브 분할의 표준 평가 프로토콜을 따라 실제 마스크의 "중심"에서 점을 샘플링합니다【92】. SAM은 여러 마스크를 예측할 수 있으므로, 기본적으로 모델의 가장 신뢰할 수 있는 마스크만 평가합니다. 기준선은 모두 단일 마스크 방법입니다. 우리는 주로 다른 강력한 기준선과 비교했을 때 우리의 벤치마크에서 가장 뛰어난 성능을 보이는 강력한 인터랙티브 분할기 RITM【92】과 비교합니다.
데이터셋: 우리는 다양한 이미지 분포를 가진 23개의 새로 편집된 데이터셋 모음을 사용합니다. 그림 8에는 데이터셋 목록과 각 데이터셋에서 샘플을 보여줍니다(자세한 내용은 부록 표 7 참조). 우리는 mIoU 평가를 위해 모든 23개의 데이터셋을 사용합니다. 인간 연구를 위해서는 그림 9b에 나열된 하위 집합을 사용합니다(이러한 연구의 자원 요구 사항 때문입니다). 이 하위 집합에는 SAM이 자동 메트릭에 따라 RITM보다 성능이 좋은 데이터셋과 성능이 낮은 데이터셋이 모두 포함됩니다.
그림 9: 23개 데이터셋에 대한 포인트 투 마스크 평가. (a) SAM과 가장 강력한 단일 점 분할기인 RITM【92】의 평균 IoU. 모호성으로 인해 단일 마스크가 실제값과 일치하지 않을 수 있음; 원은 SAM의 3개 예측 중 가장 관련성이 높은 "오라클" 결과를 나타냅니다. (b) 주석자들이 1(최악)에서 10(최상)까지 마스크 품질을 평가한 데이터셋별 비교. 모든 방법은 프롬프트로 실제 마스크 중심을 사용합니다. (c, d) 점 수가 다른 mIoU. SAM은 1점에서 이전 인터랙티브 분할기를 크게 능가하며 점 수가 증가함에 따라 동등해집니다. 1점에서의 낮은 절대 mIoU는 모호성의 결과입니다.
결과: 먼저, mIoU를 사용하여 23개 데이터셋 전체에 대한 자동 평가를 살펴봅니다. 그림 9a에서 데이터셋별 결과를 RITM과 비교합니다. SAM은 23개의 데이터셋 중 16개에서 더 높은 결과를 보이며, 최대 47 IoU까지 차이가 납니다. 또한, 가장 관련성이 높은 SAM의 3개의 마스크 중 하나를 선택하여 실제값과 비교하는 "오라클" 결과를 제시하여 모호성의 영향을 자동 평가에 나타냅니다. 특히, 모호성 해소를 위한 오라클을 사용하면 SAM은 모든 데이터셋에서 RITM을 능가합니다.
인간 연구 결과는 그림 9b에 제시되어 있습니다. 오류 막대는 평균 마스크 평가에 대한 95% 신뢰 구간입니다(모든 차이는 유의미함; 자세한 내용은 §E 참조). 주석자들이 SAM의 마스크 품질을 가장 강력한 기준선인 RITM보다 일관되게 더 높게 평가하는 것을 관찰할 수 있습니다. 단일 출력 마스크를 가진 "모호성 인식 불가" 버전의 SAM은 일관되게 낮은 평가를 받았지만 여전히 RITM보다 높습니다. SAM의 평균 평점은 7에서 9 사이로, 이는 "높은 점수 (7-9): 객체가 식별 가능하고 오류가 작고 드물다(예: 작은, 심하게 가려진 분리된 구성 요소 누락 등)"라는 질적 평가 지침에 해당합니다. 이러한 결과는 SAM이 단일 점에서 유효한 마스크를 분할하는 법을 배웠음을 나타냅니다. DRAM 및 IBD와 같은 데이터셋의 경우, SAM이 자동 메트릭에서 낮은 성능을 보이지만, 인간 연구에서는 일관되게 높은 평가를 받았습니다.
그림 9c는 RITM과 SAM보다 단일 점 성능이 낮은 추가 기준선인 SimpleClick【67】 및 FocalClick【18】을 보여줍니다. 점 수가 1에서 9로 증가함에 따라 방법 간의 차이가 줄어듭니다. 이는 과제가 쉬워짐에 따라 예상되는 결과이며, 또한 SAM은 매우 높은 IoU 체제에 최적화되지 않았기 때문입니다. 마지막으로, 그림 9d에서는 기본 중심점 샘플링을 임의 점 샘플링으로 대체합니다. SAM과 기준선 간의 격차가 커지고 SAM이 두 샘플링 방법 모두에서 유사한 결과를 달성하는 것을 관찰합니다.
그림 10: BSDS500에서 제로샷 엣지 예측. SAM은 엣지 맵을 예측하도록 훈련되지 않았으며, 훈련 중에 BSDS 이미지나 주석에 접근하지 않았습니다.
표 3: BSDS500에서 엣지 검출로의 제로샷 전이.
7.2 제로샷 엣지 검출
접근 방식
우리는 SAM을 BSDS500 [72, 3]을 사용하여 엣지 검출의 고전적인 저수준 과제에서 평가합니다. 우리의 자동 마스크 생성 파이프라인의 단순화된 버전을 사용합니다. 구체적으로, 우리는 SAM을 16×16 정규 그리드의 전경 점으로 프롬프트하여 768개의 예측된 마스크(점당 3개)를 생성합니다. 중복 마스크는 NMS로 제거됩니다. 그런 다음, 임계값이 설정되지 않은 마스크 확률 맵의 소벨 필터링과 표준 경량 후처리를 사용하여 엣지 맵을 계산합니다. 여기에는 엣지 NMS가 포함됩니다(자세한 내용은 §D.2 참조).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
NMS는 "Non-Maximum Suppression"의 약자로, 객체 검출과 이미지 분할에서 자주 사용되는 기술입니다. NMS는 중복된 예측을 제거하고 가장 신뢰할 수 있는 예측을 선택하는 방법입니다. 주로 다음과 같은 과정으로 수행됩니다:
- 초기 예측 정렬: 객체 검출기나 분할 모델이 출력한 예측들을 신뢰도(확률) 순으로 정렬합니다.
- 최대값 선택: 가장 높은 신뢰도를 가진 예측을 선택하고, 해당 예측을 출력 리스트에 추가합니다.
- 중복 제거: 선택된 예측과 일정 기준(IoU, Intersection over Union) 이상 겹치는 다른 예측들을 제거합니다.
- 반복: 더 이상 제거할 예측이 없을 때까지 2단계와 3단계를 반복합니다.
NMS의 주요 목적은 동일한 객체에 대한 여러 중복된 예측을 줄이고, 가장 신뢰할 수 있는 단일 예측만을 남기는 것입니다. 이를 통해 객체 검출이나 분할의 결과를 보다 깔끔하고 신뢰성 있게 만들 수 있습니다.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
결과
대표적인 엣지 맵을 그림 10에 시각화합니다(자세한 내용은 그림 15 참조). 정성적으로, SAM이 엣지 검출을 위해 훈련되지 않았음에도 불구하고 합리적인 엣지 맵을 생성하는 것을 관찰할 수 있습니다. 실제값과 비교했을 때, SAM은 BSDS500에서 주석되지 않은 합리적인 엣지를 포함하여 더 많은 엣지를 예측합니다. 이 편향은 표 3에서 정량적으로 반영되며, 50% 정밀도에서의 재현율(R50)이 높아 정밀도가 낮습니다. SAM은 BSDS500의 편향을 학습하는 최신 방법들보다 뒤처지지만, 초기의 딥러닝 방법들인 HED [108] (BSDS500에서 훈련된)과 비교하여 좋은 성능을 보이며, 이전의 (비록 구식이지만) 제로샷 전이 방법들보다 훨씬 뛰어납니다.
7.3 제로샷 객체 제안
접근 방식
다음으로, 우리는 객체 제안 생성 [2, 102]의 중간 수준 과제에서 SAM을 평가합니다. 이 과제는 객체 검출 연구에서 중요한 역할을 하였으며, 초기 시스템의 중간 단계로 사용되었습니다(예: [102, 41, 84]). 객체 제안을 생성하기 위해, 우리는 약간 수정된 자동 마스크 생성 파이프라인을 실행하고 마스크를 제안으로 출력합니다(자세한 내용은 §D.3 참조).
우리는 LVIS v1 [44]에서 표준 평균 재현율(AR) 메트릭을 계산합니다. 많은 카테고리를 포함하는 LVIS는 도전적인 테스트를 제공합니다. 우리는 ViTDet [62] 검출기(캐스케이드 Mask R-CNN [48, 11] ViT-H)를 사용하여 구현된 강력한 기준선과 비교합니다. 이 "기준선"은 AR을 조작하는 것으로 입증된 "제안 생성기로 가장한 검출기"(DMP) 방법 [16]에 해당하며, 진정으로 까다로운 비교를 제공합니다.
표 4: LVIS v1에서의 객체 제안 생성. SAM은 제로샷으로 적용되었으며, 객체 제안 생성을 위해 훈련되지 않았으며 LVIS 이미지나 주석에 접근하지 않았습니다.
결과
표 4에서 ViTDet-H의 검출을 객체 제안으로 사용하는 것이(즉, AR을 조작하는 DMP 방법 [16]) 전체적으로 가장 좋은 성능을 보이는 것을 볼 수 있습니다. 그러나 SAM은 여러 메트릭에서 놀랍도록 잘 수행합니다. 특히, 중간 및 큰 객체, 희귀하고 일반적인 객체에서 ViTDet-H를 능가합니다. 실제로, SAM은 ViTDet-H가 LVIS에서 훈련된 반면, SAM은 그렇지 않기 때문에 LVIS 특정 주석 편향을 쉽게 학습할 수 있는 작은 객체와 빈번한 객체에서만 ViTDet-H에 뒤처집니다. 우리는 또한 모든 AR 메트릭에서 SAM보다 성능이 훨씬 떨어지는 모호성 인식 불가 버전의 SAM("단일 출력")과 비교합니다.
7.4 제로샷 인스턴스 분할
접근 방식
더 높은 수준의 비전 작업으로 넘어가서, 우리는 SAM을 인스턴스 분할기의 분할 모듈로 사용합니다. 구현은 간단합니다: 객체 검출기(이전에 사용된 ViTDet)를 실행하고, 그 출력 상자를 가지고 SAM을 프롬프트합니다. 이는 더 큰 시스템에서 SAM을 구성하는 예시입니다.
표 5: 인스턴스 분할 결과. SAM은 ViTDet 상자로 프롬프트되어 제로샷 분할을 수행합니다. 완전 감독된 ViTDet는 SAM보다 우수한 성능을 보이지만, 더 높은 품질의 LVIS 마스크에서는 격차가 줄어듭니다. 흥미롭게도, SAM은 인간 평가에서 ViTDet를 능가합니다(그림 11 참조).
그림 11: LVIS 실제값 상자에 적용된 ViTDet와 SAM에 대한 인간 연구에서의 마스크 품질 평가 분포. 우리는 또한 LVIS와 COCO 실제값 품질을 보고합니다. 범례에는 평균 평점과 95% 신뢰 구간이 표시됩니다. 낮은 AP(표 5 참조)에도 불구하고, SAM은 ViTDet보다 높은 평점을 받았으며, 이는 ViTDet가 COCO와 LVIS 훈련 데이터의 편향을 활용함을 시사합니다.
결과
우리는 표 5에서 COCO와 LVIS 데이터셋에서 SAM과 ViTDet가 예측한 마스크를 비교합니다. 마스크 AP 메트릭을 살펴보면 두 데이터셋에서 격차가 존재하지만, SAM은 상당히 근접하며 ViTDet보다는 분명히 뒤처집니다. 출력을 시각화한 결과, SAM의 마스크가 ViTDet의 마스크보다 경계가 더 선명한 경우가 많다는 것을 관찰했습니다(§D.4 및 그림 16 참조). 이 관찰을 조사하기 위해, 주석자들에게 ViTDet 마스크와 SAM 마스크를 이전에 사용한 1에서 10까지의 품질 척도로 평가하도록 요청하는 추가 인간 연구를 수행했습니다. 그림 11에서 SAM이 인간 연구에서 일관되게 ViTDet를 능가하는 것을 관찰했습니다. COCO에서 마스크 AP 격차가 더 크고 실제값 품질이 상대적으로 낮은 경우, ViTDet가 COCO 마스크의 특정 편향을 학습한다고 가정합니다. 제로샷 방법인 SAM은 이러한 (일반적으로 바람직하지 않은) 편향을 활용할 수 없습니다. LVIS 데이터셋은 더 높은 품질의 실제값을 가지고 있지만, 여전히 특정한 특이점(예: 마스크에 구멍이 없고, 단순한 다각형으로 구성됨)과 모달 대 비모달 마스크에 대한 편향이 있습니다. 다시 말해, SAM은 이러한 편향을 학습하도록 훈련되지 않았지만, ViTDet는 이를 활용할 수 있습니다.
7.5 제로샷 텍스트-투-마스크
접근 방식
마지막으로, 더 높은 수준의 과제인 자유 형식 텍스트에서 객체를 분할하는 과제를 고려합니다. 이 실험은 SAM이 텍스트 프롬프트를 처리할 수 있는 능력을 증명하는 개념 증명입니다. 이전 모든 실험에서 동일한 SAM을 사용했지만, 이번 실험에서는 텍스트 인식을 위해 SAM의 훈련 절차를 수정했습니다. 이는 새로운 텍스트 주석을 필요로 하지 않습니다. 구체적으로, 수동으로 수집된 면적이 100²보다 큰 각 마스크에 대해 CLIP 이미지 임베딩을 추출합니다. 그런 다음, 훈련 중에 추출된 CLIP 이미지 임베딩을 SAM에 대한 첫 번째 상호작용으로 프롬프트합니다. 여기서 중요한 점은 CLIP의 이미지 임베딩이 텍스트 임베딩과 정렬되도록 훈련되었기 때문에, 이미지 임베딩으로 훈련하고, 텍스트 임베딩을 추론에 사용할 수 있다는 것입니다. 즉, 추론 시에는 텍스트를 CLIP의 텍스트 인코더를 통해 실행한 다음, 생성된 텍스트 임베딩을 SAM에 대한 프롬프트로 제공합니다(자세한 내용은 §D.5 참조).
그림 12: 제로샷 텍스트-투-마스크. SAM은 간단하고 미묘한 텍스트 프롬프트와 함께 작동할 수 있습니다. SAM이 올바른 예측을 하지 못할 때, 추가 점 프롬프트가 도움이 될 수 있습니다.
결과
그림 12에 정성적 결과를 보여줍니다. SAM은 "a wheel"과 같은 간단한 텍스트 프롬프트뿐만 아니라 "beaver tooth grille"과 같은 구체적인 문구에서도 객체를 분할할 수 있습니다. SAM이 텍스트 프롬프트만으로 올바른 객체를 선택하지 못한 경우, 추가 점 프롬프트가 예측을 수정하는 데 종종 도움이 됩니다, 이는 [31]과 유사합니다.
그림 13: 데이터 엔진 단계, 이미지 인코더 확장 및 훈련 데이터 확장의 소멸 연구. (왼쪽) 각 데이터 엔진 단계가 23개 데이터셋 모음에서 개선을 이끌어내며, 자동 데이터만 사용하여 훈련하는 것(기본값)이 세 단계의 데이터를 모두 사용하는 것과 유사한 결과를 제공합니다. (중간) 10%의 SA-1B와 전체 SA-1B로 훈련된 SAM은 비교 가능합니다. 우리는 기본적으로 1,100만 개의 이미지로 훈련하지만, 100만 개의 이미지를 사용하는 것이 합리적인 실용 설정입니다. (오른쪽) SAM의 이미지 인코더 확장은 의미 있는 개선을 보여주지만, 포화 상태에 도달합니다. 그럼에도 불구하고, 특정 설정에서는 더 작은 이미지 인코더가 선호될 수 있습니다.
7.6. 소멸 연구
우리는 23개의 데이터셋 모음을 사용하여 단일 중심 점 프롬프트 프로토콜로 여러 소멸 연구를 수행합니다. 단일 점은 모호할 수 있으며 모호성은 실제 데이터에 단일 마스크만 포함되기 때문에 실제값에 반영되지 않을 수 있습니다. SAM이 제로샷 전이 설정에서 작동하고 있으므로, SAM의 상위 순위 마스크와 데이터 주석 지침에서 생성된 마스크 간에 체계적인 편향이 있을 수 있습니다. 따라서 우리는 실제값에 대한 최상의 마스크("오라클")도 추가로 보고합니다.
그림 13 (왼쪽)은 데이터 엔진 단계에서 누적 데이터를 사용하여 훈련했을 때 SAM의 성능을 나타냅니다. 각 단계가 mIoU를 증가시키는 것을 관찰할 수 있습니다. 세 단계를 모두 사용하여 훈련할 때, 자동 마스크가 수동 및 반자동 마스크를 압도적으로 초과합니다. 이를 해결하기 위해, 훈련 중에 수동 및 반자동 마스크를 10배 오버샘플링하는 것이 최상의 결과를 제공함을 발견했습니다. 이 설정은 훈련을 복잡하게 만듭니다. 따라서 자동 생성된 마스크만 사용하는 네 번째 설정을 테스트했습니다. 이 데이터로 SAM은 모든 데이터를 사용하는 것보다 약간 낮은 성능(약 0.5 mIoU)만을 보였습니다. 따라서 기본적으로 훈련 설정을 단순화하기 위해 자동 생성된 마스크만 사용합니다.
그림 13 (중간)에서는 데이터 양의 영향을 살펴봅니다. 전체 SA-1B는 1,100만 개의 이미지를 포함하며, 우리는 이를 100만 개와 10만 개로 균일하게 하위 샘플링하여 이 소멸 연구를 수행합니다. 10만 개의 이미지에서는 모든 설정에서 큰 mIoU 감소가 관찰됩니다. 그러나 100만 개의 이미지(전체 데이터셋의 약 10%)에서는 전체 데이터셋을 사용하는 것과 비슷한 결과를 관찰할 수 있습니다. 이 데이터 체계는 약 1억 개의 마스크를 포함하고 있으며, 많은 사용 사례에 실용적인 설정이 될 수 있습니다.
마지막으로, 그림 13 (오른쪽)은 ViT-B, ViT-L, ViT-H 이미지 인코더와 함께한 결과를 보여줍니다. ViT-H는 ViT-B보다 상당한 개선을 보이지만, ViT-L에 비해 약간의 향상만 보입니다. 현재로서는 추가적인 이미지 인코더 확장이 유익하지 않은 것으로 보입니다.
8. 토론
기초 모델
사전 학습된 모델은 기계 학습의 초기 시절부터 다운스트림 과제에 적응해 왔습니다【99】. 이 패러다임은 최근 몇 년 동안 규모에 중점을 두면서 점점 더 중요해졌으며, 이러한 모델들은 최근 "기초 모델"로 (재)브랜딩되었습니다: 즉, "광범위한 데이터로 대규모로 훈련되고 다양한 다운스트림 과제에 적응할 수 있는 모델"입니다【8】. 우리의 작업은 이 정의와 잘 맞아 떨어지지만, 이미지 분할을 위한 기초 모델은 중요한 부분이지만 컴퓨터 비전의 일부분만을 대표하는 제한된 범위라는 점을 언급합니다. 우리는 또한 우리의 접근 방식의 한 측면을【8】과 비교하며, 기초 모델에서 자기 지도 학습의 역할을 강조합니다. 우리의 모델은 자기 지도 기술(MAE【47】)로 초기화되었지만, 대부분의 기능은 대규모 감독 학습에서 비롯됩니다. 데이터 엔진이 사용 가능한 주석을 확장할 수 있는 경우, 우리의 경우처럼, 감독 학습은 효과적인 해결책을 제공합니다.
조합성
사전 학습된 모델은 훈련 당시에는 상상하지 못한 새로운 기능을 구현할 수 있습니다. 그 대표적인 예로 CLIP [82]가 DALL·E [83]와 같은 더 큰 시스템의 구성 요소로 사용되는 방법을 들 수 있습니다. 우리의 목표는 SAM을 통해 이러한 조합을 간단하게 만드는 것입니다. 이를 위해 SAM이 다양한 분할 프롬프트에 대해 유효한 마스크를 예측하도록 요구함으로써 달성하고자 합니다. 그 효과는 SAM과 다른 구성 요소 간의 신뢰할 수 있는 인터페이스를 만드는 것입니다. 예를 들어, MCC [106]는 SAM을 사용하여 관심 객체를 분할하고 단일 RGB-D 이미지에서 3D 재구성을 위해 보지 못한 객체에 대한 강력한 일반화를 달성할 수 있습니다. 또 다른 예로, 착용 장치에서 감지된 시선 점으로 SAM을 프롬프트하면 새로운 응용 프로그램을 가능하게 합니다. SAM이 에고-센트릭 이미지와 같은 새로운 도메인으로 일반화할 수 있는 덕분에, 이러한 시스템은 추가 훈련 없이 작동할 수 있습니다.
한계점
SAM은 일반적으로 잘 작동하지만 완벽하지는 않습니다. 미세한 구조를 놓치거나, 때때로 작은 분리된 구성 요소를 환각하며, 줌인하는 더 계산 집약적인 방법(e.g., [18])만큼 경계를 선명하게 생성하지 못합니다. 일반적으로, 많은 점이 제공될 때 전용 인터랙티브 분할 방법이 SAM보다 성능이 우수할 것으로 예상됩니다 (e.g., [67]). 이러한 방법과 달리, SAM은 높은 IoU 인터랙티브 분할보다는 일반성과 폭넓은 사용을 위해 설계되었습니다. 또한, SAM은 실시간으로 프롬프트를 처리할 수 있지만, 무거운 이미지 인코더를 사용할 때 SAM의 전체 성능은 실시간이 아닙니다. 우리의 텍스트-투-마스크 작업은 탐색적이며 완전히 견고하지는 않지만, 더 많은 노력을 기울이면 개선될 수 있다고 믿습니다. SAM은 많은 작업을 수행할 수 있지만, 의미론적 및 전경 분할을 구현하는 간단한 프롬프트를 설계하는 방법은 명확하지 않습니다. 마지막으로, 특정 도메인에서 SAM보다 뛰어난 성능을 발휘할 것으로 예상되는 도메인별 도구(e.g., [7])가 있습니다.
결론
Segment Anything 프로젝트는 이미지 분할을 기초 모델 시대에 접어들게 하려는 시도입니다. 우리의 주요 기여는 이 도약을 가능하게 하는 새로운 과제(프롬프트 가능한 분할), 모델(SAM), 데이터셋(SA-1B)입니다. SAM이 기초 모델의 지위를 달성할지는 커뮤니티에서의 사용에 따라 달라지겠지만, 이 작업의 관점, 10억 개 이상의 마스크 공개, 우리의 프롬프트 가능한 분할 모델이 앞으로의 길을 닦는 데 도움이 될 것이라고 기대합니다.
감사의 말
유익한 토론을 해주신 Aaron Adcock과 Jitendra Malik에게 감사드립니다. 모델 확장에 도움을 주신 Vaibhav Aggarwal과 Yanghao Li에게 감사드립니다. 데이터 주석 플랫폼에 도움을 주신 Cheng-Yang Fu, Jiabo Hu, 그리고 Robert Kuo에게 감사드립니다. 우리의 모델의 웹 버전을 최적화하는 데 도움을 주신 Allen Goodman과 Bram Wasti에게 감사드립니다. 마지막으로 데모, 데이터셋 뷰어 및 기타 자산과 도구를 만드는 데 도움을 주신 Morteza Behrooz, Ashley Gabriel, Ahuva Goldstand, Sumanth Gurram, Somya Jain, Devansh Kukreja, Joshua Lane, Lilian Luong, Mallika Malhotra, William Ngan, Omkar Parkhi, Nikhil Raina, Dirk Rowe, Neil Sejoor, Vanessa Stark, Bala Varadarajan, 그리고 Zachary Winstrom에게 감사드립니다.
'인공지능' 카테고리의 다른 글
MusicLM: Generating Music From Text (2) | 2024.07.16 |
---|---|
Emu Video: Factorizing Text-to-Video Generation by Explicit Image Conditioning (1) | 2024.07.15 |
ConvNets Match Vision Transformers at Scale (1) | 2024.07.13 |
QLoRA: Efficient Finetuning of Quantized LLMs (1) | 2024.07.12 |
Pythia: A Suite for Analyzing Large Language Models Across Training and Scaling (1) | 2024.07.11 |