LAVT
intro
Task: Referring image segmentation
입력: 텍스트, 이미지
출력: 마스크
=> 픽셀 단위의 마스크를 예측하는 것이 목표
기존의 단일 모달리티 image segmentation
:고정된 카테고리 조건을 기반으로 분류
Referring image segmentation
: 인간 자연 언어의 훨씬 더 풍부한 어휘와 구문적 다양성을 다루어야 함. 주어진 텍스트 조건에 관련된 시각적 특징을 활용
Referring image segmentation Task에 대한 기존 연구들
: 각각의 인코더 네트워크에서 vision과 language feature를 독립적으로 추출한 다음, 이를 크로스 모달 디코더와 함께 융합하여 예측을 수행
크로스 모달 디코더
: 비전과 언어 두 가지 모달리티의 특징을 융합하여 출력하도록 만든 디코더
융합 전략에는 반복 상호작용, 크로스 모달 어텐션, 다중 모달 그래프 추론, 언어 구조 기반 컨텍스트 모델링 등이 포함
-> 문제: 디코더만 언어와 이미지 특징을 다루면서 트랜스포머 레이어를 효과적으로 활용해 다중 모달 컨텍스트를 온전히 찾아내기 힘들어짐
-> new: 인코더에서부터 언어적 특징과 시각적 특징을 함께 임베딩하는 vision encoder를 활용하자
새로운 접근 방식 LAVT
LAVT는 시각적 인코딩 단계에서 언어적 특징과 시각적 특징을 초기 융합함
이는 트랜스포머 인코더의 상관관계 모델링 능력을 활용하여 다중 모달 컨텍스트를 효과적으로 발굴하도록 함
복잡한 크로스 모달 디코더를 필요로 하지 않으며, 가벼운 마스크 예측기를 통해 정확한 분할 결과를 얻을 수 있음
METHOD
3.1 Language aware visual encoding
LAVT pipe line
language features 추출 BERT 사용 L ∈ R C t × T L ∈ R^{C_t×T} L ∈ R C t × T
(C t × T C_t×T C t × T 는 각각 채널 수와 단어 수)
vision feature 추출과 vision-language 융합을 네 단계로 구성된 비전 트랜스포머 레이어 계층을 통해 수행
i ∈ 1 , 2 , 3 , 4 i∈{1,2,3,4} i ∈ 1 , 2 , 3 , 4 동안 ϕ i ϕ_i ϕ i , θ i θ_i θ i , ψ i ψ_i ψ i 를 통해 3단계에 걸쳐 multi modal feature를 생성하고 결합함
ϕ i ϕ_i ϕ i : stack of transformer encoder layer(=Swin Transformer),
θ i θ_i θ i : 다중 모달 특징 융합 모듈 (->PWAM)
ψ i ψ_i ψ i : learnable gating unit (->language pathway)
multi modal feature를 생성하고 결합 3단계
트랜스포머 레이어 ϕ i ϕ_i ϕ i 는 이전 단계의 특징을 입력을 받아 V i ∈ R C i × H i × W V_i ∈ R ^{C_i×H_i×W} V i ∈ R C i × H i × W (vision feature) 출력
다중 모달 특징 융합 모듈 θ i θ_i θ i 을 통해 V i V_i V i 와 L L L 결합해 F ∈ R C i × H i × W F∈ R ^{C_i×H_i×W} F ∈ R C i × H i × W (다중 모달 feature set)를 생성
F F F 는 learnable gating unit ψ i ψ_i ψ i 을 통해 가중치를 부여 받고 V i V_i V i 에 더해져 언어 정보가 업데이트 된 Vision feature인 E i ∈ R C i × H i × W E_i∈ R^{C_i×H_i×W} E i ∈ R C i × H i × W 가 만들어짐
3.2 Pixel-word attention module(PWAM)
-> "θ i θ_i θ i 으로 어떻게 V i V_i V i 와 L L L 결합하는가"
V i q = flatten ( ω i q ( V i ) ) , (1) V_{iq} = \text{flatten}(\omega_{iq}(V_i)), \tag{1} V i q = flatten ( ω i q ( V i ) ) , ( 1 )
L i k = ω i k ( L ) , (2) L_{ik} = \omega_{ik}(L), \tag{2} L i k = ω i k ( L ) , ( 2 )
L i v = ω i v ( L ) , (3) L_{iv} = \omega_{iv}(L), \tag{3} L i v = ω i v ( L ) , ( 3 )
G i ′ = softmax ( V i q T L i k C i ) L i v T , (4) G'_{i} = \text{softmax}\left(\frac{V_{iq}^T L_{ik}}{\sqrt{C_i}}\right)L_{iv}^T, \tag{4} G i ′ = softmax ( C i V i q T L i k ) L i v T , ( 4 )
G i = ω i w ( unflatten ( G i ′ T ) ) , (5) G_{i} = \omega_{iw}(\text{unflatten}(G'^T_{i})), \tag{5} G i = ω i w ( unflatten ( G i ′ T ) ) , ( 5 )
V i V_i V i 와 L L L 사이 cross attention 과정
V i q V_{iq} V i q flatten (C,H,W) -> (HxW,C)
G i G_{i} G i unflatten (HxW,C) -> (C,H,W)
V i q V_{iq} V i q 와 G i G_{i} G i 에 instance normalization 적용
(https://velog.io/@tjdcjffff/Normalization-trend )
ω i m \omega_{im} ω i m 과 ω i o \omega_{io} ω i o 에서 1x1 conv 뒤에 ReLU 적용
3.3 Language pathway
"F i F_i F i 를 바로 이용 하지 않고 suplement로 이용"
->언어 정보가 이미지 정보를 overwelming 할 수 있어서
S i = γ i ( F i ) , (8) S_{i} = \gamma_{i}(F_{i}), \tag{8} S i = γ i ( F i ) , ( 8 )
E i = S i ⊙ F i + V i , (9) E_{i} = S_{i} \odot F_{i} + V_{i}, \tag{9} E i = S i ⊙ F i + V i , ( 9 )
실험 결과, tanh 최종 비선형성을 사용하는 게이트가 가장 효과적임을 발견
( 9 ) (9) ( 9 ) 처럼 더하는 게 replacement or concatenation보다 효과적이었음
3.4. Segmentation
{ Y 4 = F 4 , Y i = ρ i ( ν ( Y i + 1 ) ; F i ) , i = 3 , 2 , 1. (10) \begin{cases} Y_{4} = F_{4}, \\ Y_{i} = \rho_{i} (\nu (Y_{i+1}); F_{i}), & i = 3, 2, 1. \end{cases} \tag{10} { Y 4 = F 4 , Y i = ρ i ( ν ( Y i + 1 ) ; F i ) , i = 3 , 2 , 1 . ( 1 0 )
[ ; ]: 채널 차원을 따라 특징을 연결.
υ υ υ : 양선형 보간법을 통한 업샘플링.
ρ i ρ_i ρ i : 배치 정규화와 ReLU 비선형성을 연결한 두 개의 3×3 합성곱으로 구성된 projection 함수.
최종 투영: 최종 특징 맵 Y 1 Y_1 Y 1 은 1×1 합성곱을 통해 두 개의 클래스 점수 맵으로 투영.
양선형 보간법(bilinear interpolation)
1. 기존 픽셀 위치 결정: 임의의 픽셀 위치가 기존 픽셀 그리드의 어느 위치에 속하는지 결정합니다.
2. 가중치 계산: 픽셀 위치와 가장 가까운 네 개의 기존 픽셀 간의 거리를 기반으로 가중치를 계산합니다.
3. 보간 수행: 네 개의 기존 픽셀 값과 가중치를 사용하여 새로운 픽셀 값을 계산합니다.
3.5 Implementation