๐ง Understanding SEEM - SEEM(Segment Everything Everywhere All at Once) ์์๋ณด๊ธฐ!!
๐ง SEEM: Segment Everything Everywhere All at Once
๐ A universal segmentation model that handles text, clicks, boxes, and more via multimodal prompts.
Paper: SEEM: Segment Everything Everywhere All at Once Conference: NeurIPS 2024 (Zou, Xueyan, et al.) Code: UX-Decoder/Segment-Everything-Everywhere-All-At-Once Comment: All-in-one segmentation with multi-modal prompting!
๐ฏ Four Core Capabilities of SEEM
๐๏ธ Versatility
- Unifies various spatial queries (clicks, boxes, scribbles, masks) into a single visual prompt
- Can even handle referred regions from other images
๐ Compositionality
- Learns a joint visual-language embedding space for interpreting combinations of text and visual prompts
- Freely supports prompt composition
๐ Interactivity
- Uses memory prompts to retain previous segmentation information
- Optimized for iterative interaction
๐ง Semantic-awareness
- Aligns text and mask labels in the same semantic space
- Enables open-vocabulary segmentation (can identify unseen classes)
๐ Background: Why Do We Need a Universal Segmentation Model?
Image segmentation is a fundamental task in computer vision, responsible for understanding objects at the pixel level. Traditional approaches such as semantic, instance, and panoptic segmentation have laid a strong foundation. But the current trend is moving toward flexible and general-purpose segmentation models.
๐ Evolution of Segmentation
Closed-set โ Open-vocabulary
- Instead of recognizing fixed classes, models now use multimodal pretraining (e.g., CLIP) to generalize to unseen categories.
Generic โ Referring
- Text-guided segmentation is gaining traction as it offers a more intuitive interface for users.
One-shot โ Interactive
- Users provide input iteratively (clicks, boxes, etc.) to refine results step by step.
Despite these advances, many models still rely on task-specific architectures and lack the flexibility to handle diverse inputs or task switching within one system.
๐ง Meanwhile, Language Models Have Solved This
Language models like GPT-3 and T5 paved the way for unified interfaces by handling multiple NLP tasks with a single model through prompting.
However, segmentation models still face these limitations:
- Limited prompt types (text, box, click only)
- Outputs masks only, without semantic meaning
- Poor generalization to new prompt combinations or domains
๐ Enter SEEM
SEEM addresses all these challenges with:
- A single model that handles all types of segmentation tasks
- Integrated support for text, visual, and memory prompts
- Flexible prompt composition and interactive updates
- Open-vocabulary capabilities for semantic prediction
โ Just like GPT understands text in context, SEEM segments the world interactively and semantically.
๐ง SEEM Model Architecture
SEEM builds on the encoder-decoder paradigm and accepts textual (Pt), visual (Pv), and memory (Pm) prompts to drive segmentation.
๐ฆ 1. Overall Pipeline
1
2
3
4
5
6
7
8
Input image (I)
โ
[Image Encoder] โ Feature map Z
โ
[SEEM Decoder (Queries + Prompt Interaction)]
โ
โ MaskPredictor โ Output mask M
โ ConceptClassifier โ Semantic label C
๐งฑ 2. Key Components
(1) Image Encoder
- Input:
I โ โ^{HรWร3}
- Output: visual feature map
Z
- Uses Vision Transformer variants
(2) Prompts
Pt
: Text prompts (natural language commands)Pv
: Visual prompts (clicks, boxes, scribbles, masks, referred images)Pm
: Memory prompts (track previous interaction results)
(3) Learnable Queries (Qh)
- Trainable tokens to query outputs (mask and class)
- Duplicated per task during training (generic, referring, interactive)
๐ 3. Decoder Operations
(1) Query-prompt interaction
1
<Om_h, Oc_h> = Decoder(Qh ; <Pt, Pv, Pm> | Z)
Om_h
: Embedding for segmentation masksOc_h
: Embedding for semantic concepts
(2) Mask prediction
1
M = MaskPredictor(Om_h)
(3) Concept classification
1
C = ConceptClassifier(Oc_h)
๐ 4. Key Capabilities
๐งฉ Versatile: Unify Diverse Inputs
- SEEM handles all non-text prompts as visual prompts (
Pv
) (clicks, boxes, scribbles, reference image) - These inputs are projected into a shared visual space via a Visual Sampler
- Enables seamless composition with text inputs
๐ง Compositional: Flexible Prompt Combinations
- Supports mixing visual and text prompts during inference
- Visual prompts align with
Om_h
, text prompts align withOc_h
- Uses
IOUmask
(IoU between predicted and GT masks) for more accurate matching - Trained to generalize to unseen prompt combinations
๐ Interactive: Iterative Refinement
- Introduces
Pm
(memory prompts) to carry forward context MaskedCrossAtt(Pm; Mp | Z)
updates memory based on previous mask- Efficiently supports multi-round segmentation without re-encoding the image
๐ง Semantic-aware: Meaningful Predictions
- Unlike class-agnostic models, SEEM predicts semantic labels for masks
- Thanks to alignment in visual-language embedding space (zero-shot capable)
- No semantic label training required for interactive tasks
๐งช Experiments Summary
SEEM demonstrates strong performance across four segmentation settings with a single unified model.
๐ Datasets and Setup
Trained on:
- COCO2017 (Panoptic & Interactive)
- RefCOCO, RefCOCO+, RefCOCOg (Referring)
Backbone: FocalT, DaViT-d3/d5
Language Encoder: UniCL / Florence
Metrics: PQ, AP, mIoU, NoC\@85/90, 1-IoU, K-NoC\@90, Zero-shot VOS
๐ Main Results
- Generic: +10 points on Panoptic PQ vs. Pix2Seqv2, SegGPT, etc.
- Referring: With visual prompt: +10.5 cIoU, +6.0 mIoU, +9.3 AP50 (Tiny model)
- Interactive: Better than SAM using 100x less data; supports diverse prompts
- Video: Zero-shot VOS (DAVIS17) + 1-click interactive DAVIS16
๐ Summary Table
Task Type | SEEM Highlights |
---|---|
Generic Segmentation | +10 PQ over baselines |
Referring Segmentation | +10.5 cIoU / +6.0 mIoU / +9.3 AP50 with visual prompt |
Interactive Segmentation | Outperforms SAM, supports text, box, click, scribble, polygon inputs |
Video Segmentation | Zero-shot DAVIS17, strong 1-click interactive performance on DAVIS16 |
๐ Conclusion
Ultimately, SEEM behaves like a visual ChatGPT โ segmenting from multimodal prompts and refining results interactively.
Segmentation with meaning โ not just masks, but concepts too!
Like SAM2, SEEM tracks objects across video frames without retraining!
Stay tuned for future experiments and hands-on tutorials!
๐ง (ํ๊ตญ์ด) SEEM: Segment Everything Everywhere All at Once
๐ ํ ์คํธ, ํด๋ฆญ, ๋ฐ์ค ๋ฌด์์ด๋ OK! ๋ฉํฐ๋ชจ๋ฌ ํ๋กฌํํธ๋ก ์ธ์์ ๋ถํ ํ๋ ๋ฒ์ฉ ์ธ๊ทธ๋ฉํ ์ด์ ๋ชจ๋ธ
๋ ผ๋ฌธ: SEEM: Segment Everything Everywhere All at Once ๋ฐํ: NeurIPS 2024 (Zou, Xueyan, et al.)
์ฝ๋: UX-Decoder/Segment-Everything-Everywhere-All-At-Once
์ฝ๋ฉํธ: Multi-modal prompt๋ก ๋ชจ๋ ๊ฒ์ ํ๋ฒ์ segmentation!!
๐ฏ SEEM์ 4๊ฐ์ง ํต์ฌ์ฑ๋ฅ!!!
- ๐๏ธ ๋ค์ฌ๋ค๋ฅ์ฑ (Versatility)
- ํด๋ฆญ, ๋ฐ์ค, ๋์, ๋ง์คํฌ ๋ฑ ๋ค์ํ ์ง์๋ฅผ ํ๋์ ๋น์ฃผ์ผ ํ๋กฌํํธ๋ก ํตํฉ
- ์ฐธ์กฐ ์ด๋ฏธ์ง๊น์ง ํ์ฉ ๊ฐ๋ฅํ ํ์ฅ์ฑ
- ๐ ๊ตฌ์ฑ ๊ฐ๋ฅ์ฑ (Compositionality)
- ํ ์คํธ์ ์ด๋ฏธ์ง ํ๋กฌํํธ๋ฅผ ํจ๊ป ํด์ํ ์ ์๋ ๊ณต๋ ์๊ฐ-์ธ์ด ๊ณต๊ฐ ํ์ต
- ํ๋กฌํํธ์ ์์ ๋ก์ด ์กฐํฉ ๊ฐ๋ฅ
- ๐ ์ํธ์์ฉ์ฑ (Interactivity)
- ๋ฉ๋ชจ๋ฆฌ ํ๋กฌํํธ๋ฅผ ํตํด ์ด์ ๋ถํ ์ ๋ณด๋ฅผ ๊ธฐ์ต
- ์ฌ์ฉ์์์ ๋ฐ๋ณต์ ์ํธ์์ฉ์ ์ต์ ํ
- ๐ง ์๋ฏธ ์ธ์ (Semantic-awareness)
- ํ ์คํธ์ ๋ง์คํฌ ๋ผ๋ฒจ์ ๊ฐ์ ์๋ฏธ ๊ณต๊ฐ์ ์ธ์ฝ๋ฉ
- Open-vocabulary segmentation ๊ฐ๋ฅ (์๋ก์ด ํด๋์ค๋ ์ธ์)
๐ SEEM ๋ฑ์ฅ ๋ฐฐ๊ฒฝ: ์ ๋ฒ์ฉ ์ธ๋ถํ ๋ชจ๋ธ์ด ํ์ํ๊ฐ?
์ด๋ฏธ์ง ์ธ๋ถํ๋ ์ปดํจํฐ ๋น์ ์ ํต์ฌ ๊ณผ์ ๋ก, ํฝ์
๋จ์ ์์ค์์ ์ฌ๋ฌผ์ ์๋ณํ๊ณ ๊ตฌ์กฐํํ๋ ์ค์ํ ์์
์
๋๋ค.
๊ทธ๋์์ Semantic Segmentation, Instance Segmentation, Panoptic Segmentation ๋ฑ ๋ค์ํ ์ ๊ทผ ๋ฐฉ์์์ ์ฐ๊ตฌ๊ฐ ์์์ต๋๋ค.
ํ์ง๋ง ์ต๊ทผ ๋น์ AI์ ํ๋ฆ์ ๋จ์ํ ์ ํ๋๋ฅผ ๋์ด, ๋ ์ ์ฐํ๊ณ ๋ฒ์ฉ์ ์ธ ์ธ๋ถํ ๋ชจ๋ธ์ ํฅํด ๊ฐ๊ณ ์์ต๋๋ค.
๐ ์ธ๋ถํ์ ์งํ ๋ฐฉํฅ
์ต๊ทผ ์ธ๋ถํ ์ฐ๊ตฌ๋ ๋ค์๊ณผ ๊ฐ์ ์ธ ๊ฐ์ง ๋ฐฉํฅ์ผ๋ก ๋น ๋ฅด๊ฒ ํ์ฅ๋๊ณ ์์ด์!!
- ํ์ํ์์ ๊ฐ๋ฐฉํ ์ธ๋ถํ๋ก (Closed-set โ Open-vocabulary)
- ๊ธฐ์กด ๋ชจ๋ธ์ ๋ฏธ๋ฆฌ ์ ์๋ ํด๋์ค๋ง ์ธ์ํ์ง๋ง, ์ต๊ทผ์๋ CLIP ๊ฐ์ ๋ฉํฐ๋ชจ๋ฌ ์ฌ์ ํ์ต ๋ชจ๋ธ์ ํ์ฉํด ์๋ก์ด ๊ฐ๋ ๊น์ง ์ธ์ํ๋ ค๋ ์๋๊ฐ ํ๋ฐํด์ง๊ณ ์์ต๋๋ค.
- ์ผ๋ฐ ์ธ๋ถํ์์ ์ฐธ์กฐ ๊ธฐ๋ฐ ์ธ๋ถํ๋ก (Generic โ Referring)
- ํ ์คํธ ๋ฌธ๊ตฌ๋ก ํน์ ์์ญ์ ์ง์ํ๊ณ ๋ถํ ํ๋ ์ฌ์ฉ์ ์นํ์ ์ธํฐํ์ด์ค๊ฐ ์ฃผ๋ชฉ๋ฐ๊ณ ์์ผ๋ฉฐ, ์ธ์ด ๊ธฐ๋ฐ ์ง์๋ฅผ ์ ํํ ๋ฐ์ํ๋ ๋ชจ๋ธ์ด ํ์ํด์ก์ต๋๋ค.
- ๋จ๋ฐ ์คํ์์ ์ํธ์์ฉ ์ธ๋ถํ๋ก (One-shot โ Interactive)
- ํด๋ฆญ, ๋ฐ์ค ๋ฑ ๋ค์ํ ์ ๋ ฅ์ ๋ฐ๋ณต ์ ๊ณตํ๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ง์ ์ผ๋ก ๊ฐ์ ํ ์ ์๋ ์ํธ์์ฉ ๊ธฐ๋ฐ ๋ชจ๋ธ์ด ์ค์ํด์ง๊ณ ์์ต๋๋ค.
์ด๋ฌํ ๋ฐ์ ์ ์ธ๋ถํ ๋ชจ๋ธ์ ๋ณด๋ค ์ค์ฉ์ ์ผ๋ก ๋ง๋ค์์ง๋ง, ์ฌ์ ํ ๊ฐ ์์ ๋ง๋ค ๋ชจ๋ธ ๊ตฌ์กฐ๊ฐ ๋ถ๋ฆฌ๋์ด ์์ผ๋ฉฐ, ๋ค์ํ ์ ๋ ฅ ๋ฐฉ์์ด๋ ์์ ๊ฐ ์ ํ์ ์ ์ฐํ๊ฒ ๋์ํ์ง ๋ชปํ๋ ํ๊ณ๊ฐ ์กด์ฌํฉ๋๋ค.
๐ง ํ์ง๋ง, ์ธ์ด ๋ชจ๋ธ์ ์ด๋ฏธ ํด๊ฒฐํ๋ค?
ํ ์คํธ ์ฒ๋ฆฌ ๋ถ์ผ์์๋ GPT-3, T5 ๋ฑ ๋ํ ์ธ์ด ๋ชจ๋ธ(LLMs)์ด ๋ฑ์ฅํ๋ฉฐ, ๋ค์ํ ์ธ์ด ์์ ์ ํ๋์ ์ธํฐํ์ด์ค๋ก ์ฒ๋ฆฌํ ์ ์๋ ๋ฒ์ฉ ์ธ์ด ๋ชจ๋ธ์ ์๋๊ฐ ์ด๋ ธ์ต๋๋ค.
- ํ๋กฌํํธ๋ง ๋ฐ๊พธ๋ฉด ์ง์์๋ต, ๋ฒ์ญ, ์์ฝ, ๋ํ ๋ฑ ๋ค์ํ ์์ ์ ์ํํ ์ ์๋ ๊ตฌ์กฐ๊ฐ ํ์ค์ด ๋์์ต๋๋ค.
๊ทธ๋ฌ๋ ์๊ฐ ์ธ๋ถํ ๋ถ์ผ๋ ์ฌ์ ํ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ด ์์ต๋๋ค:
- ํด๋ฆญ, ๋ฐ์ค, ํ ์คํธ ๋ฑ ํ๋กฌํํธ๊ฐ ์ ํ์
- ๋ชจ๋ธ์ด ์๋ฏธ ์๋ ๋ง์คํฌ๋ง ์์ฑ (์: SAM)
- ์๋ก์ด ์์ ์กฐํฉ์ด๋ ๋๋ฉ์ธ์ ๋ํ ์ผ๋ฐํ ๋ถ์กฑ
๐ ๊ทธ๋์ ๋ฑ์ฅํ SEEM
์ด๋ฌํ ๋ฐฐ๊ฒฝ ์์์ ๋ฑ์ฅํ ๊ฒ์ด ๋ฐ๋ก SEEM์ ๋๋ค.
SEEM์ ๊ธฐ์กด์ ๋ฌธ์ ์ ์ ์ ๋ฉด์ผ๋ก ๋ํํ๋ฉฐ ๋ค์์ ๋ชฉํ๋ก ํฉ๋๋ค:
- ํ๋์ ๋ชจ๋ธ์ด ๋ชจ๋ ์ข ๋ฅ์ ์ธ๋ถํ ์์ ์ ์ฒ๋ฆฌ
- ํด๋ฆญ, ๋ฐ์ค, ๋ง์คํฌ, ํ ์คํธ, ์ฐธ์กฐ ์ด๋ฏธ์ง ๋ฑ ๋ชจ๋ ํ๋กฌํํธ๋ฅผ ํตํฉ
- ํ๋กฌํํธ ๊ฐ ์กฐํฉ์ด ์์ ๋กญ๊ณ , ์ด์ ์ด๋ ฅ๊น์ง ๊ธฐ์ตํ๋ ์ํธ์์ฉ์ฑ
- ์๋ฏธ ์๋ ๋ผ๋ฒจ๊น์ง ์ ๊ณตํ๋ Open Vocabulary ๋์
SEEM์ ๋ง์น LLM์ด ํ ์คํธ๋ฅผ ๋ค๋ฃจ๋ฏ, ์๊ฐ ์ธ๋ถํ์์ ์ง์ ํ ๋ฒ์ฉ ์ธํฐํ์ด์ค๋ฅผ ์คํํ๋ ค๋ ๊ฐ๋ ฅํ ์๋์ ๋๋ค.
โ SEEM์ โํ ์คํธ๋ก ์ง์ํ๊ณ , ํด๋ฆญ์ผ๋ก ์์ ํ๋ฉฐ, ์ด์ ํ์คํ ๋ฆฌ๊น์ง ๊ธฐ์ตํ๋โ
์ง์ ํ ๋ฒ์ฉ ์ธ๋ถํ ํ๋ ์์ํฌ์ ๋๋ค.
๐ง SEEM ๋ชจ๋ธ์ ๊ตฌ์กฐ
SEEM์ ์ ํต์ ์ธ Encoder-Decoder ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉด์,
ํ
์คํธ(Text), ์๊ฐ(Visual), ๋ฉ๋ชจ๋ฆฌ(Memory) ํ๋กฌํํธ๋ฅผ ๋ชจ๋ ์์ฉํ ์ ์๋
๋ฒ์ฉ์ ์ธ ์ธ๋ถํ ๋ชจ๋ธ๋ก ์ค๊ณ๋์์ต๋๋ค.
๐ฆ 1. ์ ์ฒด ์ฒ๋ฆฌ ํ๋ฆ
1
2
3
4
5
6
7
8
์
๋ ฅ ์ด๋ฏธ์ง (I)
โ
[Image Encoder] โ ์ด๋ฏธ์ง ํน์ง Z ์ถ์ถ
โ
[SEEM Decoder (์ฟผ๋ฆฌ + ํ๋กฌํํธ ์ํธ์์ฉ)]
โ
โ MaskPredictor โ ๋ง์คํฌ ์ถ๋ ฅ M
โ ConceptClassifier โ ์๋ฏธ ๋ผ๋ฒจ ์ถ๋ ฅ C
์ต์ข
์ ์ผ๋ก ์
๋ ฅ์ด๋ฏธ์ง(I)์ ๋ค์ํ ํ์์ ํ๋กฌํฌํธ(P) ๋ฅผ ๋ฐ์,
Decoder๋ฅผ ํตํด segmantation Mask(M)๊ณผ ํด๋น ๋ง์คํฌ์ ์๋ฏธ(C) ์ถ๋ ฅํ๊ฒ๋ฉ๋๋ค!!
๐งฑ 2. ๊ตฌ์ฑ ์์ ์ค๋ช
(1) Image Encoder
- ์
๋ ฅ ์ด๋ฏธ์ง
I โ โ^{HรWร3}
- ์๊ฐ ํน์ง ๋ฒกํฐ
Z
๋ฅผ ์ถ์ถ - Vision Transformer ๊ณ์ด ๊ตฌ์กฐ ์ฌ์ฉ ๊ฐ๋ฅ
(2) Prompts (ํ๋กฌํํธ ์ ํ)
Pt
: Text Prompt (์์ฐ์ด ๋ช ๋ น)Pv
: Visual Prompt (point, box, scribble, mask, referred region)Pm
: Memory Prompt (๊ณผ๊ฑฐ ์ธ๋ถํ ์ ๋ณด๋ฅผ ์ ์ฅ)
(3) Learnable Queries (Qh)
- ๋ง์คํฌ ๋ฐ ํด๋์ค ์ถ๋ ฅ์ ์ํ ํ์ต ๊ฐ๋ฅํ ์ฟผ๋ฆฌ
- ํ์ต ์์๋ ์ผ๋ฐ/์ฐธ์กฐ/์ํธ์์ฉ ์ธ๋ถํ์ ๋ฐ๋ผ
Qh
๊ฐ ๋ณต์ ๋จ
๐ 3. ๋์ฝ๋ ์๋ ๋ฐฉ์
(1) ์ฟผ๋ฆฌ-ํ๋กฌํํธ ์ํธ์์ฉ
1
โจOm_h, Oc_hโฉ = Decoder(Qh ; โจPt, Pv, Pmโฉ | Z)
- Om_h : Mask์ ๋ํ embedding
- Oc_h : Class ์ค๋ช ์ ๋ํ embedding
(2) ๋ง์คํฌ ์์ธก
1
M = MaskPredictor(Om_h)
(3) ์๋ฏธ ํด๋์ค ์์ธก
1
C = ConceptClassifier(Oc_h)
๐ 4. ์ฃผ์ ํน์ฑ
๐งฉ Versatile: ๋ค์ํ ์ ๋ ฅ์ ํ๋๋ก ํตํฉ
- SEEM์ ํด๋ฆญ, ๋ฐ์ค, ๋์, ์ฐธ์กฐ ์ด๋ฏธ์ง ๋ฑ ํ
์คํธ๊ฐ ์๋ ๋ชจ๋ ์
๋ ฅ์ ํ๋์ ์๊ฐ ํ๋กฌํํธ(
Pv
)๋ก ์ฒ๋ฆฌํฉ๋๋ค. - ๊ธฐ์กด ๋ฐฉ์๋ค๊ณผ ๋ฌ๋ฆฌ, ๊ฐ ์ ๋ ฅ ์ ํ๋ง๋ค ๋ณ๋ ๊ตฌ์กฐ๋ฅผ ๋์ง ์๊ณ Visual Sampler๋ฅผ ํตํด ๋ชจ๋ ๋นํ ์คํธ ์ ๋ ฅ์ ๋์ผํ ํํ ๊ณต๊ฐ์ ์ ๋ ฌํฉ๋๋ค.
- ์ด ๋๋ถ์ ํ ์คํธ + ์๊ฐ ํ๋กฌํํธ๊ฐ ์์ฐ์ค๋ฝ๊ฒ ์กฐํฉ๋ ์ ์์ผ๋ฉฐ, ์ฌ์ฉ์ ์๋๋ ๋ ์ ํํ๊ฒ ๋ฐ์๋ฉ๋๋ค.
๐ง Compositional: ํ๋กฌํํธ ์กฐํฉ์ ์ ์ฐํ๊ฒ ๋์
- ์ฌ์ฉ์๋ ์ค์ ๋ก ํ ์คํธ์ ์๊ฐ ํ๋กฌํํธ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
- SEEM์ ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ํ๋กฌํํธ๊ฐ ํจ๊ป ์ ๊ณต๋๋๋ผ๋ ์ด๋ฅผ ์๋ก ๋ค๋ฅธ ์ถ๋ ฅ(target)์ ๋ง์ถฐ ์ ๋ ฌํจ์ผ๋ก์จ ํํ ๊ณต๊ฐ ๊ฐ ์ฐจ์ด๋ฅผ ๊ทน๋ณตํฉ๋๋ค.
- ๊ตฌ์ฒด์ ์ผ๋ก, ์๊ฐ ํ๋กฌํํธ(
Pv
)๋ ๋ง์คํฌ ์๋ฒ ๋ฉ(Omโ
)๊ณผ, ํ ์คํธ ํ๋กฌํํธ(Pt
)๋ ํด๋์ค ์๋ฒ ๋ฉ(Ocโ
)๊ณผ ๊ฐ๊ฐ ์ ๋ ฌ๋ฉ๋๋ค. - ์ด๋ ์ ๋ ฌ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ๋๋
IOUmask
๋ ์์ธก๋ ๋ง์คํฌ์ ์ค์ ๋ง์คํฌ ๊ฐ์ ๊ฒน์นจ ์ ๋(IoU: Intersection over Union)๋ฅผ ํ์ฉํ์ฌ, ์ด๋ค ํ๋กฌํํธ๊ฐ ์ด๋ค ์ถ๋ ฅ๊ณผ ์ ๋ง๋์ง๋ฅผ ํ๋จํ๋ ๋ฐ ๋์์ ์ค๋๋ค. - ํ์ต ํ์๋ ํ๋กฌํํธ๊ฐ ์๊ฑฐ๋, ํ๋๋ง ์ฃผ์ด์ง๊ฑฐ๋, ๋๋ ๋ ๋ชจ๋ ์ฃผ์ด์ ธ๋ ํ๋์ ๋ชจ๋ธ๋ก ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ,
ํ์ต ์ค ๋ณธ ์ ์๋ ์กฐํฉ์๋ ์ผ๋ฐํ๋ฉ๋๋ค.
๐ Interactive: ๋ฐ๋ณต ์ํธ์์ฉ์ผ๋ก ์ ์ง์ ์ธ๋ถํ
- SEEM์
Pm
์ด๋ผ๋ ๋ฉ๋ชจ๋ฆฌ ํ๋กฌํํธ(memory prompt)๋ฅผ ๋์ ํ์ฌ, ์ด์ ๋ง์คํฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ฌ ์ ๋ ฅ์ ๋ฐ์ํฉ๋๋ค. - ์ด์ ๋ง์คํฌ์ ์ ๋ณด๋ ๋ง์คํฌ ๊ธฐ๋ฐ ํฌ๋ก์ค ์ดํ ์ (Masked Cross Attention)์ ํตํด ํน์ ์์ญ ๋ด์์๋ง ๋ฐ์๋๋ฉฐ, ์ด๋ฅผ ํตํด ๋ฐ๋ณต์ ์ธ ์ ๋ ฅ์ ๋ฐ๋ฅธ ์ธ๋ถํ ๊ฒฐ๊ณผ์ ์ ์ง์ ๊ฐ์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๋ณ๋์ ์ถ๊ฐ ๋คํธ์ํฌ ์์ด ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฅ์ ์ํํ์ฌ ํจ์จ์ฑ๋ ๋ฐ์ด๋จ.
๐ง Semantic-aware: ์๋ฏธ ์๋ ์ธ๋ถํ ๊ฒฐ๊ณผ ์ ๊ณต
- ๊ธฐ์กด์ ์ํธ์์ฉ ์ธ๋ถํ ๋ชจ๋ธ๋ค์ ๋จ์ํ ๋ง์คํฌ๋ง ์์ฑํ์ง๋ง,
SEEM์ ๊ฐ ๋ง์คํฌ๊ฐ ๋ฌด์์ธ์ง(semantic class)๊น์ง ์์ธกํ ์ ์์ต๋๋ค. - ์๊ฐ ํ๋กฌํํธ์ ํ ์คํธ ์๋ฒ ๋ฉ์ ๊ณต๋ ์๊ฐ-์๋ฏธ ํํ ๊ณต๊ฐ์ ์ ๋ ฌํ์ฌ, ํ์ต ์ ์๋ฏธ ๋ผ๋ฒจ์ ์ฌ์ฉํ์ง ์์๋๋ผ๋ ์ ๋ก์ท์ผ๋ก ์๋ฏธ๋ฅผ ๋ถ๋ฅํ ์ ์์ต๋๋ค.
- ๋๋ถ์ SEEM์ ๋จ์ํ ๋ถํ ์ ๋์ด, โ๋ฌด์์ ๋ถํ ํ๋๊ฐโ๊น์ง ์ค๋ช ๊ฐ๋ฅํ ๋ชจ๋ธ์ ๋๋ค.
๐งช 4. ์คํ ์์ฝ
SEEM์ ๋ค์ํ ์ธ๋ถํ ์์
์ ํ๋์ ๋ชจ๋ธ๋ก ํตํฉํด ์ฒ๋ฆฌํ๋ฉฐ,
๋ค์ ๋ค ๊ฐ์ง ์ฃผ์ ์คํ์์ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ์
์ฆํ์ต๋๋ค.
๐ ๋ฐ์ดํฐ์ ๋ฐ ์ค์
- ํ์ต ๋์ ์์
:
- Panoptic Segmentation (COCO2017)
- Referring Segmentation (RefCOCO, RefCOCO+, RefCOCOg)
- Interactive Segmentation (COCO2017 ๊ธฐ๋ฐ ์๋ฎฌ๋ ์ด์ ํด๋ฆญ)
- ๋ชจ๋ธ ๊ตฌ์ฑ:
- Vision Backbone: FocalT, DaViT-d3/d5
- Language Encoder: UniCL ๋๋ Florence
- ๋์ฝ๋๋ SEEM-Decoder๋ก ๊ต์ฒด
- ํ๊ฐ์งํ:
- PQ (Panoptic Quality), AP (Average Precision), mIoU
- NoC@85 / NoC@90, 1-IoU, K-NoC@90
- Video: Zero-shot ํ๊ฐ (DAVIS17, DAVIS16-Interactive)
๐ ์ฃผ์ ์คํ ๊ฒฐ๊ณผ
- Generic Segmentation
- ๊ธฐ์กด ๋ฒ์ฉ ๋ชจ๋ธ(Pix2Seqv2, Painter ๋ฑ) ๋๋น Panoptic PQ +10ํฌ์ธํธ ํฅ์
- Referring Segmentation
- ์๊ฐ ํ๋กฌํํธ ์ถ๊ฐ ์ cIoU +10.5, mIoU +6.0, AP50 +9.3 ํฅ์
- Interactive Segmentation
- SAM๋ณด๋ค ์ ์ ๋ฐ์ดํฐ๋ก ๋ ๋์ ์ฑ๋ฅ
- ๋ค์ํ ํ๋กฌํํธ(ํ ์คํธ, ํด๋ฆญ, ๋ฐ์ค ๋ฑ) ์กฐํฉ ๊ฐ๋ฅ
- Video Object Segmentation
- ๊ตฌ์กฐ ๋ณ๊ฒฝ ์์ด zero-shot ์ํ
- DAVIS17์์ fully-supervised ์์ค ์ฑ๋ฅ
- DAVIS16-Interactive์์ ๋จ์ผ ํด๋ฆญ์ผ๋ก ๊ฐ๋ ฅํ ์ฑ๋ฅ
๐ ์ฑ๋ฅ ์ข ํฉ ์ ๋ฆฌ
์์ ์ ํ | SEEM ์ฑ๋ฅ ์์ฝ |
---|---|
Generic Segmentation | ๊ธฐ์กด ๋ชจ๋ธ ๋๋น panoptic ์ฑ๋ฅ +10ํฌ์ธํธ |
Referring Segmentation | ์๊ฐ ํ๋กฌํํธ ์ถ๊ฐ ์ cIoU +10.5, mIoU +6.0, AP50 +9.3 ์ฆ๊ฐ |
Interactive Segmentation | ์ ์ ๋ฐ์ดํฐ๋ก SAM ๋ฅ๊ฐ, ๋ค์ํ ์ ๋ ฅ ์ง์ (ํ ์คํธ, ๋ฐ์ค ๋ฑ) |
Video Segmentation | Zero-shot์ผ๋ก DAVIS17/16 ์์ค ์ฑ๋ฅ, ๋ณ๋ ๊ตฌ์กฐ ์์ ๋ถํ์ |
๐ ๊ฒฐ๋ก
์ด๋ฅผ ํตํด์!! ๊ฒฐ๊ตญ!! ํ
์คํธ, ์ด๋ฏธ์ง์ ์ฌ๋ฌ ์ธํ ๋ฑ์ ํ๋กฌํฌํธ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉฐ,
๊ณ์ ๋ํ๊ฐ ๊ฐ๋ฅํ chatGPT์ฒ๋ผ SEEM์์๋ ๊ธฐ์กด ํ๋กฌํฌํธ์ ์ด์ด์ segmentation์ ์งํํ ์ ์์์ต๋๋ค!! ๋
ผ๋ฌธ์๋ ์ด์ ๋ํ ๋ค์ํ ๊ฒฐ๊ณผ ์ด๋ฏธ์ง๋ค์ ๋ณด์ฌ์ฃผ๋๋ฐ!
์ ๋ง ํฅ๋ฏธ๋กญ๋ค์!!
segmantation ์ ๋ํ์ฌ class ์๋ฏธ๊น์ง!! ๋๋๋ค์!!
์๋์์๋ SAM2์ฒ๋ผ ๋น๋์ค์ ํ๋ ์์ ์ถ์ ํ๋ฉฐ segmentation ํ๋ค๋ ๊ฒ์ด ๋๋์ต๋๋ค!