Retinal Vessel Segmentation with Pixel-wise Adaptive Filters (ISBI 2022)

Overview

Retinal Vessel Segmentation with Pixel-wise Adaptive Filters (ISBI 2022)

Introduction

image

This is the official code of Retinal Vessel Segmentation with Pixel-wise Adaptive Filters and Consistency Training (ISBI 2022). We evaluate our methods on three datasets, DRIVE, CHASE_DB1 and STARE.

Datesets

You can download the three datasets from Google drive.
Of course, you can download the dataset from DRIVE, CHASE_DB1 and STARE respectively.

Quick start

Requirement

  1. Refer to Pytorch to install Pytorch >= 1.1.
  2. pip install -r requirements.txt

Config file

DATASET: "DRIVE"

TRAIN_DATA_PATH: ".../training/images" # modify it to your own path
TRAIN_LABEL_PATH: ".../training/1st_manual"


TEST_DATA_PATH: ".../test/images"
TEST_PRED_PATH: "results/test/DRIVE/prediction"
TEST_LABEL_PATH: ".../test/label/1st_manual"

# view
#VAL_PICTURE_PATH: "/gdata1/limx/mx/dataset/Drive19/visualization"
#VIEW_VAL_PATH: "results/val_view"
#VIEW_TRAIN_PATH: "results/train_view"

MODEL_PATH: "results/test/DRIVE/model"
LOG_PATH: "results/test/DRIVE/logging.txt"

# train
LEARNING_RATE: 0.005
BATCH_SIZE: 5
EPOCH: 6000
CHECK_BATCH: 50
multi_scale: [0.3]
INPUT_CHANNEL: 3
MAX_AFFINITY: 5
RCE_WEIGHT: 1
RCE_RATIO: 10

# inference
MODEL_NUMBER: "epoch_2750_f1_0.8261"
# load breakpoint
IS_BREAKPOINT: False
BREAKPOINT: ""


Please modify TRAIN_DATA_PATH, TRAIN_LABEL_PATH, TEST_DATA_PATH and TEST_LABEL_PATH.

Training

Please specify the configuration file.
For example, you can run .sh file to train the specific dataset.

cd rootdir
sh pbs/DRIVE_RUN.sh

After finishing the training stage, you will obtain the /results/test/DRIVE/logging.txt. The logging.txt file can log the metrics, like model number, f1, auc, acc, specificity, precision, sensitivity.

Testing

Please select the best model in loggging.txt and modify the MODEL_NUMBER in configuration file.

cd rootdir
python inference.py --lib/DRIVE.yaml 

Evaluation

To evalutate the results offline bewteen cfg['TEST_PRED_PATH'] and cfg['TEST_LABEL_PATH']. Your can run the code like it.

cd rootdir
python eval.py --lib/DRIVE.yaml 
You might also like...
Some code of the implements of Geological Modeling Using 3D Pixel-Adaptive and Deformable Convolutional Neural Network

3D-GMPDCNN Geological Modeling Using 3D Pixel-Adaptive and Deformable Convolutional Neural Network PyTorch implementation of "Geological Modeling Usin

Dynamic Multi-scale Filters for Semantic Segmentation (DMNet ICCV'2019)
Dynamic Multi-scale Filters for Semantic Segmentation (DMNet ICCV'2019)

Dynamic Multi-scale Filters for Semantic Segmentation (DMNet ICCV'2019) Introduction Official implementation of Dynamic Multi-scale Filters for Semant

Reimplementation of Dynamic Multi-scale filters for Semantic Segmentation.

Paddle implementation of Dynamic Multi-scale filters for Semantic Segmentation.

Imposter-detector-2022 - HackED 2022 Team 3IQ - 2022 Imposter Detector
Imposter-detector-2022 - HackED 2022 Team 3IQ - 2022 Imposter Detector

HackED 2022 Team 3IQ - 2022 Imposter Detector By Aneeljyot Alagh, Curtis Kan, Jo

HyperSeg: Patch-wise Hypernetwork for Real-time Semantic Segmentation Official PyTorch Implementation
HyperSeg: Patch-wise Hypernetwork for Real-time Semantic Segmentation Official PyTorch Implementation

: We present a novel, real-time, semantic segmentation network in which the encoder both encodes and generates the parameters (weights) of the decoder. Furthermore, to allow maximal adaptivity, the weights at each decoder block vary spatially. For this purpose, we design a new type of hypernetwork, composed of a nested U-Net for drawing higher level context features

Exploring Cross-Image Pixel Contrast for Semantic Segmentation
Exploring Cross-Image Pixel Contrast for Semantic Segmentation

Exploring Cross-Image Pixel Contrast for Semantic Segmentation Exploring Cross-Image Pixel Contrast for Semantic Segmentation, Wenguan Wang, Tianfei Z

Pixel Consensus Voting for Panoptic Segmentation (CVPR 2020)

Implementation for Pixel Consensus Voting (CVPR 2020). This codebase contains the essential ingredients of PCV, including various spatial discretizati

Per-Pixel Classification is Not All You Need for Semantic Segmentation
Per-Pixel Classification is Not All You Need for Semantic Segmentation

MaskFormer: Per-Pixel Classification is Not All You Need for Semantic Segmentation Bowen Cheng, Alexander G. Schwing, Alexander Kirillov [arXiv] [Proj

Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakly Supervised Semantic Segmentation, CVPR 2018
Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakly Supervised Semantic Segmentation, CVPR 2018

Learning Pixel-level Semantic Affinity with Image-level Supervision This code is deprecated. Please see https://github.com/jiwoon-ahn/irn instead. Int

Comments
  • RCE模块有一些问题

    RCE模块有一些问题

    复现过程中,在RCE模块里面遇到topk的部分会报错 Traceback (most recent call last): File "D:/Users/huTao/Desktop/Retinal-Vessel-Segmentation-ISBI2022-main/train.py", line 259, in train(i) File "D:/Users/huTao/Desktop/Retinal-Vessel-Segmentation-ISBI2022-main/train.py", line 140, in train x1, x2 = model(data, ratio) File "D:\ProgramData\Anaconda3\envs\yolo5\lib\site-packages\torch\nn\modules\module.py", line 889, in _call_impl result = self.forward(input, **kwargs) File "D:\Users\huTao\Desktop\Retinal-Vessel-Segmentation-ISBI2022-main\network\twonet.py", line 179, in forward x2 = self.transform1(x1, x, ratio) File "D:\Users\huTao\Desktop\Retinal-Vessel-Segmentation-ISBI2022-main\network\twonet.py", line 160, in transform1 img = self.resultsErasing(img, x, ratio) File "D:\Users\huTao\Desktop\Retinal-Vessel-Segmentation-ISBI2022-main\network\twonet.py", line 39, in call max_list = input[n, i_c, ...].flatten().topk(int(f_pself.top_n))[0] # top max value RuntimeError: invalid argument 5: k not in range for dimension at C:/w/b/windows/pytorch/aten/src\THC/generic/THCTensorTopK.cu:24

    请问有没有什么解决方法

    opened by huTao1030 2
  • some questions

    some questions

    你好,有一些问题需要咨询一下

    1. 请问出现了梯度无法回传的问题,是如何解决的,根据本人的调试,需要将RCE擦除策略中设置x2并且令 x2=x.clone(),最后返回x2可以解决。 2.为什么模型训练2次?在train.py的main函数中model.train,同时在train函数中也有model.train 3.为什么训练时候一直不收敛,loss收敛到0.5左右不再变化 希望能得到回复,谢谢!同时希望能继续交流一下,我的email是:[email protected]
    opened by cmx157841 0
Owner
anonymous
anonymous
The open source code of SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation.

SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation(ICPR 2020) Overview This code is for the paper: Spatial Attention U-Net for Retinal V

Changlu Guo 151 Dec 28, 2022
ISBI 2022: Cross-level Contrastive Learning and Consistency Constraint for Semi-supervised Medical Image.

Cross-level Contrastive Learning and Consistency Constraint for Semi-supervised Medical Image Introduction This repository contains the PyTorch implem

null 25 Nov 9, 2022
Pixel-wise segmentation on VOC2012 dataset using pytorch.

PiWiSe Pixel-wise segmentation on the VOC2012 dataset using pytorch. FCN SegNet PSPNet UNet RefineNet For a more complete implementation of segmentati

Bodo Kaiser 378 Dec 30, 2022
Pytorch Implementation for NeurIPS (oral) paper: Pixel Level Cycle Association: A New Perspective for Domain Adaptive Semantic Segmentation

Pixel-Level Cycle Association This is the Pytorch implementation of our NeurIPS 2020 Oral paper Pixel-Level Cycle Association: A New Perspective for D

null 87 Oct 19, 2022
An implementation of the research paper "Retina Blood Vessel Segmentation Using A U-Net Based Convolutional Neural Network"

Retina Blood Vessels Segmentation This is an implementation of the research paper "Retina Blood Vessel Segmentation Using A U-Net Based Convolutional

Srijarko Roy 23 Aug 20, 2022
"MST++: Multi-stage Spectral-wise Transformer for Efficient Spectral Reconstruction" (CVPRW 2022) & (Winner of NTIRE 2022 Challenge on Spectral Reconstruction from RGB)

MST++: Multi-stage Spectral-wise Transformer for Efficient Spectral Reconstruction (CVPRW 2022) Yuanhao Cai, Jing Lin, Zudi Lin, Haoqian Wang, Yulun Z

Yuanhao Cai 274 Jan 5, 2023
This is an official implementation of "Polarized Self-Attention: Towards High-quality Pixel-wise Regression"

Polarized Self-Attention: Towards High-quality Pixel-wise Regression This is an official implementation of: Huajun Liu, Fuqiang Liu, Xinyi Fan and Don

DeLightCMU 212 Jan 8, 2023
Code for "PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation" CVPR 2019 oral

Good news! We release a clean version of PVNet: clean-pvnet, including how to train the PVNet on the custom dataset. Use PVNet with a detector. The tr

ZJU3DV 722 Dec 27, 2022
Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera.

Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera. This project prepares training and testing data for various deep learning projects such as 6D object pose estimation projects singleshotpose, as well as object detection and instance segmentation projects.

null 305 Dec 16, 2022
This project aims to segment 4 common retinal lesions from Fundus Images.

This project aims to segment 4 common retinal lesions from Fundus Images.

Husam Nujaim 1 Oct 10, 2021