The ability to perform fast and accurate 3 dimensional reconstruction of an environment or object is central to many areas of computer vision processing. 3D face recognition, parts inspection, autonomous drivers and a near infinite number of other applications have driven research in 3D reconstruction forward for the last decade. Whilst much of the mathematics of image formation and 3D reconstruction have been comprehensively researched through photometry and multiple view geometry for many years it is only the recent exponential explosion of processing and graphics power that have allowed practical implementations of such work within computer science. Current research is at a stage where, whilst the majority of the basics have been well covered, many practical problems and implementation issues remain.
Read the rest of this entry »
A Practical Framework for 3D Reconstruction and Its Applications
3D Projection Source Code
The following ZIP file contains the source code required to perform 3D projection from stereo images using the DLT approach. The required input is a series of 2D points imaged in 2 views and their corresponding mapping to world space in order to compute the projection matricies for each of the cameras. The simplest method of obtaining this input is through the use of a calibration object. The input points must be located on at least 2 independent planes. Once compiled the application takes 5 files as input (3 calibration files + 2 files containing corresponding points for projection) which are defined as follows:
[CalibA] First set of 2D calibration coordinates
[CalibB] Second set of 2D calibration coordinates
[WorldPts] The 3D world points corresponding to the calibration points in
[PtsA] 2D coordinates representing the image points in the first view plane to be projected to 3 dimensions
[PtsB] 2D coordinates representing the image points in the second view plane to be projected into 3 dimensions
There must be an equal number of points in [CalibA] [CalibB] and [WorldPts] with the ordering of points in each of the files such that the first point in [CalibA] corresponds to the first coordinate in [CalibB] with both coordinates representing the world space coordinate appearing first in the [WorldPts] file. [PtsA] and [PtsB] must also contain an equal number of 2D coordinates which represent points corresponding accross 2 images usually obtained via as stereo matching algorithm.
Once the application has been executed the file specified by [Output] will represent the 3D projection of the corresponding points specified in [PtsA] and [PtsB].
The source code for this project is written in C++ and requires installation of the OpenCV library. No project files are include however it is trivial to create a solution in the IDE of your choice.
Source files can be downloaded using the following link: 3DProjectionSRC.zip
This Google summer of code project provides another c++ framework for evaluating stereo correlation algorithms and also a useful template library to ease OpenCV programming. The goal of this project is to provide a library of efficient 3D computer vision routines for image and video processing. It includes routines for dense stereo matching, optical flow (motion) estimation, occlusion detection, and egomotion (3D self-motion) estimation.
- Provides symmetric dense stereo matching with occlusions, symmetric dense optical flow with occlusions, probabilistic 3D egomotion estimation.
- Designed as a template library.
- Uses adapters to be compatible with Matlab, OpenCV, and can be easily tailored to be used with any other image processing library. Example code is included for OpenCV and Matlab.
- Modular structure of Stereo and Optical flow code makes it easy to add new algorithms for local matching, global matching, pre- and post-processing.
- Well-documented code.
You can visit the project homepage and download source code here.
The Middlebury Stereo Vision homepage provides results and evaluation code for comparing dense two frame stereo correlation algorithms. As well as providing a wealth of standard datasets with ground truth data the top ranking correlation algorithms are compared and evaluated for weaknesses. Finally Middlebury provide a comprehensive c++ stereo matching framework for comparing newly implemented correlation algorithms against other state of the art solutions. The home page, data and framework combine to support the work presented in Daniel Scharstein and Richard Szeliski’s 2001 paper: “A taxonomy and evaluation of dense two-frame stereo correspondence algorithms“. [pdf]
Middlebury provide the following useful material on their site:
- An on-line evaluation of current algorithms
- Many stereo datasets with ground-truth disparities
- Stereo correspondence software
- An on-line submission script that allows you to evaluate your stereo algorithm in their framework
ARToolkit Experiments
ARToolkit provides a method of tracking markers in a video sequence in order to determine a given cameras projection matrix. This allows the cameras position and orientation in relation to the marker to be determined and for virtual objects to be projected into the viewing plane. We loaded our reconstructed head models in conjunction with ARToolkit for the following ARToolkit test application:
Read the rest of this entry »
Automatic Facial Animation Analysis
A number of recent research projects have been focusing their attentions to the open-ended problem of generating realistic facial animations from 3D head models. Initially we discuss the motivation for researching automated facial animation methods. Secondly we investigate a variety of traditional and cutting edge approaches to the problem.
3D Reconstruction and Recognition
Accepted for publication in: Biometric Technology for Human Identification IV 2007
Download: 3D Reconstruction and Recognition (pdf)
In this paper we propose a novel 3D face recognition system. Furthermore we propose and discuss the development of a 3D reconstruction system designed specifically for the purpose of face recognition. The reconstruction subsystem utilises a capture rig comprising of six cameras to obtain two independent stereo pairs of the subject face during a structured light projection with the remaining two cameras obtaining texture data under normal lighting conditions. Whilst the most common approaches to 3D reconstruction use least square comparison of image intensity values, our system achieves dense point matching using Gabor Wavelets as the primary correspondence measure.
Read the rest of this entry »
3D Reconstruction
Stereo Vision for 3D Face Recognition
The attached document is a summary of the work carried out in the first year of my Phd.
Download: Stereo Vision for 3D Face Recognition (pdf)
Face recognition is one of the most important and rapidly advancing areas of computer science. Increased recent interest in improving commercial security systems has lead to intensive research into biometric identification and verification applications. Whilst a number of biometrics are potentially available for human recognition the face can usually be captured with the greatest degree of “passivityâ€, thus making it the most suitable choice for general security implementations.
Read the rest of this entry »
3D Reconstruction Using the Direct Linear Transform with a Gabor Wavelet Based Correspondence Measure
Download: 3D Reconstruction Using the Direct Linear Transform (pdf)
This report aims to describe the technical details behind the development of a 3D reconstruction system for face recognition. Initially the methods used for constructing a 3D model of the face from several cameras are discussed followed by some consideration of the pitfalls and problems behind some of the techniques.
Read the rest of this entry »
-
You are currently browsing the archives for the Research category.