Image classification is an interesting challenge that requires many images for training. Here we propose to explore 4 different machine learning classification approaches (from random forest to ResNet) on an image set created from the IXI data set using famous python packages: scikit-learn and Keras/TensorFlow.
This example is split into 3 parts. The first notebook is about reading and preparing image sets and then training and assessing the 4 machine learning classification approaches.
![](https://www.creatis.insa-lyon.fr/~grenier/wp-content/uploads/architecture_cnn_en-1024x393.png)
The second notebook is on interpretability. It allows us to understand better how CNN network works and why the results are so good on the used images.
![](https://www.creatis.insa-lyon.fr/~grenier/wp-content/uploads/GradCam.png)
The last notebook illustrates the auto differentiation and the gradient descent optimization algorithm.
The following archive contains all necessary materials: TP1_Classification.zip
This project is GitLab versioned here.