gmrpd-eval
Dynamic Fusion Module Evolves Drivable Area and Road Anomaly Detection: A Benchmark and Algorithms — Wang et al. (2021) (arXiv:2103.02433, 2021)
What this evaluates
Evaluates a model's ability to perform pixel-level semantic segmentation for drivable areas and road anomalies using multi-modal visual inputs. It specifically probes how effectively networks can fuse RGB imagery with depth-related features (e.g., transformed disparity) to improve detection accuracy for ground mobile robots.
Datasets
- GMRP — total 3896; splits: train (2726), val (585), test (585)
- KITTI road — total 579; splits: train (289), test (290)
- KITTI semantic segmentation — total 400; splits: train (100), val (50), test (50)
Metrics
IoU (primary) — range: [0, 1]
- Intersection over Union: the ratio of the area of overlap between the predicted and ground truth masks to the area of their union. Computed per class and averaged for mIoU.
F-score (Fsc) — range: [0, 1]
- Harmonic mean of precision and recall at a given threshold. Computed per class and averaged for mFsc.
Average Precision (AP) — range: [0, 1]
- Area under the precision-recall curve for each class, computed by sweeping classification thresholds. Averaged across classes for mAP.
Input / output format
Input: Multi-modal image pairs (RGB, disparity, normal, elevation, HHA, or transformed disparity) downsampled to 320×480 resolution.
Output: Pixel-level segmentation masks indicating drivable areas and road anomalies.
Scoring recipe
def compute_iou(pred, gt):
intersection = np.logical_and(pred, gt).sum()
union = np.logical_or(pred, gt).sum()
return intersection / union if union > 0 else 0.0
def compute_f1(pred, gt, threshold=0.5):
pred_bin = pred > threshold
tp = np.logical_and(pred_bin, gt).sum()
fp = np.logical_and(pred_bin, ~gt).sum()
fn = np.logical_and(~pred_bin, gt).sum()
prec = tp / (tp + fp) if (tp + fp) > 0 else 0
rec = tp / (tp + fn) if (tp + fn) > 0 else 0
return 2 * prec * rec / (prec + rec) if (prec + rec) > 0 else 0.0
def evaluate(pred_masks, gt_masks, num_classes):
ious, fscs = [], []
for c in range(num_classes):
ious.append(compute_iou(pred_masks == c, gt_masks == c))
fscs.append(compute_f1(pred_masks == c, gt_masks == c))
return np.mean(ious), np.mean(fscs)
Common pitfalls
- KITTI road test set lacks ground truth, preventing direct metric computation; results must be submitted to an external benchmark server.
- KITTI semantic segmentation classes are merged into four new categories (unlabeled, drivable area, vehicles, pedestrians), altering the original evaluation schema.
- Input images are downsampled to 320×480, which may impact fine-grained anomaly detection compared to native resolutions.
Evidence (verbatim from paper)
For the quantitative evaluations, we adopt the F-score (Fsc) and the Intersection over Union (IoU) for each class. We also plot the precision-recall curves and compute the average precision (AP) for each class. Furthermore, we compute the mean values across all classes for the three metrics, denoted as mFsc, mIoU and mAP.
Citation
@misc{wang2021gmrpd,
title={Dynamic Fusion Module Evolves Drivable Area and Road Anomaly Detection: A Benchmark and Algorithms},
author={Wang et al. (2021)},
year={2021},
note={arXiv:2103.02433}
}
1---2name: gmrpd-eval3description: Evaluates a model's ability to perform pixel-level semantic segmentation for drivable areas and road anomalies using multi-modal visual inputs. It specifically probes how effectively networks can fuse RGB imagery with depth-related features (e.g., transformed disparity) to improve detection accuracy for ground mobile robots. Use when the user wants to benchmark on GMRP, KITTI road, KITTI semantic segmentation, or asks about evaluating this task. Reports IoU.4---56# gmrpd-eval78> Dynamic Fusion Module Evolves Drivable Area and Road Anomaly Detection: A Benchmark and Algorithms — Wang et al. (2021) (arXiv:2103.02433, 2021)910## What this evaluates1112Evaluates a model's ability to perform pixel-level semantic segmentation for drivable areas and road anomalies using multi-modal visual inputs. It specifically probes how effectively networks can fuse RGB imagery with depth-related features (e.g., transformed disparity) to improve detection accuracy for ground mobile robots.1314## Datasets1516- **GMRP** — total 3896; splits: train (2726), val (585), test (585)17- **KITTI road** — total 579; splits: train (289), test (290)18- **KITTI semantic segmentation** — total 400; splits: train (100), val (50), test (50)1920## Metrics2122- `IoU` **(primary)** — range: [0, 1]23 - Intersection over Union: the ratio of the area of overlap between the predicted and ground truth masks to the area of their union. Computed per class and averaged for mIoU.24- `F-score (Fsc)` — range: [0, 1]25 - Harmonic mean of precision and recall at a given threshold. Computed per class and averaged for mFsc.26- `Average Precision (AP)` — range: [0, 1]27 - Area under the precision-recall curve for each class, computed by sweeping classification thresholds. Averaged across classes for mAP.2829## Input / output format3031**Input**: Multi-modal image pairs (RGB, disparity, normal, elevation, HHA, or transformed disparity) downsampled to 320×480 resolution.3233**Output**: Pixel-level segmentation masks indicating drivable areas and road anomalies.3435## Scoring recipe3637```python38def compute_iou(pred, gt):39 intersection = np.logical_and(pred, gt).sum()40 union = np.logical_or(pred, gt).sum()41 return intersection / union if union > 0 else 0.04243def compute_f1(pred, gt, threshold=0.5):44 pred_bin = pred > threshold45 tp = np.logical_and(pred_bin, gt).sum()46 fp = np.logical_and(pred_bin, ~gt).sum()47 fn = np.logical_and(~pred_bin, gt).sum()48 prec = tp / (tp + fp) if (tp + fp) > 0 else 049 rec = tp / (tp + fn) if (tp + fn) > 0 else 050 return 2 * prec * rec / (prec + rec) if (prec + rec) > 0 else 0.05152def evaluate(pred_masks, gt_masks, num_classes):53 ious, fscs = [], []54 for c in range(num_classes):55 ious.append(compute_iou(pred_masks == c, gt_masks == c))56 fscs.append(compute_f1(pred_masks == c, gt_masks == c))57 return np.mean(ious), np.mean(fscs)58```5960## Common pitfalls6162- KITTI road test set lacks ground truth, preventing direct metric computation; results must be submitted to an external benchmark server.63- KITTI semantic segmentation classes are merged into four new categories (unlabeled, drivable area, vehicles, pedestrians), altering the original evaluation schema.64- Input images are downsampled to 320×480, which may impact fine-grained anomaly detection compared to native resolutions.6566## Evidence (verbatim from paper)6768> For the quantitative evaluations, we adopt the F-score (Fsc) and the Intersection over Union (IoU) for each class. We also plot the precision-recall curves and compute the average precision (AP) for each class. Furthermore, we compute the mean values across all classes for the three metrics, denoted as mFsc, mIoU and mAP.6970## Citation7172```bibtex73@misc{wang2021gmrpd,74 title={Dynamic Fusion Module Evolves Drivable Area and Road Anomaly Detection: A Benchmark and Algorithms},75 author={Wang et al. (2021)},76 year={2021},77 note={arXiv:2103.02433}78}79```8081- arXiv: 2103.02433