MultiMatte 2026 배경 제거 모델은 프롬프트 기반 마팅으로 SAM 3 세그멘테이션 개선

MultiMatte는 SAM 3에 프롬프트 기반 알파 마팅을 추가하고 모든 벤치마크 분할에서 우수한 성능을 발휘

MultiMatte는 Feyn에서 발표했으며, SAM 3의 860M 파라미터 중 단지 2.27%만 LoRA 어댑터로 수정하지만, DIS‑VD 벤치마크에서 0.901의 S-측정값을 달성해 SAM 3의 0.667보다 뛰어납니다. 이 개선은 작은 낮은 랭크 업데이트가 이진 세그멘테이션 모델을 고품질 마티드 생성기로 바꿀 수 있음을 보여주며, 원래의 텍스트 프롬프트 정렬을 유지합니다.


프롬프트 기반 마팅은 이진 마스크의 흐린 경계 실패를 해결

SAM 3은 텍스트 프롬프트로 설명된 객체에 대해 이진 마스크를 반환하지만, 머리카락과 같은 반투명하거나 섬세한 구조를 표현할 수 없습니다. MultiMatte는 이진 출력을 각 픽셀에 연속적인 불투명도 값을 할당하는 알파 마티드로 대체함으로써 흐린 경계의 정확한 추출을 가능하게 합니다. 다섯 개의 고해상도 DIS 분할에서 SAM 3의 S-측정값은 0.649에서 0.703 사이였지만, MultiMatte는 0.893에서 0.923 사이를 기록했습니다.


낮은 랭크 미세조정(LoRA)은 SAM 3의 텍스트 정렬을 유지

MultiMatte는 매개변수 효율적인 미세조정(PEFT)을 사용하여 주요 타워(클립 텍스트 타워 포함)의 어텐션 및 MLP 프로젝션에 랭크-16 어댑터를 사용해 훈련됩니다. 각 표적 선형 계층은 사전 학습된 가중치를 동결한 상태에서 두 개의 작은 행렬을 학습하여 낮은 랭크 업데이트를 추가합니다. 어댑터는 공개된 가중치에 통합되므로 추론 시 별도의 라이브러리가 필요하지 않습니다.


훈련 데이터와 목적 함수

  • 이미지: 19,953개의 다양한 이미지 (두드러진 객체, 위장, 머리카락, 해양 장면).
  • 스텝: 14,000개의 훈련 스텝.
  • 손실 함수: 포칼 손실 + 디스 손실, SAM 3가 사용하는 동일한 의미 세그멘테이션 목적 함수.
  • 프롬프트 감독: 4,949개의 이미지(전체 집합의 24.8%)에는 인간이 작성한 레이블이 포함되어 있으며, 목표 객체 이름을 명시함으로써 새로운 마티드 헤드가 SAM 3의 기존 텍스트 정렬을 활용하도록 가르칩니다.

벤치마크 결과는 일관된 성능 향상을 보여줌

분할 SAM 3 MultiMatte Δ S-측정값
DIS‑VD 0.667 0.901 +0.233
DIS‑TE1 0.667 0.901 +0.234
DIS‑TE2 0.703 0.923 +0.220
DIS‑TE3 0.685 0.921 +0.235
DIS‑TE4 0.649 0.893 +0.244
DAVIS‑S (훈련 형제 없음) 0.913 0.979 +0.066
DUT‑OMRON (훈련 형제 없음) 0.792 0.901 +0.109

모든 분할에서 성능 향상이 나타나며, 훈련 데이터에 형제가 없는 데이터셋에서 가장 큰 절대적 향상이 발생함으로써 강력한 일반화 능력을 입증합니다. S-측정값 변화가 0.002 미만인 경우는 측정 노이즈로 간주합니다.


미세조정 후에도 프롬프트 조정은 여전히 가치 있음

LoRA 적응 이후에도 개념 이름 제공이 성능 향상에 도움이 됩니다. DIS‑VD에서 실제 개념 이름을 제공하면 SAM 3의 성능은 그라디언트 스텝 없이 0.150 S-측정값 향상되며, MultiMatte에도 여전히 0.036의 기여를 하며, 프롬프트 경로가 재학습 과정에서도 유지되었음을 확인합니다.


NoBg 라이브러리를 통한 간편한 추론

MultiMatte는 nobg Python 패키지를 통해 배포됩니다. LoRA 어댑터는 통합되어 있으므로 모델을 직접 사용할 수 있습니다:

from nobg import AutoModel, AutoProcessor

model = AutoModel.from_pretrained("feyninc/multimatte")
processor = AutoProcessor.from_pretrained("feyninc/multimatte")

# 기본 프롬프트 (개념 이름 없음)
cutout = model.predict(processor, "photo.jpg")
cutout.save("output.png")

# 프롬프트 기반 제거 ("the dog" 유지)
cutout = model.predict(processor, "photo.jpg", "the dog")

predict는 RGBA 컷아웃을 반환하며, return_type="tensor"로 설정하면 원본 마티드를 얻을 수 있습니다.


커뮤니티 피드백은 실용적 강건성을 강조

"다른 배경 제거 도구들이 실패하는 이미지(비슷한 색상의 말과 울타리)를 시도해봤는데, MultiMatte는 완벽하게 처리했습니다!" – zurtri

"데모 클라이언트 사이드입니까? 현재 Preview.app → Tools → Background 제거 워크플로우와 완벽하게 맞습니다." – peterldowns

"remove.bg가 Canva에 통합되는 시점에 딱 맞춰서 나왔네요; 정말 멋져 보입니다!" – FlamingMoe

이러한 댓글들은 MultiMatte가 색상이 유사한 전경/배경 케이스를 잘 처리하며, 사용자들이 쉽게 통합할 수 있다는 점을 확인시켜 줍니다.


참고문헌

  1. Meta. SAM 3: Concepts를 사용한 Anything 세그멘테이션. arXiv:2511.16719, 2025.
  2. Hu 등. LoRA: 대규모 언어 모델의 낮은 랭크 적응. arXiv:2106.09685, 2021.
  3. Thinking Machines Lab. LoRA Without Regret. 2025. https://thinkingmachines.ai/blog/lora/
  4. Lin 등. 밀집 객체 탐지용 포칼 손실. arXiv:1708.02002, 2017.
  5. Sargsyan & Navasardyan. FlowDIS: 흐름 매칭을 통한 언어 지향 이분법 이미지 세그멘테이션. CVPR 2026. arXiv:2605.05077.

Sources

관련

  • 프로젝트
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch