Timo Lüddecke, Alexander S. Ecker
Image segmentation is usually addressed by training a model for a fixed set of object classes. Incorporating additional classes or more complex queries later is expensive as it requires re-training the model on a dataset that encompasses these expressions. Here we propose a system that can generate image segmentations based on arbitrary prompts at test time. A prompt can be either a text or an image. This approach enables us to create a unified model (trained once) for three common segmentation tasks, which come with distinct challenges: referring expression segmentation, zero-shot segmentation and one-shot segmentation. We build upon the CLIP model as a backbone which we extend with a transformer-based decoder that enables dense prediction. After training on an extended version of the PhraseCut dataset, our system generates a binary segmentation map for an image based on a free-text prompt or on an additional image expressing the query. We analyze different variants of the latter image-based prompts in detail. This novel hybrid input allows for dynamic adaptation not only to the three segmentation tasks mentioned above, but to any binary segmentation task where a text or image query can be formulated. Finally, we find our system to adapt well to generalized queries involving affordances or properties. Code is available at https://eckerlab.org/code/clipseg.
| Task | Dataset | Metric | Value | Model |
|---|---|---|---|---|
| Referring Image Matting | RefMatte | MAD | 0.0394 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MAD(E) | 0.0419 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MSE | 0.0358 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MSE(E) | 0.0381 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | SAD | 69.13 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | SAD(E) | 73.53 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MAD | 0.0101 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MAD(E) | 0.0106 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MSE | 0.0064 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MSE(E) | 0.0067 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | SAD | 17.75 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | SAD(E) | 18.69 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MAD | 0.1222 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MAD(E) | 0.1282 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MSE | 0.1178 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | MSE(E) | 0.1236 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | SAD | 211.86 | CLIPSeg (ViT-B/16) |
| Referring Image Matting | RefMatte | SAD(E) | 222.37 | CLIPSeg (ViT-B/16) |