Overview

기존 객체 탐지 모델

image

  1. Heuristic proposals, anchors, window centers를 설정하는 방식으로 임의의 bbox를 설정한다.
  2. Near-duplicate prediction, bbox들이 서로 많이 겹쳐 중복되는 예측들이 많이 생성되고, 이를 NMS를 통해 하나의 bbox로 취합한다.
  3. bbox를 통해 탐지된 객체를 분류한다.
  4. 즉, 다음의 방식은 객체를 직접 찾는 방식이 아닌, 많은 bbox를 만들어 탐지하는 간접적인 방식이다.
  • 다음과 같이 기존 객체 탐지 모델의 경우 많은 hand-crafted 요소들을 사용해 객체 탐지를 했고, 완전한 end-to-end 모델이 아니었다.
  • 다음의 기존 모델들을 DETR은 CNN과 Transformer를 통해 완전한 end-to-end 객체 탐지 모델을 만들어냈다.

DETR

image image

  • DETR은 CNN과 Transformer를 통해 기존 객체 탐지기가 가지고 있던 hand-crafted 구성들을 없애고 1대1 대응을 통해 객체를 탐지하는 구조를 이룬다.
  • 다음 구조를 통해 기존 객체 탐지 모델과 경쟁할만한 뛰어난 성능을 가진다.

Problem of DETR and Transformer

  • 하지만, DETR은 다음의 문제점을 갖는다.

1. DETR은 기존 객체 탐지기보다 수렴하기 위해 더 많은 훈련 시간을 필요로 한다. 이는 Transformer로 인해 발생하는데, Transformer가 더 긴 훈련 시간을 필요로 하는 이유는 2가지가 있다.

  • 다음은 Transformer에서 사용되는 multi-head attention의 식이다.

  • : Query element

  • : Key element

  • : Input feature map

  • , : Learnable weight

  • : Attention weight

  • : Number of query element

  • : Number of key element

  • : Learnable weight for query

  • : Learnable weight for key

  • DETR은 Transformer, self-attention을 사용하여 연산을 한다. 쿼리, 키의 값을 주로 픽셀로 설정된다. 적절한 파라미터 초기화를 한 경우 쿼리, 키를 만드는 , 는 평균이 0, 분산이 1인 분포를 가지고, 픽셀의 수가 많을 수록 attention weight 가 1/ 에 가까워지게 된다. 즉, backpropagation을 통해 gradient를 구하더라도 매우 작은 값이 나와 초기 가중치 조정이 느리게 된다. 결과적으로는 더 많은 훈련 시간을 필요로 한다.

  • Multi-head attention의 메모리, 계산 복잡도가 쿼리와 키에 따라 매우 높아진다. 이미지 분야의 경우 쿼리, 키가 각 픽셀이 되기 때문에 쿼리 키 값이 높은 경우가 많고 이로 인해 복잡도가 매우 높아 수렴이 느려지게 된다.

2. DETR은 작은 객체를 탐지하는 것에 상대적으로 더 낮은 성능을 보인다. 다른 기존 객체 탐지기의 경우 multi-scale의 특징맵을 사용하는 등의 다양한 방식을 통해서 여러 크기의 객체를 탐지한다. DETR도 작은 크기의 객체를 탐지하려면 CNN을 통해서 산출되는 특징맵의 크기를 키우는 방식이 있다. 하지만, DETR은 연산량이 quadratic하게 증가하기 때문에 다양한 크기의 특징맵을 사용하지 못하여 작은 객체를 탐지하는 것에 상대적으로 더 낮은 성능을 보인다.

Deformable DETR의 경우 위의 문제를 해결하기 위해 고안되었다.

Background

Deformable Convolution

  • Deformable DETR은 DETR의 연산량 문제점을 해결하기 위해 deformable convolution의 아이디어를 사용했다.

image

image

  • Deformable convolution은 위 그림과 같다.
  • 일반적인 convolution의 경우 고정된 필터를 적용해 하나의 특징맵을 산출한다.
  • Deformable convolution은 feature를 특정 layer에 태워 sampling point를 예측하고, 해당 point를 기반으로 convolution을 수행한다.
  • 이를 통해 특정 위치의 객체에 맞춰, sampling이 이루어지고 보다 유연하게 특징을 추출할 수 있다.

Deformable DETR

Architecture

image

  • DETR의 구조는 위 그림과 같다.
  • Multi-scale의 특징맵을 Deformable Attention을 통해서 reference point를 기준으로 키를 sampling하여 넘겨준다. 자세한 것은 아래를 통해 확인해보자.

Constructing Multi-Scale Feature Maps

image

  • 입력 특징맵에 대한 multi-scale 특징맵은 위 그림과 같이 CNN의 각 층에서 1x1 Conv를 사용해서 뽑아내고 맨 마지막만 3x3 Conv를 사용하여 추출한다.

Deformable Attention Module

image

  • Transformer는 이미지 특징맵의 가능한 모든 공간을 살펴보기 때문에 연산량이 큰 문제를 갖는다.
  • 이를 해결하기 위해 Deformable Attention Module을 제시했다.
  • Deformable Attention Module은 기준점 주변 작은 key sampling point들에만 집중함으로써 특정 위치만 확인하는 방식을 통해서 연산량을 줄인다.

  • : Query element

  • : 2d reference point

  • : Input feature map

  • , : Learnable weight

  • : Attention weight (Normalized by )

  • : Sampling offset

  • 수식 분석 그림 그려 넣을 예정

Multi-scale Deformable Attention Module

image

  • : Query element

  • : Normalized 2d reference point

  • : Input feature map

  • , : Learnable weight

  • : Attention weight (Normalized by )

  • : Sampling offset

  • : Re-scale the normalized coordinated to the input feature map of the l-th levels

  • Multi-scale Deformable Attention Module과 같은 경우 Deformable Attention Module에서 level이 생겼다고 생각하면 된다. 즉, 각 층에 대해 Deformable Attention을 적용한다.

  • MSDeformable Attention과 같은 경우 각 특징맵의 크기가 다르기 때문에 위치적인 정보를 맞춰줘야 한다. 때문에 reference point를 정규화하여 전달한다.

  • 의 경우 정규화되어 전달된 reference point를 연산할 scale level에 맞도록 크기를 키우는 역할을 한다.

Details

image

image

  • 인코더의 경우 쿼리는 multi-scale 특징맵의 픽셀이다. 하지만 디코더의 경우 object query가 쿼리가 된다.

Result

image

image

  • Deformable DETR을 적용했을 때 DETR에 비해 동일 성능에서 훨씬 빠른 속도로 학습된다는 것을 확인할 수 있다.
  • 또한, 작은 물체 탐지가 약한 DETR에 비해 Deformable DETR은 Faster R-CNN과의 비교에서도 경쟁력을 얻을 만큼의 성능 향상을 보였다.

image

  • Single-scale 입력 대신 multi-scale 입력을 사용함으로써 기본적인 탐지 성능과 작은 물체의 탐지 성능의 향상을 이뤄냈다.
  • MS deformable attention을 사용하여 추가적인 향상을 이뤄냈다.
  • FPN을 사용한 것과 FPN을 사용하지 않은 모델의 경우에서 완전히 동일한 성능을 보인다.
  • 저자들은 Cross-Attention을 통해서 multi-scale 간의 특징 교환이 이루어졌기 때문에 FPN을 추가하는 것은 성능 향상을 이끌지 못할 것이라 설명한다.

Conclusion

Deformable DETR은 end-to-end 객체 탐지기로, DETR의 느린 수렴, 작은 객체 탐지에 약하다는 단점을 multi-scale deformable attention module을 통해서 보완했다는 점에서 의의를 갖는다.

참고문헌