DDRNet-23-slim — Road Scene Semantic Segmentation (CamVid)
Real-time semantic segmentation for autonomous driving road scenes, trained on CamVid.
Model
- Architecture: DDRNet-23-slim (dual-resolution, DAPPM context module)
- Params: 5.88M
- Input: 3x640x640 RGB, ImageNet-normalized
- Output: 32-class per-pixel logits
Training
- Dataset: CamVid (600 train / 101 val images)
- Loss: weighted CrossEntropy (inverse class frequency), Void as ignore_index
- Optimizer: AdamW, cosine LR schedule
- Epochs: 50
Results (val set, full confusion-matrix mIoU)
- Mean IoU: 0.3334 (over classes present in val set)
Known limitation
6 classes (Animal, LaneMkgsNonDriv, ParkingBlock, RoadShoulder, SUVPickupTruck,
TrafficCone) score 0 IoU — each has <0.5% pixel frequency in the 600-image
training set. This is a data-scarcity ceiling, not a training deficiency;
more epochs do not resolve it. Cityscapes or Mapillary Vistas (larger,
more balanced datasets) would be required to learn these classes reliably.
Per-class IoU
| Class | IoU |
|---|
| Sky | 0.9339 |
| Road | 0.8861 |
| Tree | 0.8677 |
| Sidewalk | 0.7923 |
| Car | 0.7334 |
| Building | 0.6989 |
| Bicyclist | 0.6519 |
| Wall | 0.5241 |
| Fence | 0.5099 |
| TrafficLight | 0.4714 |
| LaneMkgsDriv | 0.4116 |
| OtherMoving | 0.3625 |
| SignSymbol | 0.2904 |
| Truck_Bus | 0.2519 |
| Pedestrian | 0.2267 |
| Child | 0.1578 |
| Misc_Text | 0.0960 |
| Column_Pole | 0.0804 |
| VegetationMisc | 0.0406 |
| CartLuggagePram | 0.0118 |
| Archway | 0.0020 |
| Animal | 0.0000 |
| Bridge | N/A (absent from val) |
| LaneMkgsNonDriv | 0.0000 |
| MotorcycleScooter | N/A (absent from val) |
| ParkingBlock | 0.0000 |
| RoadShoulder | 0.0000 |
| SUVPickupTruck | 0.0000 |
| TrafficCone | 0.0000 |
| Train | N/A (absent from val) |
| Tunnel | N/A (absent from val) |
| Void | N/A (absent from val) |