Color Matching Functions. The principle of trichromacy. CIE xyy (Chromaticity Space) Color spaces. Intro Computer Vision. CSE 152 Lecture 7`

Similar documents
CSE 152 Lecture 7` Intro Computer Vision

CSE 152 Lecture 7. Intro Computer Vision

Announcements. The principle of trichromacy. Color Matching Functions. The appearance of colors

Announcements. Binary Image Processing. Binary System Summary. Histogram-based Segmentation. How do we select a Threshold?

Announcements. Analysis of Binary Images. Color Reflectance

Analysis of Binary Images

Binary Image Processing. Introduction to Computer Vision CSE 152 Lecture 5

Lighting. Camera s sensor. Lambertian Surface BRDF

Announcements. Lighting. Camera s sensor. HW1 has been posted See links on web page for readings on color. Intro Computer Vision.

Processing of binary images

Color to Binary Vision. The assignment Irfanview: A good utility Two parts: More challenging (Extra Credit) Lighting.

CSE152a Computer Vision Assignment 2 WI14 Instructor: Prof. David Kriegman. Revision 1

EE 584 MACHINE VISION

Image Segmentation. Segmentation is the process of partitioning an image into regions

Colour Reading: Chapter 6. Black body radiators

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

CS534 Introduction to Computer Vision Binary Image Analysis. Ahmed Elgammal Dept. of Computer Science Rutgers University

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu

Lecture 8 Object Descriptors

Problem definition Image acquisition Image segmentation Connected component analysis. Machine vision systems - 1

Anno accademico 2006/2007. Davide Migliore

Announcements. Camera Calibration. Thin Lens: Image of Point. Limits for pinhole cameras. f O Z

Robot vision review. Martin Jagersand

CITS 4402 Computer Vision

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S. Image Operations II

CoE4TN4 Image Processing

Boundary descriptors. Representation REPRESENTATION & DESCRIPTION. Descriptors. Moore boundary tracking

EECS490: Digital Image Processing. Lecture #23

Generalized Hough Transform, line fitting

CS4670: Computer Vision

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)

COMPUTER AND ROBOT VISION

09/11/2017. Morphological image processing. Morphological image processing. Morphological image processing. Morphological image processing (binary)

Connected components - 1

Local Features: Detection, Description & Matching

Digital Image Processing COSC 6380/4393

Announcements. Edges. Last Lecture. Gradients: Numerical Derivatives f(x) Edge Detection, Lines. Intro Computer Vision. CSE 152 Lecture 10

EE 701 ROBOT VISION. Segmentation

9 length of contour = no. of horizontal and vertical components + ( 2 no. of diagonal components) diameter of boundary B

Digital Image Processing Chapter 11: Image Description and Representation

Topic 6 Representation and Description

Computer vision: models, learning and inference. Chapter 13 Image preprocessing and feature extraction

Digital Image Processing

Chapter 11 Representation & Description

Image Segmentation. Selim Aksoy. Bilkent University

Image Segmentation. Selim Aksoy. Bilkent University

Chapter 11 Representation & Description

Color. Reading: Optional reading: Chapter 6, Forsyth & Ponce. Chapter 4 of Wandell, Foundations of Vision, Sinauer, 1995 has a good treatment of this.

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

Why does a visual system need color? Color. Why does a visual system need color? (an incomplete list ) Lecture outline. Reading: Optional reading:

Lecture 10: Image Descriptors and Representation

Digital Image Processing COSC 6380/4393. Lecture 19 Mar 26 th, 2019 Pranav Mantini

What is color? What do we mean by: Color of an object Color of a light Subjective color impression. Are all these notions the same?

ECE 172A: Introduction to Intelligent Systems: Machine Vision, Fall Midterm Examination

Lecture: Segmentation I FMAN30: Medical Image Analysis. Anders Heyden

Object Shape Recognition in Image for Machine Vision Application

Image and Multidimensional Signal Processing

Robbery Detection Camera

Morphological Image Processing

Edges and Binary Images

Motivation. Gray Levels

Robotics Programming Laboratory

Motion Estimation and Optical Flow Tracking

Lecture 1 Image Formation.

EE795: Computer Vision and Intelligent Systems

Lecture 6: Multimedia Information Retrieval Dr. Jian Zhang

Lecture 14 Shape. ch. 9, sec. 1-8, of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

Perception. Autonomous Mobile Robots. Sensors Vision Uncertainties, Line extraction from laser scans. Autonomous Systems Lab. Zürich.

Machine vision. Summary # 6: Shape descriptors

IN5520 Digital Image Analysis. Two old exams. Practical information for any written exam Exam 4300/9305, Fritz Albregtsen

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

NAME: Sample Final Exam (based on previous CSE 455 exams by Profs. Seitz and Shapiro)

Image processing and features

Computer Vision & Digital Image Processing. Image segmentation: thresholding

Reading. 2. Color. Emission spectra. The radiant energy spectrum. Watt, Chapter 15.

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Corner Detection. GV12/3072 Image Processing.

Edge and corner detection

Computer and Machine Vision

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

ECEN 447 Digital Image Processing

Color, Edge and Texture

Digital Image Processing

Chapter 9 Morphological Image Processing

Feature extraction. Bi-Histogram Binarization Entropy. What is texture Texture primitives. Filter banks 2D Fourier Transform Wavlet maxima points

Causes of color. Radiometry for color

ECE-161C Color. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

Topic 4 Image Segmentation

Introduction to color science

CS4733 Class Notes, Computer Vision

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt.

Tracking and Recognizing People in Colour using the Earth Mover s Distance

Comparative Study of ROI Extraction of Palmprint

Scale Invariant Feature Transform

Segmentation

CPSC 425: Computer Vision

Digital Image Processing Fundamentals

CSE 167: Lecture #6: Color. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Transcription:

Introduction to Computer Vision CSE 152 Lecture 7` The principle of trichromacy slideintro from T. Darrel Computer Vision Color Matching Functions Experimental facts: Three primaries will work for most people if we allow subtractive matching Exceptional people can match with two or only one primary. This could be caused by a variety of deficiencies. Most people make the same matches. There are some anomalous trichromats, who use three primaries but make different combinations to match. CIE xyy (Chromaticity Space) Color spaces Linear color spaces describe colors as linear combinations of primaries Choice of primaries=choice of color matching functions=choice of color space Color matching functions, hence color descriptions, are all within linear transformations RGB: primaries are monochromatic, energies are 645.2nm, 526.3nm, 444.4nm. Color matching functions have negative parts -> some colors can be matched only subtractively. CIE XYZ: Color matching functions are positive everywhere, but primaries are imaginary. Usually draw x, y, where x=x/(x+y+z) y=y/(x+y+z) 1

Binary System Summary 1. Acquire images and binarize (tresholding, color labels, etc.). 2. Possibly clean up image using morphological operators. 3. Determine regions (blobs) using connected component exploration 4. Compute position, area, and orientation of each blob using moments 5. Compute features that are rotation, scale, and translation invariant using Moments (e.g., Eigenvalues of normalized moments). Histogram-based Segmentation Select threshold Create binary image: I(x,y) < T O(x,y) = 0 [ From Octavia Camps] I(x,y) T O(x,y) = 1 Finding the peaks and valleys It is a not trivial problem: Peakiness Detection Algorithm Find the two HIGHEST LOCAL MAXIMA at a MINIMUM DISTANCE APART: g i and g j Find lowest point between them: g k Measure peakiness : min(h(g i ),H(g j ))/H(g k ) Find (g i,g j,g k ) with highest peakiness [ From Octavia Camps] [ From Octavia Camps] What is a region? Maximal connected set of points in the image with same brightness value (e.g., 1) Regions Two points are connected if there exists a continuous path joining them. Regions can be simply connected (For every pair of points in the region, all smooth paths can be smoothly and continuously deformed into each other). Otherwise, region is multiply connected (holes) 2

Connected Regions Connected Regions 1 1 1 1 1 1 1 1 1 1 1 What are the connected regions in this binary image? Which regions are contained within which region? What the connected regions in this binary image? Which regions are contained within which region? Four & Eight Connectedness Jordan Curve Theorem Every closed curve in R 2 divides the plane into two region, the outside and inside of the curve. Four Connected Eight Connected Almost obvious Problem of 4/8 Connectedness 1 1 1 1 1 1 1 1 1 1 8 Connected: 1 s form a closed curve, but background only forms one region. 4 Connected Background has two regions, but ones form four open curves (no closed curve) To achieve consistency w.r.t. Jordan Curve Theorem 1. Treat background as 4-connected and foreground as 8- connected. 2. Use 6-connectedness 3

Recursive Labeling Connected Component Exploration Procedure Label (Pixel) Mark(Pixel) <- Marker; FOR neighbor in Neighbors(Pixel) DO IF Image (neighbor) = 1 AND Mark(neighbor)=NIL THEN Label(neighbor) Main Marker <- 0; FOR Pixel in Image DO IF Image(Pixel) = 1 AND Mark(Pixel)=NIL THEN Marker <- Marker + 1; Label(Pixel); ; Globals: Marker: integer Mark: Matrix same size as Image, initialized to NIL Recursive Labeling Connected Component Exploration 1 2 Some notes Once labeled, you know how many regions (the value of Marker) From Mark matrix, you can identify all pixels that are part of each region (and compute area) How deep does stack go? Iterative algorithms (See reading from Horn) Parallel algorithms Recursive Labeling Connected Component Exploration Procedure Label (Pixel) Mark(Pixel) <- Marker; FOR neighbor in Neighbors(Pixel) DO IF Image (neighbor) = 1 AND Mark(neighbor)=nil THEN Label(neighbor) Main Marker <- 0; FOR Pixel in Image DO IF Image(Pixel) = 1 AND Mark(Pixel)=nil THEN Marker <- Marker + 1; Label(Pixel); ; Globals: Marker: integer Mark: Matrix same size as Image, initialized to NIL Some notes How deep does stack go? Iterative algorithms (See reading from Horn) Parallel algorithms Properties extracted from binary image A tree showing containment of regions Properties of a region 1. Genus number of holes 2. Centroid 3. Area 4. Perimeter 5. Moments (e.g., measure of elongation) 6. Number of extrema (indentations, bulges) 7. Skeleton 4

B(x,y) Moments The region S is defined as: B Area: Moment M 00 Fast way to implement computation over n by m image or window One object m M 0,0 = B(x, y) x =1 y =1 n Fast way to implement computation over n by m image or window One object Moments: Centroid Shape recognition by Moments Recognition could be done by comparing moments However, moments M jk are not invariant under: Translation Scaling Rotation Skewing Central Moments Central Moments i j i j µ jk = ( x) (i m ) ( y) ( j n) M m =1 n =1 m n mn 5

Normalized Moments Normalized Moments Region orientation from Second Moment Matrix Binarization using Color Object s in robocup are distinguished by color. 1. Compute second centralized moment matrix 2. Compute Eigenvectors of Moment Matrix to obtain orientation 3. Eigenvalues are independent of orientation, translation! Symmetric, positive definite matrix Positive Eigenvalues Orthogonal Eigenvectors How do you binarize the image so that pixels where ball is located are labeled with 1, and other locations are 0? Let C b =(r g b) T be the color of the ball. Binarization using Color Let c(u,v) be the color of pixel (u,v) Simple method b(u,v) = 1 if ( c(u,v) c b )2 ε 0 otherwise Better alternative (why?) Convert c(u,v) to HSV space H(u,v), S(u,v) V(u,v) Convert c b to HSV Check that HS distance is less than threshold ε and brightness (V) is greater than a treshold V>τ Color Blob tracking Color-based tracker gets lost on white knight: Same Color 6