CoolFace
Datasetpublic

ram-shreyas-naik-sabavat/SidewalkPilot_v1_and_v2

SidewalkPilot Series 1 and 2 Steering Dataset SidewalkPilot Series 1 and 2 is the finalized camera-to-steering dataset for the baseline and failure/iteration model series. The dataset pairs real field images with steering servo labels in degrees, so a model can learn to map a camera frame to a steering command. CARLA-assisted. The Series 1/2 models were trained on a blend of these real field images plus CARLA synthetic frames (down-weighted vs real). This repository holds the… See the full description on the dataset page: https://huggingface.co/datasets/ram-shreyas-naik-sabavat/SidewalkPilot_v1_and_v2.

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes139downloads
Dataset Card

SidewalkPilot Series 1 and 2 Steering Dataset

SidewalkPilot Series 1 and 2 is the finalized camera-to-steering dataset for the baseline and failure/iteration model series. The dataset pairs real field images with steering servo labels in degrees, so a model can learn to map a camera frame to a steering command.

CARLA-assisted. The Series 1/2 models were trained on a blend of these real field images plus CARLA synthetic frames (down-weighted vs real). This repository holds the real labeled images; the CARLA synthetic set is published separately as SidewalkPilot_carla.

Project code and documentation are maintained in the GitHub repo:

ResourceLink
GitHub repositoryhttps://github.com/RamCodesBetter/SidewalkPilot
Training codehttps://github.com/RamCodesBetter/SidewalkPilot/tree/lidar-aeb-v2/code/ai_models_datasets/series_1_and_2
Hugging Face datasethttps://huggingface.co/datasets/ram-shreyas-naik-sabavat/SidewalkPilot_v1_and_v2
Hugging Face model namespacehttps://huggingface.co/ram-shreyas-naik-sabavat

Dataset Contents

File or folderWhat it contains
sidewalkpilot_v1_and_v2_dataset.tarClean archive containing the 2,224 JPG field images under sidewalkpilot_dataset/
steering_corrections.jsonSteering labels, source names, and repeat weights for each labeled image

Trainer source and tests are versioned only in GitHub so there is one canonical code history. The dataset repository contains data and its card, not duplicate executable code.

Extract the image archive before training or evaluation:

bash
tar -xf sidewalkpilot_v1_and_v2_dataset.tar

This creates sidewalkpilot_dataset/ beside the metadata files. The archive excludes macOS metadata and upload-cache files.

Current Size

ItemCount
JPG images2,224
Steering label entries2,224
Label sources13
Steering range0 to 180 degrees

Label Format

steering_corrections.json is a JSON list. Each entry points to one image and stores the steering target used for training.

FieldTypeMeaning
imagestringRelative image path used by the training code
steeringnumberServo angle label in degrees
repeatintegerTraining repeat/weight value for that sample
sourcestringDataset source or field-test group for the image

Example entry:

json
{
  "image": "sidewalkpilot_dataset/photo_20260425_145756.jpg",
  "steering": 110.0,
  "repeat": 50,
  "source": "D0425_street_test"
}

Steering Label Meaning

The steering label is a servo angle in degrees.

Steering valueMeaning
0Hard left
90Straight / center
180Hard right

Steering Distribution

Steering bucketCount
0-45 hard left69
45-75 left128
75-85 soft left281
85-95 straight678
95-105 soft right547
105-135 right311
135-180 hard right199

Source Breakdown

SourceCountPurpose
D0328_first_dataset_relabel315First dataset relabel
D0329_first_dataset_relabel413First dataset relabel
D0425_street_test65Street test images
D0426_curves_shadows53Curves and shadow cases
D0427_curved_curb72Curved curb behavior
D0429_driveway_shadow_fix53Driveway and shadow cases
D0502_shadow_fix154Shadow robustness
D0502_19_hard_turn_curb_smoothness_fix156Hard turns, curb hugging, and smoothness
D0503_harsh_sidewalk159Harsh sidewalk surface cases
D0506_8pm_sidewalk24Evening / low-light sidewalk cases
D0510_v2_3_run_1167SidewalkPilot v2.3 field-run capture, run 1
D0510_v2_3_run_28SidewalkPilot v2.3 field-run capture, run 2
D0510_v2_3_run_3585SidewalkPilot v2.3 field-run capture, run 3

Image Sizes

ResolutionCount
1280 x 7201,496
1920 x 1080413
320 x 240315

The training pipeline resizes images before inference/training, so mixed capture resolutions are expected.

Basic Loading Example

python
from pathlib import Path
import json

dataset_root = Path("sidewalkpilot_dataset")
labels = json.loads(Path("steering_corrections.json").read_text())

first = labels[0]
image_name = Path(first["image"]).name
image_path = dataset_root / image_name
steering_degrees = float(first["steering"])

print(image_path, steering_degrees)

Training Use

The labels are intended for the SidewalkPilot steering trainer. Trainer code is maintained in GitHub, not duplicated in this dataset repository. The current training setup uses the image folder plus steering_corrections.json as the correction/label source.

Typical local training flow:

bash
cd code/ai_models_datasets/series_1_and_2
python3 sidewalkpilot_trainer.py \
  --roots sidewalkpilot_dataset \
  --corrections steering_corrections.json \
  --model-version 2.4

Exact training commands may differ depending on whether CARLA data, source weighting, shadow augmentation, or other augmentation settings are being used.

Evaluation Use

The dataset is used to compare SidewalkPilot model checkpoints on the same labeled image set. Common metrics include:

MetricMeaning
MAEMean absolute steering error in degrees
Median AEMedian absolute steering error in degrees
Max AELargest steering error in degrees
Signed ErrorDirectional bias of model predictions
Within 2 / 5 / 10 / 20 degreesCount of predictions inside each tolerance band
Subset MAEMAE grouped by field-test source

Intended Scope

This dataset supports the closed Series 1.x and 2.x research cycle. Series 1.x was the baseline working series, while Series 2.x pushed the same steering-only architecture to its limits and recorded the failure/iteration data used to design Series 3.x.

This dataset is finalized for the Series 1/2 Hugging Face release. New steering+throttle data should go into the separate Series 3 dataset instead.