Predicting highway pavement deterioration is critical for transportation asset management, road safety, and optimizing municipal maintenance budgets.
This repository presents a machine learning framework to predict pavement surface roughnessβmeasured as the International Roughness Index (IRI)βusing field-measured Cumulative Traffic Volume (AADT) and pavement Effective Structural Capacity (Total SN).
The models are trained, cross-validated, and benchmarked on real-world field survey data collected across the National Highway N-5 corridor (Sangjani Toll Plaza to Attock Bridge, Pakistan). The repository includes:
- Cleaned Field Datasets: 75 one-kilometer highway segments with classified traffic counts and structural deflection backcalculations.
- Comparative ML Benchmarks: Linear Regression, Decision Trees, Random Forests, Gradient Boosting, and a domain-specific piecewise decision model.
- Interactive Prediction Tools: Python CLI predictor (
src/predict.py), a Jupyter Notebook, and an Excel macro deployment (.xlsm). - Pavement Condition Classification: Automated mapping of predicted roughness to Federal Highway Administration (FHWA) and World Bank maintenance categories.
The dataset encompasses 75 highway segments (
-
Tarnol to Taxila (
$AADT = 4,133\text{ veh/day}$ ) -
Taxila to Hassanabdal (
$AADT = 6,796\text{ veh/day}$ ) -
Hassanabdal to Burhan (
$AADT = 2,852\text{ veh/day}$ ) -
Burhan to Kamrah (
$AADT = 934.5\text{ veh/day}$ ) -
Kamrah to Attock Bridge (
$AADT = 1,902\text{ veh/day}$ )
-
Independent Feature 1: Effective Structural Number (
$SN_{eff}$ / Total$SN$ )
Derived from Heavy Weight Deflectometer (HWD) surface deflection basins ($d_0$ in mils). Represents the structural stiffness and layer thickness capacity of the asphalt, base, and subgrade layers. -
Independent Feature 2: Annual Average Daily Traffic (
$AADT$ )
Classified vehicle counts including heavy commercial vehicles, buses, multi-axle trucks, and passenger cars. -
Target Variable: International Roughness Index (
$IRI$ )
Recorded via road surface profilometer. Quantified in units of$\text{in/mi}$ (and converted to$\text{m/km}$ ).
Five modeling approaches were benchmarked on the 75 highway segments:
| Model Architecture | MAE (in/mi) | RMSE (in/mi) |
|
Key Characteristics |
|---|---|---|---|---|
| Gradient Boosting Regressor | 15.16 | 22.52 | 0.7324 | Best overall predictive performance; captures complex non-linear degradation. |
| Random Forest Regressor | 23.64 | 29.92 | 0.5275 | Robust against localized noise and sensor variance. |
| Decision Tree Regressor | 23.81 | 31.91 | 0.4625 | High interpretability; segment-based rule extraction. |
| Domain Piecewise Model | 27.76 | 37.53 | 0.2566 | Custom civil engineering traffic-binned regression. |
| Multi-Linear Regression | 35.08 | 43.04 | 0.0224 | Fails to capture non-linear structural degradation thresholds. |
Predicted roughness values are mapped to Federal Highway Administration (FHWA) and World Bank serviceability criteria:
| IRI Range ( |
IRI Range ( |
FHWA Condition Rating | Ride Quality | Recommended Highway Maintenance |
|---|---|---|---|---|
| Good | Smooth Ride | Routine maintenance, crack sealing, drainage check | ||
| Fair | Acceptable | Preventative maintenance (slurry seal / micro-surfacing) | ||
| Poor | Deteriorated / Rough | Structural rehabilitation (mill & overlay or deep reconstruction) |
git clone https://github.com/MuhammadUmerBasit/Pavement-Condition-Prediction-ML.git
cd Pavement-Condition-Prediction-ML
pip install -r requirements.txtRun predict.py with custom pavement parameters:
python src/predict.py --sn 8.5 --aadt 4500Output:
============================================================
PAVEMENT CONDITION & ROUGHNESS (IRI) PREDICTION
============================================================
Input Structural Number (SN) : 8.50
Input Traffic Volume (AADT) : 4,500 veh/day
------------------------------------------------------------
Predicted IRI (in/mi) : 221.87 in/mi
Predicted IRI (m/km) : 3.502 m/km
Condition Classification : Poor
Ride Quality Standard : Deteriorated / Rough Surface
Recommended Maintenance : Structural rehabilitation (mill & overlay or deep reconstruction)
============================================================
python src/evaluate.pyOpen notebooks/pavement_deterioration_ml.ipynb in VS Code, JupyterLab, or upload to Google Colab for interactive exploratory data analysis and model experimentation.
Pavement-Condition-Prediction-ML/
β
βββ README.md # Project overview and benchmarks
βββ LICENSE # MIT License
βββ requirements.txt # Python dependencies
βββ .gitignore # Ignores build artifacts and caches
β
βββ dataset/
β βββ pavement_traffic_dataset.csv # Clean dataset (75 highway segments)
β βββ raw/ # Original field data workbooks
β βββ Training Data.xlsx
β βββ SN Data Sangjani Toll Plaza - Attock Bridge.xlsx
β βββ Traffic Count Sangjani to Attock Bridge.xlsx
β βββ iri rds.xlsx
β
βββ src/ # Python source package
β βββ __init__.py
β βββ model.py # Machine learning & domain models
β βββ evaluate.py # Evaluation benchmark script
β βββ predict.py # Interactive CLI predictor
β
βββ notebooks/ # Interactive notebooks
β βββ pavement_deterioration_ml.ipynb # Jupyter notebook for EDA & training
β
βββ models/ # Deployment artifacts
β βββ Machine Learning Model.xlsm # Interactive Excel VBA deployment
β βββ Sheet1.cls # VBA automation script
β
βββ docs/ # Engineering reports & field documentation
β βββ Graphical-Representation-IRI-RSL.pdf
β βββ Pavement-Condition-Roughness-Analysis-Report.pdf
β βββ Pavement-Structural-Analysis-HWD-Report.pdf
β βββ Annual-Maintenance-Plan-Vehicle-Operating-Costs.pdf
β
βββ media/ # High-resolution benchmark figures
βββ model_benchmark_comparison.png
βββ actual_vs_predicted_iri.png
βββ pavement_condition_breakdown.png
- Student / Author: Muhammad Umer Basit
Civil Engineering Student - Course: Transportation Engineering / Traffic Machine Learning, Semester 8
This repository is distributed under the MIT License.


