๐ญ MaskPrompt: ์คํ ๋ณด์บ๋ทธ๋ฌ๋ฆฌ Affordance Segmentation์ ์ํ ๊ฐ์ฒด ๋ง์คํฌ ํ๋กฌํํธ
๐ญ (ํ๊ตญ์ด) MaskPrompt: ๊ฐ์ฒด Shape Mask ํ๋กฌํํธ๋ก Open-Vocabulary Affordance Segmentation ๋ฌ์ฑ!
- ์ ๋ชฉ: MaskPrompt: Open-Vocabulary Affordance Segmentation with Object Shape Mask Prompts
- ํํ: AAAI 2025
- ์ ์: Dongpan Chen, Dehui Kong, Jinghua Li, Baocai Yin (Beijing Univ. of Tech)
- ํต์ฌ ํค์๋:
Affordance
,Segmentation
,Open-Vocabulary
,Mask Prompt
,Vision-Language
- ์์ฝ: MaskPrompt๋ ๊ฐ์ฒด์ ๊ธฐ๋ฅ ๋จ์(affordance)๋ฅผ ๋ณต์กํ ์ฅ๋ฉด๊ณผ ์ด๋ฆฐ ์ดํ ์ํฉ์์ ์ ํํ ๋ถํ ํ๊ธฐ ์ํด, ๊ฐ์ฒด ๋ง์คํฌ ๊ธฐ๋ฐ ํ๋กฌํํธ๋ฅผ ํ์ฉํ๋ ์๋ก์ด ๋ฐฉ๋ฒ์ ์ ์. OVAS-25 ๋ฒค์น๋งํฌ๋ฅผ ์๋กญ๊ฒ ๊ตฌ์ถํ๊ณ , ๊ธฐ์กด SOTA ๋๋น ์ฑ๋ฅ์ ํฌ๊ฒ ๊ฐ์ ! ๐
๐ ์ฐ๊ตฌ ํต์ฌ ์์ฝ
ํ ์ค ์์ฝ: โMaskPrompt = ๊ฐ์ฒด ๋ง์คํฌ + ํ ์คํธ ํ๋กฌํํธ๋ก open-world affordance segmentation ํด๊ฒฐ!โ
1) ์ ๊ณผ์ ์ ์ (OVAS)
- Open-Vocabulary Affordance Segmentation (OVAS) ์ ์
- ํ๋ จ ๋ฐ์ดํฐ์ ์๋ affordance๊น์ง ์ผ๋ฐํ
2) MaskPrompt ๋ฐฉ๋ฒ๋ก
- Mask Prompt Generation (MPGM): DETR + SAM์ผ๋ก ๊ฐ์ฒด ๋ง์คํฌ ์์ฑ, Alpha-CLIP์ผ๋ก ๋ง์คํฌ ์์ญ ์บก์ ์์ฑ
- Mask Prompt Feature Enhancement (MPFEM): ๋ฐฐ๊ฒฝ ์ ๊ฑฐ ํ ๊ฐ์ฒด ์ธ์คํด์ค feature ๊ฐํ
- Affordance Prediction Module (APM): ์๊ฐ feature + ํ ์คํธ ํ๋กฌํํธ๋ฅผ ์ตํฉํด ์ธ๋ฐํ affordance ๋ถํ
3) ๋ฒค์น๋งํฌ & ์คํ ์ฑ๋ฅ
- ์ ๊ท OVAS-25 ๋ฐ์ดํฐ์ ๊ตฌ์ถ (28๊ฐ ๊ฐ์ฒด, 25๊ฐ affordance, 1.9๋ง ์ด๋ฏธ์ง)
- IIT-AFF, UMD ๋ฑ ๊ธฐ์กด ๋ฐ์ดํฐ์ ์์๋ ์ฐ์ํ ์ฑ๋ฅ ๋ฌ์ฑ
๐ ๊ธฐ์กด ์ฐ๊ตฌ์ ํ๊ณ์ ์ฐจ๋ณ์
- ๊ธฐ์กด Affordance Segmention ๋ฐฉ๋ฒ:
- Attention segmentation ์ ์๋ํ์ง๋ง, ๋ฐ์ดํฐ๊ฐ ๋ถ์กฑํ๋ค.
- ๊ทธ๋์ Weakly supervised ๋ก ์ฐ๊ตฌ๋ ๋ฌ๋ค.
- ์ต๊ทผ์๋ 3D ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ affordance Segmentation ๋ ์์๋ค.
- ๋ค๋ง!! ์ด๋ฐ ๊ธฐ์กด ์ฐ๊ตฌ๋ค์ ์ ์ญ feature๋ง ํ์ฉ โ ๋ฐฐ๊ฒฝ/์ธ์ ๊ฐ์ฒด ๊ฐ์ญ์ ์ทจ์ฝํ๋ค.
- Open-Vocabulary Image Segmentation์์๋??
- ํ์ต๋ ๋ณด์ง ๋ชปํ ์นดํ ๊ณ ๋ฆฌ๊ณ segmentation ํ๊ณ ์ํ๋ค!
- ๊ธฐ์กด ์กด์ฌํ๋ ์ฐ๊ตฌ๋ค์ ์ด๋ฏธ์ง์ ๋จ์ด์ ์๋ฒ ๋ฉ์ ์ฐ๊ฒฐ์ํค๊ฑฐ๋, CLIP๊ฐ์ VLM์ ์จ์ ์ด๋ฏธ์ง-๋จ์ด์ ์ฐ๊ฒฐ๋ ์ง์์ ํ์ฉํ๋ค.
- ๋ํ ํ๋กฌํฌํธ ๋ฌ๋๋ฐฉ๋ฒ ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ์ ํตํด์ Segmentation ์ฑ๋ฅ์ ํฅ์์ํจ ๋ชจ๋ธ๋ ์์๋ค.
๐งฑ MaskPrompt ๊ตฌ์กฐ (Architecture)
1) MPGM(mask prompt generation module): ๊ฐ์ฒด ๋ง์คํฌ + ๋ง์คํฌ ์บก์
์์ฑ
a. Object Shape Mask(M_os)๋ฅผ ๋ง๋ฌ : DETR(Bbox Detection) + SAM(segmentation) ์ผ๋ก!
b. Mask Caption(w_mask) ์์ฑ : ์๋ ์ด๋ฏธ์ง + Mask ๋ฅผ Alpha-CLIP(BLIP2์ ํ์ฅํ)์ ๋ฃ์ด์ ๋ง์คํฌ์ ๋ํ ์บก์
๋ง๋ ๋ค
2) MPFEM(mask prompt feature enhancement module): ๋ฐฐ๊ฒฝ ์ ๊ฑฐ + ๊ฐ์ฒด ์ค์ฌ feature ๊ฐํ
a. ์๋ ์ด๋ฏธ์ง๋ฅผ ViT์ ๋ฃ์ด์ Global Feature ๋ง๋ค๊ณ
b. MPGM์์ ๋์จ Object mask(M_os)๋ก ๊ฐ์ฑ๋ณ๋ก์ instance feature๋ฅผ ๋ง๋ ๋ค์
c. ์ด๋ค์ ๋ชจ๋ Concatํด์ CNN์ ๋ฃ์ด ์ฐจ์์ธ ์ค์ฌ์ Enhanced visual Feature (F_v)๋ฅผ ๋ง๋ ๋ค.
3) APM(affordance prediction module): ํ
์คํธ ํ๋กฌํํธ์ ์ตํฉํด ์ต์ข
affordance segmentation map ์ถ๋ ฅ
a. ์ฒซ๋ฒ์งธ๋ก ํด๋์ค์ ๋งค์นญ๋๋ mask๋ฅผ ๋ง๋ค๊ณ (Mask proposals) - ๊ฐ์ฑ ์ด๋ฆ(w_obj), Affordance ๋ช
์นญ(w_aff) ์ด๋ 1-b์ w_mask๋ฅผ ๊ฐ๊ฐ ํด๋ฆฝ์ผ๋ก ํ ํฌ๋์ด์ฆ๋ก ํ ํฐ๋ง๋ค๊ณ ,
- ํ ํฐ์ ํฉ์ณ์ CLIP์ผ๋ก ์๋ฒ ๋ฉํ F_t๋ฅผ ๋ง๋ ๋ค!!
- 2-c์์ ๋ง๋ Visual Feature F_v๋ ํ
์คํธ ์๋ฒ ๋ฉ F_t๋ฅผ Pixel Decoder์ ๋ฃ๋๋ค.
- Pixel Decoder๋ F_v๋ self-attention block ๋ฐ L2์ ๊ทํ๋ฅผ ์ง๋ cross-attention block์ F_t๋ ๊ฐ์ด ๋ค์ด๊ฐ๊ณ ,
- ๊ทธ๋ค์ ๊ทธ ๋ค์ FFN ๋ธ๋ก์ ์ง๋์ (L๋ฒ ๋ฐ๋ณตํด์) F_vt๋ผ๋ Feature๋ก ๋ง๋ค์ด์ง๋ค.
b. ๋๋ฒ์จฐ๋ก ๊ทธ mask์ ๋ํ affordance class๋ฅผ ์์ธกํ๋ค.(Mask Class Embedding)
- ๋ง์ง๋ง์ผ๋ก F_vt๋ MLP๋ฅผ ์ง๋์ ํดํด๋์ค์ ๋งค์นญ๋๋ mask(M_ca)๋ mask class embedding(F_cls)๋ฅผ ์์ฑํ๋ค.
- ๊ทธ๋ฆฌ๊ณ F_cls ๋ F_t๋ฅผ dot product ํด์ open set of affordance classes์ ๋ํ ์ ์(s_cls)๋ฅผ ๊ตฌํ๋ค.
- ์ด๋์ Loss function์ Class ๊ตฌ๋ถ์ ๋ํ ์ ํ์ฑ + mask์ ์ ํ์ ์ ๊ฐ์ง๊ณ ๊ตฌํจ!
L = L_cls(หs_cls; s_cls) + ฮป*L_mask( หm; m)
๐งช ์คํ ๊ฒฐ๊ณผ
์คํ ๋ฐ์ดํฐ์
- OVAS-25 (๋ณธ ์ฐ๊ตฌ์์ ์ ์ํ ๋ฐ์ดํฐ์
)
- ๊ตฌ์ฑ: IIT-AFF + Pascal-Part-108 ์ฌ์ฃผ์ (๊ฐ์ฒด, ์ฌ๋, ๋๋ฌผ์ affordance ๊ธฐ์ค์ผ๋ก ๋ผ๋ฒจ๋ง)
- ํด๋์ค: 28๊ฐ ์ํฐํฐ ํด๋์ค, 25๊ฐ affordance ํด๋์ค
- ๊ท๋ชจ: ์ด 18,938์ฅ (IIT-AFF 8,835 + Pascal 10,103)
- ํ์ต: 11,363์ฅ
- ํ ์คํธ: 7,575์ฅ
- IIT-AFF (Nguyen et al. 2017)
- ํด๋์ค: 10๊ฐ ๊ฐ์ฒด ์นดํ ๊ณ ๋ฆฌ, 9๊ฐ affordance ์นดํ ๊ณ ๋ฆฌ
- ๊ท๋ชจ: ์ด 8,835์ฅ
- ImageNet์์ 6,496์ฅ
- ๋ก๋ด ์นด๋ฉ๋ผ๋ก ์์ง๋ ๋ณต์กํ ์ฅ๋ฉด ๋น๋์ค ํ๋ ์ 2,339์ฅ
- Pascal-Part-108 (Michieli et al. 2020)
- ํด๋์ค: 20๊ฐ ๊ฐ์ฒด ์นดํ ๊ณ ๋ฆฌ, 108๊ฐ ๊ฐ์ฒด ํํธ ์นดํ ๊ณ ๋ฆฌ
- ๊ท๋ชจ: ์ด 10,103์ฅ
- ๋ณธ ์ฐ๊ตฌ์์๋ annotation์ affordance ๊ธฐ์ค์ผ๋ก ๋ณ๊ฒฝํ์ฌ OVAS-25 ๊ตฌ์ถ์ ํ์ฉ
- UMD (Myers et al. 2015) & ๊ธฐํ ํํธ ๋ฐ์ดํฐ์
- UMD affordance dataset
- ์ถ๊ฐ ํ๊ฐ ๋ฐ์ดํฐ์
:
- Pascal-Part-58 (Chen et al. 2014)
- Pascal-Part-116 (Wei et al. 2024)
- Pascal-Part-201 (Singh et al. 2022)
- ADE20K-Part-234 (Wei et al. 2024)
์คํ ์ค๊ณ ๋ฐ ํ๊ฐ์งํ
- Object Detector: Pre-trained DETR ์ฌ์ฉ
- Threshold (T = 0.7)
- DETR, SAM, Alpha-CLIP โ ๋ชจ๋ freeze
- ํ์ต ์ธํ
- Iterations: 120K
- Learning Rate: 1e-4,
- 60K, 100K์์ 10๋ฐฐ ๊ฐ์
- Optimizer: AdamW
- Weight Decay: 1e-4
- Batch Size: 32
- Pixel Decoder
- Layer ์ (L): 6
- Embedding Dimension: 768
- Multi-head Attention Head ์: 12
- Hidden Dimension (FFN): 3072
- Feature Dimension:
- (d = 512)
- (d_t, d_v, d_{vt}, d_{cls} = 512)
- ์คํ ํ๊ฒฝ
- NVIDIA A800 80GB GPU
- ํ๊ฐ ์งํ
- mIoU (mean Intersection over Union)
- mAvg (mean Average)
- F1-Score
์คํ ๊ฒฐ๊ณผ ๋ฐ ๋ถ์
1.๐ฏ OVAS-25 (๋ณธ ๋ ผ๋ฌธ ์ ์ ๋ฒค์น๋งํฌ)
- MaskPrompt (ResNet-101): mIoU 71.26, F1 81.58 โ ๊ธฐ์กด SOTA ๋๋น +5.27% ํฅ์
- ๐ฏ ๊ธฐ์กด ๋ฐ์ดํฐ์
(IIT-AFF, UMD)
- IIT-AFF: F1 89.46
- UMD: F1 93.83 (๊ธฐ์กด ์ต๊ณ ์ฑ๋ฅ ๋ชจ๋ธ๊ณผ ๊ฒฝ์์ )
- ๐ฏ Part Segmentation ํ์ฅ์ฑ
- Pascal-Part-58, 108, 201, ADE20K-Part-234์์๋ ๊ฐ๋ ฅํ ์ผ๋ฐํ ์ฑ๋ฅ ์ ์ฆ
B. ๐ ์ ์ฑ ๋น๊ต
a. ๋ณต์กํ ๋ฐฐ๊ฒฝ: ๊ธฐ์กด ๋ชจ๋ธ ๋๋น ๊ฐ์ญ ์ต์ ์ฑ๋ฅ ์ฐ์
b. ์์ ๊ฐ์ฒด ๋ถํ ํ์ง: ์) ๋ณ๋๊ป์ โcontainโ affordance๊น์ง ์ ํํ ํ์ง
c. ์ธ์ ๊ฐ์ฒด ์ฒ๋ฆฌ: ๊ฒฝ๊ณ๊ฐ ์์ด๋ ๊ฒฝ์ฐ์๋ ์ ๋ฐํ๊ฒ ๋ถ๋ฆฌ
C. ๐งช Ablation ๋ถ์
- 2ํน: MPFEM ์ ์ถ๊ฐ โ mIoU 6.9% ํฅ์
- 3ํ: MPGM์ถ๊ฐ + Pixel Decoder๊ฐ ํ ์คํธ๋ฅผ ๋ฐ์ ์ ์๋๋ก ๋ณํ๋จ (cross-attention ์ถ๊ฐ) โ ์ถ๊ฐ๋ก mIoU +2.24%
- 4ํ : Pixel Decoder ์ถ๊ฐ โ ์ต๊ณ ์ฑ๋ฅ
D. ๋ํ Computing power ๋ ์ ๊ฒ์ป๋ค!!
โ ๊ฒฐ๋ก
- MaskPrompt๋ open-vocabulary affordance segmentation์ ์ํ ์๋ก์ด ์ ๊ทผ๋ฒ
- ์ฃผ์ ๊ธฐ์ฌ:
- OVAS ๊ณผ์ ๋ฐ OVAS-25 ๋ฐ์ดํฐ์ ์ต์ด ์ ์
- ๊ฐ์ฒด ๋ง์คํฌ ๊ธฐ๋ฐ MaskPrompt ํ๋ ์์ํฌ ๊ฐ๋ฐ
- ๋ค์ํ ๋ฐ์ดํฐ์ ์์ SOTA ์์ค ์ฑ๋ฅ ๋ฌ์ฑ
- โ ๋ก๋ด, HOI, AR/VR ๋ฑ ์ค์ธ๊ณ ์์ฉ์ ์ค์ํ ๊ธฐ์ฌ๋ฅผ ํ ์ ์์ ๐ฏ