TensorFlow implementation based on End to End Learning for Self-Driving Cars.
input.ipynb
nvidia_steering.ipynb
./bag_to_images.py dataset.bag right_camera/ /right_camera/image_color
./bag_to_images.py dataset.bag left_camera/ /left_camera/image_color
./bag_to_images.py dataset.bag center_camera/ /center_camera/image_color
./camera_timestamps.py dataset.bag timestamps-center.csv /center_camera/image_color
./camera_timestamps.py dataset.bag timestamps-left.csv /left_camera/image_color
./camera_timestamps.py dataset.bag timestamps-right.csv /right_camera/image_color
This script can extract any topic data to csv.
./bag_to_csv.py dataset.bag steering.csv /vehicle/steering_report
Image resizing, pickling and steering interpolation is implemented in steering_input.ipynb
Generating random, labeled frames from original frames:
import augmentation as aug
transformed_image, new_steering_wheel_angle, rotation, shift = aug.steer_back_distortion(
image,
steering_wheel_angle,
speed)
Generating distorted images:
import augmentation as aug
rotation = 0.01 # radians
shift = 0.5 # meters
distorted = aug.apply_distortion(img, rotation, shift)
NVIDIA_Steering.ipynb