# Model Comparison Dashboard 📘 Cette documentation est également disponible en [français 🇫🇷](./README.fr.md) ## Compliance with Requirements ### Exploratory Analysis of Unstructured Data (Images) **Display of image examples by category:** - Visualization of Cityscapes dataset images organized by 8 segmentation meta-classes - Interactive selection of training and test images with preview - Category navigation interface with user-friendly display names **Data counting and distribution:** - Pie charts detailing the distribution of the 25,000 Cityscapes images - Visualization of project usage: 80% train / 20% validation / 100% test - Class distribution chart for the training dataset - Summary tables with detailed statistics per split **Image transformations:** - Interactive demonstration of preprocessing: resizing and normalization - Visualization of random data augmentations (rotation, flip, brightness, etc.) - Before/after comparison of transformations with visual alignment - Complete documentation of the 6 possible augmentation types ### Input Data Selection **Multiple selection interface:** - Dropdown list for Cityscapes test images with ground truth information - Upload of personal files (JPEG, PNG) with format validation - Preview of selected images before processing - Error handling and real-time user feedback ### Prediction Results **Full model comparison:** - Side-by-side display of predictions from the two best models - Visualizations with original image, predicted masks, and ground truth - Detection and highlighting of segmentation errors - Detailed per-class statistics with percentages and pixel counts **Performance metrics:** - Comparative inference time with speed analysis - Performance scores (mIoU, Accuracy) per model - Per-class IoU for detailed performance analysis - Interactive comparative result charts ### Cloud Deployment **Deployed architecture:** - FastAPI application for the model comparison API - Streamlit interface for the user dashboard - Deployment on cloud infrastructure with high availability - Automatic resource management and scaling ### WCAG Accessibility **Compliance with essential criteria:** #### Color Contrast (WCAG AA) - Color palette with contrast ratios ≥ 4.1:1 for graphical elements - Contrast ratios ≥ 4.5:1 for text on background - 8 main colors validated: blue (#0066CC), red (#CC0000), green (#006600), etc. - Replacement of gradients with solid, high-contrast colors #### Text Alternatives - Detailed alternative descriptions for all automatically generated charts - Explanatory text for each visualization (pie charts, bar charts) - Appropriate ARIA labels for interactive elements - Complete textual documentation of image transformations #### Non-Color-Only Indication - Patterns and hatching complementary to colors (optional via checkbox) - 6 different patterns: diagonal, vertical, horizontal, dots, cross - Differentiation by shape and texture in addition to colors - Reinforced borders and outlines for visual distinction #### Keyboard Navigation - Visible CSS focus with 2px blue outlines (#0066CC) - Full support for tab navigation - Clear visual indicators for focused elements - Compliance with logical navigation order #### Accessible Data Tables - Structured tables complementary to all charts - Appropriate headers with scope and descriptions - Exportable data readable by screen readers - Responsive configuration for all screens **Built-in assistive features:** - "Enable patterns (visual accessibility)" checkbox for customization - Automatic chart descriptions with complete statistics - Interface adaptable to the needs of users with disabilities - Complete documentation of accessibility features via the `/accessibility-info` endpoint ## Technical Architecture **Technology stack:** - Backend: FastAPI + PyTorch for model inference - Frontend: Streamlit with accessible components - Visualizations: Matplotlib with WCAG palettes - REST API documented with Pydantic validation - Optimized state management for model comparisons **Performance and reliability:** - Optimized inference times (< 1 second per image) - Efficient memory management with automatic figure closing - File format and size validation - Automatic cleanup of temporary files