Three-dimensional pulmonary nodule detection network based on RPN(RegionProposal Network)and VAT.
SimpleITK() numpy(1.14.3) matplotlib(2.2.2) scikit-image(0.13.1) scipy(1.1.0) pytorch(0.4.0)
Training
- Install all dependencies
- Prepare stage1 data, LUNA data, and LUNA segment results link here, unzip them to separate folders
- Go to ./training and open config_training.py
- Filling in stage1_data_path, luna_raw, luna_segment with the path mentioned above
- Filling in luna_data, preprocess_result_path, with tmp folders
- bash run_training.sh and wait for the finishing of training (it may take several days)
- unzip the stage 2 data
- go to root folder
- open config_submit.py, filling in datapath with the stage 2 data path
- python main.py
- get the results from prediction.csv
the Lung Nodule Analysis 2016 dataset (abbreviated as LUNA)are used to train the model.The LUNA dataset includes 1186 nodule labels in 888 patients annotated by radiologists
- Mask extraction
- Convex hull and dilation
- Intensity normalization
- Patch-based input for training
- Network structure---the detector network consists of a U-Net backbone and an RPN output layer
- Positive sample balancing
- Hard negative mining
- Image splitting during testing