Professional Documents
Culture Documents
Agenda
9:00 a.m. 9:15 a.m. 10:30 a.m. 10:45 a.m. 11:30 a.m. 12:00 p.m.
Welcome and MathWorks Overview Image Processing with MATLAB Break Video Processing with MATLAB System Design and Hardware Targeting Summary and Wrap-up
From MathWorks
Application Engineer
Stephanie Kwan
Agenda
9:00 a.m. 9:15 a.m. 10:30 a.m. 10:45 a.m. 11:30 a.m. 12:00 p.m.
Welcome and MathWorks Overview Image Processing with MATLAB Break Video Processing with MATLAB System Design and Hardware Targeting Summary and Wrap-up
Perform segmentation Deblur and remove noise Measure image features Perform edge detection Apply morphological operations Enhance image contrast Perform image registration Apply transforms
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
Share
Reporting and Documentation
Software
Algorithm Development
Hardware
Application Development
Deployment
Automate
8
Share
Reporting and Documentation
Software
Algorithm Development
Hardware
Application Development
Deployment
Automate
9
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 analysis Image enhancement Spatial transformation Image registration Morphological operations ROI-based processing Image display and exploration
11
Scene
Image
12
3. Tone Mapping
4. White Balance 5. Gamma Correction
13
14
DCAM compatible FireWire (IIDC 1394) GigE Vision Common OS webcam interfaces
Manufacturers include:
Allied Vision Technologies
Basler
Baumer DALSA FLIR
Hamamatsu
Lumenera Matrox Imaging National Instruments
PixeLINK
Point Grey Qimaging Sony
Satellite imagery Aerial surveys Super-resolution Image sequences and stacks Volumetric data Multispectral and hyperspectral Mosaics and panoramic imagery
17
18
Block processing
Automatically divides an image into blocks for processing Reduces memory usage Processes arbitrarily large images
20
21
Improving Performance
MATLAB
Preallocate space for variables Identify bottlenecks with Profiler Vectorize code
22
Worker
Worker Worker
TOOLBOXES
Worker Worker
BLOCKSETS
Worker
Worker
Worker
23
Speed up Computations
24
Processes
Time
Time
25
26
Create kernals from existing CUDA code and PTX files Run kernals on the GPU from MATLAB
27
28
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. 9:15 a.m. 10:30 a.m. 10:45 a.m. 11:30 a.m. 12:00 p.m.
Welcome and MathWorks Overview Image Processing with MATLAB Break Video Processing with MATLAB System Design and Hardware Targeting Summary and Wrap-up
30
Agenda
9:00 a.m. 9:15 a.m. 10:30 a.m. 10:45 a.m. 11:30 a.m. 12:00 p.m.
Welcome and MathWorks Overview Image Processing with MATLAB Break Video Processing with MATLAB System Design and Hardware Targeting Summary and Wrap-up
31
Convert between color spaces Enhance video contrast Perform segmentation De-interlace video frames Calculate running statistics Overlay text and graphics
32
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
34
System Objects
MATLAB objects that represent algorithms and I/O capabilities that process data frame by frame Instantiate and configure
reader = vision.MultimediaFileReader(viptraffic.avi)
step(reader)
Standard API
35
opticalFlowOutput(:,:,i) = flow;
i = i+1; end implay(opticalFlowOutput,30)
36
Initialize objects
37
Demo: Car Detection Using Optical Flow Use optical flow to detect and count moving vehicles on a road
38
Motion Estimation
39
Demo: Interpolation with Block Matching Use block matching to perform motion estimation and interpolate video
40
41
Automating the process of extracting information from images and video to understand a real world scene
Image Processing Remove noise Adjust contrast Measure Computer Vision Detect Identify Classify Recognize Track Interpretation
42
Detect and track objects Automatic target recognition Count objects in a scene Classify or cluster objects Automatically register images Create mosaics and panoramas Perform stereo vision
43
Statistics Toolbox
Perform statistical analysis, modeling, and algorithm development
Principle components analysis K-means clustering Gaussian mixture models Nave Bayes classification K-nearest neighbor search Support vector machines Boosted decision trees
44
Read and write to many video file formats Manage buffers, indexing, and states with System objects Integrate live data from cameras and frame grabbers Access algorithms for video processing and computer vision Overlay text and graphics annotations on video data Provides tools for designing computer vision systems
45
Agenda
9:00 a.m. 9:15 a.m. 10:30 a.m. 10:45 a.m. 11:30 a.m. 12:00 p.m.
Welcome and MathWorks Overview Image Processing with MATLAB Break Video Processing with MATLAB System Design and Implementation Summary and Wrap-up
46
Share
Reporting and Documentation
Software
Algorithm Development
Hardware
Application Development
Deployment
Automate
47
MATLAB Coder
Simulink
Coder
MATLAB Builder NE
MATLAB Builder JA
MATLAB Builder EX
.exe
.dll .exe .exe .lib CodeCOM.mex .NET C .dll
.dll .lib
COM
.NET
C Code
HDL Code
www www
Java Java
48
MATLAB Compiler
Automatic conversion of your MATLAB programs into standalone applications and shared libraries Support for the full MATLAB language and most toolboxes Royalty-free deployment
49
MATLAB Coder
Generate C and C++ Code from MATLAB Code
Maintain one design in MATLAB Design faster and get to C/C++ quickly Verify behavior of generated code Accelerate computationally intensive portions of MATLAB code Test systematically and frequently Spend more time improving algorithms in MATLAB Compatible with Computer Vision System Toolbox
50
Deploy MATLAB algorithms on Windows/Linux desktop PC Integrate MATLAB algorithms with existing C code Hand-off code to software engineers for embedded processor implementation Accelerate user-written MATLAB algorithms
51
Broad set of language features and functions/system objects supported for code generation.
Matrices and Arrays Data Types Programming Constructs Functions
MATLAB functions and subfunctions Variable length argument lists Function handles Supported algorithms > 400 MATLAB operators and functions > 200 System objects for Signal processing Communications Computer vision
Matrix operations N-dimensional arrays Subscripting Frames Persistent variables Global variables
Complex numbers Arithmetic, Integer math relational, and Double/singlelogical operators precision Program control Fixed-point (if, for, while, arithmetic switch ) Characters Structures Numeric classes Variable-sized data System objects
52
53
DSP/ FPGA
54
Scene
Image
55
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 algorithms implementation
56
Agenda
9:00 a.m. 9:15 a.m. 10:30 a.m. 10:45 a.m. 11:30 a.m. 12:00 p.m.
Welcome and MathWorks Overview Image Processing with MATLAB Break Video Processing with MATLAB System Design and Hardware Targeting Summary and Wrap-up
57
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
Illustration of a retinal prosthesis prototype.
Solution
Use MathWorks tools to develop, simulate, and automatically generate code for real-time image processing algorithms
With Video and Image Processing Blockset and Target Support Package, we rapidly prototype our image and video processing algorithms on the DM642 board. This
Results
Development time reduced from months to weeks DSP deployment streamlined Patient testing improved
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
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
60
63
Consulting Services
Accelerating return on investment
A global team of experts supporting every stage of tool and process integration
Process and Technology Standardization Full Application Deployment Component Deployment Advisory Services
Process Assessment
Jumpstart
Migration Planning
Research
Advanced Engineering
Supplier Involvement
64
Continuous Improvement
Training Services
Exploit the full potential of MathWorks products
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
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
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
Newsgroup
Web forum for technical discussions about MathWorks products More than 300 posts per day
Commentary from engineers who design, build, and support MathWorks products Open conversation at blogs.mathworks.com
66
Blogs
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
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
95% of calls answered within three minutes 70% of issues resolved within 24 hours 80% of customers surveyed rate satisfaction at 80100%
69
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