Giter Site home page Giter Site logo

zwyang6 / seco Goto Github PK

View Code? Open in Web Editor NEW
44.0 1.0 0.0 6.07 MB

[CVPR2024] Separate and Conquer: Decoupling Co-occurrence via Decomposition and Representation for Weakly Supervised Semantic Segmentation

Python 99.63% Shell 0.37%
computer-vision contrastive-learning weakly-supervised-segmentation

seco's Introduction

[CVPR2024] Separate and Conquer: Decoupling Co-occurrence via Decomposition and Representation for Weakly Supervised Semantic Segmentation arXiv

News

  • If you find this work helpful, don't hesitate to give us a ๐ŸŒŸ !
  • Mar. 21st, 2024: All Codes, logs, and checkpoints are available now๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ
  • If you have any questions, please feel free to leave issues or contact us by [email protected].

Overview

We proposed a Separate and Conquer philosophy to effectively tackle the co-occurrence issue in WSSS.

SeCo pipeline

Data Preparation

PASCAL VOC 2012

1. Download

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar

2. Segmentation Labels

The augmented annotations are from SBD dataset. The download link of the augmented annotations at DropBox. After downloading SegmentationClassAug.zip, you should unzip it and move it to VOCdevkit/VOC2012/.

VOCdevkit/
โ””โ”€โ”€ VOC2012
    โ”œโ”€โ”€ Annotations
    โ”œโ”€โ”€ ImageSets
    โ”œโ”€โ”€ JPEGImages
    โ”œโ”€โ”€ SegmentationClass
    โ”œโ”€โ”€ SegmentationClassAug
    โ””โ”€โ”€ SegmentationObject

MSCOCO 2014

1. Download

wget http://images.cocodataset.org/zips/train2014.zip
wget http://images.cocodataset.org/zips/val2014.zip

2. Segmentation Labels

To generate VOC style segmentation labels for COCO, you could use the scripts provided at this repo, or just download the generated masks from Google Drive.

COCO/
โ”œโ”€โ”€ JPEGImages
โ”‚    โ”œโ”€โ”€ train2014
โ”‚    โ””โ”€โ”€ val2014
โ””โ”€โ”€ SegmentationClass
     โ”œโ”€โ”€ train2014
     โ””โ”€โ”€ val2014

Requirement

Please refer to the requirements.txt.

We incorporate a regularization loss for segmentation. Please refer to the instruction for this python extension.

Train SeCo

### train voc
bash run_train.sh scripts/train_voc.py [gpu_number] [master_port] [gpu_device] train_voc

### train coco
bash run_train.sh scripts/train_coco.py [gpu_numbers] [master_port] [gpu_devices] train_coco

Evaluate SeCo

### eval voc
bash run_evaluate_seg_voc.sh tools/infer_seg_voc.py [gpu_device] [checkpoint_path]

### eval coco
bash run_evaluate_seg_coco.sh tools/infer_seg_coco.py [gpu_number] [master_port] [gpu_device] [checkpoint_path]

Main Results

Semantic performance on VOC and COCO. Logs and weights are available now.

Dataset Backbone Val Test Log Weight
PASCAL VOC ViT-B 74.0 73.8 log weight
MS COCO ViT-B 46.7 - log weight

Citation

Please cite our work if you find it helpful to your reseach. ๐Ÿ’•

@article{yang2024separate,
  title={Separate and Conquer: Decoupling Co-occurrence via Decomposition and Representation for Weakly Supervised Semantic Segmentation},
  author={Yang, Zhiwei and Fu, Kexue and Duan, Minghong and Qu, Linhao and Wang, Shuo and Song, Zhijian},
  journal={arXiv preprint arXiv:2402.18467},
  year={2024}
}

Acknowledgement

This repo is built upon ToCo, DINO, and SupCon. Many thanks to their brilliant works!!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.