아이공의 AI 공부 도전기

[논문 Summary] SAFECount(2023 WACV) "Few-shot Object Counting with Similarity-Aware Feature Enhancement"

 

     

 

논문 정보

Citation : 2023.02.03 금요일 기준 2회

저자

Zhiyuan You, Kai Yang, Wenhan Luo, Xin Lu, Lei Cui, Xinyi Le

 

논문 링크

Official

https://openaccess.thecvf.com/content/WACV2023/papers/You_Few-Shot_Object_Counting_With_Similarity-Aware_Feature_Enhancement_WACV_2023_paper.pdf

 

Arxiv

https://arxiv.org/abs/2201.08959

 

 

논문 Summary

Abstract

본 연구는 few-shot object counting을 통해 query 이미지에 밀집된 target object에 대해 counting을 진행한다.
Similarity comparison module과 feature enhancement module을 포함하는 새로운 learning block을 제안한다.

우선 score map을 구하고 point-wise similarity를 활용하여 support feature으로 query feature 향상시킨다. 
이렇게 함으로써 support image와 유사한 영역에 집중하게 만들어 다른 물체들 간 명확한 경계를 이끈다.
SOTA 성능을 얻음

 

0. 설명 시작 전 Overview

 

 

본 논문은 기존 단일 class에 대한 object를 counting하는 방식이 아닌 few-show learning을 접목시킨 방법이다.

이를 통해 보지 않았던 class에 대한 support를 기준으로 counting이 가능하게 한 논문이다.

이때 few shot learning을 통한 object class의 similarity를 구하기 위해 Similarity-Aware Feature Enhancement Block을 도입한다. 본 block은 Similarity Comparison Module(SCM)과 Feature Enhancement Module(FEM) 둘로 구성되어 있다.

 

이들을 통해 더 SOTA에 가까운 few shot object counting이 가능하다.

 

1. Introduction

 

 

Object Counting은 query image의 특정 물체가 얼마나 있는지 조사하는 것을 목적으로 한다. 그러나 학습한 모델은 특정 물체 class에 대해서만 counting하기때문에 제약이 있다.

 

최근 Few-Shot object Counting(FSC)를 통해 일반화 문제를 풀어 가고자 하고 있다. 이 방법을 통해 우리는 단일 모델을 사용하여 다양한 물체에 대한 counting가 가능하도록 하고 추가적인 재학습 없이도 모델이 새로운 class에 적응하도록 한다.

 

 

최근 Few-Shot object Counting(FSC)의 2가지 방법

 

1) Feature-based approach (Figure 2. (a))

  • pooling에 의해 supprot image의 spatial 정보를 잊어버리는 문제점이 존재

 

2) Similarity-based approach (Figure 2. (b))

  • similarity가 feature보다 적은 정보를 가지고 있어 물체간 명확한 경계를 특정하는데 어려움이 있음.
  • target object가 밀집되어 있는 경우 성능이 악화됨.

 

이에 따라 본 논문에서는 Similarity-Aware Feature Enhancement bloack for object Counting(SAFECount)를 제안한다.

2가지 모듈 제안 : Similarity Comparison Module(SCM), Feature Enhancement Module(FEM)  
(위 Figure 2. (c), 아래 Figure 3) 

SCM

 

SCM은 feature projection을 학습한 후 projected feature들 간의 비교를 통해 score map을 유도한다.
모든 support 이미지들과 관련한 score map들을 모음으로써 reliable similarity map을 유도한다.
이후 exemplar dimension과 spatial dimension에 따라 normalizing을 진행

FEM

 

FEM은 point-wise similarity를 수행하고 query feature과 support feature의 융합한다.
이로써 enhanced query feature은 support 이미지에 의해 정의된 exemplar object와 유사한 영역에 더 집중한다.
더 정확한 counting이 가능하게 함.

 

결과적으로 다양한 데이터 세트에 대해 SOTA보다 향상된 결과를 보임


2. Related Work

 

Class-specific object counting : crowd counting

 

Few-shot object counting(FSC)

 

Few-shot learning : 새로운 물체를 탐지하기 위해 input image와 support image 간 similarity를 활용한다.

3. Method

 

3.1 Preliminaries

 

Few-Shot object Counting(FSC)은 적은 양의 support image를 사용하여 query image에 있는 exemplar object의 숫자를 세는 것을 목표로 한다.

한 개의 query image에 K 개의 support image를 사용할 때 K-shot FSC라고 한다.

 

3.2 Similarity-Aware Feature Enhancement

 

Similarity-Aware Feature Enhancement Block의 Notation(표기)

$f_S$ : support feature

$f_Q$ : query feature


Similarity Comparison Module (SCM)
$R_0$ : score map
$R$ : reliable similarity map

Feature Enhancement Module (FEM)
$f_R$ : similarity-weighted feature
$f_Q^\prime$ :

Density map : Regress($f^\prime_Q$)

 


Similarity Comparison Module (SCM)

reliable similarity map을 구성하기 위해 3 단계를 거침

 

Step 1: Learnable Feature Projection

$f_S$ & $f_Q$는 1x1 convolutional layer로 project
shared layer normalization 추가

Step 2: Feature Comparison

 

$g(\cdot)$ : 1x1 convolutional layer + layer normalization

 

Step 3: Score Normalization

 

$R_{EN}$ : Exemplar Normalization (ENorm)

$R_{SN}$ : Spatial Normalizationo (SNorm) (최대 1, 0~1 사이 값)

element-wise multiplication

Feature Enhancement Module (FEM)

 

feature는 similarity보다 많은 정보를 담고 있지만 support query과의 관계를 덜 정확하게 포착한다.

이에 similarity를 feature 향상을 위한 guidance로 활용한다. → f_S를 Flip하여 kernel로 활용

 

2 단계로 구성됨


Step 1: Weighted Feature Aggregation

 

flip는 horizontally vertically 모두 진행

 

Step 2: Learnable Feature Fusion

 

$h(\cdot)$ : 2개의 conv layer


Comparison with Attention

query, key, value를 사용하는 고전적인 attention module : similarity(q,k)v

spatial location 정보가 없는 기존 attention module과 달리 제안한 SAFECount는 spatial 구조를 유지함으로써 물체간 깔끔한 경계를 학습할 수 있다.


3.3 Training Framework

 

Feature Extractor

 

ImageNet으로 pre-train된 fixed ResNet-18을 feature extractor로 사용

Resize + Concatenate

support feature는 ROI pooling으로 얻음


Regression Head


f`_Q를 density map으로 바꿀 때 여러 conv layer들과 leaky ReLU, Bi-linear upsampling 진행


Multi-block Architecture


query feature f_Q와 enhanced feature f`_Q는 같은 shape

이를 반복적으로 활용 가능

논문에서는 4회 block 사용

 

Object Function

 

 

많은 counting dataset는 target object의 좌표가 annotate되어 있다.

우리는 label coordinate로부터 ground-truth density map D_GT를 생성하고 adaptive window size를 활용한 Gaussian smoothing을 진행한다.

이를 우리가 생성한 Density map과 MSE Loss 진행


4. Experiments

 

Metircs

 

i번째 query 이미지의 예측된 그리고 GT 개수를 활용한 성과평가 지표를 계산

 

Setup

 

query image size : 512 x 512

query feature map size : 128 x 128

support feature map size : 3 x 3

projected feature : 256

# multi-block : 4

 

Optimizer : Adam

Epochs : 200

Batch size : 8

learning rate : 2e-5, 80 epoch마다 0.25배씩 감소

 

Ablation Study

 

Tab. 5a : SCM and FEM

모두 사용 권장

 

Tab. 5b : Score Normalization

ENorm과 SNorm 모두 사용 권장

 

Tab. 5c : Block Number

4일 때가 가장 좋음

 

Tab. 5d : Regressing from Similarity Map vs Enhanced Feature

4 block Enhanced Feature로부터 density map 회귀 권장

 

Tab. 5e : Comparison with Attention

제안 방법이 feature의 Spatial structure 활용에 있어 더 좋음

 

Tab. 5f : Kernel Flipping in FEM

Flip하는 것이 더 좋음

 

Tab. 5g : Training vs Freezing Backbone

Backbone은 Freeze하는 것이 더 좋음


5. Conclusion



Few-Shot object Counting을 위해 SCM과 FEM으로 구성된 Similarity-Aware Feature Enhancement Block를 제안한다.

이들을 통해 모델은 support image와 유사한 영역에 더 많은 과심을 가지고 이에 따라 밀집된 물체들의 분명한 경계를 구분한다.


Appendix A. 

 

ImageNet으로 pre-trained ResNet18을 feature extractor로 선택

Q : 3 x 512 x 512

resize & concatenate & conv dim 256: 256 x 128 x 128

ROI pooling : 3 x 3

K-shot support feature : K x 256 x 3 x 3

훈련 시 backbone frozen. 단, 1x1 conv는 예외


Results

 

 

 

Reference

공식 Github

https://github.com/zhiyuanyou/SAFECount

 

GitHub - zhiyuanyou/SAFECount: [WACV 2023] Few-shot Object Counting with Similarity-Aware Feature Enhancement

[WACV 2023] Few-shot Object Counting with Similarity-Aware Feature Enhancement - GitHub - zhiyuanyou/SAFECount: [WACV 2023] Few-shot Object Counting with Similarity-Aware Feature Enhancement

github.com

 

실행을 위해서는 거의 다 shell로 실행해야 함.

train은 확인했으나 eval이나 test는 error 때문에 확인 못함.

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading