ClipSAM: CLIP and SAM Collaboration for Zero-Shot Anomaly Segmentation

Shengze Li, Jianjian Cao, Peng Ye, Yuhan Ding, Chongjun Tu +1 more
1/23/2024
cs.CVcs.AI

No official code found. Best implementation: Lszcoding/ClipSAM (82 stars, last commit 2024-01-26).

Abstract

Recently, foundational models such as CLIP and SAM have shown promising performance for the task of Zero-Shot Anomaly Segmentation (ZSAS). However, either CLIP-based or SAM-based ZSAS methods still suffer from non-negligible key drawbacks: 1) CLIP primarily focuses on global feature alignment across different inputs, leading to imprecise segmentation of local anomalous parts; 2) SAM tends to generate numerous redundant masks without proper prompt constraints, resulting in complex post-processing requirements. In this work, we innovatively propose a CLIP and SAM collaboration framework called ClipSAM for ZSAS. The insight behind ClipSAM is to employ CLIP's semantic understanding capability for anomaly localization and rough segmentation, which is further used as the prompt constraints for SAM to refine the anomaly segmentation results. In details, we introduce a crucial Unified Multi-scale Cross-modal Interaction (UMCI) module for interacting language with visual features at multiple scales of CLIP to reason anomaly positions. Then, we design a novel Multi-level Mask Refinement (MMR) module, which utilizes the positional information as multi-level prompts for SAM to acquire hierarchical levels of masks and merges them. Extensive experiments validate the effectiveness of our approach, achieving the optimal segmentation performance on the MVTec-AD and VisA datasets.

View on arXivView PDF

Code Implementations(1)

Lszcoding/ClipSAMCommunity100%
821Jan 23, 20242 years ago

Similar Papers

Cite this paper

@article{li2024clipsam,
  title  = {ClipSAM: CLIP and SAM Collaboration for Zero-Shot Anomaly Segmentation},
  author = {Shengze Li and Jianjian Cao and Peng Ye and Yuhan Ding and Chongjun Tu and Tao Chen},
  year   = {2024},
  eprint = {2401.12665},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2401.12665v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2401.12665.svg)](https://codeofpaper.com/paper/2401.12665)

Discussion