Implementation of Hett et al., MICCAI, 2020 (see accepted paper here)
Please cite: Hett, Kilian, et al. "Patch-based abnormality maps for improved deep learning-based classification of Huntington's disease." International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Cham, 2020.
@inproceedings{hett2020patch,
title={Patch-based abnormality maps for improved deep learning-based classification of Huntington's disease},
author={Hett, Kilian and Giraud, R\'emi and Johnson, Hans and Paulsen, Jane S. and Long, Jeffrey D. and Oguz, Ipek and others},
booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
year={2020},
organization={Springer}
}
- PatchBasedAbnormality
- main function : process_pba.m
% [pbi,pbs] = process_pba(input, templates, options): Estimate
% abnormality map given a control subject population
%
% Arguments:
% - input
% input.mri : path of the mri understudy
% input.mask: mask of the region of interest
% input.age : age of the subject understudy at scan
% - templates
% templates.t1_path : list of path of the template mri
% templates.mask_path: list of path of the template mask
% templates.ages : Vector of ages of templates at scan
% - options
% OPAL parameters (default)
% options.rss = 8; Size of the search area
% options.ni = 5; Number of iter max
% options.np = 20; Number of patch extracted
% options.pr = 3; Patch size
% options.hasmutex = 1; Enable mutex
%
% Return:
% - pbi: abnormality map (patch distance in terms of intensity
% differences)
% - pbs: mean spatial distance map of patches extracted using OPAL
- DeepLearningClassification
- main scripts: train.py, test.py
# Learn model using training set
python train.py <data list>.csv <demographic list>.csv <img_path> <mdl_path> <cvp fold>
# Evaluate model using testing set
python test.py <data list>.csv <demographic list>.csv <img_path> <mdl_path> <cvp fold>
train.py and test.py used two kind of data list in csv format (using comma as a delimiter). The files must be organised as follow: <cvp fold>/<list name>.csv
- <data list>.csv
Subject ID | Visit ID | Img names |
---|
- <demographic list>.csv
Subject ID | Visit ID | Group Label | CAG length | Age at scan | Sex of subject | CAP at entry |
---|
Deep learning techniques have demonstrated state-of-the-art performances in many medical imaging applications. These methods can efficiently learn specific patterns. An alternative approach to deep learning is patch-based grading methods, which aim to detect local similarities and differences between groups of subjects. This latter approach usually requires less training data compared to deep learning techniques. In this work, we propose two major contributions: first, we combine patch-based and deep learning methods. Second, we propose to extend the patch-based grading method to a new patch-based abnormality metric. Our method enables us to detect localized structural abnormalities in a test image by comparison to a template library consisting of images from a variety of healthy controls. We evaluate our method by comparing classification performance using different sets of features and models. Our experiments show that our novel patch-based abnormality metric increases deep learning performance from 91.3% to 95.8% of accuracy compared to standard deep learning approaches based on the MRI intensity.
Fig. 1 Pipeline of the proposed method. First, HC from the dataset is separated into two subset, the HC templates used to estimate the local abnormality, the second is the set of HC for the evaluation of our method. Once all MRIs are preprocessed, we estimate the local abnormality using the HC template library. Finally, a convolutional neural network with softmax is used to obtain final classification.
Our method derives from the patch-based grading framework [1,2]. To address PBG's dependence on the two template libraries, we estimate the local differences from a single template library composed only of HC subjects (see Fig 2). The abnormality a(x) for each voxel x of the MRI under study, is defined as:
where σS(x) is standard deviation of intensities over the patch S(x), which normalizes the differences of signal intensity contained in each patch S(x). Kx is the set of closest patches provided by the PatchMatch algorithm [3]. This results in a low abnormality metric if the current patch is similar to age-matched control subjects, and in a high abnormality metric if the patch does not fit well within the distribution of age-matched control subjects.
Fig. 2 Illustration of patch-based abnormality maps for Top a healthy control subject and Bottom an HD patient with 40 CAG repeats. From left to right, 3 different time points are shown for each subject. The HD subject is in the pre-manifest stage for the first time points, but converts to clinical diagnosis by the third time point. Blue represents areas with a low abnormality score a(x), whereas Red represents areas with high abnormality score a(x). We note a progressive increase of abnormality near the basal ganglia during the course of the disease which is consistent with HD pathology, while the abnormality map for the HC subject remains stable.
In order to model the spatial disease signature and perform the subject-level classification, we used a convolutional neural network (CNN) approach. In recent years, many different architectures have been proposed in the pattern recognition field. Among them, deep residual neural network (ResNet) has shown competitive performances [4]. This architecture is characterized by skipped connections of different blocks of layers (see Fig 3). ResNet has demonstrated a reduced training error compared to other networks with similar depth. Indeed, the residual mapping enables to reduce the training error, which is generally correlated with the network depth for classic stacked architectures. In addition, to address the problem of GPU memory limitation, we used a 3D patch approach. Thus, both networks have as input 8 channels that represent non-overlapping patches from the input data (i.e., T1w MRI or PBA maps).
Fig. 3 Illustration of the convolutional neural network architecture used to validate our work. The architecture consist of a combination of convolutional layer (Conv), batch normalization (BN), Skipped connection layer (Side), pooling layer (Pool), and fully connected layer (FC). A softmax layer estimate the probability for each class.
[1] Coupé, Pierrick, et al. "Simultaneous segmentation and grading of anatomical structures for patient's classification: application to Alzheimer's disease." NeuroImage 59.4 (2012): 3736-3747.
[2] Hett, Kilian, et al. "Adaptive fusion of texture-based grading for Alzheimer's disease classification." Computerized Medical Imaging and Graphics 70 (2018): 8-16.
[3] Giraud, Rémi, et al. "An optimized patchmatch for multi-scale and multi-feature label fusion." NeuroImage 124 (2016): 770-782.
[4] He, Kaiming, et al. "Deep residual learning for image recognition." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.