This project focuses on applying deep learning techniques for image classification of natural scenes using the Intel Image Classification Dataset. It was developed as a practical case for the M9 module - Deep Learning Applied: NLP and Computer Vision of the Master in Artificial Intelligence at IMF Smart Education.
The Intel Image Classification Dataset consists of approximately 25,000 images of natural scenes around the world, categorized into six classes:
- Buildings
- Forest
- Glacier
- Mountain
- Sea
- Street
Each image is 150x150 pixels. The dataset is split into:
- Training: ~14,000 images
- Testing: ~3,000 images
- Prediction: ~7,000 images
Source: Originally published by Intel on Analytics Vidhya for an image classification challenge.
Below are placeholders for sample images from each category to give a visual representation of the dataset:
| Buildings | Forest | Glacier |
|---|---|---|
![]() |
![]() |
![]() |
| Mountain | Sea | Street |
|---|---|---|
![]() |
![]() |
![]() |
The main goal is to train deep neural networks (Convolutional Neural Networks - CNNs) to classify natural scenes with high accuracy, enhancing skills in computer vision and deep learning.
Several models were developed and compared:
- Base CNN: A simple convolutional neural network as a baseline.
- Advanced CNN: A deeper network with dropout and batch normalization for regularization.
- Hyperparameter Tuning: Using Keras Tuner to find optimal hyperparameters for a CNN.
- Transfer Learning + Fine Tuning: Utilizing a pre-trained model (MobileNetV2) for feature extraction followed by fine-tuning.
- Data Augmentation: Applying random transformations to increase dataset diversity and prevent overfitting.
- Environment: Python with TensorFlow for model development.
- Preprocessing: Images resized to 150x150, normalized, and split into training, validation, and test sets.
- Training: Models trained with various configurations, using callbacks like Early Stopping and learning rate reduction on plateau.
- Evaluation: Performance compared based on validation and test accuracy.
The project evaluates the performance of each model on the test set, visualizing the training progress and prediction accuracy on sample images.
image-classification.py: Main script containing all code for data processing, model creation, training, and evaluation.models/: Directory storing trained model files.history/: Directory with training history logs in JSON format.data/: Directory where dataset is stored after download and extraction.
- Install dependencies:
pip install -r requirements.txt - Follow the instruccions in the notebook.
Developed by Diego Cesar Lerma Torres for IMF Smart Education.
Thanks to Intel and Analytics Vidhya for providing this dataset for the community.
This project is part of the Master in Artificial Intelligence at IMF Smart Education.





