A professional web-based dashboard for evaluating semantic segmentation model performance using Intersection over Union (IoU) scores.
✨ Professional Dashboard UI
- Modern dark theme with gradient styling
- Real-time IoU score visualization
- Class-wise performance metrics
- Responsive design for all devices
🚀 Easy to Use
- Single-click evaluation button
- Real-time progress feedback
- Beautiful animated results display
📊 Comprehensive Results
- Overall Mean IoU score
- Individual class-wise IoU scores
- Performance status indicators
- Visual progress bars for each class
pip install -r requirements.txtpython app.pyThe application will start on http://localhost:5000
Open your web browser and navigate to:
http://localhost:5000
-
Click the "Run Evaluation" button to start the model evaluation
-
The system will:
- Load the trained model
- Process the validation dataset
- Calculate IoU scores for each class
- Display results in real-time
-
View the results:
- Overall Mean IoU at the top (large number)
- Class-wise scores in the grid below
- Each card shows the class name, percentage, and exact IoU value
- Architecture: U-Net with ResNet18 backbone
- Classes: 10 semantic segments
- Trees
- Lush Bushes
- Dry Grass
- Dry Bushes
- Ground Clutter
- Flowers
- Logs
- Rocks
- Landscape
- Sky
├── app.py # Flask backend application
├── model.py # U-Net model architecture
├── dataset.py # Dataset loader
├── test.py # Original test script
├── train.py # Training script
├── duality_model_final.pth # Trained model weights
├── requirements.txt # Python dependencies
├── index.html # Dashboard HTML
├── styles.css # Dashboard styling
└── script.js # Dashboard interactions
The dashboard displays performance with visual indicators:
- 🟢 Excellent (≥ 80%): Very strong performance
- 🔵 Very Good (≥ 70%): Strong performance
- 🟢 Good (≥ 60%): Acceptable performance
- 🟡 Moderate (≥ 50%): Fair performance
- 🔴 Needs Improvement (< 50%): Poor performance
- Ensure
duality_model_final.pthexists in the project root directory
- The app will automatically fall back to CPU. This is slower but will work.
- Verify that the
Data/val/Color_ImagesandData/val/Segmentationdirectories exist and contain images
- Backend: Flask (Python web framework)
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Deep Learning: PyTorch
- No external UI libraries: Pure CSS and vanilla JS for better performance
This dashboard provides an intuitive interface to visualize model performance. The IoU (Intersection over Union) metric is calculated as:
IoU = (Intersection Area) / (Union Area)
For each class, the dashboard averages the IoU scores across all validation images.
Happy Evaluating! 🚀