SlideShare a Scribd company logo
1 of 58
Image Formation
Digital Camera
The Eye
Film
A photon’s life choices
• Absorption
• Diffusion
• Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
λ
light source
?
A photon’s life choices
• Absorption
• Diffusion
• Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
λ
light source
A photon’s life choices
• Absorption
• Diffuse Reflection
• Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
λ
light source
A photon’s life choices
• Absorption
• Diffusion
• Specular Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
λ
light source
A photon’s life choices
• Absorption
• Diffusion
• Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
λ
light source
A photon’s life choices
• Absorption
• Diffusion
• Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
λ
light source
A photon’s life choices
• Absorption
• Diffusion
• Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
λ1
light source
λ2
A photon’s life choices
• Absorption
• Diffusion
• Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
λ
light source
A photon’s life choices
• Absorption
• Diffusion
• Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
t=1
light source
t=n
A photon’s life choices
• Absorption
• Diffusion
• Reflection
• Transparency
• Refraction
• Fluorescence
• Subsurface scattering
• Phosphorescence
• Interreflection
λ
light source
(Specular Interreflection)
Lambertian Reflectance
• In computer vision, surfaces are often
assumed to be ideal diffuse reflectors with
known dependence on viewing direction.
Digital camera
A digital camera replaces film with a sensor array
• Each cell in the array is light-sensitive diode that converts photons to electrons
• Two common types
– Charge Coupled Device (CCD)
– CMOS
• http://electronics.howstuffworks.com/digital-camera.htm
Slide by Steve Seitz
Sensor Array
CMOS sensor
Sampling and Quantization
Interlace vs. progressive scan
http://www.axis.com/products/video/camera/progressive_scan.htm Slide by Steve Seitz
Progressive scan
http://www.axis.com/products/video/camera/progressive_scan.htm Slide by Steve Seitz
Interlace
http://www.axis.com/products/video/camera/progressive_scan.htm Slide by Steve Seitz
Rolling Shutter
Electromagnetic Spectrum
http://www.yorku.ca/eye/photopik.htm
Human Luminance Sensitivity Function
Visible light Range of wavelengths
© Stephen E. Palmer, 2002
Visible Light
The Physics of Light
Any patch of light can be completely described
physically by its spectrum: the number of photons
(per time unit) at each wavelength 400 - 700 nm.
400 500 600 700
Wavelength (nm.)
# Photons
(per ms.)
© Stephen E. Palmer, 2002
The Physics of Light
.
#
Photons
D. Normal Daylight
Wavelength (nm.)
B. Gallium Phosphide Crystal
400 500 600 700
#
Photons
Wavelength (nm.)
A. Ruby Laser
400 500 600 700
400 500 600 700
#
Photons
C. Tungsten Lightbulb
400 500 600 700
#
Photons
Some examples of the spectra of light sources
© Stephen E. Palmer, 2002
The Physics of Light
Some examples of the reflectance spectra of surfaces
Wavelength (nm)
%
Photons
Reflected
Red
400 700
Yellow
400 700
Blue
400 700
Purple
400 700
© Stephen E. Palmer, 2002
The Psychophysical Correspondence
There is no simple functional description for the perceived
color of all lights under all viewing conditions, but …...
A helpful constraint:
Consider only physical spectra with normal distributions
area
Wavelength (nm.)
# Photons
400 700
500 600
mean
variance
© Stephen E. Palmer, 2002
The Psychophysical Correspondence
Mean Hue
yellow
green
blue
#
Photons
Wavelength
© Stephen E. Palmer, 2002
"the degree to which a stimulus can be
described as similar to or different from
stimuli that are described as red, green,
blue, and yellow”
The Psychophysical Correspondence
Variance Saturation
Wavelength
high
medium
low
hi.
m
ed.
low
#
Photons
© Stephen E. Palmer, 2002
"the saturation of a color is determined
by a combination of light intensity and how
much it is distributed across the spectrum
of different wavelengths”
The Psychophysical Correspondence
Area Brightness
#
Photons
Wavelength
B. Area Lightness
bright
dark
© Stephen E. Palmer, 2002
More Spectra
metamers
Color Image
R
G
B
Images in Matlab
• Images represented as a matrix
• Suppose we have a NxM RGB image called “im”
– im(1,1,1) = top-left pixel value in R-channel
– im(y, x, b) = y pixels down, x pixels to right in the bth channel
– im(N, M, 3) = bottom-right pixel in B-channel
• imread(filename) returns a uint8 image (values 0 to 255)
– Convert to double format (values 0 to 1) with im2double
0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99
0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91
0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92
0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95
0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85
0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33
0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74
0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93
0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99
0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97
0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93
0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99
0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91
0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92
0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95
0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85
0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33
0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74
0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93
0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99
0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97
0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93
0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99
0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91
0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92
0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95
0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85
0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33
0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74
0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93
0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99
0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97
0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93
R
G
B
row
column
Color spaces
How can we represent color?
http://en.wikipedia.org/wiki/File:RGB_illumination.jpg
Color spaces: RGB
0,1,0
0,0,1
1,0,0
Image from: http://en.wikipedia.org/wiki/File:RGB_color_solid_cube.png
Some drawbacks
• Strongly correlated channels
• Non-perceptual
Default color space
R
(G=0,B=0)
G
(R=0,B=0)
B
(R=0,G=0)
Color spaces: HSV
Intuitive color space
H
(S=1,V=1)
S
(H=1,V=1)
V
(H=1,S=0)
Color spaces: YCbCr
Y
(Cb=0.5,Cr=0.5)
Cb
(Y=0.5,Cr=0.5)
Cr
(Y=0.5,Cb=05)
Y=0 Y=0.5
Y=1
Cb
Cr
Fast to compute, good for
compression, used by TV
Color spaces: L*a*b*
“Perceptually uniform”* color space
L
(a=0,b=0)
a
(L=65,b=0)
b
(L=65,a=0)
If you had to choose, would you rather go
without luminance or chrominance?
If you had to choose, would you rather go
without luminance or chrominance?
Most information in intensity
Only color shown – constant intensity
Most information in intensity
Only intensity shown – constant color
Most information in intensity
Original image
Back to grayscale intensity
0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99
0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91
0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92
0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95
0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85
0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33
0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74
0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93
0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99
0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97
0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93
White balance
When looking at a picture on screen or print, we adapt to the
illuminant of the room, not to that of the scene in the
picture
When the white balance is not correct, the picture will have
an unnatural color “cast”
http://www.cambridgeincolour.com/tutorials/white-balance.htm
incorrect white balance correct white balance
White balance
Film cameras:
• Different types of film or different filters for different
illumination conditions
Digital cameras:
• Automatic white balance
• White balance settings corresponding to
several common illuminants
• Custom white balance using a reference
object
http://www.cambridgeincolour.com/tutorials/white-balance.htm
White balance
Von Kries adaptation
• Multiply each channel by a gain factor
White balance
Von Kries adaptation
• Multiply each channel by a gain factor
Best way: gray card
• Take a picture of a neutral object (white or gray)
• Deduce the weight of each channel
– If the object is recoded as rw, gw, bw
use weights 1/rw, 1/gw, 1/bw
White balance
Without gray cards: we need to “guess” which
pixels correspond to white objects
Gray world assumption
• The image average rave, gave, bave is gray
• Use weights 1/rave, 1/gave, 1/bave
Brightest pixel assumption
• Highlights usually have the color of the light source
• Use weights inversely proportional to the values of the
brightest pixels
Gamut mapping
• Gamut: convex hull of all pixel colors in an image
• Find the transformation that matches the gamut of the image
to the gamut of a “typical” image under white light
Use image statistics, learning techniques
White balance by recognition
Key idea: For each of the
semantic classes present
in the image, compute the
illuminant that transforms
the pixels assigned to that
class so that the average
color of that class
matches the average
color of the same class in
a database of “typical”
images
J. Van de Weijer, C. Schmid and J. Verbeek, Using High-Level Visual
Information for Color Constancy, ICCV 2007.
Mixed illumination
When there are several types of illuminants in the
scene, different reference points will yield different
results
http://www.cambridgeincolour.com/tutorials/white-balance.htm
Reference: moon Reference: stone
Spatially varying white balance
E. Hsu, T. Mertens, S. Paris, S. Avidan, and F. Durand, “Light Mixture
Estimation for Spatially Varying White Balance,” SIGGRAPH 2008
Input Alpha map Output
Uses of color in computer vision
Color histograms for image matching
Swain and Ballard, Color Indexing, IJCV 1991.
Uses of color in computer vision
Color histograms for image matching
http://labs.ideeinc.com/multicolr
Uses of color in computer vision
Image segmentation and retrieval
C. Carson, S. Belongie, H. Greenspan, and Ji. Malik, Blobworld:
Image segmentation using Expectation-Maximization and its
application to image querying, ICVIS 1999.
Uses of color in computer vision
Skin detection
M. Jones and J. Rehg, Statistical Color Models with
Application to Skin Detection, IJCV 2002.
Uses of color in computer vision
Robot soccer
M. Sridharan and P. Stone, Towards Eliminating Manual
Color Calibration at RoboCup. RoboCup-2005: Robot
Soccer World Cup IX, Springer Verlag, 2006
Source: K. Grauman
Uses of color in computer vision
Building appearance models for tracking
D. Ramanan, D. Forsyth, and A. Zisserman. Tracking People by Learning their
Appearance. PAMI 2007.

More Related Content

What's hot

Image Processing with OpenCV
Image Processing with OpenCVImage Processing with OpenCV
Image Processing with OpenCVdebayanin
 
Computer vision - edge detection
Computer vision - edge detectionComputer vision - edge detection
Computer vision - edge detectionWael Badawy
 
Introduction to object detection
Introduction to object detectionIntroduction to object detection
Introduction to object detectionBrodmann17
 
Image pre processing - local processing
Image pre processing - local processingImage pre processing - local processing
Image pre processing - local processingAshish Kumar
 
Morphological image processing
Morphological image processingMorphological image processing
Morphological image processingVinayak Narayanan
 
Hand Gesture Recognition Using OpenCV Python
Hand Gesture Recognition Using OpenCV Python Hand Gesture Recognition Using OpenCV Python
Hand Gesture Recognition Using OpenCV Python Arijit Mukherjee
 
Face recognition Face Identification
Face recognition Face IdentificationFace recognition Face Identification
Face recognition Face IdentificationKalyan Acharjya
 
Medical image processing
Medical image processingMedical image processing
Medical image processingDr G R Sinha
 
BIOMETRICS FINGER PRINT TECHNOLOGY
BIOMETRICS FINGER PRINT TECHNOLOGYBIOMETRICS FINGER PRINT TECHNOLOGY
BIOMETRICS FINGER PRINT TECHNOLOGYsathish sak
 
Lidar for Autonomous Driving II (via Deep Learning)
Lidar for Autonomous Driving II (via Deep Learning)Lidar for Autonomous Driving II (via Deep Learning)
Lidar for Autonomous Driving II (via Deep Learning)Yu Huang
 
"Introduction to Feature Descriptors in Vision: From Haar to SIFT," A Present...
"Introduction to Feature Descriptors in Vision: From Haar to SIFT," A Present..."Introduction to Feature Descriptors in Vision: From Haar to SIFT," A Present...
"Introduction to Feature Descriptors in Vision: From Haar to SIFT," A Present...Edge AI and Vision Alliance
 

What's hot (20)

Hog
HogHog
Hog
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
Image Processing with OpenCV
Image Processing with OpenCVImage Processing with OpenCV
Image Processing with OpenCV
 
Computer vision - edge detection
Computer vision - edge detectionComputer vision - edge detection
Computer vision - edge detection
 
Introduction to object detection
Introduction to object detectionIntroduction to object detection
Introduction to object detection
 
Image pre processing - local processing
Image pre processing - local processingImage pre processing - local processing
Image pre processing - local processing
 
Morphological image processing
Morphological image processingMorphological image processing
Morphological image processing
 
HCI presentation
HCI presentationHCI presentation
HCI presentation
 
Computer vision
Computer visionComputer vision
Computer vision
 
Hand Gesture Recognition Using OpenCV Python
Hand Gesture Recognition Using OpenCV Python Hand Gesture Recognition Using OpenCV Python
Hand Gesture Recognition Using OpenCV Python
 
Face recognition
Face recognitionFace recognition
Face recognition
 
Face recognition Face Identification
Face recognition Face IdentificationFace recognition Face Identification
Face recognition Face Identification
 
Medical image processing
Medical image processingMedical image processing
Medical image processing
 
Iris recognition seminar
Iris recognition seminarIris recognition seminar
Iris recognition seminar
 
fractals
fractalsfractals
fractals
 
BIOMETRICS FINGER PRINT TECHNOLOGY
BIOMETRICS FINGER PRINT TECHNOLOGYBIOMETRICS FINGER PRINT TECHNOLOGY
BIOMETRICS FINGER PRINT TECHNOLOGY
 
EDGE DETECTION
EDGE DETECTIONEDGE DETECTION
EDGE DETECTION
 
Lidar for Autonomous Driving II (via Deep Learning)
Lidar for Autonomous Driving II (via Deep Learning)Lidar for Autonomous Driving II (via Deep Learning)
Lidar for Autonomous Driving II (via Deep Learning)
 
"Introduction to Feature Descriptors in Vision: From Haar to SIFT," A Present...
"Introduction to Feature Descriptors in Vision: From Haar to SIFT," A Present..."Introduction to Feature Descriptors in Vision: From Haar to SIFT," A Present...
"Introduction to Feature Descriptors in Vision: From Haar to SIFT," A Present...
 
Edge detection
Edge detectionEdge detection
Edge detection
 

Similar to Image Formation

02 cie552 image_andcamera
02 cie552 image_andcamera02 cie552 image_andcamera
02 cie552 image_andcameraElsayed Hemayed
 
ITC Adapting Situational Judgement Test
ITC Adapting Situational Judgement TestITC Adapting Situational Judgement Test
ITC Adapting Situational Judgement TestTony Li
 
LEXT OLS4100 3D Measuring Laser Microscope
LEXT OLS4100 3D Measuring Laser MicroscopeLEXT OLS4100 3D Measuring Laser Microscope
LEXT OLS4100 3D Measuring Laser MicroscopeOlympus IMS
 
週成績2008.06.05
週成績2008.06.05週成績2008.06.05
週成績2008.06.05uaicon
 
Poster at aala2016
Poster at aala2016 Poster at aala2016
Poster at aala2016 TakaKumazawa
 
Data metadata visualization
Data metadata visualizationData metadata visualization
Data metadata visualizationTabin Hasan
 
Faster, More Effective Flowgraph-based Malware Classification
Faster, More Effective Flowgraph-based Malware ClassificationFaster, More Effective Flowgraph-based Malware Classification
Faster, More Effective Flowgraph-based Malware ClassificationSilvio Cesare
 
Data processing Lab Lecture
Data processing Lab LectureData processing Lab Lecture
Data processing Lab Lecturewaddling
 

Similar to Image Formation (10)

02 cie552 image_andcamera
02 cie552 image_andcamera02 cie552 image_andcamera
02 cie552 image_andcamera
 
ITC Adapting Situational Judgement Test
ITC Adapting Situational Judgement TestITC Adapting Situational Judgement Test
ITC Adapting Situational Judgement Test
 
LEXT OLS4100 3D Measuring Laser Microscope
LEXT OLS4100 3D Measuring Laser MicroscopeLEXT OLS4100 3D Measuring Laser Microscope
LEXT OLS4100 3D Measuring Laser Microscope
 
Graphs
GraphsGraphs
Graphs
 
週成績2008.06.05
週成績2008.06.05週成績2008.06.05
週成績2008.06.05
 
Poster at aala2016
Poster at aala2016 Poster at aala2016
Poster at aala2016
 
Data metadata visualization
Data metadata visualizationData metadata visualization
Data metadata visualization
 
Faster, More Effective Flowgraph-based Malware Classification
Faster, More Effective Flowgraph-based Malware ClassificationFaster, More Effective Flowgraph-based Malware Classification
Faster, More Effective Flowgraph-based Malware Classification
 
Chapter 7 physics
Chapter 7 physicsChapter 7 physics
Chapter 7 physics
 
Data processing Lab Lecture
Data processing Lab LectureData processing Lab Lecture
Data processing Lab Lecture
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

Image Formation

  • 1.
  • 2.
  • 4. A photon’s life choices • Absorption • Diffusion • Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection λ light source ?
  • 5. A photon’s life choices • Absorption • Diffusion • Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection λ light source
  • 6. A photon’s life choices • Absorption • Diffuse Reflection • Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection λ light source
  • 7. A photon’s life choices • Absorption • Diffusion • Specular Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection λ light source
  • 8. A photon’s life choices • Absorption • Diffusion • Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection λ light source
  • 9. A photon’s life choices • Absorption • Diffusion • Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection λ light source
  • 10. A photon’s life choices • Absorption • Diffusion • Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection λ1 light source λ2
  • 11. A photon’s life choices • Absorption • Diffusion • Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection λ light source
  • 12. A photon’s life choices • Absorption • Diffusion • Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection t=1 light source t=n
  • 13. A photon’s life choices • Absorption • Diffusion • Reflection • Transparency • Refraction • Fluorescence • Subsurface scattering • Phosphorescence • Interreflection λ light source (Specular Interreflection)
  • 14. Lambertian Reflectance • In computer vision, surfaces are often assumed to be ideal diffuse reflectors with known dependence on viewing direction.
  • 15. Digital camera A digital camera replaces film with a sensor array • Each cell in the array is light-sensitive diode that converts photons to electrons • Two common types – Charge Coupled Device (CCD) – CMOS • http://electronics.howstuffworks.com/digital-camera.htm Slide by Steve Seitz
  • 18. Interlace vs. progressive scan http://www.axis.com/products/video/camera/progressive_scan.htm Slide by Steve Seitz
  • 23. Visible light Range of wavelengths © Stephen E. Palmer, 2002 Visible Light
  • 24. The Physics of Light Any patch of light can be completely described physically by its spectrum: the number of photons (per time unit) at each wavelength 400 - 700 nm. 400 500 600 700 Wavelength (nm.) # Photons (per ms.) © Stephen E. Palmer, 2002
  • 25. The Physics of Light . # Photons D. Normal Daylight Wavelength (nm.) B. Gallium Phosphide Crystal 400 500 600 700 # Photons Wavelength (nm.) A. Ruby Laser 400 500 600 700 400 500 600 700 # Photons C. Tungsten Lightbulb 400 500 600 700 # Photons Some examples of the spectra of light sources © Stephen E. Palmer, 2002
  • 26. The Physics of Light Some examples of the reflectance spectra of surfaces Wavelength (nm) % Photons Reflected Red 400 700 Yellow 400 700 Blue 400 700 Purple 400 700 © Stephen E. Palmer, 2002
  • 27. The Psychophysical Correspondence There is no simple functional description for the perceived color of all lights under all viewing conditions, but …... A helpful constraint: Consider only physical spectra with normal distributions area Wavelength (nm.) # Photons 400 700 500 600 mean variance © Stephen E. Palmer, 2002
  • 28. The Psychophysical Correspondence Mean Hue yellow green blue # Photons Wavelength © Stephen E. Palmer, 2002 "the degree to which a stimulus can be described as similar to or different from stimuli that are described as red, green, blue, and yellow”
  • 29. The Psychophysical Correspondence Variance Saturation Wavelength high medium low hi. m ed. low # Photons © Stephen E. Palmer, 2002 "the saturation of a color is determined by a combination of light intensity and how much it is distributed across the spectrum of different wavelengths”
  • 30. The Psychophysical Correspondence Area Brightness # Photons Wavelength B. Area Lightness bright dark © Stephen E. Palmer, 2002
  • 33. Images in Matlab • Images represented as a matrix • Suppose we have a NxM RGB image called “im” – im(1,1,1) = top-left pixel value in R-channel – im(y, x, b) = y pixels down, x pixels to right in the bth channel – im(N, M, 3) = bottom-right pixel in B-channel • imread(filename) returns a uint8 image (values 0 to 255) – Convert to double format (values 0 to 1) with im2double 0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99 0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91 0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92 0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95 0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85 0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33 0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74 0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93 0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99 0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97 0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93 0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99 0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91 0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92 0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95 0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85 0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33 0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74 0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93 0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99 0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97 0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93 0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99 0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91 0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92 0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95 0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85 0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33 0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74 0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93 0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99 0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97 0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93 R G B row column
  • 34. Color spaces How can we represent color? http://en.wikipedia.org/wiki/File:RGB_illumination.jpg
  • 35. Color spaces: RGB 0,1,0 0,0,1 1,0,0 Image from: http://en.wikipedia.org/wiki/File:RGB_color_solid_cube.png Some drawbacks • Strongly correlated channels • Non-perceptual Default color space R (G=0,B=0) G (R=0,B=0) B (R=0,G=0)
  • 36. Color spaces: HSV Intuitive color space H (S=1,V=1) S (H=1,V=1) V (H=1,S=0)
  • 37. Color spaces: YCbCr Y (Cb=0.5,Cr=0.5) Cb (Y=0.5,Cr=0.5) Cr (Y=0.5,Cb=05) Y=0 Y=0.5 Y=1 Cb Cr Fast to compute, good for compression, used by TV
  • 38. Color spaces: L*a*b* “Perceptually uniform”* color space L (a=0,b=0) a (L=65,b=0) b (L=65,a=0)
  • 39. If you had to choose, would you rather go without luminance or chrominance?
  • 40. If you had to choose, would you rather go without luminance or chrominance?
  • 41. Most information in intensity Only color shown – constant intensity
  • 42. Most information in intensity Only intensity shown – constant color
  • 43. Most information in intensity Original image
  • 44. Back to grayscale intensity 0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99 0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91 0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92 0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95 0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85 0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33 0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74 0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93 0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99 0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97 0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93
  • 45. White balance When looking at a picture on screen or print, we adapt to the illuminant of the room, not to that of the scene in the picture When the white balance is not correct, the picture will have an unnatural color “cast” http://www.cambridgeincolour.com/tutorials/white-balance.htm incorrect white balance correct white balance
  • 46. White balance Film cameras: • Different types of film or different filters for different illumination conditions Digital cameras: • Automatic white balance • White balance settings corresponding to several common illuminants • Custom white balance using a reference object http://www.cambridgeincolour.com/tutorials/white-balance.htm
  • 47. White balance Von Kries adaptation • Multiply each channel by a gain factor
  • 48. White balance Von Kries adaptation • Multiply each channel by a gain factor Best way: gray card • Take a picture of a neutral object (white or gray) • Deduce the weight of each channel – If the object is recoded as rw, gw, bw use weights 1/rw, 1/gw, 1/bw
  • 49. White balance Without gray cards: we need to “guess” which pixels correspond to white objects Gray world assumption • The image average rave, gave, bave is gray • Use weights 1/rave, 1/gave, 1/bave Brightest pixel assumption • Highlights usually have the color of the light source • Use weights inversely proportional to the values of the brightest pixels Gamut mapping • Gamut: convex hull of all pixel colors in an image • Find the transformation that matches the gamut of the image to the gamut of a “typical” image under white light Use image statistics, learning techniques
  • 50. White balance by recognition Key idea: For each of the semantic classes present in the image, compute the illuminant that transforms the pixels assigned to that class so that the average color of that class matches the average color of the same class in a database of “typical” images J. Van de Weijer, C. Schmid and J. Verbeek, Using High-Level Visual Information for Color Constancy, ICCV 2007.
  • 51. Mixed illumination When there are several types of illuminants in the scene, different reference points will yield different results http://www.cambridgeincolour.com/tutorials/white-balance.htm Reference: moon Reference: stone
  • 52. Spatially varying white balance E. Hsu, T. Mertens, S. Paris, S. Avidan, and F. Durand, “Light Mixture Estimation for Spatially Varying White Balance,” SIGGRAPH 2008 Input Alpha map Output
  • 53. Uses of color in computer vision Color histograms for image matching Swain and Ballard, Color Indexing, IJCV 1991.
  • 54. Uses of color in computer vision Color histograms for image matching http://labs.ideeinc.com/multicolr
  • 55. Uses of color in computer vision Image segmentation and retrieval C. Carson, S. Belongie, H. Greenspan, and Ji. Malik, Blobworld: Image segmentation using Expectation-Maximization and its application to image querying, ICVIS 1999.
  • 56. Uses of color in computer vision Skin detection M. Jones and J. Rehg, Statistical Color Models with Application to Skin Detection, IJCV 2002.
  • 57. Uses of color in computer vision Robot soccer M. Sridharan and P. Stone, Towards Eliminating Manual Color Calibration at RoboCup. RoboCup-2005: Robot Soccer World Cup IX, Springer Verlag, 2006 Source: K. Grauman
  • 58. Uses of color in computer vision Building appearance models for tracking D. Ramanan, D. Forsyth, and A. Zisserman. Tracking People by Learning their Appearance. PAMI 2007.