All Projects → L0SG → grouped-ssd-pytorch

L0SG / grouped-ssd-pytorch

Licence: MIT license
PyTorch implementation of Grouped SSD (GSSD) and GSSD++ for focal liver lesion detection from multi-phase CT images (MICCAI 2018, IEEE TETCI 2021)

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to grouped-ssd-pytorch

Ssd keras
A Keras port of Single Shot MultiBox Detector
Stars: ✭ 1,763 (+4797.22%)
Mutual labels:  ssd, single-shot-multibox-detector
hand detection
A Light CNN based Method for Hand Detection and Orientation Estimation
Stars: ✭ 116 (+222.22%)
Mutual labels:  ssd, single-shot-multibox-detector
SSD Keras
Single Shot MultiBox Detector(SSD)目标检测算法
Stars: ✭ 44 (+22.22%)
Mutual labels:  ssd, single-shot-multibox-detector
A Pytorch Tutorial To Object Detection
SSD: Single Shot MultiBox Detector | a PyTorch Tutorial to Object Detection
Stars: ✭ 2,398 (+6561.11%)
Mutual labels:  ssd, single-shot-multibox-detector
detection-pytorch
A pytorch Implementation of classical object detection.
Stars: ✭ 24 (-33.33%)
Mutual labels:  ssd
MobileNetV3-SSD-Compact-Version
MobileNetV3 SSD的简洁版本
Stars: ✭ 65 (+80.56%)
Mutual labels:  ssd
AI-Projects
AI项目(强化学习、深度学习、计算机视觉、推荐系统、自然语言处理、机器导航、医学影像处理)
Stars: ✭ 39 (+8.33%)
Mutual labels:  medical-images
Mmdetection
OpenMMLab Detection Toolbox and Benchmark
Stars: ✭ 17,646 (+48916.67%)
Mutual labels:  ssd
deid
best effort anonymization for medical images using python
Stars: ✭ 108 (+200%)
Mutual labels:  medical-images
MobileNet-SSD-windows
No description or website provided.
Stars: ✭ 91 (+152.78%)
Mutual labels:  ssd
PFPNet-tensorflow
Parallel Feature Pyramid Network for Object Detection in tensorflow
Stars: ✭ 26 (-27.78%)
Mutual labels:  ssd
ToolBin
All the great tools we have for the field.
Stars: ✭ 91 (+152.78%)
Mutual labels:  ssd
tensorrt-ssd-easy
No description or website provided.
Stars: ✭ 32 (-11.11%)
Mutual labels:  ssd
cxr8
No description or website provided.
Stars: ✭ 36 (+0%)
Mutual labels:  medical-images
MCF-3D-CNN
Temporal-spatial Feature Learning of DCE-MR Images via 3DCNN
Stars: ✭ 43 (+19.44%)
Mutual labels:  medical-images
Ssd Variants
PyTorch implementation of several SSD based object detection algorithms.
Stars: ✭ 233 (+547.22%)
Mutual labels:  ssd
Object-Detection-Knowledge-Distillation
An Object Detection Knowledge Distillation framework powered by pytorch, now having SSD and yolov5.
Stars: ✭ 189 (+425%)
Mutual labels:  ssd
pynvme
builds your own tests.
Stars: ✭ 139 (+286.11%)
Mutual labels:  ssd
TensorFlow2.0 SSD
A tensorflow_2.0 implementation of SSD (Single Shot MultiBox Detector) .
Stars: ✭ 83 (+130.56%)
Mutual labels:  ssd
car-detection-model-prediction
No description or website provided.
Stars: ✭ 18 (-50%)
Mutual labels:  ssd

Grouped SSD (GSSD) and GSSD++ for focal liver lesion detection from multi-phase CT images

This repository is an official PyTorch implementation of the papers:

Sang-gil Lee, Jae Seok Bae, Hyunjae Kim, Jung Hoon Kim, Sungroh Yoon. "Liver Lesion Detection from Weakly-labeled Multi-phase CT Volumes with a Grouped Single Shot MultiBox Detector." MICCAI (2018). [arxiv]

Sang-gil Lee, Eunji Kim, Jae Seok Bae, Jung Hoon Kim, Sungroh Yoon. "Robust End-to-End Focal Liver Lesion Detection using Unregistered Multiphase Computed Tomography Images." IEEE TETCI (2021). [arxiv]

Overview

This project provides an application of high-speed single-stage object detection models (e.g., SSD) to a computer-aided diagnosis (CAD) of focal liver lesions.

The use of single-stage detection model enables real-time plug-in support to the CAD toolkit in an interactive manner. With the design principles inspired by the real-world clinical practice of CAD performed by radiologists, this project helps radiologists to focus on the machine-predicted region of interest and can reduce human error to the small and hard-to-see lesions.

GSSD and GSSD++ present custom-designed neural submodules (grouped convolutions, 1x1 channel fusion, and an attention-guided multiphase alignment of the unregistered CT images) to maximize performance designed for the medical object detection from the multi-phase CT images.

Data

This repo uses multi-phase CT dataset collected from a university hospital, which is unfortunately outside of my authority to release it to the public.

During the custom data preparation, we followed the data structure of the liver segmentation label nearly identical to 3Dircadb (http://www.ircad.fr/research/3dircadb/).

The input data of the lesion detection and the corresponding label look like the figures from our MICCAI 2018 paper.

Model and Training

ssd_liverdet/models/ssd_multiphase_custom_group.py: Implementation of our main model, GSSD++.

Based on the popular single-stage objection detection model, SSD, it applies a phase-wise grouped convolution followed by the 1x1 channel fusion module. The model also predicts spatial offsets of the registration mismatch in feature space, guided by visual cues from the phase-wise self-attention.

ssd_liverdet/pixel_link/model.py: Our implementation of the neural submodules applied to PixelLink, an alternative backbone CNN architecture which showed improved lesion detection performance from the previous work.

ssd_liverdet/train_lesion_multiphase_v2.py: GSSD or GSSD++ training for liver lesion detection. Assumes 4-phase 512x512 slices of dicom CT image and their corresponding bounding box annotations.

ssd_liverdet/train_lesion_multiphase_v2_pixellink.py: PixelLink++ training for liver lesion detection. Assumes 4-phase 512x512 slices of dicom CT image and their corresponding bounding box annotations.

We used the following command that includes hyperparameters used in GSSD and GSSD++.

# The following command trains GSSD, a multi-phase focal lesion detection model used in the MICCAI 2018 paper.
python train_lesion_multiphase_v2.py \
--datapath (path_to_dataset) \
--output (path_to_checkpoint_and_log) \
--load_data_to_ram False \
--ssd_type gssd \
--use_normalize True \
--use_self_attention False --use_self_attention_base False \
--num_dcn_layers 0 --dcn_cat_sab False \
--batch_size 32 \
--max_iter 60000 --stepvalues 30000 50000 --gamma 0.1 --lr 0.001 \
--gt_pixel_jitter 0.0 --num_workers 2 --speedrun 4999 \
--ohnm_neg_ratio 3 \
--cross_validation 1 \
--use_07_metric False --confidence_threshold 0.2 \
--ap_list "0.3,0.5,0.7" --iobb_list "0.3,0.5,0.7" \
--model_name GSSD
# The following command trains GSSD++, an improved GSSD used in the IEEE TETCI 2021 paper.
python train_lesion_multiphase_v2.py \
--datapath (path_to_dataset) \
--output (path_to_checkpoint_and_log) \
--load_data_to_ram False \
--ssd_type gssd \
--use_normalize True \
--use_self_attention True --use_self_attention_base True \
--groups_dcn 4 --num_dcn_layers 1 --dcn_cat_sab True \
--modify_dcn_lr True \
--batch_size 32 \
--max_iter 60000 --stepvalues 30000 50000 --gamma 0.1 --lr 0.001 \
--gt_pixel_jitter 0.0 --num_workers 2 --speedrun 4999 \
--ohnm_neg_ratio 3 \
--cross_validation 1 \
--use_07_metric False --confidence_threshold 0.2 \
--ap_list "0.3,0.5,0.7" --iobb_list "0.3,0.5,0.7" \
--model_name GSSD_plusplus

Performance

GSSD++ and PixelLink++ exhibit state-of-the-art detection results measured by IoU and IoBB under various overlap thresholds. Our models also provide robustness to registration mismatch of the multi-phase data using the attention-guided multi-phase alignment module.

Visualization

The following figures visualize the detection output and the attention map from GSSD++.

Reference

The original SSD implementation is hard-forked from here.

PixelLink implementation is hard-forked from here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].