• Stars
    star
    121
  • Rank 284,756 (Top 6 %)
  • Language
    Python
  • Created about 3 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PointFlow (CVPR-2021)

PFSegNets

This repo contains the the implementation of Our CVPR-2021 work: PointFlow: Flowing Semantics Through Points for Aerial Image Segmentation

PFSegNet implemented by Jittor from THU.

To do

  • Support PointFlow Models
  • Add more Models (at least 15 models)

The master branch works with PyTorch 1.5 and python 3.7.6.

DataSet preparation

  1. Downloading iSAID, Potsdam and Vahihigen dataset.
  2. Using scripts to crop iSAID and Potsdam, Vaihigen into patches.
  3. Using scripts to convert the original mask of iSAID and Potsdam, Vaihigen into gray mask for training and evaluating.
  4. Finally, you can either change the config.py or do the soft link according to the default path in config.

For example, suppose you store your iSAID dataset at ~/username/data/iSAID, please update the dataset path in config.py,

__C.DATASET.iSAID_DIR = '~/username/data/iSAID'

Or, you can link the data path into current folder.

mkdir data 
cd data
ln -s your_iSAID_root_data_path iSAID

Install the extension for other models

# install the extension 
python setup.py develop

Actually, the order of steps 2 and 3 is interchangeable.

Pretrained Models

Baidu Pan Link: https://pan.baidu.com/s/1MWzpkI3PwtnEl1LSOyLrLw 4lwf

Google Drive Link: https://drive.google.com/drive/folders/1C7YESlSnqeoJiR8DWpmD4EVWvwf9rreB?usp=sharing

After downloading the pretrained ResNet, you can either change the model path of network/resnet_d.py or do the soft link according to the default path in network/resnet_d.py.

For example, Suppose you store the pretrained ResNet50 model at ~/username/pretrained_model/resnet50-deep.pth, please update the dataset path in Line315 of config.py,

model.load_state_dict(torch.load("~/username/pretrained_model/resnet50-deep.pth", map_location='cpu'))

Or, you can link the pretrained model path into current folder.

mkdir pretrained_models
ln -s your_pretrained_model_path path_to_pretrained_models_folder

Model Checkpoints

DatasetBackbonemIoUModel
iSAIDResNet5066.9Google Drive | Baidu Pan(v3oj)
PotsdamResNet5075.4Google Drive | Baidu Pan(lhlf)
VaihigenResNet5070.4Google Drive | Baidu Pan(54qm)

Evaluation

For example, when evaluating PFNet on validation set of iSAID dasaset:

sh scripts/pointflow/test/test_iSAID_pfnet_R50.pth path_to_checkpoint path_to_save_results

If you want to save images during evaluating, add args: dump_images, which will take more time.

Training

To be note that, our models are trained on 8 V-100 GPUs with 32GB memory. It is hard to reproduce such best results if you do not have such resources. For example, when training PFNet on iSAID dataset:

sh scripts/pointflow/train_iSAID_pfnet_r50.sh

Citation

If you find this repo is helpful to your research. Please consider cite our work.

@inproceedings{li2021pointflow,
  title={PointFlow: Flowing Semantics Through Points for Aerial Image Segmentation},
  author={Li, Xiangtai and He, Hao and Li, Xia and Li, Duo and Cheng, Guangliang and Shi, Jianping and Weng, Lubin and Tong, Yunhai and Lin, Zhouchen},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={4217--4226},
  year={2021}
}

Acknowledgement

This repo is based on NVIDIA segmentation repo. We fully thank their open-sourced code.

More Repositories

1

OMG-Seg

[CVPR-2024] One Model For Image/Video/Instractive/Open-Vocabulary Segmentation
Python
683
star
2

OctaveConv_pytorch

Pytorch implementation of newly added convolution
Python
577
star
3

Awesome-Segmentation-With-Transformer

[Arxiv-04-2023] Transformer-Based Visual Segmentation: A Survey
577
star
4

DecoupleSegNets

Implementation of Our ECCV2020-work: Improving Semantic Segmentation via Decoupled Body and Edge Supervision
Python
366
star
5

SFSegNets

[ECCV-2020-oral]-Semantic Flow for Fast and Accurate Scene Parsing
Python
352
star
6

GALD-DGCNet

Source code and model GALD net (BMVC-2019) and Dual-Seg Net (BMVC-2019)
Python
344
star
7

Fast_Seg

This repo provides âš¡ fastâš¡ semantic segmentation models on CityScapes/Camvid DataSet by Pytorch
Python
208
star
8

CAE

This is a PyTorch implementation of “Context AutoEncoder for Self-Supervised Representation Learning"
Python
179
star
9

Video-K-Net

[CVPR-2022 (oral)]-Video K-Net: A Simple, Strong, and Unified Baseline for Video Segmentation
Python
150
star
10

Tube-Link

[ICCV-2023]-Universal Video Segmentaion For VSS, VPS and VIS
Python
105
star
11

dfn_seg

Implementation of Paper Learning a Discriminative Feature Network for Semantic Segmentation (CVPR2018)(face++)
Python
70
star
12

BSSeg

BoundarySqueeze: Image Segmentation as Boundary Squeezing
Python
53
star
13

Panoptic-PartFormer

[ECCV-2022] The First Unified End-to-End System for Panoptic Part Segmentation
Python
52
star
14

fuse_seg_pytorch

Pytorch Implementation of Paper: Enhancing Feature Fusion for Semantic Segmentation (face++)
Python
43
star
15

TemporalPyramidRouting

Temporal Pyramid Routing For Video Instance Segmentation-T-PAMI-2022
Python
26
star
16

AI_challenger_Chinese_Caption

Repository for image caption for Chinese
Jupyter Notebook
25
star
17

QueryPanSeg

Query Learning of Both Thing and Stuff for Panoptic Segmentation-ICIP-2022
15
star
18

deepLearning.ai.solution

This repository contains the implementation of deep learning courses by Andrew ng on Coursera
Jupyter Notebook
13
star
19

netwarp_test

Semantic Video CNNs through Representation Warping. ICCV 2017
Python
5
star
20

CompactSecondOrderNet

3
star
21

cinema_java_software_engineering

This repository contains a simple Cinema System. This is the project of 3rd Software Engineering
Java
1
star
22

Pytorch-Cifar-models

This repository contains some famous CNN models that can run on the cifar-10 dataset
Python
1
star
23

BasicAlgorithm-PAT-LeetCode-LintCode-

This repository is used to record the study of algorithm.
C++
1
star
24

MobileNet2-pytorch

This repository contains mobile nets implemetation by pytorch
Python
1
star
25

Adaboost-byhand

This repository contains the basic, mulit_boosting and basic bagging implementation
Python
1
star