1 25 Years of Computer Graphics: Back to the Future? John PATTERSON Computer Vision and Graphics Group Dept of Computing Science University of GLASGOW.

Slides:



Advertisements
Similar presentations
Active Contours, Level Sets, and Image Segmentation
Advertisements

November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Edges and Contours– Chapter 7
Image processing (spatial &frequency domain) Image processing (spatial &frequency domain) College of Science Computer Science Department
Ted Adelson’s checkerboard illusion. Motion illusion, rotating snakes.
Extended Gaussian Images
Sliding Window Filters and Edge Detection Longin Jan Latecki Computer Graphics and Image Processing CIS 601 – Fall 2004.
CS 551 / CS 645 Antialiasing. What is a pixel? A pixel is not… –A box –A disk –A teeny tiny little light A pixel is a point –It has no dimension –It occupies.
With support from: NSF DUE in partnership with: George McLeod Prepared by: Geospatial Technician Education Through Virginia’s Community Colleges.
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.
Image Segmentation some examples Zhiqiang wang
Sampling, Aliasing, & Mipmaps
Edge detection. Edge Detection in Images Finding the contour of objects in a scene.
Image processing. Image operations Operations on an image –Linear filtering –Non-linear filtering –Transformations –Noise removal –Segmentation.
More Raster and Surface Analysis in Spatial Analyst
Computer Vision - A Modern Approach
Segmentation Divide the image into segments. Each segment:
Image Sampling Moire patterns
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 5: Image Processing 2: Warping Ravi Ramamoorthi
Preprocessing ROI Image Geometry
Texture Reading: Chapter 9 (skip 9.4) Key issue: How do we represent texture? Topics: –Texture segmentation –Texture-based matching –Texture synthesis.
September 25, 2014Computer Vision Lecture 6: Spatial Filtering 1 Computing Object Orientation We compute the orientation of an object as the orientation.
Image Sampling Moire patterns -
Computational Photography: Image Processing Jinxiang Chai.
02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5409 T-R 10:30am – 11:50am.
Chapter 2. Image Analysis. Image Analysis Domains Frequency Domain Spatial Domain.
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.
Computer vision: models, learning and inference Chapter 19 Temporal models.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Geometric Operations and Morphing.
Under Supervision of Dr. Kamel A. Arram Eng. Lamiaa Said Wed
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Image processing.
Filtering Robert Lin April 29, Outline Why filter? Filtering for Graphics Sampling and Reconstruction Convolution The Fourier Transform Overview.
Edges. Edge detection schemes can be grouped in three classes: –Gradient operators: Robert, Sobel, Prewitt, and Laplacian (3x3 and 5x5 masks) –Surface.
G52IVG, School of Computer Science, University of Nottingham 1 Edge Detection and Image Segmentation.
CSC508 What You Should Be Doing Code, code, code –Programming Gaussian Convolution Sobel Edge Operator.
Introduction to Level Set Methods: Part II
Edges.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
(c) 2002 University of Wisconsin, CS 559
Edges and Lines Readings: Chapter 10:
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Introduction to Scale Space and Deep Structure. Importance of Scale Painting by Dali Objects exist at certain ranges of scale. It is not known a priory.
TOPIC 12 IMAGE SEGMENTATION & MORPHOLOGY. Image segmentation is approached from three different perspectives :. Region detection: each pixel is assigned.
Instructor: Mircea Nicolescu Lecture 7
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Geoprocessing and georeferencing raster data
Sliding Window Filters Longin Jan Latecki October 9, 2002.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
1 Edge Operators a kind of filtering that leads to useful features.
Image Resampling & Interpolation
- photometric aspects of image formation gray level images
Image Sampling Moire patterns
Outline Texture modeling - continued Filtering-based approaches.
Fitting Curve Models to Edges
Image Sampling Moire patterns
a kind of filtering that leads to useful features
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
a kind of filtering that leads to useful features
Spatial interpolation
Filtering Part 2: Image Sampling
Image Sampling Moire patterns
Image Resampling & Interpolation
Resampling.
Filtering Images Work in the spatial domain
Presentation transcript:

1 25 Years of Computer Graphics: Back to the Future? John PATTERSON Computer Vision and Graphics Group Dept of Computing Science University of GLASGOW 25 Years of Graphics at Bath University of Bath 14-September-04

2 Back to the Future?..maybe back to the 70s at 21st century clock rates e.g. graphics CPU/GPU relationship periodically gets reinvented What about relationship between Vector and Raster graphics? Advocate putting vector formats on same basis as raster formats Many pitfalls low-level approach because these issues need fixing first

3 Topics Fiddling at the margins Resizing and Resampling (and inter alia an outrageous proposal) What is a pixel anyway? Vectors Rule OK

4 Fiddling at the Margins (1) Catmull-Rom patch with control points (x, y, h) (x,y): pixel coordinates h: pixel grey-value Isochromic surface for original raster image: What happens at the edges?

5 Fiddling at the Margins (2) curve is only defined between and Need to ‘hallucinate’ additional point to accommodate edge pixel otherwise get image erosion. Also applies to convolution filters, which may need more pixels ‘hallucinated’ to avoid erosion e.g. 2 for 5 x 5, 3 for 7 x 7 etc.

6 Fiddling at the Margins (3) Set to zero Set to Extrapolate from (linear) Extrapolate from (quadratic) Extrapolate from (cubic)..or? The options are: Not clear which, if any is ‘appropriate’.

7 Method: Crimesti, Perez & Toyama “Object removal by Exemplar- Based Inpainting “ CVVG 2003 This implementation favours reinforcement of linear features Original Image Segment cut out Synthesised result..or - use in-painting?- (1)

8..or - use in-painting (2) Find highest confidence point on fill front Track along isochromic contour for best match Replace point by matched region, confidence values = pixel match accuracy Local isochromic contour Patch size should be big enough to contain texture cell, here 9 x 9

9 Texture synthesis example: Synthesised result Example shows repair of linear features. While a characteristic of the algorithm a different ‘data’ term was used to prioritise in- filling points here Original Image Segments cut out

10 Application to edge extension High confidence point In-painting involves reducing hole using high confidence points Edge extension involves extending image with less support from local context

11 Resizing and Resampling (1) Any whole-image transformation requires (a) resampling stage(s) Example: rotation through  using 3 skew operations: Skew along x axis, resample in x Skew along y axis, resample in y Skew along x axis, resample in x

12 Resizing and Resampling (2) This is what happens when you don’t resample in a skew Fairly horrible!

13 Resizing and Resampling (3) Even re-sizing requires resampling: carry out in 2 passes, scale in x, resample in x; scale in y, resample in y Ideal reconstruction filter:etc. is 1 when x=0 Gaussian is not very good approximation Catmull-Rom basis is better

14 Resizing and Resampling (4) A small entertainment: Gaussian kernel usually modelled as right: Usually applied in convolution using weighted samples, here weights modelled as heights to match curve above Alternative is to use stochastic sampling: treat Gaussian function as a probability field and take spatially distributed samples which are averaged Could do this for the sinc function also (and subtract samples in negative lobes) Defeated by need for too many samples? What happens at edges?

15 Resizing and Resampling (5) So- how to resample? Catmull-Rom is popular, but is only first-order continuous Central convolution interpolation advocated- still first-order order continuous Resampling assumes continuity between samples. What about edges? Zero crossings (sign reversals in the second difference) should give these away (e.g. Canny) Also assumes you can trust your pixel values: Invented by actuaries 100+ years ago Use differences up to third degree and interpolate ‘up the middle’ using weights (convolution). Various formulae map out more sinc lobes Point spread function Noise Blur (can blur edges away)

16 What is a pixel anyway? 32 x 32 pixel image An honest topography

17 The pretence Image Continuous Surface (here Catmull-Rom) Slicing the surface gives an isochromic contour (but need interpolation)

18 Girl’s face photo Input Image Contour or ‘Vector’ form Rendered from vectors

19 Direct Comparison at same sizes Original image x4 bicubic Rendered image from contour map

20 Level Sets Level Sets and Fast Marching methods originally developed to solve flame-front advancement calculations involving PDEs Similar to reaction-diffusion equations originally worked on by Turing in the 1930s, so collectively known as ‘diffusion’ Outer contour Inner contour Outer boundary ‘advances’ towards inner boundary according to PDEs controlled by boundary conditions, e.g. curvature Intermediate contour defines boundary position at set ‘time’ or parametric distance Many image indexing problems may be cast in this form

21 Conclusion Images can be represented in terms of control points for isochromic contours Images shown do not take full advantage of smoothing options (data reduction) and do not yet use level set diffusion Whole image operations, including matting, matte-pulling, and texture synthesis can be expressed in vector form Computational topology (Morse theory, Homotopy, Critical point analysis etc.) applicable Level sets and Fast marching methods applicable both to spatial indexing between contours but also to contour evolution between images in a sequence (in-betweening) - originally developed as a numerical technique.. but in the end images are vectors. Isn’t this where we came in? (metafiles, SVG)?