File size: 10,444 Bytes
02b9d61 b14ea5b 02b9d61 6146209 08a82d2 84c809a 08a82d2 84c809a a246777 84c809a 08a82d2 84c809a 08a82d2 84c809a a246777 84c809a a246777 84c809a a246777 84c809a a246777 84c809a a246777 84c809a 6146209 84c809a a246777 84c809a 6146209 a246777 84c809a a246777 84c809a a246777 84c809a 6146209 84c809a 02b9d61 84c809a 02b9d61 84c809a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | ---
title: Satellite Classification Dashboard
emoji: π°οΈ
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 5.38.0
app_file: app.py
pinned: false
license: mit
---
# π°οΈ Satellite Classification Dashboard
[](https://huggingface.co/spaces/Bhavi23/ModelApp)
[](https://www.python.org/downloads/)
[](https://tensorflow.org/)
[](https://gradio.app/)
A powerful web application for classifying satellite images using state-of-the-art deep learning models. Upload satellite images and get instant predictions with confidence scores and detailed visualizations.
## π Live Demo
**[π Try the App Live on Hugging Face Spaces](https://huggingface.co/spaces/Bhavi23/ModelApp)**
## πΈ Screenshots
*Upload your satellite images and get instant AI-powered classifications!*
## β¨ Features
### π― **Multi-Model Classification**
- **4 Pre-trained Models** optimized for satellite imagery
- **Comparative Analysis** - Run multiple models simultaneously
- **Performance Metrics** - Accuracy, speed, and confidence scores
### πΌοΈ **Easy Image Upload**
- Support for **PNG, JPG, JPEG** formats
- **Drag & Drop** interface
- **Real-time Processing**
### π **Rich Visualizations**
- **Confidence Comparison** across models
- **Probability Distribution** for top predictions
- **Interactive Plots** with Plotly
### π **Smart Recommendations**
- **AI-powered model selection** based on confidence and performance
- **Detailed comparison tables**
- **Best model highlighting**
## π°οΈ Supported Satellite Classes
The model can classify images into **11 different satellite categories**:
| Class | Description | Examples |
|-------|-------------|----------|
| **AcrimSat** | Solar irradiance monitoring | Climate research satellites |
| **Aquarius** | Ocean salinity measurement | Marine science missions |
| **Aura** | Atmospheric chemistry | Ozone layer monitoring |
| **Calipso** | Cloud and aerosol profiling | Weather prediction |
| **Cloudsat** | Cloud structure analysis | Meteorological studies |
| **CubeSat** | Small form-factor satellites | Educational, research missions |
| **Debris** | Space debris objects | Space situational awareness |
| **Jason** | Ocean altimetry | Sea level monitoring |
| **Sentinel-6** | Ocean topography | Climate change research |
| **TRMM** | Tropical rainfall measurement | Weather forecasting |
| **Terra** | Earth observation | Land surface monitoring |
## π€ Available Models
### Model Performance Comparison
| Model | Accuracy | Inference Speed | Model Size | Best Use Case |
|-------|----------|----------------|------------|---------------|
| **Custom CNN** | 95.2% | 45ms | 25.3MB | Specialized satellite detection |
| **MobileNetV2** | 92.8% | 18ms β‘ | 8.7MB | Quick predictions, mobile deployment |
| **EfficientNetB0** | 96.4% π | 35ms | 20.1MB | **Best overall performance** |
| **DenseNet121** | 94.7% | 52ms | 32.8MB | Complex pattern recognition |
### Model Details
#### π― **EfficientNetB0** (Recommended)
- **Highest Accuracy**: 96.4%
- **Balanced Performance**: Great speed-accuracy tradeoff
- **Best for**: General-purpose satellite classification
#### β‘ **MobileNetV2** (Fastest)
- **Ultra-Fast**: 18ms inference time
- **Lightweight**: Only 8.7MB
- **Best for**: Real-time applications, mobile deployment
#### π¬ **Custom CNN** (Specialized)
- **Custom Architecture**: Tailored specifically for satellite imagery
- **High Accuracy**: 95.2% on satellite datasets
- **Best for**: Domain-specific applications
#### π§ **DenseNet121** (Complex)
- **Dense Connections**: Excellent feature reuse
- **Pattern Recognition**: Superior at complex visual patterns
- **Best for**: Detailed analysis, research applications
## π οΈ Technical Architecture
### Frontend
- **Gradio 4.0+**: Modern, responsive web interface
- **Plotly**: Interactive visualizations
- **Real-time Updates**: Progress tracking and live results
### Backend
- **TensorFlow 2.13+**: Deep learning inference
- **Model Caching**: Efficient memory management
- **Error Handling**: Robust error recovery and fallbacks
### Deployment
- **Hugging Face Spaces**: Cloud-hosted with automatic scaling
- **Docker**: Containerized deployment
- **Git LFS**: Large model file management
## π Quick Start
### Option 1: Use Online (Recommended)
Simply visit the [**Live Demo**](https://huggingface.co/spaces/Bhavi23/ModelApp) - no installation required!
### Option 2: Local Installation
#### Prerequisites
- Python 3.8 or higher
- pip package manager
- 4GB+ RAM recommended
#### Installation Steps
1. **Clone the Repository**
```bash
git clone https://huggingface.co/spaces/Bhavi23/ModelApp
cd ModelApp
```
2. **Create Virtual Environment**
```bash
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
```
3. **Install Dependencies**
```bash
pip install -r requirements.txt
```
4. **Run the Application**
```bash
python app.py
```
5. **Open in Browser**
Navigate to `http://localhost:7860` to use the application locally.
## π Usage Instructions
### Step-by-Step Guide
1. **π€ Upload Image**
- Click "Upload Satellite Image" or drag & drop
- Supported formats: PNG, JPG, JPEG
- Recommended size: 224x224 pixels or larger
2. **π€ Select Models**
- Choose one or more models from the checkbox list
- Start with **EfficientNetB0** for best results
- Select multiple models for comparison
3. **π Classify**
- Click the "Classify Image" button
- Wait for processing (may take 30-60 seconds for first run)
- View results in real-time
4. **π Analyze Results**
- Check the **recommended model** highlight
- Compare **confidence scores** across models
- Explore **probability distributions** for detailed insights
### Tips for Best Results
β
**DO:**
- Use clear, high-resolution satellite images
- Ensure good contrast and visibility
- Try multiple models for comparison
- Check confidence scores before making decisions
β **AVOID:**
- Blurry or low-resolution images
- Non-satellite imagery (photos, drawings, etc.)
- Extremely dark or overexposed images
## π§ Configuration
### Environment Variables
```bash
# Optional: Set custom model URLs
CUSTOM_CNN_URL="https://your-custom-url/model.keras"
MOBILENETV2_URL="https://your-custom-url/model.keras"
```
### Model Customization
You can easily add new models by modifying the `MODEL_CONFIGS` dictionary in `app.py`:
```python
MODEL_CONFIGS = {
"Your Custom Model": {
"url": "https://your-model-url/model.keras",
"input_shape": (224, 224, 3)
}
}
```
## π Performance Benchmarks
### Accuracy on Test Dataset
- **EfficientNetB0**: 96.4% β
- **Custom CNN**: 95.2%
- **DenseNet121**: 94.7%
- **MobileNetV2**: 92.8%
### Speed Benchmarks (Average)
- **MobileNetV2**: 18ms β‘
- **EfficientNetB0**: 35ms
- **Custom CNN**: 45ms
- **DenseNet121**: 52ms
*Benchmarks measured on Hugging Face Spaces infrastructure*
## π Troubleshooting
### Common Issues
#### Models Not Loading
- **Cause**: Network connectivity or model URL issues
- **Solution**: Check internet connection, try refreshing the page
#### Slow Performance
- **Cause**: Large model files, limited resources
- **Solution**: Use MobileNetV2 for faster results, or try fewer models at once
#### Upload Errors
- **Cause**: Unsupported file format or size
- **Solution**: Convert to JPG/PNG, ensure file size < 10MB
#### Out of Memory
- **Cause**: Multiple large models loaded simultaneously
- **Solution**: Select fewer models, refresh the page to clear cache
### Getting Help
- **Check Logs**: Look for error messages in the interface
- **Try Different Models**: Some models may be temporarily unavailable
- **Refresh Page**: Clears model cache and resets the application
- **Contact Support**: Open an issue on the repository
## π€ Contributing
We welcome contributions! Here's how you can help:
### Ways to Contribute
1. **π Bug Reports**: Found a bug? Open an issue with details
2. **π‘ Feature Requests**: Suggest new features or improvements
3. **π§ Code Contributions**: Submit pull requests with enhancements
4. **π Documentation**: Help improve docs and examples
5. **π§ͺ Model Contributions**: Share new pre-trained models
### Development Setup
1. Fork the repository
2. Create a feature branch: `git checkout -b feature-name`
3. Make your changes
4. Test thoroughly
5. Submit a pull request
### Contribution Guidelines
- Follow Python PEP 8 style guidelines
- Add docstrings to new functions
- Include tests for new features
- Update documentation as needed
## π License
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
### Third-Party Licenses
- **TensorFlow**: Apache License 2.0
- **Gradio**: Apache License 2.0
- **Plotly**: MIT License
## π Contact & Support
### Get Help
- **π§ Email**: [your-email@example.com](mailto:your-email@example.com)
- **π¬ Discussions**: [GitHub Discussions](https://github.com/your-username/satellite-classification/discussions)
- **π Issues**: [GitHub Issues](https://github.com/your-username/satellite-classification/issues)
### Stay Updated
- **β Star this repo** to get notifications
- **π Watch** for new releases
- **π΄ Fork** to contribute
## π Acknowledgments
### Special Thanks
- **Hugging Face** for providing the amazing Spaces platform
- **TensorFlow Team** for the robust deep learning framework
- **Gradio Team** for the intuitive web interface library
- **Open Source Community** for various tools and libraries used
### Research & Data
- Satellite imagery datasets from various space agencies
- Research papers on satellite image classification
- Open source computer vision community
---
## π Star History
[](https://star-history.com/#Bhavi23/satellite-classification&Date)
---
**Made with β€οΈ by [Bhavi23](https://huggingface.co/Bhavi23)**
*Empowering satellite image analysis with AI* π°οΈβ¨ |