장점
object detection에서 발생하는 문제들을 해결하기 위해 위의 기법들이 각각 적용되는데 이렇게 복잡해지는 과정을 direct prediction으로 아주 단순하게 만들어 버렸다.
CNN 이후 Transformer를 사용하면 되는 구조로 매우 단순한 구조를 취하게 된다.
단점
Transformer의 특성상 학습하는데 굉장히 많은 시간이 필요하다.
small object 탐지력이 약하다.
DETR는 encoder에서 이미지 feature map을 입력받는 반면, Transformer는 문장에 대한 embedding을 입력받습니다. Transformer는 sequence 정보를 입력받는데 적합하기 때문에 DETR은 CNN backbone에서 feature map을 추출한 이후, 1x1 convolution layer를 거쳐 차원을 줄인 다음, spatial dimension을 flatten하여 encoder에 입력합니다. h, w가 height, width이며, C가 channel 수, d가 C보다 작은 channel 수라고 할 때 C×h×w 크기의 feature map을 d×hw로 변환시켰다고 볼 수 있습니다.
positional encoding에서 차이가 있습니다. Transformer는 입력 embedding의 순서와 상관 없이 동일한 값을 출력하는 permutation invariant한 성질을 가졌기 때문에 positional encoding을 더해줍니다. DETR은 x, y axis가 있는 2D 크기의 feature map을 입력받기 때문에 기존의 positional encoding을 2D 차원으로 일반화시켜 spatial positional encoding을 수행합니다. 입력값의 차원이 d라고 할 때 x, y 차원에 대하여, row-wise, column wise로 2/d 크기로 sine, cosine 함수를 적용합니다. 이후 channel-wise하게 concat하여 d channel의 spatial positional encoding을 얻은 후 입력값에 더해줍니다.
Transformer는 decoder에 target embedding을 입력하는 반면, DETR은 object queries를 입력합니다. object queries는 길이가
N인 학습 가능한 embedding입니다. object query에 대한 구체적인 설명은 Method 파트에서 살펴보겠습니다.
Transformer는 decoder에서 첫 번째 attention 연산 시 masked multi-head attention을 수행하는 반면, DETR은 multi-head self-attention을 수행합니다. 이는 Transformer는 auto-regressive하게 다음 token을 예측하기 때문에 attention 연산 시 다음 token에 대한 정보를 활용하는 것을 방지하기 위해 후속 token에 대한 정보를 masking합니다. masking은 attention 연산에서 softmax 함수 입력에 후속 token 위치에 -inf를 입력하는 방식으로 수행됩니다. 하지만 DETR은 입력된 이미지에 동시에 모든 객체의 위치를 예측하기 때문에 별도의 masking 과정을 필요로 하지 않습니다.
Transformer는 Decoder 이후 하나의 head를 가지는 반면, DETR는 두 개의 head를 가집니다. Transformer는 다음 token에 대한 class probability를 예측하기 때문에 하나의 linear layer를 가지는 반면, DETR은 이미지 내 객체의 bounding box와 class probability를 예측하기 때문에 각각을 예측하는 두 개의 linear layer를 가집니다.
본 논문에서는 object detection 시 direct set prediction을 위해 두 가지 요소가 필수적이라고 합니다.
predicted bounding box와 ground truth box 사이의 unique matching을 가능하도록 하는 set prediction loss
한 번의 forward pass로 object model 사이의 relation을 예측하는 architecture
loss를 계산하는 과정은 두 단계로 구분됩니다. 첫 번째로, predicted bounding box와 ground truth box 사이의 unique한 matching을 수행하는 과정입니다. 두 번째 단계에서는 matching된 결과를 기반으로 hungarian loss를 연산합니다.
Hungarian algorithm은 두 집합 사이의 일대일 대응 시 가장 비용이 적게 드는 bipartite matching(이분 매칭)을 찾는 알고리즘
- End-to-End 방식으로 여러 개의 Positive 개체 쿼리를 지원
- 중복 예측을 피하기 위해 Group DETR에서는 그룹 별 One-to-Many를 도입
One-to-Many 할당의 바람직하지 않은 효과 중 하나는 중복된 예측을 생성하여 Non-maximum suppresion(NMS)와 같은 후처리 단계가 제거되는 것을 방지한다는 것이다.
DETR은 One-to-One 할당을 채택하여 End-to-End 훈련을 달성하였지만, 수렴 속도가 느린 문제점이 있다.
총 개체 쿼리 수와 Ground Truth 개체당 일치하는 긍정적인 개체 쿼리 수를 점차적으로 늘렸을 떄, 총 개체 쿼리 수와 일치하는 Positive 개체 쿼리 수가 증가할 수록 탐지 성능이 크게 향상되는 반면, 총 개체 쿼리 수만 늘리면 약간의 이득만 얻을 수 있다는 것을 확인할 수 있다.
이 설계는 빠른 훈련 수렴을 달성하고 중복 예측을 제거하며 엔드투엔드 훈련을 가능하게 한다.
추론에 하나의 개체 쿼리 그룹만 사용하고 아키텍처나 프로세스를 수정하지 않으므로 원래 모델에 비해 추가 비용이 발생하지 않는다.
우리는 K개의 쿼리 그룹을 디코더에 제공하고 공유 매개변수를 사용하여 각 쿼리 그룹에 대해 self-attention을 수행한다. 그런 다음 각 그룹에 대해 일대일 할당을 수행한다.
중복 예측을 피하면서 긍정적인 쿼리 수를 늘리기 위해 그룹별 일대다 할당 전략을 제안한다. 각 gt 개체와 일치시키려는 긍정적인 쿼리 수 K가 주어지면 K개의 쿼리 그룹(원본 그룹 포함)을 생성한다.
총 K개의 그룹은 병렬로 디코더에 공급되지만, 동일한 매개변수로 디코더 self-attention을 수행할 때 각 그룹은 다른 그룹과 상호 작용하지 않는다. 그런 다음 일대일 할당이 각 그룹의 출력에 독립적으로 적용되고 K개의 일치 결과를 얻을 수 있다.
우리는 여러 긍정적인 개체 쿼리를 지원하기 위해 그룹 DETR을 제시합니다. 그룹 DETR
엔드투엔드 개체 감지를 달성하기 위해 그룹별 일대다 레이블 할당을 도입합니다. 세부적으로는 다수의 긍정적 객체 쿼리를 다수의 독립적인 그룹으로 분리하고 각 그룹에서 일대일 할당을 수행합니다.
디코더에서 적은 수의 positive query로 인해 발생하는 인코더 출력에 대한 희박한 supervision을 완화하기 위해 다양한 일대일 레이블 할당 패러다임 (ex. ATSS, Faster R-CNN)이 있는 다목적 보조 head를 통합한다.
일대일 집합 매칭 패러다임에서 각 ground-truth 박스는 supervised 타겟으로 하나의 특정 query에만 할당된다. Positive query가 너무 적으면 transformer 디코더에서 비효율적인 cross-attention 학습이 발생한다.이를 완화하기 위해 충분한 맞춤형 positive query를 정교하게 생성한다
직관적으로 positive query가 너무 적으면 각 ground-truth에 대한 regression loss에 의해 하나의 query만 supervise되므로 supervision이 희박해진다. 일대다 레이블 할당 방식의 positive sample은 latent feature 학습을 향상시키는 데 도움이 되는 더 많은 localization supervision을 받는다. 저자들은 희박한 supervision이 모델 학습을 방해하는 방법을 자세히 알아보기 위해 인코더에서 생성된 latent feature를 자세히 조사하였다. 인코더 출력의 discriminability score를 양자화하기 위해 IoF-IoB 곡선을 도입하였다 (IoF: 전경 교차, IoB: 배경 교차).
Hungarian 매칭은 일대일 집합 매칭의 핵심이다. Cross-attention은 positive query가 풍부한 개체 정보를 인코딩하는 데 도움이 되는 중요한 task이다. 이를 위해서는 충분한 학습이 필요하다. 동일한 이미지의 특정 positive query에 할당된 ground-truth 정보가 학습 과정 중에 변경되기 때문에 Hungarian 매칭은 제어할 수 없는 불안정성을 도입한다.
Group-DETR, H-DETR, SQR은 중복된 그룹과 반복된 ground-truth 박스의 일대일 매칭을 통해 일대다 할당을 수행한다. Co-DETR은 여러 공간 좌표를 각 ground-truth에 대한 positive로 명시적으로 할당한다. 따라서 이러한 조밀한 supervision 신호는 latent feature map에 직접 적용되어 더 식별할 수 있다. 반대로 Group-DETR, H-DETR, SQR에는 이 메커니즘이 없다. 더 positive한 query가 이러한 상대에 도입되었지만 Hungarian 매칭에 의해 구현된 일대다 할당은 여전히 일대일 매칭의 불안정성 문제로 어려움을 겪고 있다.
본 논문의 방법은 기존 일대다 할당의 안정성으로부터 이점을 얻고 positive query와 ground-truth 박스 사이의 특정 매칭 방식을 상속한다. Group-DETR과 H-DETR은 일대일 매칭과 기존의 일대다 할당 사이의 상보성을 밝히지 못한다. 본 논문은 전통적인 일대다 할당과 일대일 매칭을 사용하여 detector에 대한 정량적 및 정성적 분석을 최초로 제공하였다. 이를 통해 차이점과 보완성을 더 잘 이해할 수 있으므로 추가로 전문화된 일대다 디자인 경험 없이 기존 일대다 할당 디자인을 활용하여 DETR의 학습 능력을 자연스럽게 향상시킬 수 있다
디코더에 negative query가 도입되지 않는다.Permalink
중복된 object query는 필연적으로 디코더에 대한 많은 양의 negative query와 GPU 메모리의 상당한 증가를 가져온다. 그러나 본 논문의 방법은 디코더에서 positive 좌표만 처리하므로 메모리를 덜 사용한다.
DETR
-> End-to-End Object Detection with Transformers, https://arxiv.org/pdf/2005.12872.pdf
-> https://powerofsummary.tistory.com/205
-> https://herbwood.tistory.com/26
Group DETR
-> GROUP DETR: FAST DETR TRAINING WITH GROUPWISE ONE-TO-MANY ASSIGNMENT, https://arxiv.org/pdf/2207.13085.pdf
CO-DETR
-> DETRs with Collaborative Hybrid Assignments Training,
https://arxiv.org/pdf/2211.12860v5.pdf
-> https://kimjy99.github.io/%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0/co-detr/