👀SEEM: Segment Everything Everywhere All at Once
🍎[Demo Route 1] 🍊[Demo Route 3] 🥝[Demo Route 4] 🍇[ArXiv]
We introduce SEEM that can Segment Everything Everywhere with Multi-modal prompts all at once. SEEM allows users to easily segment an image using prompts of different types including visual prompts (points, marks, boxes, scribbles and image segments) and language prompts (text and audio), etc. It can also work with any combination of prompts or generalize to custom prompts!
💡 Highlights
Inspired by the appealing universal interface in LLMs, we are advocating universal, interactive multi-modal interface for any types of segmentation with ONE SINGLE MODEL. We emphasize 4 important features of SEEM here.
- Versatility: work with various types of prompts, for example, clicks, boxes, polygon, scribble, text, and referring image;
- Compositionaliy: deal with any compositions of prompts;
- Interactivity: interact with user multi-rounds because SEEM has a memory prompt to store the session history;
- Semantic awareness: give a semantic label to any predicted mask;
A breif introduction of all the generic and interactive segmentation tasks we can do. Try our demo at xxx.
🔥Click, scribble to mask
With a simple click or stoke from the user, we can generate the masks and the corresponding category labels for it.
🔥Text to mask
SEEM can generate the mask with text input from the user, providing multi-modality interaction with human.
🔥Referring image to mask
With a simple click or stroke on the referring image, the model is able to segment the objects with similar semantics on the target images.
SEEM understands the spatial relationshio very well. Look at the three zebras!
SEEM understands the oil pastel paintings painted by 🐿️
🔥Referring image to video mask
Without any training on video data, SEEM directly works for you to segment videos with whatever queries you specify!
🔥Audio to mask
We use Whiper to turn audio into text prompt to segment the object. Try it in our demo!
🔥Examples of different styles
An example of segmenting an emoji.
An example of segmenting a minecraft image.
An example of using referring image on a popular teddy bear.Model
Comparison with SAM
Compared with SAM, SEEM has the following strengths. First, SEEM has a Unified prompt encoder that encode all visual and language prompts into a joint representation space. In consequence, SEEM has more general usage. It has potential to extend to custom prompts. Second, SEEM do very well on text to mask (grounding segmentation) and output semantic-aware predictions.
This figure shows a comparison of our model with concurrent work SAM on the level of interactions and semantics. The x-axis and y-axis denote the level of interaction and semantics, respectively. Three segmentation tasks are shown which are Open-set Segmentation, Edge detection, and Interactive Segmentation. They have different levels of interactions and semantics. For example, Open-set Segmentation usually requires a high level of semantics and does not require interaction. Compared with SAM, our model covers a larger range in both interaction and semantics levels. For example, SAM only supports limited interaction types like points and boxes and it does not support high-semantic tasks since it does not output semantic labels itself. Note that although we do not report edge detection results, our model can support it by simply converting masks to edges.📑 Catelog
- SEEM + Whisper Demo
- SEEM + Whisper + Stable Diffusion Demo
- Inference and installation code
- Hugging Face Demo
💘 Acknowledgements
We thank these wonderful projects: