Car Counting - Cross-Domain Evaluation

Model: V2 Density Map (trained on Project 24) | Test: CVAT Project 8 car_flow (508 images, car only)

Cross-Domain Note: Model was trained on TSP6K + COCO images. Project 8 contains different sources (Vietnam traffic, company footage). Performance gap is expected and reveals domain adaptation needs.
Car MAE
4.61
vs same-domain: 2.90
Car RMSE
9.12
vs same-domain: 5.26
Median Error
2.0
Half the images err ≤ 2 cars
Test Images
508
GT range: 0-58 cars
Mean GT / Pred
7.4 → 3.0
Systematic under-counting

Error Distribution

Error Buckets

Error Percentiles

Median (p50)2.0acceptable
p755.2moderate
p9010.9large
p9514.9very large
p9944.9extreme
Max53.7

Same-Domain vs Cross-Domain Comparison

Project 24 validation (same-domain) vs Project 8 test (cross-domain)

MetricSame-Domain (P24 Val)Cross-Domain (P8 Test)Degradation
Car MAE2.904.61+59%
Car RMSE5.269.12+73%
Median Error1.662.00+20%
p95 Error9.7914.93+52%

GT vs Pred Scatter Plot

Each dot = 1 test image. Points below diagonal = under-counting (model's main failure mode).

Key Finding: Systematic Under-Counting

Visual Comparison Gallery

Top-left: Original + GT points (blue) | Top-right: Error heatmap (red=missed, blue=over) | Bottom-left: Grid count (5x5) | Bottom-right: Density map

Click image to enlarge

Recommendations

  1. Fine-tune on Project 8 Train: Use 1,573 labeled training images from car_flow to adapt model to this domain. Expected MAE improvement: 30-50%.
  2. Increase training resolution: Some Project 8 images have many small distant cars. Try 512x512 or 640x640.
  3. Adjust sigma: If cars in Project 8 are smaller, reduce density map sigma from 4.0 to 2.0-3.0.
  4. Augment with similar data: Mix Project 8 Train + BoxCars116k for better generalization.

Generated 2026-04-12 | Model: V2 Density Map (Project 24) | Eval: CVAT Project 8 car_flow Test Set