Daniel Bardsley

A curious mix of personal shenanigans and computer vision research

A Practical Framework for 3D Reconstruction and Its Applications

Comments Off on A Practical Framework for 3D Reconstruction and Its Applications

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 »

3D Projection Source Code

Comments Off on 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 and
[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

3D Stereo Vision Library: openvis3d

Comments Off on 3D Stereo Vision Library: openvis3d

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.

Middlebury Stereo Vision

Comments Off on Middlebury Stereo Vision

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:

ARToolkit Experiments

Comments Off on 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

Comments Off on 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.

Download: Automatic Facial Animation Analysis (pdf)

3D Reconstruction and Recognition

Comments Off on 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

Comments Off on 3D Reconstruction

3D Head ModelHere’s a quick video flythrough of a reconstruction of my face.

This scan was produced using hardware from 3DMD.

Download: Reconstruction flythrough

Stereo Vision for 3D Face Recognition

Comments Off on 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)

3D ComparisonFace 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

Comments Off on 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 »