AI 모델 및 플랫폼
TinySAM : 효율적인 Segment Anything 모델
객체 분할은 현대 컴퓨터 비전에서 매우 중요한 분야입니다. 객체 분할은 객체 위치 및 식별과 같은 광범위한 시각적 구성 요소를 요구하는 응용 프로그램에서 중요한 역할을 하며, 빠르고 정확한 분할을 요구합니다. 이러한 중요성으로 인해 객체 분할은 인스턴스 분할, 의미론적 분할, 판옵틱 분할과 같은 분야에서 지속적인 연구 주제가 되었습니다.
객체 분할의 발전과 함께, Segment Anything Model(SAM)이 뛰어난 분할 능력을 보여주며 다양한 컴퓨터 비전 응용 프로그램에서 빠르게 채택되고 있습니다. SAM 아키텍처를 사용하는 프레임워크는 다운스트림 비전 작업에서 뛰어난 성능을 보여주었습니다. 그러나 SAM의 복잡하고 무거운 아키텍처는 상당한 계산 능력을 요구하며, 계산 능력이 제한된 장치에서 구현하는 것을 방해합니다.
SAM의 계산 과제를 해결하기 위해, 연구자들은 Tiny Segment Anything Model(TinySAM)을 개발했습니다. TinySAM은 원래 프레임워크의 제로샷 성능을 유지하면서 더 가벼운 모델입니다. TinySAM은 온라인 하드 프롬프트 샘플링을 사용하여 더 효율적인 학생 모델을 생성하는 전체 단계 지식 증류 방법을 사용합니다. 추가로, TinySAM은 프롬프트 가능한 분할 작업에 대한 사후 훈련 양자화를 적용하여 계산 요구를 줄입니다. 또한, TinySAM의 설계는 계층적 분할을 목표로 하며, 거의 2배의 추론 속도를 제공하면서 성능을 저하하지 않습니다.
이 기사에서는 TinySAM 프레임워크의 기본 원리, 아키텍처, 및 다른 최첨단 분할 프레임워크와의 성능 비교를探究합니다. 이러한 측면을 자세히 살펴보겠습니다.
TinySAM : 효율적인 Segment Anything 모델
Segment Anything Model은 1,100만 개 이상의 이미지와 10억 개 이상의 이미지 마스크를 포함하는 거대한 분할 데이터셋과 함께 뛰어난 분할 능력을 보여주며, 여러 컴퓨터 비전 응용 프로그램의 빠른 발전에 기여했습니다. 任意 형태와 범주에 대한 객체 분할 작업에서 뛰어난 성능을 보여주며, 이미지 인페인팅, 객체 추적, 3D 비전 등과 같은 다운스트림 작업을 수행하는 프레임워크의 기초로 사용됩니다. 또한, Segment Anything Model은 제로샷 분할 성능이 뛰어나며, 의료 연구 및 의료 영상과 같은 제한된 데이터를 사용하는 산업에서 큰 이점을 제공합니다.
Segment Anything Model의 뛰어난 분할 능력은 여러 다운스트림 비전 작업에서 확인되었습니다. 그러나 SAM의 복잡한 아키텍처와 높은 계산 요구는 계산 능력이 제한된 장치에서 구현하는 것을 방해합니다. 최근 연구에서는 MobileSAM과 FastSAM과 같은 모델을 개발하여 SAM의 계산 효율성을提高하려고 했습니다. MobileSAM은 이미지 인코더의 무거운 구성 요소를 TinyViT 아키텍처로 대체하려고 시도했으며, FastSAM은 YoloV8 모델을 사용하여 분할 작업을 인스턴스 분할 작업으로 전환했습니다. 이러한 방법은 계산 요구를 줄이는 데 어느 정도 성공을 거두었지만, 제로샷 다운스트림 작업에서 성능을 유지하지 못했습니다.
TinySAM은 SAM 모델의 계산 요구를 줄이면서 성능을 유지하는 것을 목표로 합니다. TinySAM은 전체 단계 지식 증류 방법을 사용하여 컴팩트한 학생 모델을 생성하며, 온라인 하드 프롬프트 샘플링을 사용하여 학생 모델의 능력을 향상합니다. 추가로, TinySAM은 사후 훈련 양자화를 적용하여 계산 요구를 줄입니다.
Segment Anything Model의 주요 계산 요구는 객체를 분할하기 위한 거대한 마스크를 생성하는 데 있습니다. 이를 해결하기 위해 TinySAM은 계층적 분할 전략을 사용하며, 이는 추론 속도를 거의 2배로提高하면서 성능을 저하하지 않습니다.
TinySAM : 아키텍처 및 방법론
TinySAM 프레임워크의 아키텍처와 방법론을 이해하기 전에, 먼저 SAM 프레임워크를 살펴보겠습니다. SAM은 프롬프트 인코더, 이미지 인코더, 마스크 디코더의 세 가지 서브 네트워크로 구성됩니다.
SAM의 아키텍처는 뛰어난 분할 능력과 제로샷 다운스트림 작업에서 뛰어난 성능을 제공합니다. 그러나 SAM의 계산 요구는 계산 능력이 제한된 장치에서 구현하는 것을 방해합니다. 이를 해결하기 위해 TinySAM은 전체 단계 지식 증류 방법을 사용하여 컴팩트한 학생 모델을 생성하며, 온라인 하드 프롬프트 샘플링을 사용하여 학생 모델의 능력을 향상합니다.
지식 증류
지식 증류는 컴팩트한 네트워크의 성능을 향상하는 중요한 접근법입니다. 지식 증류는 교사 네트워크의 출력을 사용하여 학생 네트워크를 훈련합니다.
TinySAM 프레임워크의 아키텍처와 성능은 다음 그림에示되어 있습니다.

TinySAM은 지식 증류를 사용하여 학생 모델을 생성하며, 온라인 하드 프롬프트 샘플링을 사용하여 학생 모델의 능력을 향상합니다. 추가로, TinySAM은 사후 훈련 양자화를 적용하여 계산 요구를 줄입니다.
전체 단계 지식 증류
SAM은 프롬프트 인코더, 이미지 인코더, 마스크 디코더의 세 가지 서브 네트워크로 구성됩니다. 이미지 인코더는 비전 트랜스포머를 기반으로 하며, 높은 계산 요구를 가집니다.

양자화
모델 양자화는 컴퓨터 비전 프레임워크에서 인기 있는 접근법입니다. 모델 양자화는 모델의 가중치 또는 활성화 함수를 더 낮은 대역폭으로 양자화하여 계산 복잡성을 줄이고 저장 공간을 절약하는 것을 목표로 합니다.
TinySAM의 양자화는 계산 요구를 줄이는 것을 목표로 합니다. 양자화는 모델의 가중치 또는 활성화 함수를 더 낮은 대역폭으로 양자화하여 계산 복잡성을 줄입니다.
계층적 분할
Segment Anything Model은 자동 마스크 생성기를 사용하여 객체를 분할합니다. 그러나, 이 방법은 계산 요구가 높으며, 객체를 분할하는 데에 많은 시간이 걸릴 수 있습니다.

TinySAM은 계층적 분할 전략을 사용하여 계산 요구를 줄입니다. 계층적 분할은 객체를 분할하는 데에 필요한 시간을 줄이고, 성능을 저하하지 않습니다.
TinySAM : 실험 및 결과
TinySAM은 지식 증류를 사용하여 학생 모델을 생성하며, 온라인 하드 프롬프트 샘플링을 사용하여 학생 모델의 능력을 향상합니다. 추가로, TinySAM은 사후 훈련 양자화를 적용하여 계산 요구를 줄입니다.
TinySAM의 성능은 다음 그림에示되어 있습니다.

TinySAM의 질적 성능은 다음 그림에示되어 있습니다.

TinySAM의 성능은 다음 표에示되어 있습니다.

최종 생각
이 기사에서는 TinySAM 프레임워크를 소개했습니다. TinySAM은 SAM 모델의 계산 요구를 줄이면서 성능을 유지하는 것을 목표로 합니다. TinySAM은 전체 단계 지식 증류 방법을 사용하여 컴팩트한 학생 모델을 생성하며, 온라인 하드 프롬프트 샘플링을 사용하여 학생 모델의 능력을 향상합니다. 추가로, TinySAM은 사후 훈련 양자화를 적용하여 계산 요구를 줄입니다. TinySAM은 계층적 분할 전략을 사용하여 계산 요구를 줄이고, 성능을 저하하지 않습니다.












