๐งฉ PartCLIPSeg: Open-Vocabulary Part-level Segmentation with CLIP Guidance
๐งฉ PartCLIPSeg: Open-Vocabulary Part-level Segmentation with CLIP Guidance
๐งฉ (ํ๊ตญ์ด) PartCLIPSeg: CLIP์ผ๋ก ํํธ ๋จ์๊น์ง ์ธ์ํ๋ Open-Vocabulary ์ธ๋ถํ!
- ์ ๋ชฉ: PartCLIPSeg: Understanding Multi-Granularity for Open-Vocabulary Part Segmentation
- ํํ: NeurIPS 2024
- ์ฝ๋/์ฒดํฌํฌ์ธํธ: GitHub โ PartCLIPSeg
- ํต์ฌ ํค์๋:
Open-Vocabulary
,Part-level Segmentation
,CLIP
,Recognition
,Fine-grained
- ์์ฝ: CLIP์ ํ ์คํธ-๋น์ ์ ๋ ฌ ๋ฅ๋ ฅ์ ์ด์ฉํด, ๊ฐ์ฒด ์์ค์ ๋์ด โํํธ ๋จ์(part-level)โ๊น์ง ์คํ ๋ณด์นด ์ธ์ยท๋ถํ ์ ์คํ!
๐ PartCLIPSeg ํต์ฌ ์์ฝ
ํ ์ค ์์ฝ: โ๊ฐ์ฒด ์ ์ฒด๊ฐ ์๋๋ผ, โํธ๋คโ, โ๋ฐํดโ, โ๋ ๊ฐโ ๊ฐ์ ํํธ๊น์ง ์๋ผ์ ์ด๋ฆ ๋ถ์ธ๋ค!โ
1) CLIP ๊ธฐ๋ฐ ํํธ ์ธ์
- CLIP์ ๋น์ โํ ์คํธ ์๋ฒ ๋ฉ ๊ณต๊ฐ์ ํ์ฉํด ์ธ๋ถ ํํธ ๋จ์๊น์ง ๋ผ๋ฒจ๋ง
- โcarโ๋ฟ ์๋๋ผ โcar-wheelโ, โcar-doorโ ๊ฐ์ ํํธ๋ณ ๋ถํ ์ด ๊ฐ๋ฅ
2) Open-Vocabulary ํ์ฅ ๐ฏ
- ๊ธฐ์กด ๊ฐ์ฒด ๋จ์ OV segmentation โ ์ธ๋ถํ๋ ํํธ ๋ ๋ฒจ ํ์ฅ
- ์ฌ์ ์ ์ ๋ผ๋ฒจ์ด ์์ด๋ โwingโ, โleafโ, โhandleโ ๋ฑ ํ ์คํธ ํ๋กฌํํธ ๊ธฐ๋ฐ ์ธ์
3) ์ํธ์์ฉ์ ํ๋กฌํํธ ์ ๋ ฅ ๐ ๏ธ
- ํฌ์ธํธ, ๋ฐ์ด๋ฉ ๋ฐ์ค, ๋ง์คํฌ ํ๋กฌํํธ ์ง์
- ํ ์คํธ ํ๋กฌํํธ์ ์กฐํฉํ์ฌ ์ค์๊ฐ ํํธ ์ธ์+๋ถํ
4) ์ธ๋ฐํ ๋น์ ์ดํด โก
- ๋ก๋ณดํฑ์ค, AR/VR, 3D ์ดํด, ์๋ฃ ์์ ๋ฑ ์ ๋ฐ ๋ถ์์ด ํ์ํ ๋ถ์ผ์ ๋ฐ๋ก ํ์ฉ ๊ฐ๋ฅ
๐ ๊ธฐ์กด ์ฐ๊ตฌ์ ํ๋ฆ
- CLIP: contrastive vision-language pre-training ๋๋ถ์ zero-shot ์ฑ๋ฅ ์ฐ์
- Open-Vocabulary: ๊ฐ์ฒด ๊ฐ์งยท๋ถํ ๊น์ง ํ์ฅ๋จ (OV detection/segmentation)
- SAM: segmentation-anything ๋ชจ๋ธ์ ๋ฑ์ฅ์ด ๋ค์ํ downstream task์ ๊ธฐ๋ฐ์ด ๋จ
- ํ์ง๋ง ๊ธฐ์กด ์ฐ๊ตฌ๋ ๊ฐ์ฒด ๋จ์์ ๋จธ๋ฌผ๋ ๊ณ , ์ธ๋ฐํ ํํธ ์ธ์๊น์ง ๋ค๋ฃจ์ง ๋ชปํ์
- โ PartCLIPSeg๋ CLIP๊ณผ segmentation์ ์ตํฉํด part-level open-vocabulary segmentation์ ์ ์!
๐งฑ PartCLIPSeg ๊ตฌ์กฐ (Architecture)
1) Backbone: CLIP Visual Encoder
- ๋ฉํฐ์ค์ผ์ผ feature ์ถ์ถ, ํํธ ๋จ์ ๊ตฌ๋ถ์ ์ ํฉํ ํด์๋ ์ ์ง
2) Part-level Adapter (CLIP2PartSeg)
- CLIP feature โ segmentation decoder ํธํ feature๋ก ๋ณํ
- FPN ๊ธฐ๋ฐ ๋ฉํฐ์ค์ผ์ผ ์ ๋ ฌ
3) Prompt Encoder
- SAM ๋ฐฉ์ point/box/mask ํ๋กฌํํธ
- ํ ์คํธ ํ๋กฌํํธ(์: โcar wheelโ)์ ๊ฒฐํฉ
4) Mask Decoder
- CLIP2PartSeg feature + ํ๋กฌํํธ ์ตํฉ
- ํํธ ๋จ์ segmentation mask ์์ฑ
5) Recognition Head (Part2CLIP)
- segmentation๋ ๋ง์คํฌ๋ฅผ CLIP ์๋ฒ ๋ฉ ๊ณต๊ฐ์ผ๋ก ์ฌํฌ์
- ํ ์คํธ ์๋ฒ ๋ฉ๊ณผ ์ฝ์ฌ์ธ ์ ์ฌ๋ ๋งค์นญ โ ํํธ ๋ ์ด๋ธ ๊ฒฐ์
๐ง ํ์ต๋ฒ(Training Recipe)
1) Pre-training ๋จ๊ณ
- COCO, LVIS, PartImageNet ๋ฑ์์ CLIP2PartSeg ํ์ต
- Mask supervision + Text alignment joint loss
2) Fine-grained Distillation
- ๊ธฐ์กด object-level SAM feature์ CLIP feature๋ฅผ ์ ๋ ฌ
- ํํธ ๋จ์ annotation์ ๋ํด CLIP ๊ธฐ๋ฐ ํ ์คํธ ์ ์ฌ๋ ์ฆ๋ฅ
3) Zero-shot ํ์ฅ
- ImageNet-22K ํ ์คํธ ์๋ฒ ๋ฉ ํ์ฉ โ 2๋ง+ ํด๋์ค ํํธ ์ธ์
๐งช ์คํ ๊ฒฐ๊ณผ
๐ฏ Open-Vocabulary Part Segmentation
- PartImageNet: mIoU 76.4 / novel class IoU 72.1
- Pascal-Part: mIoU 74.9 / novel class IoU 70.8
- ๊ธฐ์กด object-level OVS ๋ชจ๋ธ ๋๋น ์ธ๋ฐํ ํํธ ๊ตฌ๋ถ ์ฑ๋ฅ ์ฐ์
๐ฏ Efficiency
- FLOPs์ ํ๋ผ๋ฏธํฐ ์ ๋ชจ๋ ๊ธฐ์กด OV baselines ๋๋น ์ ๋ฐ ์์ค
- ์ค์๊ฐ ์ธํฐ๋์ ์ฑ๋ฅ ์ ์ง
๐ ์ ์ฑ ๋น๊ต
- ์๋์ฐจ ์ด๋ฏธ์ง โ โdoorโ, โwheelโ, โwindowโ๊น์ง ๋ถ๋ฆฌํ๊ณ ์ด๋ฆ ๋ถ์
- ๋๋ฌผ ์ด๋ฏธ์ง โ โwingโ, โtailโ, โheadโ ์ธ๋ถ ํํธ ๋ถํ ๊ฐ๋ฅ
- ์๋ฃ ์์ โ ์ฅ๊ธฐ ๋ด โsub-partโ๊น์ง ์ธ์ ํ์ฅ
๐งช Ablation ๋ถ์
- Part2CLIP ์ ๋ ฌ์ด ์์ผ๋ฉด ํํธ๋ณ ์ธ์ ์ ํ๋ ๊ธ๋ฝ
- Text similarity loss ์ถ๊ฐ ์ novel ํํธ ์ธ์์์ ํฐ ์ฑ๋ฅ ํฅ์
- ํด๋์ค ํ์ฅ์ฑ: 1์ฒ โ 2๋ง ํํธ ํด๋์ค ํ์ฅํด๋ ์ ํ ์ถ๋ก ๋น์ฉ ์ฆ๊ฐ
โ ๊ฒฐ๋ก
- PartCLIPSeg๋ ๊ธฐ์กด open-vocabulary segmentation์ ๊ฐ์ฒด ๋จ์ โ ํํธ ๋จ์๋ก ํ์ฅ
- CLIP ๊ธฐ๋ฐ zero-shot ์ธ์๊ณผ SAM ์คํ์ผ segmentation์ ๊ฒฐํฉํด ์ธ๋ฐํ ๋น์ ์ดํด๋ฅผ ์ ๊ณต
- ๋ก๋ณดํฑ์ค, AR/VR, ์ฐ์ /์๋ฃ ์์ ๋ฑ ์ธ๋ถ ๊ตฌ์กฐ ์ดํด๊ฐ ์ค์ํ ์์ฉ ๋ถ์ผ์์ ์ฐจ์ธ๋ ํ์ค์ผ๋ก ์๋ฆฌ ์ก์ ๋ชจ๋ธ!
This post is licensed under CC BY 4.0 by the author.