EE465: Introduction to Digital Image Processing

Slides:



Advertisements
Similar presentations
Representation and Description
Advertisements

Presented by Xinyu Chang
電腦視覺 Computer and Robot Vision I
Course Syllabus 1.Color 2.Camera models, camera calibration 3.Advanced image pre-processing Line detection Corner detection Maximally stable extremal regions.
Course Syllabus 1.Color 2.Camera models, camera calibration 3.Advanced image pre-processing Line detection Corner detection Maximally stable extremal regions.
Digital Image Processing Lecture 12: Image Topology
September 10, 2013Computer Vision Lecture 3: Binary Image Processing 1Thresholding Here, the right image is created from the left image by thresholding,
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
Digital image processing Chapter 8 Image analysis and pattern recognition IMAGE ANALYSIS AND PATTERN RECOGNITION Introduction Feature extraction: - spatial.
Jochen Triesch, UC San Diego, 1 Rendering of the Mandelbrot set: perhaps the most famous fractal Fractals.
Morphology Structural processing of images Image Processing and Computer Vision: 33 Morphological Transformations Set theoretic methods of extracting.
Data Structures For Image Analysis
GATE D Object Representations (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT.
Linear Fractal Mountains 2 step recursive process: –Subdivide chain by creating edge midpoints –Randomly perturb midpoint positions Gen 0: Gen 1: Gen 2:
Document Image Analysis CSE 717 An Introduction. Document Image Analysis  DIA is the theory and practice of recovering the symbol structures of digital.
Lectures 10&11: Representation and description
1 © 2010 Cengage Learning Engineering. All Rights Reserved. 1 Introduction to Digital Image Processing with MATLAB ® Asia Edition McAndrew ‧ Wang ‧ Tseng.
Introduction What is “image processing and computer vision”? Image Representation.
Chapter 11 Representation and Description. Preview Representing a region involves two choices: In terms of its external characteristics (its boundary)
1 Image Processing(IP) 1. Introduction 2. Digital Image Fundamentals 3. Image Enhancement in the spatial Domain 4. Image Enhancement in the Frequency Domain.
Applied Mathematics Complex Systems Fractals Fractal by Zhixuan Li.
Digital Image Processing - (monsoon 2003) FINAL PROJECT REPORT Project Members Sanyam Sharma Sunil Mohan Ranta Group No FINGERPRINT.
DIGITAL IMAGE PROCESSING
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Digital Image Processing
Compiler1 Chapter V: Compiler Overview: r To study the design and operation of compiler for high-level programming languages. r Contents m Basic compiler.
Lecture 06 Binary Image Analysis Lecture 06 Binary Image Analysis Mata kuliah: T Computer Vision Tahun: 2010.
FlowString: Partial Streamline Matching using Shape Invariant Similarity Measure for Exploratory Flow Visualization Jun Tao, Chaoli Wang, Ching-Kuang Shene.
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods Chapter 11 Representation & Description Chapter 11 Representation.
Digital Image Processing Lecture 20: Representation & Description
Intelligent Vision Systems ENT 496 Object Shape Identification and Representation Hema C.R. Lecture 7.
Digital Image Processing CSC331
Classification of grammars Definition: A grammar G is said to be 1)Right-linear if each production in P is of the form A  xB or A  x where A and B are.
September 23, 2014Computer Vision Lecture 5: Binary Image Processing 1 Binary Images Binary images are grayscale images with only two possible levels of.
Introduction Image geometry studies rotation, translation, scaling, distortion, etc. Image topology studies, e.g., (i) the number of occurrences.
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods Representation & Description.
Representation and Description Selim Aksoy Department of Computer Engineering Bilkent University
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
主講人 : 張緯德 1.  Image segmentation ◦ ex: edge-based, region-based  Image representation ◦ ex: Chain code, polygonal approximation signatures, skeletons.
David Chan TCM and what can you do with it in class?
Fourier Descriptors For Shape Recognition Applied to Tree Leaf Identification By Tyler Karrels.
Discovering Computers Fundamentals, Third Edition CGS 1000 Introduction to Computers and Technology Fall 2006.
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
CS654: Digital Image Analysis Lecture 36: Feature Extraction and Analysis.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Finite State Machines 1.Finite state machines with output 2.Finite state machines with no output 3.DFA 4.NDFA.
Overview of Previous Lesson(s) Over View 3 Model of a Compiler Front End.
Fractals. What do we mean by dimension? Consider what happens when you divide a line segment in two on a figure. How many smaller versions do you get?
1 Overview representing region in 2 ways in terms of its external characteristics (its boundary)  focus on shape characteristics in terms of its internal.
Digital Image Processing Lecture 13: Image Topology - Skeletonization Prof. Charlene Tsai.
1 © 2010 Cengage Learning Engineering. All Rights Reserved. 1 Introduction to Digital Image Processing with MATLAB ® Asia Edition McAndrew ‧ Wang ‧ Tseng.
Digital Image Processing, 3rd ed. © 1992–2008 R. C. Gonzalez & R. E. Woods Gonzalez & Woods Chapter 11 Representation and.
Course 3 Binary Image Binary Images have only two gray levels: “1” and “0”, i.e., black / white. —— save memory —— fast processing —— many features of.
 After an image has been segmented into regions by methods such as those discussed in image segmentation chapter, the segmented pixels usually are represented.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Sheng-Fang Huang Chapter 11 part I.  After the image is segmented into regions, how to represent and describe these regions? ◦ In terms of its external.
Image Representation and Description – Representation Schemes
IT472: Digital Image Processing
Digital Image Processing Lecture 20: Representation & Description
Digital Image Processing Lecture 13: Image Topology - Skeletonization
Materi 10 Analisis Citra dan Visi Komputer
Chapter 12 Object Recognition
Representation and Description
Chapter 5 - Input.
Mean Shift Segmentation
Computer Vision Lecture 5: Binary Image Processing
Level Set Tree Feature Detection
Binary Image processing بهمن 92
Handwritten Characters Recognition Based on an HMM Model
Representation and Description
Presentation transcript:

EE465: Introduction to Digital Image Processing Binary Image Analysis Image topology: connectivity and Euler number Boundary representation Chain codes, shape numbers, Fourier descriptors* Skeleton representation String codes, tree grammar*, automata* Fractal representation Fractal everywhere: coastlines, snow-flakes, leaf veins … Applications Character/barcode/handwriting recognition EE465: Introduction to Digital Image Processing

From Processing to Analysis Localized perspective in binary image processing Low-level vision PHIL High-level vision Holistic perspective in binary image analysis EE465: Introduction to Digital Image Processing

High-level Vision Questions How many objects? What is each object? What is the relationship among different objects? … … EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Image Topology Topology is the study of properties of a figure that are unaffected by rubber-sheet distortions = EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Connectivity X’ Y’ Y X X’ and Y’ are NOT connected X and Y are connected a and b are connected if there exists a path from a to b Notation: if a and b are connected, we write a ~ b EE465: Introduction to Digital Image Processing

Connectivity Properties Reflexive: x ~ x for all x Symmetric: if x ~ y, then y ~ x Transitive: if x ~ y and y ~ z, then x ~ z How do we define the path for discrete images? 4-neighbors 8-neighbors EE465: Introduction to Digital Image Processing

Finding Connected Component Xk=(Xk-1B)A, k=1,2,3… EE465: Introduction to Digital Image Processing

Connected Component Labeling 1 2 3 4 5 MATLAN function: > help bwlabel EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Image Example X label2rgb(y) >y=bwlabel(x); >imshow(label2rgb(y)); EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Objects With Holes Euler Number EN=number of connected components – number of holes EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Image Examples EN=0 EN=-1 EN=-3 MATLAB codes: >help bweuler EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Binary Image Analysis Image topology: connectivity and Euler number Boundary representation Chain codes, shape numbers, Fourier descriptors* Skeleton representation String codes, tree grammar*, automata* Fractal representation Fractal everywhere: coastlines, snow-flakes, leaf veins … Applications Character/barcode/handwriting recognition EE465: Introduction to Digital Image Processing

Boundary of Binary Objects X X _ X=X-(X B) or X=(X B) – B + EE465: Introduction to Digital Image Processing

Chain Codes Boundary Representation 4-directional chain code: 0033333323221211101101 8-directional chain code: 076666553321212 EE465: Introduction to Digital Image Processing

Two Problems with the Chain Code Chain code representation is conceptually appealing, yet has the following two problems Dependent on the starting point Dependent on the orientation To use boundary representation in object recognition, we need to achieve invariance to starting point and orientation Normalized codes Differential codes EE465: Introduction to Digital Image Processing

Normalization Strategy 33001122 33001122 30011223 00112233 01122330 11223300 12233001 22330011 23300112 00112233 01122330 11223300 12233001 22330011 23300112 33001122 30011223 First row gives the normalized chain code Sort rows 00112233 EE465: Introduction to Digital Image Processing

Differential Strategy 90o 33001212 33010122 normalize normalize 00121233 01012233 Differential coding: dk=ck-ck-1 (mod 4) for 4-directional chain codes dk=ck-ck-1 (mod 8) for 8-directional chain codes EE465: Introduction to Digital Image Processing

Shape Numbers= Normalized Differential Chain Codes 33010122 33001212 Differential code: dk=ck-ck-1 (mod 4) differentiate differentiate 10113110 10101131 normalize normalize 01011311 01011311 Note that the shape numbers of two objects related by 90o rotation are indeed identical EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Exercise What are the shape numbers of this shape? (Problem 2 in HW2) EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Fourier Descriptor* z(k)=x(k)+j y(k) DFT Fourier descriptors IDFT {x(k),y(k)}, k=1,2,..,N EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Numerical Example P : the number of Fourier coefficients used in reconstruction EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Binary Image Analysis Image topology: connectivity and Euler number Boundary representation Chain codes, shape numbers, Fourier descriptors* Skeleton representation String codes, tree grammar*, automata* Fractal representation Fractal everywhere: coastlines, snow-flakes, leaf veins … Applications Character/barcode/handwriting recognition EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Skeleton Finding EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing String Codes EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Tree Grammar* G={N, , P, r, S} N={X1,X2,X3,S} nonterminals ={a,b,c,d,e} terminals S: start symbol r: ranking function P: a set of productions Expansive production example X k X1 Xn X2 … EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Example 1) S a 2) X1 b X1 X1 4) 3) X1 c X2 d X2 X3 X2 5) X2 a 6) X3 e X3 7) X3 a EE465: Introduction to Digital Image Processing

Automata as String Recognizer* Examples 1 1 1 S1 S2 start state accept state 010 Recognizable string (0*1*)*1 0011 a* denotes n concatenated a (n=0,1,2,…) EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Binary Image Analysis Image topology: connectivity and Euler number Boundary representation Chain codes, shape numbers, Fourier descriptors* Skeleton representation String codes, tree grammar*, automata* Fractal representation Fractal everywhere: coastlines, snow-flakes, leaf veins … Applications Character/barcode/handwriting recognition EE465: Introduction to Digital Image Processing

What are Fractals? – Simple Examples Cantor set (dust) Koch curve (snowflake) EE465: Introduction to Digital Image Processing

How Long is the Coast of Britain? Mandelbrot, Science’1967 EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Fractal Dimension EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Fractals in Nature More can be found at: http://en.wikipedia.org/wiki/Fractal#In_nature EE465: Introduction to Digital Image Processing

Applications of Binary Image Processing and Analysis Optical Character Recognition (OCR) Tax form processing, Google Books, … Barcode recognition Grocery shopping Handwriting recognition Biometrics, forensics Fingerprint recognition EE465: Introduction to Digital Image Processing

Bank Note Character Recognition American Banker’s Association E-13B Font character set: 14 characters 9-by-7 grid Distinct 1D signature is generated as the reading head moves from left to right and detects the change of ink area under the head EE465: Introduction to Digital Image Processing

EE465: Introduction to Digital Image Processing Barcode recognition optical scanner Laser scanner EE465: Introduction to Digital Image Processing

Minutiae-based Fingerprint Recognition EE465: Introduction to Digital Image Processing

Handwriting Recognition EE465: Introduction to Digital Image Processing

The Story of Zodiac Killer EE465: Introduction to Digital Image Processing

Summary for Binary Image Analysis Useful topological attributes Connected components, Euler number Useful structural representations Boundary (chain codes and shape numbers) Skeleton (string code and tree grammar) Fractal (self-similarity based) Various important applications Some are more successful than others Always the tradeoff between cost and performance EE465: Introduction to Digital Image Processing