lidar for autonomous vehicles

290
YU HUANG [email protected] SUNNYVALE, CALIFORNIA LiDAR for Autonomous Vehicles

Upload: yu-huang

Post on 13-Jan-2017

1.572 views

Category:

Software


2 download

TRANSCRIPT

Page 1: LiDAR for Autonomous Vehicles

Y U H U A N G

Y U . H U A N G 0 7 @ G M A I L . C O M

S U N N Y V A L E , C A L I F O R N I A

LiDAR for Autonomous Vehicles

Page 2: LiDAR for Autonomous Vehicles

Outline

Autonomous Vehicles technology;

Autonomous Vehicles structure;

Environment perception;

DARPA Grand Challenge; Stanford/CMU/MIT/VT;

LiDAR;

LiDAR calibration-other sensors;

Hand eye calibration;

LiDAR fusion-other sensors;

LiDAR-based lane detection;

LiDAR-based free space detection;

LiDAR-based road sign detection;

LiDAR-based traffic light mapping and

detection;

LiDAR-based obstacle detection;

LiDAR-based tracking;

LiDAR-based mapping;

LiDAR-based localization;

LiDAR-based segmentation;

LiDAR-based scene parsing;

LiDAR perception with DL;

Appendix A: ADAS;

Appendix B: Deep Reinforcement Learning (RL);

Appendix C: Generative Adversarial Network (GAN) and applications.

Page 3: LiDAR for Autonomous Vehicles

Autonomous Vehicles’ Technology

Anti-Lock Brakes

Electronic Stability control

Adaptive cruise control

Lane-departure warning system

Self parking

Automated guided vehicle systems

Lidar-Systems or Cruise Automated Systems

Infrared cameras.

Page 4: LiDAR for Autonomous Vehicles

Technology’s Components

Lane departure warning

Lazy or inattentive drivers can automatically be moved

Blind spot monitoring

Warn if cars are in blind spots

Pedestrian detection

Automatic brake or warning

Adaptive cruise control + forward collision warning

Car stays a safe distance behind cars ahead of it

Warns or takes action in case of danger

Page 5: LiDAR for Autonomous Vehicles

General Structure of Autonomous Vehicles

Page 6: LiDAR for Autonomous Vehicles

Technology’s Concept (Level 0~5)

Page 7: LiDAR for Autonomous Vehicles

Autonomous Vehicle Architecture

Environment Perception

Navigation

Vehicle Control

World Model

Communication

Page 8: LiDAR for Autonomous Vehicles

Environment Perception

Radar

Vision

LiDAR

Environment Perception

Ultrasonic

GPS

Static layer: 3D static objects and road elements; Localization layer: Accurate vehicle localization; Dynamic layer: Independently moving objects.

IMU

Page 9: LiDAR for Autonomous Vehicles

Environment Perception

o Localization-driven approaches: Control the vehicle’s pose in relation to a global coordinate system. The map data is used to provide information about the stationary

environment, especially about the course of the lanes. Even more detailed maps are used to improve the host vehicle’s global

map-relative position due to insufficient availability of a precise GNSS-based localization.

o Perception-driven approaches: Perceive the complete environment with on-board sensors.

Camera data is fused with Lidar sensor data to determine accurate distances of relevant objects.

Page 10: LiDAR for Autonomous Vehicles

Environment Perception

Page 11: LiDAR for Autonomous Vehicles

LiDAR

Video Cameras

GPS

Processing Platform

Ultrasonic

Radar

Environment Perception

IMU

Page 12: LiDAR for Autonomous Vehicles

Environment Perception

Page 13: LiDAR for Autonomous Vehicles

Environment Perception • Sensor data preprocessing: fusion raw data for the sensors to provide info. on vehicle position and motion, obstacle and environment map;

• Localization: it establishes the correspondence between the car’s present location, and the map;

• Obstacle tracking: tracking of static and moving objects;

• Path planning: Driving decisions are made using path planning method that determines one route that maximizes a plurality of criteria among multiple trajectories;

• Behaviors: a behavioral module that gradually relax constraints in the driving process to succeed in situations of unpredictable environments;

• Control: The final software component realizes control of the vehicle itself, its throttle, brake, gear shifter, and steering wheel.

Page 14: LiDAR for Autonomous Vehicles

Environment Fusion

Page 15: LiDAR for Autonomous Vehicles

Perception Driven Environment Modeling

Page 16: LiDAR for Autonomous Vehicles

Perception Driven Environment Modeling

Page 17: LiDAR for Autonomous Vehicles

Perception Driven Environment Modeling

Page 18: LiDAR for Autonomous Vehicles

Perception Driven Environment Modeling

Page 19: LiDAR for Autonomous Vehicles

Stanley (Stanford U.) oThe main technological challenge was to build a highly reliable system, capable of driving at relatively high speeds through diverse and unstructured off-road environments, and to do all this with high precision.

Long-range terrain perception, real-time collision avoidance, and stable vehicle control on slippery and rugged terrain.

oIt is 2004 Volkswagen Touareg R5 TDI, outfitted with a 6 processor computing platform (Intel), and a suite of sensors and actuators for autonomous driving; oDriven by the speed requirement for the off-road driving field unsuitable; oAlgorithms from diverse areas including distributed systems, machine learning, and probabilistic robotics.

Page 20: LiDAR for Autonomous Vehicles

Stanley (Stanford U.)

The Touareg has four-wheel drive 4WD, variable-height air suspension, and automatic electronic locking differentials; A custom interface enables direct electronic actuation of both throttle and brakes; A DC motor attached to the steering column provides electronic steering control; A linear actuator attached to the gear shifter shifts between drive, reverse, and parking gears; Vehicle data, i.e. individual wheel speeds and steering angle, are sensed automatic. and communicated to the computer system through a CAN bus interface; Special air ducts direct air flow from air conditioning into the trunk for cooling the computing system: array of six Pentium M computers, a Gigabit Ethernet switch, and various devices that interface to the physical sensors and the Touareg’s actuators; A custom-made power system with backup batteries and a switch box that enables power-cycling individual system components through software (total power is 500W); It holds the custom interface to the Volkswagen Touareg’s actuators: the brake, throttle, gear shifter and steering controller; Note: a human driver could safely operate the robot as a conventional passenger car.

Page 21: LiDAR for Autonomous Vehicles

Stanley (Stanford U.) “Treat autonomous navigation as a software problem”

Page 22: LiDAR for Autonomous Vehicles

Stanley (Stanford U.)

(a) A laser sensor is angled downward to scan the terrain in front of the vehicle as it moves; (b) Each laser acquires a three-dimensional 3D point cloud over time. The 3-d point cloud is analyzed for drivable terrain/potential obstacles.

(a) a raw image; (b) the processed image with the laser quadrilateral and a pixel classification; (c) the pixel classification before thresholding; and (d) horizon detection for sky removal.

(a) Search regions for the road detection module: The occurrence of obstacles is determined along a sequence of lines parallel to the RDDF; and (b) the result of the road estimator is shown in blue, behind the vehicle. The road is bounded by two small berms.

Page 23: LiDAR for Autonomous Vehicles

Stanley (Stanford U.) drivability map for path planner

(a) The reading of the center beam of one of the lasers, integrated over time some of the terrain is scanned twice.; (b) shows 3D point cloud; (c) resulting map without probabilistic analysis, and d map with probabilistic analysis. The map possesses a phantom obstacle, large enough to force the vehicle off the road.

Path planning in a 2D search space: (a) Paths that change lateral offsets with the min possible lateral acceleration for a fixed plan horizon; (b) the same for the max lateral acceleration.

Page 24: LiDAR for Autonomous Vehicles

Stanley (Stanford U.)

The velocity recommender module sets an appropriate maximum velocity based on estimated terrain slope and roughness; The velocity recommender is characterized by two parameters:

The maximum allowable shock, and the linear recovery rate; Both are learned from human driving;

The steering controller accepts the trajectory generated by the path planner, the UKF pose and velocity estimate, and the measured steering wheel angle;

Based on a nonlinear feedback function of cross-track error;

Damping the difference while time delay in control, inertia in steering column, more energy to dissipate as speed increases;

Page 25: LiDAR for Autonomous Vehicles

Stanley (Stanford U.)

RADAR uses linear frequency shift keying modulated LFMSK transmit wave form; it is normally used for adaptive cruise control. RADAR proved highly effective in detecting large frontal obstacles such as abandoned vehicles in desert terrain. RADAR was tasked to screen the road at a range beyond the laser sensors. If a potential obstacle was detected, the system limits speed to 25 mph so that the lasers could detect the obstacle in time for collision avoidance.

The probability of encountering large frontal obstacles was small in high-speed zones; and even if those existed, the vision system would very likely detect them. The technical risks associated with the RADAR system outweighed its benefits.

Page 26: LiDAR for Autonomous Vehicles

Junior (Stanford U.)

A modified 2006 Volkswagen Passat Wagon, a 4-cylinder turbo diesel injection engine, equipped with 5 laser rangefinders (manufactured by IBEO, Riegl, Sick, and Velodyne), an Applanix GPS-aided inertial navigation system, five BOSCH radars, two Intel quad core, and a custom drive-by-wire interface developed by Volkswagen; The 140 hp vehicle is equipped with a limited-torque steering motor, an electronic brake booster, electronic throttle, gear shifter, parking brake, and turn signals; A custom interface board provides computer control over the vehicle elements; The engine provides electric power to the computing system via a high-current prototype alternator, by a battery-backed electronically controlled power system; The cabin is equipped with switches that enable a human driver to engage various electronic interface components at will.

Page 27: LiDAR for Autonomous Vehicles

Sensor interfaces: Manage communication with the vehicle and individual sensors and

make resulting sensor data available to the rest of the SW modules.

Perception modules: Segment the environ. data into moving vehicles and static obstacles; Also provide precision localization to the digital map of the environ.

Navigation modules: Determine the behavior with a number of motion planners plus a

hierarchical FSMs for behaviors and preventing deadlocks;

Drive-by-wire interface: Controls are passed and enables SW control of the throttle, brake,

steering, gear shifting, turn signals, and emergency brake.

Global services:

Provide logging, time stamping, message-passing support, and watchdog functions to keep the software running reliably.

Junior (Stanford U.)

• Each module communicates with other modules via an anonymous publish/subscribe message passing protocol, based on the IPC Toolkit.

Page 28: LiDAR for Autonomous Vehicles

Junior (Stanford U.)

Table of processes running during the Urban Challenge

Page 29: LiDAR for Autonomous Vehicles

Junior (Stanford U.) Flow diagram of the Software

Page 30: LiDAR for Autonomous Vehicles

Junior (Stanford U.)

In many situations, multiple measurements have to be integrated over time even for static environment mapping; Integrating multiple measurements is also necessary to cope with certain blind spots in the near range of the vehicle; The exact map update rule relies on the standard Bayesian framework for evidence accumulation; This safeguards the robot against spurious obstacles that only show up in a small number of measurements; A key downside of accumulating static data over time into a map arises from objects that move;

In each polar direction away from the robot, the grid cells between the robot and the nearest detected object are observed to be free; Hence, no map updating takes place beyond this range.

Page 31: LiDAR for Autonomous Vehicles

Junior (Stanford U.)

Moving object detection is performed on a synthetic 2-D scan of the environment, synthesized from the various laser sensors by extracting the range to the nearest detected obstacle along an evenly spaced array of synthetic range sensors; Precise localization uses road reflectivity and curb-like obstacles;

The filter for localization is a 1-d (1-D) histogram filter that estimates the vehicle’s lateral offset relative to the RNDF;

Page 32: LiDAR for Autonomous Vehicles

Junior (Stanford U.) The global path planner is activated for each new checkpoint, also as a permanent road blockage leads to a topology change of the road network; The DP algorithm recursively computes for each cell in a discrete RNDF the cumulative costs of moving from each such location to the goal point; The cost function implements a balance btw navigation time and risk; The actual vehicle navigation is handled differently for common road navigation and the free-style navigation necessary for parking lots;

For free-form navigation in parking lots, utilize a second planner to generate arbitrary trajectories irresp. of a specific road structure.

Page 33: LiDAR for Autonomous Vehicles

Boss (CMU)

oA 2007 Chevrolet Tahoe modified for autonomous driving to provide computer control and also to support safe and efficient testing of algorithms; oA commercial off-the-shelf drive-by-wire system was integrated with electric motors to turn the steering column, depress the brake pedal, and shift the transmission; oThe back area were replaced with electronics racks, the steering was modified to remove excess compliance, and the brakes were replaced to allow faster braking and reduce heating; oIt still maintains normal human driving controls (steering wheel and brake and gas pedals) so that a safety driver can quickly and easily take control; oSpace to a custom center console with power and network outlets, for developers to power laptops and other accessories, supporting longer and more productive testing; oA welded tube roll cage was also installed to protect human occupants in the event of a collision or rollover during testing; oPower buses: stock Tahoe power bus remains intact with its 12-V dc battery and harnesses, auxiliary 24-V dc power system provides power for the autonomy hardware.

Page 34: LiDAR for Autonomous Vehicles

Boss (CMU)

oThe motion planning subsystem consists of two planners, each capable of avoiding static and dynamic obstacles while achieving a desired goal; oTwo broad scenarios are considered: structured driving (road following) and unstructured driving (maneuvering in parking lots);

For structured driving, a local planner generates trajectories to avoid obstacles while remaining lane; For unstructured driving, such as entering/exiting a parking lot, a planner with a four 4-d search space is used;

oThe perception subsystem processes and fuses data from multiple sensors to provide a composite model of the world to the rest of the system.

3 parts: a static obstacle map, a list of moving vehicles, and the location to the road.

oThe mission planner computes the cost of all possible routes to the next mission checkpoint given knowledge of the road network;

The mission planner reasons about the optimal path to a particular checkpoint; The mission planner compares routes based on knowledge of road blockages, the maximum legal speed limit, and the nominal time required to make one maneuver versus another.

oThe behavioral system formulates a problem definition for the motion planner to solve based on the strategic information provided by the mission planner.

o3 subcomponents: lane driving, intersection handling, and goal selection.

Page 35: LiDAR for Autonomous Vehicles

Boss (CMU)

The vehicle model describes the mapping from control inputs to state response (changes in position, orientation, velocity, etc.);

The applied vehicle model combines a curvature limit, a curvature rate limit, maximum acceleration and deceleration, and a model of the control input latency;

This model is simulated using a fixed-timestep Euler integration to evaluate the constraint equation;

The linear velocity profile takes the form of a constant profile, linear profile, linear ramp profile, or a trapezoidal profile;

The response to the curvature command function by the vehicle model defines the shape of the trajectory.

Page 36: LiDAR for Autonomous Vehicles

Boss (CMU) Moving obstacle detection and tracking

Two-lane merging

Page 37: LiDAR for Autonomous Vehicles

Boss (CMU)

Smooth and sharp trajectories

The static obstacle mapping system combines data from the scanning lasers on the vehicle to generate both instantaneous and temporally filtered obstacle maps; The instantaneous obstacle map is used in the validation of moving obstacle hypotheses; The temporally filtered maps are processed to remove moving obstacles and are filtered to reduce the number of spurious obstacles appearing in the maps; Whereas several algorithms were used to generate obstacle maps, only the curb detection algorithm is presented.

Page 38: LiDAR for Autonomous Vehicles

Boss (CMU) Capable of either estimating road geometry or localizing itself relative to roads with known geometry; To localize relative to paved roads and estimate the shape of dirt roads, which change geometry more frequently; The localization process can be thought of as transforming the pose provided by a GPS–based pose estimation system into a smooth coordinate frame registered to a road network; The localization process accumulates lane marker points (LMP) generated by laser lane marker detection; To robustly drive on roads where the geometry is not known a priori, the road shape estimator measures the curvature, position, and heading of roads near the vehicle; The road estimator uses an SIR filter (# 500 particles); Mission planning: the data provided in RNDF are used to create a graph that encodes the connectivity of the environment.

Page 39: LiDAR for Autonomous Vehicles

Boss (CMU)

The behavioral architecture is based on the concept of identifying a set of driving contexts, each of which requires the vehicle to focus on a reduced set of environmental features;

lane driving, intersection handling, achieving a zone pose.

In unstructured environment (parking lot) uses anytime D* backward planning over state space of position, orientation and speed, variable resolution;

“Anytime D* backward”

A* uses f(n)=g(n)+ εh(n), ε =1 ;

‘Anytime’ uses ε >1, which will run faster but give suboptimal solution, reduce ε and replan if time allows ;

‘D’ is dynamic, if map changes (e.g. detect new obstacle) recompute, but only for paths affected;

‘backward’ starts graph expansion from vehicle instead of goal, as observable changes are usually local.

High-level behaviors architecture

Page 40: LiDAR for Autonomous Vehicles

Boss (CMU)

Page 41: LiDAR for Autonomous Vehicles

Boss (CMU)

TROCS (Tartan Racing Operator Control Station) is an extensible GUI for developers to both monitor telemetry from Boss while it is driving and replay data offline for algorithm analysis.

Page 42: LiDAR for Autonomous Vehicles

Talos (MIT)

The Land Rover LR3 provided a maneuverable and robust platform for its excellent maneuverability, small turning radius, and large payload capacity; EMC installed computer-controlled servos on the gear shift and steering column and a single servo for throttle and brake actuation; A safe way of switching from normal human-driven control to autonomous control; Primary power: Honda 6,000-W R/V (recreational vehicle) generator; Electric power: 240 V Quanta blade server, up to 4,000 W; The 240-V ac power is fed to twin Acumentrics rugged UPS 2500 units that provide backup power to the computer and sensor systems; ADU(autonomous driving unit): link between the computers and the vehicle, also an interface to the drive-by-wire system from EMC;

The ADU incorporated a watchdog timer that would cause the vehicle to automatically enter PAUSE state if the computer either generated invalid commands or stopped sending commands entirely; The ADU also implemented the interface to the buttons and displays in the cabin and DARPA E-stop.

Page 43: LiDAR for Autonomous Vehicles

Talos (MIT) Three of the key novel features (1) a perception-based navigation strategy, (2) a unified planning and control (PNC) architecture, (3) a powerful new software infrastructure.

Additional components: • Electronic Mobility Controls (EMC) drive-bywire system (AEVIT) • Honda EVD6010 internal power generator • 2 Acumentrics uninterruptible power supplies • Quanta blade server computer system (the unbranded equivalent of Fujitsu Primergy BX600) • Applanix POS-LV 220 GPS/INS • Velodyne HDL-64 LIDAR • 12 SICK LIDARs • 5 Point Grey Firefly MV cameras • 15 Delphi radars

Page 44: LiDAR for Autonomous Vehicles

Talos (MIT)

System Architecture

Page 45: LiDAR for Autonomous Vehicles

Talos (MIT)

Safety system components

Vehicle operating modes

•ADU •EMC drive-by-wire •External kill switches •Dash mounted switch panel •Remote E-stop •Vehicle mode annunciators •Light tower and lightbar

Page 46: LiDAR for Autonomous Vehicles

Talos (MIT)

• Road paint detector. • Lane tracker. • Obstacle detector. • Hazard detector. • Fast vehicle detector. • Positioning module. • Navigator module. • Drivability map. • Motion planner (trajectory). • Controller.

Page 47: LiDAR for Autonomous Vehicles

Talos (MIT)

Page 48: LiDAR for Autonomous Vehicles

Talos (MIT)

Ground model

Page 49: LiDAR for Autonomous Vehicles

Talos (MIT)

The low-level steering control uses a modified version of pursuit control law to steer vehicle along the desired path.

Page 50: LiDAR for Autonomous Vehicles

Talos (MIT) The navigator is responsible for planning the high level behavior of the vehicle, including • shortest route to the next MDF checkpoint • intersection precedence, crossing, and merging • generation of the goal for the motion planner • generation of the fail-safe timers • blockage re-planning • passing • turn signaling

Page 51: LiDAR for Autonomous Vehicles

Talos (MIT)

Screenshot of the real-time visualization tool running “live” for an intersection testing scenario, showing RNDF and vehicle navigation information (white, green, red), lidar (blue, yellow) and camera (lower right) data, and vehicle tracker output (blue solid in intersection)

Page 52: LiDAR for Autonomous Vehicles

Talos (MIT)

Screenshot of SimCreator simulation environment, including MIT vehicle and traffic vehicles

Page 53: LiDAR for Autonomous Vehicles

Talos (MIT)

Delphi’s millimeter wave OEM automotive adaptive cruise control radars were used for long range vehicle tracking. The narrow FOV of these radars (around 18 deg) required a tiling of 15 radars to achieve the desired 240-deg FOV. The radars require a dedicated CAN bus interface each. To support 15 CAN bus networks, used eight internally developed CAN to Ethernet adaptors (EthCANs), then each adaptor could support two CAN buses. Fifteen 18-deg radars yield a wide FOV

Page 54: LiDAR for Autonomous Vehicles

Talos (MIT)

The radar subsystem complements the LIDAR subsystem by detecting moving objects at ranges beyond the reliable detection range of the LIDARs. In addition to range and bearing, the radars directly measure the closing rate of moving objects using Doppler, greatly simplifying data association.

The radar subsystem maintains a set of active tracks, propagate these tracks forward in time whenever the radar produces new data, compare the predicted position and velocity to the data returned by the radar. The first step in tracking is to associate radar detections to any active tracks. The radar produces Doppler closing rates that are consistently within a few meters per second of the truth: if the predicted closing rate and the measured closing rate differ by more than 2 m/s, disallow a match; otherwise, the closest track (in the XY plane) is chosen for each measurement.

Page 55: LiDAR for Autonomous Vehicles

Talos (MIT)

If the closest track is more than 6.0 m from the radar detection, a new track is created instead. Each track records all radar measurements that have been matched to it over the last second, then update each track’s position and velocity model by computing a LS fit of a constant-velocity model to the (x, y, time) data from the radars. Weight recent observations more strongly than older observations because the target may be accelerating. For simplicity, fitted the constant-velocity model using just the (x, y) points. The radars cannot easily distinguish between small, innocuous objects (such as a bolt lying on the ground, or a sewer grate) and large objects (such as cars). To avoid false positives, used the radars only to detect moving objects.

Page 56: LiDAR for Autonomous Vehicles

Talos (MIT)

Radar tracking three vehicles. (a) Front right camera showing three traffic vehicles, one oncoming. (b) Points: Raw radar detections with tails representing the Doppler velocity. Rectangles: Resultant vehicle tracks with speed in meters per second (size is simply for visualization).

(a) (b)

Page 57: LiDAR for Autonomous Vehicles

Odin (Virginia Tech.)

Team VictorTango divided the problem posed by the Urban Challenge into three major parts: base vehicle platform, perception, and planning; A modified 2005 Hybrid Ford Escape named Odin (The use of the hybrid-electric Ford Escape provides numerous advantages in the areas of on-board power generation, reliability, safety and autonomous operation);

Since the stock steering, shifting and throttle systems on the Hybrid Escape are already drive-by-wire, these systems can be controlled electronically by emulating the command signals, eliminating the complexity and failure potential associated with the addition of external actuators. The stock hybrid power system is able to provide sufficient power for sensors and computers without the need for a separate generator.

Perception: the Localization component determines the vehicle position and orientation in the world, the Object Classification component detects obstacles and classifies them as either static or dynamic; The planning uses a Hybrid Deliberative-Reactive model dividing upper level decisions and lower level reactions into separate components;

These components run concurrently at independent rates, allowing the vehicle to react to emergency situations without needing to re-plan an entire route; The Route Planner component is responsible for determining which road segments and zones the vehicle should use to travel to all checkpoints.

Page 58: LiDAR for Autonomous Vehicles

Odin (Virginia Tech.)

Route Network Definition File (RNDF) Cubic Spline Interpolations

Page 59: LiDAR for Autonomous Vehicles

Odin (Virginia Tech.) System Architecture

Object Classification

Page 60: LiDAR for Autonomous Vehicles

Odin (Virginia Tech.) Driving Behaviors Motion Planning

speed controller

Page 61: LiDAR for Autonomous Vehicles

Odin (Virginia Tech.)

Screenshot of simulated Odin encountering a roadblock

Page 62: LiDAR for Autonomous Vehicles

LiDAR (Light Detection And Ranging)

oLIDAR utilizes a beam of light typically with an infrared laser diode that is reflected off of a rotating mirror.

oAs the light hits non-absorbing objects the light is reflected back to a sensor that creates a map similar to the radar block diagram.

oHigher-end LIDAR systems utilize multiple beams to provide multiple distance measurements simultaneously.

oUtilized in higher fidelity applications where approximating 3 dimensions are required .

oHigher costs and require additional packaging space that prohibit their use. oSpinning LIDAR system used in Google’s autonomous vehicle costs approximately $70,000. oLow speed LIDAR systems, like Continental AG, which utilizes typically 4 beams of light oThe system used by Google for full autonomy, from Velodyne Inc., utilizes 32-64 beams for higher fidelity measurements.

oLIDAR not as accurate as RADAR systems for detecting speed. oInability to utilize the Doppler Effect compared to RADAR. oGoogle vehicle utilizes both LIDAR and RADAR sensors.

Page 63: LiDAR for Autonomous Vehicles

A pulse of light is emitted and the precise time is recorded

The reflection of that pulse is detected and the precise time is recorded

Using the constant speed of light, LiDAR instrument can calculate the distance between itself and the target with high accuracy

Knowing the position and orientation of the sensor, the XYZ coordinate of the reflective surface can be calculated

By repeating this in quick succession the instrument builds up a complex and accurate map of the car’s surroundings

LiDAR

Page 64: LiDAR for Autonomous Vehicles

History of LiDAR

Laser ranging developed in the 1960s

LiDAR terrain mapping began in 1970s

Initial systems were “single beam”, profiling devices

Early use for terrain mapping limited by lack of accurate geo-referencing

Early systems used for bathymetry

Development of global positioning systems and inertial navigation (measurement) systems improved accuracy

Page 65: LiDAR for Autonomous Vehicles

Extrinsic Calibration of LiDAR-Camera

Target-based: Zhang’04: 2D laser scanner and camera, the checkerboard pattern; Mei & Rives’06: 2D laser range finder and an omnidirectional camera; Unnikrishnan & Hebert’05, Pandey10: extension to 3d laser scanner and camera; Nunnez’09: IMU; Mirzaei’12: geometric constraint between the laser points and the plane normal; Zhou & Deng’12: decouples the estimation of rotation from translation; Li’13: stereo vision and 2D lidar; Li’07: a triangular checkerboard target; Rodriguez’08: circle-based multi-layer lidar-camera; Gong’13: a trihedral object for 3d lidar and camera; Alempijevic’06: MI-based calibration;

Targetless: Boughorbal’00, Williams’04: χ2 test; Scaramuzza’07: 3D laser scanner and omni-directional camera; Levinson & Thrun’10: surfaces; Jian & Vemuri’11: entropy with GMM; Levinson & Thrun’12: correlation of depth discontinuities and edge; Wang’12, Taylor’12, Pandey’12: MI; Sheehan’12: quality perf. by crispness; Napier’13: 2D lidar and camera, IMU; Moghadam’13: 3D line features.

Note: Devices for 3-d laser point clouds Push broom; Nodder / rocker; Rotational.

Page 66: LiDAR for Autonomous Vehicles

Auto Calibration of Lidar & Camera

Internal parameters (or intrinsic) govern the internal workings of the 3D sensor:

ToF cameras require calibration of camera projection matrix, and phase-delay latency. Velodyne Lidar requires recovering a scale, offset and the elevation angle for each of the rotating laser scanners. A line scanning Lidar mounted on rotating platform estimating a rigid body transform btw the instantaneous center of rotation of the Lidar’s spinning mirror ( LICR) and that of the platform motor (MICR).

Page 67: LiDAR for Autonomous Vehicles

Automatic Camera and Range Sensor Calibration using a single Shot

I. Camera-to-Camera Calibration Corner detection & refinement Structure recovery & checkerboard matching

II. Camera-to-Range Calibration Segmentation & global registration Fine registration & solution selection

Page 68: LiDAR for Autonomous Vehicles

Automatic Camera and Range Sensor Calibration using a single Shot

1. Segmentation is leveraged to identify planes in the range data; 2. Transformation hypotheses are generated by random plane associations; 3. The best ones are refined and verified; 4. A final non-maxima suppression step yields all feasible solutions .

Fine Registration by ICP

Page 69: LiDAR for Autonomous Vehicles

Automatic Camera and Range Sensor Calibration using a single Shot

Page 70: LiDAR for Autonomous Vehicles

Targetless Lidar-Camera Calibration

Plain depth info. is expected from the lidar scan; What can be done when neither a special target nor point correspondences are available? Regarded as a 2D-3D registration problem using a minimum of one (for extrinsic) or two (for intrinsic-extrinsic) planar regions visible in both cameras; The registration is accomplished by solving system of nonlinear equations based on that the alignment of nonlinear shape deformations are recovered via the solution of a special system of equations.

Page 71: LiDAR for Autonomous Vehicles

Targetless Lidar-Camera Calibration

Input: 3D point cloud and 2D binary image representing the same region, and the calibration matrix K Output: Parameters of the camera matrix P

1. Normalize the input 3D points into the unit cube and 2D points into unit square centered in the origin;

2. Triangulate the region represented by the 3D point cloud;

3. Construct the nonlinear equations; 4. Initialize camera matrix as P=[I|0]; 5. Solve the nonlinear system of

equation with the L-M algorithm; 6. Unnormalize the solution.

Page 72: LiDAR for Autonomous Vehicles

Targetless Lidar-Camera Calibration

Page 73: LiDAR for Autonomous Vehicles

Calibration of Range Sensor Pose on Mobile Platforms

Vertical pole with retro reflective tape. The mobile platform observes pole from different angles to calculate sensor location.

A typical platform and sensor configuration

vehicle pose

location of body Sensor rotation

sensor offset

1. A simple environ. of known geometry is constructed; 2. The robot scans this environ. and builds a set of 3D points; 3. Error b.t.w. known geometry and data is minimized w.r.t. the six sensor offset variables.

Page 74: LiDAR for Autonomous Vehicles

On-line Calibration of Multi LIDARs on Mobile

2. A priori information such as a default LIDAR calibration, calibration tolerances, etc., can be readily modeled.

1. The original non-linear calibration model is reformulated as a second-order cone program (SOCP), solved by interior point methods (IPM).

1) Operate LIDARs while driving through a calibration loop. 2) Automatically segment robust LIDAR features from each calibration loop. 3) Recover inter-loop feature correspondences across successive calibration loops. 4) Estimate LIDAR calibration using the recovered point correspondences through 2nd-order cone programming.

Page 75: LiDAR for Autonomous Vehicles

On-line Calibration of Multi LIDARs on Mobile

SOCP

GPS bias

Given the vehicle pose , get LiDAR extrinsic calibration parameters .

Page 76: LiDAR for Autonomous Vehicles

Calibration of a rotating multi-beam Lidar

o Velodyne HDL-64E S2: it consists of 64 lasers located on a spinning head which can spin at a rate of 5 to 15 Hz, and provides 3D data about its surroundings at a rate of 1.33 million points per second. o Ibeo LUX: it scans its surroundings in four parallel layers. o A multi-beam lidar system is modelled as a set of rays, i.e. straight lines, which define the position and orientation of laser beams in a sensor-fixed coordinate frame. o The intrinsic calibration for such systems is the estimation of parameters that define the position and orientation of each of the laser beams. o A calibration environment can be designed and constructed to acquire lidar data for calibration.

Page 77: LiDAR for Autonomous Vehicles

Calibration of a rotating multi-beam Lidar

Each of the 64 lasers is characterized by 5 parameters that are required to convert the distance value returned by the laser to 3D point coordinates.

lidar spinning angle

Page 78: LiDAR for Autonomous Vehicles

Autocalibration of LIDAR-Cameras via Edge Alignment

FISTA

Page 79: LiDAR for Autonomous Vehicles

Extrinsic Calibration of Multi-layer Lidar and Camera

Page 80: LiDAR for Autonomous Vehicles

Unsupervised Calibration for Multi-beam Lasers

Recover optimal parameters for each beam’s orientation and distance-response function, also a fully probabilistic generative model for each beam’s remittance response to surfaces of varying reflectivity; Recover the sensor’s extrinsic pose relative to the robot’s coordinate frame; Requires no specific calibration target, only assuming contiguous surfaces; An energy function on point clouds which penalizes points that are far away from surfaces defined by points from other beams as:

Grid search for extrinsic calibration only, but take empirical derivatives of the energy function across pairs of beams for intrinsic calibration; A generative model of each beam’s response to surfaces using EM.

the surface normal

point-to-plane ICP

Page 81: LiDAR for Autonomous Vehicles

Unsupervised Calibration for Multi-beam Lasers

Page 82: LiDAR for Autonomous Vehicles

Hand-Eye Calibration

Hand-Eye Calibration is the simultaneous computation of two unknown spatial relationships in a circle of spatial relationships, where a camera ("eye") was mounted on the gripper ("hand") of a robot;

Transform from camera to gripper X (hand-eye transform)=[R, t], camera motion A=[Ra,ta]and robot motion B =[Rb,tb], then the calibration problem: get X from AX=XB;

Page 83: LiDAR for Autonomous Vehicles

Method 1: First Determine R Then T

Kabsch algorithm: Ra,iR = RRb,i

R estimated first: SVD-based

Pi=Xb,iPi-1, Qi=Xa,iQi-1, with P0=Xb,0, Q0=Xa,0;

Cross covariance matrix: C=PTQ;

SVD: C=VSWT;

Rotation matrix: d=sign(det(WVT)) for right handed

Then solve t: t=(Ra-I3)-1(Rtb-ta);

Page 84: LiDAR for Autonomous Vehicles

Method 2: Simultaneously Determine R&T

Dual Quaternion: treat rotation and translation in a unified way; Transform [R, t] defined as , with (Note: q for R); Translation t is recovered by: (Note: is conjugate quaternion, );

Denote camera motion a, robot motion b, and hand-eye transform q, then hand-eye calibration is to solve the equation: ; Rewrite dual quaternion as

Equivalent to a 3-d line-based motion estimation problem as: ; SVD-based solution: n>1

The last two columns in V span the null space:

Choose the λ1, λ2 for the largest value for (Note: s=λ1/λ2 ).

qqba

'iqq

qqt '2 q1,2/'

2 iqtq

))(2/)sin((

)2/)cos((

milid

idq

dual angle

dual vector

))2/sin(),2/(cos( lq

))2/)(2/cos()2/sin(,2/)2/sin((' ldmdq

1qq

qbqa ),0(),0(

Page 85: LiDAR for Autonomous Vehicles

Fixing the Scaling Factor in SfM

Scaling factor in translation is unknown in SfM;

Kabsch: Estimate rotation first;

Assume the scaling factor for translation ta,0 as λ: tai = λ uai;

Define LS solution: (Rai-I3)t + λ uai = Rtbi;

If Rai ≈I, then λ uai ≈ Rtbi (if normalized of both sides, uai ͌ Rtbi);

Dual quaternion: estimate R and t simultaneously

Integrate scale into dual quaternion for similarity transform;

Scale is modeled as the norm:

Additional constraints:

Eventually it is formulated as a NLS problem:

2/__ qtiqiqqq dsndss

|| sq

0____ dsdsndsnds qqqq

2

______ ),( i ndaindsndsndbindsds qqqqqqf

2

______1__i ndaidsdaindsndsdbidsndbi qqqqqqsqq .)(2*

__

*

__ ndsdsdsnds qqqq

*

__

*

__

1

1

ndsdsdsnds qqqqs

Page 86: LiDAR for Autonomous Vehicles

Fixing the Scaling Factor in SfM

Assume either unique scaling factor (PNP-based pose estimation after first stereo matching) or scaling factors (pose estimation from R&t decomposition of Essential matrix) for every camera poses;

1. Multiple scaling factors: i=0,1,…k LS solution (k=1): D(k+3)x(k+3)ek+3=f

2. Unique scaling factor : i=0,1,…k LS solution (k=1): A4x4b4x1=c4x1

(Rci-I3)tT+stciT=Rtvi

T

(Rci-I3)tT+sitciT=Rtvi

T

Page 87: LiDAR for Autonomous Vehicles

Auto extrinsic calibration by maximization mutual information

Calculate the correlation coefficient for the reflectivity and intensity values for lidar scan-image pair at different values of the calibration parameter and observe a distinct maxima at the true value;

Joint histogram of the laser reflectivity and the camera intensity values is least dispersed when calculated under the correct transformation parameters;

Mutual Information (MI) based data fusion criterion to estimate the extrinsic calibration parameters between the two sensors assuming that the data is, for the most part, not corrupted by lighting artifacts;

Marginal and joint probabilities p(X, Y) are estimated by KDE, then MI is formulated as a function of extrinsic parameters;

Apply Barzilai-Borwein (BB) steepest gradient ascent algorithm; Cramer Rao Lower Bound (CRLB) of variance is calculated by Fisher info.; It can be used for any standard laser-camera system (monocular too).

Page 88: LiDAR for Autonomous Vehicles

Auto extrinsic calibration by maximization mutual information

Barzilai-Borwein (BB) steepest gradient ascent

Page 89: LiDAR for Autonomous Vehicles

Auto extrinsic calibration by maximization mutual information

Page 90: LiDAR for Autonomous Vehicles

Auto extrinsic calibration by maximization mutual information

Page 91: LiDAR for Autonomous Vehicles

Automatic Calibration of Multi-Modal Systems using a Gradient Orientation Measure (GOM)

Page 92: LiDAR for Autonomous Vehicles

Automatic Calibration of Multi-Modal Systems using a Gradient Orientation Measure (GOM)

To convert the lidar data from a list of 3-D points to a 2-D image that can be compared to the camera’s images, the points are first passed into a transformation matrix that aligns the camera’s and the world axis. One works as pinhole, and another (panorama) projects points onto a cylinder.

Page 93: LiDAR for Autonomous Vehicles

Automatic Calibration of Multi-Modal Systems using a Gradient Orientation Measure (GOM)

To calculate gradients of 3-d points, they are first projected onto a sphere centered at the estimated location of camera.

Page 94: LiDAR for Autonomous Vehicles

Automatic Calibration of Multi-Modal Systems using a Gradient Orientation Measure (GOM)

Large changes in image intensity usually occurs due to material differences or object geometric properties; Therefore a reasonable assumption with multi-modal images is that these environment properties will provoke changes in both modalities; GOM operates by calculating how well the orientation of the gradients between two images are aligned;

Page 95: LiDAR for Autonomous Vehicles

Automatic Calibration of Multi-Modal Systems using a Gradient Orientation Measure (GOM)

Cost function is typically non-convex, in particular with single-scan configuration; Non-convex optimization required to find maximum; The pipeline uses particle swarm optimization (PSO); PSO randomly places an initial population of particles (~500) in the search space; On each iteration a particle moves to a new location; The optimizer stops once all particles have converged.

Page 96: LiDAR for Autonomous Vehicles

Auto online calibration of cameras and lasers

Probabilistic monitoring by detecting sudden miscalibration and then correction; Continuous calibration optimization via adjusting transform offsets in real time and tracking gradual sensor drift as it occurs;

The local shape of the objective function at the current parameters can be used to determine whether the sensors are calibrated.

Accurate camera-laser calibration will cause the green points (depth discontinuities) to coincide with the red edges (inverse DT) more than an inaccurate calibration will.

Page 97: LiDAR for Autonomous Vehicles

Auto online calibration of cameras and lasers

Given a calibration C, project all laser points in Xi onto the image Di using basic geometry; The objective function JC over just the last w frames, where w is our window size:

where f iterates over all frames, p iterates over all 3D points in Xf , and (i, j) refers to the coordinates in image space onto which point p projects; Sums up depth discontinuities at each laser return in X times “edginess” of D for some C; A solution: consider the two separate distributions of FC across a number of training frames, one for correct calibrations and the other for incorrect calibrations, then fit a Gaussian to each of the two distributions, to compute, for any value of FC, the probability that it was sampled from one distribution versus the other.

Page 98: LiDAR for Autonomous Vehicles

Auto online calibration of cameras and lasers

Tracking calibration errors in real time.

With online tracking, transform updates in real time, adjusting to the perturbations, and ends up almost perfectly calculating the synthetic shift all the way.

Initially, the transform is correct.

Synthetically perturb two translation and two rotation parameters resulting in a badly mis-calibrated sensor.

Page 99: LiDAR for Autonomous Vehicles

Fusion and Upsampling of EO/LIDAR Data for Multiple Platforms

(1) Depth Map Projection: The point cloud is projected onto the camera; (2) Depth Normalization: Normalizes distances of point cloud points to camera; (3) Backfilling: Given the point cloud and projected into the camera, creates a much more dense new point cloud; (4) Point Cloud Painting (Inverse of Depth Map Projection): Project point clouds prior projected into the image back out into a new point cloud.

Page 100: LiDAR for Autonomous Vehicles

Fusion and Upsampling of EO/LIDAR Data for Multiple Platforms

(1) The LIDAR point cloud and camera image are fused. (2) Scan over the image with windows to backfill (deduce) a point at its center. (3) Select support points closest to the camera. (4) Select the top N points from the metric. (5) Have n points with at least one point in each quadrant. (6) Use a linear model to predict the missing point.

Page 101: LiDAR for Autonomous Vehicles

LiDAR-based Lane Detection

Evidence mapping of 3D lidar data onto a 2D grid. (Darker spots to high evidence for an obstacle, white cells to drivable area; unknown cells are marked as grey.)

Page 102: LiDAR for Autonomous Vehicles

LiDAR-based Lane Detection

Lane marker map created on intensity data only (a) with its corresponding Radon transform (b); lane marker map created on intensity data and height data (curbs) (c) with its corresponding Radon transform (d) and a 3D plot of a region of (d) to visualize the robust line estimation of the Radon transform (e).

Page 103: LiDAR for Autonomous Vehicles

LiDAR-based Lane Detection

Page 104: LiDAR for Autonomous Vehicles

LiDAR-based Lane Detection

o Raw images acquired by a set of cameras are processed independently and asynchronously to produce lane boundary detections, assisted by real-time vehicle pose estimates and (optionally) obstacles detected from lidar data. o Spatial/temporal data fusion combines all visual detections, along with curb boundaries (optionally) obtained from lidar data, and outputs high-confidence lane candidates. o Lanes are estimated and tracked over time, influenced by curvature constraints and priors generated from map data if available.

Page 105: LiDAR for Autonomous Vehicles

ESTRO: AV at ETRI (Korea)

Page 106: LiDAR for Autonomous Vehicles

ESTRO: AV at ETRI (Korea)

On-road markers extraction: (a) original image of normal road, (b) extraction for speed bumper, (c) original image of stop line, (d) extraction for stop line, (e) original image of lane, (f) extraction for lane.

(a) (b)

(c) (d)

Curb extraction: (a) image of continuous curb, (b) extraction for continuous curb, (c) image of discontinuous curbs, and (d) extraction for discontinuous curbs.

Page 107: LiDAR for Autonomous Vehicles

LiDAR-based Free Space (Drivable-Region) Detection

Page 108: LiDAR for Autonomous Vehicles

LiDAR-based Free Space (Drivable-Region) Detection

(a) Original; (b) bird’s-eye view after homography transform; (c) result of top-hat transform; (d) result of vertical-gradient detection by Prewitt operator; (e) result after local OTSU thresholding, after the image was divided into two parts; (f) result after PPHT; (g) result after line combining; (h) final result.

Page 109: LiDAR for Autonomous Vehicles

LiDAR-based Drivable-Region Detection with GeoMap

Page 110: LiDAR for Autonomous Vehicles

Intersection Safety using Lidar and Stereo

long range radar (LRR)

short range radars (SRR)

Page 111: LiDAR for Autonomous Vehicles

Intersection Safety using Lidar and Stereo

Page 112: LiDAR for Autonomous Vehicles

Laser-based Obstacle Detection & Tracking

Page 113: LiDAR for Autonomous Vehicles

Laser-based Obstacle Detection & Tracking

LIDAR rays impacting on the road create a smooth projection shown. By finding strong distance variations between close points, estimate the position of the object and analyse each layer independently. A list of layer-clusters is extracted from the cloud of points. In the presence of an obstacle, clusters of different layers are at the same X and Y coordinates, but at a different Z coordinate. The layer clusters are matched to each other in order to make groups of clusters which are located very close between them. The group composed by three or more different layers is labeled as an obstacle and an identification number is assigned for obstacle tracking.

In the obstacle tracking stage, one counter is increased when the obstacle is detected and another one is incremented when the obstacle is not detected. Those obstacles that are lost during more than five consecutive iterations are removed from the list. Obstacles detected more than five consecutive times are considered in the path-planning stage. The data association problem is solved by using the Euclidean distance between different cluster centroids.

Page 114: LiDAR for Autonomous Vehicles

LiDAR-based Pedestrian and Vehicle Detection

Page 115: LiDAR for Autonomous Vehicles

LiDAR-based Pedestrian and Vehicle Detection

Page 116: LiDAR for Autonomous Vehicles

LiDAR-based Object Detection by Voting for Voting

The point cloud (top left) is discretised into a 3D grid; For each occupied cell, points are mapped to a feature vector; Unoccupied cells mapped to zero feature vectors. The point cloud is converted to a feature grid; A 3D sliding window through the feature grid, a classifier evaluates for the evidence of an object; The process repeats for each rotation angle.

Page 117: LiDAR for Autonomous Vehicles

LiDAR-based Object Detection by Voting for Voting

Left column: hard (but not moderate), instances containing # of measurements m < 50. Middle column: moderate (but not easy), instances containing # of measurements 50 <= m < 150. Right column: easy, instances containing #s of measurements m >= 150.

For the linear classifier, we deploy a linear SVM for training. An initial set of negative examples (equal to the number of positive examples) are randomly sampled from the training data taking care not to overlap with any positive examples. Taking this initial set of training examples, adopt the standard hard negative mining technique. After training, the classifier is applied back on all the training frames. All false positive detections from this classifier on all the training frames are collated, and sorted in descending order of the detection score. The first N (or all of the false positives if there are less than N of them) are then taken and added to the set of negative examples. The classifier is then retrained with this updated training set and this process may iterate for a predefined number of rounds. Fix N to be 10000 and conduct 20 rounds of hard negative mining.

Page 118: LiDAR for Autonomous Vehicles

LiDAR-based Road Sign Detection

Page 119: LiDAR for Autonomous Vehicles

LiDAR-based Traffic Light Mapping and Detection

To obtain light locations in global coordinates, record sensor log comprising both vehicle pose & camera data; Manually select lights relevant to the trajectory from video and track them using CamShift, to adjust the bounds of an ellipse such that a hue histogram taken over its interior matches that of the original selection; Modeling the perceptual offset as a bounded plane centered and oriented as the traffic light in world space; Use ‘grid’ to restrict implied distance from the camera, assuming a light mapping prior wrt latitude/longitude; Belief about the offset: histogram over bounded plane (normalized grid) and update recursively by Bayes rule; Given posterior of the perceptual offset over grid cells, select the cell with the most likely location of the light; Report the most likely state at that grid cell determined by data scores.

The ray d from camera lens with local position C-C0 to the traffic light lens as

Page 120: LiDAR for Autonomous Vehicles

LiDAR-based Traffic Light Mapping and Detection

Traffic Light Detection

Given car pose and an accurate prior map of traffic light locations, predict when traffic lights should be visible; The color segmentation classifier used to find appropriately-sized brightly colored red and green blobs within each predicted BB; The structure of the light as geometric constraints on the low-level blobs and decide which elements are actually illuminated; Temporal filtering smoothes the detector output by assuming that if there is no new classification then the light state has not changed.

Automatic Mapping System

Page 121: LiDAR for Autonomous Vehicles

LiDAR Based Off-road Negative Obstacle Detection

Page 122: LiDAR for Autonomous Vehicles

Sensor Fusion for Object Detection & Tracking

Page 123: LiDAR for Autonomous Vehicles

Sensor Fusion for Object Detection & Tracking

Frontal Object Perception (FOP) - Moving Object Detection (MOC)

Page 124: LiDAR for Autonomous Vehicles

Multi-Sensor Fusion for Moving Object Detection & Tracking

Page 125: LiDAR for Autonomous Vehicles

Multi-Sensor Fusion for Moving Object Detection & Tracking

Data association methods for each sensor. (a) Camera: predicted moving object hypotheses are projected into the image space and then associated with a set of detected ‘vision targets’. (b) LIDAR: a set of possible ‘edge targets’ are generated from the predicted moving object hypotheses and then associated with a set of extracted ‘edge targets’. (c) Radar: a set of possible ‘point targets’ are generated from the predicted moving object hypotheses and then associated with a set of detected ‘point targets’.

Page 126: LiDAR for Autonomous Vehicles

Multi-Sensor Fusion for Moving Object Detection & Tracking

Tracking of a pedestrian (a), Tracking of a bicyclist (b), which was enabled by the vision recognition system. (c) Mirroring target issue. (d) Tracking of a vehicle in far distance. (e)-(h) Vehicle tracking results in various situations.

Page 127: LiDAR for Autonomous Vehicles

Large Scale Localization in Changing Cities with 2D LIDAR

A probabilistic experience-based approach to localization with 2D push-broom LIDAR sensors. Build locally metric 3D “swathes” using odometry info. Use GPS as a “weak localizer” to find the most relevant experiences for the current swathe, then localize the swathe with a robust sample-based method. If the current swathe is not matched with sufficient accuracy, a new experience is created to capture more environment detail in difficult localization conditions.

Local 3D swathe construction from 2D laser scans and vehicle trajectory

Page 128: LiDAR for Autonomous Vehicles

Large Scale Localization in Changing Cities with 2D LIDAR

a 2D LIDAR scan distance reflectance measurement

the estimated pose by integrating over the period

“Swathe” as local 3D point cloud produced by projecting 2D scans S along the continuous-time trajectory Collection of all maps M (GPS and “swathe”)

Localization: estimating the pose of the vehicle

The location prior as:

Page 129: LiDAR for Autonomous Vehicles

Large Scale Localization in Changing Cities with 2D LIDAR The prior 3D map (a) and local 3D swathe (b) are both converted to a mesh rasterised to 2D reflectance (c) and height (d) images using a top-down orthographic projection. The prior map is rasterised at slightly higher resolution, and the swathe is rasterised at a number of orientation offsets. The tiled cost images (e) are formed by computing the squared difference between reflectances and heights of the map and swathe at a series of additional translational offsets. The height at each pixel of the reflectance images is extracted from the z-buffer. The tiled cost images are reduced to low-resolution cost images (f) and stacked to form a cost volume, and a mean and cov is fit to the volume (g), forming swathe localisation estimate.

Page 130: LiDAR for Autonomous Vehicles

Lidar Map-Based Vehicle Localization

Road mapping with GraphSLAM

A grid cell representation: each cell stores both the average infrared reflectivity and variance;

Post-process all trajectories to alignment of overlap areas;

GraphSLAM: vehicle poses are linked by inertial and odometry data, and matched sections from log files (loop closure) are linked by alignment offsets (computed by ICP);

Unsupervised calibration of laser beams: a response curve for every beam.

Calibrate beam intensity to have similar response curves;

Project calibrated laser returns from aligned trajectories into a HR probabilistic map;

Orthogonal x,y representation with each cell as 15x15cm patch of ground.

Page 131: LiDAR for Autonomous Vehicles

Lidar Map-Based Vehicle Localization

Road mapping with GraphSLAM The vehicle transitions through a sequence of poses;

Poses are linked together through relative odometry data, acquired from the vehicle’s inertial guidance system;

To eliminate the effect of non-stationary objects in the map on subsequent localization, fits a ground plane to each laser scan, only retains measurements that coincide with this ground plane;

For any pose and any (fixed and known) laser angle relative to the vehicle coordinate frame, the expected infrared reflectivity can easily be calculated;

Model the systematic nature of the noise through a Markov chain, which uses GPS bias term as a latent variable;

A key step in GraphSLAM, is to first integrate out map variables;

Map matching compares local submaps, in order to find the best alignment by identifying overlap.

Page 132: LiDAR for Autonomous Vehicles

Lidar Map-Based Vehicle Localization

Online localization by histogram filter

2-d histogram filter for x,y offsets as likeli. distribut. of vehicle location;

Motion update: reduce estimate confidence on motion; A ”smooth coordinate” system invariant to GPS jump;

Offset from the global coord. system modeled by random walk with Gaussian noise;

Practically only consider neighb. cells with distance 2~3 from the cell to be updated;

Measurement update: increase confidence in estimate on sensor data; Build a rolling grid from accumulated sensor and compare cells btw sensor and map;

Product over all cells of the probability of observing the sensor data given the map;

Most likely estimate map cell of GPS offset: mr(i,j)

m - map r - reflectivity mean

⍺ >1

☌- reflectivity variance

Page 133: LiDAR for Autonomous Vehicles

Lidar Map-Based Vehicle Localization

Online localization by particle filter

Monte Carlo localizer: The particle filter maintains a 3-d pose vector (x, y, and yaw); roll and pitch are assumed to be sufficiently accurate as is;

Measurements are integrated in the usual way, by affecting the importance weight that sets the resampling probability;

As in the mapping step, a local ground plane analysis removes measurement that correspond to non-ground objects;

A small number of particles are drawn from current GPS pose estimate;

Normalize the brightness and standard deviation for each individual range scan, and also for the corresponding local map stripes.

Pearson product-moment correlation

Page 134: LiDAR for Autonomous Vehicles

Model Based Vehicle Detection & Tracking

Ground Removal

o 3d data scan: slice space directly above ground and up to 2m high;

o Objects elevated more than 2m above ground – not obstacles;

Low obstacles such as curbs excluded from virtual scans;

o Build a 3d grid in spherical coordinates, compute the median range of sensor data falling within each spherical grid cell;

o “Virtual ray” as the cone from the grid origin to the obstacle point;

o Select a single slice of vertical angles from the spherical grid, from the lowest to the highest;

o Simple thresholding to classify ground sensor data;

Local ground elevation estimation;

Classify remaining non-ground sensor data:

Low, medium and high obstacles;

Filter out (medium): birds, insects and occasional from cat-eye reflectors.

Page 135: LiDAR for Autonomous Vehicles

Model Based Vehicle Detection & Tracking

Sensor Data: Virtual Scan

A grid in polar coord.s: subdivide 360◦ into angular grid cells (cone);

Information: free, occupied or occluded( note: angular resolution);

Allow constant time look-up for any given point in the space;

Measurement model: given pose X, geometry G, virtual scan Z

Assume independence of measurements along each ray.

Page 136: LiDAR for Autonomous Vehicles

Model Based Vehicle Detection & Tracking

Tracking by ADH(Annealed Dynamic Histogram)

o A grid-based method to sample velocities from the state space;

o Efficient sample from a large grid in real time by a way called Annealed Dynamic

Histograms (ADH);

Sampling with a coarse grid, then for each sample, compute the probab. of the state using the DBN model;

Then subdivide some of grid cells to refine the distribution;

In practice, compute by a kd-tree to look-up NN in the grid cell.

o Use the latent surface in the measurement model to guide how to select model para;

o A set of points is sampled independently from the surface of the object;

o Multi modal: color, shape and motion;

nearest predicted points from motion

Page 137: LiDAR for Autonomous Vehicles

Model Based Vehicle Detection & Tracking

Track-based Classification

Solve a multiclass problem: car, pedestrian, bicyclist, or background;

Stanford Track Collection (STC): 1.3 million labeled segmented objects across roughly 14,000 tracks, a max range of 70m and mean range of 30m;

Descriptors for classifiers:

Segment descriptor: oriented bounding box size, 4 different parameterizations of spin images, 24 different HoG from virtual orthographic camera intensity images;

Spin images based on the vertical axis, “whitened”, i.e. scaled to have zero mean and unit variance;

Holistic descriptor: max and mean speed, max and mean acceleration, max angular velocity, segment descriptors;

Track-based classifier within a boosting framework:

Segment classifier: given appearance of an object at a point in time;

Holistic classifier: given appearance of speed, acceleration ,other properties as a whole;

A 1-vs-all scheme with GentleBoost and JointBoost.

The augmented discrete Bayes filter (ADBF) Equivalent to logistic regression on the output of the holistic and segment classifiers with an

intercept term (the variable length of tracks);

Page 138: LiDAR for Autonomous Vehicles

LOAM: Lidar Odometry and Mapping

KITTI benchmark

Page 139: LiDAR for Autonomous Vehicles

LOAM: Lidar Odometry and Mapping

Page 140: LiDAR for Autonomous Vehicles

LOAM: Lidar Odometry and Mapping

Page 141: LiDAR for Autonomous Vehicles

Visual-LiDAR Odometry + 3D IMU

Page 142: LiDAR for Autonomous Vehicles

Visual-LiDAR Odometry + 3D IMU

Page 143: LiDAR for Autonomous Vehicles

Visual+LiDAR Mapping + GPS/INS

Page 144: LiDAR for Autonomous Vehicles

Visual+LiDAR Mapping + GPS/INS

Finding Lanes and Curves

Page 145: LiDAR for Autonomous Vehicles

Visual+LiDAR Mapping + GPS/INS

Lane Departure Warning Curve Overspeed Warning

Page 146: LiDAR for Autonomous Vehicles

Velodyne SLAM

Pre-Processing:

Page 147: LiDAR for Autonomous Vehicles

Velodyne SLAM

Localization: Deskewing:

Mapping:

Map Refinement:

ICP

a map is a loose collection of surfaces in a world reference frame

The map is stored in a 3D grid structure with each cell containing maximally one surface according to its 3D position. The grid resolution hence defines the level of detail of the map.

The idea for refinement is similar to the adaptation step.

Page 148: LiDAR for Autonomous Vehicles

LiDAR Segmentation (Clustering)

Page 149: LiDAR for Autonomous Vehicles

LiDAR Segmentation (Clustering)

Surface-based segmentation approaches

Edge-based [B00, SD01]

Curvature-based [BJ88, HJJ96, PBJ98]

Scanline grouping [JB94, KMK03]

Geometric primitives [MLM01, BG06, SWK07]

Smooth regions [RHV06, RMB08]

Norm vector:

Optimization-based;

Averaging;

Graph: K-NN and Delaunay triangulation;

Curvature values;

Surface variation.

Page 150: LiDAR for Autonomous Vehicles

LiDAR Segmentation (Clustering)

Occlusion: Model-free (hole filling) [DF02, WO03, BPB06];

Model-based (object recognition) [B00, BI00, TB07];

Occlusions cause over-segmentation;

Reason about plausibility of occlusion [DF02];

Merging over-segmented surfaces Identify candidate surfaces by 4 distance measures;

Identify pairs of boundary points on each segment;

Check connecting lines for occlusion Create an omnidirectional range image (ORI) for all

points observed from one view point;

For each boundary line check the corresponding line in the image for occlusion;

Page 151: LiDAR for Autonomous Vehicles

LiDAR Segmentation (Clustering)

Classification: use the segmented surfaces as an abstract representation for detecting objects;

Segment features: Centroid, normal vector, surface variation, axis-

aligned bounding box, convex hull etc.

Train primitive classifiers for parts

Find structure in neighboring classified segments Convert neighborhood relationship to graph

Complete/sub-graph matching

Part-based approaches

Train with object CAD models or real 3-d point cloud data?

Page 152: LiDAR for Autonomous Vehicles

LiDAR Graph-based Segmentation

Separation from the ground: dimension reduction; Projection to a ground plane;

Projection to a virtual image plane to a so-called range image;

Graph methods:

Neighborhood graph construction;

Attribute calculation;

Segmentation: based on local convexity;

1) Select a seed node randomly 2) Grow the segment until no more nodes are added 3) Delete the segment from the graph

Page 153: LiDAR for Autonomous Vehicles

LiDAR Graph-based Segmentation

3D point cloud (blueness as height) -> Neighborhood Graph ->Normal vectors ->Segmentation

Concave street in a tunnel -> Convex gateway ->3D point cloud (Blue as height, red as depth) ->Segments

Page 154: LiDAR for Autonomous Vehicles

LiDAR Graph-based Segmentation

Page 155: LiDAR for Autonomous Vehicles

LIDAR-based 3D Object Perception

oA 2.5-D ego-centered occupancy grid of 100mx100m, each cell covering a small ground patch of 0.15mx0.15m;

o Each cell stores a value expressing how occupied that cell is by an obstacle;

o Inertially motion compensate the LIDAR scan (IMU/odometry info.);

o Each cell’s value is the max abs. diff. in z-coord.s of all points in the respective grid cell;

o When a grid cell is hit by a laser beam and its occupancy value is updated, store the laser read at the cell;

oSegmentation: Find connected components of grid cells;

oClassification: SVM;

o Augment the grid with a facility to answer queries for data as arbitrary polygons, with vertices defined in the ego coord. system;

o Given a query, transform vertex coord.s from ego to grid and split polygon into triangles;

o Issue the triangle scan conversion, such that every cell in the orig. polygon will be visited;

o Answering the query: collecting all the laser reads stored at the visited cells;

o Object level and hist.s of point level features (by Anguelov and Lalonde): 28-d vector.

Occupancy grid

Querying data from the occupancy grid

Page 156: LiDAR for Autonomous Vehicles

LIDAR-based 3D Object Perception

Occupancy grid with objects segmentation

Positive examples (top 4 rows) and negative examples (bottom 4 rows).

Tracking with position and velocity estimates

Page 157: LiDAR for Autonomous Vehicles

Real-time LiDAR Segmentation & Classification

grid processing

How to fill the Diff image from the Min and Max images? 1. For location of the window <i,j> find the min

pixel value Pmin in the Min image. 2. Mark Diff image location <i,j> as 255 if

abs(Pmin Pmax(i,j) >= T and the cell is not empty

3. Move window to the next location.

Page 158: LiDAR for Autonomous Vehicles

Real-time LiDAR Segmentation & Classification

Segmentation with the rectangular grid filling the Min and Max images of rectangular grid

Page 159: LiDAR for Autonomous Vehicles

Real-time LiDAR Segmentation & Classification

Segmentation with the radial grid Filling the Min and Max images for the radial grid

Page 160: LiDAR for Autonomous Vehicles

Lidar-based Segmentation and Classification

LiDAR data preprocessing: road direction;

Segmentation: surface growing (region growing in 2-d image), ground points removal, CCA;

Feature extraction: shape, contextual, eigenvalue.

Classification: segment-based.

Page 161: LiDAR for Autonomous Vehicles

Lidar-based Segmentation and Classification

Page 162: LiDAR for Autonomous Vehicles

LiDAR-based Ground Segmentation

• Method categories: 1. Elevation map methods: 3D point cloud is projected onto a horizontal plane with an

elevation map to reduce dimensionality, which is commonly classified as 2.5D grid model; o Problem: Under-segmentation, hard to select the appropriate threshold for sloped ground with

vegetation, hills, or curbs in outdoor environments.

2. Ground modeling methods: A line-based ground model for every sector in polar grid map; 3. Relationship between adjacent points: Extract local point features from the normal

vectors and then apply Euclidean clustering and region growing; 4. MRF-based methods: Gaussian Mixture Models.

1.

Da

ta a

cq

uis

itio

n

an

d p

re

pr

oc

es

sin

g

3.

Da

ta C

os

t M

od

eli

ng

2.

MR

F-b

as

ed

M

ult

iple

La

be

lin

g

4.

Lo

op

y B

P-b

as

ed

G

ro

un

d S

eg

me

nta

tio

n

Page 163: LiDAR for Autonomous Vehicles

LiDAR-based Ground Segmentation

Page 164: LiDAR for Autonomous Vehicles

LiDAR-based Scene Parsing

Local 3D geometrical features extracted from subsets of point clouds are classified by trained boosted decision trees and then corresponding image segments are labeled with semantic classes e.g. buildings, road, sky etc. It is robust to varying imaging conditions such as lighting and urban structures.

Page 165: LiDAR for Autonomous Vehicles

LiDAR-based Scene Parsing

2D-3D association

Every collection of 3D points is assumed to be sampled from a visible planar 3D object i.e. patch and corresponding 2D projections are confined within a homogenous region i.e. superpixels (SPs) of the image; The 3D-2D projection between patches and SPs is straightforward for known geometrical configurations to deal with outlier 3D points.

Page 166: LiDAR for Autonomous Vehicles

LiDAR-based Scene Parsing

Test Image Ground truth Parsing Result

The top image shows 3D LiDAR point cloud in NED system. The occluded points in the one bystreet are shown in a green circle. The bottom image illustrates camera view of scene, occluded points in the bystreet located in the red square (corresponding to red line in top image) will be deleted.

Page 167: LiDAR for Autonomous Vehicles

Vehicle Detection from 3D Lidar Using FCN

Point clouds from a Velodyne scan can be roughly projected and discretized into a 2D point map; The projected point map analogous to cylindral images;

Encode the bounding box corner of the vehicle (8 corners as 24-d);

It consists of one objectness classification branch and one bounding box regression branch.

Page 168: LiDAR for Autonomous Vehicles

Vehicle Detection from 3D Lidar Using FCN

(a) The input point map, with the d channel visualized. (b) The output confidence map of the objectness branch. (c) Bounding box candidates corresponding to all points predicted as positive, i.e. high confidence points in (b). (d) Remaining bounding boxes after non-max suppression.

Page 169: LiDAR for Autonomous Vehicles

VoxNet: 3D CNN for Object Recognition

Integrate a volumetric Occupancy Grid representation with a supervised 3D CNN; The input is a point cloud segment, originating from segmentation, or a “sliding box” if running detection; The task is to predict object class label for the segment.

Page 170: LiDAR for Autonomous Vehicles

LiDAR-based Tracking Using RNN

Leverage a RNN to effectively reveal occluded parts of a scene by learning to track objects from raw sensor data – thereby effectively reversing the sensing process.

The 4-layer RNN used for the system. Visible objects are detected in Encoder and fed into Belief tracker to update belief Bt for scene deocclusion in Decoder.

Filtering using a RNN.

Bayesian filtering

Page 171: LiDAR for Autonomous Vehicles

End-to-End Tracking and Semantic Segmentation by RNNs with LiDAR

The stream of raw sensor data is filtered by a RNN and produces classification of both directly visible and occluded space into one of several semantic classes; The network is trained to predict output

consistent with future inputs;

This allows training without the need of ground-truth information of the full, unoccluded scene;

First the network learns how to track by predicting correct occupancy using large amounts of unlabelled data, then a small set of labelled data is used to induce semantic classification (inductive transfer).

Page 172: LiDAR for Autonomous Vehicles

End-to-End Tracking and Semantic Segmentation by RNNs with LiDAR

Page 173: LiDAR for Autonomous Vehicles

End-to-End Tracking and Semantic Segmentation by RNNs with LiDAR

Training of the RNN to produce both space occupancy yt and semantic labels ct.

Page 174: LiDAR for Autonomous Vehicles

End-to-End Tracking and Semantic Segmentation by RNNs with LiDAR

In the proposed structure, it features dilated convolution, enhanced static and dynamic memory capabilities whereas producing information of both cell occupancy and it’s semantic class.

A convolutional variant of GRUs

Page 175: LiDAR for Autonomous Vehicles

ADVANCED DRIVING ASSISTANCE SYSTEM (ADAS)

Appendix A:

Page 176: LiDAR for Autonomous Vehicles

Past potential future evolution towards automated cooperative driving

Page 177: LiDAR for Autonomous Vehicles

Spectrum of DAS and ADAS Functions

Page 178: LiDAR for Autonomous Vehicles

Conceptual Hardware Block Diagram for ADAS System

Page 179: LiDAR for Autonomous Vehicles

Example Sensor Fusion in ADAS

Page 180: LiDAR for Autonomous Vehicles

Lane Departure Warning System Block Diagram

Page 181: LiDAR for Autonomous Vehicles

Adaptive Cruise Control System Example Architecture

Page 182: LiDAR for Autonomous Vehicles

Functional Flow Diagram for Adaptive Cruise Control

Page 183: LiDAR for Autonomous Vehicles

ADAS Functionalities

Page 184: LiDAR for Autonomous Vehicles

ADAS Software Component Architecture

Page 185: LiDAR for Autonomous Vehicles

ADAS with Computer Vision

Page 186: LiDAR for Autonomous Vehicles

Obstacle Detection by Monocular Cameras & Wheel Odometry

Extracts static obstacles from depth maps out of multiple consecutive images; Solely relies on the readily available wheel odometry (not visual odometry); To handle the resulting higher pose uncertainty, fuses obstacle detections over time and between cameras to estimate the free and occupied space around the vehicle; Using monocular fisheye cameras, cover a wider field of view and detect obstacles closer to the car, which are often not within the standard field of view of a classical binocular stereo camera setup.

Page 187: LiDAR for Autonomous Vehicles

3D Traffic Scene Understanding

A prob. generative model for 3D scene layout and location/orientation of objects; Scene topology, geometry and activities are inferred from short video sequences; A diverse set of visual cues in the form of vehicle tracklets, vanishing points, semantic scene labels, scene flow and occupancy grids; Likelihoods for each of visual clues integrated into a prob. generative model; Learn all model parameters from training data using contrastive divergence.

Page 188: LiDAR for Autonomous Vehicles

Time To Contact for Obstacle Avoidance

Time to Contact (TTC) for obstacle detection and reactive control of motion that does not require scene reconstruction or 3D depth estimation; TTC is a measure of distance expressed in time units; TTC can be used to provide reactive obstacle avoidance for local navigation; TTC can be measured from the rate of change of size of features; Steer a vehicle using TTC to avoid obstacles while approaching a goal;

TTC is not on camera optics or object size, but on depth distance & camera velocity.

distance btw camera and obstacle

velocity of camera wrt obstacle

TTC

size (or scale) of object in image

time derivative of this scale

Page 189: LiDAR for Autonomous Vehicles

Time To Contact for Obstacle Avoidance

Classical methods to compute TTC rely on the estimation of optical flow and its first derivative; Optical flow methods are iterative and tend to be computationally expensive and relatively imprecise; Calculating derivative of optical flow to estimate TTC further amplifies noise, generally leading to an unstable and unreliable estimate of TTC; Temporal derivative of the area of a closed active contour avoids the problems associated with the computation of image velocity fields and their derivative; When affine camera models are assumed, affine image conditions are required; Camera motion is sometimes restricted to planar motion, or to not include vertical displacements or cyclotorsion;

Page 190: LiDAR for Autonomous Vehicles

Time To Contact for Obstacle Avoidance

Scale Invariant Ridge Segment (SIRS): in a norm. Laplacian scale space; Bayesian Driving: a prob. distribution of the robot command functions;

Page 191: LiDAR for Autonomous Vehicles

Time To Contact for Obstacle Avoidance

Optic flow and TTC (𝜏 ): uIx+vIy+It=0, (xIx+yIy)/𝜏+It=0; Given G=xIx+yIy (radial gradient), then 𝜏=-∑G2/ ∑GIt; Projection geometry: x/f=X/Z, y/f=Y/Z; Optic flow (u, v) vs 3-d motion (U, V, W):

u/f = U/Z – (X/Z)(W/Z), v/f = V/Z – (Y/Z)(W/Z); u=(fU-xW)/Z, v=(fV-yW)/Z;

Case I: translational motion along the optic axis (U=V=0); CG+It = 0, C = -W/Z = -1/ 𝜏; then min ∑C (CG+It)2 to C;

Case II: translational relative to a planar object ⊥ optic axis; A=fU/Z, B=fV/Z, AIx+BIy+CG+It=0, then min ∑C(AIx+BIy+CG+It)2 to C;

Case III: translational motion along optic axis; Plane as Z=Z0+pX+qY, P=(p/f)(W/Z0), Q=(q/f)(W/Z), min ∑C [G(C+Px+Qy)+It]2 to C;

Case IV: translational motion relative to the planar object; Given P/C, Q/C, F=1+(P/C)x+(Q/C)y, then min ∑C [F(AIx+BIy+CG)+It]2 to C; Given A/C, B/C, D=G+(A/C)Ix+(B/C)Iy, then min ∑C [D(C+xP+yQ)+It]2 to C;

Page 192: LiDAR for Autonomous Vehicles

Time to Contact: Recognizing by Motion Patterns

TTC map method: 1st, segment the image into a large number of super pixels, and estimate a TTC value for each super pixel using the standard IBD-based TTC method; 2nd, assume the TTC of each super pixel can be reliably computed, and super pixels belong to the same coherent object have roughly similar estimated TTC values. 3rd, the super pixels can be aggregated into different objects based on the ranges of these estimated TTC values that are close to each other.

Page 193: LiDAR for Autonomous Vehicles

Traffic Sign Recognition in ADAS

Page 194: LiDAR for Autonomous Vehicles

Traffic Light Recognition in ADAS

Page 195: LiDAR for Autonomous Vehicles

MobilEye: Deep Learning with Vision

Page 196: LiDAR for Autonomous Vehicles

MobilEye: Deep Learning with Vision

Page 197: LiDAR for Autonomous Vehicles

MobilEye: Deep Learning with Vision

Page 198: LiDAR for Autonomous Vehicles

MobilEye: Deep Learning with Vision

Page 199: LiDAR for Autonomous Vehicles

MobilEye: Traffic Light Detection

Page 200: LiDAR for Autonomous Vehicles

Deep Learning on Highway Driving (Stanford U.)

Meditated Perception

Lane Detection

Page 201: LiDAR for Autonomous Vehicles

Driver Simulator in NVidia

Page 202: LiDAR for Autonomous Vehicles

Learning Direct Perception in Autonomous Driving

System architecture: ConvNet processes TORCS image and estimates 13 indicators for driving. Based on indicators and speed, driving commands computed from a controller to TORCS drive the host car.

(The Open Racing Car Simulator)

Computer vision-based autonomous driving systems: mediated perception approaches, behavior reflex approaches and direct perception based approach; Map an input image to a small number of key perception indicators that directly relate to the affordance of a road/traffic state for driving; Train a deep CNN using 12 hours of human driving in a video game and show that our model can work well to drive a car in a very diverse set of virtual environments.

Page 203: LiDAR for Autonomous Vehicles

Learning a Driving Simulator at Comma.ai

Apply Variational AutoEncoders with classical, learned cost functions using Generative Adversarial Networks for embedding realistic looking road frames: alternating the training of generative and discriminator networks; Learn a transition model in the embedded space using action conditioned Recurrent Neural Networks with sequences of length of 15 frames: teacher forcing in the first 5 frames and fed the outputs back as new inputs in the remaining 10 frames (RNN hallucination); Successfully simulate all the relevant events for driving.

Page 204: LiDAR for Autonomous Vehicles

Deep Learning for Maneuver Anticipation

A sensory-fusion deep learning architecture which jointly learns to anticipate and fuse multiple sensory streams; The architecture consists of Recurrent Neural Networks (RNNs) that use Long Short-Term Memory (LSTM) units to capture long temporal dependencies; A training procedure which allows the network to predict the future given only a partial temporal context; A diverse data set with 1180 miles of natural freeway and city driving, that can anticipate maneuvers 3.5 seconds before they occur in realtime with a precision and recall of 90.5% and 87.4% respectively.

Page 205: LiDAR for Autonomous Vehicles

Deep Learning for Maneuver Anticipation

Page 206: LiDAR for Autonomous Vehicles

Augmented Reality in ADAS

Page 207: LiDAR for Autonomous Vehicles

DEEP REINFORCEMENT LEARNING (DEEP RL)

Appendix B: (Mostly copied from DeepMind’s RL slides)

Page 208: LiDAR for Autonomous Vehicles

Deep Reinforcement Learning

Page 209: LiDAR for Autonomous Vehicles

Deep Reinforcement Learning

RL is a general-purpose frame for decision-making RL is for an agent with the capacity to act Each action influences the agent's future state Success is measured by a scalar reward signal Goal: select actions to maximize future reward

DL is a general-purpose framework for representation learning Given an objective Learn representation that is required to achieve

objective Directly from raw inputs Using minimal domain knowledge

Deep Reinforcement Learning: AI = RL + DL A single agent can solve any human-level task RL defines the objective DL gives the mechanism RL + DL = general intelligence

Page 210: LiDAR for Autonomous Vehicles

Deep Reinforcement Learning

At each step t the agent: Executes action at

Receives observation ot

Receives scalar reward rt

The environment: Receives action at

Emits observation ot+1

Emits scalar reward rt+1

Experience is a sequence of observations, actions, rewards

o1, r1, a1, ..., ot-1 ,rt-1 ,at-1, ot , rt

The state is a summary of experience st = f (o1, r1, a1, ..., ot-1 ,rt-1 ,at-1, ot , rt)

In a fully observed environment st = f (ot )

Page 211: LiDAR for Autonomous Vehicles

A RL agent may include one or more of these components: Policy: agent's behaviour function Value function: how good is each state and/or action Model: agent's representation of the environment

A policy is the agent's behaviour It is a map from state to action: Deterministic policy: a = π (s) Stochastic policy: π (a|s) = P [a|s]

A value function is a prediction of future reward “How much reward will I get from action a in state s?"

Q-value function gives expected total reward from state s and action a under policy π with discount factor

Qπ(s, a) = E[rt+1 + ϒrt+2 + ϒ2rt+3 + … |s, a]

Value functions decompose into a Bellman equation Qπ(s, a) = E s’,a’ [r + ϒ Qπ(s’, a’) |s, a]

Deep Reinforcement Learning

Page 212: LiDAR for Autonomous Vehicles

An optimal value function is the maximum achievable value

Q*(s, a) = maxπ Qπ(s, a) = Qπ*(s, a)

Once we have Q* we can act optimally,

π*(s) = argmaxaQ

*(s, a)

Optimal value maximizes over all decisions, then informally:

Q*(s, a) = rt+1 + ϒmaxat+1rt+2 + ϒ2maxat+2rt+3 + … = rt+1 + ϒmaxat+1 Q*(st+1, at+1)

Formally, optimal values decompose into a Bellman equation

Q*(s, a) = E s’ [r + ϒ maxa’Q*(s’, a’) |s, a]

Model is learnt from experience

Acts as proxy for environment

Planner interacts with model

e.g. using look-ahead search

Deep Reinforcement Learning

Page 213: LiDAR for Autonomous Vehicles

Deep Reinforcement Learning

Page 214: LiDAR for Autonomous Vehicles

Markov Decision Process (MDP) defined by (S, A, P), where S: state space A: action space p(r, s’ | s, a): a transition probability distribution

Extra objects defined depending on problem setting μ: Initial state distribution ϒ: discount factor

In each episode, the initial state is sampled from μ, and the process proceeds until the terminal state is reached. For example: Taxi robot reaches its destination (termination = good) Waiter robot finishes a shift (fixed time) Walking robot falls over (termination = bad)

Goal: maximize expected reward per episode Deterministic policies: a = π (s) Stochastic policies: a ~ π(a | s) Parameterized policies: πθ

Deep Reinforcement Learning

Page 215: LiDAR for Autonomous Vehicles

Deep Reinforcement Learning

Reinforcement learning is a difficult problem in the learning system.

A solution based on Dynamic Programming with two basic principles.

1. If an action causes bad immediately, then it learns not to do that action again;

2. If all actions in a certain situation leads to bad results, then it should be avoided.

The approximation of the optimal value function in a given state is equal to the true value of that state plus some error in the approximation;

Relationship btw successive states, defined by the Bellman equation;

If assumed the function approximator is a LUT, perform sweeps in state space;

Use a function approximator to generalize and interpolate values of states;

Gradient descent on the mean squared Bellman residual in MDP.

Page 216: LiDAR for Autonomous Vehicles

Deep Reinforcement Learning

Q-learning solves the problem of having to take max over a set of integrals; Q-learning finds a mapping from state/action pairs to Q-values;

Q-value is sum of reinforcements received in associated action and the given policy;

Advantage learning (AL) does not share the scaling problem of Q-learning; In AL, the value associated with each action is called an advantage.

The state value is defined to be the maximum advantage in that state;

For the state/action pair (x, u) an advantage is defined as the sum of the value of the state and the utility (advantage) of performing action u rather than the action;

AL can find a sufficiently accurate approximation to the advantage function in a number of training iterations that is independent of this ratio.

Temporal difference (TD) learning learns the value function directly from the experience return for selecting the action and then following the policy. Multi-step return variants instead of one-step return TD(0), called TD(λ) , 0≤λ≤1.

Page 217: LiDAR for Autonomous Vehicles

Deep Reinforcement Learning

Value-based RL Estimate the optimal value function Q(s, a) This is the maximum value achievable under any policy

Policy-based RL Search directly for the optimal policy π*

This is the policy achieving maximum future reward

Model-based RL Build a model of the environment Plan (e.g. by look-ahead) using model

Use deep NNs to represent Value function Policy Model

Optimize loss function by SGD

Page 218: LiDAR for Autonomous Vehicles

Value-based Deep RL

Q-Networks: Represent value function by Q-network with weights w Q(s, a, w) ≈ Q*(s, a)

Q-learning: Optimal Q-values obey the Bellman equation

Treat right-hand side r + ϒ maxa’ Q(s’,a’,w) as a target Minimize MSE loss by SGD

Converges to Q* using table lookup representation. But diverges using neural networks due to:

Correlations between samples Non-stationary targets

Page 219: LiDAR for Autonomous Vehicles

Deep RL at Atari Game

Page 220: LiDAR for Autonomous Vehicles

Deep RL at Atari Game

End-to-end learning of values Q(s, a) from pixels s Input state s is stack of raw pixels from last 4 frames Output is Q(s, a) for 18 joystick/button positions Reward is change in score for that step

Network architecture and hyper-parameters fixed across all games

Page 221: LiDAR for Autonomous Vehicles

Deep RL at Atari Game

Page 222: LiDAR for Autonomous Vehicles

Value-based Deep RL

Double DQN: Remove upward bias caused by maxaQ(s, a, w) Current Q-network w is used to select actions Older Q-network w- is used to evaluate actions

Prioritized replay: Weight experience according to surprise Store experience in priority queue according to DQN error

Dueling network: Split Q-network into two channels Action-independent value function V(s, v) Action-dependent advantage function A(s, a, w)

Combined algorithm: 3x mean Atari score vs Nature DQN

Page 223: LiDAR for Autonomous Vehicles

Gorila (General Reinforcement Learning Architecture)

• 10x faster than Nature DQN on 38 out of 49 Atari games • Applied to recommender systems within Google

Page 224: LiDAR for Autonomous Vehicles

Policy-based Deep RL

Represent policy by deep network with weights u

Define objective function as total discounted reward

Optimize objective end-to-end by SGD i.e. Adjust policy parameters u to achieve more reward How to make high-value actions more likely:

The gradient of a stochastic policy π (a|s, u) is given by

The gradient of a deterministic policy a = π(s) is given by

if a is continuous and Q is differentiable

Page 225: LiDAR for Autonomous Vehicles

Policy-based Deep RL

Actor-Critic Algorithm: Estimate value function Q(s,a,w) ≈ Qπ(s, a) Update policy parameters u by SGD or

Asynchronous Advantage Actor-Critic Algorithm (A3C): Estimate state-value function

Q-value estimated by an n-step sample

Actor is updated towards target

Critic is updated to minimize MSE w.r.t. target

4x mean Atari score vs Nature DQN

Page 226: LiDAR for Autonomous Vehicles

Policy-based Deep RL

Deep RL with Continuous Actions: high-dim. continuous action spaces? Can't easily compute maxaQ(s, a)

Actor-critic algorithms learn without max

Q-values are differentiable w.r.t a Deterministic policy gradients (DPG) exploit knowledge of /

DPG is the continuous analogue of DQN Experience replay: build data-set from agent's experience Critic estimates value of current policy by DQN

To deal with non-stationarity, targets u-, w- are held fixed Actor updates policy in direction that improves Q

In other words critic provides loss function for actor

Deterministic Deep Policy Gradient (DDPG): give a stable solution with NN

Page 227: LiDAR for Autonomous Vehicles

Policy-based Deep RL

Page 228: LiDAR for Autonomous Vehicles

Policy-based Deep RL

Fictitious Self-Play (FSP): Can deep RL find Nash equilibria in multi-agent games? Q-network learns “best response" to opponent policies By applying DQN with experience replay c.f. fictitious play Policy network π(a|s, u) learns an average of best

responses Actions a sample mix of policy network and best

response

Neural FSP in Texas Hold'em Poker Heads-up limit Texas Hold'em NFSP with raw inputs only (no prior knowledge of

Poker) vs SmooCT (3x medal winner 2015, handcrafted

knowledge)

Page 229: LiDAR for Autonomous Vehicles

Policy-based Deep RL

Page 230: LiDAR for Autonomous Vehicles

Model-based Deep RL

Learn a transition model of the environment p(r, s’ | s, a) Plan using the transition model

e.g. Look-ahead using transition model to find optimal actions

Deep Models Represent transition model p(r, s’ | s, a) by deep network Define objective function measuring goodness of model e.g. number of bits to reconstruct next state Optimize objective by SGD

Compounding errors? Errors in the transition model compound over the trajectory By the end of a long trajectory, rewards can be totally wrong Model-based RL has failed (so far) in Atari!

Deep networks of value/policy can “plan" implicitly Each layer of network performs arbitrary computational step n-layer network can “look-ahead" n steps Are transition models required at all?

Page 231: LiDAR for Autonomous Vehicles

Target-driven Visual Navigation in Indoor Scenes using Deep Reinforcement Learning

To address the lack of generalization issue, propose an actor-critic model whose policy is a function of the goal a.w.s. the current state, to better generalize;

To address the data inefficiency issue, propose AI2-THOR framework, which provides an environment with high quality 3D scenes and physics engine.

Enables agents to take actions and interact with objects. Collect a huge number of training samples efficiently. No need feature engineering, feature matching or 3D reconstruction.

Page 232: LiDAR for Autonomous Vehicles

Target-driven Visual Navigation in Indoor Scenes using Deep Reinforcement Learning

Page 233: LiDAR for Autonomous Vehicles

Control of Memory, Active Perception, and Action in Minecraft

Deep Q-Network (DQN), Deep Recurrent Q-Network (DRQN), Memory Q-Network (MQN), Recurrent Memory Q-Network (RMQN), and Feedback Recurrent Memory Q-Network (FRMQN).

Page 234: LiDAR for Autonomous Vehicles

Control of Memory, Active Perception, and Action in Minecraft

Examples of maps. (a) has an I-structured topology where the location of indicator (yellow/green), goals (red/blue), and spawn locations (black circle) are fixed across episodes. (b) has two goals and two rooms with color patterns. (c) consists of randomly generated walls and two goals. The agent can be spawned anywhere except for goal locations. (d) is similar to (c) except that it has an indicator at the fixed location (yellow/green) and a fixed spawn location.

Page 235: LiDAR for Autonomous Vehicles

Generating Text with Deep Reinforcement Learning

A schema for sequence to sequence learning with a Deep Q-network (DQN), which decodes the output sequence iteratively.

To enable the decoder to first tackle easier portions of the sequences, and then turn to cope with difficult parts.

In each iteration, an encoder-decoder Long Short-Term Memory (LSTM) network is employed to, from the input sequence, automatically create features to represent the internal states of and formulate a list of potential actions for the DQN.

Next, the DQN learns to make decision on which action (e.g., word) will be selected from the list to modify the current decoded sequence.

The newly modified output sequence is used as the input to the DQN for the next decoding iteration.

In each iteration, bias the reinforcement learning’s attention to explore sequence portions which are previously difficult to be decoded.

Page 236: LiDAR for Autonomous Vehicles

Generating Text with Deep Reinforcement Learning

Iteratively decoding with DQN and LSTM; the encoder-decoder LSTM network is depicted as gray-filled rectangles on the bottom; the top-left is the graphical illustration of the DQN with bidirectional LSTMs; the dash arrow line on the right indicates the iteration loop.

Page 237: LiDAR for Autonomous Vehicles

Generating Text with Deep Reinforcement Learning

Page 238: LiDAR for Autonomous Vehicles

Appendix C:

Generative Adversarial Networks

(GAN) and Applications

(Partially copied from OpenAI’s GAN slides)

Page 239: LiDAR for Autonomous Vehicles

Generative Modeling

Have training examples x ~ pdata(x ) Want a model that draw samples: x ~ pmodel(x ) Where pmodel ≈ pdata

Conditional generative models Speech synthesis: Text ⇒ Speech Machine Translation: French ⇒ English

French: Si mon tonton tond ton tonton, ton tonton sera tondu. English: If my uncle shaves your uncle, your uncle will be shaved

Image ⇒ Image segmentation

Environment simulator Reinforcement learning Planning

Leverage unlabeled data

x ~ pdata(x )

x ~ pmodel(x )

Page 240: LiDAR for Autonomous Vehicles

Adversarial Nets Framework

A game between two players: 1. Discriminator D

2. Generator G

D tries to discriminate between: A sample from the data

distribution.

And a sample from the generator G.

G tries to “trick” D by generating samples that are hard for D to distinguish from data.

Page 241: LiDAR for Autonomous Vehicles

GANs

A framework for estimating generative models via an adversarial process, to train 2 models: a generative model G that captures the data distribution, and a discriminative model D that estimates the probability that a sample came from the training data rather than G.

The training procedure for G is to maximize the probability of D making a mistake.

This framework corresponds to a minimax two-player game: In the space of arbitrary functions G and D, a unique

solution exists, with G recovering training data distribution and D equal to 1/2 everywhere;

In the case where G and D are defined by multilayer perceptrons, the entire system can be trained with BP.

There is no need for any Markov chains or unrolled approximate inference networks during either training or generation of samples.

Page 242: LiDAR for Autonomous Vehicles

GANs

Page 243: LiDAR for Autonomous Vehicles

GANs

Page 244: LiDAR for Autonomous Vehicles

GANs

Page 245: LiDAR for Autonomous Vehicles

GANs

Rightmost column shows the nearest training example of the neighboring sample, in order to demonstrate that the model has not memorized the training set. Samples are fair random draws, not cherry-picked. Unlike most other visualizations of deep generative models, these images show actual samples from the model distributions, not conditional means given samples of hidden units. Moreover, these samples are uncorrelated because the sampling process does not depend on Markov chain mixing. a) MNIST b) TFD c) CIFAR-10 (fully connected model) d) CIFAR-10 (convolutional discriminator and “deconvolutional” generator).

Page 246: LiDAR for Autonomous Vehicles

Conditional Generative Adversarial Nets

GAN extended to a conditional model if both the generator and discriminator are conditioned on some extra information y, such as class labels or data from other modalities.

Conditioning by feeding y into both the discriminator and generator as additional input layer.

Page 247: LiDAR for Autonomous Vehicles

Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks

A generative parametric model, LAPGAN, capable of producing high quality samples of natural images.

Uses a cascade of convnets within a Laplacian pyramid framework to generate images in a coarse-to-fine fashion.

At each level of the pyramid, a separate generative convnet model is trained using the Generative Adversarial Nets (GAN) approach.

Samples drawn from the model are of higher quality than alternate approaches.

Page 248: LiDAR for Autonomous Vehicles

Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks

Page 249: LiDAR for Autonomous Vehicles

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks

Bridge the gap between the success of CNNs for supervised learning and unsupervised learning.

A class of CNNs called Deep Convolutional Generative Adversarial Networks (DCGANs), that have certain architectural constraints, and demonstrate that they are a strong candidate for unsupervised learning.

Via training, the deep convolutional adversarial pair learns a hierarchy of representations from object parts to scenes in both generator and discriminator.

Additionally, use the learned features for general image representations.

Page 250: LiDAR for Autonomous Vehicles

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks

Page 251: LiDAR for Autonomous Vehicles

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks

Page 252: LiDAR for Autonomous Vehicles

f-GAN: Training Generative Neural Samplers using Variational Divergence Minimization

Generative neural samplers are probabilistic models that implement sampling using feed-forward neural networks;

These models are expressive and allow efficient computation of samples and derivatives, but cannot be used for computing likelihood or for marginalization;

The generative adversarial training method allows to train such models through the use of an auxiliary discriminative neural network;

The generative-adversarial approach is a special case of an existing more general variational divergence estimation approach;

Any f-divergence can be used for training generative neural samplers.

Page 253: LiDAR for Autonomous Vehicles

f-GAN: Training Generative Neural Samplers using Variational Divergence Minimization

[26] F. Nielsen and R. Nock. On the chi-square and higher-order chi distances for approximating f-divergences. Signal Processing Letters, IEEE, 21(1):10–13, 2014.

[10] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative adversarial nets. In NIPS, pp2672–2680, 2014.

Definition:

Page 254: LiDAR for Autonomous Vehicles

f-GAN: Training Generative Neural Samplers using Variational Divergence Minimization

Variational Divergence Minimization (VDM):

Use the variational lower bound on the f-divergence Df(P|Q) in order to estimate a generative model Q given a true distribution P;

Use two NNs, generative model Q and variational function T: Q taking as input a random vector and outputting a sample of interest, parametrizing Q through a vector θ and write Qθ; T taking as input a sample and returning a scalar, parametrizing T using a vector ω and write Tω.

Learn a generative model Q θ by finding a saddle-point of the following f-GAN objective function, where we minimize wrt θ and maximize wrt ω as

Page 255: LiDAR for Autonomous Vehicles

f-GAN: Training Generative Neural Samplers using Variational Divergence Minimization

Samples from three different divergences

Page 256: LiDAR for Autonomous Vehicles

Energy-based GANs

It views the discriminator as an energy function that attributes low energies to the regions near the data manifold and higher energies to other regions;

A generator is seen as being trained to produce contrastive samples with minimal energies, while the discriminator is trained to assign high energies to these generated samples;

Use the discriminator as an energy function allows to use various architectures and loss functionals in addition to binary classifier with logistic output;

Instantiation of EBGAN framework as using an auto-encoder architecture, with the energy being the reconstruction error, in place of the discriminator;

A single-scale architecture can be trained to generate high-resolution images.

Page 257: LiDAR for Autonomous Vehicles

Energy-based GANs

EBGAN architecture with an auto-encoder discriminator

o Propose the idea “repelling regularizer” which fits well into the EBGAN auto-encoder model, to keep the model from producing samples that are clustered in one or a few modes of pdata (similar to “mini-batch discrimination” by Salimans et.al); oImplementing the “repelling regularizer” has a pulling-away (PT) effect at a representation level; oThe PT term defined as

Page 258: LiDAR for Autonomous Vehicles

Energy-based GANs

Generation from LSUN bedroom full-images. Left(a): DCGAN generation. Right(b):EBGAN-PT generation.

Page 259: LiDAR for Autonomous Vehicles

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

GAN learns a generator network G that generates samples from the generator distribution PG by transforming a noise variable z ~ Pnoise(z) into a sample G(z).

This generator is trained by playing against an adversarial discriminator network D that aims to distinguish between samples from the true data distribution Pdata and the generator’s distribution PG.

InfoGAN, an information-theoretic extension to the GAN that is able to learn disentangled representations in a completely unsupervised manner.

InfoGAN is a GAN that also maximizes the mutual information between a small subset of the latent variables and the observation.

Specifically, InfoGAN successfully disentangles writing styles from digit shapes on the MNIST dataset, pose from lighting of 3D rendered images, and background digits from the central digit on the SVHN dataset.

It also discovers visual concepts that include hair styles, presence/absence of eyeglasses, and emotions on the CelebA face dataset.

Experiments show that InfoGAN learns interpretable representations that are competitive with representations learned by existing supervised methods.

Page 260: LiDAR for Autonomous Vehicles

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

GAN uses a simple factored continuous input noise vector z, so it is possible that the noise will be used by the generator in a highly entangled way, causing the individual dimensions of z to not correspond to semantic features of the data.

Decompose the input noise vector into two parts: (i) z, which is treated as source of incompressible noise; (ii) c, which we will call the latent code and will target the salient structured semantic features of the data distribution.

The generator network owns with both the incompressible noise z and the latent code c, so the form of the generator becomes G(z, c).

Information-theoretic regularization: there should be high mutual information btw latent codes c and generator distribution G(z, c).

Page 261: LiDAR for Autonomous Vehicles

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Manipulating latent codes on 3D Faces: the effect of the learned continuous latent factors on the outputs as their values vary from −1 to 1.

Page 262: LiDAR for Autonomous Vehicles

Generative Adversarial Text to Image Synthesis

A deep architecture and GAN formulation to effectively bridge SoA techniques in text and image modeling, translating visual concepts from characters to pixels.

To train a deep convolutional generative adversarial network (DC-GAN) conditioned on text features encoded by a hybrid character-level CRNN.

Both the generator network G and the discriminator network D perform feed-forward inference conditioned on the text feature.

Page 263: LiDAR for Autonomous Vehicles

Generative Adversarial Text to Image Synthesis

Page 264: LiDAR for Autonomous Vehicles

Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network

SRGAN, a generative adversarial network (GAN) for image superresolution (SR).

Capable of inferring photo-realistic natural images for 4 upscaling factors.

A perceptual loss function which consists of an adversarial loss and a content loss.

The adversarial loss pushes the solution to the natural image manifold using a discriminator network that is trained to differentiate between the super-resolved images and original photo-realistic images.

A content loss motivated by perceptual similarity instead of similarity in pixel space.

The deep residual network is able to recover photo-realistic textures from heavily downsampled images on public benchmarks.

Page 265: LiDAR for Autonomous Vehicles

Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network

Page 266: LiDAR for Autonomous Vehicles

Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network

Page 267: LiDAR for Autonomous Vehicles

Autoencoder that leverages learned representations to better measure similarities. By combining a VAE with a GAN, use learned feature representations in the GAN discriminator as

basis for the VAE reconstruction objective. Replace element-wise errors with feature-wise errors to better capture the data distribution while

offering invariance towards e.g. translation. The method learns an embedding in which high-level abstract visual features (e.g. wearing glasses)

can be modified using simple arithmetic.

Autoencoding Beyond Pixels Using a Learned Similarity Metric

Page 268: LiDAR for Autonomous Vehicles

Autoencoding Beyond Pixels Using a Learned Similarity Metric

Variational autoencoder: consists of two networks that encode a data sample x to a latent representation z and decode latent representation back to data space, respectively;

The VAE regularizes the encoder by imposing a prior over the latent distribution p(z). The VAE loss is minus the sum of the expected log likelihood (the reconstruction

error) and a prior regularization term;

GAN: Discriminator + Generator

Kullback-Leibler divergence

Page 269: LiDAR for Autonomous Vehicles

Autoencoding Beyond Pixels Using a Learned Similarity Metric

Page 270: LiDAR for Autonomous Vehicles

Image-to-Image Translation with Conditional Adversarial Nets

Conditional adversarial networks as a general-purpose solution to image-to-image translation problems.

These networks not only learn the mapping from input image to output image, but also learn a loss function to train this mapping.

It is effective at synthesizing photos from label maps, reconstructing objects from edge maps, and colorizing images, among other tasks.

Page 271: LiDAR for Autonomous Vehicles

Image-to-Image Translation with Conditional Adversarial Nets

Training a conditional GAN to predict aerial photos from maps. The discriminator, D, learns to classify between real and synthesized pairs. The generator learns to fool the discriminator. Unlike an unconditional GAN, both the generator and discriminator observe an input image.

Page 272: LiDAR for Autonomous Vehicles

Image-to-Image Translation with Conditional Adversarial Nets

Page 273: LiDAR for Autonomous Vehicles

Plug & Play Generative Networks: Conditional Iterative Generation of Images in Latent Space

Synthesize novel images by performing gradient ascent in the latent space of a generator network to maximize the activations of one or multiple neurons in a separate classifier network.

Introducing an additional prior on the latent code, improving both sample quality and sample diversity, leading to a state-of-the-art generative model that produces high quality images at higher resolutions (227x227) than previous generative models, and does so for all 1000 ImageNet categories.

A unified probabilistic interpretation of related activation maximization methods and call the general class of models "Plug and Play Generative Networks".

PPGNs are composed of 1) a generator network G that is capable of drawing a wide range of image types and 2) a replaceable "condition" network C that tells the generator what to draw.

Improves the state of the art of Multifaceted Feature Visualization, which generates the set of synthetic inputs that activate a neuron in order to better understand how deep neural networks operate.

Page 274: LiDAR for Autonomous Vehicles

Plug & Play Generative Networks: Conditional Iterative Generation of Images in Latent Space

Deep Generator Network-based Activation Maximization (DGN-AM) involves training a generator G to create realistic images from compressed features extracted from a pretrained classifier network E;

To generate images conditioned on a class, an optimization process is launched to find a hidden code h that G maps to an image that highly activates a neuron in another classifier C (not necessarily the same as E);

A major limitation with DGN-AM, is the lack of diversity in the generated samples;

Idea: adding a prior on the latent code that keeps optimization along the manifold of realistic-looking images; to unify and interpret activation maximization approaches as a type of energy-based model where the energy function is a sum of multiple constraint terms: (a) priors and (b) conditions;

Metropolis-adjusted Langevin sampling repeatedly adds noise and gradient of log p(x, y) to generate samples (Markov chain);

Denoising autoencoders estimate required gradient;

Use a special denoising autoencoder hat has been trained with multiple losses, including a GAN loss, to obtain best results.

Page 275: LiDAR for Autonomous Vehicles

Plug & Play Generative Networks: Conditional Iterative Generation of Images in Latent Space

Different variants of PPGN models tested. The Noiseless Joint PPGN-h (e) empirically produces the best images. In all variants, perform iterative sampling following the gradients of two terms: the condition (red arrows) and the prior (black arrows). (a) PPGN-x: a p(x) prior modeled via a DAE for images.(b) DGN-AM. (c) PPGN-h: a learned p(h) prior modeled via a multi-layer perceptron DAE for h. (d) Joint PPGN-h: treating G + E1 + E2 as a DAE that models h via x. (e) Noiseless Joint PPGN-h. (f) A pre-trained image classification network (here, AlexNet trained on ImageNet) serves as the encoder network E component. (g) attaching a recurrent, image-captioning network to the output layer of G.

Page 276: LiDAR for Autonomous Vehicles

Plug & Play Generative Networks: Conditional Iterative Generation of Images in Latent Space

Page 277: LiDAR for Autonomous Vehicles

How to Train a GAN? Tips and Tricks

1. Normalize the inputs

2: A modified loss function

3: Use a spherical Z (not uniform, but Gaussian distribution)

4: Batch Norm

5: Avoid Sparse Gradients:

ReLU, MaxPool

6: Use Soft and Noisy Labels

7: DCGAN / Hybrid Models

KL + GAN or VAE + GAN

8: Use stability tricks from RL

9: Use the ADAM Optimizer for generator (SGD for discriminator)

10: Track failures early

check norms of gradients

11: Dont balance loss via statistics (unless you have a good reason to)

12: If you have labels, use them

Auxillary GANs

13: Add noise to inputs, decay over time

14: [not sure] Train discriminator more (sometimes) especially have noise

15: [not sure] Batch Discrimination

16: Discrete variables in C-GANs

17: Dropouts in G in both train/test stage

Page 278: LiDAR for Autonomous Vehicles

Improved Techniques for Training GANs

For semi-supervised learning in generation of images that humans find visually realistic;

Techniques that are heuristically motivated to encourage convergence: Feature matching addresses the instability of GANs by specifying a new objective for the

generator that prevents it from overtraining on the current discriminator;

Allow the discriminator to look at multiple data examples in combination, and perform what we call “Min-batch discrimination”: any discriminator model that looks at multiple examples in combination, rather than in isolation, could potentially help avoid collapse of the generator;

Historical averaging: the historical average of the parameters can be updated in an online fashion so this learning rule scales well to long time series;

One sided label smoothing: reduce the vulnerability of NNs to adversarial examples;

Virtual batch normalization: each example x is normalized based on the statistics collected on a reference batch of examples that are chosen once and fixed at the start of training, and on x itself (only in the generator network, cause too expensive computationally).

Page 279: LiDAR for Autonomous Vehicles

Towards Principled Methods for Training GANs

Questions: Why do updates get worse as the discriminator gets better? Both original and new cost function.

Why is GAN training massively unstable?

Is the new cost function following a similar divergence to the JSD? If so, what are its properties?

Is there a way to avoid some of these issues?

Jensen-Shannon Divergence

Page 280: LiDAR for Autonomous Vehicles

Towards Principled Methods for Training GANs

Theorems 2.1-2.2 tell us that there are perfect discriminators which are smooth and constant almost everywhere in M and P. The fact that the discriminator is constant in both manifolds points to the fact that we won’t really be able to learn anything by backproping through it.

If the two distributions we care about have supports that are disjoint or lie on low dimensional manifolds, the optimal discriminator will be perfect and its gradient will be zero almost everywhere.

To conclude, state the following theorem on the divergences of Pr and Pg as

Note: these divergences will be maxed out even if two manifolds lie arbitrarily close to each other.

The samples of generator might look impressively good, yet both KL divergences will be infinity.

Page 281: LiDAR for Autonomous Vehicles

Towards Principled Methods for Training GANs

Theorem 2.3 points us that attempting to use divergences out of the box to test similarities btw the distributions we typically consider might be a terrible idea;

So, if these divergences are always maxed out attempting to minimize them by gradient descent isn’t really possible;

As the approximation to the optimal discriminator gets better, either see vanishing gradients or the massively unstable behavior see in practice, depending on which cost function we use.

Page 282: LiDAR for Autonomous Vehicles

Towards Principled Methods for Training GANs

This is the inverted KL minus two JSD. JSDs are in the opposite sign, which means they are pushing for the distributions to be different, which seems like a fault in the update.

KL appearing in the equation is KL(Pg|Pr), not the one equivalent to maximum likelihood.

KL assigns an extremely high cost to generating fake looking samples, and an extremely low cost on mode dropping; and the JSD is symmetrical so it shouldn’t alter this behaviour.

This explains GANs (when stabilized) create good looking samples, and justifies what is commonly conjectured, that GANs suffer from an extensive amount of mode dropping.

Page 283: LiDAR for Autonomous Vehicles

Towards Principled Methods for Training GANs

Even if we ignore the fact that the updates have infinite variance, we still arrive to the fact that the distribution of the updates is centered, meaning that if we bound the updates the expected update will be 0, providing no feedback to the gradient;

In all cases, using this updates lead to a notorious decrease in sample quality;

The variance of the gradients is increasing, which is known to delve into slower convergence and more unstable behaviour in the optimization.

Page 284: LiDAR for Autonomous Vehicles

Towards Principled Methods for Training GANs

An important question now is how to fix the instability and vanishing gradients issues;

To break the assumptions of these theorems is add continuous noise to the inputs of the discriminator, therefore smoothening the distribution of the probability mass;

This theorem therefore tells us that the density PX+ε(x) is inversely proportional to the average distance to points in the support of PX, weighted by the probability of these points;

In the case of the support of PX being a manifold, we will have the weighted average of the distance to the points along the manifold;

How we choose the distribution of the noise will impact the notion of distance we are choosing;

Different noises with different types of decays can therefore be used.

Page 285: LiDAR for Autonomous Vehicles

Towards Principled Methods for Training GANs

This theorem proves that we will drive our samples g(z) towards points along the data manifold, weighted by their probability and the distance from our samples;

The 2nd term drives our points away from high probability samples, again, weighted by the sample manifold and distance to these samples;

Generator’s backprop term is through samples on positive measure that discriminator care about.

Page 286: LiDAR for Autonomous Vehicles

Towards Principled Methods for Training GANs

In Theorem 3.3 the two terms can be controlled. The 1st term can be decreased by annealing the noise, and the 2nd term can be minimized by a GAN when the discriminator is trained on the noisy inputs, since it will be approximating the JSD btw the two continuous distributions.

Because of the noise, can train the discriminator till optimality without any problems and get smooth interpretable gradients.

Page 287: LiDAR for Autonomous Vehicles

Wasserstein GAN

What does it mean to learn a probability distribution?

VAEs focus on the approximate likelihood of the examples, share the limitation of the standard models and need to fiddle with additional noise terms;

GANs offer much more flexibility in the definition of the objective function, including JSD, and all f-divergences as well as some exotic combinations;

Question: how close the model distribution and the real distribution are, or equivalently, on the various ways to define a distance or divergence?

The Earth-Mover (EM) distance or Wasserstein-1

Wasserstein GAN: based on the Kantorovich-Rubinstein duality

Note that f: the 1-Lipschitz function

Page 288: LiDAR for Autonomous Vehicles

Wasserstein GAN

The fact that the EM distance is continuous and differentiable a.e. means that we can (and should) train the critic till optimality;

The fact that we constrain the weights limits the possible growth of the function to be at most linear in different parts of the space, forcing the optimal critic to have this behaviour.

Page 289: LiDAR for Autonomous Vehicles

Wasserstein GAN

Page 290: LiDAR for Autonomous Vehicles

Thanks!