M2MRF: Many-to-Many Reassembly of Features for Tiny Lesion Segmentation in Fundus Images

Overview

M2MRF: Many-to-Many Reassembly of Features for Tiny Lesion Segmentation in Fundus Images

This repo is the official implementation of paper "M2MRF: Many-to-Many Reassembly of Features for Tiny Lesion Segmentation in Fundus Images".

Environment

This code is based on mmsegmentation.

  • pytorch=1.6.0
  • mmsegmentation=0.8.0
  • mmcv=1.2.0
conda create -n m2mrf python=3.7 -y
conda activate m2mrf

conda install pytorch=1.6.0 torchvision cudatoolkit=10.2 -c pytorch -y
pip install mmcv-full==1.2.0 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.6.0/index.html -i https://pypi.douban.com/simple/
pip install opencv-python
pip install scipy
pip install tensorboard tensorboardX
pip install sklearn
pip install terminaltables
pip install matplotlib

cd M2MRF-Lesion-Segmentation
chmod u+x tools/*
pip install -e .

Training and testing

# prepare dataset
python tools/prepare_labels.py
python tools/augment.py

# train
CUDA_VISIBLE_DEVICES=0,1,2,3 PORT=12345 tools/dist_train.sh configs/_m2mrf_idrid/fcn_hr48-M2MRF-C_40k_idrid_bdice.py 4

# test
CUDA_VISIBLE_DEVICES=0,1,2,3 PORT=12345 tools/dist_test.sh configs/_m2mrf_idrid/fcn_hr48-M2MRF-C_40k_idrid_bdice.py /path/to/fcn_hr48-M2MRF-C_40k_idrid_bdice_iter_40000.pth 4 --eval mIoU

Results and models

We evaluate our method on IDRiD and DDR.

IDRiD

method   mIOU   mAUPR download
M2MRF-A 49.86 67.15 config | model
M2MRF-B 49.33 66.71 config | model
M2MRF-C 50.17 67.55 config | model
M2MRF-D 49.96 67.32 config | model

DDR

method   mIOU   mAUPR download
M2MRF-A 31.47 49.56 config | model
M2MRF-B 30.56 49.86 config | model
M2MRF-C 30.39 49.20 config | model
M2MRF-D 30.76 49.47 config | model

In the paper, we reported average performance over three repetitions, but our code only reported the best one among them.

Citation

If you find this code useful in your research, please consider cite:

@misc{liu2021m2mrf,
      title={M2MRF: Many-to-Many Reassembly of Features for Tiny Lesion Segmentation in Fundus Images},
      author={Qing Liu and Haotian Liu and Wei Ke and Yixiong Liang},
      year={2021},
      eprint={2111.00193},
      archivePrefix={arXiv},
      primaryClass={eess.IV}
}
Multi-modal co-attention for drug-target interaction annotation and Its Application to SARS-CoV-2

CoaDTI Multi-modal co-attention for drug-target interaction annotation and Its Application to SARS-CoV-2 Abstract Environment The test was conducted i

Layne_Huang 7 Nov 14, 2022
Distributing Deep Learning Hyperparameter Tuning for 3D Medical Image Segmentation

DistMIS Distributing Deep Learning Hyperparameter Tuning for 3D Medical Image Segmentation. DistriMIS Distributing Deep Learning Hyperparameter Tuning

HiEST 2 Sep 09, 2022
Artifacts for paper "MMO: Meta Multi-Objectivization for Software Configuration Tuning"

MMO: Meta Multi-Objectivization for Software Configuration Tuning This repository contains the data and code for the following paper that is currently

0 Nov 17, 2021
Group project for MFIN7036. Our goal is to predict firm profitability with text-based competition measures.

NLP_0-project Group project for MFIN7036. Our goal is to predict firm profitability with text-based competition measures1. We are a "democratic" and c

3 Mar 16, 2022
Energy consumption estimation utilities for Jetson-based platforms

This repository contains a utility for measuring energy consumption when running various programs in NVIDIA Jetson-based platforms. Currently TX-2, NX, and AGX are supported.

OpenDR 10 Jun 17, 2022
PaddleViT: State-of-the-art Visual Transformer and MLP Models for PaddlePaddle 2.0+

PaddlePaddle Vision Transformers State-of-the-art Visual Transformer and MLP Models for PaddlePaddle 🤖 PaddlePaddle Visual Transformers (PaddleViT or

1k Dec 28, 2022
Code and models for "Pano3D: A Holistic Benchmark and a Solid Baseline for 360 Depth Estimation", OmniCV Workshop @ CVPR21.

Pano3D A Holistic Benchmark and a Solid Baseline for 360o Depth Estimation Pano3D is a new benchmark for depth estimation from spherical panoramas. We

Visual Computing Lab, Information Technologies Institute, Centre for Reseach and Technology Hellas 50 Dec 29, 2022
Benchmarks for semi-supervised domain generalization.

Semi-Supervised Domain Generalization This code is the official implementation of the following paper: Semi-Supervised Domain Generalization with Stoc

Kaiyang 49 Dec 10, 2022
Rotary Transformer

[中文|English] Rotary Transformer Rotary Transformer is an MLM pre-trained language model with rotary position embedding (RoPE). The RoPE is a relative

325 Jan 03, 2023
Optimizing DR with hard negatives and achieving SOTA first-stage retrieval performance on TREC DL Track (SIGIR 2021 Full Paper).

Optimizing Dense Retrieval Model Training with Hard Negatives Jingtao Zhan, Jiaxin Mao, Yiqun Liu, Jiafeng Guo, Min Zhang, Shaoping Ma This repo provi

Jingtao Zhan 99 Dec 27, 2022
Python library for loading and using triangular meshes.

Trimesh is a pure Python (2.7-3.4+) library for loading and using triangular meshes with an emphasis on watertight surfaces. The goal of the library i

Michael Dawson-Haggerty 2.2k Jan 07, 2023
NeRF visualization library under construction

NeRF visualization library using PlenOctrees, under construction pip install nerfvis Docs will be at: https://nerfvis.readthedocs.org import nerfvis s

Alex Yu 196 Jan 04, 2023
competitions-v2

Codabench (formerly Codalab Competitions v2) Installation $ cp .env_sample .env $ docker-compose up -d $ docker-compose exec django ./manage.py migrat

CodaLab 21 Dec 02, 2022
Bayes-Newton—A Gaussian process library in JAX, with a unifying view of approximate Bayesian inference as variants of Newton's algorithm.

Bayes-Newton Bayes-Newton is a library for approximate inference in Gaussian processes (GPs) in JAX (with objax), built and actively maintained by Wil

AaltoML 165 Nov 27, 2022
Example of semantic segmentation in Keras

keras-semantic-segmentation-example Example of semantic segmentation in Keras Single class example: Generated data: random ellipse with random color o

53 Mar 23, 2022
Official Implementation of VAT

Semantic correspondence Few-shot segmentation Cost Aggregation Is All You Need for Few-Shot Segmentation For more information, check out project [Proj

Hamacojr 114 Dec 27, 2022
A medical imaging framework for Pytorch

Welcome to MedicalTorch MedicalTorch is an open-source framework for PyTorch, implementing an extensive set of loaders, pre-processors and datasets fo

Christian S. Perone 799 Jan 03, 2023
TLoL (Python Module) - League of Legends Deep Learning AI (Research and Development)

TLoL-py - League of Legends Deep Learning Library TLoL-py is the Python component of the TLoL League of Legends deep learning library. It provides a s

7 Nov 29, 2022
Object Detection with YOLOv3

Object Detection with YOLOv3 Bu projede YOLOv3-608 modeli kullanılmıştır. Requirements Python 3.8 OpenCV Numpy Documentation Yolo ile ilgili detaylı b

AyÅŸe KonuÅŸ 0 Mar 27, 2022
Transfer Learning for Pose Estimation of Illustrated Characters

bizarre-pose-estimator Transfer Learning for Pose Estimation of Illustrated Characters Shuhong Chen *, Matthias Zwicker * WACV2022 [arxiv] [video] [po

Shuhong Chen 142 Dec 28, 2022