1.35k likes | 1.37k Views
Shape-Representation. and. Shape Similarity PART 2. Dr. Rolf Lakaemper. Motivation. WHY PARTS ?. Motivation. Motivation. Motivation. Motivation. Global similarity measures fail at: Occlusion Global Deformation Partial Match (actually everything that occurs under
E N D
Shape-Representation and Shape Similarity PART 2 Dr. Rolf Lakaemper
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.
Framework 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
Limbs and Necks 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 The decomposition of the right figure is no longer intuitive: absence of ‘good continuation’
Limbs and Necks • 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 !
Algorithms Part Respecting Similarity Measures
CSS Curvature Scale Space (Mokhtarian/Abbasi/Kittler) A similarity measure implicitely respecting parts
CSS Creation of reflection-point based feature-vector which implicitely contains part – information
CSS • Properties: • Boundary Based • Continous Model (!) • Computes Feature Vector • compact representation of shape • Performs well !
CSS • The idea: • Smooth (continous) boundary curve using convolution with an increasing gaussian kernel • Use the runlength position of curvature zero-crossings on the boundary as index set for each kernel size, thereby creating the ‘Curvature Scale Space’ • The maxima of the CSS are used for shape representation • Similarity of shape is defined by difference between the maxima of the CSS representation
CSS • Smooth (continous) boundary curve using convolution with an increasing gaussian kernel • Boundary curve S: • S={(x(u),y(u) | u [0,1]} • Each coordinate of S is convolved with a 1D Gaussion kernel of width d • The resulting curve S(d) is smoother than S
CSS Inflection points (curvature zero crossings)
CSS • Use the runlength position of curvature zero-crossings on the boundary as index set for each kernel size, thereby creating the • ‘Curvature Scale Space’
CSS • The maxima of the CSS are used for shape representation
CSS • Similarity of shape is defined by difference between the maxima of the CSS representation
CSS • Similarity of shape is defined by difference between the maxima of the CSS representation
CSS Some results (Database: 450 marine animals)
CSS Some results (Database: 450 marine animals)
CSS • Problems of CSS: • Convex shapes don’t have inflection points • Different shapes can have identical CSS !
CSS The main problem: CSS is continous, 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 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