EllipseNet Descriptions
Paper: Chen, J., Zhang, Y., Wang, J., Zhou, X., He, Y. and Zhang, T., 2021, September. EllipseNet: Anchor-Free Ellipse Detection for Automatic Cardiac Biometrics in Fetal Echocardiography. In International Conference on Medical Image Computing and Computer-Assisted Intervention (pp. 218-227). Springer, Cham.
EllipseFit-MindSpore Descriptions
Please be noted that this is not a MindSpore version of EllipseNet, but using a 2D Unet to train a segmentation network and then using ellipses to fit the segmentation results. The details of this method can be found in ref[6] as compared in our paper. The PyTorch version of this algorithm can be found in https://git.openi.org.cn/OpenMedIA/EllipseNet
Content
Model Architecture
The EllipseNet segementation network takes n 2D volumetric images as input, applies input and feature transformations. BN is introdued before each ReLU.
Dataset
Fetal Four Chamber View Ultrasound Scans
- Train: 225M, 1669 images with corresponding annotations.
- Test: 58M, 417 images with corresponding annotations.
Environment Requirements
- Hardware(Ascend)
- Prepare hardware environment with Ascend processor.
- Framework
- For more information, please check the resources below:
Quick Start
After installing MindSpore via the official website, you can start training and evaluation as follows:
# enter script dir, train PointNet
sh run_train_ascend.sh
# enter script dir, evaluate PointNet
sh run_eval.sh
Script Description
.
├── README.md
├── ellipsenet.ckpt
├── eval.py
├── eval_log.txt
├── requirements.txt
├── scripts
│ ├── run_eval.sh
│ ├── run_train_ascend.sh
│ └── scripts
│ ├── run_eval.sh
│ └── run_train_ascend.sh
├── src
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── cross_entropy_with_logits.cpython-37.pyc
│ │ ├── dataset.cpython-37.pyc
│ │ ├── dice_loss.cpython-37.pyc
│ │ └── dice_metric.cpython-37.pyc
│ ├── config.py
│ ├── convert_nifti.py
│ ├── cross_entropy_with_logits.py
│ ├── dataset.py
│ ├── dice_loss.py
│ ├── dice_metric.py
│ ├── loss.py
│ ├── lr_schedule.py
│ ├── transform.py
│ └── utils.py
├── suwen-1.0.1-py3-none-any.whl
├── train.py
└── train_log.txt
4 directories, 27 files
Script Parameters
Major parameters in train.py are as follows:
--data_path: The absolute full path to the train and evaluation datasets.
--ckpt_path: The absolute full path to the checkpoint file saved after training.
More hyperparamteters can be modified in src/config.py.
Training Process
-
running on Ascend
sh run_train_ascend.sh
After training, the loss value will be achieved as what in train_log.txt
The model checkpoint will be saved in the current ckpt directory.
Evaluation Process
Evaluation
Before running the command below, please check the checkpoint path used for evaluation.
Model Description
Performance
Training Performance
Parameters |
|
Resource |
Ascend 910; CPU 2.60GHz, 24cores; Memory, 96G |
uploaded Date |
11/29/2021 (month/day/year) |
MindSpore Version |
1.3.0 |
Dataset |
Fetal Four Chamber View |
Training Parameters |
epoch=100 |
Optimizer |
Adam |
Loss Function |
Softmax Cross Entropy |
outputs |
probability |
Loss |
Dice Loss |
Checkpoint for Fine tuning |
23M (ckpt file) |
Inference Performance
Parameters |
|
Resource |
Ascend 910; CPU 2.60GHz, 24cores; Memory, 96G |
uploaded Date |
11/29/2021 (month/day/year) |
MindSpore Version |
1.3.0 |
Dataset |
Fetal Four Chamber View |
batch_size |
1 |
outputs |
probability |
Dice |
91.72% |
Citation
If you find this project useful for your research, please cit our work use the following BibTeX entry.
@inproceedings{chen2021ellipsenet,
title={Ellipsenet: Anchor-free ellipse detection for automatic cardiac biometrics in fetal echocardiography},
author={Chen, Jiancong and Zhang, Yingying and Wang, Jingyi and Zhou, Xiaoxue and He, Yihua and Zhang, Tong},
booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
pages={218--227},
year={2021},
organization={Springer}
}
Contact
If you have any questions about this paper, welcome to email to zhangt02@pcl.ac.cn