[Paper Review] MetaFormer : A Unified Meta Framework for Fine-Grained Recognition

논문 링크 :

https://arxiv.org/abs/2203.02751

 

MetaFormer: A Unified Meta Framework for Fine-Grained Recognition

Fine-Grained Visual Classification(FGVC) is the task that requires recognizing the objects belonging to multiple subordinate categories of a super-category. Recent state-of-the-art methods usually design sophisticated learning pipelines to tackle this task

arxiv.org

 

다음 포스팅과 영상을 보고 학습한 내용을 정리한 블로그입니다.

https://haystar.tistory.com/107

 

[논문 정리] MetaFormer : A Unified Meta Framework for Fine-Grained Recognition

논문정보 MetaFormer : A Unified Meta Framework for Fine-Grained Recognition MetaFormer: A Unified Meta Framework for Fine-Grained Recognition Fine-Grained Visual Classification(FGVC) is the task that requires recognizing the objects belonging to multip

haystar.tistory.com

 

https://youtu.be/UeL_0wX-FuY?si=DBG5qLMArTd2ShPg

 


 

이 논문이 말하고자 하는 바는,

단순히 이미지만 가지고 이미지 classification을 수행하는 것이 아니라 해당 이미지에 구성된 메타정보를 함께 학습에 반영하자는 것이다. 

 

Abstract

FGVC (Fine-Grained Visual Classification)은 상위 카테고리에 속하는 여러 하위 카테고리에 속하는 객체를 인식하는 것을 말한다. 

그런데 이미지 정보만으로는 이 fine-grained 카테고리를 구별하기 부족해서, 최근 들어 메타 정보 (date, geography, attributes, text description 등)를 활용해보고자 한다. 

 

Fine-Grained 인식을 위해 다양한 메타 정보를 활용하는 단순하고 통합된 프레임워크가 MetaFormer라고 볼 수 있다. 

MetaFormer는 이미지와 다양한 메타정보를 동시에 학습하기 위한 간단하지만 효율적인 접근 방식을 제공하고 있다. 

 

여러 실험들을 통해 MetaFormer가 다양한 메타정보를 효율적으로 사용하고 있음을 알 수 있고, 이미지 정보만을 사용해서 기존의 SOTA 접근법을 능가하고 있음을 알 수 있다. 

 

1. Introduction

  • Fine-grained visual classification (FGVC) 란?

동일한 범주 내 서로 다른 종류에 대하여 분류하는 것을 말한다. 

ex)

- 새 (bird) -> 어떤 종류의 새인지? (CUB-200-2011, NABirds)

- 개 (dog) -> 어떤 종류의 강아지인지? (Stanford Dogs)

- 비행기 -> 어떤 종류의 비행기인지? (FGVC Aircraft)

 

- CUB-200-2011 데이터셋을 구체적으로 예로 들어보면,

이는 새에 대하여 새가 어떤 파트로 구성되어 있는지 15개로 구분하고, 각 부위(파트)마다 28개의 attribute group을 가지고 있고, 또 각 attribution마다 binary로 구성된 attributes를 312개 가지고 있는 데이터셋이다.

=> 15 parts > 28 attribution group > 312 binnary attributes

=> 세분화되어서 새가 어떤 종류인지, 어떤 종류하면 어떤 속성을 가지고 있는지 특징을 수집한 데이터

-> 더 세밀하게 object의 특성을 파악할 수 있다.

 

 

일반적인 객체 분류와는 달리, fine-grained 이미지 분류는 같은 기본 범주(birds, cars 등)에 속하는 객체를 하위 카테고리로 분류한다. 

그런데 이러한 FGVC은 클래스간 분산은 작고 클래스 내 분산은 크기 때문에(원래는 반대여야 좋은 것) 어려웠다.

-> 기존의 접근 방법들은 대체로 네트워크가 가장 차별성 있는 영역에 초점을 두는 것을 목표로 하였다.

ex) part-based model, attention-based model

-> 이런 접근법들은 인간의 관찰 행동에서 비롯하여, 정교한 구조를 갖는 신경망에 localization의 inductive bias를 도입한다.

Inductive bias란, 모델이 처음보는 입력에 대한 출력을 예측하기 위해 사용하는 가정을 말한다. 

 

이전에는 spatio-temporal prior and text description과 같은 추가 정보들을 활용하여 fine-grained 분류를 보강했었는데 이런 추가 정보들을 위한 설계는 특정 정보만을 타겟으로 하기 때문에 보편적이라고 할 수는 없다. 

-> MetaFormer 등장

 

+ ViT(Vision Transformer는 순수 Transformer를 이미지 패치 시퀀스에 직접적으로 적용하여서 이미지 분류 작업에서 좋은 성능을 낼 수 있음을 보였다.

<ViT란?>

: 이미지 class 분류를 위해 이미지를 여러 patch로 잘라 transformer에 넣는 방법을 제안한 것이다.

++ CNN과 달리 ViT는 이미지에 특화된 inductive bias가 부족하기 때문에 성능이 잘 나오기 위해서는 대용량의 훈련 데이터와 강력한 데이터 증강과 정규화 방법들을 필요로 한다. 

 

다시 돌아와서,

FGVC에서 트랜스포머의 입력으로 이미지와 메타토큰을 동시에 취하는 것이 가능하다.

(Transformer는 병렬화가 가능해서 한번에 처리할 수 있으니까!)

but, 다른 정보들이 서로 간섭하게 될 때 모델의 성능이 떨어지게 될지는 불분명하고,

따라서 MetaFormer를 제안하여 트랜스포머를 사용하여 이미지와 메타정보를 융합한다. 

 

Fig 1. MetaFormer의 성능 비교

MetaFormer는 메타 정보의 도움으로 다양한 FGVC benchmark에서 SOTA를 달성하였다.

 

MetaFormer는 하이브리드 구조로 볼 수 있는데,

- Convolution은 이미지를 downsampling하고 inductive bias를 유도한다. (시각적 특징 인코딩)
- Transformer는 이미지와 메타 정보를 융합한다. (시각정보와 메타정보 융합)

 

-> MetaFormer는 이런 방식으로 다른 부가기능 없이 FGVC를 위한 강력한 베이스라인을 제공할 수 있다.

(fine-grained 작업을 위한 어떠한 사전작업 없이도!)

 

2. Related Work

fine-grained 분류를 위한 기존 연구는 2가지로 나눌 수 있다.

1. 이미지만을 이용하는 것 : 이미지 정보만을 이용하여 fine-grained 분류를 수행한다.

2. multi-modality : multi-modality 정보를 통합하기 위한 공동 표현(joint representaion)을 구축하기 위해 multi-modal 데이터를 취해 fine-grained 인식을 용이하게 한다.

 

  • Vision Only (이미지만을 이용)

-> localization method, feature-encoding method

 

- localization method

초기 연구는 부분 annotation을 정답(supervision)으로 사용하여 네트워크가 종간의 미묘한 차이점에 주의를 기울이도록 하는데, annotation 작업은 비용이 많이 든다.

 

Data Annotation이란?
데이터 셋에 메타 데이터를 추가하는 작업
: 원본 데이터를 설명하기 위해 object(bounding box, 폴리라인 등)나 이미지 카테고리와 같은 메타 데이터를 태그 형식으로 데이터 셋에 추가한다.

 

- RA-CNN : 미세한 영역을 확대하기 위해 제안되었다. 차별성 있는 영역 어텐션과 다양한 크기의 영역기반 특징표현을 mutually reinforced 방법으로 재귀적으로 학습한다. 

- MA-CNN : 다중 어텐션 모델을 설계하여 part generation과 특징 학습이 서로를 강화하도록 한다.

- NTSNet : selg-supervision 구조를 설계하여 부분 주석 없이도 효과적으로 유익한 영역을 찾아낼 수 있다. 

 

- feature-encoding method

특징 표현을 풍부하게 해서 fine-grained 분류의 성능을 향상시키는 것을 목표로 한다. 

ex) Bilinear CNN, HBP, DBTNet, CAP, TransFG

 

  • Multi Modality

이미지 카테고리 간 구별하기 위해 geolocation, attributes, text description 등의 추가 정보를 이용하는 것이 도움이 된다.

ex) Geo-Aware, Presence-Only, KERL, CVL

but, 이 방법들은 모두 특정 사전 정보를 위해 개발 되었으며 다른 추가 정보에는 유연하게 적용할 수 없다.

 

3. Method

3.1 Hybrid Framework

(1) Image와 (2) Attribution (date, geography, attributes, text)를 함께 학습하는 모델 구조이다.

(1) Image는 semantic한 정보를 반영하기 위해 convolution stage(Overlapping patch Embedding)를 거친 후 vision token을 생성한다. 

(2) Attribution은 Non-linear embedding을 거친 뒤 special token으로 meta token을 생성한다. 

 

-> 앞서 구한 vision token + meta token + class token을 함께 Relative Transformer의 입력으로 사용한다. 

여기서 1이 추가된 이유는 extra token(vision & meta)에 적용하기 위함이다. (다른 meta token 과 cls token은 상대적 거리 개념이 없기 때문에 동일한 값을 토큰에 적용하기 위해서)

<Model Architecture>

- 크게 Stage 0 (stem stage)를 제외하고 네 가지 단계로 구성되어 있다 (C-C-T-T)

- 각 단계가 시작하기 전에, 다른 크기의 레이아웃을 실현하기 위해 입력 크기가 줄어든다. 

- S0은 단순히 3계층의 convolution이다.

- S1, S2는 Squeeze-exitation이 있는 MBConv Block이다.

- S3, S4에서는 relative position bias가 있는 Transformer Block을 사용하였다. 서로다른 class token을 사용하여 마지막에 두 class token은 aggregate layer에 사용된다. (stage 3 output을 stage4에 넣기 전에 cls token과 meta info를 임베딩한 걸 또 넣는다. stage 3에 넣었던 거 제외하고 새로 임베딩 하는 것이고, stage3에서 나온거랑 stage4에서 나온거랑 Aggregate layer에서 합치는 것이다.)

- S0에서 시작해서 S4까지 입력 크기는 2배 줄어들고 채널 수는 증가시킨다. 

- S3과 S4의 downsampling은 Overlapping Patch Embedding이라고 알려진 stride가 2인 convolution을 진행한다. 

크게 3가지 model로 구성되어 있으며, 모델 크기에 따라 stage 별 layer의 개수와 dimension의 차이가 존재한다. (L은 블럭 수, D는 채널 수)

 

< Relative Transformer Layer>

MetaFormer와 유사한 CoAtNet에 대해 짚고 넘어가며 Relative Transformer Layer를 설명해보겠다.

 

  • CoAtNeT

: CNN이 가진 Convolution의 장점과 Transformer가 가진 Self-Attention의 장점을 잘 조화한 모델이다. 

 

[Translation Equivariance]
- 주어진 입력이 바뀌면 결과가 다르게 나타나는 것. 
- Image에서 object의 위치가 변하는 경우 convolution은 다른 결과를 반환하게 된다. 
- 그러나 CNN이 translation invariance(순서가 바뀌어도 결과가 바뀌지 않음) 특징을 갖는 이유는 parameter sharing과 pooling 과정으로 layer를 쌓아 나가며 translation invariance한 특징을 지니기 때문이다. 

 

-> 위치에 따라 결과가 다르게 나타나는 것은 convolution의 특징이고,

CNN은 translation invariance의 특징도 가지고 있다.

 

[Relative Self-Attention]

- Depthwise convolution이 가진 특징과 self-attention이 가진 특징을 반영할 수 있는 방법을 제안한다. 

[CoAtNet의 Model Architecture]

224 X 224를 기준으로 작성된 해상도

- S0(stem stage) 제외하고 크게 4단계로 구성되어 있으며, Convolution Stage와 Transformer Stage로 구분되어 있다. 

- 최종적으로 선정된 모델 구조는 C-C-T-T이다.

 

다시 돌아와서,

Transformer의 self-Attention 연산은 permutation-invariant (translation invariant,  순서가 바뀌어도 output이 변하지 않는 특성) 하기 때문에 입력 시퀀스의 토큰 순서에 대한 영향이 없다.

-> 이 문제를 완화하기 위해 각 위치에

상대적 위치 편향 (relative position bias) BR(M^2+N)×(M^2+N) 을 도입하여 아래와 같이 유사도를 계산한다. 

- 기존 Attention 연산에는 없었던 bias B가 추가되었다. 

- Q,K,VR(M2+N)×dquery,key,value 다.

- M^2 : 이미지 패치 수

- N : class token이나 meta token 같은 추가적인 토큰의 수

- 루트 d : query, key 차원

 

이미지 블럭의 상대적 위치가 -M-1부터 까지 있고, 추가 토큰과 이미지 토큰의 상대적 위치를 표시하기 위해 special relative position bias가 필요하기 때문에 아까 위에서 언급한 것처럼

여기서 1이 추가된 이유는 extra token(vision & meta)에 적용하기 위함이다. (다른 meta token 과 cls token은 상대적 거리 개념이 없기 때문에 동일한 값을 토큰에 적용하기 위해서)

이를 매개변수화 하였다.

각 추가 토큰과 다른 토큰간에는 공간 위치 관계가 존재하지 않기 때문에, 모든 추가 토큰은 같은 상대적 위치 편향을 가진다.

식 2

상대적 트랜스포머 블럭(식 2)은 상대적 위치 편향이 있는 멀티헤드 셀프 어텐션(MSA)과, 다층 퍼셉트론 (MLP), 레이어정규화(LN)를 포함한다

식 2의 𝑧0은 토큰 시퀀스를 나타내는데, 분류 토큰(𝑥𝑐𝑙𝑎𝑠𝑠), 메타 토큰(𝑥^ 𝑖 𝑚𝑒𝑡𝑎), 이미지 토큰(𝑥^𝑖 𝑣𝑖𝑠𝑖𝑜𝑛)을 포함한다.

 

< Aggregate Layer>

S3, S4은 최종적으로 두 개의 클래스 토큰 𝑧^1𝑐𝑙𝑎𝑠𝑠,𝑧^2𝑐𝑙𝑎𝑠𝑠을 각각 출력하고, 이는 이미지 특징과 메타 정보의 융합을 표현한다.

𝑧^1𝑐𝑙𝑎𝑠𝑠, 𝑧^2𝑐𝑙𝑎𝑠𝑠 의 차원이 다르기 때문에 𝑧^1𝑐𝑙𝑎𝑠𝑠 을 MLP를 통해 확장한다.

이후, 𝑧^1𝑐𝑙𝑎𝑠𝑠, 𝑧^2𝑐𝑙𝑎𝑠𝑠  는 아래의 Aggregate Layer를 통해 합쳐진다.

식 3

𝑦 : 다양한 크기의 이미지와 메타 정보를 포함하는 출력값

 

<Overlapping Patch Embedding>

Overlapping patch Embedding을 사용하여 feature map을 토큰화하고 연산량을 줄이기 위해 downsampling한다.

zero-padding convolution을 사용하여 overlapping patch embedding을 구현한다.

 

- Pyramid Vision Transforme v2(PVT v2, 이미지가 가진 연속적인 특징 고려 -> zero padding -> 겹치게 나눔 -> patch embedding)에서 제안한 overlapping patch embedding 사용한다.

- ViT의 Patch Embedding(patch 구분할 때 겹치지 않게) 과 달리 image가 가진 continuity information을 반영하기 위해 적용한다.

- MetaFormer에서는 patch feature (N x D) → (D x H x W) 로 변환 후 2D Conv (with zero padding)을 적용한다.

 

3.2 Meta Information

(1) date, (2) geography, (3) attributes, 그리고 (4) text를 meta information으로 사용한다.

(1) Date는 [month, hour]를 sine과 cosine으로 표현하여 사용 (like Transformer Position Embedding)

(2) Geography는 [latitude, longitude]를 [x,y,z]로 표현하여 사용

(3) Attributes(312 개)는 312 차원의 vector로 사용

(4) Text는 BERT로 추출한 embedding을 사용 (33개로 나눠서)

 

4가지 meta 정보가 한번에 들어가는 것이 아닌 benchmark dataset 마다 존재하는 meta 정보를 1개만 반영하여 학습한 것이고, 추가적으로 코드를 확인해보았을 때 data와 geography는 concatenate 되어서 적용되었다. 

Dataset statistics

 

4. Experiments

4.1 Comparison with CoAtNet on ImageNet-1k

ImageNet-1k에 대한 정확도를 보여준다.

위에서도 언급했듯이 MetaFormer는 CoAtNet과 유사한 구조를 가지고 있는데, 정확도는 더 높게 나타나고 있다.

 

- MetaFormer-0이 CoAtNet-0보다 +2.3%

- MetaFormer-1이 CoAtNet-1보다 +0.6%

 

  • MetaFormer와 CoAtNet의 차이점

- MetaFormer는 최종 출력을 얻기 위해 ViT에서 클래스 토큰을 유지한다.

- CoAtNet에서는 풀링을 사용한다.

- 특히, MetaFormer에서는 Aggregate Layer를 설계하여 각기 다른 단계에서 얻어지는 class token을 통합한다.

 

4.2 The Power of Meta Information

  • iNaturalist 2017, 2018, 2021에 대한 meta(date + geography) information 영향력 비교

이 데이터들은 spatio-temporal prior를 가지고 있고, Geo-Aware는 지리학 정보를 통합하는 여러 방식을 체계적으로 검사한다. 

대용량 모델과 강한 사전학습을 사용하게 되면, 메타 정보로부터 얻은 이득이 줄어들지 않으면서 시각적 능력이 개선됨을 확인할 수 있다. 이는 테스트셋의 샘플 일부가 메타 정보의 도움을 받아서 효과적으로 식별될 수 있음을 보여준다.

 

 

  • CUB-200-2011에 대한 meta(attributes and text) information 영향력 비교

텍스트 설명과 속성이 있는 데이터셋이다.

 

4.3 The Visualization of Meta Information

- 동물들의 서식지 위치를 target으로 하여 학습한 후 예측한 결과이다.

- 지리적 분포에 대한 학습 가능성ㅇ을 보고 meta information으로 사용하였을 때 도움이 될 것이라 판단하여 사용했음을 보인다.

Spatioal predictions (예상되는 분포 시각화 )서식지에 살고 있는 object들을 서식지 위치로 target 잡고 모델을 학습시켰을 때 잘 예측하고 있는 모습을 보인다.
class token과 이미지 토큰/ 단어 토큰 간의 top-k 유사도

class token이 최종적으로 종 카테고리를 예측하는 데 사용된다. 시각화를 보면, class token이 종의  속성을 표현하는 토큰들과 높은 유사도를 보임을 확인할 수 있다. 게다가 유사도가 높은 이미지 토큰과 단어 토큰은 상호 보완적인 관계를 가지기도 한다.

 

word token에 대응하는 visual token에 대한 attention score를 시각화 한 결과이다.

종의 속성을 나타내는 단어는 해당 이미지 토큰과 높은 유사성을 갖는다. (feet이라고 하면 feet에 해당되는 이미지 토큰과 유사하다는 의미)

 

5. Conclusion

- 이 논문에서는 fine-grained 이미지 분류를 위한 통합된 메타 프레임워크를 제안하였다.

- MetaFormer는 Transformer를 사용하여 이미지 정보와 다양한 메타 정보를 융합한다. (추가되는 구조없이)

- MetaFormer는 단순하고 효과적인 베이스라인을 제공한다. 

- MetaFormer는 iNaturalist 시리즈, CUB-200-2011, NABirds 데이터셋에 대해 SOTA 성능을 달성하였다.