🔭 Upload an image of a planet or moon and let a Convolutional Neural Networkidentify the celestial body instantly using a Flask web app.
This project demonstrates how CNNs (Convolutional Neural Networks) can be used to learn visual features from astronomical images and perform multi-class classification.
The user uploads an image of a planet or moon, and the trained CNN model predicts the correct celestial body.
- 📤 Upload planet or moon images
- 🧠 CNN-based Deep Learning model
- ⚡ Fast and accurate predictions
- 🖥️ Flask-based web interface
- 🌌 Supports multiple celestial classes
- Earth
- Jupiter
- Mars
- Mercury
- Moon
- Neptune
- Pluto
- Saturn
- Uranus
- Venus
- Source: Kaggle – Planets and Moons Image Dataset
- Images organized into class-wise folders
- Dataset split into training and testing sets
- Model Type: Convolutional Neural Network (CNN)
- Framework: TensorFlow / Keras
- Language: Python
- Saved Model:
planets_and_moons_model.h5
- Python
- Flask
- TensorFlow / Keras
- NumPy
- OpenCV / PIL
- HTML / CSS
Planets_and_Moons/
│── static/
│ └── uploads/
│── templates/
│ └── index.html
│── app.py
│── Classification.ipynb
│── planets_and_moons_model.h5
│── requirements.txt
│── README.md
git clone https://github.com/Aryankhanf22/planet-classification.git
cd planets-and-moons-image-classificationpip install -r requirements.txtpython app.pyhttp://127.0.0.1:5000/
- The CNN achieves good accuracy on test images
- Performs well even on visually similar planets
- Generalizes effectively to unseen images
Contributions are welcome!
- Fork the repository
- Create a new branch
- Commit your changes
- Open a Pull Request

