Image Classification with CNN¶
1. Direct prediction¶
- Download the dataset birds from http://www-cvr.ai.uiuc.edu/ponce_grp/data/.
- Use Keras and a CNN from Keras Applications pretrained on ImageNet, to classify the images in the birds dataset. Construct a confusion matrix that relates the bird classes with the 10 most frequent classes from ImageNet predicted by the model.
- Discuss the results.
2. Transfer learning¶
- Use the pre-trained CNN model as a feature extractor. Create a new model that replaces the top part of the pretrained CNN with two layers of 256 and 6 neurons respectively.
- Train the model with the training images from the bird dataset.
- Evaluate the performance over the test dataset reporting the results in a confusion matrix. Discuss the results.
3. Fine tuning¶
- Repeat the experiment from the last question, but this time allow all the layers to be trained.
- Compare and discuss the results.