Skip to content

gelo-dev-e/mars-terrain-classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mars Terrain Classifier

A deep learning model that classifies Martian terrain features from orbital images (HiRISE dataset). Achieves 97% validation accuracy across 7 geological categories.

Categories

  • Crater – Impact craters with visible rims
  • Bright Dune – Light-colored sand dunes
  • Dark Dune – Dark-colored sand dunes
  • Impact Ejecta – Material ejected from meteor impacts
  • Slope Streak – Dust avalanches on slopes
  • Spider – Radial troughs from CO₂ sublimation (polar terrain)
  • Swiss Cheese – Pits from CO₂ ice sublimation (polar terrain)

⚠️ Note: The model currently struggles with soil/regolith (simple dirt/ground) because the HiRISE dataset doesn't have a dedicated "soil" category. Most images feature distinct geological features (craters, dunes, streaks) rather than plain ground. For pure soil classification, consider using the AI4Mars rover dataset instead.

Model Architecture

  • Backbone: ResNet50 pretrained on ImageNet
  • Fine-tuning: Layer4 + custom classifier head
  • Regularization: Dropout (0.4, 0.3)
  • Input size: 224×224 pixels

Performance

Metric Value
Training Accuracy 96.41%
Validation Accuracy 97.00%
Training Loss 0.1261
Validation Loss 0.0968
Epochs 20

Dataset

  • Source: HiRISE (High Resolution Imaging Science Experiment) orbiter
  • Total images: ~[X] across 7 categories
  • Split: 80% train / 20% validation
  • Excluded: other category (mixed/unlabeled)

Model Download

The trained model file (best_model.pth) is not included in this repository because it exceeds GitHub's file size limit (216 MB).

Option 1: Train your own model (recommended)

python train.py

Option 2: Download the pre-trained model

You can download the pre-trained model from:

Google Drive: https://drive.google.com/file/d/1xxKaOesemUitkDFJEnhK0XSH7EUvWrSP/view?usp=sharing After downloading, place the file in the model/ folder: model/ └── best_model.pth

Releases

Packages

Contributors

Languages