Bhavi23 commited on
Commit
914013b
ยท
verified ยท
1 Parent(s): f016657

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +188 -140
README.md CHANGED
@@ -1,3 +1,4 @@
 
1
  title: Satellite Classification Dashboard
2
  emoji: ๐Ÿ›ฐ๏ธ
3
  colorFrom: blue
@@ -11,129 +12,165 @@ preload_from_hub:
11
  - Bhavi23/MobilenetV2/multi_input_model_v1.keras
12
  - Bhavi23/EfficientNet_B0/efficientnet_model.keras
13
  - Bhavi23/DenseNet/densenet_model.keras
 
 
 
14
 
15
- ๐Ÿ›ฐ๏ธ Satellite Classification Dashboard
16
  A comprehensive deep learning application for classifying satellite images using multiple state-of-the-art neural network models. This interactive dashboard allows you to compare different models, analyze their performance, and classify satellite images in real-time.
17
 
18
- ๐ŸŒŸ Features
19
- ๐Ÿ  Dashboard Overview
20
- Interactive web interface built with Streamlit
21
- Multi-page navigation system
22
- Real-time image classification
23
- Comprehensive model comparison
24
- Performance analytics and visualizations
25
- ๐Ÿค– Multiple Model Support
26
- Custom CNN: Tailored architecture for satellite imagery (95.2% accuracy)
27
- MobileNetV2: Lightweight model optimized for speed (92.8% accuracy, 18ms inference)
28
- EfficientNetB0: Best accuracy-efficiency balance (96.4% accuracy)
29
- DenseNet121: Complex pattern recognition capabilities (94.7% accuracy)
30
- ๐ŸŽฏ Classification Categories
 
 
 
31
  The system can classify 11 different types of satellites and space objects:
32
 
33
- AcrimSat
34
- Aquarius
35
- Aura
36
- Calipso
37
- Cloudsat
38
- CubeSat
39
- Debris
40
- Jason
41
- Sentinel-6
42
- TRMM
43
- Terra
44
- ๐Ÿš€ Quick Start
45
- Try the Live Demo
 
 
46
  Visit the Hugging Face Space to use the application directly in your browser.
47
 
48
- Local Installation
49
- Clone the repository
 
50
  git clone https://github.com/YOUR_USERNAME/satellite-classification-dashboard.git
51
  cd satellite-classification-dashboard
52
- Install dependencies
 
 
 
53
  pip install -r requirements.txt
54
- Run the application
 
 
 
55
  streamlit run app.py
56
- Open your browser and navigate to http://localhost:7860
57
- ๐Ÿ“ฆ Dependencies
58
- streamlit==1.47.0
59
- tensorflow-cpu==2.15.0
60
- numpy==1.26.4
61
- pandas==2.2.2
62
- plotly==5.22.0
63
- Pillow==10.4.0
64
- requests==2.32.3
65
- protobuf<4.0.0
66
- ๐ŸŽฎ How to Use
67
- 1. Home Page
68
- Overview of the system capabilities
69
- Class distribution visualization
70
- Quick navigation to other features
71
- 2. Model Comparison
72
- Side-by-side performance metrics
73
- Interactive charts comparing accuracy, speed, and model size
74
- Model selection recommendations
75
- 3. Image Classification
76
- Upload satellite images (PNG, JPG, JPEG)
77
- Select one or multiple models for prediction
78
- View confidence scores and detailed probabilities
79
- Get model recommendations based on performance
80
- 4. Performance Analytics
81
- Detailed performance breakdowns
82
- Efficiency metrics analysis
83
- Comprehensive model comparison tables
84
- 5. About Models
85
- Technical specifications for each model
86
- Strengths and use cases
87
- Model architecture details
88
- ๐Ÿ“Š Model Performance
89
- Model Accuracy Precision Recall F1-Score Inference Time Model Size
90
- EfficientNetB0 96.4% 96.1% 96.2% 96.1% 35ms 20.1MB
91
- Custom CNN 95.2% 94.8% 95.1% 94.9% 45ms 25.3MB
92
- DenseNet121 94.7% 94.2% 94.5% 94.3% 52ms 32.8MB
93
- MobileNetV2 92.8% 92.1% 92.5% 92.3% 18ms 8.7MB
94
- ๐ŸŽฏ Model Selection Guide
95
- ๐Ÿ† Best Overall Accuracy: EfficientNetB0 (96.4%)
96
- โšก Fastest Inference: MobileNetV2 (18ms)
97
- ๐Ÿ’พ Most Lightweight: MobileNetV2 (8.7MB)
98
- ๐ŸŽฏ Best Balance: EfficientNetB0 (High accuracy + efficiency)
99
- ๐Ÿ“ฑ Mobile/Edge Deployment: MobileNetV2
100
- ๐Ÿ”ฌ Research/High Accuracy: EfficientNetB0 or DenseNet121
101
- ๐Ÿ—๏ธ Architecture
102
- Model Sources
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  All models are hosted on Hugging Face Model Hub:
104
-
105
- Custom CNN: Bhavi23/Custom_CNN
106
- MobileNetV2: Bhavi23/MobilenetV2
107
- EfficientNetB0: Bhavi23/EfficientNet_B0
108
- DenseNet121: Bhavi23/DenseNet
109
- Data Pipeline
110
- Image Upload: Supports PNG, JPG, JPEG formats
111
- Preprocessing: Resize to 224x224, normalize to [0,1]
112
- Model Inference: Multi-model prediction with timing
113
- Post-processing: Confidence scoring and recommendations
114
- ๐Ÿ”ง Technical Details
115
- Input Requirements
116
- Image Format: PNG, JPG, JPEG
117
- Input Size: 224x224x3 (RGB)
118
- Preprocessing: Automatic resizing and normalization
119
- Output Format
120
- Class Prediction: One of 11 satellite categories
121
- Confidence Score: Percentage confidence (0-100%)
122
- Inference Time: Milliseconds for prediction
123
- Probability Distribution: Full softmax output for all classes
124
- ๐Ÿ“ˆ Performance Optimization
125
- Model Caching: Models are cached using @st.cache_resource
126
- Lazy Loading: Models loaded only when needed
127
- Efficient Preprocessing: Optimized image pipeline
128
- Memory Management: Automatic cleanup of model objects
129
- ๐Ÿšข Deployment
130
- Hugging Face Spaces
 
 
 
 
 
 
131
  The application is deployed on Hugging Face Spaces using:
 
 
 
132
 
133
- Runtime: Python 3.9
134
- Framework: Streamlit
135
- Resources: CPU-optimized for inference
136
- Docker Deployment
137
  FROM python:3.9-slim
138
 
139
  WORKDIR /app
@@ -144,15 +181,19 @@ COPY . .
144
  EXPOSE 7860
145
 
146
  CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
147
- ๐Ÿค Contributing
 
 
148
  We welcome contributions! Please follow these steps:
149
 
150
- Fork the repository
151
- Create a feature branch (git checkout -b feature/amazing-feature)
152
- Commit changes (git commit -m 'Add amazing feature')
153
- Push to branch (git push origin feature/amazing-feature)
154
- Open a Pull Request
155
- Development Setup
 
 
156
  # Clone your fork
157
  git clone https://github.com/YOUR_USERNAME/satellite-classification-dashboard.git
158
 
@@ -165,33 +206,40 @@ pip install -r requirements.txt
165
 
166
  # Run in development mode
167
  streamlit run app.py --logger.level=debug
168
- ๐Ÿ“„ License
 
 
169
  This project is licensed under the MIT License - see the LICENSE file for details.
170
 
171
- ๐Ÿ™ Acknowledgments
172
- Dataset: Spark 2021 dataset used for training
173
- Frameworks: TensorFlow, Streamlit, Plotly
174
- Models: Pre-trained architectures from TensorFlow/Keras
175
- Hosting: Hugging Face Spaces for deployment
176
- ๐Ÿ“ž Support
177
- Issues: GitHub Issues
178
- Discussions: GitHub Discussions
179
- Email: bhavithrass@gmail.com
180
- ๐Ÿ”ฎ Future Enhancements
181
- Real-time Video Classification
182
- Batch Processing for multiple images
183
- Model Fine-tuning Interface
184
- Custom Model Upload
185
- Export Predictions (CSV/JSON)
186
- API Endpoint for programmatic access
187
- Mobile App version
188
- Advanced Visualization with satellite orbit data
189
- ๐Ÿ“Š Usage Statistics
 
 
 
190
  Track your application usage:
 
 
 
 
 
191
 
192
- Classifications Performed: Real-time counter
193
- Popular Models: Usage analytics
194
- Performance Metrics: Response time tracking
195
  Built with โค๏ธ using Streamlit and TensorFlow
196
 
197
- For more information, visit our Hugging Face Space
 
1
+ ---
2
  title: Satellite Classification Dashboard
3
  emoji: ๐Ÿ›ฐ๏ธ
4
  colorFrom: blue
 
12
  - Bhavi23/MobilenetV2/multi_input_model_v1.keras
13
  - Bhavi23/EfficientNet_B0/efficientnet_model.keras
14
  - Bhavi23/DenseNet/densenet_model.keras
15
+ ---
16
+
17
+ # ๐Ÿ›ฐ๏ธ Satellite Classification Dashboard
18
 
 
19
  A comprehensive deep learning application for classifying satellite images using multiple state-of-the-art neural network models. This interactive dashboard allows you to compare different models, analyze their performance, and classify satellite images in real-time.
20
 
21
+ ## ๐ŸŒŸ Features
22
+
23
+ ### ๐Ÿ  Dashboard Overview
24
+ - Interactive web interface built with Streamlit
25
+ - Multi-page navigation system
26
+ - Real-time image classification
27
+ - Comprehensive model comparison
28
+ - Performance analytics and visualizations
29
+
30
+ ### ๐Ÿค– Multiple Model Support
31
+ - **Custom CNN**: Tailored architecture for satellite imagery (95.2% accuracy)
32
+ - **MobileNetV2**: Lightweight model optimized for speed (92.8% accuracy, 18ms inference)
33
+ - **EfficientNetB0**: Best accuracy-efficiency balance (96.4% accuracy)
34
+ - **DenseNet121**: Complex pattern recognition capabilities (94.7% accuracy)
35
+
36
+ ### ๐ŸŽฏ Classification Categories
37
  The system can classify 11 different types of satellites and space objects:
38
 
39
+ - AcrimSat
40
+ - Aquarius
41
+ - Aura
42
+ - Calipso
43
+ - Cloudsat
44
+ - CubeSat
45
+ - Debris
46
+ - Jason
47
+ - Sentinel-6
48
+ - TRMM
49
+ - Terra
50
+
51
+ ## ๐Ÿš€ Quick Start
52
+
53
+ ### Try the Live Demo
54
  Visit the Hugging Face Space to use the application directly in your browser.
55
 
56
+ ### Local Installation
57
+ 1. Clone the repository
58
+ ```bash
59
  git clone https://github.com/YOUR_USERNAME/satellite-classification-dashboard.git
60
  cd satellite-classification-dashboard
61
+ ```
62
+
63
+ 2. Install dependencies
64
+ ```bash
65
  pip install -r requirements.txt
66
+ ```
67
+
68
+ 3. Run the application
69
+ ```bash
70
  streamlit run app.py
71
+ ```
72
+
73
+ 4. Open your browser and navigate to http://localhost:7860
74
+
75
+ ## ๐Ÿ“ฆ Dependencies
76
+ - streamlit==1.47.0
77
+ - tensorflow-cpu==2.15.0
78
+ - numpy==1.26.4
79
+ - pandas==2.2.2
80
+ - plotly==5.22.0
81
+ - Pillow==10.4.0
82
+ - requests==2.32.3
83
+ - protobuf<4.0.0
84
+
85
+ ## ๐ŸŽฎ How to Use
86
+
87
+ ### 1. Home Page
88
+ - Overview of the system capabilities
89
+ - Class distribution visualization
90
+ - Quick navigation to other features
91
+
92
+ ### 2. Model Comparison
93
+ - Side-by-side performance metrics
94
+ - Interactive charts comparing accuracy, speed, and model size
95
+ - Model selection recommendations
96
+
97
+ ### 3. Image Classification
98
+ - Upload satellite images (PNG, JPG, JPEG)
99
+ - Select one or multiple models for prediction
100
+ - View confidence scores and detailed probabilities
101
+ - Get model recommendations based on performance
102
+
103
+ ### 4. Performance Analytics
104
+ - Detailed performance breakdowns
105
+ - Efficiency metrics analysis
106
+ - Comprehensive model comparison tables
107
+
108
+ ### 5. About Models
109
+ - Technical specifications for each model
110
+ - Strengths and use cases
111
+ - Model architecture details
112
+
113
+ ## ๐Ÿ“Š Model Performance
114
+
115
+ | Model | Accuracy | Precision | Recall | F1-Score | Inference Time | Model Size |
116
+ |-------|----------|-----------|---------|----------|----------------|------------|
117
+ | EfficientNetB0 | 96.4% | 96.1% | 96.2% | 96.1% | 35ms | 20.1MB |
118
+ | Custom CNN | 95.2% | 94.8% | 95.1% | 94.9% | 45ms | 25.3MB |
119
+ | DenseNet121 | 94.7% | 94.2% | 94.5% | 94.3% | 52ms | 32.8MB |
120
+ | MobileNetV2 | 92.8% | 92.1% | 92.5% | 92.3% | 18ms | 8.7MB |
121
+
122
+ ## ๐ŸŽฏ Model Selection Guide
123
+ - ๐Ÿ† **Best Overall Accuracy**: EfficientNetB0 (96.4%)
124
+ - โšก **Fastest Inference**: MobileNetV2 (18ms)
125
+ - ๐Ÿ’พ **Most Lightweight**: MobileNetV2 (8.7MB)
126
+ - ๐ŸŽฏ **Best Balance**: EfficientNetB0 (High accuracy + efficiency)
127
+ - ๐Ÿ“ฑ **Mobile/Edge Deployment**: MobileNetV2
128
+ - ๐Ÿ”ฌ **Research/High Accuracy**: EfficientNetB0 or DenseNet121
129
+
130
+ ## ๐Ÿ—๏ธ Architecture
131
+
132
+ ### Model Sources
133
  All models are hosted on Hugging Face Model Hub:
134
+ - Custom CNN: Bhavi23/Custom_CNN
135
+ - MobileNetV2: Bhavi23/MobilenetV2
136
+ - EfficientNetB0: Bhavi23/EfficientNet_B0
137
+ - DenseNet121: Bhavi23/DenseNet
138
+
139
+ ### Data Pipeline
140
+ - **Image Upload**: Supports PNG, JPG, JPEG formats
141
+ - **Preprocessing**: Resize to 224x224, normalize to [0,1]
142
+ - **Model Inference**: Multi-model prediction with timing
143
+ - **Post-processing**: Confidence scoring and recommendations
144
+
145
+ ## ๐Ÿ”ง Technical Details
146
+
147
+ ### Input Requirements
148
+ - **Image Format**: PNG, JPG, JPEG
149
+ - **Input Size**: 224x224x3 (RGB)
150
+ - **Preprocessing**: Automatic resizing and normalization
151
+
152
+ ### Output Format
153
+ - **Class Prediction**: One of 11 satellite categories
154
+ - **Confidence Score**: Percentage confidence (0-100%)
155
+ - **Inference Time**: Milliseconds for prediction
156
+ - **Probability Distribution**: Full softmax output for all classes
157
+
158
+ ## ๐Ÿ“ˆ Performance Optimization
159
+ - **Model Caching**: Models are cached using @st.cache_resource
160
+ - **Lazy Loading**: Models loaded only when needed
161
+ - **Efficient Preprocessing**: Optimized image pipeline
162
+ - **Memory Management**: Automatic cleanup of model objects
163
+
164
+ ## ๐Ÿšข Deployment
165
+
166
+ ### Hugging Face Spaces
167
  The application is deployed on Hugging Face Spaces using:
168
+ - **Runtime**: Python 3.9
169
+ - **Framework**: Streamlit
170
+ - **Resources**: CPU-optimized for inference
171
 
172
+ ### Docker Deployment
173
+ ```dockerfile
 
 
174
  FROM python:3.9-slim
175
 
176
  WORKDIR /app
 
181
  EXPOSE 7860
182
 
183
  CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
184
+ ```
185
+
186
+ ## ๐Ÿค Contributing
187
  We welcome contributions! Please follow these steps:
188
 
189
+ 1. Fork the repository
190
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
191
+ 3. Commit changes (`git commit -m 'Add amazing feature'`)
192
+ 4. Push to branch (`git push origin feature/amazing-feature`)
193
+ 5. Open a Pull Request
194
+
195
+ ### Development Setup
196
+ ```bash
197
  # Clone your fork
198
  git clone https://github.com/YOUR_USERNAME/satellite-classification-dashboard.git
199
 
 
206
 
207
  # Run in development mode
208
  streamlit run app.py --logger.level=debug
209
+ ```
210
+
211
+ ## ๐Ÿ“„ License
212
  This project is licensed under the MIT License - see the LICENSE file for details.
213
 
214
+ ## ๐Ÿ™ Acknowledgments
215
+ - **Dataset**: Spark 2021 dataset used for training
216
+ - **Frameworks**: TensorFlow, Streamlit, Plotly
217
+ - **Models**: Pre-trained architectures from TensorFlow/Keras
218
+ - **Hosting**: Hugging Face Spaces for deployment
219
+
220
+ ## ๐Ÿ“ž Support
221
+ - **Issues**: GitHub Issues
222
+ - **Discussions**: GitHub Discussions
223
+ - **Email**: bhavithrass@gmail.com
224
+
225
+ ## ๐Ÿ”ฎ Future Enhancements
226
+ - [ ] Real-time Video Classification
227
+ - [ ] Batch Processing for multiple images
228
+ - [ ] Model Fine-tuning Interface
229
+ - [ ] Custom Model Upload
230
+ - [ ] Export Predictions (CSV/JSON)
231
+ - [ ] API Endpoint for programmatic access
232
+ - [ ] Mobile App version
233
+ - [ ] Advanced Visualization with satellite orbit data
234
+
235
+ ## ๐Ÿ“Š Usage Statistics
236
  Track your application usage:
237
+ - **Classifications Performed**: Real-time counter
238
+ - **Popular Models**: Usage analytics
239
+ - **Performance Metrics**: Response time tracking
240
+
241
+ ---
242
 
 
 
 
243
  Built with โค๏ธ using Streamlit and TensorFlow
244
 
245
+ For more information, visit our [Hugging Face Space](https://huggingface.co/spaces/Bhavi23/satellite-classification-dashboard)