https://github.com/IDEA-Research/Grounded-Segment-Anything
Abstract
Open-set object detector인 Grounding DINO와 Segment Anything model [SAM]을 합친 모델이다. 이 둘을 합침으로써 임의의 text input들에 대해 detection과 segmentation이 가능해졌다.
이 둘에 대한 자세한 설명은 이전 posting들을 참고하길 바란다.
Introduction
자율 주행, 로보틱스 등의 분야에서의 visual perception과 open-world scenario에서 task를 이해하는 것은 중요하다. 이를 위해 robust하고 versatile한 model들이 필요하게 된다.
현재 open-world scenario 문제를 해결하기 위한 방법에는 3가지가 존재한다.
- 다양한 vision task들을 지원하기 위한 여러 dataset으로 training 시킨 Unified Model
→ 이 방식의 경우 open-set segmentation같은 복잡한 task에 대해 data의 scope가 제한된다는 단점이 있다. - Language model과 vision을 연결시킬 LLM controller
→ LLM의 기능과 제약 사항에 크게 의존한다는 단점 존재 - 특정 context를 위해 설계된 expert model들을 합쳐서 복잡한 open-world task를 수행하기 위한 Ensemble Foundation Model
→ Robust한 pipeline과 open-world segmentation이 여전히 존재하지 않음..
그래서 Grounding SAM은 Open-set detector인 Grounding DINO와 promptable segmentation인 SAM을 결합하려는 시도를 하게 되었다.
Grounded SAM Playground
Preliminary
Segment Anything Model [SAM]
SAM은 open-world segmentation model로 point, box, text 같은 적절한 prompt가 주어졌을 때 어떠한 object든 image에서 "cut out"할 수 있는 모델이다. Zero-shot performance가 뛰어나다. 하지만, 이러한 강점에도 임의의 text input이 주어졌을 때 masking 된 object를 구별하지 못하고 point나 box prompt가 필요하다는 단점이 존재한다.
Grounding DINO
Grounding DINO는 open-set object detector로 임의의 fre-form text prompt가 주어졌을 때 이와 관련된 object들을 detect할 수 있는 모델이다. 이 모델의 경우 10M개가 넘은 detection, visual grounding, image-text pair data로 train이 되었기 때문에 zero-shot 성능이 뛰어나다. 하지만, 이 모델의 경우 text를 input으로 주어야 하고 주어진 input text에 대응하는 phrase에 대한 box만 detect할 수 있다.
OSX
OSX는 "One-Stage 3D Whole-Body Mesh Recovery with Component Aware Transformer" 라는 CVPR 2023에 accept된 논문으로 monocular image들로 부터 mesh를 복원하는 모델이다. OSX는 처음에 human이 있는 곳의 box를 예측하고 crop, resize 과정을 거쳐 single person에 대한 mesh recovery를 진행한다.
BLIP
BLIP은 "Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation" 이라는 논문으로 vision-language understanding과 generation task를 결합한 모델이다. 이 논문에서는 image caption을 하기 위해 BLIP을 사용했다고 하고 caption model의 경우 주어진 image들에 대해 description을 생성할 수 있다는 장점이 있다고 한다. 하지만, 이 모델의 경우 detection이나 segmentation 같은 object-level task에만 수행을 할 수 있다는 단점이 존재한다.
Recognize Anything Model [RAM]
RAM은 강력한 image tagging model로 input image에서 높은 정확도로 category를 인식할 수 있는 모델이다. 하지만, RAM은 단순히 tag만 생성을 하고 정확한 box와 mask를 생성하지는 못한다는 단점이 있다.
Stable Diffusion
Stable Diffusion은 워낙 유명하기 때문에 간단히 설명하면, sample image들로 부터 image를 생성하는 모델인데 text prompt와 함께 사용된다는 점이 특징이다. 이 논문에서는 variant를 inpainting할 때 사용했다고 한다. Generation 성능이 뛰어남에도 stable diffusion은 task에 대한 perception, understanding과는 거리가 있다는 점이 단점이다.
ChatGPT & GPT-4
Generative Pre-trained Transformer 모델을 사용한 LLM 모델이며 대화형 AI agent를 설계하는데 사용된다. 사람과 같은 response를 생성할 수 있도록 어마어마한 양의 data로 pre-trained 되었고 그로 인해 대화의 문맥을 이해해서 적절한 response를 생성할 수 있게 되는 원리이다.
위의 7가지 모델들이 Grounded SAM에서 여러 task에 적용하기 위해 결합하거나 experiment에서 이용한 모델들이다.
Grounded SAM: Open-Vocabulary Detection and Segmentation
User-provided text로부터 해당하는 region을 image에서 찾아서 masking하는 과정을 통해 open-set segmentaiton 같은 fine-grained image understanding을 수행하는 것은 상당히 어려운 task이다. 그 이유는 wild task에 segmentation을 하기 위한 high-quality의 data의 양이 제한적이기 때문이다.
이와 반대로 open-set detection은 segmentation보다는 상당히 접근성이 좋다. 그 이유에는 2가지가 있다.
- Detection data에 annotation을 하는 cost가 segmentation보다 훨씬 가볍기 때문
- Open-set detection은 segmentation처럼 pixel-level object mask를 생성할 필요 없이 단순히 image에서 해당하는 object의 좌표값만 알면 되기 때문에 간단하다.
그래서 Grounded Pre-training과 SAM의 성공에서 영감을 받아서 open-set foundation model들을 결합함으로써 wild task들에서 복잡한 segmentation을 수행하는 것을 목표로 잡았다고 한다.
주어진 input image와 text prompt에 대해 첫번쨰로 Grounding DINO를 이용해서 text 정보를 조건으로 leveraging하는 과정을 통해 image에서 object나 region에 대한 정확한 box를 생성하도록 했다고 한다. 이를 통해 annotated box가 생성되고 이게 box prompt로서 SAM에 주어져 정확한 mask annotation을 생성하도록 하게 된다고 한다.
두 가지 robust한 expert model들을 leverage함으로써 open-set detection과 segmentation은 큰 노력없이 수행될 수 있다고 한다.
RAM-Grounded-SAM: Automatic Dense Image Annotation
Image annotation이 자동으로 진행되게 되면 효율성은 물론이고 real-time으로도 scene annotation이 가능해질 수 있다. 그렇게 되면 자율주행 같은 real-time이 필수적인 분야에서의 범용성도 높아질 수 밖에 없다. 위의 그림에서 알 수 있듯이 RAM-Grounded SAM이 자동으로 category prediction을 수행하고 다양한 scenario에 걸쳐 input image에 대한 dense annotation을 제공했다는 것을 알 수 있다.
결과적으로 이러한 점이 annotation cost를 상당부분 줄여주고 image annotation의 flexibility를 증가시켜 준다.
Grounded-SAM-SD: Highly Accurate and Controllable Image Editing
Grounded SAM과 image 생성 모델들을 결합함으로써 comprehensive framework를 형성하고 robust한 data synthesis factory를 만들 수 있게 해주어서 part, instance, semantic level에서 fine-grained operation이 가능해졌다.
위의 그림에서 처럼 user들은 pipeline 안에서 단순히 클릭하고 bounding box를 그리는 과정을 통해 정확한 mask를 얻을 수 있다. Image 생성모델의 능력을 이 foundation model로 가져옴으로써 image representation을 수정하고, object를 대체하고, region을 제거하는 등 매우 정확하고 통제 가능한 image 조작이 가능해졌다.
Grounded-SAM-OSX: Promptable Human Motion Analysis
기존의 human detector들은 서로 다른 instance들 [e.g., person with pink clothes]을 구별하지 못해서 fine-grained human motion 분석이 힘들었다. 이 논문에서는 Grounded SAM과 OSX를 결합해서 새로운 promptable [instance-specific] whole-body human detection과 mesh recovery가 가능해졌다.
Effectiveness of Grounded SAM
Grounded SAM의 성능을 검증하기 위해 Segmentation in the Wild [SGinW] zero-shot benchmark에 대해 진행을 했다고 한다.
Conclusion
1. Capability boundaries of the modesl can be seamlessly expanded by assembling various expert models
2. The model assembling pipeline is more explainable by decomposing a task into several sub-tasks
3. By combining various expert models, we can investigate new areas of research and applications