[이미지 분할] 대형 시각적 모델의 SEEM(Segment Everything Everywhere All at Once) 원리 해석

종이 주소 : https://arxiv.org/abs/2304.06718
테스트 코드 : https://github.com/UX-Decoder/Segment-Everything-Everywhere-All-At-Once

보낸 사람: Wisconsin-Madison, Microsoft, HKUST 등

개요(효과)

대화형 인공지능 시스템에 대한 수요가 증가함에 따라 시각에서의 인간-AI ​​상호작용에 대한 포괄적인 연구 역시 프롬프트 기반 LLM을 위한 일반 인터페이스 개발에 영감을 받았습니다. 이미지의 모든 것을 한 번에 분할합니다 .

1. 텍스트 프롬프트 . 원키 분할을 위해 사용자 입력 텍스트에서 마스크를 생성합니다(SEEM은 만화, 영화 및 게임 분야의 다양한 유형의 입력 이미지에 적응할 수 있음).

여기에 이미지 설명 삽입
2. 이미지 힌트 . Optimus Prime 트럭의 이미지가 주어지면 모든 대상 이미지에서 Optimus Prime을 분할할 수 있습니다.

여기에 이미지 설명 삽입

3. 탭 & 낙서 힌트 . SEEM은 단순히 참조 이미지를 클릭하거나 낙서함으로써 대상 이미지에서 유사한 의미 체계를 가진 개체를 분할할 수 있습니다.
여기에 이미지 설명 삽입
4. 또한 SEEM은 공간적 관계를 잘 알고 있습니다. 왼쪽 상단 얼룩말이 그래피티된 후 맨 왼쪽 얼룩말도 분할됩니다.

여기에 이미지 설명 삽입
5. 비디오 세분화:

여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

SEEM에는 네 가지 요구 사항이 있습니다.

1) 점, 상자, 낙서, 마스크, 텍스트 및 다른 이미지의 참조 영역을 포함하여 다양한 유형의 일반 힌트 엔진을 도입하여 2) 시각적 및 텍스트 힌트를 위한 공동 시각적-의미 공간, 추론을 위한 동적 쿼리를 학습하여
위 그림과 같이 3) 학습 가능한 메모리 큐를 통합하여 마스크 안내 교차 주의를 통해 대화 기록 정보가 보존 됩니다 .

SEEM이 통합 표현 공간에서 다양한 유형의 큐를 구성하는 방법을 학습하면 보이지 않는 사용자 의도로 일반화하는 강력한 능력을 보여줍니다. SEEM은 가벼운 큐 디코더로 여러 라운드의 상호 작용을 효율적으로 처리할 수 있습니다.
여기에 이미지 설명 삽입

2. 머리말

ChatGPT와 같은 대규모 언어 모델(LLM)의 성공은 인간과의 상호 작용에서 최신 AI 모델의 중요성을 보여줍니다. 인간과 상호 작용할 수 있으려면 가능한 한 많은 인간 입력을 받아들이고 인간이 쉽게 이해할 수 있는 응답을 생성할 수 있는 사용자 친화적인 인터페이스가 필요합니다 . NLP에서 이 일반 인터페이스는 GPTT5 (통합 텍스트-텍스트 변환기로 전이 학습의 한계 탐색)와 같은 초기 모델에서 프롬프트 및 체인과 같은 일부 고급 기술에 이르기까지 한동안 등장하고 개발되었습니다. 생각의. SAM은 여러 프롬프트를 지원합니다. 그러나 아래 그림의 SAM은 포인트, 박스와 같은 제한된 상호작용 유형만 지원하고 의미론적 레이블을 출력하지 않기 때문에 고급 의미론적 작업을 지원하지 않습니다 (그림에서 SEEM은 다음과 같은 두 가지 상호작용 방법에 있습니다. 예제 이미지의 참조 영역과 의미 공간이 더 풍부한 컨텍스트를 가짐).

여기에 이미지 설명 삽입

이 기사는 다중 모달 프롬프트를 사용하여 모든 것을 분할하는 공통 인터페이스를 옹호합니다! 일반성 : SEEM 모델은 입력 단서(점, 마스크, 텍스트, 상자 또는 동일한 공동 시각적-의미 공간에서 단서를 형성하는 다른 이미지의 참조 영역)의 모든 조합을 처리하여 강력한 구성성을 제공할 수 있습니다 . Interactivity , 우리는 메모리 힌트를 추가로 도입하여 이전 분할 정보를 압축한 다음 다른 힌트와 통신합니다. 시맨틱 인식을 위해 우리 모델은 모든 출력 분할에 대한 개방형 시맨틱 세트를 제공합니다. 5가지 유형의 큐가 모두 공동 시각-의미 공간에 매핑되어 제로 샷 적응을 통해 보이지 않는 사용자 큐를 가능하게 합니다. 다양한 세분화 작업에 대한 교육을 통해 모델은 다양한 단서를 처리할 수 있습니다 .

강력한 일반화 능력 외에도 SEEM은 매우 빠르게 실행됩니다. 디코더에 대한 입력으로 힌트를 사용합니다. 따라서 여러 라운드 동안 인간과 상호 작용할 때 모델은 처음에 기능 추출기를 한 번만 실행하면 됩니다 . 반복에서 새로운 힌트로 경량 디코더를 다시 실행하기만 하면 됩니다 . 모델을 배포할 때 여러 원격 호출에서 네트워크 대기 시간을 줄이기 위해 서버에서 무거운 기능 추출기를 실행하고 사용자 컴퓨터에서 상대적으로 가벼운 디코더를 실행하는 것이 일반적입니다.

1. 다양한 사용자 의도를 일반적이고, 구성적이며, 상호작용적이며 의미론적으로 인식하는 공동 시각적-의미론적 공간으로 인코딩할 수 있는 통합 프롬프트 체계를 설계하여 분할 프롬프트에 대해 0으로 유도 -샷 능력

2. 새로 설계된 힌팅 메커니즘을 모든 분할 작업을 위한 경량 디코더에 통합하여 일반적인 대화형 분할 인터페이스 SEEM이 구성됩니다.

3. Closed-set 및 Open-set 플렌옵틱 분할, 상호작용 분할, 참조 분할 및 결합된 힌트 분할 작업을 포함한 여러 분할 작업에 대한 실험 및 시각화는 성능을 보여줍니다.

3. 관련업무

Closed-Set 분할 일반적인 분할 기술 에는 인스턴스 분할, 의미론적 분할 및 플렌옵틱 분할을 비롯한
여러 하위 작업이 포함되며 , 각 하위 작업은 서로 다른 의미론적 수준에 중점을 둡니다. 예를 들어 시맨틱 분할의 목표는 해당 시맨틱 클래스에 따라 이미지의 각 픽셀을 식별하고 레이블을 지정하는 것입니다. 반면 인스턴스 분할은 동일한 의미 클래스에 속하는 픽셀을 별도의 객체 인스턴스로 그룹화하는 것을 포함합니다. 최근 몇 년 동안 변압기 기반(DETR) 모델은 세분화 작업에서 상당한 발전을 이루었습니다. 그러나 이러한 방법은 훈련 세트에서 누락된 개체를 인식할 수 없으므로 모델을 제한된 어휘 크기로 제한합니다.

Open Set Segmentation
참조 세분화 모델은 본질적으로 열린 어휘인 언어 설명 세분화를 목표로 합니다. 그러나 제한된 참조 분할 데이터 로 인해 훈련된 모델은 종종 대상 데이터 세트에서 잘 수행되지만 실제 응용 프로그램으로 추정하기는 어렵습니다. 최근 일부 모델은 가중치를 고정하거나 조정하여 시각적 의미 지식을 전달하기 위해 CLIP과 같은 대규모 사전 훈련된 시각 언어 모델을 사용하는 많은 개방형 어휘 세분화 모델을 제안했습니다. 최근에 X-Decoder는 세분화 및 개방형 어휘 세분화의 다양한 시각적 언어 작업에 대한 단순한 접근 방식을 제안했습니다. 어휘의 크기를 늘리기 위해 OpenSeeD는 많은 양의 탐지 데이터와 공동 훈련 방법을 사용하여 세분화를 개선할 것을 제안합니다. ODISE는 개방형 어휘 분할을 위한 백본으로 텍스트-이미지 확산 모델을 활용합니다.

대화식 분할
대화식 분할은 대화식으로 사용자 입력을 받아 객체를 분할하는 것입니다. 일반적으로 상호 작용 유형은 클릭, 상자, 다각형 및 낙서와 같은 다양한 형태를 취할 수 있으며 클릭 기반 상호 작용 모델이 가장 널리 사용됩니다. SAM은 1,100만 개의 이미지로 훈련된 빠른 분할 모델을 제안하여 강력한 제로샷 성능을 보여줍니다 . 일반적인 세분화를 위한 단서로 사용자 상호 작용을 사용합니다. 그러나 SAM은 의미론적 의미가 없는 세분화를 생성합니다. 프롬프트 유형은 포인트, 상자 및 텍스트로 제한됩니다 .

네, 방법

SEEM은 아래 그림 ( a)와 같이 질의와 힌트 사이의 복잡한 상호 작용이 있는 일반적인 인코더-디코더 아키텍처를 사용 합니다 . 디코더는 의 상호 작용을 기반으로hc(마스크 포함) 및 Ohmm, Pv, Pt시각적, 텍스트 및 메모리 큐 P (a) 왼쪽에는 모델의 개요가 있습니다. 첫째, 기능신호는 해당 인코더 또는 샘플러에 의해 공동 시각적 의미론적 공간으로 인코딩됩니다. 반면 학습 가능한 쿼리는 무작위로 초기화됩니다 . SEEM 디코더는 쿼리, 기능 및 힌트를 입력 및 출력으로 사용하고 마스크 및 의미론적 예측을 위해 클래스 및 마스크 임베딩을 사용합니다. 오른쪽 부분은 SEEM 디코더와 비주얼 샘플러의 세부 사항입니다. (b) 여러 라운드의 상호 작용을 보여줍니다 . 각 라운드는 휴먼 사이클과 모델 사이클로 구성됩니다. 휴먼 루프에서 인간은 마지막 반복의 마스크 출력을 수신하고 시각적 신호를 통해 다음 디코딩 라운드에 대해 긍정적 또는 부정적 피드백을 제공합니다. 모델 루프에서 모델은 향후 예측을 위해 메모리 힌트를 수신하고 업데이트합니다.
여기에 이미지 설명 삽입

여기에 이미지 설명 삽입

4.1 다목적

SEEM에서는 점, 상자, 낙서 및 다른 이미지의 참조 영역과 같은 모든 비텍스트 입력을 처리하기 위해 시각적 단서 Pv를 도입합니다 . 이러한 비텍스트 쿼리는 텍스트 프롬프트가 올바른 데이터 세그먼트를 식별하지 못하는 경우 사용자 의도를 명확하게 하는 데 도움이 됩니다. 대화형 분할을 위해 이전 작업은 공간 쿼리를 마스크로 변환하고 이미지 백본에 피드하거나 각 입력 유형(점, 상자)에 대해 서로 다른 힌트 인코더를 사용합니다. 첫 번째 방법은 적용하기에 너무 무거워서 이미지가 각 상호작용에 대해 특징 추출기를 통과해야 합니다. 두 번째 접근 방식은 보이지 않는 단서로 일반화하기 어렵습니다. 이러한 한계를 해결하기 위해 SEEM은 다양한 비텍스트 쿼리를 동일한 시각적 임베딩 공간에 위치한 시각적 신호로 변환하는 시각적 샘플러(그림 3(a))를 제안합니다. 여기서 Z ^ \hat{
여기에 이미지 설명 삽입
Z }^ 는 대상 이미지에서 가져온 것입니다(예:Z ^ \hat{Z}^ = Z) 또는 참조 이미지에서 추출한 기능 맵인 반면 s(상자, 낙서, 다각형)는 사용자 지정 샘플링 위치입니다. 먼저 포인트 샘플링을 통해 이미지 기능에서 해당 영역을 풀링합니다. 모든 시각적 신호에 대해 최대 512개의 포인트 특징 벡터가 cue 로 지정된 영역에서 균일하게 보간됩니다. 우리 방법의 또 다른 장점은 시각적 단서가 자연스럽게 텍스트 단서와 잘 정렬되고 모델이panoptic 분할참조 분할을공통 시각적 의미 공간을 지속적으로 학습한다는

Panoptic Segmentation Panoptic Segmentation: 이미지의 각 픽셀에는 의미 레이블과 인스턴스 ID가 할당되어야 함 참조
세분화 : Cross-modal 세분화는 문장 설명이 주어지면 이미지에 해당하는 객체 영역을 세분화함

4.2 구성

실제로 사용자는 의도를 달성하기 위해 서로 다른 입력 유형 또는 결합된 입력 유형을 사용해야 합니다. 일반적인 모델 학습에는 두 가지 문제가 있습니다. 첫째, 학습 데이터는 일반적으로 단일 유형의 상호 작용(예: 공백, 텍스트, 시각적)만 다룹니다. 둘째, 시각적 단서는 모든 비텍스트 단서를 통합하고 텍스트 단서와 정렬하는 데 사용되지만 임베딩 공간은 여전히 ​​본질적으로 다릅니다. 이 문제를 해결하기 위해 서로 다른 유형의 프롬프트를 서로 다른 출력과 일치시킬 것을 제안합니다. 시각적 단서가 이미지 특징에서 나오고 텍스트 단서가 텍스트 인코더에서 나온다는 점을 고려하여 시각적 단서와 텍스트 단서를 각각 마스크 임베딩 Om h 또는 클래스 임베딩 Och h와 일치시켜 일치하는 출력 인덱스를 선택합니다.

여기에 이미지 설명 삽입

여기서 IoU 마스크는 실측 마스크와 예측 마스크 사이의 교집합 비율입니다. 제안된 분할 매칭 방법은 모든 큐에서 Om h 또는 Och h만 매칭하는 방법보다 성능이 우수합니다.

학습 후 모델은 모든 프롬프트 유형에 익숙하며 동일한 모델과 가중치를 사용하는 프롬프트 없음, 단일 프롬프트 유형 또는 시각적 및 텍스트 프롬프트와 같은 여러 조합을 지원합니다. 특히, 시각적 및 텍스트 단서는 단순히 연결되어 SEEM 디코더와 같이 훈련된 적이 없더라도 SEEM 디코더에 공급될 수 있습니다.

4.3 인터랙티브.

대화형 세분화는 일반적으로 한 번에 수행할 수 없으며 ChatGPT와 같은 대화형 에이전트와 마찬가지로 세분화를 위해 여러 상호 작용이 필요합니다. SEEM은 새로운 유형의 힌트 Pm을 제안 하고 이를 사용하여 이전 반복에서 현재 반복으로 마스크 지식을 전송합니다. 여기에는 추가 모듈이 소개되지 않으며 마스크 안내 교차 주의 레이어를 사용하여 기록 정보를 인코딩하는 메모리 힌트만 있습니다.

여기에 이미지 설명 삽입

여기서 Mp 이전 마스크이고 Z는 이미지 특징 맵입니다. 따라서 교차주의는 이전 마스크로 지정된 영역에서만 효과가 있습니다. 업데이트된 메모리 큐 P l m 은 셀프 어텐션을 통해 다른 큐와 상호 작용하여 현재 라운드에 대한 과거 정보를 전달합니다. 이 디자인은 여러 개체의 동시 분할을 지원하도록 쉽게 확장할 수 있습니다.

4.4 의미 인식

SEEM은 제로 샷 방식으로 다양한 힌트 조합의 마스크에 대한 시맨틱 레이블을 제공합니다. 시각적 큐 기능은 공동 시각적-의미 공간에서 텍스트 기능과 정렬되기 때문입니다. 아래 그림과 같이 의미론적 레이블은 Och(시각 쿼리의 출력)와 어휘의 텍스트 임베딩에 의해 직접 계산됩니다. 대화형 세분화를 위해 의미론적 레이블을 훈련하지 않았지만 계산된 로그는 잘 정렬되어 공동 시각적 의미론적 공간의 이점을 얻습니다.
여기에 이미지 설명 삽입

5. 실험

데이터 세트 및 설정 SEEM은 세 가지 데이터 유형 (팬 뷰 분할, 참조 분할 및 상호 작용 분할)으로 훈련됩니다. COCO2017 트레이닝 파노라마와 대화형 분할을 사용하여 총 10개의 7K 분할 이미지를 얻었습니다. 참조 분할을 위해 COCO 이미지 주석을 위해 Ref-COCO, Ref-COCOg 및 RefCOCO+의 조합을 사용합니다. 일반 분할(인스턴스/파노라마/시맨틱), 참조 분할 및 대화형 분할을 포함하여 모든 분할 작업이 평가됩니다.
구현 세부 정보 및 평가 지표 . SEEM 프레임워크는 디코더 부분(시각적 백본, 언어 백본, 인코더 및 디코더 표시)을 제외하고 X-Decoder 프레임워크를 따릅니다. 비전 백본에는 FocalT[54]와 DaViT-d3(B)[9]를 사용합니다. 언어 인코더의 경우 UniCL 또는 Florentine 텍스트 인코더를 사용합니다[55, 59]. 분할 과제의 평가 지표는 전광 분할의 경우 PQ(전광 품질), 인스턴스 분할의 경우 AP, 시맨틱 분할의 경우 mIoU입니다. 대화형 세분화의 경우 예측 세분화를 GT와 자동으로 비교하여 사용자 클릭을 시뮬레이션합니다. 이미지를 한 번 클릭하면 예측된 마스크가 생성되고 다음 클릭은 분할 오류가 가장 큰 영역의 중앙에 배치됩니다. 대화식 세분화 성능은 NoC@85 및 NoC@90으로 각각 표시되는 특정 IoU, 즉 85% 및 90%를 달성하는 데 필요한 클릭 수를 측정하는 NoC( 클릭 수) 메트릭을 사용하여 평가됩니다 .

  1. 대화식 세분화

표 1은 SEEM을 최첨단 대화형 분할 모델과 비교하여 RITM, SimpleClick 등에 필적하는 성능을 달성하고 SEEM보다 50배 더 ​​많은 분할 데이터를 사용하는 SAM과 매우 유사합니다.
여기에 이미지 설명 삽입

  1. 일반 분할
    모든 분할 작업에 대해 일련의 매개 변수가 미리 훈련되어 있으며 일반 분할 데이터 세트에 대한 성능을 직접 평가합니다.

  2. 참조Referring 분할

아래 표에서 볼 수 있듯이 시각적 조합 신호를 추가하면 참조 분할 성능이 미니어처 모델의 cIoU, mIoU 및 AP50 메트릭에서 각각 5.7, 3.6 및 4.2포인트 향상됩니다. 차이는 기본 모델에서 재훈련되었으며 각각 2.5, 1.5 및 0, 4포인트 향상되었습니다. 특히 , 이 숫자는 O ch (outtut-q-text) 를 포함하는 클래스에 의해 계산 됩니다. 그리고 마스크 임베딩 O m h (Output-Q-Visual)를 사용하여 범위를 계산하면 아래 표와 같이 범위가 훨씬 더 커집니다. 또한 일반적인 조합(시각적 및 텍스트 마스크의 출력 확률을 직접 결합)을 벤치마킹합니다. 4. 절제 실험
여기에 이미지 설명 삽입

반복부정적인 시각적 신호를 추가하면 일반 세분화의 성능이 약간 떨어집니다. 또한 모델을 처음부터 훈련하면 일반 분할의 성능이 훨씬 더 떨어집니다. 예상대로 참조 분할 성능은 처음부터 훈련할 때 저하됩니다. 그러나 부정적인 시각적 단서가 추가되었을 때 더 감소했습니다. 반면 상호작용 분할 작업에 반복 횟수를 추가하면 접지 성능이 약간 향상됩니다. 반복과 부정적인 시각적 단서를 추가함으로써 대화형 분할 성능이 점차 향상되는 반면 처음부터 훈련하면 Pascal VOC 데이터 세트의 성능이 약간 향상됩니다.
아래 표에서 "Iter"는 반복 분할의 여러 라운드를 의미합니다. "부정적"은 대화식 분할 중에 부정적인 점을 추가하는 것을 의미합니다.
여기에 이미지 설명 삽입
5. 정성적 결과

요약을 참조하십시오.

Supongo que te gusta

Origin blog.csdn.net/qq_45752541/article/details/130403228
Recomendado
Clasificación