Computer Vision Models & Theory






Articles in this category have general applicability within computer vision, either theoretically or as some type of a model. Most of the work in this laboratory is towards effective models for shapes in 2D and 3D and 3D deformable models, i.e., 3D-shape over time.


Puzzle Solving Results

Puzzle solving animated images:

A 4 piece solution can be viewed here.
A 10 piece solution can be viewed here.

Interactive Surface Sculpting Results

Sculpture created from the sculpting system discussed in:

Willis, A. and Speicher, J. and Cooper, D., Surface Sculpting with Stochastic Deformable 3D Surfaces, International Conference on Pattern Recognition (ICPR), Vol. II, pp. 249–252, 2004.

spinous process (link to VRML file)

Past Course Projects

Medical Image Registration via Maximization of the Correlation Ratio
Andrew Willis
Medical Imaging Final Project, May 2000.
Link to HTML report
Link to HTML presentation

Recent advances in computing power have made it possible to use data provided from medical images in new and revolutionary ways.  A crucial aspect of these developments hinge upon coalescing image data provided from different modalities. This is done by image registration.Given two images representing the same or similar structures, we want to automatically determine the transformation which will allow these structures to be superimposed. The complications of this problem has sparked a line research on the topic of image registration.


Baseball Statistics, Bootstrap Methods and the Boston Red Sox
Andrew Willis
Non-Parametric Statistics Final Project, May 2001.
Link to report (270k Adobe Acrobat .pdf format)

This report makes use of various methods of non-parametric statistics to investigate some hypotheses relating to the sport baseball. Sports statistics are computed for almost all popular sports where they are utilized to estimate the success for athletes and entire teams. In sports, statistics are computed at the lowest level for each player. The team statistics are then formed as a function of the statistics of each member of the team. This report will concentrate solely on team statistics. Team sports statistics generally fall into one of 2 categories:
    • Offensive statistics.
    • Defensive statistics.
In baseball, offensive statistics relate to batting where a team has the opportunity to score runs. Defensive statistics relate to pitching and fielding where a team is attempting to prevent runs from scoring. In this case, offensive statistics are well separated from defensive statistics in the sense that for a given team there is no possibility of affecting offensive statistics such as runs scored while on defense and vice-versa. These statistics will be used to investigate 3 major conjectures.
    • What is the best single baseball statistic?
    • Is talent equally distributed in American and National Leagues?
    • How much variability is there in the outcome of a single season?
Two of these conjectures relate to baseball in general. The third uses bootstrapping methods to estimate the variability of the
 possible outcomes for a given season. Throughout the report we will concentrate on the win statistic for a team: W. The win statistic is the number of games won by a baseball team during regular season play (i.e. it does not include playoff games). Since teams play an equal number of games throughout each baseball season, the win statistic directly measures a teams success in winning baseball games. The win statistic will play a pivotal role in analysis of (1), (2) and (3).


The Geometric Heat Equation and Surface Fairing
Andrew Willis
Seminar Course on Shape Statistics Final Project, May 2002.

Link to report (~1.7MB Adobe Acrobat .pdf format)

This paper concentrates on analysis and discussion of the heat equation as it pertains to smoothing of geometric shapes and its relationship to the problem of surface fairing. The geometric heat equation distorts a given shape in order to obtain scale-space representation of a shape. This scale-space provides a complete description of the original shape in terms of small to large scale structures. These structures may then be interrogated by recognition algorithms in an attempt to classify the shape. In computer science, researchers have been working on methods for eliminating noise from mesh data obtained via 3D measurements. In this case one wishes to eliminate the noise present in the surface measurements in order to obtain an improved approximation of the true surface. This process is called surface fairing. These two seemingly different problems actually have many common goals. This report will focus on a generic implementation of the geometric heat equation and a particular implementation of surface fairing suggested by Gabriel Taubin in his SIGGRAPH '95 paper. Each method will be explained and their inter-relationships will be made clear. These relationships will be supported via experimental results obtained from 3D measurements on a set of human faces. The input data consisted of 3D mesh data sets obtained via a 3D laser range scanner, specifically the ShapeGrabber product of Vitana Corporation.

Several software packages developed by researchers at the laboratory are continually used and developed to facilitate ongoing research.

ShaRP 3D Java Application

ShaRP is a java application for viewing, and processing 3D objects. It allows users to edit, deform, align, and fit 3D surface meshes and 3D point clouds.

If interested, you can try an online demo of ShaRP here (Java must be installed and Java Web Start must be enabled see the wiki for details).

ImageRover Java Application

ImageRover is an plugin-centric application for processing either local or remote data. It uses generic Universal Resource Locations (URLs) to load files which may contain data of any type. Visualization plugins allow the data to be displayed by the application and can plot 1D or 2D functions, curves, surfaces and images. Additional supplied plugins or custom-built plugins may then be used to modify the visualization, process the data, or perform high-level processing of the data.

If interested, you can try an online demo of ImageRover here (Java must be installed and Java Web Start must be enabled see the wiki for details).

Linux Drivers for the AR4000 3D Range Scanner

We have developed linux drivers compatible with the linux 2.6.18 kernel that access the Acuity Laser Measurement AR4000 laser range scanner.




This video shows how one may quickly deform a 3D spherical surface into a smilie face. The video provides proof-of-concept that Markov Random Fields (MRFs) may be imposed on 3D surface meshes.

Better Ways for Fitting Algebraic Curves

Note you must have java installed to run the online fitting program included in this article. 

This on-line fitting program fits planar algebraic curves (i.e., implicit polynomial curves) of user-specified degree to

user-drawn curve data. Detailed description of the Gradient 1 fitting algorithm and software is given in [1]. The Gradient 1 [1] and 3L  [2] fitting algorithms are the most stable algorithms known to date for fitting algebraic curves to somewhat noisy data. The Gradient 1 fitting algorithm minimizes the sum of the weighted algebraic distances from the data points to the fitted algebraic curve subjected to the constraint that the normals to the input curve data are close to the normals to the fitted algebraic curve at corresponding points. This latter constraint is a regularization of the curve fitting and results in far better fits than if the algebraic distance alone is used. The fitting algorithm is an explicit solution since it is the minimization of a quadratic form.

To operate this demo, click on the black screen and draw a curve with your cursor. Though the algorithm will fit curves for which the input curve intersects itself, the algorithm is designed for and works best for input curves that are open or closed but do not intersect themselves. In the line of boxes below the back screen, the second box from the left shows the number 1. Reset that number to the desired degree for the curve to be fitted. In the 3rd box, click on Weighted Gradient 1 and then click on the 4th box which says Fit Dataset. The graph of the fitted curve will then appear.

Other fits are available by selecting other choices in the 3rd box including Least Squares, a miminum mean squared algebraic error fit, and Gradient 1, the fit to the data where the regularization term is weighted equally with the sketch points. As indicated above, best results are obtained when the normals are weighted less than the sketched points. The Weighted Gradient 1 fit is the algebraic curve fit that results when the sketched point data is weighted 100 times more heavily than the estimated normals of the sketched data. Normals estimated for the sketched data may be visualized by right-clicking on the background of the fitting window and selecting the "Show Normals" check box.

If a good fit to the data can be had with an algebraic curve of low degree, e.g., of degree 2 or degree 4, the algorithm will produce a good fit. If a higher degree is needed, e.g., 6 or 8, the algorithm usually produces a good fit but there are also often annoying branches that lie away from the data. The amount of regularization used has some effect on the extent of these annoying branches, but the best way to get rid of them is simply to remove branches of the algebraic curve that do not lie near the input curve data.

For what purposes are algebraic curves effective? The computational cost for fitting them to curve data is small – real time for fitting curves of degree 8 or less. They work best for fitting free-form fairly smooth curves, but can also represent curves having curvature discontinuities, e.g., triangles, squares, etc. They are also very effective for quickly computing whether points in a set lie close to a stored curve. These curves have been extremely useful in estimating the axis/profile-curve pair for the dense-data laser scans of a pot sherd for a pot made on a wheel. (See algorithm from [3])

[1] Tasdizen and J.P. Tarel and D.B. Cooper, Improving the stability of algebraic curves for applications, IEEE Transactions on Image Processing, Vol 9:3, 405-416, March 2000.

[2] M. M. Blane, Z. Lei, H. Civi and D. B. Cooper, The 3L Algorithm for Fitting Implicit Polynomial Curves and Surfaces to Data, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000.

[3] Willis, A. and Cooper, D. et. al., Accurately Estimating Sherd 3D Surface Geometry with Application to Pot Reconstruction, Conference on Computer Vision and Pattern Recognition (CVPR) Workshop, 2003.




This project seeks to apply curvature estimation techniques to real-world scanned 3D surfaces to understand their shape and what significance the curvatures may have in 3D shape understanding.

One may see estimates of the surface curvature depicted as different colors superimposed upon the surface. Here, cyan indicates regions of negative curvature and red indicates regions of high curvature.