Home

Awesome

Eliminating Feature Ambiguity for Few-Shot Segmentation

This repository contains the code for our ECCV 2024 paper "Eliminating Feature Ambiguity for Few-Shot Segmentation", where we design a plug-in network AENet for three existing cross attention-based baselines: CyCTR, SCCAN and HDMNet.

Dependencies

Please follow the official guidelines of the selected baselines to create their virtual environments. Note that:

Directory Structure

The directory structure is:

../
├── SCCAN_CyCTR/  # code for SCCAN and CyCTR
├── HDMNet/       # code for HDMNet
├── lists/        # shared data lists
├── initmodel/    # shared pretrained backbones
└── data/         # shared data
    ├── base_annotation/
    ├── VOCdevkit2012/
    │   └── VOC2012/
    └── MSCOCO2014/           
        ├── annotations/
        ├── train2014/
        └── val2014/

Datasets

You can download the pre-processed PASCAL-5<sup>i</sup> and COCO-20<sup>i</sup> datasets here, and extract them into data/ folder. Then, you need to create a symbolic link to the pascal/VOCdevkit data folder as follows:

> ln -s <absolute_path>/data/pascal/VOCdevkit <absolute_path>/data/VOCdevkit2012

Data Lists

> ln -s <absolute_path>/lists <absolute_path>/SCCAN_CyCTR/lists
> ln -s <absolute_path>/lists <absolute_path>/HDMNet/lists

Backbones

> ln -s <absolute_path>/initmodel <absolute_path>/SCCAN_CyCTR/initmodel
> ln -s <absolute_path>/initmodel <absolute_path>/HDMNet/initmodel

Pretrained Models

Training and Testing Commands

References

This repo is mainly built based on BAM and SCCAN. Thanks for their great work!