Home

Awesome

HarDNet-MSEG: A Simple Encoder-Decoder Polyp Segmentation Neural Network that Achieves over 0.9 Mean Dice and 86 FPS

Arxiv Paper : HarDNet-MSEG: A Simple Encoder-Decoder Polyp Segmentation Neural Network that Achieves over 0.9 Mean Dice and 86 FPS

ICCV 2019 Paper : HarDNet: A Low Memory Traffic Network

HarDNet Family

For Image Classification : HarDNet A Low Memory Traffic Network

For Object Detection : CenterNet-HarDNet 44.3 mAP / 45 fps on COCO Dataset

For Semantic Segmentation : FC-HarDNet 76.0 mIoU / 53 fps on Cityscapes Dataset

Main results

<p align="center"> <img src='lands.png' align="center" height="400px"> </p>

Performance on Kvasir-SEG Dataset

(Training/Testing split = 880/120 according to Real-Time Polyp Detection, Localisation and Segmentation in Colonoscopy Using Deep Learning) (FPS measures on 2080Ti)

ModelsmIoUmDiceF2-scorePrecisionRecallOverall Acc.FPS
U-Net0.4710.5970.5980.6720.6170.89411
ResUNet0.5720.6900.6990.7450.7250.91715
DoubleUNet0.7330.8130.8200.8610.8400.9497.5
DeepLabv3+[ResNet50]0.7760.8570.8550.8910.86160.96128
U-Net[ResNet34]0.8100.8760.8620.9440.8600.96835
HarDNet-MSEG0.8480.9040.9150.9070.9230.96986.7

Performance on Kvasir-SEG Dataset

(Training/Testing split = 1450 from 5 datasets /100 from Kvasir-SEG according to PraNet: Parallel Reverse Attention Network for Polyp Segmentation) (FPS measures on 2080Ti)

ModelsmDicemIoUwfmSmMAEmaxEmFPS
U-Net0.8180.7460.7940.8580.0550.89311
U-Net++0.8210.7430.8080.8620.0480.91025
SFA0.7230.6110.670.7820.0750.84940
PraNet0.8980.8400.8850.9150.0300.94866
HarDNet-MSEG0.9120.8570.9030.9230.0250.95888

Sample Inference Results of Kvasir-SEG Dataset comparing with PraNet

<p align="center"> <img src='inf.png' align="center" height="600px"> </p>

HarDNet-MSEG Architecture

<p align="center"> <img src='mseg.png' align="center" height="400px"> </p> <p align="center"> <img src='blk.png' align="center" height="100px"> </p>
    + k = growth rate (as in DenseNet)
    + m = channel weighting factor (1.6~1.7)
    + Conv3x3 for all layers (no bottleneck layer)
    + No global dense connection (input of a HarDBlk is NOT reused as a part of output)
    + Using RFB Block for increasing the receptive field and strengthening the features.
    + Dense aggregation for fusing the features.

Installation & Usage

1. Training/Testing

Evaluation :

  1. Change the image_root, gt_root in line 49, 50 in eval_Kvasir.py
  2. Run the eval_Kvasir.py to get a similar result (about +0.002) to our report for Kvasir Dataset.

Another one is written in MATLAB code (link). You can see how to run it in https://github.com/DengPingFan/PraNet#32-evaluating-your-trained-model- And our report is using this code to evaluate.

3. Acknowledgement

Citation

If you find this project useful for your research, please use the following BibTeX entry.

  @misc{huang2021hardnetmseg,
  title={HarDNet-MSEG: A Simple Encoder-Decoder Polyp Segmentation Neural Network that Achieves over 0.9 Mean Dice and 86 FPS}, 
  author={Chien-Hsiang Huang and Hung-Yu Wu and Youn-Long Lin},
  year={2021},
  eprint={2101.07172},
  archivePrefix={arXiv},
  primaryClass={cs.CV}
  } 
  
  @inproceedings{chao2019hardnet,
  title={Hardnet: A low memory traffic network},
  author={Chao, Ping and Kao, Chao-Yang and Ruan, Yu-Shan and Huang, Chien-Hsiang and Lin, Youn-Long},
  booktitle={Proceedings of the IEEE International Conference on Computer Vision},
  pages={3552--3561},
  year={2019}
  }