This repository contains code and results for a semantic segmentation competition using a small autonomous driving dataset. The project explores various data augmentation, network architectures, and training strategies to improve segmentation accuracy and efficiency.
- Training images: 150
- Testing images: 50
- Classes: 19 (see
seg_data/names.txt) - Color palette: see
seg_data/colors.txt
- PyTorch-based data loading and augmentation
- Custom semantic segmentation network with options for BatchNorm, Residual, Dropout, etc.
- Multiple data augmentation strategies (flip, color jitter, crop, rotation, blur, etc.)
- Training and evaluation scripts with mIoU metric
- FLOPs calculation for model efficiency
- Ablation study and results tracking
-
Setup
- Install dependencies (PyTorch, torchvision, numpy, PIL, etc.)
- (Optional) Use Google Colab or Kaggle for GPU acceleration
-
Prepare Data
- Place the dataset in the
seg_data/directory as described above.
- Place the dataset in the
-
Run Experiments
- Open and run
segmentation-2025.ipynbor any notebook in theresult/subfolders for specific experiments. - Modify data augmentation, network architecture, and training parameters as needed.
- Open and run
-
Evaluate
- Evaluation is performed using mean Intersection over Union (mIoU).
- Results and predictions are saved in the
result/subfolders.
-
Report
- See
Final_Report.pdffor a summary of methods, results, and ablation studies.
- See
Open segmentation-2025.ipynb and run all cells to train and evaluate the baseline model.
- Baseline mIoU: ~0.28
- Best mIoU (with augmentation and advanced architecture): see ablation tables in the report and notebooks
Authors:
Ge Wang, Tien
For more details, see the code and Final_Report.pdf.