Daniel Bardsley

A curious mix of personal shenanigans and computer vision research


Comments Off on AR-Pinboard

Interesting kickstarter project using computer vision: AR-Pinboard

UrbanScreen 3D Building Projections

Comments Off on UrbanScreen 3D Building Projections

UrbanScreen specialise in capturing the 3D dimensions of a building and then producing custom projections whith stunning results. From the UrbanScreen website:

“Large-scale projection on urban surfaces – this is our creative-company’s field of activity. We conceive and produce custom-made media installations using high artistic standards and stylistic devices, a spacious architectural background and a consistently professional completion; in doing so, creating uniquely outstanding impressions.”

555 KUBIK | facade projection from urbanscreen on Vimeo.

Lagoa Multiphysics Engine

Comments Off on Lagoa Multiphysics Engine

The Lagoa Multiphysics 1.0 is a fantastic physics engine designed and written to replicate the laws of real life physics in a digital environment in an ultra realistic way. The full blown engine currently won’t run in real time but produces some truely amazing particle simulations.

Lagoa Multiphysics 1.0 – Teaser from Thiago Costa on Vimeo

The engine has been developed by Thiago Costa. Check his website for some other high quality simulation developments.

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

Sopcast Sports for Windows

Comments Off on Sopcast Sports for Windows

Sopcast Sports is a sopcast GUI tailored to watching live sport events using the sopcast protocol. Using game data supplied by myp2p.eu. Live sporting events are presented in an easy to use interface written in c# using the .net framework.

Sopcast sports requires the latest version of the official sopcast client to be installed. This software is free and can be downloaded from the sopcast homepage.

Sopcast Sports Screenshot Sopcast Sports Screenshot

Sopcast sports is deployed and updated using Microsoft ClickOnce technology. Clicking on the following link will install Sopcast Sports under Internet Explorer 6 and later. Firefox users may require the following extension: FFClickOnce

Install Sopcast Sports

SopcastSports 0.1 for Linux

Comments Off on SopcastSports 0.1 for Linux

SopcastSports is a Tcl/Tk GUI for the linux version of sopcast tailored towards watching live sporting events. SopcastSports strips live game information from the web (www.myp2p.eu) and presents a list of sopcast streams, sorted by game, to the user. SopcastSports allows the viewing of multiple simultaneous streams and provides greater information regarding the status of the stream than other sopcast clients.

SopcastSports screenshot 2 SopcastSports screenshot 1

If you use sopcast primarily for watching sporting events or simply dislike using sopcast on the command line then this application may be of use to you. Feel free to modify the code and redistribute as you see fit, however, please share any updates to the code you make with the community. I wrote SopcastSports in a couple of afternoons so it’s far from perfect – if you find and fix any bugs or code any improvements I would love to hear from you.

Requirements for running SopcastSports:

  • SopcastSports Tcl/Tk Files
  • Tcl/Tk interpretor (tested against tcl/tk 8.4)
  • The Tix library for Tk
  • sp-sc (linux sopcast client)
  • mplayer
  • wget

All these applications are available from the Synaptic Package Manager or equivalent with the exception of the SopcastSports files which can be downloaded via the link above.

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:

Banana Screen

Comments Off on Banana Screen

Banana Screen ScreenshotBanana Screen is an interesting little application that allows you to lock and unlock your computer using face recognition. The application is simple to setup and use and makes unlocking your computer faster than having to type a password each time you sit down.

The program is currently in beta so expect improvements in the coming months. At the moment the balance between ease of use and accuracy is not quite right. The application allows you to register a number of different face models which allow recognition under a variety of lighting conditions and face poses, however, I’ve found that if you over train the model the systems tends to produce far too many false positives. If the model is under-trained then lighting conditions at different times of the day tend to produce too many false negatives. Furthermore the lack of control over which input images are used as a part of the recognition model means that in order to correct the under-training or over-training issues the whole face model must be deleted and training started from scratch. The forums suggest that people at Banana Screen are working on these problems though so whilst at the moment it is not secure enough to replace traditional password entry in environments where security is of particular importance it is an interesting toy for the home PC user. Hopefully the transition for toy to security application will come as the program matures.
Read the rest of this entry »