[논문 요약/리뷰] Bring Adaptive Binding Prototypes to Generalized Referring Expression Segmentation
Bring Adaptive Binding Prototypes to Generalized Referring Expression Segmentation
Referring Expression Segmentation (RES) has attracted rising attention, aiming to identify and segment objects based on natural language expressions. While substantial progress has been made in RES, the emergence of Generalized Referring Expression Segment
arxiv.org
Author : Li, Weize, et al.
Journal : IEEE Transactions on Multimedia
Keyword : MABP, Referring Expression Segmentation
Published Date : 2024년 5월 24일
Problem Statement
- 기존의 RES(Referring Expression Segmentation)와 다르게 GRES(Generalized RES)는 텍스트가 여러 객체를 가르키기도 하고, 해당되는 객체가 없을 수도 있다.
- 일반적으로, 이미지 내 객체를 구별(Classification)하도록 사전학습된 모델은 서로다른 카테고리의 Instance들을 서로다른 피쳐로 만들어낸다. 하지만 GRES에서는 텍스트가 가르키는 여러 객체를 유사한 특징 공간에 매핑해야 한다. 이러한 간극은 모델의 학습에 부담이 될 수 있다.
- 또한 기존 모델은 (a) 처럼 트랜스포머의 단일 쿼리 벡터나, 컨볼루션 네트워크의 커널만을 사용하여 모든 전경(Foreground) 객체를 요약한다.
- 혹은 (b) 처럼 Ground-Truth 마스크이 다운 샘플링된 버전을 활용하여 쿼리 마스크를 조절한다. 이는 사전학습 모델의 편향을 어느정도 감소시킬 수 있으나(패치는 일부 영역, 객체 하나만 보통 보기 때문에) Loss 관점에서 보면 결국 Scale만 다른 그래디언트만 받을 뿐, 결국 모든 객체를 요약해야 하는 것은 마찬가지다.
- 이를 해결하기 위해 서로 다른 카테고리 인스턴스들에 대한 쿼리를 설계하는 방법이 적절할 수 있으나, GRES에서는 텍스트에 해당하는 객체들을 모두 Foreground로 분류하기 때문에 어렵다.
- 따라서 본 논문에서는 사전학습된 모델의 Prior Knowledge를 충분히 활용하고, 서로 다른 인스턴스를 고유한 Feature Prototype에 할당시키는 방법을 반영한 MABP(Model with Adaptive Binding Prototypes)를 제안한다.
Contributions
- Prototype과 다양한 클래스 인스턴스를 적응적 정렬(Adaptive Alignment)하는 Regional Supervision Head를 제안한다.
- 멀티모달 특징 간 Context Learning을 저비용으로 수행하는 Mixed Model Decoder를 도입한다.
- 사전학습된 모델의 지식을 유지하면서도 쿼리가 각 영역과 바인딩되게 하는 Region Based Query 전략을 제안한다.
Methods
- MABP의 전체적인 아키텍쳐이다.
- 이미지와 텍스트는 Feature Extractor를 거친 후 각각 Linguistic Features, Visual Features로 만들어진다.
- Linguisitc Features는 Query Generator에 전달되어 Queries가 생성된다. 이후 MMD(MultiModel Decoder)와 Multi-Level Interactions, RSH(Region Supervision Head)를 거친다.
Feature Extractors
Visual Feature Extractor
- 비전 인코더는 Swin Tramsformer를 사용한다.
- 이미지($I\in \mathbb R^{H\times W\times 3}$)가 비전 인코더를 거쳐 1/32, 1/16, 1/8 크기로 샘플링된 피쳐맵을 3개의 스테이지에서 추출한다.
- 추출된 피쳐맵들은 Pixel Decoder로 전달된다.
Language Encoder
- 텍스트 인코더는 BERT를 사용한다.
- $L$ 개의 단어로 구성된 Expression에 대해, $C_L$ 차원으로 임베딩하여 얻어진 워드 토큰 $e \in \mathbb R^{C_L}$ 을 사용한다.
- BERT의 마지막 풀링 레이어를 제외한, 텍스트 피쳐 $l \in \mathbb R^{L \times C_L}$ 을 사용한다.
Query Generator
- DETR을 비롯한 기존 방법들은 랜덤으로 초기화한 쿼리를 사용했지만, GRES에서는 그럴 필요가 없다.
- 이유는 Expression이 이미 이미지에 대한 Prior Knowledge가 들어있기 때문이다.
- 따라서 쿼리를 랜덤으로 초기화하지 않고, Expression과 Region에 맞춰 초기화될 수 있게 설계한다.
- 위 이미지가 Query Generator의 아키텍쳐이다.
- $\omega_q, \omega_k,\omega_v,\omega_o$ 는 모두 Projection Layer이다.
- 먼저 초기 영역 크기($N_0$)만큼 Learnable Embeddings $\mathbf r \in \mathbb R^{N_0 \times C}$ 를 초기화한 후 Query로 사용하고, Linguistic Features를 각각 Key, Value로 사용한다.
- 결과적으로 “right cute dog and guy in blue jacket”이라는 텍스트가 주어졌을 때, “cute dog”은 “right”에 의해 오른쪽 영역에 어텐션될 것이고, 상대적으로 “guy in the blue jacket”는 왼쪽 영역에 집중할 것이다.
- 따라서 Learnable Embedding은 이미지의 각 영역과 더 밀접하게 바인딩된다고 할 수 있다.
Mixed Modal Decoder
- MMD는 Masked Cross-Attention, Self-Attention, FFN으로 이루어져있다.
- GRES의 경우, 텍스트가 가리키는 객체가 이미지에 없는 경우, 쿼리가 어디에도 어텐션되지 못하기 때문에 Attention Map이 불안정하고 균일한 분포를 가지게 된다.
- 따라서 Cross Attention과 Self Attention 이전에 Linguistic Features를 각각 Visual Features, Query와 Concat한다.
- 즉 텍스트가 가리키는 Positive Instance가 없는 경우에도, 쿼리가 의미있게 학습할 수 있도록 한다.
- 먼저 Masked Cross-Attention을 수식으로 나타내면 아래와 같다.
$$
\mathbf S_i = \mathbf V \oplus \mathbf l_i \
\mathbf Q_{i+1} = \text{Softmax}(\mathcal M + \mathbf Q_i\mathbf S_i ^T) \mathbf S_i + \mathbf Q_i
$$
- $\mathbf V, \mathbf l_i$ 는 각각 Visual features, Linguistic features이고 $\mathbf Q_i, \mathcal M$ 은 각각 쿼리와 마스크이다.
- 이어서 Self-Attention과 FFN을 수식으로 나타내면 아래와 같다.
$$
\mathbf X_i = \mathbf Q_{i+1} \oplus \mathbf l_i \
\mathbf X_{i+1} = \text{Softmax}(\mathbf X_i \mathbf X_i^T)\mathbf X_i + \mathbf X_i \
(\mathbf Q_{i+1}, \mathbf l_{i+1}) = \text{Split}(\text{FFN}()\mathbf X_{i+1})
$$
Regional Supervision Head
- Regional Supervision Head는 Main Barnch와 NT Branch로 구성된다.
- 위쪽이 Main Branch, 아래쪽이 NT Branch이다.
Main Branch
- DETR은 Hungarian Mathcing을 통해 쿼리와 GT를 매칭했지만, GRES는 Binary Mask이기 때문에 이 방법을 사용할 수 없다.
- 따라서 패치 단위로 나눠서, 하나의 패치에 하나의 객체만 포함할 수 있게끔한다.
- 이렇게하면 각 패치의 그래디언트는 해당되는 쿼리에게만 전달된다.
- 우선 피쳐맵 $V$를 $N_i$개의 패치로 분할한 후, Query와 행렬 곱 연산을 수행하여 Binary Prediction Mask를 얻는다.
- 이 때 마스크의 크기는 아래와 같다.
$$
(H_{\text{win}}, W_{\text{win}}) = \lfloor \frac{(H,W)}{\sqrt N_i} \rfloor + 1
$$
- 이 마스크에 Sigmoid를 적용한 후, GT Mask와 함께 마스크 손실 $L_{\text{mask}}$를 계산하는 데 사용된다.
No-Targe Branch
- 쿼리만으로는 타겟의 존재 여부를 판단하기에 불충분하다.
- 따라서 쿼리, Linguistic Features, Visual Features를 모두 사용하는 Triplet-Based 접근을 제안한다.
- 이 때, 쿼리는 클래스 프로토타입의 매개체이기 때문에, Postive Instance를 발생시킬 수 있는 피쳐맵(시각 특징)보다 Linguistic Features에 더 가까워야 한다.
Loss Compute
- $L_{\text{mask}}$ 의 경우, GT Mask $Y$에 대하여 Cross Entropy Loss와 Dice Loss를 동시에 계산한다.
$$
{L}^i_{CE} = - Y_i \cdot \log[\sigma ( O_i)] - (1- Y_i) \cdot \log [1-\sigma( O_i)]
$$
$$
L^i_{DE} = 1 - [\frac{2Y_i \cdot \sigma ( O_i) + \epsilon }{ Y_i + \sigma ( O_i) + \epsilon}]
$$
- 여기서 $\sigma, \epsilon$ 은 각각 Sigmoid 및 스무딩 계수를 의미한다.
- 최종 $L_{\text{mask}}$ 는 아래와 같다.
$$
L_{\text{mask}} = \sum (\omega_{ce} L^i_{CE}+ \omega_{de} L^i_{DE})
$$
- $\omega_{ce}, \omega_{de}$ 는 각각 가중치이고, $L_{NT}$ 는 Cross-Entropy이다.
Results
- gRefCOCO Dataset의 Valudation Set에서 gIoU와 cIoU는 각각 68.79, 65.69이다.