LungDectection
We use CenterNet as backbone to deteck Lung disease. CenterNet is a novel practical anchor-free method for object detection, 3D detection, and pose estimation, which detect identifies objects as axis-aligned boxes in an image. The detector uses keypoint estimation to find center points and regresses to all other object properties, such as size, 3D location, orientation, and even pose. In nature, it's a one-stage method to simultaneously predict center location and bboxes with real-time speed and higher accuracy than corresponding bounding box based detectors.
Paper Setio AA, Traverso A, De Bel T, Berens MS, Van Den Bogaard C, Cerello P, Chen H, Dou Q, Fantacci ME, Geurts B, van der Gugten R. Validation, comparison, and combination of algorithms for automatic detection of pulmonary nodules in computed tomography images: the LUNA16 challenge. Medical image analysis. 2017 Dec 1;42:1-3.
The stacked Hourglass Network downsamples the input by 4×,followed by two sequential hourglass modules.Each hourglass module is a symmetric 5-layer down-and up-convolutional network with skip connections .This network is quite large ,but generally yields the best keypoint estimation performance.
Note that you can run the scripts based on the dataset mentioned in original paper or widely used in relevant domain/network architecture. In the following sections, we will introduce how to run the scripts using the related dataset below.
Dataset used: LUNA16
PATH in shell may need to update according to your dataset location.
```shell
# create dataset in mindrecord format
bash scripts/convert_dataset_to_mindrecord.sh
# standalone training on Ascend
bash scripts/run_standalone_train_ascend.sh
# eval on Ascend
bash scripts/run_standalone_eval_ascend.sh
```
Result
Inference
#eval_txt.log
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.513
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.938
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.507
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.508
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.593
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = -1.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.586
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.602
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.602
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.599
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.631
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = -1.000
Training Performance
CenterNet on 11.8K images(The annotation and data format must be the same as coco)
Parameters |
CenterNet_Hourglass |
Resource |
Ascend 910; CPU 2.60GHz, 192cores; Memory, 755G |
uploaded Date |
3/27/2021 (month/day/year) |
MindSpore Version |
1.3.0 |
Dataset |
LungDetection |
Training Parameters |
8p, epoch=130, steps=158730, batch_size = 12, lr=2.4e-4 |
Optimizer |
Adam |
Loss Function |
Focal Loss, L1 Loss, RegLoss |
outputs |
detections |
Checkpoint |
2.1G (.ckpt file) |
Inference Performance On Ascend 910
CenterNet on validation(5K images) and test-dev(40K images)
Parameters |
CenterNet_Hourglass |
Resource |
Ascend 910; CPU 2.60GHz, 192cores; Memory, 755G |
uploaded Date |
11/27/2021 (month/day/year) |
MindSpore Version |
1.1.0 |
Dataset |
LungDetection |
batch_size |
1 |
outputs |
mAP |
Accuracy(validation) |
MAP: 41.5%, AP50: 60.4%, AP75: 44.7%, Medium: 45.7%, Large: 53.6% |
Inference Performance On Ascend 310
CenterNet on validation(5K images)
Parameters |
CenterNet_Hourglass |
Resource |
Ascend 310; CentOS 3.10 |
uploaded Date |
11/31/2021 (month/day/year) |
MindSpore Version |
1.3.0 |
Dataset |
LungDetection |
batch_size |
1 |
outputs |
mAP |
Accuracy(validation) |
MAP: 51.3% |