Introduction
Text-conditioned object detection에 많은 관심을 가지고 있으며, one stage & two stage의 아키텍처에 확장시켰다. 그렇다고 VQA와 같이 탐지된 개체에 대한 추론이 필요한 다운스트림에 대해 성능 향상을 입증한 것은 아니다. 이러한 detector들이 end-to-end가 불가능하기 때문이라고 주장했다.
MDETR relies on text and aligned boxes as a form of supervision for concepts in an image.
→ the vision-language setting에서 VL model는 어떤 이미지와 함께 이 이미지를 설명하는 free-form 형태의 text로 설명글이 주어졌을 때, 이 설명글에 포함되어 있을 수 있는 학습하지 못한 표현(OOV와 같은 개념일지는 모르겠다.)을 제대로 캡쳐하지 못하는 문제가 있다.
Why? 왜일까 생각해보면 이미 학습이 끝난 detection module의 입장에서 학습 시에 본 적이 없는 표현에 대해선 제대로 detect 할 수 없기때문이다.
이미지를 설명하는 free-form 형태의 text로 설명글이 주어졌을 때, 탐지를 잘 하지못하는 그 전 연구들과 다르게 MDETR은 nuanced(미묘한) free-form 형태의 text에 대해서 좋은 성과를 보여준다. → MDETR은 범주와 속성의 보이지 않는 조합으로 일반화합니다.
논문에서는 제시한 방법은 실제 사진뿐만 아니라 합성사진을 가진 데이터셋을 이용해서 ‘구문 기반’ 및 ‘참조 표현 이해’등과 같은 작업 모두에 대해 새로운 SOTA 성능을 설정할 수 있다고 설명했다.
summary
MDETR은 blackbox object detector가 필요없이, 전체적인 image feature와 text의 embedding을 네트워크 초기부터 엮어주어 end-to-end 방식으로 학습을 시키기 때문에, black box 형태의 detection module을 쓰는 것에서 기인하는 문제점들을 해결하였다.
Method
모델 구조 비교하기
* DETR
<구조>
원본 이미지 → Resnet에 통과시킨 activation map → flatten → + 2D positional embedding을 더해준 다음 → 이를 transformer encoder의 입력으로 넣어준다.
Transformer encoder를 거쳐서 만들어진 output은 transformer decoder로 가서 attend 된다.
(* 2D positional embedding은 공간 정보를 보존하기 위해서 사용 : NLP에서 사용된 positional embedding과는 구조가 다르다.)
* MDETR
<구조>
MDETR의 모델은 DETR에서 확장시킨 모델이다. MDETR은 DETR과 마찬가지로 사용하는 부분이 많다
•
backbone network(ResNet& EfficientNet) 로부터 image feature를 추출(=”convolutional backbone을 통해 인코딩”)
•
text feature를 추출해야 하는데, 여기엔 pre-trained Roberta10 from HuggingFace(implement & weights)를 이용
◦
pre-trained RoBERT-a base as text encoder(12 transformer encoder layers, each with hidden dim of 768 & 12 heads in multi-head attention)
→ 이렇게 만들어진 image features & text feature을 concate를 진행한 후에 transformer의 encoder부분에 넣어준다.
(~concat까지의 과정을 좀 더 자세히 보기 위해서)
Image : convolutional backbone은 원본 이미지 특징 추출해서 공간 정보를 보존하기 위해서 2D positional embedding과 합친다.
Text : LM(RoBerTa)는 sequence of text 특징을 추출한다.
< The final transformer is the same as DETR >
6 encode layer, 6 decode layer
8 attention heads in the attention layers
object queries to 25(why? the maximum number of objects to be detected is low)
MDETR은 전체 image에 대한 image feature와, 해당 image에 대응되는 text(caption) feature를 공통의 transformer encoder에 입력으로 넣고, 그 후 transformer decoder에서는 text에서 언급이 된 물체들의 class와 bbox를 예측하는 구조
⇒ external blackbox detector없이도 전체 image의 feature를 학습하는 모델이 그려진다
transformer decoder에서는 DETR과 마찬가지로 object query를 입력으로 넣어주고, query의 decoder output에 Object query의 decoder output에 weight를 공유하는 FFN(Feed Foward Network)을 달아서, text에 나타나는 object들에 대한 class와 bbox를 예측한다.
그림에서 처럼 DETR과는 다르게 object query말고도, 앞으로 언급할 QA (question answering) task를 위한 QA specific query 들도 존재한다.
Decoder의 input으로는 object query 라고 하는 embedding이 들어가는데, DETR모델이 학습되면서 점차 각각의 query를, detect된 object의 representation으로 업데이트해 나간다.
Training
학습할 때 loss 관련된 것을
Hungarian loss, soft token prediction loss와 contrastive alignment loss를 최적화한다.
•
soft token prediction loss : non parametric alignment loss
bi-partite matching을 사용하여 GT boxes와 일치하는 각 Prediction boxes에 대해 모델은 객체에 해당하는 모든 토큰 위치에 대해 균일한 분포를 예측하도록 훈련한다. 그리고 텍스트의 여러 단어는 이미지의 동일한 개체에 해당할 수 있고, 반대로 여러 개체는 동일한 텍스트에 해당한다.
◦
각 개체를 참조하는 원본 텍스트에서 토큰의 범위를 예측하기 위해서 논문에서는 주어진 문장에 대한 최대 토큰 수를 'L = 256'으로 설정
◦
이러한 손실 함수를 설계함으로써 제시한 모델은 동일한 참조 표현식(the same referring expression)에서 공동 참조된 객체(co-referenced objects)에 대해 학습
◦
결론) 같은 지칭사와 관련있는 복수개의 object들을 성공적으로 구별할 수 있도록 한다
•
contrastive alignment loss : token과 aligned object queries 사이의 유사성을 강화한다(contrastive alignment loss enforces alignment between the embedded representations of the object at the output of the decoder, and the text representation at the output of the cross encoder.)
Experiment
How to describe the data and training used for pre-training MDETR
pre-training Modulated detection
CLEBV dataset에 대한 결과이다.
CLEVER-Humans, CoGenT는 나눠져있는 것을 확인할 수 있는데, 기준은 fine-tuning을 하고 안하고의 차이라고 볼 수 있다.
ex)CLEVR-HU -FT : No fine-tune / CLEVR-HU + FT : fine tune O!
MS COCO, Visual Genome (VG) datasets의 이미지를 데이터셋을 합쳤다. Referring expressions datasets, VG regions, Flickr entities, GQA train balanced set are used for training.
For each image, we take all annotations from these datasets and combine the text that refers to the same image (while ensuring that all images that are in the validation or testing set for all our downstream tasks are removed from our train set.)
1.3M aligned image - text pairs를 가지는 데이터셋을 만드는데 성공했다. 이런 데이터셋을 만드는 것에 중요한 이유는 두가지가 있다.
•
더 많은 정보를 single training 예시로 압축하여 사용할 수 있기 때문에 데이터 효율성
•
model이 동일한 개체 범주의 여러 가능성에 대해서 명확하게 학습시키기위해서 soft token prediction loss에 대해 더 나은 학습을 제공
Few-shot transfer for long-tailed detection
example!
Conclusion
이 논문은
•
multimodal understanding tasks on a variety of datasets에 대해서 좋은 성과라고 평가된다.
•
few-shot detection & VQA같은 other downstream applications 가능성을 입증했다.