YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
ReVGG-R2Net: Residual VGG with Recurrent Blocks for Medical Image Segmentation
A robust implementation of ReVGG-R2Net architecture combining VGG16 encoder with Residual Recurrent Convolutional blocks for medical image segmentation.
Dataset
Due to the large size of the dataset, we have hosted it on Google Drive.
You can access and download it using the following link:
π Download Dataset from Google Drive
Methodology
The models archtechture of our approach is illustrated below:
Architecture Overview
Encoder: VGG16 with ImageNet pretrained weights (all layers trainable) Core Innovation: Residual Recurrent Convolutional Blocks (R2 blocks) Decoder: Transpose convolution with skip connections Output: Sigmoid activation for binary segmentation
- Encoder: VGG16
- Core Innovation: Residual Recurrent Convolutional Blocks (R2 blocks)
- Decoder: Transpose convolution with skip connections
- Output: Sigmoid activation for binary segmentation
Key Features
- Residual connections with recurrent convolutions
- Batch size optimization during training
- Comprehensive evaluation metrics (Dice, Jaccard, F1-Score)
- Mac MPS GPU support
- Robust data preprocessing pipeline
Your dataset should have this format:
dataset/
βββ Original
β βββ image1.jpg
β βββ image2.png
β βββ ...
βββ Mask
βββ image1.jpg
βββ image2.png
βββ ...
Installation
!git clone https://github.com/FahimSultan-cyb/ReVGG-R2Net.git
import os, sys
root_path = os.path.join(os.getcwd(), "ReVGG-R2Net")
os.chdir(root_path)
!pip install -e .
!python setup_colab.py
!python download_pretrained.py
!pip install -r requirements.txt
Training
from scripts.train import train_model
model, history = train_model("path_of_your dataset")
Inference
from scripts.evaluate import evaluate_model
results = evaluate_model(
model_path="pretrained",
test_data_path="path_of_your dataset"
)
Evaluation
from scripts.evaluate import evaluate_model
results = evaluate_model(
model_path="path/to/model.keras",
test_data_path="path/to/test/data"
)
To run in google coolab (Less memory)
from scripts.train_colab import train_model_colab
model, history = train_model_colab(data_path="path/to/dataset")
Citation
If you find this code useful for your research, please consider citing:
@article{
akter2026revgg,
title={ReVGG-R2Net: Optimized recurrent framework for microscopic blood cell segmentation},
author={Mst Shapna Akter and Md. Fahim Sultan and Tasmin Karim and Md. Shazzad Hossain Shaon},
journal={Tissue and Cell},
year={2026}
}
π Plain-text citation
Akter, M. S., Sultan, M. F., Karim, T., & Shaon, M. S. H. (2026).
ReVGG-R2Net: Optimized recurrent framework for microscopic blood cell segmentation.
Tissue and Cell, 98, 103189.
https://doi.org/10.1016/j.tice.2025.103189
