Top view of the setup:CSEE4840: Embedded Systems Design Project Proposal Stereo Depth Extraction (SDE) Introduction Our project will utilize an ordinary video camera to extract 3D coordinates from a single light source in a dark background. Using the formulas of stereo-depth extraction (shown below) and a setup of mirrors augmented to the video camera, we will track a light source, and in real-time output a stream of 3D coordinates into either the onboard CF card, or through MINICOM. We will process the video signal with the onboard digital video encoder and proceed to extract two sets of 2D coordinates in each of the sections of video buffer. By using an optimized depth extraction formula, we will compute a 3D coordinate of the light source. The collected data can then be exported to any 3D modeling program, or our own real-time visualization application. As an extra feature, we will experiment with tracking multiple light sources. Features Included • Calculate accurately the positions of a moving light source from images taken from 2 digital camcorders (with the use of principles of stereovision) • Generate real-time 3D computer graphics/animation of the moving light source Experiment Setup Top view of the setup: K X1 X2 W D φ D θ θ’ Camcorder 1 Camcorder 2 Pictures taken by two camcorders: Camcorder 1 Camcorder 2 φ: widest angle of the camcorder (known) x1,2: distance between the light and the center line of the picture (known) w: half of the picture length (known) K: horizontal distance between the two camcorders (known) D: actual vertical distance of the light from camcorder 1,2 X1,2: actual horizontal distance of the light from camcorder 1,2 x1 w x2Proposed Algorithm Refer to diagram above: 'tantan'tantan'tan2,tan1,21θθθθθθ+=⇒=+⇒===+KDDKDXDXKXX Design Issues Find an algorithm that decodes the stereo-input coordinates This algorithm must be simple and efficient - employing as few floating point operations as possible. An effort must be made to keep the algorithm as efficient as possible because it must be able to process somewhere in the vicinity of 30 frames per second. We are still trying to figure out if displaying the coordinates at a resolution rate that is less than 30 frames per second will allow us to render the coordinates sufficiently. A possible solution to minimize the number of floating point operations that need to be carried out is the use of a lookup table. Method to save the coordinate data generated by the algorithm We hope to be able to export the decoded coordinates to MINICOM in a manner that will save the values in a text file. We intend to run an OPENGL program with the values saved in a text file to actually render the coordinates. This leads to question whether our design will be able to render in real-time. At present, the solution suggested above dictates a non real-time solution. But perhaps with the input of a more enlightened source, we will be able to figure out which method is best for us. Understanding the S-Video input We will have to research into how S-Video protocol is written as well as find out the resolution of the video input. We believe that manipulating this protocol will not be too difficult as we only intend to use a black and white input and will only be trying to determine light sources. Team Members Ang Cui [email protected] Jeng-Ming Hwang [email protected] Yen Yen Ooi [email protected] Kashif Siddiqui [email protected] Ting-Hsiang Wu [email protected]
View Full Document