This project focuses on binary classification of Martian terrain images to detect frost using deep learning models. A custom CNN + MLP model and transfer learning (EfficientNetB0, ResNet50, VGG16) were used for feature extraction and classification. Data augmentation, dropout, batch normalization, and L2 regularization were applied to improve model generalization.
- HiRISE Mars Terrain Images (Dataset Link)
- The dataset contains 119,920 image tiles extracted from 214 HiRISE subframes.
- Each image tile is labeled as either "frost" or "background".
- Provided splits for training, validation, and testing.
- TensorFlow/Keras - Building deep learning models.
- OpenCV - Image augmentation (cropping, zooming, rotating, flipping).
- Matplotlib & Seaborn - Data visualization.
- scikit-learn - Model evaluation metrics.
- Pandas & NumPy - Data processing and numerical computations.
- Resized images to 299x299 pixels.
- Applied image augmentation: random cropping, zooming, flipping, contrast adjustment, and translation.
- Normalized pixel values between 0 and 1.
- Built a 3-layer Convolutional Neural Network (CNN) followed by a Multi-Layer Perceptron (MLP).
- Used ReLU activation for all layers.
- Applied softmax function for binary classification.
- Regularization techniques used:
- Batch Normalization
- Dropout (30%)
- L2 Regularization
- ADAM optimizer and cross-entropy loss were used.
- Model trained for at least 20 epochs, with early stopping based on validation loss.
- Precision, Recall, and F1-score were reported.
- Utilized EfficientNetB0, ResNet50, and VGG16 for feature extraction.
- Froze all layers except the final fully connected layer.
- Extracted features from the penultimate layer and trained a classifier.
- Used ReLU activation, batch normalization, dropout (30%), and softmax activation.
- Trained for at least 10 epochs (preferably 20 epochs) with early stopping.
- Compared results with CNN + MLP model.
- Reported Precision, Recall, and F1-score for all models.
- Compared CNN + MLP vs. Transfer Learning performance.
- Plotted training and validation loss curves to analyze convergence.
-
CNN + MLP required more training data but performed well with augmentation.
-
Transfer Learning (EfficientNetB0, ResNet50, VGG16) achieved higher accuracy due to pre-trained feature extraction.
-
EfficientNetB0 provided best performance in terms of validation loss and classification accuracy.
This repository contains a Jupyter Notebook detailing each step, along with results and visualizations.