2024. 11. 7. 14:44ㆍDeep Learning
Fast Segment Anything
Xu Zhao, Wenchao Ding, Yongqi An, Yinglong Du, Tao Yu, Min Li, Ming Tang, Jinqiao Wang
Abstract
최근 제안된 segment anything model (SAM)은 많은 컴퓨터 비전 작업에서 상당한 영향을 미치고 있습니다.
이미지 세그멘테이션, 이미지 캡션, 이미지 편집과 같은 많은 하이 레벨 작업의 파운데이션 단계가 되고 있습니다.
그러나 막대한 계산 비용으로 인해 업계 시나리오에서 더 넓은 응용을 할 수 없습니다.
계산은 주로 고해상도 입력에서 트랜스포머 아키텍처에서 이루어집니다.
본 논문에서는 비슷한 성능을 가진 이 기본 작업에 대한 속도 향상 대안 방법을 제안합니다.
작업을 세그먼트 생성으로 재구성하고 프롬프트를 표시함으로써 인스턴스 세그멘테이션 브랜치가 있는 일반 CNN 탐지기도 이 작업을 잘 수행할 수 있음을 발견했습니다.
특히, 우리는 이 작업을 잘 연구된 인스턴스 세그멘테이션 작업으로 변환하고 SAM 저자가 게시한 SA-1B 데이터 세트의 1/50만 사용하여 기존 인스턴스 세그멘테이션 방법을 직접 학습합니다.
우리의 방법을 사용하면 50배 더 빠른 런타임 속도로 SAM 방법과 비슷한 성능을 달성할 수 있습니다.
우리는 그 효과를 입증하기에 충분한 실험 결과를 제공합니다.
1. Introduction
최근 Segment Anything Model (SAM) [19]이 제안되었습니다.
이 모델은 이정표적인 비전 파운데이션 모델로 간주됩니다.
다양한 사용자 상호 작용 프롬프트에 의해 가이드되는 이미지 내의 모든 물체를 세그멘트할 수 있습니다.
SAM은 광범위한 SA-1B 데이터 세트에서 학습된 트랜스포머 모델을 활용하여 광범위한 장면과 물체를 능숙하게 처리할 수 있습니다.
SAM은 Segment Anything으로 알려진 흥미로운 새로운 작업의 문을 열었습니다.
이 작업은 일반화 가능성과 잠재력으로 인해 광범위한 미래 비전 작업의 초석이 될 수 있는 모든 장점을 가지고 있습니다.
그러나 이러한 발전과 SAM 및 후속 모델이 segment anything 작업을 처리하는 데 있어 보여준 유망한 결과에도 불구하고 실제 적용은 여전히 어렵습니다.
눈에 띄는 문제는 SAM 아키텍처의 주요 부분인 트랜스포머 (ViT) 모델과 관련된 상당한 계산 리소스 요구 사항입니다.
컨볼루션 모델과 비교할 때 ViT는 계산 리소스가 많이 필요하기 때문에 특히 실시간 애플리케이션에서 실제 배포에 장애물이 되는 것이 눈에 띕니다.
이러한 한계는 결과적으로 segment anything 작업의 진행과 잠재력을 방해합니다.
segment anything 모델에 대한 산업 애플리케이션의 높은 수요에 영감을 받아, 본 논문에서는 segment anything 작업을 위한 실시간 솔루션인 FastSAM을 설계합니다.
우리는 segment anything 작업을 모든 인스턴스 세그멘테이션과 프롬프트-가이드 선택의 두 단계로 분리합니다.
첫 번째 단계는 Convolutional Neural Network (CNN) 기반 검출기의 구현에 달려 있습니다.
이미지의 모든 인스턴스에 대한 세그멘트 마스크를 생성합니다.
그런 다음 두 번째 단계에서는 프롬프트에 해당하는 관심 영역을 출력합니다.
CNN의 계산 효율성을 활용하여 성능 품질을 크게 저하시키지 않으면서도 모든 모델의 실시간 세그먼트를 달성할 수 있음을 입증합니다.
제안된 방법이 모든 것을 세그멘팅하는 파운데이션 작업의 산업적 응용을 촉진할 수 있기를 바랍니다.
우리가 제안한 FastSAM은 인스턴스 세그멘테이션 브랜치가 장착된 객체 검출기인 YOLOv8-seg [16]을 기반으로 하며, 이는 YOLACT [4] 방법을 활용합니다.
또한 SAM에서 발표한 광범위한 SA-1B 데이터 세트를 채택합니다.
이 CNN 검출기를 SA-1B 데이터 세트의 2% (1/50)에 대해서만 직접 학습함으로써 SAM과 비슷한 성능을 달성하지만 계산 및 리소스 수요가 크게 감소하여 실시간 적용이 가능합니다.
또한 여러 다운스트림 세그멘테이션 작업에 적용하여 일반화 성능을 보여줍니다.
MS COCO [13]의 객체 제안 작업에서 AR1000에서 63.7을 달성했는데, 이는 32×32 포인트 프롬프트 입력으로 SAM보다 1.2점 높지만 단일 NVIDIA RTX 3090에서 50배 더 빠른 속도로 실행됩니다.
실시간 segment anything 모델은 산업 응용 분야에 유용합니다.
이 모델은 다양한 시나리오에 적용될 수 있습니다.
제안된 접근 방식은 많은 수의 비전 작업을 위한 새롭고 실용적인 솔루션을 제공할 뿐만 아니라 현재 방법보다 수십 또는 수백 배 빠른 속도로 실제로 구현합니다.
또한 일반적인 비전 작업을 위한 대규모 모델 아키텍처에 대한 새로운 뷰를 제공합니다.
특정 작업의 경우 특정 모델이 여전히 더 나은 효율성-정확도 절충점을 얻기 위해 활용된다고 생각합니다.
그런 다음 모델 압축의 의미에서 우리의 접근 방식은 구조 이전에 인공적인 방법을 도입하여 계산 노력을 크게 줄일 수 있는 경로의 실현 가능성을 보여줍니다.
저희의 기여는 다음과 같이 요약할 수 있습니다:
• Segment Anything 작업을 위한 새롭고 실시간 CNN 기반 솔루션이 도입되어 경쟁 성능을 유지하면서 계산 요구를 크게 줄입니다.
• 이 연구는 복잡한 비전 작업에서 경량 CNN 모델의 잠재력에 대한 인사이트를 제공하는 segment anything 작업에 CNN 검출기를 적용한 첫 번째 연구를 제시합니다.
• 여러 벤치마크에서 제안된 방법과 SAM을 비교 평가하면 segment anything 영역에서 접근 방식의 강점과 약점에 대한 인사이트를 얻을 수 있습니다.
2. Preliminary
이 섹션에서는 segment anything 모델에 대한 검토와 segment anything 작업에 대한 명확한 정의를 제공합니다.
Segment Anything Model.
진화하는 이미지 세그멘테이션 분야에서 Segment Anything Model (SAM) [19]은 대규모 시각적 데이터 세트에 대한 학습 방법론과 성능으로 인해 중요한 혁신입니다.
SAM은 고정밀, 클래스에 구애받지 않는 세그멘테이션 성능을 제공하여 제로샷 작업에서 뚜렷한 기능을 보여줍니다.
파운데이션 모델로서 강력한 대화형 세그멘테이션 방법뿐만 아니라 다양한 세그멘테이션 작업에서 탁월한 적응력을 보여줌으로써 컴퓨터 비전의 지평을 확장합니다.
SAM은 오픈 월드 이미지 이해를 위한 파운데이션 모델의 잠재력을 보여주는 놀라운 예입니다.
그러나 모델의 성능은 만족스럽지만 SAM은 상당한 한계에 직면해 있다는 점에 주목할 필요가 있습니다 – 실시간 처리 기능의 부족.
이로 인해 즉각적인 세그멘테이션 결과가 중요한 시나리오에서는 광범위한 적용이 제한됩니다.
Segment Anything Task.
Segment Anything 작업은 모든 형태의 프롬프트가 주어지면 효과적인 세그멘테이션 마스크가 생성되는 프로세스로 정의됩니다.
이러한 프롬프트는 전경/배경 포인트 세트, 러프한 상자 또는 마스크, 자유 형식 텍스트 또는 이미지 내에서 세그멘트할 콘텐츠를 나타내는 모든 정보에 이르기까지 다양합니다.
우리는 대부분의 실제 응용 프로그램에서 segment anything 작업을 효과적으로 두 단계로 나눌 수 있다는 것을 발견했습니다.
첫 번째 단계는 panoptic segmentation [18] 프로세스와 같이 이미지의 모든 객체를 감지하고 세그멘팅하는 것입니다.
두 번째 단계는 특정 객체(들)를 세그멘트 파노라마에서 분리하기 위해 제공된 프롬프트에 따라 달라집니다.
이 작업의 디커플링은 복잡성을 크게 감소시켜 모든 모델의 실시간 세그먼트를 제안할 수 있는 가능성을 제공합니다.
3. Methodology
3.1. Overview
그림 2는 제안된 방법인 FastSAM의 개요를 제공합니다.
이 방법은 올인스턴스 세그멘테이션과 프롬프트-가이드 선택의 두 단계로 구성됩니다.
전자의 단계는 기본이고 두 번째 단계는 본질적으로 작업 중심의 후처리입니다.
엔드투엔드 트랜스포머 [7,8,19]와 달리, 전체 방법은 컨볼루션의 로컬 연결 및 수용적-필드-관련 객체 할당 전략과 같은 비전 세그멘테이션 작업과 일치하는 많은 인간 우선순위를 도입합니다.
따라서 비전 세그멘테이션 작업에 맞게 조정되고 더 적은 수의 매개변수에서 더 빠르게 수렴할 수 있습니다.
3.2. All-instance Segmentation
Model Architecture.
YOLOv8[ 16]의 아키텍처는 이전 모델인 YOLOv5 [15]에서 개발되어 YOLOX [10], YOLOv6 [22], YOLOv7 [35]과 같은 최신 알고리즘의 주요 설계 측면을 통합합니다.
YOLOv8의 백본 네트워크 및 넥 모듈은 YOLOv5의 C3 모듈을 C2f 모듈로 대체합니다.
업데이트된 헤드 모듈은 분류 및 감지 헤드를 분리하고 분리된 구조를 수용하며 앵커 기반에서 앵커 프리로 전환합니다.
Instance Segmentation.
YOLOv8-seg는 인스턴스 세그멘테이션을 위해 YOLACT [4] 원칙을 적용합니다.
이는 백본 네트워크와 Feature Pyramid Network (FPN) [24]를 통해 이미지에서 피처를 추출하여 다양한 크기의 피처를 통합하는 것으로 시작됩니다.
출력은 감지 및 세그멘테이션 브랜치로 구성됩니다.
탐지 브랜치는 카테고리와 바운딩 박스를 출력하고, 세그멘테이션 브랜치는 k개의 마스크 계수와 함께 k개의 프로토타입(FastSAM에서 기본값 32로 설정됨)을 출력합니다.
세그멘테이션 및 탐지 작업은 병렬로 계산됩니다.
세그멘테이션 브랜치는 고해상도 피처 맵을 입력하고 공간 세부 정보를 보존하며 시맨틱 정보도 포함합니다.
이 맵은 컨볼루션 레이어를 통해 처리되고 업스케일링된 다음 두 개의 컨볼루션 레이어를 더 통과하여 마스크를 출력합니다.
탐지 헤드의 분류 브랜치와 유사한 마스크 계수의 범위는 -1에서 1 사이입니다.
인스턴스 세그멘테이션 결과는 마스크 계수와 프로토타입을 곱한 다음 합산하여 얻습니다.
YOLOv8은 다양한 객체 감지 작업에 사용할 수 있습니다.
인스턴스 세그멘테이션 브랜치를 사용하면 객체 범주에 관계없이 이미지의 모든 객체 또는 영역을 정확하게 감지하고 세그멘트하는 것을 목표로 하는 모든 작업을 세그멘트하는 데 적합한 YOLOv8-Seg가 탄생합니다.
프로토타입과 마스크 계수는 프롬프트 가이던스를 위해 많은 확장성을 제공합니다.
간단한 예로, 다양한 프롬프트와 이미지 피쳐 임베딩을 입력 및 마스크 계수로 사용하여 간단한 프롬프트 인코더 및 디코더 구조를 추가로 학습합니다.
FastSAM에서는 모든 인스턴스 세그멘테이션 단계에 YOLOv8-seg 방법을 직접 사용합니다.
더 인위적인 설계가 추가적인 개선 사항을 가져올 수 있지만, 이 작업의 범위를 벗어난 것으로 간주하고 향후 연구에 맡깁니다.
3.3. Prompt-guided Selection
YOLOv8을 사용하여 이미지의 모든 객체 또는 영역을 성공적으로 세그멘트한 후, 세그먼트의 두 번째 단계에서는 다양한 프롬프트를 사용하여 관심 있는 특정 객체를 식별하는 작업을 수행합니다.
주로 포인트 프롬프트, 상자 프롬프트 및 텍스트 프롬프트를 활용합니다.
Point prompt.
포인트 프롬프트는 선택한 포인트를 첫 번째 단계에서 얻은 다양한 마스크와 일치시키는 것으로 구성됩니다.
목표는 포인트가 위치한 마스크를 결정하는 것입니다.
SAM과 마찬가지로 우리는 접근 방식에서 전경/배경 포인트를 프롬프트로 사용합니다.
전경 포인트가 여러 마스크에 있는 경우 배경 포인트를 활용하여 당면한 작업과 무관한 마스크를 필터링할 수 있습니다.
전경/배경 포인트 세트를 사용하면 관심 영역 내에서 여러 마스크를 선택할 수 있습니다.
이러한 마스크는 단일 마스크로 병합되어 관심 있는 객체에 완전히 표시됩니다.
또한 마스크 병합의 성능을 향상시키기 위해 형태학적 연산을 활용합니다.
Box prompt.
상자 프롬프트는 선택한 상자와 첫 번째 단계의 다양한 마스크에 해당하는 바운딩 박스 간에 Intersection over Union (IoU) 매칭을 수행하는 것을 포함합니다.
목표는 선택한 상자로 IoU 점수가 가장 높은 마스크를 식별하여 관심 대상을 선택하는 것입니다.
Text prompt.
텍스트 프롬프트의 경우, CLIP [31] 모델을 사용하여 텍스트의 해당 텍스트 임베딩을 추출합니다.
그런 다음 각 이미지 임베딩을 결정하고 유사성 메트릭을 사용하여 각 마스크의 intrinsic 피쳐와 일치시킵니다.
그런 다음 텍스트 프롬프트의 이미지 임베딩과 가장 높은 유사성 점수를 가진 마스크가 선택됩니다.
이러한 프롬프트 가이드 선택 기술을 신중하게 구현함으로써 FastSAM은 세그멘트된 이미지에서 특정 관심 대상을 안정적으로 선택할 수 있습니다.
위의 접근 방식은 세그먼트에 실시간으로 모든 작업을 수행할 수 있는 효율적인 방법을 제공하므로 복잡한 이미지 세그멘테이션 작업에 대한 YOLOv8 모델의 유용성을 크게 향상시킵니다.
보다 효과적인 프롬프트-가이드 선택 기술은 향후 탐색을 위해 남겨집니다.
4. Experiments
이 섹션에서는 먼저 FastSAM의 런타임 효율성을 분석합니다.
그런 다음 실제 시나리오, 효율성 및 배포의 응용 프로그램과 함께 네 가지 제로샷 작업을 실험합니다.
첫 번째 실험에서는 FastSAM과 SAM 간의 기능 유사성을 테스트하는 것이 목표입니다.
SAM에 이어 레벨이 다른 네 가지 작업도 실험합니다: (1) 로우 레벨: 엣지 감지, (2) 미드 레벨: 오브젝트 제안 생성, (3) 하이 레벨: 인스턴스 세그멘테이션, 마지막으로 (4) 하이 레벨: 자유 형식 텍스트 입력으로 오브젝트를 세그멘팅.
또한 실험을 통해 실제 애플리케이션과 속도로 FastSAM의 기능을 추가로 검증했습니다.
Implementation Details.
달리 명시되지 않는 한 다음 조건이 적용됩니다: (1) FastSAM은 입력 크기가 1024인 YOLOv8-x [16] 모델을 아키텍처의 주요 부분으로 사용합니다; (2) FastSAM의 학습은 SA-1B 데이터세트 [19]의 2%에 대해 수행되었습니다; (3) 바운딩 박스 회귀 모듈의 reg_max가 큰 인스턴스를 예측하기 위해 16에서 26으로 변경되는 것을 제외하고는 기본 하이퍼 파라미터 설정을 사용하여 100 에포크 동안 모델을 학습시킵니다.
4.1. Run-time Efficiency Evaluation
SAM은 트랜스포머 아키텍처를 사용하여 종단 간 알고리즘을 구성합니다.
트랜스포머는 다양한 작업의 다양한 형태의 매핑 함수를 나타낼 수 있는 범용 아키텍처입니다.
segment anything하기 위해 SAM은 대규모 데이터에 대한 학습 과정을 통해 비전 지향적 귀납적 편향을 학습합니다.
반대로 구조 설계에 대한 인간의 선험적 지식을 바탕으로 FastSAM은 비교적 작은 모델을 얻습니다.
그림 3에서 FastSAM은 비교적 만족스러운 결과를 생성합니다.
표 1은 단일 NVIDIA GeForce RTX 3090 GPU에서 SAM과 FastSAM의 실행 속도를 보고한 것입니다.
모든 프롬프트에서 FastSAM이 SAM을 능가한다는 것을 알 수 있습니다.
또한 FastSAM의 실행 속도는 프롬프트에 따라 변경되지 않으므로 Everything 모드에 더 나은 선택입니다.
4.2. Zero-Shot Edge Detection
Approach.
FastSAM은 BSD500 [1, 28]을 사용하여 에지 감지의 기본적인 로우 레벨 작업에 대해 평가됩니다.
구체적으로, FastSAM의 모든 인스턴스 세그멘테이션 단계의 결과에서 마스크 확률 맵을 선택합니다.
그 후 모든 마스크 확률 맵에 Sobel filtering [33]을 적용하여 에지 맵을 생성합니다.
마지막으로 에지 NMS [6] 단계로 마무리합니다.
Results.
대표적인 에지 맵은 그림 4에 나와 있습니다.
정성적으로 관찰한 결과, FastSAM의 매개변수가 훨씬 적음에도 불구하고 (68M에 불과함) 일반적으로 좋은 에지 맵을 생성한다는 것이 분명해졌습니다.
실제와 비교했을 때, FastSAM과 SAM 모두 BSD500에 주석이 달리지 않은 일부 논리적 에지를 포함하여 더 많은 수의 에지를 예측하는 경향이 있습니다.
이러한 편향은 표 2에 정량적으로 반영되어 있습니다.
표 2는 SAM, 특히 더 높은 R50과 더 낮은 AP에서 유사한 성능을 달성한다는 것을 보여줍니다.
4.3. Zero-Shot Object Proposal Generation
Background.
객체 제안 생성은 일반 객체 감지, 퓨샷 객체 감지, 이미지 이해를 포함한 많은 컴퓨터 비전 작업의 기본 전처리 단계로 오랫동안 사용되어 왔습니다.
많은 유명한 제안 생성 방법은 지난 수십 년 동안 시각 인식의 진화를 시각 인식 방법의 기본 단계 역할로 목격했습니다.
이러한 제안 생성 방법에는 EdgeBox [38], Geodesic [21], Selective Search [34], MCG [2]가 포함됩니다.
올해에는 DeepMask [29], OLN [17]과 같은 많은 딥러닝 기반 방법이 제안됩니다.
예를 들어, RCNN 시리즈 객체 검출 방법 [11, 12]은 선택적 검색 방법을 채택하고 있으며, 최근 제안된 오픈 월드 검출기인 UniDetector [36]는 OLN 방법을 채택하고 있습니다.
RPN [32]은 대부분의 기존 객체 검출기에서 사용되지만 학습된 카테고리의 객체 제안만 생성할 수 있어 오픈 어휘 인식 작업에 적용하는 데 한계가 있습니다.
따라서 제로샷 객체 제안 생성은 오히려 중요합니다.
이러한 시각 인식 작업의 우수한 성능을 위해서는 좋은 제안 방법이 중요합니다.
우리는 FastSAM의 첫 번째 단계에서 생성된 바운딩 박스를 객체 제안으로 직접 사용합니다.
성능을 평가하기 위해 기존 평가 전략에 따라 LVIS [13] 및 COCO [25] 데이터 세트에서 테스트합니다.
이 외에도 SAM의 실험 설정에 따라 첫 번째 단계의 올인스턴스 마스크를 사용하여 마스크 제안 정확도를 테스트합니다.
Details.
우리는 LVIS 데이터 세트에서 SAM, ViTdet [23] 및 FastSAM의 결과를 보고합니다.
SAM은 자세한 평가 코드를 공개하지 않으므로 공식 LVIS 평가 코드 [13]를 사용하여 카테고리에 구애받지 않는 마스크 및 박스 recall을 재현했습니다.
그러나 SAM의 논문 [20]에 제시된 ViTdet 및 SAM의 마스크 AR 결과는 재현하지 못했습니다.
그럼에도 불구하고 평가 결과는 여전히 SAM과 비교하여 FastSAM의 몇 가지 기능을 반영한다고 생각합니다.
Results.
결과는 표 3, 4, 5에 나와 있습니다.
결과는 우리의 방법이 상자 제안 생성 작업에서 상당한 이점이 있음을 보여줍니다.
표 3은 COCO 검증 세트에 대한 다양한 방법의 Average Recall (AR)을 제시합니다.
이 중 EdgeBox [38], Geodesic [21], Sel.Search [34], MCG [2]는 학습이 필요 없는 방법인 반면, DeepMask [29]와 OLN [17]은 COCO 학습 세트 내의 VOC 카테고리에서 학습된 다음 모든 카테고리에서 테스트되는 supervised 방법입니다.
대조적으로, 우리의 접근 방식과 SAM [20]은 완전 제로샷 전송을 구현한다.
표에서 우리의 방법과 SAM [20]은 OLN [17]과 같은 이전 supervised 방법에 비해 AR@10 precision에서 잘 수행되지 않음을 알 수 있습니다.
그러나 AR@1000에서 우리의 방법은 OLN [17]을 크게 능가한다.
그 이유는 이전 방법이 COCO의 특정 카테고리에 대해 학습되었기 때문에 추론 중에 이러한 카테고리에서 더 높은 신뢰 수준으로 이어졌기 때문입니다.
그러나 우리의 방법과 SAM은 제로샷이기 때문에 서로 다른 카테고리에서 균형 잡힌 신뢰 수준을 초래하므로 COCO에 존재하지 않는 더 많은 카테고리를 리콜할 수 있습니다.
더 많은 비교는 그림 5에서 확인할 수 있습니다.
표 4에서 우리는 LVIS v1 데이터 세트에 대한 VitDet-H [23], SAM [20] 및 우리의 방법의 bbox AR@1000 결과를 보고합니다.
우리의 방법은 가장 계산 집약적인 SAM 모델인 SAM-H E64를 5% 이상 능가합니다.
그러나 LVIS 데이터 세트에서 학습된 VitDet-H [23]에 비하면 부족합니다.
이러한 결과의 이유는 학습 과정에서 ground truth (gt) bounding box (bbox) 정보를 supervisory 신호로 사용했기 때문입니다.
반면 SAM [20]은 마스크를 supervisory 신호로만 사용했으며, 추론 시 마스크에서 외부 상자를 추출하여 bbox를 생성합니다.
표 5에서 마스크 제안 생성은 Recall에서 상대적으로 낮습니다.
이는 주로 작은 크기의 물체에 대한 세그멘테이션 마스크가 충분히 세분화되지 않았기 때문에 발생한다는 것을 알 수 있습니다.
섹션 6에서 더 자세한 논의를 제공합니다.
4.4. Zero-Shot Instance Segmentation
Approach.
SAM 방법과 유사하게, 우리는 ViTdet [23]에서 생성된 bounding box (bbox)를 프롬프트로 활용하여 인스턴스 세그멘테이션 작업을 수행합니다.
섹션 3.3에서 설명한 바와 같이, 우리는 bbox를 예측 마스크로 사용하여 가장 높은 Intersection over Union (IoU)을 가진 마스크를 선택합니다.
Results.
표 6은 평가 결과를 제공합니다.
이 작업에서 우리는 높은 AP를 달성하지 못했습니다.
주로 세그멘테이션 마스크 정확도 또는 상자 기반 마스크 선택 전략 때문이라고 추론합니다.
섹션 6은 몇 가지 예를 제공합니다.
4.5. Zero-Shot Object Localization with Text Prompts
Approach.
마지막으로, 우리는 자유 형식 텍스트로 객체를 세그멘트하는 것과 같은 하이레벨 작업을 고려합니다.
이 실험은 SAM과 같은 텍스트 프롬프트를 처리하는 FastSAM 기능을 보여주는 것입니다.
SAM과 달리 FastSAM은 학습 절차를 수정할 필요가 없습니다.
CLIP의 텍스트 인코더를 통해 텍스트를 직접 실행한 다음 결과 텍스트 임베딩을 사용하여 추론 시점에 가장 유사한 마스크를 찾습니다.
Results.
우리는 그림 6에 정성적인 결과를 보여줍니다.
FastSAM은 텍스트 프롬프트를 기반으로 객체를 잘 세그멘트할 수 있습니다.
그럼에도 불구하고 각 마스크 영역을 CLIP 피쳐 추출기에 입력해야 하기 때문에 text-to-mask 세그멘테이션의 실행 속도는 만족스럽지 않습니다.
CLIP 임베딩 추출기를 FastSAM의 백본 네트워크에 결합하는 방법은 모델 압축과 관련하여 여전히 흥미로운 문제로 남아 있습니다.
5. Real-world Applications
이 섹션에서는 다양한 애플리케이션 시나리오에서 FastSAM의 성능을 평가하고 장점과 한계를 분석합니다.
포인트 프롬프트, 박스 프롬프트 및 everything 모드를 사용하여 FastSAM의 세그멘테이션을 시각화하고 SAM 및 ground truth와 비교합니다.
Anomaly Detection.
[3]에 자세히 설명된 바와 같이, 이상 감지는 제조업체에서 결함이 있는 샘플과 정상 샘플을 구별하는 것을 목표로 하는 작업입니다.
MVTec AD 데이터 세트 [3]를 사용하여 FastSAM을 평가하고 그 결과를 그림 7에 표시합니다.
everything 모드에서 FastSAM은 SAM과 유사하지만 SAM에 비해 더 로우 레벨의 precision으로 거의 모든 영역을 세그멘트할 수 있습니다.
또한 배경용 마스크가 전체 배경을 완전히 덮지는 않으며, 이는 YOLACT [4]의 고유한 특성입니다.
전경/배경 지점 (FastSAM 지점에서 각각 노란색 및 마젠타 지점) 또는 상자-가이드 선택에 따라 FastSAM은 정확한 결함이 있는 영역에서 세그멘트할 수 있습니다.
Salient Object Segmentation.
눈에 띄는 객체 세그멘테이션 [5]의 목표는 이미지에서 가장 어텐션을 집중시키는 객체를 세그멘트하는 것입니다.
이 작업은 클래스에 구애받지 않으므로 시맨틱 세그멘테이션과 구별됩니다.
우리는 잘 알려진 현저성 데이터 세트인 ReDeb-S [27]에 FastSAM을 적용합니다.
그림 8에 제시된 것처럼, FastSAM은 작업과 무관한 배경 객체를 더 적게 세그멘트하기 때문에 everything 모드에서 SAM과 약간의 차이만 보였습니다.
FastSAM 포인트의 노란색 점과 같이 포인트 가이드 선택을 통해 모든 관심 있는 객체의 마스크를 얻을 수 있습니다.
FastSAM 포인트의 세그멘테이션 결과는 SAM 포인트 및 ground truth의 결과와 거의 동일하며 가장자리에서 사소한 세부 사항만 손실됩니다.
관심 있는 객체는 FastSAM 박스의 녹색 상자와 같이 박스 프롬프트에 의해 선택될 수도 있습니다.
그러나 단일 박스로 여러 객체를 선택하는 것은 불가능하며, 이는 SAM 박스도 실현할 수 없습니다.
Building Extracting.
광학 원격 감지 이미지에서 빌딩 추출은 도시 계획과 같은 광범위한 응용 분야가 있습니다.
우리는 [14]에서 제안한 데이터 세트에서 FastSAM을 평가합니다.
그림 9에서 볼 수 있듯이 FastSAM은 규칙적인 모양의 물체를 세그멘트하는 데는 잘 수행되지만 SAM에 비해 그림자와 관련된 영역을 더 적게 세그멘트합니다.
또한 FastSAM 포인트와 FastSAM 박스에 표시된 것처럼 포인트 프롬프트와 박스 프롬프트로 관심 영역을 선택할 수도 있습니다.
그림자 영역의 한 지점을 FastSAM 포인트에 위치시킨다는 점에 주목할 필요가 있습니다.
그러나 이 점을 기반으로 병합하여 건물에 대한 올바른 마스크를 얻을 수 있습니다.
이는 우리의 방법이 노이즈의 간섭을 어느 정도 저항할 수 있음을 나타냅니다.
6. Discussion
일반적으로 제안된 FastSAM은 SAM과 비슷한 성능을 달성하며 SAM (32×32)보다 50배, SAM (64×64)보다 170배 더 빠르게 실행됩니다.
실행 속도가 빨라 도로 장애물 감지, 비디오 인스턴스 추적, 이미지 조작과 같은 산업용 애플리케이션에 적합합니다.
일부 이미지에서 FastSAM은 그림 10과 같이 대형 물체에 더 나은 마스크를 생성하기도 합니다.
Weakness.
그러나 실험에서 제시한 바와 같이 박스 생성은 상당한 이점이 있지만 마스크 생성 성능은 SAM보다 낮습니다.
우리는 그림 11에서 이러한 예를 시각화합니다.
우리는 FastSAM이 다음과 같은 기능을 가지고 있음을 발견했습니다.
• 품질이 낮은 소형 세그멘테이션 마스크는 신뢰도 점수가 높습니다.
이는 신뢰도 점수가 마스크 품질과 밀접한 관련이 없는 YOLOv8의 bbox 점수로 정의되기 때문이라고 생각합니다.
마스크 IoU 또는 기타 품질 지표를 예측하도록 네트워크를 수정하는 것이 이를 개선하는 방법입니다.
• 일부 작은 크기의 물체의 마스크는 정사각형 근처에 있는 경향이 있습니다.
또한 큰 물체의 마스크는 바운딩 박스의 테두리에 일부 아티팩트가 있을 수 있습니다.
이것이 바로 YOLACT 방법의 약점입니다.
마스크 프로토타입의 용량을 향상시키거나 마스크 생성기를 재구성하면 문제가 해결될 것으로 예상됩니다.
또한 모든 SA-1B 데이터 세트의 1/50만 사용하므로 더 많은 학습 데이터를 활용하여 모델의 성능을 더욱 향상시킬 수 있습니다.
7. Conclusion
본 논문에서는 모든 작업의 세그먼트와 선택하는 모델 아키텍처를 재고하고 SAM-ViT-H (32×32)보다 50배 빠른 실행 속도를 가진 대안 솔루션을 제안합니다.
실험은 FastSAM이 여러 다운스트림 작업을 잘 해결할 수 있음을 보여줍니다.
그럼에도 불구하고 점수 매김 메커니즘 및 인스턴스 마스크 생성 패러다임과 같이 FastSAM에서 개선할 수 있는 몇 가지 약점이 있습니다.
이러한 문제는 향후 연구에 남아 있습니다.
'Deep Learning' 카테고리의 다른 글
DINO-X: A Unified Vision Model for Open-World Object Detection and Understanding (0) | 2024.12.26 |
---|---|
YOLOv11: An Overview of the Key Architectural Enhancements (0) | 2024.11.27 |
Depth Pro: Sharp Monocular Metric Depth in Less Than a Second (0) | 2024.11.07 |
Segment Anything in High Quality (1) | 2024.10.28 |
Recognize Anything: A Strong Image Tagging Model (0) | 2024.10.18 |