DAVID A. LARIVIERE


Home Academic Record Research Projects Personal Projects

Research Projects:

Implementation of Approximate Convex Decomposition of Polyhedron (Fall 2007):
Course Project: COMS E6733 3D Photography
Description: Developing an implementation of Lien and Amato's Approximate Convex Decomposition of Polyhedra.

Windows Driver Verification (Fall 2006):
Final Project: CSEE E6832 Formal Verification of Hardware & Software
Description: Research project focusing on Microsoft Windows driver development and the utilization of new tools from Microsoft for the automated verification of drivers. Applied various verification tools to both existing and newly developed drivers to evaluate their usefulness and accuracy in the driver development process.

uClinux on FPGA-based SoC (System on a Chip) (Fall 2006):
Course Project: COMS E6901 Graduate Research Project
Description: Experimented with running uCLinux on the Altera DE2 FPGA-based SoC. uCLinux is a variant of linux targeted at machine architectures lacking a memory management unit. Established methods for compiling, installing, and using uCLinux on the FPGA. Developed several example programs for hardware/software interfacing including a linux kernel driver.

DSPL: x86 Compiler for DSP-specific language (Fall 2006):
Final Project: COMS W4115 Programming Languages and Translators
Description: Designed novel computer language, DSPL (digital signal processing language), focused around the use of arrays and array-operations as primitives within language. Created compiler for the custom language which generated highly optimized assembly language utilizing SIMD instructions found on modern x86 architectures (including SSE, SSE2, and SSE3 instructions).

Real-time Multiple-Target Face Tracking (Summer 2006):
Final Project: COMS W4701 Artificial Intelligence
Description: Developed research application capable of tracking in real time multiple faces, utilizing resizable and auto-adjusting template matching. Applied various machine learning algorithms (including adaboost and random forest) towards the re-classification of the pixel data to evaluate their usefulness in face recognition and tracking.

Stereo Vision (Spring 2006):
Course Project: COMS W4901 Course Project
Description: Implemented web-launchable java application capable of generating 3D scene information (relative depth of points in a scene) by utilizing multiple pictures of the same scene taken from different view points. Researched several methods for filtering poor feature points before initial matching.

"MosaicBuilder" - Panoramic Image Generation (Spring 2006):
Final Project: COMS E6161 Rendering
Description: Implemented user-interactive application for generating high-quality panoramas derived from stitching multiple pictures taken by a camera rotated about a fixed focal point.

Real-time Estimation of Camera Motion (Spring 2006):
Final Project: COMS E6735 Visual Databases
Description: Research project analyzing several methods for analyzing both video streams and still pictures from a camera and calculating in real-time the relative motion from the camera as it undergoes arbitrary translation, rotation, and change of internal camera parameters (including zoom). Experimented with both traditional mathematical methods (Essential matrix + RANSAC) as well as several novel ad-hoc heuristic approaches.

Design and Construction of Linux-based Mini Robot (Spring 2006):
Final Project: CSEE 6847 Distributed Embedded Systems
Description: Designed and constructed a small bluetooth-enabled uCLinux -based robot. Involved interfacing several separately purchased hardware components together, writing control software, etc.

FPGA Design for Real-time Unwarping of Video from Catadioptric Omnidirectional Lense (Spring 2006):
Final Project: COMS W4840 Embedded Systems
Description: Designed a novel fixed point iterative algorithm for calculating pixel coordinates in order to unwarp in real-time a video stream from a 360 degree camera. Implemented design in hardware on an FPGA.

Synthesizing Virtual Satellite Views of Highway Traffic (Spring 2008):
Final Project: COMS 6998 Visual Surveillance
Description: Designed a novel method of synthesizing satellite-based views of traffic given live video from a nearby building

Multiple View Geometry Engine for "Street View for the People" (Spring 2008):
Final Project: COMS 6998 Computational Photography
Description: 3D Point Cloud Calculations based on Multiple View Geometry

Teaching Assistant for Robotics Course (Spring 2007):
TA: COMS 4733 Computational Aspects of Robotoics
Description: Teaching Assistant for Course