Bhavi23 commited on
Commit
6474302
ยท
verified ยท
1 Parent(s): 1089f7a

Update README.md

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