1day_1paper
1day_1paper copied to clipboard
[93] Grounded Language-Image Pre-training (GLIP)
object detection 과 phrase grounding 을 합친 pretraining 을 제안. 코드베이스는 애초에 mask-rcnn 을 이용한 형태.
모델의 zero-shot 결과.
선행지식
Dynamic Head
당시 detection sota 모델 DyHead (paper, code)
3가지 attention 으로 이루어진 head 제안.
3가지 attention 을 수식으로 나타내면 다음과 같음
F 는 (L, S, C) 형태이고, L 은 feature pyramid 의 level 개수, S 는 (HxW).
scale-aware attention
어떤 level 의 feature 가 중요한 지 보는 형태.
Spatial-aware Attention
deformable conv 활용, S (HxW) 에 대한 attention 수행.
Task-aware Attention
channel-wise attention 수행. (채널을 켜거나 끄는 형태)
θ(·) 는 hyperfunction 으로 activation threshold 조정. dynamic relu 와 비슷한 형태로 구현됨.
Model
text-encoder 는 bert 를 활용, image-encoder 로는 swin-T, swin-L 활용.
어떠한 detection 모델도 들고 올 수 있는 형태.
caption 이 있는 데이터를 이미지에서 예시로 들고 있음.
명사 부분만 뽑아내서 ". ".join()
형태로 input 을 만들어 준다.
각 encoder 를 통과시켰다면, fusion layer 를 매번 거쳐서 최대한 feature 간 교환을 시켜주는 형태.
다음 layer 에는 fusion feature 가 더해진다.
fusion 방식은 단순히, dot-product attention 활용하는 형태.
fusion 하면 2배정도 느려짐.
최종 feature 들을 갖고 dot-product 를 수행하면, matrix 가 나오게 될 텐데 해당 matrix 에 many-to-one 형태의 cross entropy 가 적용됨. (2-stage 는 CE, 1-stage 는 보통 focal loss) text sequence 는 명사의 나열이기에 순서에 따른 불이익이 없도록, bipartite Hungarian match loss 가 사용됨.
localization loss 의 경우 2-stage detector 에서는 rpn loss 등이 될 것이고, 1-stage detector 에서는 centerness loss 등이 될 수 있음.
Data
꽤나 다양한 데이터가 사용되었음.
Object Detection Data
- COCO
- 80 category
- 이미지 당 5 caption
- 0.33M
- Objects 365
- 365 category
- 2M
- LVIS
- 1200+ categgory
- 0.16M
- 거의 eval 용도.
- long tail 문제가 있어서 class 별로 균등하게 뽑은 5000장 규모의 minival set 함께 사용
Grounding Data
- GoldG (From MDETR)
- Flickr 30K, VG Caption 등 합친 데이터
- 0.8M
- GoldG+ 는 validation 데이터 까지 포함시킨 형태.
- flickr 30k entites
- 0.03M
Caption data
- Cap (4M)
- crawling 으로 수집한 데이터
- pseudo labelling 수행
- CC (3M)
- SBU (1M)
Result
FourODs == Objects365, OpenImages, Visual Genome (excluding COCO images), ImageNetBoxes
COCO zero-shot (detection)
LVIS zero-shot (detection, 1200+ obj)
Flickr 30K entities (grounding)
다양한 데이터에 따른 결과
data efficiency
다른 dataset 들에 대한 zero-shot 결과들
prompt tuning
흥미롭게도, prompt 에 관련 설명을 더 넣어주면 성능이 오름
flat and round
와 같은 정보를 더 넣어준 것임.
물론 finetuning 하는 게 성능은 더 좋았지만, prompt tuning 도 꽤 괜찮은 성능 향상을 야기했음.