Segment-Everything-Everywhe.../README.md

68 lines
4.0 KiB
Markdown
Raw Normal View History

2023-04-13 15:53:42 +08:00
# 👀*SEEM:* Segment Everything Everywhere All at Once
2023-04-13 22:07:05 +08:00
This paper presents **SEEM** that can **S**egment **E**verything **E**verywhere all at once. Our 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.
Paper link is avaliable at [here]()!
Demo link is avaliable at [here]()!
## :bulb: Highlights
2023-04-13 23:10:40 +08:00
We emphasize **4** important features of **SEEM** here.
2023-04-12 20:40:33 +08:00
1. **Versatility**: work with various types of prompts, for example, clicks, boxes, polygon, scribble, text, and referring image;
2023-04-12 20:27:51 +08:00
2. **Compositionaliy**: deal with any compositions of prompts;
2023-04-12 20:40:33 +08:00
3. **Interactive**: interact with user multi-rounds because **SEEM** has a memory prompt to store the session history;
2023-04-12 20:27:51 +08:00
4. **Semantic awareness**: give a semantic label to any predicted mask;
2023-04-12 12:47:48 +08:00
2023-04-12 20:27:51 +08:00
2023-04-13 21:56:15 +08:00
![SEEM design](assets/teaser.png?raw=true)
2023-04-12 20:27:51 +08:00
A breif introduction of all the generic and interactive segmentation tasks we can do. Try our demo at xxx.
2023-04-12 13:32:37 +08:00
## 🔥Click, scribble to mask
2023-04-12 20:27:51 +08:00
With a simple click or stoke from the user, we can generate the masks and the corresponding category labels for it.
2023-04-13 13:36:53 +08:00
2023-04-12 20:27:51 +08:00
![SEEM design](assets/click.png?raw=true)
2023-04-12 13:32:37 +08:00
## 🔥Text to mask
2023-04-13 13:36:53 +08:00
SEEM can generate the mask with text input from the user, providing multi-modality interaction with human.
2023-04-13 23:10:40 +08:00
<!-- ![example](assets/text.png?raw=true) -->
<div align="center">
<img src="assets/text.png" width = "700" alt="assets/text.png" align=center />
</div>
2023-04-13 13:36:53 +08:00
2023-04-12 20:27:51 +08:00
## 🔥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.
2023-04-13 21:56:15 +08:00
![example](assets/ref_seg.png?raw=true)
2023-04-13 23:10:40 +08:00
## Audio to mask
We use Whiper to turn audio into text prompt to segment the object. Try it in our demo!
2023-04-13 22:07:05 +08:00
<!-- ## 🔥Combination of different prompts to mask -->
2023-04-12 13:32:37 +08:00
2023-04-13 11:05:54 +08:00
## 🔥Examples of different styles
2023-04-13 22:07:05 +08:00
An example of segmenting an emoji.
<div align="center">
<img src="assets/emoj.png" width = "500" alt="assets/emoj.png" align=center />
</div>
An example of segmenting a minecraft image.
2023-04-13 11:50:51 +08:00
![example](assets/minecraft.png?raw=true)
An example of using referring image on a popular teddy bear.
2023-04-13 12:08:06 +08:00
![example](assets/fox_v2.png?raw=true)
2023-04-12 13:32:37 +08:00
## Model
![SEEM design](assets/model.jpg?raw=true)
2023-04-13 22:07:05 +08:00
2023-04-12 13:32:37 +08:00
## Comparison with SAM
2023-04-12 20:40:33 +08:00
2023-04-12 13:32:37 +08:00
Compared with [SAM](https://arxiv.org/abs/2304.02643), 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.
2023-04-13 22:07:05 +08:00
<div align="center">
<img src="assets/compare.jpg" width = "500" alt="assets/compare.jpg" align=center />
</div>
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.
2023-04-12 12:47:48 +08:00
## :cupid: Acknowledgements
2023-04-13 22:07:05 +08:00
We thank theese wonderful projects:
2023-04-12 12:47:48 +08:00
- [X-Decoder](https://github.com/microsoft/X-Decoder)
2023-04-13 22:07:05 +08:00
<!-- ## Citation (update when paper is available on arxiv)
2023-04-12 12:47:48 +08:00
If you find this project helpful for your research, please consider citing the following BibTeX entry.
```BibTex
2023-04-13 22:07:05 +08:00
``` -->