SlideShare a Scribd company logo
1 of 56
Legal Notices and Disclaimers
This presentation is for informational purposes only. INTEL MAKES NO WARRANTIES,
EXPRESS OR IMPLIED, IN THIS SUMMARY.
Intel technologies’ features and benefits depend on system configuration and may require
enabled hardware, software or service activation. Performance varies depending on system
configuration. Check with your system manufacturer or retailer or learn more at intel.com.
This sample source code is released under the Intel Sample Source Code License
Agreement.
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
Java is a registered trademark of Oracle and/or its affiliates.
Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of
Microsoft Corporation in the United States and/or other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2018, Intel Corporation. All rights reserved.
2
Computer Vision Includes…
Stitching together Google maps and street view
Computer Vision Includes…
Self-driving vehicles
Image from Wikimedia commons: https://upload.wikimedia.org/wikipedia/commons/1/1b/Google%27s_Lexus_RX_450h_Self-Driving_Car.jpg
Computer Vision Includes…
Interpretation of the visual world for robotics
Image from Wikimedia commons: https://commons.wikimedia.org/wiki/File:US_Navy_110817-N-PO203-
027_Graduate_Students_prepared_autonomous_robots,_including_the_Office_of_Naval_Research_(ONR)-funded_shipboard_autonomous_f.jpg
Computer Vision Includes…
Automated inspection of mass goods for industry
Image from Wikimedia commons: https://upload.wikimedia.org/wikipedia/commons/e/eb/Manufacturing_line.jpg
Computer Vision Includes…
Automatically labeling images
N6
N3
N2
N4
N5 N7
N8 N9
N1
Computer Vision Includes…
Motion tracking of objects and people
Image from Wikimedia commons: https://commons.wikimedia.org/wiki/File:Silhouette_tracking.PNG
Many Techniques Needed to Solve These
ProblemsSolving real-world problems involves combining these techniques in a myriad of ways
Lesson 2: Image Processing
Lesson 3: Image Transformations I
Lesson 4: Image Transformations II
Lesson 5: Contours and Matching
Lesson 6: Image Features
Lesson 7: Machine Learning
ImageNet* Challenge (ILSVRC)
ImageNet* Large Scale Visual Recognition Challenge (ILSVRC) goals:
Develop best algorithm for large scale…
– Object detection
– Image classification
– Indexing for retrieval
– Indexing for annotation
As of 2017, computer algorithms showed 97.3% accuracy
Researchers use the ImageNet database to develop their neural networks for recognition
tasks and then optimize their neural networks for their specific datasets (often much smaller
and less optimal for learning model development)
Components of Vision Systems Architecture
Image Capture
1. Characteristics of the physical
world
2. Detection equipment
3. Image acquisition
Raw Data
1. Grayscale
2. RSB
Preprocessing
1. Lower-level feature extraction
Processing
1. Detection and segmentation of image
components
2. High-level feature extraction for object
recognition
3. High-level processing
4. Decision making
Visual System Architecture
Transform/
Threshold
Edges
(low-level features)
Contours
Region of Interest
(ROI)
Features
(high-level)
Compare
with known
features
Physical
World
Detector/
Sensor
Raw Data
Grayscale
RGB
Recognition
Characteristics of the Physical World
What light is getting to the detection equipment
Color
Brightness
Intensity
Light scatter
Detection Equipment
Physics of image formation: How light gets to the camera/sensor and how that sensor
is activated
Image from wikimedia commons: https://commons.wikimedia.org/wiki/Category:Fluorescence_microscopes#/media/File:Olympus_Research_microscope_BX51.jpg
Image Acquisition
Sensors turn light into electrical signals, or data.
Images are colorized either by an additive process (in the case of RGB) or a subtractive
process (in the case of CMYK, which is used in printers).
Image source: https://en.wikipedia.org/wiki/Image_sensor
Content source: http://www.shortcourses.com/sensors/sensors1-9.html
Preprocessing
Modern cameras use software to perform many preprocessing steps on images
captured:
• Sampling data received to create image of
appropriate resolution
• Denoising to increase sharpness
• Correcting contrast to increase
clarity
• Scale correction
Feature Extraction
Lines
Edges
Ridge
Corners
Blobs
Points
Texture/motion related
Detection and Segmentation of Image
Components
Define region of interest (“ROI”, area with object of interest)
Scene segmentation - divide image into objects at the pixel level
High-Level Processing
Counting and identifying attributes of objects of a type
Using object size, object position, or other feature and assigning these to specific
categories
Counting attributes of specific object types
 Object size/position, objs  categories
Example: CV system could identify that
• There are 20 birds in this image
• 5 ducks
• 15 pigeons
Image source: https://upload.wikimedia.org/wikipedia/commons/e/ec/Birds%2C_Regent%27s_Park%2C_London_-_DSCF0446.JPG
High-Level Processing
“Image understanding” (wikipedia)
Low level includes image primitives such as edges, texture elements, or regions
Intermediate level includes boundaries, surfaces, and volumes
High level includes objects, scenes, or events
LEARNING SYSTEM is implemented here
Examples
• Intermediate-level learning: “This image has
grass, water, and concrete surfaces.”
• High-level learning: “Birds are sitting near a
pond in Regent’s Park, London.”
Image source: https://upload.wikimedia.org/wikipedia/commons/e/ec/Birds%2C_Regent%27s_Park%2C_London_-_DSCF0446.JPG
Example: Automated Assembly
Is this crayon violet?
Allow crayon to sort to
be sent along for
packaging
Fail
(No-Match)
Flag for human review
In this scenario, we have an automated assembly sorting violet crayons. The robot must
identify whether the crayon is violet.
Pass
(Match)
Related Disciplines and Context
Computer Graphics
• Takes structural input data to create a single 2D image
Image Processing
• Extracting data from an image and converting it to usable data for higher-level
processing
• Point operators, pixel transforms, color transforms, compositing and matting,
histogram equalization
Image Analysis
• Uses 2D images to produce a new 2D image (from image processing steps) or
generate statistics from the original 2D image
• High-level processing and feature extraction
Related Disciplines and Context
Computer Vision
• Integrates multiple 2D images to generate 3D models of objects and scenes
• Optical character recognition, machine inspection, 3D model building, medical
imaging, automotive safety, robotics
Machine Vision
• Uses computer graphics, image analysis, and computer vision tools as part of
automated system
• QC, monitoring, robotics, and so on
Four Major Technologies
OpenCV
Python*
NumPy
matplotlib*
What is OpenCV?
Written in C++ using Standard Template
Library (STL)
BSD license
Bindings in several languages
c
c++
Java*
Python*
Matlab*
Supports several platforms
• Windows*
• Linux*
• macOS*
• Android*
• iOS*
Open source Computer Vision and Machine
Learning library
OpenCV Algorithms are Implemented to…
• Detect and recognize faces
• Identify objects
• Classify human actions in videos
• Track camera movements
• Track moving objects
• Extract 3D models of objects
• Produce 3D point clouds from stereo cameras
• Stitch images together to produce a high resolution image of an entire scene
• Find similar images from an image database
• Remove red eyes from images taken using flash
• Follow eye movements
• Recognize scenery and establish markers to overlay it with augmented reality
Major Components of OpenCV
Core
Is fundamental image as matrix computations
NumPy will do most of core computations for us
imgproc
Great fundamental routines
highgui
Cross-platform rendering and image interaction
Other
Primary (open source) modules for tasks: object detection, deep neural networks, and
machine learning, GPU-based calculation (Cuda*), video, and so on
Contributed extra (non-free) and third-party modules
Relationship Between OpenCV Core and
NumPy
Use opencv/modules/python/src2/cv2.cpp
To provide a NumPy interface to the raw C++ image structures
This lets us replace much of opencv2.core with generic (and short!) NumPy code
Relationship Between OpenCV Core and
NumPy
C++ Code Python* Code
Relationship Between OpenCV Core and
NumPy
C++ Code Python* Code
About Python*
License
Python Software Foundation (PSF) license (GNU General Public License (GPL)
compatible)
Design Principles (Zen of Python*)
Balance consistency, practicality, and readability
Active Communities
Commercial Support
About Python*
Ease of Learning and Reading
Sparse syntax
Interactive Prompt
Rapid Development Cycle
Batteries Included
For many common tasks
Third-party
Modules and packages for just about everything else!
What is NumPy?
• Foundation of numerical computing (number crunching) in Python*
• Basis of sciPY/ scikit-* and so on
• Used for memory storage of OpenCV!
• Roots trace to mid-90s with "Numeric" and then NumArray
• NumPy 1.0 was released in 2006
• Recent stable version of NumPy was released 29 September 2017; 1.13.3
ndarrays: Primary Data Structure
Using ndarrays, we code vectorized operations
a*b instead of explicit Python* looping
But, under the hood, ndarray provides
• Fixed memory layout
• Fixed datatype
• Like a C-array on the heap
• Raw memory, therefore not the high-level language overhead of Python
• Localized memory, which takes advantage of (spatial) caching locality
• We perform vectorized operations at the CPU level
Operations with Arrays
NumPy
• Built-in routines for numerical mathematics, statistics, and matrix operations
Broadcasting
• Matching elements between arrays containing shapes that are not identical
• Repeating, without copying, smaller dimensions to larger
Operations with Arrays
ufunc
Fast, element-wise array operation
 Lots of wrapping gets us to C code
– numpy/core/src/umath/funcs.inc.src#L111
 Don’t believe it, look here…
– numpy/core/code_generators/generate_umath.py
Linking
To fast C and Fortran code for matrix operations
 dot -> BLAS/ATLAS/MKL code
What is matplotlib*?
About matplotlib*
Originally designed by John D. Hunter to emulate Matlab*
Python* Software Foundation (PSF); BSD-style license
First released in 2003
Recent stable release of 2.1.0 on October 8, 2017
What is Matplotlib*?
Primarily a library for 2D plotting of:
• Array data in Python*
• Statistical plots
• Images
Primarily written in Python (with NumPy) and some extensions
Additional toolkits (for example, mplot3d for 3D plots)
Imported separately
Third-party packages (for example, seaborn*) built on Matplotlib
http://matplotlib.org/thirdpartypackages/index.html
Using Figures and Axes in matplotlib*
Figure is "whole graphic”
Axes are individual plots
Graphics with figures/axes (color differently: Figure(facecolor='red') can have axes
embedded within axes (for example, zoom-in)
Typical Use Pattern
Typical Use Pattern
Pixels
Pixels: Red
Pixels: Green
Pixels: Blue
Array Operations and Image Analogues: Contrast and
Brightness
Array Operations and Image Analogues:
Blending
Test Images
RGB Histograms

More Related Content

What's hot

Application of machine learning in industrial applications
Application of machine learning in industrial applicationsApplication of machine learning in industrial applications
Application of machine learning in industrial applicationsAnish Das
 
Big Data Analytics (ML, DL, AI) hands-on
Big Data Analytics (ML, DL, AI) hands-onBig Data Analytics (ML, DL, AI) hands-on
Big Data Analytics (ML, DL, AI) hands-onDony Riyanto
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligenceHITESH Kumawat
 
"An Introduction to AI and Deep Learning"
"An Introduction to AI and Deep Learning""An Introduction to AI and Deep Learning"
"An Introduction to AI and Deep Learning"Oswald Campesato
 
AI, Machine Learning and Deep Learning - The Overview
AI, Machine Learning and Deep Learning - The OverviewAI, Machine Learning and Deep Learning - The Overview
AI, Machine Learning and Deep Learning - The OverviewSpotle.ai
 
Applied Artificial Intelligence Unit 1 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 1 Semester 3 MSc IT Part 2 Mumbai Univer...Applied Artificial Intelligence Unit 1 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 1 Semester 3 MSc IT Part 2 Mumbai Univer...Madhav Mishra
 
Artificial intelligence and Neural Network
Artificial intelligence and Neural NetworkArtificial intelligence and Neural Network
Artificial intelligence and Neural NetworkAbdullah Saghir Ahmad
 
Fundamentals of Artificial Intelligence — QU AIO Leadership in AI
Fundamentals of Artificial Intelligence — QU AIO Leadership in AIFundamentals of Artificial Intelligence — QU AIO Leadership in AI
Fundamentals of Artificial Intelligence — QU AIO Leadership in AIJunaid Qadir
 
Ajit Jaokar, Data Science for IoT professor at Oxford University “Enterprise ...
Ajit Jaokar, Data Science for IoT professor at Oxford University “Enterprise ...Ajit Jaokar, Data Science for IoT professor at Oxford University “Enterprise ...
Ajit Jaokar, Data Science for IoT professor at Oxford University “Enterprise ...Dataconomy Media
 
Artificial Intelligence, Machine Learning and Deep Learning with CNN
Artificial Intelligence, Machine Learning and Deep Learning with CNNArtificial Intelligence, Machine Learning and Deep Learning with CNN
Artificial Intelligence, Machine Learning and Deep Learning with CNNmojammel43
 
Lesson 3 ai in the enterprise
Lesson 3   ai in the enterpriseLesson 3   ai in the enterprise
Lesson 3 ai in the enterpriseankit_ppt
 
Machine Learning: Applications, Process and Techniques
Machine Learning: Applications, Process and TechniquesMachine Learning: Applications, Process and Techniques
Machine Learning: Applications, Process and TechniquesRui Pedro Paiva
 
introduction to machin learning
introduction to machin learningintroduction to machin learning
introduction to machin learningnilimapatel6
 
Introduction to Artificial Intelligence
Introduction to Artificial IntelligenceIntroduction to Artificial Intelligence
Introduction to Artificial IntelligenceLuca Bianchi
 
Computer vision, machine, and deep learning
Computer vision, machine, and deep learningComputer vision, machine, and deep learning
Computer vision, machine, and deep learningIgi Ardiyanto
 
Machine Learning and its Applications
Machine Learning and its ApplicationsMachine Learning and its Applications
Machine Learning and its ApplicationsDr Ganesh Iyer
 
Machine Learning
Machine LearningMachine Learning
Machine Learningbutest
 
Artificial Intelligence AI Topics History and Overview
Artificial Intelligence AI Topics History and OverviewArtificial Intelligence AI Topics History and Overview
Artificial Intelligence AI Topics History and Overviewbutest
 
Knowledgebase vs Database
Knowledgebase vs DatabaseKnowledgebase vs Database
Knowledgebase vs DatabaseCJ Jenkins
 

What's hot (20)

Application of machine learning in industrial applications
Application of machine learning in industrial applicationsApplication of machine learning in industrial applications
Application of machine learning in industrial applications
 
Big Data Analytics (ML, DL, AI) hands-on
Big Data Analytics (ML, DL, AI) hands-onBig Data Analytics (ML, DL, AI) hands-on
Big Data Analytics (ML, DL, AI) hands-on
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
"An Introduction to AI and Deep Learning"
"An Introduction to AI and Deep Learning""An Introduction to AI and Deep Learning"
"An Introduction to AI and Deep Learning"
 
AI, Machine Learning and Deep Learning - The Overview
AI, Machine Learning and Deep Learning - The OverviewAI, Machine Learning and Deep Learning - The Overview
AI, Machine Learning and Deep Learning - The Overview
 
Applied Artificial Intelligence Unit 1 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 1 Semester 3 MSc IT Part 2 Mumbai Univer...Applied Artificial Intelligence Unit 1 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 1 Semester 3 MSc IT Part 2 Mumbai Univer...
 
Artificial intelligence and Neural Network
Artificial intelligence and Neural NetworkArtificial intelligence and Neural Network
Artificial intelligence and Neural Network
 
Fundamentals of Artificial Intelligence — QU AIO Leadership in AI
Fundamentals of Artificial Intelligence — QU AIO Leadership in AIFundamentals of Artificial Intelligence — QU AIO Leadership in AI
Fundamentals of Artificial Intelligence — QU AIO Leadership in AI
 
Ajit Jaokar, Data Science for IoT professor at Oxford University “Enterprise ...
Ajit Jaokar, Data Science for IoT professor at Oxford University “Enterprise ...Ajit Jaokar, Data Science for IoT professor at Oxford University “Enterprise ...
Ajit Jaokar, Data Science for IoT professor at Oxford University “Enterprise ...
 
machine learning
machine learningmachine learning
machine learning
 
Artificial Intelligence, Machine Learning and Deep Learning with CNN
Artificial Intelligence, Machine Learning and Deep Learning with CNNArtificial Intelligence, Machine Learning and Deep Learning with CNN
Artificial Intelligence, Machine Learning and Deep Learning with CNN
 
Lesson 3 ai in the enterprise
Lesson 3   ai in the enterpriseLesson 3   ai in the enterprise
Lesson 3 ai in the enterprise
 
Machine Learning: Applications, Process and Techniques
Machine Learning: Applications, Process and TechniquesMachine Learning: Applications, Process and Techniques
Machine Learning: Applications, Process and Techniques
 
introduction to machin learning
introduction to machin learningintroduction to machin learning
introduction to machin learning
 
Introduction to Artificial Intelligence
Introduction to Artificial IntelligenceIntroduction to Artificial Intelligence
Introduction to Artificial Intelligence
 
Computer vision, machine, and deep learning
Computer vision, machine, and deep learningComputer vision, machine, and deep learning
Computer vision, machine, and deep learning
 
Machine Learning and its Applications
Machine Learning and its ApplicationsMachine Learning and its Applications
Machine Learning and its Applications
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Artificial Intelligence AI Topics History and Overview
Artificial Intelligence AI Topics History and OverviewArtificial Intelligence AI Topics History and Overview
Artificial Intelligence AI Topics History and Overview
 
Knowledgebase vs Database
Knowledgebase vs DatabaseKnowledgebase vs Database
Knowledgebase vs Database
 

Similar to 01 foundations

Computer architecture for vision system
Computer architecture for vision systemComputer architecture for vision system
Computer architecture for vision systemAkashPatil334
 
IRJET- Object Detection in an Image using Convolutional Neural Network
IRJET- Object Detection in an Image using Convolutional Neural NetworkIRJET- Object Detection in an Image using Convolutional Neural Network
IRJET- Object Detection in an Image using Convolutional Neural NetworkIRJET Journal
 
Presentation for min project
Presentation for min projectPresentation for min project
Presentation for min projectaraya kiros
 
License Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCVLicense Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCVVishal Polley
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionDuckMa
 
Leveraging Artificial Intelligence Processing on Edge Devices
Leveraging Artificial Intelligence Processing on Edge DevicesLeveraging Artificial Intelligence Processing on Edge Devices
Leveraging Artificial Intelligence Processing on Edge DevicesICS
 
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCVAutomatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCVEditor IJCATR
 
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV Editor IJCATR
 
Presentation1.2.pptx
Presentation1.2.pptxPresentation1.2.pptx
Presentation1.2.pptxpranaykusuma
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation Pallab Sarkar
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learningpratik pratyay
 
Makine Öğrenmesi ile Görüntü Tanıma | Image Recognition using Machine Learning
Makine Öğrenmesi ile Görüntü Tanıma | Image Recognition using Machine LearningMakine Öğrenmesi ile Görüntü Tanıma | Image Recognition using Machine Learning
Makine Öğrenmesi ile Görüntü Tanıma | Image Recognition using Machine LearningAli Alkan
 
IRJET- Real-Time Object Detection System using Caffe Model
IRJET- Real-Time Object Detection System using Caffe ModelIRJET- Real-Time Object Detection System using Caffe Model
IRJET- Real-Time Object Detection System using Caffe ModelIRJET Journal
 

Similar to 01 foundations (20)

OpenCV+Android.pptx
OpenCV+Android.pptxOpenCV+Android.pptx
OpenCV+Android.pptx
 
Computer architecture for vision system
Computer architecture for vision systemComputer architecture for vision system
Computer architecture for vision system
 
IRJET- Object Detection in an Image using Convolutional Neural Network
IRJET- Object Detection in an Image using Convolutional Neural NetworkIRJET- Object Detection in an Image using Convolutional Neural Network
IRJET- Object Detection in an Image using Convolutional Neural Network
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
Python Open CV
Python Open CVPython Open CV
Python Open CV
 
Presentation for min project
Presentation for min projectPresentation for min project
Presentation for min project
 
Traffic Violation Detector using Object Detection
Traffic Violation Detector using Object DetectionTraffic Violation Detector using Object Detection
Traffic Violation Detector using Object Detection
 
AI on the Edge
AI on the EdgeAI on the Edge
AI on the Edge
 
License Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCVLicense Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCV
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
 
Leveraging Artificial Intelligence Processing on Edge Devices
Leveraging Artificial Intelligence Processing on Edge DevicesLeveraging Artificial Intelligence Processing on Edge Devices
Leveraging Artificial Intelligence Processing on Edge Devices
 
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCVAutomatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
 
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
 
Presentation1.2.pptx
Presentation1.2.pptxPresentation1.2.pptx
Presentation1.2.pptx
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learning
 
LEGaTO: Use cases
LEGaTO: Use casesLEGaTO: Use cases
LEGaTO: Use cases
 
slide-171212080528.pptx
slide-171212080528.pptxslide-171212080528.pptx
slide-171212080528.pptx
 
Makine Öğrenmesi ile Görüntü Tanıma | Image Recognition using Machine Learning
Makine Öğrenmesi ile Görüntü Tanıma | Image Recognition using Machine LearningMakine Öğrenmesi ile Görüntü Tanıma | Image Recognition using Machine Learning
Makine Öğrenmesi ile Görüntü Tanıma | Image Recognition using Machine Learning
 
IRJET- Real-Time Object Detection System using Caffe Model
IRJET- Real-Time Object Detection System using Caffe ModelIRJET- Real-Time Object Detection System using Caffe Model
IRJET- Real-Time Object Detection System using Caffe Model
 

More from ankit_ppt

Deep learning summary
Deep learning summaryDeep learning summary
Deep learning summaryankit_ppt
 
08 neural networks
08 neural networks08 neural networks
08 neural networksankit_ppt
 
06 image features
06 image features06 image features
06 image featuresankit_ppt
 
05 contours seg_matching
05 contours seg_matching05 contours seg_matching
05 contours seg_matchingankit_ppt
 
04 image transformations_ii
04 image transformations_ii04 image transformations_ii
04 image transformations_iiankit_ppt
 
03 image transformations_i
03 image transformations_i03 image transformations_i
03 image transformations_iankit_ppt
 
02 image processing
02 image processing02 image processing
02 image processingankit_ppt
 
Text similarity measures
Text similarity measuresText similarity measures
Text similarity measuresankit_ppt
 
Text generation and_advanced_topics
Text generation and_advanced_topicsText generation and_advanced_topics
Text generation and_advanced_topicsankit_ppt
 
Nlp toolkits and_preprocessing_techniques
Nlp toolkits and_preprocessing_techniquesNlp toolkits and_preprocessing_techniques
Nlp toolkits and_preprocessing_techniquesankit_ppt
 
Matrix decomposition and_applications_to_nlp
Matrix decomposition and_applications_to_nlpMatrix decomposition and_applications_to_nlp
Matrix decomposition and_applications_to_nlpankit_ppt
 
Machine learning and_nlp
Machine learning and_nlpMachine learning and_nlp
Machine learning and_nlpankit_ppt
 
Latent dirichlet allocation_and_topic_modeling
Latent dirichlet allocation_and_topic_modelingLatent dirichlet allocation_and_topic_modeling
Latent dirichlet allocation_and_topic_modelingankit_ppt
 
Intro to nlp
Intro to nlpIntro to nlp
Intro to nlpankit_ppt
 
Ot regularization and_gradient_descent
Ot regularization and_gradient_descentOt regularization and_gradient_descent
Ot regularization and_gradient_descentankit_ppt
 
Ml10 dimensionality reduction-and_advanced_topics
Ml10 dimensionality reduction-and_advanced_topicsMl10 dimensionality reduction-and_advanced_topics
Ml10 dimensionality reduction-and_advanced_topicsankit_ppt
 
Ml9 introduction to-unsupervised_learning_and_clustering_methods
Ml9 introduction to-unsupervised_learning_and_clustering_methodsMl9 introduction to-unsupervised_learning_and_clustering_methods
Ml9 introduction to-unsupervised_learning_and_clustering_methodsankit_ppt
 
Ml8 boosting and-stacking
Ml8 boosting and-stackingMl8 boosting and-stacking
Ml8 boosting and-stackingankit_ppt
 

More from ankit_ppt (20)

Deep learning summary
Deep learning summaryDeep learning summary
Deep learning summary
 
08 neural networks
08 neural networks08 neural networks
08 neural networks
 
07 learning
07 learning07 learning
07 learning
 
06 image features
06 image features06 image features
06 image features
 
05 contours seg_matching
05 contours seg_matching05 contours seg_matching
05 contours seg_matching
 
04 image transformations_ii
04 image transformations_ii04 image transformations_ii
04 image transformations_ii
 
03 image transformations_i
03 image transformations_i03 image transformations_i
03 image transformations_i
 
02 image processing
02 image processing02 image processing
02 image processing
 
Word2 vec
Word2 vecWord2 vec
Word2 vec
 
Text similarity measures
Text similarity measuresText similarity measures
Text similarity measures
 
Text generation and_advanced_topics
Text generation and_advanced_topicsText generation and_advanced_topics
Text generation and_advanced_topics
 
Nlp toolkits and_preprocessing_techniques
Nlp toolkits and_preprocessing_techniquesNlp toolkits and_preprocessing_techniques
Nlp toolkits and_preprocessing_techniques
 
Matrix decomposition and_applications_to_nlp
Matrix decomposition and_applications_to_nlpMatrix decomposition and_applications_to_nlp
Matrix decomposition and_applications_to_nlp
 
Machine learning and_nlp
Machine learning and_nlpMachine learning and_nlp
Machine learning and_nlp
 
Latent dirichlet allocation_and_topic_modeling
Latent dirichlet allocation_and_topic_modelingLatent dirichlet allocation_and_topic_modeling
Latent dirichlet allocation_and_topic_modeling
 
Intro to nlp
Intro to nlpIntro to nlp
Intro to nlp
 
Ot regularization and_gradient_descent
Ot regularization and_gradient_descentOt regularization and_gradient_descent
Ot regularization and_gradient_descent
 
Ml10 dimensionality reduction-and_advanced_topics
Ml10 dimensionality reduction-and_advanced_topicsMl10 dimensionality reduction-and_advanced_topics
Ml10 dimensionality reduction-and_advanced_topics
 
Ml9 introduction to-unsupervised_learning_and_clustering_methods
Ml9 introduction to-unsupervised_learning_and_clustering_methodsMl9 introduction to-unsupervised_learning_and_clustering_methods
Ml9 introduction to-unsupervised_learning_and_clustering_methods
 
Ml8 boosting and-stacking
Ml8 boosting and-stackingMl8 boosting and-stacking
Ml8 boosting and-stacking
 

Recently uploaded

CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 

Recently uploaded (20)

CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 

01 foundations

  • 1.
  • 2. Legal Notices and Disclaimers This presentation is for informational purposes only. INTEL MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. Check with your system manufacturer or retailer or learn more at intel.com. This sample source code is released under the Intel Sample Source Code License Agreement. Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries. Java is a registered trademark of Oracle and/or its affiliates. Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries. *Other names and brands may be claimed as the property of others. Copyright © 2018, Intel Corporation. All rights reserved. 2
  • 3.
  • 4. Computer Vision Includes… Stitching together Google maps and street view
  • 5. Computer Vision Includes… Self-driving vehicles Image from Wikimedia commons: https://upload.wikimedia.org/wikipedia/commons/1/1b/Google%27s_Lexus_RX_450h_Self-Driving_Car.jpg
  • 6. Computer Vision Includes… Interpretation of the visual world for robotics Image from Wikimedia commons: https://commons.wikimedia.org/wiki/File:US_Navy_110817-N-PO203- 027_Graduate_Students_prepared_autonomous_robots,_including_the_Office_of_Naval_Research_(ONR)-funded_shipboard_autonomous_f.jpg
  • 7. Computer Vision Includes… Automated inspection of mass goods for industry Image from Wikimedia commons: https://upload.wikimedia.org/wikipedia/commons/e/eb/Manufacturing_line.jpg
  • 8. Computer Vision Includes… Automatically labeling images N6 N3 N2 N4 N5 N7 N8 N9 N1
  • 9. Computer Vision Includes… Motion tracking of objects and people Image from Wikimedia commons: https://commons.wikimedia.org/wiki/File:Silhouette_tracking.PNG
  • 10. Many Techniques Needed to Solve These ProblemsSolving real-world problems involves combining these techniques in a myriad of ways Lesson 2: Image Processing Lesson 3: Image Transformations I Lesson 4: Image Transformations II Lesson 5: Contours and Matching Lesson 6: Image Features Lesson 7: Machine Learning
  • 11. ImageNet* Challenge (ILSVRC) ImageNet* Large Scale Visual Recognition Challenge (ILSVRC) goals: Develop best algorithm for large scale… – Object detection – Image classification – Indexing for retrieval – Indexing for annotation As of 2017, computer algorithms showed 97.3% accuracy Researchers use the ImageNet database to develop their neural networks for recognition tasks and then optimize their neural networks for their specific datasets (often much smaller and less optimal for learning model development)
  • 12. Components of Vision Systems Architecture Image Capture 1. Characteristics of the physical world 2. Detection equipment 3. Image acquisition Raw Data 1. Grayscale 2. RSB Preprocessing 1. Lower-level feature extraction Processing 1. Detection and segmentation of image components 2. High-level feature extraction for object recognition 3. High-level processing 4. Decision making
  • 13. Visual System Architecture Transform/ Threshold Edges (low-level features) Contours Region of Interest (ROI) Features (high-level) Compare with known features Physical World Detector/ Sensor Raw Data Grayscale RGB Recognition
  • 14. Characteristics of the Physical World What light is getting to the detection equipment Color Brightness Intensity Light scatter
  • 15. Detection Equipment Physics of image formation: How light gets to the camera/sensor and how that sensor is activated Image from wikimedia commons: https://commons.wikimedia.org/wiki/Category:Fluorescence_microscopes#/media/File:Olympus_Research_microscope_BX51.jpg
  • 16. Image Acquisition Sensors turn light into electrical signals, or data. Images are colorized either by an additive process (in the case of RGB) or a subtractive process (in the case of CMYK, which is used in printers). Image source: https://en.wikipedia.org/wiki/Image_sensor Content source: http://www.shortcourses.com/sensors/sensors1-9.html
  • 17. Preprocessing Modern cameras use software to perform many preprocessing steps on images captured: • Sampling data received to create image of appropriate resolution • Denoising to increase sharpness • Correcting contrast to increase clarity • Scale correction
  • 19. Detection and Segmentation of Image Components Define region of interest (“ROI”, area with object of interest) Scene segmentation - divide image into objects at the pixel level
  • 20. High-Level Processing Counting and identifying attributes of objects of a type Using object size, object position, or other feature and assigning these to specific categories Counting attributes of specific object types  Object size/position, objs  categories Example: CV system could identify that • There are 20 birds in this image • 5 ducks • 15 pigeons Image source: https://upload.wikimedia.org/wikipedia/commons/e/ec/Birds%2C_Regent%27s_Park%2C_London_-_DSCF0446.JPG
  • 21. High-Level Processing “Image understanding” (wikipedia) Low level includes image primitives such as edges, texture elements, or regions Intermediate level includes boundaries, surfaces, and volumes High level includes objects, scenes, or events LEARNING SYSTEM is implemented here Examples • Intermediate-level learning: “This image has grass, water, and concrete surfaces.” • High-level learning: “Birds are sitting near a pond in Regent’s Park, London.” Image source: https://upload.wikimedia.org/wikipedia/commons/e/ec/Birds%2C_Regent%27s_Park%2C_London_-_DSCF0446.JPG
  • 22. Example: Automated Assembly Is this crayon violet? Allow crayon to sort to be sent along for packaging Fail (No-Match) Flag for human review In this scenario, we have an automated assembly sorting violet crayons. The robot must identify whether the crayon is violet. Pass (Match)
  • 23. Related Disciplines and Context Computer Graphics • Takes structural input data to create a single 2D image Image Processing • Extracting data from an image and converting it to usable data for higher-level processing • Point operators, pixel transforms, color transforms, compositing and matting, histogram equalization Image Analysis • Uses 2D images to produce a new 2D image (from image processing steps) or generate statistics from the original 2D image • High-level processing and feature extraction
  • 24. Related Disciplines and Context Computer Vision • Integrates multiple 2D images to generate 3D models of objects and scenes • Optical character recognition, machine inspection, 3D model building, medical imaging, automotive safety, robotics Machine Vision • Uses computer graphics, image analysis, and computer vision tools as part of automated system • QC, monitoring, robotics, and so on
  • 26.
  • 27. What is OpenCV? Written in C++ using Standard Template Library (STL) BSD license Bindings in several languages c c++ Java* Python* Matlab* Supports several platforms • Windows* • Linux* • macOS* • Android* • iOS* Open source Computer Vision and Machine Learning library
  • 28. OpenCV Algorithms are Implemented to… • Detect and recognize faces • Identify objects • Classify human actions in videos • Track camera movements • Track moving objects • Extract 3D models of objects • Produce 3D point clouds from stereo cameras • Stitch images together to produce a high resolution image of an entire scene • Find similar images from an image database • Remove red eyes from images taken using flash • Follow eye movements • Recognize scenery and establish markers to overlay it with augmented reality
  • 29. Major Components of OpenCV Core Is fundamental image as matrix computations NumPy will do most of core computations for us imgproc Great fundamental routines highgui Cross-platform rendering and image interaction Other Primary (open source) modules for tasks: object detection, deep neural networks, and machine learning, GPU-based calculation (Cuda*), video, and so on Contributed extra (non-free) and third-party modules
  • 30. Relationship Between OpenCV Core and NumPy Use opencv/modules/python/src2/cv2.cpp To provide a NumPy interface to the raw C++ image structures This lets us replace much of opencv2.core with generic (and short!) NumPy code
  • 31. Relationship Between OpenCV Core and NumPy C++ Code Python* Code
  • 32. Relationship Between OpenCV Core and NumPy C++ Code Python* Code
  • 33.
  • 34. About Python* License Python Software Foundation (PSF) license (GNU General Public License (GPL) compatible) Design Principles (Zen of Python*) Balance consistency, practicality, and readability Active Communities Commercial Support
  • 35. About Python* Ease of Learning and Reading Sparse syntax Interactive Prompt Rapid Development Cycle Batteries Included For many common tasks Third-party Modules and packages for just about everything else!
  • 36.
  • 37. What is NumPy? • Foundation of numerical computing (number crunching) in Python* • Basis of sciPY/ scikit-* and so on • Used for memory storage of OpenCV! • Roots trace to mid-90s with "Numeric" and then NumArray • NumPy 1.0 was released in 2006 • Recent stable version of NumPy was released 29 September 2017; 1.13.3
  • 38. ndarrays: Primary Data Structure Using ndarrays, we code vectorized operations a*b instead of explicit Python* looping But, under the hood, ndarray provides • Fixed memory layout • Fixed datatype • Like a C-array on the heap • Raw memory, therefore not the high-level language overhead of Python • Localized memory, which takes advantage of (spatial) caching locality • We perform vectorized operations at the CPU level
  • 39. Operations with Arrays NumPy • Built-in routines for numerical mathematics, statistics, and matrix operations Broadcasting • Matching elements between arrays containing shapes that are not identical • Repeating, without copying, smaller dimensions to larger
  • 40. Operations with Arrays ufunc Fast, element-wise array operation  Lots of wrapping gets us to C code – numpy/core/src/umath/funcs.inc.src#L111  Don’t believe it, look here… – numpy/core/code_generators/generate_umath.py Linking To fast C and Fortran code for matrix operations  dot -> BLAS/ATLAS/MKL code
  • 41.
  • 43. About matplotlib* Originally designed by John D. Hunter to emulate Matlab* Python* Software Foundation (PSF); BSD-style license First released in 2003 Recent stable release of 2.1.0 on October 8, 2017
  • 44. What is Matplotlib*? Primarily a library for 2D plotting of: • Array data in Python* • Statistical plots • Images Primarily written in Python (with NumPy) and some extensions Additional toolkits (for example, mplot3d for 3D plots) Imported separately Third-party packages (for example, seaborn*) built on Matplotlib http://matplotlib.org/thirdpartypackages/index.html
  • 45. Using Figures and Axes in matplotlib* Figure is "whole graphic” Axes are individual plots Graphics with figures/axes (color differently: Figure(facecolor='red') can have axes embedded within axes (for example, zoom-in)
  • 48.
  • 53. Array Operations and Image Analogues: Contrast and Brightness
  • 54. Array Operations and Image Analogues: Blending

Editor's Notes

  1. Image url?
  2. Image from Wikimedia commons: https://upload.wikimedia.org/wikipedia/commons/1/1b/Google%27s_Lexus_RX_450h_Self-Driving_Car.jpg
  3. Image from Wikimedia commons: https://commons.wikimedia.org/wiki/File:US_Navy_110817-N-PO203-027_Graduate_Students_prepared_autonomous_robots,_including_the_Office_of_Naval_Research_(ONR)-funded_shipboard_autonomous_f.jpg
  4. Image from Wikimedia commons: https://upload.wikimedia.org/wikipedia/commons/e/eb/Manufacturing_line.jpg
  5. The image is a group of labeled cells. The black centers are nuclei. The automated labeling is identifying and counting nuclei. Image url?
  6. Image from Wikimedia commons: https://commons.wikimedia.org/wiki/File:Silhouette_tracking.PNG
  7. Image url?
  8. https://qz.com/1034972/the-data-that-changed-the-direction-of-ai-research-and-possibly-the-world/
  9. Image from wikimedia commons: https://commons.wikimedia.org/wiki/Category:Fluorescence_microscopes#/media/File:Olympus_Research_microscope_BX51.jpg
  10. Image source: https://en.wikipedia.org/wiki/Image_sensor Content source: http://www.shortcourses.com/sensors/sensors1-9.html
  11. Image url?
  12. Image source/url?
  13. Image source: https://upload.wikimedia.org/wikipedia/commons/e/ec/Birds%2C_Regent%27s_Park%2C_London_-_DSCF0446.JPG
  14. Image source: https://upload.wikimedia.org/wikipedia/commons/e/ec/Birds%2C_Regent%27s_Park%2C_London_-_DSCF0446.JPG
  15. Notes: This motivates why we want to use the Python* interface instead of others. This segues into the basic background of Python and NumPy. Point out in the code what makes Python so attractive.
  16. These images are from the matplotlib* gallery: https://matplotlib.org/tutorials/introductory/sample_plots.html
  17. Note: The figure is the “whole image” while the axes are each individual graph
  18. Subplots returns axes as a NumPy array “;” at end of last line removes an annoying evaluation printout
  19. Contrast is multiplication Brightness is addition - Image url?
  20. Blending is weighted sums Image url?
  21. matplotlib* uses NumPy’s histogram to create image Histograms here are to discuss matplotlib You will see histograms in week 2 for histogram equalization as a distribution statistic and later for segmentation.