3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos.

Slides:



Advertisements
Similar presentations
Arc-length computation and arc-length parameterization
Advertisements

Shapelets Correlated with Surface Normals Produce Surfaces Peter Kovesi School of Computer Science & Software Engineering The University of Western Australia.
電腦視覺 Computer and Robot Vision I
Active Contours, Level Sets, and Image Segmentation
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Computer vision: models, learning and inference Chapter 13 Image preprocessing and feature extraction.
Extended Gaussian Images
Snakes, Strings, Balloons and Other Active Contour Models.
Computer Vision Lecture 16: Texture
Computer Vision Lecture 16: Region Representation
1 Chapter 4 Interpolation and Approximation Lagrange Interpolation The basic interpolation problem can be posed in one of two ways: The basic interpolation.
Dr. S.M. Malaek Assistant: M. Younesi
P. Brigger, J. Hoeg, and M. Unser Presented by Yu-Tseh Chi.
Image Segmentation some examples Zhiqiang wang
Image Segmentation and Active Contour
Active Contour Models (Snakes) 건국대학교 전산수학과 김 창 호.
Active Contour Model (Snake) rew. Outline Introduce Active Contour Model.
Active Contours (SNAKES) Back to boundary detection –This time using perceptual grouping. This is non-parametric –We’re not looking for a contour of a.
Snakes with Some Math.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
On Constrained Optimization Approach To Object Segmentation Chia Han, Xun Wang, Feng Gao, Zhigang Peng, Xiaokun Li, Lei He, William Wee Artificial Intelligence.
Snakes : Active Contour models
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
Snakes - Active Contour Lecturer: Hagit Hel-Or
Active Contour Models (Snakes)
Deformable Contours Dr. E. Ribeiro.
Local or Global Minima: Flexible Dual-Front Active Contours Hua Li Anthony Yezzi.
3-D Computer Vision CSc – Ioannis Stamos 3-D Computer Vision CSc Clustering methods and boundary representations.
Snakes Goes from edges to boundaries. Edge is strong change in intensity. Boundary is boundary of an object. –Smooth (more or less) –Closed. –…
Curve Analogies Aaron Hertzmann Nuria Oliver Brain Curless Steven M. Seitz University of Washington Microsoft Research Thirteenth Eurographics.
Edge Detection Today’s reading Forsyth, chapters 8, 15.1
Active Contour Models (Snakes) Yujun Guo.
Information that lets you recognise a region.
Edge Detection.
Instructor: Dr. Peyman Milanfar
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Curve Modeling Bézier Curves
Evolving Curves/Surfaces for Geometric Reconstruction and Image Segmentation Huaiping Yang (Joint work with Bert Juettler) Johannes Kepler University of.
Advanced Computer Vision Chapter 4 Feature Detection and Matching Presented by: 傅楸善 & 許承偉
06 - Boundary Models Overview Edge Tracking Active Contours Conclusion.
Multimodal Interaction Dr. Mike Spann
Deformable Models Segmentation methods until now (no knowledge of shape: Thresholding Edge based Region based Deformable models Knowledge of the shape.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
V. Space Curves Types of curves Explicit Implicit Parametric.
7.1. Mean Shift Segmentation Idea of mean shift:
HOUGH TRANSFORM Presentation by Sumit Tandon
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Overview of Propagating Interfaces Donald Tanguay October 30, 2002.
Course 8 Contours. Def: edge list ---- ordered set of edge point or fragments. Def: contour ---- an edge list or expression that is used to represent.
CSE 185 Introduction to Computer Vision Feature Matching.
A Tutorial on using SIFT Presented by Jimmy Huff (Slightly modified by Josiah Yoder for Winter )
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
Application: Multiresolution Curves Jyun-Ming Chen Spring 2001.
Instructor: Mircea Nicolescu Lecture 7
Mean Shift Segmentation
Slope and Curvature Density Functions
Fitting Curve Models to Edges
Jeremy Bolton, PhD Assistant Teaching Professor
CONTOURING By Ashish V. Deshpande Electrical Engineering Department
Snakes, Shapes, and Gradient Vector Flow
Active Contours (“Snakes”)
CSCE 441: Keyframe Animation/Smooth Curves (Cont.)
CSE 185 Introduction to Computer Vision
Fourier Transform of Boundaries
Feature descriptors and matching
Active Contour Models.
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: ) Computational Vision / Ioannis Stamos

Generalized Hough Transform Detecting shapes not described by an analytic equation CSc D Computer Vision – Ioannis Stamos

From Shree Nayar’s Notes

CSc D Computer Vision – Ioannis Stamos From Shree Nayar’s Notes

Computational Vision / Ioannis Stamos From Shree Nayar’s Notes

Computational Vision / Ioannis Stamos From Shree Nayar’s Notes

Computational Vision / Ioannis Stamos From Shree Nayar’s Notes

Computational Vision / Ioannis Stamos From Shree Nayar’s Notes

Computational Vision / Ioannis Stamos From Shree Nayar’s Notes

Computational Vision / Ioannis Stamos From Shree Nayar’s Notes

From Shree Nayar’s Notes Find template t in image f t and f are both gray-scale images

From Shree Nayar’s Notes

From Shree Nayar’s Notes

From Shree Nayar’s Notes

From Shree Nayar’s Notes

From Shree Nayar’s Notes

From Shree Nayar’s Notes

From Shree Nayar’s Notes

Discussion Can you search for matches in Different scale (size) than template? Different orientation than template? Computational Vision / Ioannis Stamos

Comparison Template matching vs. Hough Computational Vision / Ioannis Stamos

Representation of 2-D Geometric Structures To MATCH image boundary/region with MODEL boundary/region, they must represented in the same manner. Boundary Representation Snakes – Extraction of arbitrary contours from image. Region Representation

Representation Issues Compact: Easy to Store & Match. Easy to manipulate & compute properties. Captures Object/Model shape. Computationally efficient.

Boundary Representation Polylines: concatenation of line segments. Breakpoint Matching on the basis of: # of line segments lengths of line segments angle between consecutive segments

Running Least Squares Method eiei Move along the boundary At each point find line that fits previous points (Least Squares) Compute the fit error E=Sum(e i ) using previous points If E exceeds threshold, declare breakpoint and start a new running line fit.

Approximating Curves with Polylines Draw Straight line between end-points of curve For every curve point find distance to line. If distance is less than tolerance level for all points, Exit Else, pick point that is farthest away and use as breakpoint. Introduce new segments. Recursively apply algorithm to new segments.

Ψ-s Curve s ψ x y s Ψ x y π 2π

Ψ-s Curve s ψ x y s Ψ x y Ψ-s is periodic (2π) Horizontal section in Ψ-s curve => straight line in the Image Non horizontal section in Ψ-s => arc in Image π 2π

Slope-Density Function s ψ x yH(Ψ) Ψ π2π HISTOGRAM Lines Arcs

Slope-Density Function s ψ x yH(Ψ) Ψ π2π HISTOGRAM H(Ψ) shifts as objects rotates. H(Ψ) wraps around Lines Arcs

Fourier Descriptors s ψ x y Find: Ψ(s) Define: Φ(s)= Ψ(s)-(2πs)/P P: Perimeter. 2π: Period of Φ(s) Φ(s) is a Continuous, Periodic function. Fourier Series for Periodic Functions: Fourier Coefficients: Φ k ’s capture shape information Match shapes by matching Φ k ’s Use finite number of Φ k ’s

Fourier Descriptors Input Shape Power Spectrum Reconstruction # of coefficients ΦkΦk Note: Reconstructed shapes are often not closed since only a finite # of Φ k ’s are used.

B-Splines Piecewise continuous polynomials used to INTERPOLATE between Data Points. Smooth, Flexible, Accurate. s=0 s=1 s=2 x0x0 x1x1 x2x2 xixi x s Spline X(s) Data Point We want to find X(s) from points xi Cubic Polynomials are popular: BASIS FUNCTIONS COEFFICIENTS N

B-Splines Bi(s) has limited support (4 spans) i-2i-1ii+1 i+2 Each span (i->i+1) has only 4 non-zero Basis Functions: B i-1 (s), B i (s), B i+1 (s), B i+2 (s) ii+1 B i (s) B i-1 (s) B i+2 (s) B i+1 (s) t=0 t=1 t s:

B-Splines 3-D Computer Vision CSc – Ioannis Stamos ii+1 B i (s) B i-1 (s)B i+2 (s) B i+1 (s) t=0 t=1 t Cubic Polynomials 1/6 4/6

B-Splines 3-D Computer Vision CSc – Ioannis Stamos ii+1 B i (s) B i-1 (s)B i+2 (s) B i+1 (s) t=0 t=1 t Cubic Polynomials 1/6 4/6

B-Splines 3-D Computer Vision CSc – Ioannis Stamos If we compute v 0, … v N => continuous representation for the curve.

B-Splines We have our N+1 data points: And in matrix form: We can solve for the v i ’s from the x i ’s Boundary condition for closed curves: v 0 =v N, v 1 =v N+1.

B-Splines So, for any i we can find: xixi x i+1 x i(t) t t=0 t=1 Note: Local support. Spline passes through all data points xi. B-Spline demo:

Snakes Fitting a curve to an arbitrary shape. Active/Deformable contour or Snake.

Snakes Elastic band of arbitrary shape. Located near the image contour.

Snakes Attracted towards the target contour.

Snakes Stops when Energy Functional is minimized.

Corpus Callosum [Davatzikos and Prince]

Applications Example: Corpus Callosum [Davatzikos and Prince]

Demo using gimp “Intelligent scissors”

User-Visible Options Initialization: user-specified, automatic Curve properties: continuity, smoothness Image features: intensity, edges, corners, … Other forces: hard constraints, springs, attractors, repulsors, … Scale: local, multiresolution, global

Behind-the-Scenes Options Framework: energy minimization, forces acting on curve Curve representation: ideal curve, sampled, spline, implicit function Evolution method: calculus of variations, numerical differential equations, local search

Snakes: Active Contour Models Introduced by Kass, Witkin, and Terzopoulos Framework: energy minimization Bending and stretching curve = more energy Good features = less energy Curve evolves to minimize energy Also “Deformable Contours”

Snakes Energy Equation Parametric representation of curve Energy functional consists of three terms

Internal Energy First term is “membrane” term – minimum energy when curve minimizes length (“soap bubble”) Second term is “thin plate” term – minimum energy when curve is smooth

Internal Energy Control  and  to vary between extremes Set  to 0 at a point to allow corner Set  to 0 everywhere to let curve follow sharp creases – “strings”

Edge Attraction Gradient-based: Laplacian-based: In both cases, can smooth with Gaussian Snakes paper, figures 3 and 4

Corner Attraction Can use corner detector we saw last time Alternatively, let  = tan -1 I y / I x and let n  be a unit vector perpendicular to the gradient. Then Snakes paper, figures 5 and 6

Variants on Snakes Balloons [Cohen 91] Add inflation force Helps avoid getting stuck on small features

Balloons [Cohen 91]

Parameterized by arc-length [Kass, Witkan and Terzopoulos ’87] Minimize Snakes

Continuity – compactness Parameterized by arc-length [Kass, Witkan and Terzopoulos ’87] Minimize Snakes

Continuity – compactness Parameterized by arc-length [Kass, Witkan and Terzopoulos ’87] Minimize Snakes

Continuity – compactness Parameterized by arc-length [Kass, Witkan and Terzopoulos ’87] Minimize Smoothness Snakes

Continuity – compactness Parameterized by arc-length [Kass, Witkan and Terzopoulos ’87] Minimize Smoothness Edge Attraction Term Snakes

Corner Attraction Can use corner detector we saw last time Alternatively, let  = tan -1 I y / I x and let n  be a unit vector perpendicular to the gradient. Then Snakes paper, figures 5 and 6

Problem Statement: Start with chain of image locations representing initial position of contour. Find the deformable contour by minimizing the energy functional: Snakes

Snakes – Implementation How can we minimize  Discrete version: sum over the points. Greedy minimization: For each point compute the best move over a small area.

Snakes – Implementation How can we minimize  Discrete version: sum over the points. Greedy minimization: For each point compute the best move over a small area. Set βj=0 for points of high curvature (corners)

Snakes – Implementation How can we minimize  Discrete version: sum over the points. Greedy minimization: For each point compute the best move over a small area. Set βj=0 for points of high curvature (corners) Stop when a user-specified fraction of points does not move.

Synthetic Results Real Experiment Snakes demo: es/

Scale In the simplest snakes algorithm, image features only attract locally Greater region of attraction: smooth image Curve might not follow high-frequency detail Multiresolution processing Start with smoothed image to attract curve Finish with unsmoothed image to get details Looking for global minimum vs. local minima

Diffusion-Based Methods Another way to attract curve to localized features: vector flow or diffusion methods Example: Find edges using Canny For each point, compute distance to nearest edge Push curve along gradient of distance field

Gradient Vector Fields Xu and Prince

Gradient Vector Fields Xu and Prince Simple Snake With Gradient Vector Field

Gradient Vector Fields Xu and Prince

Region Representation 3-D Computer Vision CSc – Ioannis Stamos Spatial Occupancy Array Easy to implement. Large Storage area. Can apply set operations (unite/intersect). Expensive for matching!

3-D Computer Vision CSc – Ioannis Stamos Quad Trees Efficient encoding of Spatial Occupancy Array using Resolution Pyramids. Black: Fully Occupied. White: Empty. Gray: Partially Occupied.

3-D Computer Vision CSc – Ioannis Stamos Quad Tree Level 0 Level 1 Level 2 Level 3 Quad Tree Generation: Start with level 0. If Black or White, Terminate. Else declare Gray node & expand with four sons. For each son repeat above step. NWNE SWSE