๐ Understanding GLIP - CLIP์ดํดํ๊ธฐ!!!
๐ง (ํ๊ตญ์ด) GLIP ์์๋ณด๊ธฐ!
๐ Faster R-CNN์ Open Vocabulary ๋ฒ์ !!
๊ฐ์ฑ ์ธ์(Object Detection) ์ค Stage2 ๋ชจ๋ธ์ ๋ํ Faster R-CNN์,
์์ ๋ก์ด ํ์คํธ ํ๋กฌํฌํธ ๊ธฐ๋ฅ์ ์ถ๊ฐํ!! GLIP์ ๋ํด ์์๋ณด์์!!
OVOD : Open Vocabulary Object Detection
๋ ผ๋ฌธ: Grounded Language-Image Pre-training
๋ฐํ: CVPR 2022 (Microsoft Research)
๐ GitHub ์ ์ฅ์
๐ก GLIP์ ํน์ง ์์ฝ!!
- ์ธ์ด ๊ธฐ๋ฐ ํ์ง
- โ๋นจ๊ฐ ๋ชจ์๋ฅผ ์ด ์ฌ๋โ, โ์ฑ ์ ์์ ์ค๋งํธํฐโ ๊ฐ์ ์์ฐ์ด ์ค๋ช ์ผ๋ก ๊ฐ์ฒด ํ์ง ๊ฐ๋ฅ!
- ์ ๋ก์ท ๋ฅ๋ ฅ
- ํ์ต ๋ ๋ณธ ์ ์๋ ๊ฐ์ฒด๋ ํ ์คํธ ์ค๋ช ๋ง์ผ๋ก ํ์ง ๊ฐ๋ฅ
- ํตํฉ ํ๋ ์์ํฌ
- ๊ฐ์ฒด ํ์ง, ๊ตฌ๋ฌธ ๊ทธ๋ผ์ด๋ฉ, ๋น์ -์ธ์ด ์ดํด๋ฅผ ํ๋์ ๋ชจ๋ธ์์ ์ฒ๋ฆฌ
๐ง GLIP ๋ฑ์ฅ์ ๋ฐฐ๊ฒฝ
๊ธฐ์กด ๊ฐ์ฒด ํ์ง๋ ๋ฏธ๋ฆฌ ์ ์๋ ์นดํ ๊ณ ๋ฆฌ(fixed set)์๋ง ๊ตญํ๋์๊ฑฐ๋,
์ผ๋ถ Open-Set ๋ ์์์ง๋ง ํ์ต๋ฐ์ดํฐ์ ํ๊ณ, ๋ชจ๋ธ ๊ตฌ์กฐ์ ํ๊ณ ์ฆ์ด ์์์ต๋๋ค!!
๐ ๊ธฐ์กด ๋ฐฉ์(fixed-sed) vs GLIP ๋ฐฉ์
๊ธฐ์กด ๊ฐ์ฒด ํ์ง:
1
2
3
์
๋ ฅ: ์ด๋ฏธ์ง
์ถ๋ ฅ: [ํด๋์ค_ID, ๋ฐ์ด๋ฉ๋ฐ์ค, ์ ๋ขฐ๋]
์์: [person, (100,50,200,150), 0.95]
GLIP ๋ฐฉ์:
1
2
3
์
๋ ฅ: ์ด๋ฏธ์ง + ํ
์คํธ ์ฟผ๋ฆฌ # ํ
์คํธ ์ฟผ๋ฆฌ ex. ๋นจ๊ฐ ์
์ธ ๋ฅผ ์
์ ์ฌ๋์ด ๊ณต์์์ ๊ฐ์์ง์ ๋๊ณ ์๋ค
์ถ๋ ฅ: [๊ทธ๋ผ์ด๋ฉ๋_ํ
์คํธ, ๋ฐ์ด๋ฉ๋ฐ์ค, ์ ๋ขฐ๋] # ๊ทธ๋ฆฌ์ด๋ฉ๋ ํ
์คํธ ex. ๋นจ๊ฐ ์
์ธ ์
์ ์ฌ๋ or ๊ฐ์์ง
์์: ["๋นจ๊ฐ ์
์ธ ๋ฅผ ์
์ ์ฌ๋", (100,50,200,150), 0.89]
- ๊ณ ์ ๋ ์นดํ ๊ณ ๋ฆฌ ํ๊ณ: YOLO, R-CNN ๊ฐ์ ๊ธฐ์กด ๋ชจ๋ธ์ ๋ฏธ๋ฆฌ ์ ์๋ ํด๋์ค๋ง ํ์ง ๊ฐ๋ฅ (์: COCO 80๊ฐ ํด๋์ค)
- ๋น์ผ ์ด๋ ธํ ์ด์ ๋น์ฉ: ์๋ก์ด ํด๋์ค๋ฅผ ์ํ ๋ฐ์ด๋ฉ ๋ฐ์ค ๋ผ๋ฒจ๋ง์ ๋ง์ ์ธ๋ ฅ๊ณผ ์๊ฐ ํ์
- ์ธ์ด-๋น์ ๊ฒฉ์ฐจ: ๋น์ ๊ณผ ์ธ์ด ์ดํด๊ฐ ๋ถ๋ฆฌ๋์ด ํ๋ถํ ํฌ๋ก์ค๋ชจ๋ฌ ์ํธ์์ฉ ๋ถ์ฌ
- ์ ๋ก์ท ๋์ : ์๋ก์ด ๋ผ๋ฒจ ๋ฐ์ดํฐ ์์ด๋ ์๋ก์ด ๊ฐ์ฒด ํ์ง ๋ถ๊ฐ๋ฅ
๐ ๊ธฐ์กด Open Vocabulary Detection ์ฐ๊ตฌ๋ค์ ํ๊ณ
GLIP์ด ์ฒซ OVOD ๋ชจ๋ธ์ ์๋๋ฐ,, ๊ธฐ์กด OVOD ์ ํ๊ณ๋?
- ViLD (2021) ๐
-Two-stage detector ๋ฐฉ์์์ CLIP์ Second Stage์๋ง! ์ฆ๋ฅํ๋ ๋ฐฉ์- ํ๊ณ: ๋ถ๋ฆฌ๋ ํ์ต์ผ๋ก ์ธํ ์ ๋ณด ์์ค, CLIP ๋ชจ๋ธ์ ์์กด์
- ํ๊ณ๋ฅผ ์ฝ๊ฒ ์ค๋ช ํ๋ฉด, Stage1 ๋ถ๋ถ(๊ฐ์ฑ ์ฌ๋ถ ํ์ ํ๋๊ณณ)์ ๊ธฐ์กด ๋ชจ๋ธ์ ๊ทธ๋๋ก ์ฐ๊ธฐ์ ์ง์ Open-Set์ด๊ธฐ์๋ ์ฑ๋ฅ์ด ์ข์ง ๋ชปํจ
- MDETR (2021) ๐
- End-to-end ๋ฉํฐ๋ชจ๋ฌ detection ์๋
- ํ๊ณ: ์๋์ ์ผ๋ก ์์ ๊ท๋ชจ์ human-annotated ๋ฐ์ดํฐ์ ์์กด
GLIP์ ํต์ฌ ์ฐจ๋ณ์ :
- Scale: 27M๊ฐ์ ๋๊ท๋ชจ grounded pairs (๊ธฐ์กด ๋๋น ์๋์ !)
- Unified Learning: Detection๊ณผ Grounding์ ํ๋์ ์์คํจ์๋ก ๋์ ํ์ต
- Problem Reformulation: ๋ณ๋ ๋ชจ๋ ์์ด detection = phrase grounding์ผ๋ก ์ฌ์ ์
- Web-scale ํ์ฉ: ๋ ธ์ด์ฆ ์๋ ์น ๋ฐ์ดํฐ๋ ํจ๊ณผ์ ์ผ๋ก ํ์ฉ
๐๏ธ GLIP ๋ชจ๋ธ ๊ตฌ์กฐ: Stage 1/2 ๊ด์ ์์ ์ดํดํ๊ธฐ
๐ Faster R-CNN vs GLIP ๊ตฌ์กฐ ๋น๊ต
Faster R-CNN (๊ธฐ์กด Two-stage):
1
2
3
๐ธ ์ด๋ฏธ์ง โ CNN โ RPN (Stage 1: ๊ฐ์ฒด ํ๋ณด ์์ญ ์ ์)
โ
Classification + Regression (Stage 2: ํด๋์ค ๋ถ๋ฅ)
GLIP (์ธ์ด ์ธ์ Two-stage):
1
2
3
4
5
6
7
๐ธ ์ด๋ฏธ์ง โ Vision Encoder โโโ
โโโ ๋ฅ ํจ์ (X-MHA)
๐ ํ
์คํธ โ Language Encoder โโโ
โ
Stage 1: ์ธ์ด ์ธ์ RPN
โ
Stage 2: Phrase Grounding
๐ Stage๋ณ ์ธ๋ถ ๊ตฌ์กฐ
๐ฏ Stage 1: ์ธ์ด ์ธ์ Region Proposal
์ฃผ์ด์ง ํ๋กฌํฌํธ๋ฅผ ๋ฐํ์ผ๋ก ์ด๋ฏธ์ง์๋ค๊ฐ bbox๋ฅผ ๊ทธ๋ฆฐ๋ค!!
1
2
3
์ด๋ฏธ์ง ํน์ง + ํ
์คํธ ํน์ง โ ํฌ๋ก์ค๋ชจ๋ฌ ์ตํฉ
โ
"ํ๋กฌํํธ ๊ด๋ จ ๊ฐ์ฒด ํ๋ณด" ์์ญ ์ ์
๐ฏ Stage 2: Phrase Grounding
stage1์์ ์ฐพ์ bbox์ ๋งค์นญ๋๋ ๋จ์ด๋ฅผ ์ฐพ๋๋ค!
1
2
3
4
5
Region Features โโโ
โโโ Similarity Matching
Text Features โโโโโ
โ
Grounded Phrases + BBox
- ์ฌ๊ธฐ์, ๊ธฐ์กด ๋ฌธ์ฅ๋ฑ์ text prompt์์ ์ด๋ป๊ฒ Grounded phases๋ฅผ ์ฐพ๋๋๋ฉด!!
- ์ฐ์ Bert๋ก ์ธ์ฝ๋ฉ๋ ํ๋กฌํฌํธ๋
- stage1์์ bbox๋ ์ด๋ฏธ์ง ์ธ์ฝ๋ฉ์ ๋น๊ตํด์!
- ์ ์ฌํ ํ๋กฌํฌํธ ๋ถ๋ถ๋ง ๋ค์ ํ ํฐ์์ ๋จ์ด๋ก ๋ฐ๊พธ๋ฉด, ๊ทธ๊ฒ Grounded phase์ด๋ค!
๐ Stage๋ณ ํต์ฌ ์ฐจ์ด์
์ธก๋ฉด | Faster R-CNN | GLIP |
---|---|---|
Stage 1 | ๐ โ์ด๋์ ๋ญ๊ฐ ์๋?โ | ๐ฏ โํ๋กฌํํธ ๊ด๋ จ ๊ฐ์ฒด๊ฐ ์ด๋์ ์๋?โ |
์ ๋ ฅ | ์ด๋ฏธ์ง๋ง | ์ด๋ฏธ์ง + ํ ์คํธ |
RPN ํ์ต | Closed-set (COCO ๋ฑ) | Open-set (grounded pairs) |
Stage 2 | ๐ท๏ธ โ์ด๊ฒ ๋ญ๊ฐ?โ (๊ณ ์ ํด๋์ค) | ๐ โํ๋กฌํฌํธ์ ์ด๋ค ๊ตฌ๋ฌธ๊ณผ ๋งค์นญ๋๋?โ |
๋ถ๋ฅ ๋ฐฉ์ | MLP โ Softmax | Similarity Matching |
์ถ๋ ฅ | [class_id, bbox, conf] | [grounded_phrase, bbox, conf] |
๐ GLIP ๊ตฌ์ฑ์์
๊ตฌ์ฑ์์ | ์ค๋ช | ๋ชฉ์ |
---|---|---|
ํ ์คํธ ์ธ์ฝ๋ | BERT ๊ธฐ๋ฐ ์ธ์ด ๋ชจ๋ธ | ํ ์คํธ ์ฟผ๋ฆฌ์์ ์๋ฏธ ํน์ง ์ถ์ถ |
์ด๋ฏธ์ง ์ธ์ฝ๋ | ResNet ๋๋ Swin Transformer | ์ด๋ฏธ์ง์์ ์๊ฐ ํน์ง ์ถ์ถ |
ํฌ๋ก์ค๋ชจ๋ฌ ์ตํฉ | ๋ฉํฐํค๋ ์ดํ ์ ๋ ์ด์ด | ํ ์คํธ์ ์๊ฐ ํน์ง ์ ๋ ฌ |
ํ์ง ํค๋ | ๋ถ๋ฅ + ํ๊ท | ๋ฐ์ด๋ฉ ๋ฐ์ค์ ์ ๋ขฐ๋ ์์ธก |
๐ GLIP ํ์ต ์ ๋ต
๐ฏ ํตํฉ ์์ค ํจ์
1
2
3
4
5
6
L_total = L_detection + L_grounding + L_alignment
์ฌ๊ธฐ์:
- L_detection: ํ์ค ๊ฐ์ฒด ํ์ง ์์ค
- L_grounding: ๊ตฌ๋ฌธ ๊ทธ๋ผ์ด๋ฉ ์์ค
- L_alignment: ๋น์ -์ธ์ด ์ ๋ ฌ ์์ค
๐ ํ์ต ๋ฐ์ดํฐ
๋ฐ์ดํฐ ํ์ | ์์ | ๋ชฉ์ |
---|---|---|
๊ฐ์ฒด ํ์ง | COCO, Objects365 | ๋ฐ์ด๋ฉ ๋ฐ์ค ํ๊ท ํ์ต |
๊ตฌ๋ฌธ ๊ทธ๋ผ์ด๋ฉ | Flickr30K, Visual Genome | ํ ์คํธ-์์ญ ์ ๋ ฌ ํ์ต |
์ด๋ฏธ์ง-ํ ์คํธ ์ | Conceptual Captions, LAION | ํฌ๋ก์ค๋ชจ๋ฌ ํํ ํ์ต |
๐งฉ GLIP ์ฑ๋ฅ ๊ฒฐ๊ณผ
1. ์ ๋ก์ท vs ํ์ธํ๋ ์ฑ๋ฅ ๋น๊ต
๋ชจ๋ธ | Backbone | ์ฌ์ ํ์ต ๋ฐ์ดํฐ | ์ ๋ก์ท COCO | ํ์ธํ๋ COCO |
---|---|---|---|---|
๊ธฐ์กด ๋ชจ๋ธ๋ค | ย | ย | ย | ย |
Faster R-CNN | RN50-FPN | - | - | 40.2 |
Faster R-CNN | RN101-FPN | - | - | 42.0 |
DyHead-T | Swin-T | - | - | 49.7 |
DyHead-L | Swin-L | - | - | 58.4 |
GLIP ๋ชจ๋ธ๋ค | ย | ย | ย | ย |
GLIP-T | Swin-T | O365 | 42.9 | 52.9 |
GLIP-T | Swin-T | O365 | 44.9 | 53.8 |
GLIP-T | Swin-T | O365+GoldG | 46.7 | 55.1 |
GLIP-L | Swin-L | FourODs+GoldG+Cap24M | 49.8 | 60.8 |
๐ ๋๋ผ์ด ๊ฒฐ๊ณผ: GLIP-T ์ ๋ก์ท ์ฑ๋ฅ์ด ๊ธฐ์กด Faster R-CNN ํ์ธํ๋ ์ฑ๋ฅ์ ๋ฅ๊ฐ!
2. ๋ค์ํ ๋ฐ์ดํฐ์ ์ ๋ก์ท ์ฑ๋ฅ
๋ชจ๋ธ | COCO AP | LVIS AP | ODinW (13๊ฐ ๋ฐ์ดํฐ์ ํ๊ท ) |
---|---|---|---|
CLIP + ํ์ง ํค๋ | 12.1 | 8.3 | 15.7 |
GLIP-T | 44.9 | 26.9 | 44.9 |
GLIP-L | 49.8 | 31.8 | 51.4 |
3. ํจ์ท ํ์ต
์ท ์ | COCO AP | LVIS AP |
---|---|---|
1์ท | 35.8 | 22.1 |
5์ท | 41.2 | 27.4 |
10์ท | 43.6 | 29.8 |
4. ๊ตฌ๋ฌธ ๊ทธ๋ผ์ด๋ฉ ๊ฒฐ๊ณผ
๋ฐ์ดํฐ์ | Recall@1 | Recall@5 | Recall@10 |
---|---|---|---|
Flickr30K | 82.5 | 92.8 | 95.1 |
RefCOCO | 78.9 | 87.6 | 91.2 |
RefCOCO+ | 71.4 | 82.3 | 86.9 |
๐ง ๋ง๋ฌด๋ฆฌ ์๊ฐ
Yolo ์ฐ๋ฉด์ Closed-set์ ์ ๋ง ๋ถํธํ๋ค๊ณ ์๊ฐํ์๋๋ฐ!
์ด๋ ๊ฒ SOTA OVOD์ธ GLIP์ ์ฐธ ๋๋จํ๊ฒ ๊ฐ์ต๋๋ค!!
๐ GLIP ์ฐ๊ตฌ๋ฅผ ํตํด ๋ฐฐ์ด ์ :
- ์ธ์ด๋ ์ปดํจํฐ ๋น์ ๊ณผ์ ์์ ๊ฐ๋ ฅํ ์ธํฐํ์ด์ค
- ๋ค์ํ ๋ฐ์ดํฐ์ ๋๊ท๋ชจ ์ฌ์ ํ์ต์ด ์ผ๋ฐํ์ ์ค์
- ํตํฉ ํ๋ ์์ํฌ๊ฐ ๋ถ๋ฆฌ๋ ๋ชจ๋ธ๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ ๋ฌ์ฑ ๊ฐ๋ฅ
โ ์ด ์ฐ๊ตฌ๋ AI์ ๋ฏธ๋๊ฐ ๋ฉํฐ๋ชจ๋ฌ ์ดํด์ ์์์ ๋ณด์ฌ์ค๋๋ค,
๋น์ ๊ณผ ์ธ์ด๊ฐ ๋งค๋๋ฝ๊ฒ ํจ๊ป ์๋ํ๋ ๊ทธ๋ฐ ๋ฏธ๋ ๋ง์ด์ง์!