Image and Video Processing with MATLAB.pdf

February 12, 2018 | Author: aissaboulmerk | Category: Matlab, Computer Vision, C (Programming Language), Parallel Computing, Graphics Processing Unit
Share Embed Donate


Short Description

Download Image and Video Processing with MATLAB.pdf...

Description

Image and Video Processing Using MATLAB

April 12, 2011 Rochester, NY

© 2011 The MathWorks, Inc.1

Agenda

9:00 a.m.

Welcome and MathWorks Overview

9:15 a.m.

Image Processing with MATLAB

10:30 a.m.

Break

10:45 a.m.

Video Processing with MATLAB

11:30 a.m.

System Design and Hardware Targeting

12:00 p.m.

Summary and Wrap-up

2

From MathWorks 

Sr. Account Manager – Ed Donovan – [email protected] – 508-647-4251



Application Engineer – Stephanie Kwan

3

Agenda

9:00 a.m.

Welcome and MathWorks Overview

9:15 a.m.

Image Processing with MATLAB

10:30 a.m.

Break

10:45 a.m.

Video Processing with MATLAB

11:30 a.m.

System Design and Hardware Targeting

12:00 p.m.

Summary and Wrap-up

4

Where is image processing used?

5

Common Image Processing Tasks

       

Perform segmentation Deblur and remove noise Measure image features Perform edge detection Apply morphological operations Enhance image contrast Perform image registration Apply transforms

6

Common Image Processing Challenges

     

Reading and writing to various file formats Visualizing images and intermediate results Testing algorithms with what-if scenarios Identifying causes of algorithm failure Processing large images with limited memory Executing algorithms faster

7

Technical Computing Tasks Access

Explore and Discover

Files Data Analysis and Modeling

Software

Algorithm Development

Share Reporting and Documentation

Outputs for Design

Code and Applications

Hardware

Application Development

Deployment

Automate 8

MATLAB – A Platform for Technical Computing Access

Explore and Discover

Files Data Analysis and Modeling

Software

Algorithm Development

Share Reporting and Documentation

Outputs for Design

Code and Applications

Hardware

Application Development

Deployment

Automate 9

Core MathWorks Products

The leading environment for technical computing 

  



The industry-standard, high-level programming language for algorithm development Numeric computation Data analysis and visualization Toolboxes for signal and image processing, statistics, optimization, symbolic math, and other areas Foundation of MathWorks products

10

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

11

Demo: Camera Pipeline From Sensor Data to Image

Scene

Image

12

Demo: Camera Pipeline

1. Noise Reduction 2. Demosaic

3. Tone Mapping 4. White Balance 5. Gamma Correction

13

Image Acquisition Toolbox 

Acquire images and video directly into MATLAB and Simulink



Configure device properties



Perform background acquisition



Synchronize multimodal devices



Configure, acquire, and preview live video data using a graphical interface

14

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 15

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



See Supported Hardware Pages for more information 16

Where is Large Imagery Used?       

Satellite imagery Aerial surveys Super-resolution Image sequences and stacks Volumetric data Multispectral and hyperspectral Mosaics and panoramic imagery

17

Common Large Image Challenges

 

“Out of memory” errors Slow processing

18

Some Steps to Handle Large Images 

Try memory command to see available space



Preallocate space for variables Minimize numerical data types Load small portions of an image Visualize only what is necessary Incorporate more hardware resources

   

Can lead to complex code 19

blockproc and rsetwrite



Block processing – Automatically divides an image into blocks for processing – Reduces memory usage – Processes arbitrarily large images



Reduced resolution data set – Avoids memory demands in visualizing large images

20

Demo: Cell Segmentation with blockproc

21

Improving Performance 

MATLAB – Preallocate space for variables – Identify bottlenecks with Profiler – Vectorize code



Image Processing Toolbox – Many toolbox functions are faster as of R2010a



Parallel Computing Toolbox – Utilize multicore processors, clusters, and GPUs

22

Parallel Computing Toolbox Going Beyond Serial MATLAB Applications

Worker

Worker Worker

TOOLBOXES

BLOCKSETS

Worker Worker

Worker Worker

Worker

23

Parallel Computing enables you to …

Larger Compute Pool

Speed up Computations

Larger Memory Pool

Work with Large Data 11

26

41

12

27

42

13

28

43

14

29

44

15

30

45

16

31

46

17

32

47

17

33

48

19

34

49

20

35

50

21

36

51

22

37

52

24

Processes

Distributing Tasks (Task Parallel)

Time

Time 25

Demo: Camera Pipeline and Parallel Computing

26

Parallel Computing Toolbox Support for GPUs 

Automatically use GPU’s with supported built-in MATLAB functions – conv2, filter2



Run supported MATLAB code on the GPU – arrayfun

 

Create kernals from existing CUDA code and PTX files Run kernals on the GPU from MATLAB

27

Why would you want to use a GPU?  

Speed up execution of computationally intensive simulations For example: – Performance: A\b with Double Precision

28

Why use MATLAB for Image Processing?

  

  



Read and write many image file formats Visualize and explore images interactively Connect directly to cameras and frame grabbers Use a large library of built-in functions Quickly build custom image processing algorithms Block-process large images to avoid memory issues Process images faster with multiple cores and clusters

29

Agenda

9:00 a.m.

Welcome and MathWorks Overview

9:15 a.m.

Image Processing with MATLAB

10:30 a.m.

Break

10:45 a.m.

Video Processing with MATLAB

11:30 a.m.

System Design and Hardware Targeting

12:00 p.m.

Summary and Wrap-up

30

Agenda

9:00 a.m.

Welcome and MathWorks Overview

9:15 a.m.

Image Processing with MATLAB

10:30 a.m.

Break

10:45 a.m.

Video Processing with MATLAB

11:30 a.m.

System Design and Hardware Targeting

12:00 p.m.

Summary and Wrap-up

31

Common Video Processing Tasks

  

  

Convert between color spaces Enhance video contrast Perform segmentation De-interlace video frames Calculate running statistics Overlay text and graphics

32

Common Video Processing Challenges

     

Reading and writing to various file formats Managing buffers and intermediate storage Testing video algorithms with test cases Accessing standard video algorithms Visualizing results and intermediate steps Displaying text and graphics

33

Demo: Working with Video in MATLAB 

Read in and write out data using VideoReader and VideoWriter



What happens if the video file is very long or the frame size is large?

34

System Objects  

MATLAB objects that represent algorithms and I/O capabilities that process data frame by frame Instantiate and configure –



Execute within a loop –



reader = vision.MultimediaFileReader(‘viptraffic.avi’) step(reader)

Standard API – – –

reset isDone close

35

Video Processing in MATLAB myVid = VideoReader(‘myvideofile.avi’); numFrames = myVid.NumberOfFrames; numIter = 10; opticalFlowIn = zeros([size(currentFrame) 5]); opticalFlowOutput = zeros([size(currentFrame) numFrames]); i = 1; Explicit state management while i 400 MATLAB operators and functions • > 200 System objects for • Signal processing • Communications • Computer vision

52

Demo: Camera Pipeline Revisited 

Generate C code from MATLAB code

53

Targeting DSPs and FPGAs MATLAB and Simulink • Algorithm development • Debugging and profiling • System design Fixed-Point Modeling Generate code

Verify design Link to Embedded Software

Integrated Development Environment • Compiler • Build automation tools • Debugger

DSP/ FPGA 54

Demo: Camera Pipeline System Design From Sensor Data to Image

Scene

Image

55

Why use MATLAB and Simulink for embedded hardware design?       

Automatically convert MATLAB to C code Reduce the number of versions of code Simplify the design process Reuse MATLAB and legacy code in models Convert floating-point algorithms to fixed point Optimize algorithms for DSPs and FPGAs Test and validate an algorithm’s implementation

56

Agenda

9:00 a.m.

Welcome and MathWorks Overview

9:15 a.m.

Image Processing with MATLAB

10:30 a.m.

Break

10:45 a.m.

Video Processing with MATLAB

11:30 a.m.

System Design and Hardware Targeting

12:00 p.m.

Summary and Wrap-up

57

What You’ve Seen Today MATLAB for image and video processing  Image Processing Toolbox – Visualize, analyze, and process images 

Image Acquisition Toolbox – Test image processing algorithms with live data



Computer Vision System Toolbox – Visualize, analyze, and process video – Motion estimation, tracking, and stereo vision



Parallel Computing Toolbox – Process images faster using multiple core and clusters



MATLAB Coder – Convert MATLAB code to C/C++ code 58

Doheny Eye Institute Develops Next-Generation of Retinal Prosthesis with MathWorks Tools

Challenge Develop next-generation, higher-resolution retinal prostheses

Solution

Illustration of a retinal prosthesis prototype.

Use MathWorks tools to develop, simulate, and automatically generate code for real-time image processing algorithms

“With Video and Image Processing

Results

Blockset and Target Support

 Development time reduced from months to weeks  DSP deployment streamlined  Patient testing improved

Package, we rapidly prototype our image and video processing algorithms on the DM642 board. This

can save me days or weeks of time.” Neha Parikh Doheny Eye Institute

59

Given Imaging Develops Camera-in-aCapsule Using MATLAB to Improve the Diagnosis of Gastrointestinal Disorders

Challenge Create an alternative to endoscopy and other invasive gastrointestinal imaging procedures

Solution

The PillCam SB 2 video capsule.

Use MATLAB and companion toolboxes to develop and implement a swallowable video capsule

Results  Fast, efficient development  Easy access to precise diagnostic information  Improved patient care

“With MATLAB, we simulated the intended system and fine-tuned it at the early stages of implementation, enabling us to develop critical engineering programs that met requirements on the first iteration.” Rafi Nave Given Imaging

Link to user story

60

Additional Articles and User Stories

Newsletter: Robot Soccer

User Story: Dutch Epilepsy Clinics Foundation

Newsletter: JPL Mars rover

Newsletter: Parking assistant at BMW 61

From a Leading Textbook Author ... "I have used a number of commercial image processing packages over the years, and prefer the MathWorks Image Processing Toolbox for several reasons: the wide variety of functions it provides, the user’s ability to write additional functions with minimal effort, the quality of the software, and the high level of support." Rafael C. Gonzalez Professor Emeritus University of Tennessee 62

Support and Community

63

Consulting Services Accelerating return on investment A global team of experts supporting every stage of tool and process integration

Continuous Improvement

Process and Technology Automation Process and Technology Standardization Full Application Deployment

Process Assessment Component Deployment Advisory Services

Jumpstart Migration Planning

Research

Advanced Engineering

Product Engineering Teams

Supplier Involvement 64

Training Services Exploit the full potential of MathWorks products

Flexible delivery options: 

  

Public training available worldwide Onsite training with standard or customized courses Web-based training with live, interactive instructor-led courses Self-paced interactive online training

More than 30 course offerings: 



Introductory and intermediate training on MATLAB, Simulink, Stateflow, code generation, and Polyspace products Specialized courses in control design, signal processing, parallel computing, code generation, communications, financial analysis, and other areas 65

MATLAB Central 

 

Community for MATLAB and Simulink users Over 1 million visits per month File Exchange –

– –



Newsgroup – –



Upload/download access to free files including MATLAB code, Simulink models, and documents Ability to rate files, comment, and ask questions More than 12,500 contributed files, 300 submissions per month, 50,000 downloads per month

Web forum for technical discussions about MathWorks products More than 300 posts per day

Blogs – –

Based on February 2011

Commentary from engineers who design, build, and support MathWorks products Open conversation at blogs.mathworks.com 66

Connections Program More than 400 add-on products and services that complement and extend MathWorks products: 

  

Specialized third-party toolboxes for MATLAB Interfaces to third-party software and hardware products Specialized training courses and consulting services System integrators and suppliers that incorporate MathWorks products

67

Book Program More than 1200 books for educational and professional use, in 26 languages      

Controls Signal processing Image processing Biosciences Communications Mechanical engineering

     

Mathematics Aerospace engineering Environmental sciences Chemistry Finance Electronics

68

Technical Support

Resources 



Over 100 support engineers – All with MS degrees (EE, ME, CS) – Local support in North America, Europe, and Asia Comprehensive, product-specific Web support resources

High customer satisfaction   

95% of calls answered within three minutes 70% of issues resolved within 24 hours 80% of customers surveyed rate satisfaction at 80–100%

 







69

For More Information   

Experiment with product by downloading a trial Peruse videos, webinars, user stories, and demos online Contact us – Talk to a sales representative to get answers to your questions – Discuss your projects with MathWorks applications engineers

70

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF