115
1 Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause 10:15 Modelbasierte Entwicklung - Anwendungsbeispiele aus der Signal-, Bildverarbeitung und Regelungstechnik - Erstellung von Prototypen 11:45 Diskussion 12:00 Ende

Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

1

Agenda

8:30 Bildverarbeitung

- Bildverarbeitung mit MATLAB- Objekterkennung und Klassifizierung

10:00 Pause

10:15 Modelbasierte Entwicklung

- Anwendungsbeispiele aus der Signal-, Bildverarbeitung und

Regelungstechnik- Erstellung von Prototypen

11:45 Diskussion

12:00 Ende

Page 2: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

2© 2015 The MathWorks, Inc.

Bildverarbeitung und Computer Vision mit MATLAB

Marco Roggero

Senior Application Engineer

Page 3: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

3

Technical Computing Tasks

Reporting and

Documentation

Outputs for Design

Deployment

ShareExplore and Discover

Data Analysis

and Modeling

Algorithm

Development

Application

Development

Files

Software

Hardware

Access

Code and Applications

Automate

Page 4: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

4

Explore and Discover

MATLAB – A Platform for Technical Computing

Reporting and

Documentation

Outputs for Design

Deployment

Share

Data Analysis

and Modeling

Algorithm

Development

Application

Development

Files

Software

Hardware

Access

Automate

Code and Applications

Page 5: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

5

Visualization – 2D

Page 6: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

6

Image Acquisition Toolbox Hardware Support

Industry standard support:

– Frame grabbers

Analog

Camera Link

– DCAM compatible FireWire (IIDC 1394)

– GigE Vision

– Common OS webcam interfaces

Operating system support:

– Windows

– Linux

– Macintosh

Page 7: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

7

Image Acquisition Toolbox Hardware Support

Manufacturers include:

– Allied Vision Technologies

– Basler

– Baumer

– DALSA

– FLIR

– Hamamatsu

– Lumenera

– Matrox Imaging

– National Instruments

– PixeLINK

– Point Grey

– Qimaging

– Sony

Page 8: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

8

Image Pre- and Post-Processing

Contrast enhancement

Noise removal

Deblurring

Region-based processing

Linear and nonlinear filtering

Original image courtesy of MIT. This

version created by simulating motion

blur.

Deblurred image using Wiener

filter deconvolution.

Original Landsat image courtesy of Space Imaging, LLC.

Page 9: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

9

Image Processing Toolbox

Perform image processing, analysis, visualization, and algorithm development

Image analysis

Image enhancement

Spatial transformation

Image registration

Morphological operations

ROI-based processing

Image display and exploration

Page 10: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

10

Image and Video Visualization

Video viewer

Image viewer

Montage viewer

Interactive cropping

Histograms, contours,

and line profile displays

Selection of point, line, rectangle,

polygon, ellipse, and freehand shapes

Page 11: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

11

Image Analysis

Edge detection

Segmentation

Morphological operators

Image statistics

Boundary tracing

Region properties

Texture analysis

Hough transformMicrograph of 16-bit A/D converter

circuit, courtesy of Steve Decker and

Shujaat Nadeem, MIT.

Page 12: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

12

Demo: Lane Detection

Lane detection

Monitoring car position

Vision algorithm for lane

detection

Control algorithm for

steering input

Vision algorithm for

lane detection

Page 13: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

13

Challenge: Accurate Classification is Hard

How can a computer tell that these are all chairs?

Page 14: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

14

Demo – Texture Classification

Identify features appropriate for classification

Extract features for training and test data

Train classifier with features

Test classifier and analyze results

Using KTH-TIPS databasehttp://www.nada.kth.se/cvap/databases/kth-tips/

“On the significance of real-world conditions for material classification,”

E. Hayman, B. Caputo, M. J. Fritz, J-O.Eklund, Proc ECCV 2004

“Classifying materials in the real world,” B. Caputo, E. Hayman, M. J.

Fritz, J.-O. Eklundh, Image and Vision Computing, 28 (2010), 150- 163.

Page 15: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

15

Image Processing & Computer Vision What are the differences?

Image Processing Micro level analysis

Enhance & Analyze images

Down to pixel level

Static images

Typical Applications:

Medical

AeroDef

Mapping

Computer Vision Macro level analysis

Find & Track objects

Human scale

Video – Images over time

Typical Applications:

Security

AeroDef

Robotics

Bio/medical

Page 16: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

16

Computer Vision System Toolbox

Object Detection Examples

Page 17: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

17

Demo – Rotation Correction with SURF

Workflow

– Feature detection

– Feature extraction

– Feature matching

http://de.mathworks.com/help/vision/examp

les/find-image-rotation-and-scale-using-

automated-feature-matching.html

Page 18: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

18

Computer Vision System Toolbox

Design and simulate computer vision

and video processing systems

Feature detection and extraction

Registration and stereo vision

Object detection and tracking

Motion estimation

Video processing, file I/O, display,

and graphic overlays

Page 19: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

19

Demo: Face tracking with a webcam

=+

Page 20: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

20

Pixels Features Object Detection / Tracking / Classification

Feature Extraction

Object

Detection

Object

Tracking

Object

Classification

Image Pixels

Page 21: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

21

Pixels Features Object Detection / Tracking / Classification

Feature Extraction

Object

Detection

Object

Tracking

Object

Classification

Image Pixels

Page 22: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

22

Challenges: Machine Learning Workflow Using Images

Training Data Feature

Extraction

Learning or

Modelling

Classifier / Model ‘hat’

Input Image Feature

ExtractionClassification

Challenge 1

Challenge 2Challenge 3

Handling large sets of images1

How to extract discriminative

information from images 2

How to model data using

machine learning 3

Page 23: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

23

Sparse Dense

SURF HOG Image

PixelsBag of Words

Feature Extraction

• Representations often invariant to changes in scale, rotation, illumination

• More compact than storing pixel data

• Feature selection based on nature of problem

What is Feature Extraction ?

Page 24: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

24

Perform image processing, analysis, and algorithm development

Image Processing Toolbox™ provides a comprehensive set of

reference-standard algorithms, functions, and apps for image

processing, analysis, visualization, and algorithm development.

You can perform image analysis, image segmentation, image

enhancement, noise reduction, geometric transformations, and

image registration. Many toolbox functions support multicore

processors, GPUs, and C-code generation.

Image Processing Toolbox supports a diverse set of imagetypes, including high dynamic range, gigapixel resolution, embedded

ICC profile, and tomographic. Visualization functions and apps let you

explore images and videos, examine a region of pixels, adjust color

and contrast, create contours or histograms, and manipulate regions

of interest (ROIs). The toolbox supports workflows for processing,

displaying, and navigating large images.

Image Processing Toolbox

Bag of Words

Class / Label

Training Data

Vocabulary /

Bag of Words

Page 25: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

25

Bag of “Visual Words” ( features)

‘mugs’Class / Label

Training Data

Vocabulary /

Bag of Words

Page 26: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

26

Image Classification with Bag of Words

Input Image

Classifier ‘hat’

Training DataBag = Visual

Vocabulary

Bag

Page 27: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

27

Challenges for Machine Learning with ImagesSolutions

Handling large sets of images

Easy to handle large sets of images

– imageSet

How to extract discriminative information

from images

Bag of words for feature extraction

– More available in Computer Vision

System Toolbox (CVST)

How to model data using machine

learning

Training for Image classifier in CVST

Classification Learner App

Challenge 1

Challenge 2

Challenge 3

Page 28: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

28http://googleresearch.blogspot.com/2014/11/a-picture-is-worth-thousand-coherent.html

Machine Learning in Action

Google Captioning Project

Page 29: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

29

Computer Vision in Action

Object Recognition or

Classification

Page 30: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

30

Computer Vision Algorithms for Automated Driving

Pedestrian Detection

• ACF and HOG/SVM based (pre-trained)

• Frameworks to label and re-train detectors

Vehicle Detection

• Deep learning and ACF based (pre-trained)

• Frameworks to label and re-train detectors

Page 31: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

31

Challenges in object tracking

𝑥ሶ𝑥𝑦ሶ𝑦

State Matrix

Page 32: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

32

What is the Kalman Filter?

It is an iterative mathematical process that uses a set of equations and

consecutive data inputs to quickly estimate the true value, position, velocity,

etc. of the object being measured, when the measured values contain

random noise.

Estimated

temperature

Actual temperature

Measured

temperature

Page 33: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

33

Kalman Filter

0x̂

0P

Initial state

& covariance

kx

1kP

Previous state

& covariance

Pk

APk1A

TQ

(1) Predict state based on physical model and previous

state

(2) Predict error covariance matrix

Time Update (“Predict”)

K k Pk

H

T(HPk

H

TR)

1(1) Compute Kalman gain

(2) Update estimate state with measurement

Measurement Update (“Correct”)

ˆ x k ˆ x kKk(zk Hˆ x k

)

(3) Update the error covariance matrix

Pk (IK kH) Pk

kkk vHxz

Measurementkx̂

kP

Output of

updated state

1 kk

Current becomes previous

R : Sensor noise covariance matrix (measurement error)

K : Kalman gain

uw

][ TE wwQ

: Control variable matrix

: Process (state) noise

][T

kkk E eeP kkk xxe ˆ

: Process (state)

covariance matrix

(estimation error)

: Process noise

covariance matrix

v

H

: Measurement noise

k minimize P

A : State matrix relates the state at the

previous, k-1 to the state at the current, k

: Output matrix relates the state to the

measurement

kkkk wBuxAx

1ˆˆ

From sensor spec or experiment

Page 34: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

34

Kalman Filter Made Easy by MATLAB CVST

0x̂

0P

Initial state

& covariance

kx

1kP

Previous state

& covariance Time Update (“Predict”)

Measurement Update (“Correct”)Current Measurement

Output of

updated state

1 kk

Current becomes previous

[z_pred,x_pred,P_pred] = predict(obj)

z_pred : prediction of measurementx_pred : prediction of stateP_pred : state estimation error covariance

at the next time step

[z_corr,x_corr,P_corr] = correct(obj,z)

z_corr : correction of measurementx_corr : correction of stateP_corr : state estimation error covariance

z

x_corrP_corr

Predicted state

x_pred

kalmanFilterSysObj = vision.KalmanFilter(A,H,'ProcessNoise',Q,'MeasurementNoise',R)

Computer Vision System Toolbox™

Page 35: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

35

Computer Vision Algorithms for Automated Driving

Vehicle detection

with distance estimation

using mono-camera

Lane Detection and Classification

• RANSAC-based lane boundary fitting

• Lane boundary visualization

Page 36: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

36

Distance measurement using monocular camera

d (distance)

h (height)

β (pitch)𝑑 =

tan 𝛽

Focal

point

Page 37: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

37

monoCamera setup

Page 38: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

38

Computer Vision Algorithms for Automated Driving

Pedestrian Detection

• ACF and HOG/SVM based (pre-trained)

• Frameworks to label and re-train detectors

Vehicle Detection

• Deep learning and ACF based (pre-trained)

• Frameworks to label and re-train detectors

Page 39: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

39

Training object classifiers

Page 40: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

40

Learn more about visual perceptionExplore examples in the Automated Driving System Toolbox

Lane boundary detection

Detection of vehicles, people,

and other objects

Distance estimation from the

ego vehicle to obstacles

Pretrained people detector

Multi-object tracker

Design the convolutional neural

network (CNN)

Train a Faster R-CNN object

detector

Evaluate the trained detector

Page 41: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

41

Example of Vision System Detection

How can I verify this

detection is correct?

Page 42: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

42

Page 43: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

43

Learn More About Verifying Perception SystemsExplore Examples in Automated Driving System Toolbox

Evaluate detections

against ground truth

Extend connectivity of

Ground Truth Labeler App

Label detections with

Ground Truth Labeler App

Page 44: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

44© 2017 The MathWorks, Inc.

Bildverarbeitung mit MATLAB

14th October 2016

Marco Roggero

Senior Application Engineer

[email protected]

Page 45: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

45

Agenda

8:30 Bildverarbeitung

- Bildverarbeitung mit MATLAB- Objekterkennung und Klassifizierung

10:00 Pause

10:15 Modelbasierte Entwicklung

- Anwendungsbeispiele aus der Signal-, Bildverarbeitung und

Regelungstechnik- Erstellung von Prototypen

11:45 Diskussion

12:00 Ende

Page 46: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

46© 2015 The MathWorks, Inc.

Marco Roggero

Senior Application Engineer

[email protected]

Model Based Design for Automotive

Industry Beschleunigung der Implementierung durch automatische

Seriencodegenerierung

Design

with

Simulation

Executable

Specifications

Continuous

Test and

Verification

Automatic

Code Generation

Models

Page 47: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

47

Model Based Design for Automotive Industry -Agenda

Traditional product development processes

Requirements for Automotive industry

The V Development Model

Introduction to Simulink

Modelling Finite State Machines

Transition from floating to fixed point data types

Automatic Code Generation

PIL and SIL and HIL Simulations

Page 48: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

48

Example: Lane Departure and Traffic Sign Recognition in

Simulink

http://de.mathworks.com/help/vision/examp

les/lane-departure-warning-system-1.html

http://de.mathworks.com/help/vision/examp

les/traffic-warning-sign-recognition.html

Page 49: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

49

ATB Technologies Cuts Electric Motor

Controller Development Time by 50% Using

Code Generation for TI’s C2000 MCU

ChallengeDevelop control software to maximize the efficiency and

performance of a permanent magnet synchronous motor

SolutionUse MathWorks tools for Model-Based Design to model,

simulate, and implement the control system on a target

processor

Results Development time cut in half

Design reviews simplified

Target verification and deployment accelerated

“MathWorks tools enabled us to

verify the quality of our design at

multiple stages of development,

and to produce a high-quality

component within a short time

frame.”

Markus Schertler

ATB Technologies

Link to user story

ATB Technologies permanent magnet

synchronous motor.

Page 50: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

50

Session 1 (About 90 minutes)

Traditional product development processes

Requirements for Automotive industry

The V Development Model

Introduction to Simulink

Modelling Finite State Machines

Page 51: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

51

Session 2 (About 90 minutes)

Transition from floating to fixed point data types

Automatic Code Generation

PIL and SIL and HIL Simulations

Page 52: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

52

Session 1 (About 90 minutes)

Traditional product development processes

Requirements for Automotive industry

The V Development Model

Introduction to Simulink

Modelling Finite State Machines

Page 53: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

53

INTEGRATION AND TEST

SPECIFICATIONS

DESIGN

RESEARCH REQUIREMENTS

DSP/FPGA

C/HDL

IMPLEMENTATION

Embeddable

Algorithms

Algorithm

Design

Traditional System Development

Page 54: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

54

Engineering Challenges Today

Ambitious, highly-complex projects

with short development cycles

False implementation of (often incomplete) requirements

Discovery of errors late in development processCostly and time consuming to fix

Time delays and cost overrunsResulting in loss of reputation/market shares

Page 55: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

55

INTEGRATION AND TEST

SPECIFICATIONS

DESIGN

RESEARCH REQUIREMENTS

DSP/FPGA

C/HDL

IMPLEMENTATION

Embeddable

Algorithms

Algorithm

Design

Traditional System Development

Page 56: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

56

What is the Most Expensive Project Stage to Find Errors In?

Requirements phase Design phase Coding phase Testing phase

Rela

tive

co

st

to f

ix a

n e

rro

r

Project phase where error is fixed

Errors introduced early but found late

in the process are expensive to fix!

requirements phase

design phase

Errors introduced in:

coding phase

Source: Return on Investment for Independent Verification & Validation, NASA, 2004.

Page 57: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

57

INTEGRATION

IMPLEMENTATION

MCU DSP FPGA ASIC

VHDL, VerilogC, C++

DESIGN

Environment Models

Physical Components

Algorithms

TE

ST

& V

ER

IFIC

AT

ION

Model-Based Design Workflow

RESEARCH REQUIREMENTS

Page 58: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

58

Model-Based Design

Design

with

Simulation

Executable

Specifications

Continuous

Test and

Verification

Automatic

Code Generation

Models

Page 59: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

59

What is Simulink®?

Fast ‘what if’ studies

System level simulation

Complex timing support

Fixed-point data types

Supports code generation

Page 60: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

60

Demonstration

Introduction to first simulink models

sldemo_autotrans

Page 61: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

61

Model-Based Design Development Process

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Subsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Design

with

Simulation

Executable

Specifications

Continuous

Test and

Verification

Automatic

Code Generation

Models

Page 62: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

62

Model-Based Design Continuous Verification and Validation

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Ve

rifica

tio

n a

nd

Va

lida

tio

nSubsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Page 63: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

63

Model-Based Design Development Process

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Requirements capturing in Word, DOORS, etc.

Subsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Page 64: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

64

Model-Based Design Multi-Domain Modeling and Algorithm Development

System-Level

Specification

Subsystem

Design

Subsystem

Implementation

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

Testing

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

Requirements

System Design

Physical Components

Environment

Algorithms

Component Design

Methods for modeling systems in different domains

Physical Modeling (Schematic)Data Flow (Block diagram)

Event-Driven Systems Programing Language (Textual)

Page 65: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

65

Data Modeling

Algorithm

Development

Data Analysis

Research

Model-Based Design Early Concept Verification

System-Level

Specification

Subsystem

Design

Subsystem

Implementation

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

Testing

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Requirements

Component Design

• Executable specifications

• Predict dynamic system behaviour

by simulation

- System & environment models

- Less physical prototypes

• Use of simulation results for system design

- Fast What-/If studies

- Short iteration cycles

Idea

Simple Model Detailed Model

Page 66: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

66

Demonstrations

Filter Design in Simulink

Object Detection in Simulink

First StateFlow model

sldemo_autotrans

Page 67: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

67

Example: Simple Object Detection in Simulink

Page 68: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

68

Model-Based Design Development Process

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Subsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Design

with

Simulation

Executable

Specifications

Continuous

Test and

Verification

Automatic

Code Generation

Models

Page 69: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

69

Model-Based Design Continuous Verification and Validation

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Ve

rifica

tio

n a

nd

Va

lida

tio

nSubsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Page 70: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

70

Model-Based Design Development Process

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Requirements capturing in Word, DOORS, etc.

Subsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Page 71: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

71

Model-Based Design Multi-Domain Modeling and Algorithm Development

System-Level

Specification

Subsystem

Design

Subsystem

Implementation

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

Testing

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

Requirements

System Design

Physical Components

Environment

Algorithms

Component Design

Methods for modeling systems in different domains

Physical Modeling (Schematic)Data Flow (Block diagram)

Event-Driven Systems Programing Language (Textual)

Page 72: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

72

Data Modeling

Algorithm

Development

Data Analysis

Research

Model-Based Design Early Concept Verification

System-Level

Specification

Subsystem

Design

Subsystem

Implementation

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

Testing

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Requirements

Component Design

• Executable specifications

• Predict dynamic system behaviour

by simulation

- System & environment models

- Less physical prototypes

• Use of simulation results for system design

- Fast What-/If studies

- Short iteration cycles

Idea

Simple Model Detailed Model

Page 73: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

73

Examples so far

Page 74: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

74

Examples so far

Page 75: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

75

Model-Based Design Development Process

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Subsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Design

with

Simulation

Executable

Specifications

Continuous

Test and

Verification

Automatic

Code Generation

Models

Page 76: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

76

Session 1 (About 90 minutes)

Traditional product development processes

Requirements for Automotive industry

The V Development Model

Introduction to Simulink

Modelling Finite State Machines

Page 77: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

77

Session 2 (About 90 minutes)

Transition from floating to fixed point data types

Automatic Code Generation

PIL and SIL and HIL Simulations

Page 78: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

78

Model-Based Design Continuous Verification and Validation

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Ve

rifica

tio

n a

nd

Va

lida

tio

nSubsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Page 79: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

79

Model-Based Design Continuous Verification and Validation

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code

Verification and

Validation

Integration

testing

User Acceptance

TestingRequirements

Subsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Rapid (Control) Prototyping

• Validation of System Models and / or Control Algorithms

on a dedicated real-time machine

Simulink Real-Time

Page 80: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

80

Floating Point Data

Page 81: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

81

Demonstration

Intro Fixed Point

Page 82: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

82

Challenge: from floating to fixed point

Arianne 5 – 4th June 1996

Page 83: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

83

Challenge: Fixed Point Data

Page 84: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

84

Challenge: Fixed Point Data

Page 85: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

85

Fixed-Point Design Challenges

Finite word lengths = introducing quantization error

Quantization error types

– Overflow (overload distortion)

Data beyond range of fixed-point data type

– Underflow (granular noise)

s … 32 16 8 4 2 1 1/2 1/4 1/8 1/16 1/32 …

3+5=8 bit word length & 5 fractional bits

Range =[-4 3.9688) Step = 1/32

6+2=8 bit word length & 2 fractional bits & 1 sign bit

Range =[-32 31.75) Step =1/2

Page 86: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

86

Demonstrations

Exploring precision (sinus)

Audio Examples

Complex systems

Transition from Floating to Fixed Point

Fixed Point Tool

Page 87: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

87

Floating-Point to Fixed-Point Workflow

Proof of Concept

Design and simulate floating-point algorithms

Iterate on algorithm trade-offs

Verifying Fixed-Point Algorithms

Verify fixed-point results against floating-point reference

Verify results against original requirements

Model Hardware Constraints

Convert algorithm to fixed-point and simulate

Iterate on implementation trade-offs

V

Page 88: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

88

Model-Based Design Automatic Code Generation

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

Testing

System Design

Physical Components

Environment

Algorithms

Requirements

Component Design

Subsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

• C/C++, VHDL and PLC-Code Generation

from one model

• Support for Fixed Point Data Format • Automatic scaling

• Supported in Simulation and Code-Generation

• Easy integration of legacy C/C++-Code

• System development independent

of the target

FPGA ASIC

VHDL, Verilog

DSP

C, C++

MCU

Embedded Coder

(C, C++)

DSP & µC FPGA & ASIC

HDL Coder

(VHDL, Verilog)

PLCPLC Coder

(Structured Text)

PLC

Structured Text

Page 89: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

89

MATLAB & Simulink Coder are extended by Embedded Coder

V

Simulink

Coder

MATLAB Coder

Embedded

Coder

Rapid Prototyping or Production Code?

Page 90: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

90

The Sobel Algorithm for Edge Detection

Sobel

Page 91: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

91

The Sobel Algorithm for Edge Detection

Edges

2D Filter

2D Filter

(.)2

(.)2

Input ImageSQRT and Thresholding

Page 92: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

92

Targeting Embedded Microprocessors and DSPs

Compiler, Linker,

and Loader

C-code

Specific Peripheral

S/W Drivers

C-compiler

IDE

(Integrated

Design

Environment)

Specific Board

MATLAB Coder

Simulink Coder

Embedded Coder

Page 93: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

93

1. Utilize hardware configuration block to select a specific

hardware target

Steps to target the TI C6000 DSP

Page 94: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

94

3. Utilize I/O blocks to prepare for on-target system verification

– Use board support library components, such as

RTDX Input/Output, codecs, LEDs, switches, etc

Steps to target the TI C6000 DSP

Page 95: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

95

4. Build process– Auto-generate

ANSI C and

ASM code

– Integration of

RTOS and

scheduler

– Create full CCS

project in IDE

– Invoke compiler, linker,

and

download code

– Run target

Steps to target the TI C6000 DSP

Page 96: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

96

Codegeneration Report

Automatically generated

HTML links between model and code

Contains all relevant information

Requirement traceability:

Document Model Code

V

Page 97: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

97

Default Function Interface

Algorithm code called at base sample

rate

Initializes variables ones

Optional (hardware shut down)

V

Page 98: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

98

Optimized Code for ARM Cortex-M

Code Replacement Tables

Use of CMSIS library for code optimization

V

Page 99: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

99

A B C

M

I NPUT

BLUE G REEN RED

PO W ER

RGBSplit-4BLACK BOX

V RCS

Core

Software

Algorithms

and Logic

Input

Drivers

Output

Drivers

Special

Device

Drivers

Comm

Drivers

Scheduler or Operating System

and Support Utilities

Communication

Interfaces

Sensors

Actuators

Special

Interfaces

Tuning

Legacy

Algorithm

Code

VIntegration

Page 100: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

100

Model-Based Design Continuous Verification and Validation

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Ve

rifica

tio

n a

nd

Va

lida

tio

nSubsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Page 101: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

101

Model-Based Design Subsystem-Level Integration & Testing

System-Level

Specification

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Integration testing

User Acceptance

TestingRequirements

Subsystem

Design

Code Verification and

Validation

System Design

Physical Components

Environment

Algorithms

Component Design

Subsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

Processor-In-The-Loop Simulation

• Co-Simulation of real hardware and simulated environment

• Testing functional Equivalence

Page 102: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

102

Proving Functional EquivalenceV

Pure simulation vs. Processor-In-The-Loop simulation

Proof of functional equivalence successful

Page 103: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

103

Model-Based Design Continuous Verification and Validation

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

HiL

User Acceptance

TestingRequirements

Ve

rifica

tio

n a

nd

Va

lida

tio

nSubsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

Data Modeling

Algorithm

Development

Data Analysis

Research

System Design

Physical Components

Environment

Algorithms

Component Design

Page 104: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

104

Demonstration

Ball Tracking with Arduino

Page 105: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

105

Demo

Arduino Uno

Raspberry Pi

Motor

Webcam Tracked object

Page 106: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

106

Beispiel

Page 107: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

107

Example

Page 108: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

108

Hardware Support Packages

Target

Data I/O

Ethernet / USB /

Bluetooth

MATLAB HardwareSupport Packages

Hardware

Engineer’s computer

MATLAB algorithm or

Simulink model

Hardware

Simulink HardwareSupport Packages

Page 109: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

109

Examples so far

Page 110: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

110

Examples so far

Page 111: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

111

Model-Based Design Development Process

System-Level

Specification

Subsystem

Design

Subsystem

Integration & Test

System-Level

Integration & Test

Complete

Integration

& Test

Code Verification and

Validation

Integration testing

User Acceptance

TestingRequirements

Subsystem

Implementation

DSP FPGA ASIC

Embedded Software

Digital Electronics

C, C++ VHDL, Verilog

ImplementationIntegration

MCU

System Design

Physical Components

Environment

Algorithms

Component Design

Design

with

Simulation

Executable

Specifications

Continuous

Test and

Verification

Automatic

Code Generation

Models

Page 112: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

112

Session 2 (About 90 minutes)

Transition from floating to fixed point data types

Automatic Code Generation

PIL and SIL and HIL Simulations

Page 113: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

113

Model Based Design for Automotive Industry -Agenda

Traditional product development processes

Requirements for Automotive industry

The V Development Model

Introduction to Simulink

Modelling Finite State Machines

Transition from floating to fixed point data types

Automatic Code Generation

PIL and SIL and HIL Simulations

Page 114: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

114© 2015 The MathWorks, Inc.

Marco Roggero

Senior Application Engineer

[email protected]

Model Based Design for Automotive

Industry Beschleunigung der Implementierung durch automatische

Seriencodegenerierung

Design

with

Simulation

Executable

Specifications

Continuous

Test and

Verification

Automatic

Code Generation

Models

Page 115: Agenda - dnt.kr.hsnr.dednt.kr.hsnr.de/WPP17/vortrag_mathworks_05_17.pdf · Agenda 8:30 Bildverarbeitung - Bildverarbeitung mit MATLAB - Objekterkennung und Klassifizierung 10:00 Pause

115

Agenda

8:30 Bildverarbeitung

- Bildverarbeitung mit MATLAB- Objekterkennung und Klassifizierung

10:00 Pause

10:15 Modelbasierte Entwicklung

- Anwendungsbeispiele aus der Signal-, Bildverarbeitung und

Regelungstechnik- Erstellung von Prototypen

11:45 Diskussion

12:00 Ende