Skip to content

SimonStnn/PaleoNet

Repository files navigation

🦖 PaleoNet: Dinosaur Species Classifier

Banner

Python Version TensorFlow License: MIT

🌟 Overview

PaleoNet is an advanced dinosaur species classification system built using deep learning. The application can identify 15 different dinosaur species from images with high accuracy, using a convolutional neural network (CNN) based on EfficientNetB0 architecture.

Explore prehistoric creatures through the power of artificial intelligence! 🔍

✨ Features

  • Image Classification - Upload your own dinosaur images for instant species identification
  • Interactive Gallery - Explore sample images from the test dataset
  • Species Encyclopedia - Learn fascinating facts about each dinosaur species
  • Model Insights - Visualize the model architecture and performance metrics
  • Tabbed Navigation - Switch easily between Home, Upload Image, and Sample Gallery sections

🖼️ Application Screenshots

Main Classification Page

Main Classification Page: Upload and classify dinosaur images

Dinosaur Encyclopedia

Dinosaur Encyclopedia: Learn about different dinosaur species

Model Information

Model Information: Visualize the model architecture and performance

🚀 Quick Start

Install requirements

pip install -r requirements.txt

Run the Streamlit app

streamlit run PaleoNet.py

Once started, the application will be available at http://localhost:8501

🦕 Supported Dinosaur Species

PaleoNet can classify the following 15 dinosaur species:

🦖 Ankylosaurus 🦕 Brachiosaurus 🦎 Compsognathus
🦖 Corythosaurus 🦖 Dilophosaurus 🦎 Dimorphodon
🦖 Gallimimus 🦎 Microceratus 🦖 Pachycephalosaurus
🦖 Parasaurolophus 🦖 Spinosaurus 🦕 Stegosaurus
🦕 Triceratops 🦖 Tyrannosaurus Rex 🦖 Velociraptor

📂 Project Structure

PaleoNet/
├── app/                    # Application code
│   ├── app.py              # Main Streamlit application
│   ├── utils.py            # Utility functions
│   └── pages/              # Additional app pages
│       ├── 01_Model_Info.py
│       └── 02_Dinosaur_Encyclopedia.py
├── assets/                 # Images and static assets
├── data/                   # Dataset directory
│   └── dinosaur_dataset_split/
│       ├── train/          # Training data (70%)
│       ├── val/            # Validation data (15%)
│       └── test/           # Test data (15%)
├── docs/                   # Documentation
├── model/                  # Saved model files
│   ├── dinosaur_classifier_transfer_learning.keras
│   ├── dinosaur_class_mapping.json
│   └── dinosaur_model_performance.json
├── notebooks/              # Jupyter notebooks
│   └── opdracht_CNN_stijnen_simon.ipynb  # Model training notebook
├── requirements.txt        # Project dependencies
├── README.md               # Main documentation
└── LICENSE                 # MIT License

📊 Model Architecture

PaleoNet uses a transfer learning approach based on EfficientNetB0:

  • Base Model: EfficientNetB0 pre-trained on ImageNet
  • Feature Extraction: Global Average Pooling to reduce spatial dimensions
  • Classification Head:
    • Dense layers (512 & 256 neurons) with ReLU activation
    • Batch Normalization for training stability
    • Dropout (0.4) for regularization
    • Output layer with 15 neurons and softmax activation
  • Training Enhancement: Data augmentation to improve generalization

The model achieves over 70% accuracy on the test set, with especially strong performance on distinctive species.

📝 Documentation

Visit the docs directory for detailed documentation:

💻 Streamlit Application

PaleoNet uses Streamlit to create an interactive web application for dinosaur image classification. The application includes:

  • Main Page: Upload your own images or try sample images for classification
  • Model Info Page: Visualize the model architecture and performance metrics
  • Dinosaur Encyclopedia: Learn fascinating facts about each dinosaur species

Key Application Features

  • Real-time classification with confidence scores
  • Top-3 prediction display
  • Interactive sample gallery with random test images
  • Performance metrics visualization
  • Detailed dinosaur information cards

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgements

About

Vives 2025 – AI Deep Learning – Classifying dinosaur kinds using deep learning

Topics

Resources

License

Stars

Watchers

Forks