DAVID A. LARIVIERE
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).
- Final Report
- Project Files: Includes all source code, test benches, scripts, and other files.
- Javadoc: Javadoc-generated source code (I was the project architect, and wrote for virtually all code within dspl.backend and dspl.intermediate. See @author tags to evaluate my contribution to the project).
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.
- Final Report
- Project Files: Project source code and workspace data (both VS .NET for C++ Native portion and Eclipse for the Java-based GUI, along with JNI glue).
- Project Website: Includes videos demonstrating real-time tracking of multiple faces (templates).
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.
- Class Presentations:
- Presentation of 2 Significant Papers: I presented the linked presentation to the class
(see course website for schedule) covering two significant papers
in the field related to multiple view geometry and image-based rendering:
1) Taylor & Kriegman's Structure and Motion from Line Segments in Multiple Images and
2) Debevec et. al's Modeling and Rendering Architecture from Photographs.
- Final Presentation:
Note that I gave this presentation on the last day of class, two weeks before the project deadline.
As such the project was not yet completed, therefore see the final report below for the final results.
- Final Report: includes discussion of algorithms implemented and detailed results on several image sets.
- Panorama Results: high resolution images of the generated panoramas presented in final report above.
- Source Code: Contains source code for project.
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