Shape-Representation and Shape Similarity CIS 601 by Rolf Lakaemper modified by Longin Jan Latecki.

Slides:



Advertisements
Similar presentations
Alignment Visual Recognition “Straighten your paths” Isaiah.
Advertisements

November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 9: Extrinsic Deformations Fall 2012.
Extended Gaussian Images
Sliding Window Filters and Edge Detection Longin Jan Latecki Computer Graphics and Image Processing CIS 601 – Fall 2004.
CDS 301 Fall, 2009 Image Visualization Chap. 9 November 5, 2009 Jie Zhang Copyright ©
1 Enviromatics Spatial database systems Spatial database systems Вонр. проф. д-р Александар Маркоски Технички факултет – Битола 2008 год.
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
Each pixel is 0 or 1, background or foreground Image processing to
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
Segmentation (2): edge detection
Chapter 5 Raster –based algorithms in CAC. 5.1 area filling algorithm 5.2 distance transformation graph and skeleton graph generation algorithm 5.3 convolution.
Quadtrees, Octrees and their Applications in Digital Image Processing
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
International Workshop on Computer Vision - Institute for Studies in Theoretical Physics and Mathematics, April , Tehran 1 II SIZE FUNCTIONS:
International Workshop on Computer Vision - Institute for Studies in Theoretical Physics and Mathematics, April , Tehran 1 IV COMPUTING SIZE.
Processing Digital Images. Filtering Analysis –Recognition Transmission.
Segmentation Divide the image into segments. Each segment:
Image Segmentation. Introduction The purpose of image segmentation is to partition an image into meaningful regions with respect to a particular application.
Quadtrees, Octrees and their Applications in Digital Image Processing
Image Enhancement.
Objective of Computer Vision
Fat Curves and Representation of Planar Figures L.M. Mestetskii Department of Information Technologies, Tver’ State University, Tver, Russia Computers.
Shape Classification Using the Inner-Distance Haibin Ling David W. Jacobs IEEE TRANSACTION ON PATTERN ANAYSIS AND MACHINE INTELLIGENCE FEBRUARY 2007.
Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
CIS 601 Fall 2004 Introduction to Computer Vision and Intelligent Systems Longin Jan Latecki Parts are based on lectures of Rolf Lakaemper and David Young.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Hubert CARDOTJY- RAMELRashid-Jalal QURESHI Université François Rabelais de Tours, Laboratoire d'Informatique 64, Avenue Jean Portalis, TOURS – France.
Orthogonal moments Motivation for using OG moments Stable calculation by recurrent relations Easier and stable image reconstruction - set of orthogonal.
Shape-Representation and Shape Similarity Dr. Rolf Lakaemper Part 1: Shapes.
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
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
CIS 601 Fall 2003 Introduction to Computer Vision Longin Jan Latecki Based on the lectures of Rolf Lakaemper and David Young.
Shape Based Image Retrieval Using Fourier Descriptors Dengsheng Zhang and Guojun Lu Gippsland School of Computing and Information Technology Monash University.
Intelligent Vision Systems ENT 496 Object Shape Identification and Representation Hema C.R. Lecture 7.
Digital Image Processing CSC331
September 23, 2014Computer Vision Lecture 5: Binary Image Processing 1 Binary Images Binary images are grayscale images with only two possible levels of.
Digital Image Processing CCS331 Relationships of Pixel 1.
CIS 601 Image ENHANCEMENT in the SPATIAL DOMAIN Dr. Rolf Lakaemper.
Quadtrees, Octrees and their Applications in Digital Image Processing.
Shape-Representation and Shape Similarity. Motivation WHY SHAPE ?
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods Representation & Description.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
A survey of different shape analysis techniques 1 A Survey of Different Shape Analysis Techniques -- Huang Nan.
CSE554SkeletonsSlide 1 CSE 554 Lecture 2: Shape Analysis (Part I) Fall 2015.
Autonomous Robots Vision © Manfred Huber 2014.
CIS 350 Principles and Applications Of Computer Vision Dr. Rolf Lakaemper.
Shape-Representation and Shape Similarity PART 2 Dr. Rolf Lakaemper.
Shape similarity and Visual Parts Longin Jan Latecki Temple Univ., In cooperation with Rolf Lakamper (Temple Univ.),
Discrete Approach to Curve and Surface Evolution
Shape-Representation and Shape Similarity Dr. Rolf Lakaemper Part 1: Shapes.
1 Overview representing region in 2 ways in terms of its external characteristics (its boundary)  focus on shape characteristics in terms of its internal.
Morphological Image Processing Robotics. 2/22/2016Introduction to Machine Vision Remember from Lecture 12: GRAY LEVEL THRESHOLDING Objects Set threshold.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Digital Image Processing CSC331
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.
CSE 554 Lecture 2: Shape Analysis (Part I)
Image Representation and Description – Representation Schemes
We propose a method which can be used to reduce high dimensional data sets into simplicial complexes with far fewer points which can capture topological.
Digital Image Processing Lecture 20: Representation & Description
Mean Shift Segmentation
Slope and Curvature Density Functions
Dynamical Statistical Shape Priors for Level Set Based Tracking
Computer Vision Lecture 5: Binary Image Processing
Applications of Shape Similarity.
ECE 692 – Advanced Topics in Computer Vision
Fall 2012 Longin Jan Latecki
Goodfellow: Chapter 14 Autoencoders
Presentation transcript:

Shape-Representation and Shape Similarity CIS 601 by Rolf Lakaemper modified by Longin Jan Latecki

Motivation WHY SHAPE ?

Motivation We’ve seen this already in the introduction of this course: These objects are recognized by…

Motivation These objects are recognized by… TextureColorContextShape XX XX X X X XX

Motivation Shape is not the only, but a very powerful descriptor of image content

Why Shape ? Several applications in computer vision use shape processing: Object recognition Image retrieval Processing of pictorial information Video compression (eg. MPEG-7) …

ISS Database Example 2: ISS-Database

The Interface (JAVA – Applet)

ISS Database ISS: Query by Shape Sketch of Shape Query: by Shape only Result: Satisfying ?

ISS Database The ISS-Database will be topic of this tutorial

Overview Why shape ? What is shape ? Shape similarity (Metrices) Classes of similarity measures (Feature Based Coding) Examples for global similarity

Why Shape ? Shape is probably the most important property that is perceived about objects. It allows to predict more facts about an object than other features, e.g. color (Palmer 1999) Thus, recognizing shape is crucial for object recognition. In some applications it may be the only feature present, e.g. logo recognition

Why Shape ? Shape is not only perceived by visual means: tactical sensors can also provide shape information that are processed in a similar way. robots’ range sensor provide shape information, too.

Shape Typical problems: How to describe shape ? What is the matching transformation? No one-to-one correspondence Occlusion Noise

Shape Partial match: only a part of the query appears in a part of the database shape

What is Shape ? Plato, "Meno", 380 BC: "figure is the only existing thing that is found always following color“ "figure is limit of solid"

What is Shape ? … let’s start with some properties easier to agree on: Shape describes a spatial region Shape is a (the ?) specific part of spatial cognition Typically addresses 2D space

What is Shape ? 3D => 2D projection

What is Shape ? the original 3D (?) object

What is Shape ? Moving on from the naive understanding, some questions arise: Is there a maximum size for a shape to be a shape? Can a shape have holes? Does shape always describe a connected region? How to deal with/represent partial shapes (occlusion / partial match) ?

What is Shape ? Shape or Not ? Continuous transformation from shape to two shapes: Is there a point when it stops being a single shape?

What is Shape ? But there’s no doubt that a single, connected region is a shape. Right ?

What is Shape ? A single, connected region. But a shape ? A question of scale !

What is Shape ? There’s no easy, single definition of shape In difference to geometry, arbitrary shape is not covered by an axiomatic system Different applications in object recognition focus on different shape related features Special shapes can be handled Typically, applications in object recognition employ a similarity measure to determine a plausibility that two shapes correspond to each other

Similarity So the new question is: What is Shape Similarity ? or How to Define a Similarity Measure

Similarity Again: it’s not so simple (sorry). There’s nothing like THE similarity measure

Similarity which similarity measure, depends on which required properties, depends on which particular matching problem, depends on which application

Similarity... robustness... invariance to basic transformations Simple Recognition (yes / no) Common Rating (best of...) Analytical Rating (best of, but...) …which application

Similarity …which problem computation problem: d(A,B) decision problem: d(A,B) <e ? decision problem: is there g: d(g(A),B) <e ? optimization problem: find g: min d(g(A),B)

Similarity …which properties: We concentrate here on the computational problem d(A,B)

Similarity Measure Requirements to a similarity measure Should not incorporate context knowledge (no AI), thus computes generic shape similarity

Similarity Measure Requirements to a similarity measure Must be able to deal with noise Must be invariant with respect to basic transformations Next: Strategy Scaling (or resolution) Rotation Rigid / non-rigid deformation

Similarity Measure Requirements to a similarity measure Must be able to deal with noise Must be invariant with respect to basic transformations Must be in accord with human perception

Similarity Measure Some other aspects worth consideration: Similarity of structure Similarity of area Can all these aspects be expressed by a single number?

Similarity Measure Desired Properties of a Similarity Function C (Basri et al. 1998) C should be a metric C should be continuous C should be invariant (to…)

Properties Metric Properties S set of patterns Metric: d: S  S  R satisfying 1. Self-identity :  x  S, d(x,x)=0 2. Positivity :  x  y  S, d(x,y)>0 3. Symmetry :  x, y  S, d(x,y)= d(y,x) 4. Triangle inequality :  x, y, z  S, d(x,z)  d(x,y)+d(y,z) Semi-metric: 1, 2, 3 Pseudo-metric: 1, 3, 4 S with fixed metric d is called metric space

Properties 1.Self-identity :  x  S, d(x,x)=0 2.Positivity :  x  y  S, d(x,y)>0 …surely makes sense

Properties

In general: a similarity measure in accordance with human perception is NOT a metric. This leads to deep problems in further processing, e.g. clustering, since most of these algorithms need metric spaces !

Properties

Some more properties: One major difference should cause a greater dissimilarity than some minor ones. S must not diverge for curves that are not smooth (e.g. polygons).

Similarity Measures Classes of Similarity Measures: Similarity Measure depends on Shape Representation Boundary Area (discrete: = point set) Structural (e.g. Skeleton) Comparison Model feature vector direct

Similarity Measures directfeature based Boundary Spring model, Cum. Angular Function, Chaincode, Arc Decomposition (ASR- Algorithm) Central Dist. Fourier Distance histogram … Area (point set) Hausdorff … Moments Zernike Moments … Structure Skeleton … ---

Feature Based Coding Feature Based Coding (again…) This category defines all approaches that determine a feature-vector for a given shape. Two operations need to be defined: a mapping of shape into the feature space and a similarity of feature vectors. RepresentationFeature ExtractionVector Comparison

Another feature you should have heard of: (Discrete) Moments Shape A,B given as Area (continuous) or Point Sets (discrete)

Moments Discrete Point Sets

Moments

Discrete Moments Exercise: Please compute all 7 moments for the following shapes, compare the vectors using different comparison techniques

Discrete Moments Result: each shape is transformed to a 7- dimensional vector. To compare the shapes, compare the vectors (how ?).

3D Distance Histogram Another Example 3D Distance Histogram Shape A,B given as 3D point set

3D Distance Histogram

Feature Based Coding Again: Two operations need to be defined: a mapping of shape into the feature space and a similarity of feature vectors. We hence have TWO TIMES an information reduction of the basic representation, which by itself is already a mapping of the ‘reality’. RepresentationFeature ExtractionVector Comparison

Direct Comparison End of Feature Based Coding ! Next: Direct Comparison

Vector ComparisonDirect Comparison Example 1 Hausdorff Distance Shape A,B given as point sets A={a1,a2,…} B={b1,b2,…}

Vector ComparisonFeature Based Coding

Vector ComparisonHausdorff Distance

Vector ComparisonHausdorff Distance Hausdorff: Unstable with respect to noise (This is easy to fix ! How ?) Problem: Invariance ! Nevertheless: Hausdorff is the motor behind many applications in specific fields (e.g. character recognition)

Vector ComparisonBoundary Representation Example 2 Chain code Comparison Shape A,B given as chain codes

Vector ComparisonBoundary Representation

Getting Boundaries " As output of image segmentation, we obtain objects that can be viewed as bitmaps. " Let f be a bitmap, i.e., a binary image with 0s representing the background. We can obtain the boundary of the object represented with f using Matlab function: B = boundaries(f); the obtained boundary is 8-connected.

I = imread('pout.tif'); figure, imshow(I); figure, imhist(I); BW = im2bw(I, 0.45); % makes a binary image % all pixels above 0.4*255 are 1 and % the rest is 0 which is black figure; imshow(BW) ; B = boundaries(BW); figure; imshow(B);

Homework 10 " For certain images, objects of interest can be segmented using simple tools. Your task: compute the rabbit's boundary. Link to the image.image

The original image. All pixels having a greater red than green ratio After two stages of morphological processing, we are ready to get the contour.

Vector ComparisonBoundary Representation A binary image can be converted into a ‘chain code’ representing the boundary. The boundary is traversed and a string representing the curvature is constructed C 5,6,6,3,3,4,3,2,3,4,5,3,…

Chain Code

Vector ComparisonBoundary Representation Resulting strings are then compared using classical string-matching techniques. Not very robust.

Vector ComparisonBoundary Representation Digital curves suffer from effects caused by digitalization, e.g. rotation:

Shape Signatures [st, angle, x0,y0] = signature(B, x0, y0); figure; plot(angle, st); Resulting strings are then compared using string-matching techniques.

Vector ComparisonStructural Representation Structural approaches capture the structure of a shape, typically by representing shape as a graph. Typical example: skeletons

Vector ComparisonStructural Representation Skeletons Shape A,B primarily given as area or boundary, structure is derived from representation

Vector ComparisonStructural Representation The computation can be described as a medial axis transform, a kind of discrete generalized voronoi.

Vector ComparisonStructural Representation The graph is constructed mirroring the adjacency of the skeleton’s parts. Edges are labeled according to the qualitative classes. Matching two shapes requires matching two usually different graphs against each other.

Vector ComparisonStructural Representation Problems of skeletons: - Pruning

Vector ComparisonStructural Representation -Robustness

Vector ComparisonShape similarity All similarity measures shown can not deal with occlusions or partial matching (except skeletons ?) ! They are useful (and used) for specific applications, but are not sufficient to deal with arbitrary shapes Solution: Part – based similarity !

Shape-Representation and Shape Similarity PART 2: PART BASED SIMILARITY

Motivation WHY PARTS ?

Motivation

Global similarity measures fail at: Occlusion Global Deformation Partial Match (actually everything that occurs under ‘real’ conditions)

Parts Requirements for a Part Based Shape Representation (Siddiqi / Kimia ’96: ‘Parts of Visual Form: Computational Aspects’)

Parts How should parts be defined / computed ? Some approaches: Decomposition of interior Skeletons Maximally convex parts Best combination of primitives Boundary Based High Curvature Points Constant Curvature Segments

Parts Principal approach: Hoffman/Richards (’85): ‘Part decomposition should precede part description’ => No primitives, but general principles

Parts No primitives, but general principals “When two arbitrarily shaped surfaces are made to interpenetrate they always meet in a contour of concave discontinuity of their tangent planes” (transversality principle)

Parts “When two arbitrarily shaped surfaces are made to interpenetrate they always meet in a contour of concave discontinuity of their tangent planes” (transversality principle) Divide a plane curve into parts at negative minima of curvature

Parts Different notions of parts: Parts: object is composed of rigid parts Protrusions: object arises from object by deformation due to a (growth) process (morphology) Bends: Parts are result of bending the base object

Parts The Shape Triangle

Parts This lecture focuses on parts, i.e. on partitioning a shape

Framework A Framework for a Partitioning Scheme Scheme must be invariant to 2 classes of changes: Global changes : translations, rotations & scaling of 2D shape, viewpoint,… Local changes: occlusions, movement of parts (rigid/non-rigid deformation)

Framework A general decomposition of a shape should be based on the interaction between two parts rather than on their shapes. -> Partitioning by Part Lines

Framework Definition 1: A part line is a curve whose end points rest on the boundary of the shape, which is entirely embedded in it, and which divides it into two connected components.

Definition 2: A partitioning scheme is a mapping of a connected region in the image to a finite set of connected regions separated by part-lines. Framework

Definition 3: A partitioning scheme is invariant if the part lines of a shape that is transformed by a combination of translations, rotations and scalings are transformed in exactly the same manner. Framework

Definition 4: A partitioning scheme is robust if for any two shapes A and B, which are exactly the same in some neighborhood N, the part lines contained in N for A and B are exactly equivalent. Framework

Definition 5: A partitioning scheme is stable if slight deformations of the boundary of a shape cause only slight changes in its part lines Framework

Definition 6: A partitioning scheme is scale- tuned if when moving from coarse to fine scale, part lines are only added, not removed, leading to a hierarchy of parts. Framework

A general purpose partitioning scheme that is consistent with these requirements is the partitioning by limbs and necks Framework

Definition : A limb is a part-line going through a pair of negative curvature minima with co-circular boundary tangents on (at least) one side of the part-line Limbs and Necks

Motivation: co-circularity Limbs and Necks The decomposition of the right figure is no longer intuitive: absence of ‘good continuation’

Smooth continuation: an example for form from function Shape of object is given by natural function Different parts having different functions show sharp changes in the 3d surface of the connection Projection to 2d yields high curvature points Limbs and Necks

Examples of limb based parts Limbs and Necks

Definition : A neck is a part-line which is also a local minimum of the diameter of an inscribed circle Limbs and Necks

Motivation for necks: Form From Function Natural requirements (e.g. space for articulation and economy of mass at the connection) lead to a narrowing of the joint between two parts Limbs and Necks

The Limb and Neck partitioning scheme is consistent with the previously defined requirements Invariance Robustness Stability Scale tuning Limbs and Necks

Examples: Limbs and Necks

The scheme presented does NOT include a similarity measure ! Limbs and Necks

Part Respecting Similarity Measures Algorithms

Curvature Scale Space (Mokhtarian/Abbasi/Kittler) A similarity measure implicitely respecting parts CSS

Creation of reflection-point based feature-vector which implicitly contains part – information

CSS Properties: Boundary Based Continuous Model (!) Computes Feature Vector compact representation of shape Performs well !

CSS Some results (Database: 450 marine animals)

CSS The main problem: CSS is continuous, the computer vision world is discrete. How to measure curvature in discrete boundaries ?

Dominant Points Local curvature = average curvature in ‘region of support’ To define regions of support, ‘dominant points’ are needed !

Dominant Points (“Things should be expressed as simple as possible, but not simpler”, A. Einstein) Idea: given a discrete boundary S compute polygonal boundary S’ with minimum number of vertices which is visually similar to S.

Dominant Points Example Algorithms ( 3 of billions…) Ramer Line Fitting Discrete Curve Evolution

DCE Discrete Curve Evolution (Latecki / Lakaemper ’99) Idea: Detect subset of visually significant points

Discrete Curve Evolution (DCE) We achieve a comparable level of detail with DCE. Before a similarity measure is applied, the shape of objects is simplified by DCE in order to reduce influence of noise, simplify the shape by removing irrelevant shape features without changing relevant shape features.

Curve Evolution Target: reduce data by elimination of irrelevant features, preserve relevant features... noise reduction... shape simplification:

Discrete Curve Evolution (DCE) u v w u v w It yields a sequence: P=P 0,..., P m P i+1 is obtained from P i by deleting the vertices of P i that have minimal relevance measure K(v, P i ) = |d(u,v)+d(v,w)-d(u,w)| >

Discrete Curve EvolutionDiscrete Curve Evolution: Preservation of position, no blurring

Discrete Curve EvolutionDiscrete Curve Evolution: robustness with respect to noise

Discrete Curve Evolution: extraction of linear segments

Discrete Curve Evolution: mathematical properties Convexity Theorem (trivial) Discrete curve evolution (when applied to a polygon) converges to a convex polygon. Continuity Theorem (nontrivial) Discrete curve evolution is continuous. L. J. Latecki, R.-R. Ghadially, R. Lakämper, and U. Eckhardt: Continuity of the discrete curve evolution. Journal of Electronic Imaging 9, pp , Polygon Recovery (nontrivial) DCE allows to recover polygons from their digital images. L.J. Latecki and A. Rosenfeld: Recovering a Polygon form Noisy Data. Computer Vision and Image Understanding (CVIU) 86, 1-20, 2002.

Comparable level of detail for DCE (=stop condition) is based on a threshold on the relevance measure

Comparable level of detail for DCE is based on a threshold on the relevance measure

Scale Space Approaches to Curve Evolution 1.reaction-diffusion PDEs 2.polygonal analogs of the PDE-evolution (Bruckstein et al. 1995) 3.approximation (e.g., Bengtsson and Eklundh 1991) Main differences: [to 1, 2:] Each vertex of the polygon is moved at a single evolution step, whereas in our approach the remaining vertices do not change their positions. [to 1, 3:] Our approach is parameter-free (we only need a stop condition)

The evolution reduces the shape-complexity... is robust to noise... is invariant to translation, scaling and rotation... preserves the position of important vertices... extracts line segments... is in accord with visual perception... offers noise-reduction and shape abstraction... is parameter free Curve Evolution: Properties... is translatable to higher dimensions

Extendable to higher dimensions Curve Evolution: Properties

Extendable to higher dimensions Curve Evolution: Properties

Extendable to higher dimensions Curve Evolution: Properties

Extendable to higher dimensions Curve Evolution: Properties

Scale Space Ordered set of representations on different information levels

The polygonal representation achieved by the DCE has a huge advantage : It allows easy boundary partitioning using convex / concave parts (remember the limbs !) Polygonal Representation

Some results of part line decomposition: DCE

The ASR (Advanced Shape Recognition) Algorithm uses the boundary parts achieved by the polygonal representation for a part based similarity measure ! (Note: this is NOT the area partitioning shown in the previous slide) ASR

Behind The Scenes of the ISS - Database: Modern Techniques of Shape Recognition and Database Retrieval How does it work ?

The 2 nd Step First: Shape Comparison Developed by Hamburg University in cooperation with Siemens AG, Munich, for industrial applications in robotics... multimedia (MPEG – 7) ISS implements the ASR (Advanced Shape Recognition) Algorithm

Reticent Proudness… MPEG-7: ASR outperforms classical approaches ! Similarity test (70 basic shapes, 20 different deformations): Wavelet Contour Heinrich Hertz Institute Berlin67.67 % Multilayer EigenvectorHyundai70.33 % Curvature Scale SpaceMitsubishi ITE-VIL75.44 % ASRHamburg Univ./Siemens AG76.45 % DAG Ordered TreesMitsubishi/Princeton University60.00 % Zernicke MomentsHanyang University70.22 % (Capitulation :-)IBM--.-- %

ASR: Strategy Source:2D - Image Arc – Matching Contour – Segmentation Contour Extraction Object - Segmentation Evolution

ASR: Strategy Arc – Matching DCE Contour – Segmentation

Contour Segmentation Correspondence ? Similarity of parts ?

Part Similarity Similarity of parts ? = Boundary Similarity Measure = Similarity of polygons

The ASR is used in the ISS Database ASR / ISS