End-to-End Object Detection with Transformers 논문 리뷰

김준형·2025년 8월 17일

딥러닝 논문 리뷰

목록 보기
14/33

Abstract
우리는 객체 탐지를 직접적인 set prediction problem 으로 간주하는 새로운 방법을 제안한다. 우리의 접근 방식은 탐지 파이프라인을 간소화하여, non-maximum suppression 절차나 작업에 대한 사전 지식을 명시적으로 인코딩하는 anchor 생성과 같은 여러 수작업 구성 요소의 필요성을 효과적으로 제거한다. DEtection TRansformer (DETR) 라는 새로운 프레임워크의 핵심 구성 요소는 이분 매칭을 통해 고유한 예측을 강제하는 집합 기반 글로벌 손실과 트랜스포머 인코더-디코더 아키텍처이다. 학습된 소수의 고정된 object queries를 기반으로, DETR은 객체 간의 관계 및 이미지의 전역적 맥락을 추론하여 최종 예측 집합을 병렬로 직접 출력한다. 이 새로운 모델은 개념적으로 단순하며, 다른 최신 탐지기들과 달리 특수 라이브러리를 요구하지 않는다. DETR은 도전적인 COCO 객체 탐지 데이터셋에서 Faster R-CNN 기준 모델과 정확도 및 실행 시간 성능 측면에서 대등한 수준을 보여준다. 또한 DETR은 범용적으로 panoptic segmentation을 생성할 수 있도록 쉽게 일반화되며, 경쟁 모델들보다 훨씬 우수한 성능을 보여준다.

Introduction
객체 탐지의 목표는 관심 있는 각 객체에 대해 바운딩 박스와 카테고리 레이블의 집합을 예측하는 것이다. 현대의 탐지기들은 이 집합 예측 문제를 간접적으로 해결한다. proposals, anchors, window centers에 대해 대리 회귀 및 분류 문제를 정의함으로써 이를 수행한다.
이러한 방식은 중복 예측을 제거하기 위한 후처리 단계, 앵커 집합의 설계, 앵커에 타깃 박스를 할당하는 휴리스틱 등에 크게 영향을 받는다.

이러한 파이프라인을 단순화하기 위해, 우리는 직접적인 집합 예측 접근법을 제안한다. 이러한 end-to-end 철학은 기계 번역이나 음성 인식과 같은 복잡한 구조적 예측 작업에서 상당한 진전을 이루었지만, 객체 탐지에서는 아직 두각을 나타내지 못했다. 이전의 시도들은 다른 형태의 사전 지식을 추가하거나, 도전적인 벤치마크에서 강력한 기준 모델과 경쟁하지 못했다. 본 논문은 이 격차를 해소하는 것을 목표로 한다.

우리는 객체 탐지를 직접적인 집합 예측 문제로 보고 학습 파이프라인을 간소화한다. 이를 위해 트랜스포머 기반의 인코더-디코더 구조를 채택했는데, 이는 시퀀스 예측에서 널리 사용되는 구조다. 트랜스포머의 self-attention 메커니즘은 시퀀스 내의 모든 요소 간 상호작용을 명시적으로 모델링하므로, 중복 예측 제거와 같은 집합 예측의 특정 제약 조건에 특히 적합하다.

우리가 제안하는 DEtection TRansformer (DETR)는 모든 객체를 한 번에 예측하며, 예측과 실제 객체 간의 이분 매칭을 수행하는 집합 손실 함수로 end-to-end 학습된다. DETR은 공간적 앵커나 non-maximal suppression와 같이 사전 지식을 인코딩하는 다수의 수작업 설계 요소를 제거함으로써 탐지 파이프라인을 단순화한다. 대부분의 기존 탐지 방법과 달리, DETR은 맞춤형 계층이 전혀 필요하지 않으며, CNN과 트랜스포머 클래스를 포함한 어떤 프레임워크에서도 쉽게 재현할 수 있다.

기존의 대부분의 직접 집합 예측 연구와 비교했을 때, DETR의 주요 특징은 이분 매칭 손실과 병렬 디코딩이 가능한 트랜스포머를 결합했다는 점이다. 우리의 매칭 손실 함수는 예측을 실제 객체에 고유하게 할당하며, 예측 객체의 순열에 영향을 받지 않기 때문에 병렬로 예측을 생성할 수 있다.

우리는 DETR을 대표적인 객체 탐지 데이터셋인 COCO 에서 매우 강력한 Faster R-CNN 기준 모델과 비교 평가하였다. 실험 결과, 우리의 새로운 모델은 성능 면에서 동등하거나 그 이상을 달성했다. 구체적으로, DETR은 큰 객체에서 훨씬 뛰어난 성능을 보였는데, 이는 트랜스포머의 비지역적 연산 덕분이라고 판단된다. 그러나 작은 객체에서는 성능이 낮게 나타났다. 우리는 향후 연구가 Faster R-CNN에서 FPN이 했던 것처럼 이 부분을 개선할 것으로 기대한다.

DETR의 학습 설정은 표준 객체 탐지기와 여러 면에서 다르다. 매우 긴 학습 스케줄을 필요로 하며, 트랜스포머 내의 보조 디코딩 손실로부터 이득을 얻는다. 우리는 이러한 성능을 달성하는 데 어떤 요소가 중요한지 철저히 분석한다.

DETR의 설계 철학은 보다 복잡한 작업에도 쉽게 확장될 수 있다.
실험에서, 사전 학습된 DETR 위에 간단한 segmentation head를 추가하여 학습하면, 최근 주목받고 있는 Panoptic Segmentation에서 경쟁 기준 모델들을 능가하는 성능을 달성함을 보였다.

Related work

ⓐ Set Prediction
집합을 직접 예측하는 표준적인 딥러닝 모델은 존재하지 않는다. 기본적인 집합 예측 작업은 multi-label classification이다. 다중 레이블 분류의 기본 접근 방식인 one-vs-rest 방법은, 객체 탐지와 같은 문제에는 적용할 수 없다.

이러한 작업에서 첫 번째 어려움은 중복을 피하는 것이다. 대부분의 최신 탐지기들은 이 문제를 해결하기 위해 non-maximal suppression와 같은 후처리를 사용한다. 반면, 직접 집합 예측 방식은 후처리를 사용하지 않는다. 중복을 방지하기 위해 모든 예측 요소 간 상호작용을 모델링하는 전역 추론 방식이 필요하다.

상수 크기 집합 예측의 경우, 밀집 완전연결 네트워크를 사용할 수 있지만, 이는 비용이 많이 든다. 일반적인 접근 방식은 RNN을 사용하는 것이다.

손실 함수는 예측 순서의 순열에 영향을 받지 않아야 한다. 일반적인 해결책은 Hungarian algorithm을 기반으로 한 손실 함수를 설계하여, ground truth과 예측 간의 이분 매칭을 찾는 것이다. 이 방식은 순열 불변성을 보장하고, 각 타깃 요소가 고유한 매칭을 갖도록 한다.

우리는 이러한 이분 매칭 손실 접근법을 따른다. 그러나 대부분의 기존 연구와 달리, 우리는 자동회귀 모델에서 벗어나 병렬 디코딩이 가능한 트랜스포머를 사용한다.

ⓑ Transformers and Parallel Decoding
트랜스포머는 기계 번역을 위한 새로운 어텐션 기반 구성 요소로 처음 도입되었다. 어텐션 메커니즘은 입력 시퀀스 전체에서 정보를 집계하는 신경망 계층이다. 트랜스포머는 self-attention 계층을 도입했는데, 이는 Non-Local Neural Networks와 유사하게 시퀀스의 각 요소를 순회하며 시퀀스 전체로부터 정보를 집계하여 업데이트한다.

어텐션 기반 모델의 주요 장점 중 하나는 전역 연산과 완벽한 기억이 가능하다는 점으로, 이는 긴 시퀀스에서 RNN보다 더 적합하게 만든다.
이러한 이유로 트랜스포머는 현재 NLP, speech processing, computer vision의 많은 문제에서 RNN을 대체하고 있다.

트랜스포머는 초기에는 auto-regressive 모델에 사용되어, 초기 sequence-to-sequence 모델처럼 출력을 한 번에 하나씩 생성했다.
그러나 이런 방식은 추론 비용이 출력 길이에 비례하고, 배치 처리가 어렵다는 단점이 있었다. 이 때문에 병렬 시퀀스 생성이 개발되었으며, 이는 오디오, 기계 번역, 단어 표현 학습, 음성 인식 등 다양한 분야에 적용되었다.

우리 역시 트랜스포머와 병렬 디코딩을 결합하여, 집합 예측에 필요한 전역 연산 능력과 계산 비용 간의 적절한 균형을 맞추었다.

ⓑ Object detection
대부분의 최신 객체 탐지 방법은 어떤 형태의 초기 추정값을 기준으로 예측을 수행한다. 예를 들어, two-stage 탐지기는 proposals을 기준으로 박스를 예측하고, single-stage 방법은 anchor나 가능한 객체 중심의 격자를 기준으로 예측을 수행한다. 최근 연구에 따르면, 이러한 시스템의 최종 성능은 이러한 초기 추정을 어떻게 설정하느냐에 크게 의존한다. 반면, 우리 모델은 이러한 수작업 설계 과정을 제거하고, 입력 이미지에 대한 절대 좌표로 바운딩 박스를 직접 예측함으로써 탐지 과정을 단순화하였다.

집합 기반 손실(이분 매칭 손실)을 사용하는 객체 탐지기는 이전에도 존재했다. 그러나 이러한 초기 딥러닝 모델들은 서로 다른 예측 간의 관계를 합성곱 계층이나 완전 연결 계층으로만 모델링했으며, 수작업으로 설계된 NMS 후처리를 적용하여 성능을 개선하는 경우가 많았다. 이후의 탐지기들은 정답과 예측 간에 중복된 할당 규칙을 적용하고, 여전히 NMS를 사용한다.

학습 가능한 NMS 방법과 relation networks는 attention을 사용하여 서로 다른 예측 간의 관계를 명시적으로 모델링한다. 이들은 직접 집합 손실을 사용하므로 후처리 단계가 필요하지 않다. 그러나 이러한 방법들 역시 탐지 간 관계를 효율적으로 모델링하기 위해 제안 박스 좌표와 같은 추가적인 수작업 설계 맥락 특징을 사용한다. 반면, 우리는 모델에 인코딩되는 사전 지식을 줄이는 방향을 지향한다.

우리 접근법과 가장 유사한 것은 객체 탐지와 인스턴스 분할을 위한 end-to-end 집합 예측 방식 Recurrent detectors이다. 이들 역시 CNN 활성화를 기반으로 하는 인코더-디코더 구조와 이분 매칭 손실을 사용하여 직접 바운딩 박스 집합을 생성한다. 그러나 이러한 접근법들은 작은 데이터셋에서만 평가되었으며, 최신의 강력한 기준 모델과 비교되지는 않았다. 특히, 이들은 autoregressive models 기반이기 때문에 병렬 디코딩이 가능한 최신 트랜스포머를 활용하지 못한다.

The DETR model
탐지에서 직접적인 집합 예측을 위해서는 두 가지 요소가 필수적이다. 예측된 박스와 정답 박스 간에 고유한 매칭을 강제하는 집합 예측 손실, 한 번의 처리로 객체 집합을 예측하고, 그들 간의 관계를 모델링하는 아키텍처이다.

ⓐ Object detection set prediction loss
DETR은 디코더를 한 번만 통과하여 크기가 고정된 N개의 예측 집합을 추론한다. 여기서 N은 이미지에 포함된 객체의 일반적인 개수보다 훨씬 크게 설정된다. 학습 시의 주요 어려움 중 하나는 예측된 객체(클래스, 위치, 크기)를 정답과 비교하여 어떻게 점수를 매길지 결정하는 것이다. 우리의 손실은 예측된 객체와 실제 객체 간의 최적 이분 매칭을 생성한 뒤, 그 결과를 기반으로 객체별 손실을 최적화한다.

정답 집합을 y, 예측 집합을 y^라고 하자. N이 이미지에 있는 실제 객체 수보다 클 경우, 정답 집합 y는 ∅ (no object)로 패딩하여 크기를 N으로 맞춘다. 이 두 집합 간의 이분 매칭을 찾기 위해, 우리는 N개의 요소에 대한 순열 중에서 다음 비용이 최소가 되는 것을 찾는다.

여기서 Lmatch(yi, y^σ(i))는 정답 yi와 예측 y^σ(i) 간의 쌍별 매칭 비용이다. 이 최적 할당은 헝가리안 알고리즘을 사용하여 효율적으로 계산한다.

매칭 비용은 클래스 예측과 바운딩 박스 유사도 두 요소를 모두 고려한다. 정답 집합의 각 요소 yi=(ci,bi)에서 ci는 타깃 클래스 라벨(∅일 수 있음), bi는 이미지 크기에 대한 바운딩 박스 중심 좌표와 높이, 너비를 나타낸다. 예측 y^σ(i)의 경우, 클래스 ci에 대한 예측 확률을 p^σ(i)(ci), 예측된 박스를 b^σ(i)라고 정의한다. 이때 매칭 비용은 다음과 같다.

❓Lmatch와 LHungarian의 차이
ⓐ Lmatch: 매칭 비용으로 최적 1:1 매칭을 결정하여 헝가리안 알고리즘에 입력한다.
ⓑ LHungarian: 최종적으로 모델이 학습하는 손실 함수

이 매칭 절차는 기존 탐지기에서 proposal 또는 anchors를 정답 객체에 매칭시키는 휴리스틱 규칙과 동일한 역할을 한다. 다만, 직접 집합 예측에서는 중복 없는 1:1 매칭이 필요하다는 점이 다르다.

두 번째 단계는 이전 단계에서 얻은 매칭 결과를 기반으로 하는 헝가리안 손실 계산이다. 이는 일반적인 객체 탐지 손실과 유사하게, 클래스 예측에 대한 음의 로그우도와 이후 설명할 바운딩 박스 손실의 선형 결합으로 정의된다.

여기서 σ^는 위에서 구한 최적 매칭이다. 실제로는 ci=∅인 경우 로그 확률 항에 10의 가중치 감소를 적용하여 배경 샘플이 너무 많아지는 클래스 불균형을 보정한다. 이는 Faster R-CNN 학습에서 양성/음성 제안을 부분 샘플링하는 것과 유사하다. 또한, 매칭 비용에서 로그 확률 대신 확률 p^σ^(i)(ci)을 사용하여 박스 손실과 크기를 맞추고, 실험적으로 더 나은 성능을 확인하였다.

매칭 비용과 헝가리안 손실의 두 번째 구성 요소는 Lbox(⋅)로, 이는 바운딩 박스를 점수화한다. 많은 탐지기들은 어떤 초기 추정값에 대한 변화량(Δ)으로 박스를 예측하지만, 우리는 박스를 직접 예측한다. 이 접근법은 구현을 단순화하지만, 손실의 상대적 스케일 문제를 야기한다.

예를 들어, 가장 많이 쓰이는 ℓ1 손실은 작은 박스와 큰 박스가 상대적인 오차가 동일하더라도 값의 스케일이 다르게 나온다. 이 문제를 완화하기 위해, 우리는 ℓ1 손실과 범위에 무관한 일반화된 IoU 손실의 선형 결합을 사용한다.

ⓑ DETR architecture
전체 DETR 아키텍처는 놀라울 정도로 단순하다. 이 구조는 세 가지 주요 구성 요소로 이루어져 있다. 압축된 특징 표현을 추출하는 CNN 백본, 인코더-디코더 변환기(트랜스포머), 그리고 최종 탐지 예측을 수행하는 간단한 피드포워드 네트워크이다.

Backbone
초기 이미지 ximg에서 시작하여, 일반적인 CNN 백본은 더 낮은 해상도의 활성화 맵을 생성한다. 우리가 사용하는 전형적인 값은 C=2048이며, H,W = 32H0,32W0이다.

Transformer encoder
먼저, 1×1 합성곱으로 고수준 활성화 맵 f의 채널 차원을 C에서 더 작은 차원 d로 줄여 새로운 특징 맵 z0를 만든다. 인코더는 입력으로 시퀀스를 기대하므로, z0의 공간 차원을 하나로 접어 d×HW 특징 맵을 얻는다. 각 인코더 층은 표준 아키텍처를 가지며 multi-head self-attention 모듈과 feed forward network(FFN)로 구성된다. 트랜스포머 아키텍처는 순열 불변이므로, 각 어텐션 층의 입력에 더해지는 고정된 위치 인코딩 을 보완적으로 사용한다.

Transformer decoder
디코더는 표준 트랜스포머 아키텍처를 따르며, multi-head self-attention와 encoder-decoder attention 메커니즘을 사용하여 크기 d의 N개의 임베딩을 변환한다. 원래 트랜스포머와의 차이점은, 출력 시퀀스를 한 번에 하나의 요소씩 예측하는 auto-regressive 모델을 사용하는 반면, 우리의 모델은 각 디코더 층에서 N개의 객체를 병렬로 디코딩한다는 점이다.

또한 디코더 역시 순열 불변이므로, N개의 입력 임베딩은 서로 다른 결과를 생성할 수 있도록 달라야 한다. 이 입력 임베딩은 학습 가능한 위치 인코딩이며, 이를 object queries라고 부른다. 인코더와 유사하게, 우리는 이 object queries를 각 어텐션 층의 입력에 더한다.
이 N개의 object queries는 디코더에 의해 출력 임베딩으로 변환된다. 이후 각각은 독립적으로 피드포워드 네트워크에 의해 박스 좌표와 클래스 레이블로 디코딩되어, N개의 최종 예측을 산출한다.

이러한 임베딩에 대해 모델은 모든 객체를 전역적으로 함께 추론할 수 있으며, 그들 간의 쌍 관계를 활용하는 동시에 이미지 전체를 문맥으로 사용할 수 있다.

Prediction feed-forward networks
최종 예측은 ReLU 활성화 함수와 은닉 차원 d를 가진 3층 퍼셉트론(MLP)과 선형 투영층(linear projection layer)에 의해 계산된다. FFN은 입력 이미지에 대해 정규화된 박스의 중심 좌표, 높이, 너비를 예측한다. 선형 계층은 소프트맥스 함수를 사용하여 클래스 레이블을 예측한다.

우리는 고정 크기의 N개의 바운딩 박스 집합을 예측하는데, 여기서 N은 보통 이미지 내 실제 객체 수보다 훨씬 크다. 따라서 추가적인 특수 클래스 레이블을 사용하여 해당 슬롯 내에 탐지된 객체가 없음을 나타낸다. 이 클래스는 표준 객체 탐지 접근 방식에서의 배경 클래스와 유사한 역할을 한다.

Auxiliary decoding losses
우리는 학습 중 디코더에서 보조 손실을 사용하는 것이 특히 유용하다는 것을 발견했는데, 이는 모델이 각 클래스에 대해 올바른 수의 객체를 출력하도록 돕는다. 이를 위해 각 디코더 층 뒤에 예측 FFN과 헝가리안 손실을 추가한다. 모든 예측 FFN은 동일한 매개변수를 공유한다. 또한 서로 다른 디코더 층으로부터 예측 FFN 입력을 정규화하기 위해 추가적인 공유된 레이어 정규화를 사용한다.

Conclusion
우리는 객체 탐지를 직접적인 집합 예측 문제로 바라보는 새로운 방법을 제시하였다. 우리의 접근 방식인 DETR은 객체 탐지를 트랜스포머를 사용한 집합 예측 문제로 재구성한다. 이 모델은 많은 전통적인 객체 탐지 구성 요소를 제거하면서도, COCO 데이터셋에서 강력한 성능을 달성한다.

또한 DETR은 단일하고 단순한 아키텍처로, 객체 탐지를 넘어서 panoptic segmentation과 같은 일반적인 장면 이해 작업으로 쉽게 확장될 수 있음을 보였다. 우리는 DETR이 객체 탐지 분야의 새로운 방향을 열어줄 수 있기를 기대한다.

❓Deformable DETR
① Deformable Attention 도입
모든 위치를 다 보지 않고, 참조점 주변의 소수 위치만 보게 한다. 이 샘플링을 multi-scale 특징맵에서 동시에 수행하는 MS-DeformAttn으로 확장한다.

② FPN 제거
Deformable Attention가 여러 해상도 특징을 자연스럽게 집약하므로, FPN 도움 없이도 멀티스케일 정보 결합이 가능하다. 작은 물체 성능이 특히 개선됐다.

③ 참조점 + 오프셋 학습
각 쿼리마다 정규화 좌표의 참조점을 두고, 그 주변 샘플링 오프셋과 가중치를 학습해 유연하게 보게 한다.

④ 반복 박스 정련
디코더 각 층마다 박스를 한 번 더 수정하며 정밀도를 끌어올린다.

profile
김준형

0개의 댓글