nnDetection is a self-configuring framework for 3D medical object detection, designed to automate the challenging process of method configuration for new datasets without manual intervention. It targets researchers and practitioners in medical imaging who need to perform object detection tasks, offering state-of-the-art performance with minimal setup.
How It Works
nnDetection automates the entire pipeline from data preprocessing to model training and inference. It leverages a self-configuring approach, similar to nnU-Net for segmentation, to adapt to arbitrary medical detection problems. The framework uses Hydra for dynamic configuration, allowing users to easily switch between different augmentation, dataloader, planner, and core model modules via configuration files.
Quick Start & Requirements
- Installation: Docker is the recommended method. Local installation requires Python 3.8+, PyTorch 1.11.0, torchvision 0.12.0, and CUDA 11.3.
- Prerequisites: CUDA toolkit (>=10.1), cuDNN (>=8.1.X recommended), and sufficient GPU VRAM (>=11GB recommended, e.g., RTX2080TI). Linux is the primary supported OS.
- Setup: Docker build command provided. Local setup involves conda environment creation, cloning the repo, setting environment variables (
det_data
, det_models
, OMP_NUM_THREADS=1
), and installing dependencies.
- Resources: Training requires significant GPU VRAM and compute. Preprocessing may require ~64GB RAM.
- Docs: nnDetection v0.1 Results
Highlighted Details
- Self-configuring pipeline for 3D medical object detection.
- Automated adaptation to new datasets without manual intervention.
- Supports 12 datasets with provided guides and pre-trained models.
- Leverages Hydra for flexible configuration and module registry.
Maintenance & Community
- Project originated from MIC-DKFZ.
- Codebase is based on nnU-Net and Medical Detection Toolkit.
Licensing & Compatibility
- License: Not explicitly stated in the README, but derived from acknowledgements of nnU-Net and other projects which typically use permissive licenses. Compatibility for commercial use is not specified.
Limitations & Caveats
- 2D datasets and Mask R-CNN are not supported in the initial release.
- Bounding box annotations need conversion to segmentations for training.
- Multi-GPU training is not officially supported.
- Pre-built wheels are not yet available.