1 of 17

CheXpert

Andrew Koh, Alan Tan, Tang Zhe Jun

Group 17

1

2 of 17

Outline

  • Project Description
  • Data acquisition
  • Data exploration
  • Pre-processing
  • Proposed deep learning solutions
  • Results
  • Conclusion

2

3 of 17

CheXpert

Task

Automatic multi-label classification of chest x-ray images into any of the 5 pathologies (atelectasis, cardiomegaly, consolidation, edema, pleural effusion)

Dataset

223414 train, 234 validation images

Meta-data csv file containing image paths and multi-label binary encoding of pathologies

Atelectasis

Cardiomegaly

Consolidation

Edema, Pleural Effusion

Pleural Effusion, Consolidation, Edema

3

4 of 17

4

Data Insights

More frontal over lateral images

Imbalanced dataset

~40% images contain 2 or more labels

Mean and median age is in range of 63

Males are more likely to be contracted!

Raw images needs equalization

5 of 17

5

Important Contour Landmarks

#1 - Aortic arch

#2 - Cardiodiaphragmatic angles

#3 - Costophrenic angles

#4 - Hila and other vascular structures

#5 - Rib cage contour

Helpful to isolate image to only the lung field region

Prevent model from learning spurious signals from other parts of the images such as exposure and texts

[Dai W., 2017]1

Simple algorithm to trim images:

# trim top of image

top = 0, topMean = np.mean(image[top, :])

while topMean < 60:

top += 1

topMean = np.mean(image[top, :])

# do the same for bottom, left and right...

return image[top:bottom, left:right]

Good crop

Bad crop

10

15

5

25

10

Mean = (10+15+5+25+10)/5 = 13

Threshold = 60

don’t want

~40% of images were badly cropped!

(black borders, off center, etc…)

6 of 17

6

Mean image over 10 bad images�(bad images = off center or contains black borders)

7 of 17

7

=

+

+

+

+

+

8 of 17

8

Batch Size: 16

Epochs: 20

Learning rate=0.001

Input Image size = 320

Optimizer = ADAM

Loss = BCEwithLogitsLoss()

9 of 17

Ground truth Labels

Currently:�Impute all unmentioned values to 0

Impute all uncertain values to 1

10 of 17

10

11 of 17

Training Process, Further Explorations & Results

  • Parallel training on multiple GPUs
  • Used Tensorboard to monitor training progress

Models Used:

  • ResNet 18
  • ResNet 152
  • DenseNet 121
  • DenseNet 201
  • SqueezeNet
  • ATP DenseNet 121 *
  • Ensemble Stacking *
  • Distilled Model - SqueezeNet *

11

12 of 17

Further Exploration

Ensemble

  • Combine outputs of top 3 best performing model to form a new model
  • Top 3 Models:
    • ATP DenseNet 121
    • ResNet 18
    • DenseNet 121
  • Results
    • Ensembled model performs worse than ATP DenseNet 121

12

13 of 17

Further Exploration - Knowledge Distillation

  • Knowledge Distillation
    • Approximate complex models with simpler models
    • Allow simpler model to learn from complex model directly
      • Initially prepared for ensembled network
      • ATP DenseNet121 → SqueezeNet
  • Training Phase:
    • Match simpler model logits to complex model logits and output
    • Loss = ⍺․MSELoss(Szero mean,Tzero mean) + (1 - ⍺).BCEWithLogitLoss(S, L)
    • Set ⍺ = 0.75 after hyperparameter search

13

14 of 17

Overall Results

14

  • Unable to do a direct comparison with baseline model ∵ Baseline uses high res images
  • But when baseline model (DenseNet121) is trained on low res images, ours perform better
  • Using KD, performance of squeezenet improves significantly
  • Conclusion
    • (Our) ATP DenseNet121 performs better as a whole
    • (Our) Distilled SqueezeNet performance matches ResNet152 at only 1.25% size

15 of 17

Summary and main contributions

  • Frame crop to preprocess and remove noise from the images
  • New architecture: ATP DenseNet121 that improves performance on downsampled images only with a small computational and memory cost (<1MB).
  • Knowledge Distillation: Distilled SqueezeNet from ATP DenseNet 121 performance matches ResNet152 at only 1.25% size

Full code repository can be found at:�https://github.com/alanwuha/ce7454-grp17

16 of 17

End

17 of 17

References

[1] Wei Dai, Nanqing Dong, Zeya Wang, Xiaodan Liang, Hao Zhang, and Eric P Xing. Scan: Structure correcting adversarial network for organ segmentation in chest x-rays. In Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support, pages 263–273. Springer, 2018.

[2] Hinton, G., Vinyals, O. and Dean, J. (2019). Distilling the Knowledge in a Neural Network. [online] arXiv.org. Available at: http://arxiv.org/abs/1503.02531 [Accessed 13 Nov. 2019].