tegra k1 and the automotive...

25
TEGRA K1 AND THE AUTOMOTIVE INDUSTRY Gernot Ziegler, Timo Stich

Upload: others

Post on 11-Mar-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

TEGRA K1 AND THE AUTOMOTIVE INDUSTRY

Gernot Ziegler, Timo Stich

Page 2: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

Infotainment / Navigation

Digital Instrument Cluster

Passenger Entertainment

Previously:Tegra in Automotive

Page 3: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

GPU:CUDA – Data-Parallel Processingwith Kepler architecture (sm_32)

192 CORES (1 SM): > 200 GFLOPS

CPU: - 4 x A15 ARM cores w/ NEON

Memory:- Shared CPU/GPU: - 12GB/S BANDWIDTH

GPU USE for COMPUTER VISION

with Kepler GPUTEGRA K1

Page 4: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

GPU:CUDA – Data-Parallel Processingwith Kepler architecture (sm_32)

192 CORES (1 SM): > 200 GFLOPS

CPU: - 4 x A15 ARM cores w/ NEON

Memory:- Shared CPU/GPU: - 12GB/S BANDWIDTH

Misc:- Video Codec Engine(incl. Motion Estimation Engine)

- several other hardware units (e.g. Video preprocessing)

MAJOR PERFORMANCE IMPROVEMENTSFOR MOBILE APPLICATIONS

TEGRA K1

HD Video Processor1080p24/30 Video Decode1080p24/30 Video Encode

H.264 | MPEG4 | VC1 | MPEG2VP8

Kepler GeForce®

GPU w/CUDA

OpenGL-ES nextgen

192 Stream Processors

2D Graphics/Scaling

DAP x5(12S/TDM)

HDMIeDP/LVDS

ARM

7Audio

Pro

cess

orImage Processor

25MP Sensor SupportISP 1080p60Enhanced JPEG Engine

PCIe* G2x4 + x1

CSIx4 + x4

SATA2 x1USB 2.0 x3

SecurityEngine

Displayx2

NORFlash

UART x4I2C x5

DDR3 Ctlr64b

800+ MHz

SPI x4SDIO/MMC x4

28 nm HPM23x23mm, 0.7mm pitchHS-FCBGA

USB 3.0* x2

Quad Cortex-A15

4x Cores (1+ GHz) NEON SIMD2 MB L2 (Shared)ARM Trust Zone

Shadow LP C-A15 CPU

Page 5: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

Hence, Tegra K1’s added goal:

Driver Assistance

and, ultimately: autonomous driving!

Page 6: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

PATH TO AUTONOMOUS DRIVING CAR

>

Routine

Driver AssistancePiloted Drive &

Autonomous ParkingAutonomous Drive

Today 2016 2020

1 camera CV…

4 camera visual

4-6 camera CV

4 camera visual …6-8 camera CV

4 camera visual

...

Page 7: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

PATH TO AUTONOMOUS DRIVING CAR

>

Driver AssistancePiloted Drive &

Autonomous ParkingAutonomous Drive

Today 2016 2020

1 camera CV…

4 camera visual

4-6 camera CV

4 camera visual …6-8 camera CV

4 camera visual

...

Page 8: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

Pedestrian Detection

Blind Spot Monitoring

Lane Departure Warning

Collision Avoidance (*)

Traffic Sign Recognition

Adaptive Cruise Control

Previous Use: Driver Assistance

Limitation due to one camera processed:Car had little notion of 3D surroundings (exception: CollAvoidance *).

A map of 3D surroundings is only in driver’s head...

Page 9: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

Autonomous Parking& Piloted Drive: Goals

• Car must navigate itself (albeit at low speeds)

• Needs notion of • Own 3D motion and position

(beyond GPS & wheels)

• Obstacles

(Curbs, other cars, pedestrians,...)

• Free space (for Parking)

Computer Vision: 3D Mapping!

Page 10: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

“STRUCTURE FROM MOTION”

• On-the-fly 3D scene from camera @ 30 fps

• Reconstructs the “Structure” (3D point cloud)

from “Motion” (moving features in video)

• Provides input for high-level processing

(e.g. lane and curb detectors, parking cars)

• Note: Assumes mostly static scene outside!

Page 11: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

STRUCTURE FROM MOTION

Feature

Detection

Feature

Tracking

Triangulation

(3D Scene)

True pose

Rough estimate

Previous pose

Camera

Position &

Motion

True pose

Rough estimate

Previous pose

Page 12: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

EXAMPLE ADAS APPLICATION Structure From Motion

Static Scene, Moving Camera

3D Point Cloud &

Camera Motion (R,t)

Page 13: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

STRUCTURE FROM MOTION Input

— Frames from Calibrated Camera

Pipeline Overview

— Harris Corner Detection

— Image Pyramid Creation

— Multi-Scale Lucas-Kanade Sparse Optical Flow

— RANSAC

— Triangulation

GPU Implementation

— CUDA Kernels

— Are now available as part of Vision Works!

Page 14: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

FEATURE DETECTION TASK

— Find a sparse set of points that can be tracked reliably

— The points should cover the images somewhat evenly

IMPLEMENTATION

— Harris Filter to find corners in the image

— 3x3 Filter Size, Scharr Derivates

— Image is split into 16x16 Blocks

— At most one corner returned per Block

Good

Bad

Page 15: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

HARRIS CORNER Result

— Frame Size: 1280x800

— 646 Corners Found

— ROI via Mask Image

Performance

— 715 us

Page 16: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

FEATURE TRACKING / SPARSE OPTICAL FLOW TASK

— Find the locations of corresponding corners between two frames

Implementation

— Multi-Scale Lucas-Kanade Optical Flow

— 6x6 Window Size, Scharr Derivatives (Symmetric Window!)

— 6 Pyramid Levels

Page 17: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

MULTI-SCALE

ORIGINAL ½ ¼

LK Upscale & LK Upscale & LK

Page 18: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

MULTI-SCALE LUCAS-KANADE FLOW Result

— 609 Tracks

Pyramid

— 445 us

— 5+1 Levels

LK

— 1080 us

— 6x10 Iterations

Page 19: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

OUTLIER FILTERING TASK

— Filter Feature Tracks that are not in correspondence with a Camera moving in a static 3D World

IMPLEMEMENTATION

— RANSAC: Random Sample Consensus

— 7 Tracks are sufficient to compute the Camera Motion

— Generate many Hypothesis from random samples

— Inlier if Angular Reprojection Error is below Threshold(Oliensis, PAMI, 2002)

— Sample with highest # of Inlier is Winner

Page 20: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

RANSAC + CAMERA MOTION? Result

— 545 Tracks

— Rotation Matrix

— Translation Vector

Performance

— 54 Iterations (max 30% Outlier)

— 975 us

Page 21: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

CAMERA CALIBRATION TASK

— Find the relation between Pixel location and Optical ray

IMPLEMENTATION

— Lens with large viewing angle best for ADAS

— Need Camera Model that can handle those

— We use the model proposed by Scaramuzza and his MATLAB toolbox to calibrate our Camera(https://sites.google.com/site/scarabotix/ocamcalib-toolbox)

Page 22: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

TRIANGULATION TASK

— Find 3D Points for Tracks given Camera Calibration and Motion

IMPLEMENTATION

— Compute Rays for Feature Locations from Camera Calibration

— Least-Squares Solution (Rays will not intersect in practice)

Page 23: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

3D POINT CLOUD Result

— 446 3D Points

Performance

— 70 us

Viewing Direction

Car

Curb

Hedge

Page 24: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

TIMING SUMMARYFunction Total GPU Time in

Microseconds (10-6 sec)

Comment

Harris Corner 715 us Feature Detection

Down Sampling 445 us Pyramid Creation

Lucas-Kanade Optical Flow 1080 us Feature Tracking

RANSAC 975 us Outlier Filtering +

Relative Camera Motion

Triangulation 70 us 3D Point Cloud

TOTAL 3285 us (3.3 ms) SfM Time per Frame and

Camera

Page 25: Tegra K1 and the Automotive Industryon-demand.gputechconf.com/.../S4412-tegra-k1-automotive-industry.pdf · Title: Tegra K1 and the Automotive Industry Author: Gernot Ziegler Subject:

SFM DEMO

THANKS TO AUDI FOR PROVIDING THE DATASET