Software
For now this is just a random selection of a few things that people
have asked for at various times. It is unmaintained "as is" software,
mostly just small "simplest possible proof of concept" routines done
to test research ideas. These aren't proper software distributions
and I seldom have time to give advice or fix bugs. Most of them are
available under a fairly liberal copyright.
Vision related routines
- Face normalization and descriptor
code. As described in our AMFG 2007
paper.
- Binaries,
sources and data for our
Histogram of Oriented Gradient (HOG) human detector.
- Assorted camera pose routines: a
collection of small Octave or MATLAB routines for initializing camera
pose and perhaps some internal parameters from various sorts of 2D or 3D
data. The routines for calibrated pose from known 3D points are also available separately here.
- Relative orientation from 5
points: a somewhat more polished C routine implementing the minimal
solution for relative orientation of two calibrated cameras from unknown
3D points. 5 points are required and there can be as many as 10 feasible
solutions (but 2-5 is more common). Also requires a few CLAPACK routines for linear
algebra. There's also a short technical report on this
(included with the source).
- Assorted projective
reconstruction routines: a few "simple as possible" variants on our
projective factorization method in Octave/MATLAB.
- Srinivasan's `fast error search'
method: a small Octave/Matlab implementation of Srinivasan &
Chellappa's FFT-based method for estimating the focus of expansion from
optical flow. Does not include optical flow code.
- Octave/MATLAB utilities: random
odds and ends like PPM image reading and a few small data massaging
utilities.
- A MATLAB profile (skyline) Cholesky
decomposition for solving well-ordered sparse symmetric positive
definite linear systems. Several memory organizations are supported.
- A simple profile (skyline)
Cholesky decomposition in C, for solving well-ordered sparse
symmetric positive definite linear systems. Vector of row pointers
representation.
Other software
- Macaulay resultant: a few Maple routines
for calculating square and rectangular Macaulay-style multiresultant
matrices. I need to release more of this stuff some day.
- FFCall:
long ago in a galaxy far far away I hacked a few ancestral routines for
building up a C argument list and calling a function on it (the reverse
of varargs) for use in an interpreter. Bruno Haible used them as a
starting point for the Foreign Function Interface of his excellent CLISP Common LISP, and FFCall was born...
- Archive2l archiver:
this is a front end to (a slightly modified version of) the backup2l hard disk based
backup script. We use it to regularly archive home directories and
other sensitive files. (Archiving as opposed to backup means that the
files are kept for a relatively long time, they are organized by
logical units such as home directories rather than physical ones such
as disk partitions, and temporary and easily regenerable files are not
kept).