14 End-to-end nodule analysis, and where to go next

 

This chapter covers

  • Connecting segmentation and classification models
  • Fine-tuning a network for a new task
  • Adding histograms and other metric types to TensorBoard
  • Getting from overfitting to generalizing

Over the past several chapters, we have built a decent number of systems that are important components of our project. We started loading our data, built and improved classifiers for nodule candidates, trained segmentation models to find those candidates, handled the support infrastructure needed to train and evaluate those models, and started saving the results of our training to disk. Now it’s time to unify the components we have into a cohesive whole, so that we may realize the full goal of our project: it’s time to automatically detect cancer.

14.1 Towards the finish line

We can get a hint of the work remaining by looking at figure 14.1. In step 3 (grouping) we see that we still need to build the bridge between the segmentation model from chapter 13 and the classifier from chapter 12 that will tell us whether what the segmentation network found is, indeed, a nodule. On the right is step 5 (nodule analysis and diagnosis), the last step to the overall goal: seeing whether a nodule is cancer. This is another classification task; but to learn something in the process, we’ll take a fresh angle at how to approach it by building on the nodule classifier we already have.

14.2 Independence of the validation set

14.3 Bridging CT segmentation and nodule candidate classification

14.3.1 Segmentation

14.3.2 Grouping voxels into nodule candidates

14.3.3 Did we find a nodule? Classification to reduce false positives

14.4 Quantitative validation

14.5 Predicting malignancy

14.5.1 Getting malignancy information

14.5.2 An area under the curve baseline: Classifying by diameter

14.5.3 Reusing preexisting weights: Fine-tuning

14.5.4 More output in TensorBoard

14.6 What we see when we diagnose

14.8 Conclusion