Connect with us

인공지능

TinySAM : Segment Anything 모델의 경계를 넓히기

mm
TinySAM : Pushing the Boundaries for Segment Anything Model

객체 분할은 현대 컴퓨터 비전에서 기초적이고 매우 중요한 분야입니다. 객체 위치 지정 및 식별과 같은 광범위한 시각적 구성 요소를 요구하는 응용 프로그램에서 중요한 역할을 하며 실시간, 빠르며 정확한 분할을 요구합니다. 이러한 중요성으로 인해 객체 분할은 일관된 연구 주제가 되었으며 인스턴스 분할, 의미 분할 및 파노픽 분할과 같은 분야에서 많은 연구가 수행되었습니다.

객체 분할의 진화와 함께, Segment Anything Model (SAM)은卓越한 분할 능력을展示하며 다양한 컴퓨터 비전 응용 프로그램에서 빠르게 채택되고 있습니다. 사전 훈련된 SAM 아키텍처를 사용하는 프레임워크는 다운스트림 비전 작업에서 인상적인 성능을 달성했습니다. 그러나 높은 정확도와 분할 작업에서卓越한 능력에도 불구하고, SAM의 복잡하고 무거운 아키텍처는大量의 계산 능력이 필요하여 계산 능력이 제한된 장치에서 구현을 방해합니다.

SAM의 계산 과제를 해결하기 위해 연구자들은 Tiny Segment Anything Model (TinySAM)을 개발했습니다. 이는 원래 프레임워크의 제로샷 성능을 유지하면서 더 가볍습니다. TinySAM은 온라인 하드 프롬프트를 사용하는 전체 단계 지식 증류 방법으로 더 효율적인 학생 모델을 생성합니다. 프롬프트 가능한 분할 작업에 적응된 후 훈련 양자화는 계산需求을 추가로 줄입니다. 또한, TinySAM의 설계는 계층적 분할을 목표로 하며, 성능을 손상시키지 않으면서 추론 속도를 거의 두 배로 늘립니다.

이 기사에서는 TinySAM 프레임워크, 그 기초 원리, 아키텍처 및 다른 최첨단 분할 프레임워크와 비교한 성능을 탐구합니다. 이러한 측면을 자세히 살펴보겠습니다.

TinySAM : 효율적인 Segment Anything 모델

Segment Anything Model은 1,100만 개 이상의 이미지와 10억 개 이상의 이미지 마스크를 보유한大量의 분할 데이터셋으로 인해 여러 컴퓨터 비전 응용 프로그램의 빠른 진행을 도왔습니다. 임의의 범주와 모양의 객체를 분할하는 작업에서卓越한 성능을 보여주며, 이미지 인페인팅, 객체 추적, 3D 비전 등과 같은 다운스트림 작업을 수행하는 프레임워크의 기초가 됩니다. 또한, Segment Anything Model은 제로샷 분할 성능이 뛰어나며, 제한된 데이터를 사용하는 의료 연구 및 의료 영상과 같은 산업에서ประโยชน을 누리고 있습니다.

Segment Anything Model의卓越한 분할 능력에 대해 질문할 수는 없지만, 복잡한 아키텍처 과부하, 높은 계산 요구 및 상당한 운영 비용과 같은 단점이 있습니다. 현대 GPU에서 실행되는 SAM 모델의 추론 시간은 1024×1024 이미지에 대해 2초까지 소요될 수 있습니다. 따라서, SAM 응용 프로그램을 계산 능력이 제한된 장치에서 구현하는 것은 매우 어려운 작업입니다. 이 장애물을 극복하기 위해, 최근의 연구인 MobileSAM과 FastSAM은 계산 효율성이 더 높은 SAM 모델을 개발하려고 시도했습니다. MobileSAM 프레임워크는 이미지 인코더의 무거운 구성 요소를 TinyViT 프레임워크의 아키텍처로 대체하는 반면, FastSAM 모델은 YoloV8 모델을 사용하여 단일 범주만 있는 인스턴스 분할 작업으로 분할 작업을 전송합니다. 이러한 방법은 계산 요구를 줄이는 일부 성공을 달성했지만, 특히 제로샷 다운스트림 작업에서 성능을 유지하지 못했습니다.

TinySAM 또는 Tiny Segment Anything Model은 SAM 모델의 계산 요구를 줄이면서 성능을 손상시키지 않으려는 시도입니다. 또한, TinySAM 프레임워크는 학생 네트워크의 능력을 향상시키기 위해 전체 단계 지식 증류 방법을 제안합니다. TinySAM 프레임워크는 학생 네트워크를 종단 간으로 교사 네트워크의 감독하에 증류하며, 증류 과정을 더욱 활성화하기 위해 온라인 하드 프롬프트 샘플링 전략을 구현합니다. 또한, 계산 비용을 추가로 줄이기 위해, TinySAM 프레임워크는 프롬프트 가능한 분할 작업에 후 훈련 양자화를 적용합니다.

Segment Anything Model의 주요 계산 요구는 이미지의 모든 것을 분할하기 위해 그리드 프롬프트 포인트에서大量의 마스크를 생성하는 것입니다. 이 분할 전략의 계산 요구를 극복하기 위해, TinySAM 프레임워크는 계층적 분할 전략을 사용하여 추론 속도를 거의 두 배로 늘리며 성능을 손상시키지 않습니다. 이러한 방법을 사용하면, TinySAM 프레임워크는 계산 요구의 상당한 감소와 효율적인 분할 작업에 대한 새로운 제한을 제공합니다.

TinySAM : 아키텍처 및 방법론

TinySAM 프레임워크의 아키텍처와 방법론에 대해 논의하기 전에, 먼저 그 전신인 SAM 프레임워크를 살펴보는 것이 중요합니다. SAM 모델은 다양한 다운스트림 비전 및 객체 분할 작업에서卓越한 성능, 다용도성 및 일반화 능력을展示했습니다.

SAM 모델의 핵심에는 세 개의 서브 네트워크가 있습니다: 프롬프트 인코더, 이미지 인코더 및 마스크 디코더. 프롬프트 인코더의 주요 목적은 임의 모양의 마스크, 입력 포인트 및 상자, 자유 형식 텍스트를 위치 정보와 함께 인코딩하는 것입니다. 이미지 인코더는 무거운 ViT 또는 비전 트랜스포머 기반 네트워크로 입력 이미지를 임베딩으로 추출합니다. 모델은 기하학적 및 텍스트 프롬프트를 처리하기 위해 다른 네트워크를 사용합니다. 마스크 디코더에는 두 가지 트랜스포머가 포함되어 있으며, 프롬프트 및 이미지 인코더의 출력을 받아 최종 마스크 예측을 생성합니다. 데이터셋과 함께, SAM 프레임워크는 객체의 모양 및 범주에 관계없이 높은 품질의 분할 능력을展示합니다. 또한, Segment Anything Model은 제로샷 다운스트림 비전 작업에서卓越한 성능과 효율성을展示하며, 객체 제안, 에지 감지, 텍스트에서 마스크 예측 및 인스턴스 분할을 포함합니다. 높은 품질의 분할 능력과 유연한 프롬프트 제공으로 인해, SAM 프레임워크는 비전 응용 프로그램의 기초가 됩니다. 그러나, 전통적인 SAM 아키텍처의 높은 계산 요구를 무시할 수 없습니다.大量의 매개변수로 인해, 개발자가 SAM 기반 응용 프로그램을 계산 능력이 제한된 장치에서 배포하는 것은 거의 불가능합니다.

지식 증류

지식 증류는 컴팩트 네트워크의 성능을 향상시키기 위한 중요한 접근 방식입니다. 지식 증류 방법은 교사 네트워크의 출력을 사용하여 가벼운 학생 네트워크를 감독합니다. 지식 증류 방법은 중간 특징을 위한 증류와 네트워크 출력을 위한 증류로 나눌 수 있으며, 대부분의 연구는 이미지 분류 작업에 중점을 두고 있습니다.

다음 그림은 TinySAM 프레임워크의 일반적인 아키텍처 및 제로샷 인스턴스 분할 작업에서의 성능 개요를 보여줍니다.

첫 번째 단계에서, TinySAM 프레임워크는 SAM 프레임워크를 위한 지식 증류를 구현하며, 증류 과정을 더욱 활성화하기 위해 온라인 하드 프롬프트 샘플링 전략을 사용합니다. 두 번째 단계에서, TinySAM 프레임워크는 후 훈련 양자화를 프롬프트 가능한 분할 작업에 적용하며, 가벼운 학생 네트워크에 이를 구현합니다. 마지막으로, 모델은 계층적 분할 전략을 구현하여 추론 속도를 거의 두 배로 늘립니다.

전체 단계 지식 증류

앞서 언급했듯이, Segment Anything Model은 세 개의 서브 네트워크로 구성됩니다: 프롬프트 인코더, 이미지 인코더 및 마스크 디코더. 이미지 인코더 구성 요소는 비전 트랜스포머를 기반으로 하며, 높은 계산 요구를 가지고 있습니다. 이 문제를 해결하기 위해, MobileSAM 프레임워크는 비전 트랜스포머를 TinyViT 또는 Tiny Vision Transformer로 대체했습니다. 그러나, 대체는 효과적이지 않았습니다. 성능이 상당히 저하되었습니다. 성능 저하를 방지하기 위해, TinySAM 프레임워크는 전체 단계 지식 증류 방법을 구현하여 가벼운 이미지 인코더를 학습 단계에서 다중 지식 수준으로 안내합니다. 기존의 지상จร 라벨과 예측 결과 사이의 일반적인 손실 외에도, TinySAM 프레임워크는 다양한 단계에서 다수의 증류 손실을 도입합니다.

양자화

모델 양자화는 컴퓨터 비전 프레임워크에서 인기 있는 접근 방식으로, 모델을 압축하기 위해 가중치 또는 활성화를 더 높은 대역폭에서 더 낮은 대역폭으로 양자화하여 계산 복잡성과 저장 요구를 줄입니다.

TinySAM의 양자화의 주요 목적은 스케일링 인자와 함께 비트 정수 텐서로 부동 소수점 텐서를 투영하는 것입니다. 매트릭스乗算과 양자화된 매트릭스 사이의 거리 측정은 스케일링 인자를 최적화하는 데 중요한 역할을 합니다.

계층적 분할

Segment Anything Model은 자동 마스크 생성기를 제안하여 이미지의 모든 것을 분할합니다. 그러나, 밀도 높은 포인트 그리드의 사용은 과도한 세분화된 분할 출력을 생성하며,大量의 계산 요구와 높은 운영 비용이 발생합니다. 또한, 객체의 일부가 별도의 마스크로 분할될 수 있으며, 모든 모드 추론의 시간 비용은 이미지 인코더가 크게 축소된 결과입니다. 모든 모드의 운영 비용을 줄이기 위해, TinySAM 프레임워크는 계층적 마스크 생성 접근 방식을 사용합니다. 원래 SAM 프레임워크와의 차이는 다음 그림에示されて 있습니다.

원래 SAM 프레임워크와 달리, TinySAM 모델은 각 측면에서 25%의 포인트만 사용하여 원래 설정의 1/16의 포인트만 사용합니다. 모델은 이러한 프롬프트와 함께 마스크 디코더와 프롬프트 인코더를 추론하며 출력을 얻습니다. 모델은 затем 임계값을 초과하는 마스크를 필터링하고, 해당 위치를 잠재적인 최종 예측 영역으로 표시합니다. 모델은 이러한 영역을 높은 신뢰도로 인스턴스 분할 결과로 처리하므로, 포인트 프롬프트를 생성할 필요가 없습니다. 이 전략은 객체의 과도한 세분화된 분할을 방지하며, 운영 비용과 계산 요구를 상당히 줄입니다. 프레임워크는 затем 두 라운드의 결과를 병합하고 후 처리하여 최종 마스크를 얻습니다.

TinySAM : 실험 및 결과

증류 과정을 가속화하기 위해, TinySAM 프레임워크는 교사 네트워크에서 이미지 임베딩을 미리 계산하고 저장하여, 모델이 훈련 단계에서 교사 네트워크의 무거운 이미지 인코더를 반복적으로 계산할 필요가 없습니다. 후 훈련 양자화를 위해, TinySAM 프레임워크는 모든 행렬乗算 계층, 컨볼루션 계층, 디컨볼루션 계층 및 선형 계층을 양자화하며, 채널별 스케일링 인자를 컨볼루션 및 디컨볼루션 계층에 사용합니다. 행렬乗算 계층에는 헤드별 스케일링 인자를 사용하며, 선형 계층에는 선형별 스케일링 인자를 사용합니다. 모델은 또한 제로샷 다운스트림 작업에 대한 평가를 수행합니다.

제로샷 인스턴스 분할 작업에서, TinySAM 프레임워크는 Segment Anything Model의 실험 설정을 따르며, 인스턴스 분할을 위해 VitDet-H 프레임워크의 객체 감지 결과를 사용합니다. 다음 그림은 TinySAM 프레임워크가 기존 방법보다 인스턴스 분할 정확도와 FLOPs 점수에서 우수함을 보여줍니다.

또한, TinySAM 모델의 질적 성능은 다음 그림에서 제로샷 인스턴스 분할을 위해 보여지며, 녹색 상자는 박스 프롬프트를 나타냅니다.

제로샷 포인트 유효 마스크 평가에서, TinySAM 모델은 MobileSAM 프레임워크보다 상당히 우수하며, 프레임워크가 사용하는 포인트 수가 적을수록 더 나은 결과를 보여줍니다.

또한, 다음 표는 계층적 모든 모드 전략으로 인한 가속 및 계산 요구 감소 결과를 요약합니다. 모델은 동일한 안정성 점수와 임계값을 사용하며, 결과는 다음과 같습니다.

최종 생각

이 기사에서, 우리는 TinySAM에 대해 논의했으며, 이는 분할 작업을 위한 경계를 넓히는 프레임워크입니다. 이는 효율적인 모델 아키텍처를 제공하며, 계산 요구는 줄이고, 원래 SAM 프레임워크와 동일한 정확도를 유지합니다. TinySAM 또는 Tiny Segment Anything Model은 원래 프레임워크의 제로샷 성능을 유지하며, 첫 번째 단계에서 전체 단계 지식 증류 방법을 구현하여 온라인 하드 프롬프트를 사용하여 가벼운 학생 모델을 증류합니다. 두 번째 단계에서, TinySAM 프레임워크는 후 훈련 양자화를 프롬프트 가능한 분할 작업에 적용하여 계산 요구를 줄입니다. 또한, 프레임워크는 계층적 분할을 사용하여 추론 속도를 거의 두 배로 늘립니다.

전문직으로서의 엔지니어, 마음으로서의 작가입니다. Kunal은 AI와 ML에 대한 깊은 사랑과 이해를 가진 기술 작가로, 이러한 분야의 복잡한 개념을 흥미롭고 정보적인 문서를 통해 단순화하는데 헌신하고 있습니다.