Real-Time Deconstruction and Reconstruction of Facial Expressions
With the goal of creating a low-bandwidth video chat, I developed a system using neural networks that determines
the current state of 9 independent facial features from a video feed. This information is stored as a series of bits which are then transferred over a network to another application that reconstructs
the facial expression in real-time in the form of a cartoon avatar.
This was a part of a 9 month research project implemented in C#, Java, and MATLAB using neural network libraries, OpenCV for computer vision utilities, and OpenGL for rendering the output. On a low-end machine it
analyzes the input video at 16 frames
per second, interpolates at 30 frames per second, and animates smoothly even with high latency. To achieve these speeds several optimizations were implemented, including various image processing techniques and threading.
CPU Scheduling Simulator
Originally developed for a graduate Operating Systems course, this tool simulates 6 traditional
scheduling algorithms with an array of configurable variables. It has a built-in data generator for automating the creation of large sets of processes with specific characteristics.
It provides the typical measurements of scheduling algorithms such as throughput, wait time, cpu utilization, ect.
This project was developed for a math and encryption enthusiast to aid in the writing of a textbook. The application
allows the user to create, manage, and edit encrypted messages. The interface is seamless and provides a live preview of the ciphertext as you type.
Additionally, it provides analysis of the ciphers and other beneficial features.
Peay BASIC is an interpreter for a BASIC programming language implemented in C#. The interpreter allows for simultaneous text and graphical output.
This was created in a very short period of time for my undergraduate senior project as an example of designing, implementing, and improving traditional recursive-descent parsers.
In the example image below, you can see the input code on the left, the text output on the right, and the graphical output center. The program executing is displaying the even numbers
from 0 to 10 and drawing the cosine function.
From September 2009 to June 2011, I developed 8 different Flash games. Cumulatively these games have been played over 10 million times and spread
to over 1000 websites. Most of these games were created in less than 72 hours during "game jams."
Notable games include Ethereal Celenite, Stay Up, and Run Forever.
All of the games can be found at Broken Mind Games.
Over the years various companies have contacted me to create a website for their business. Including
a chain of dry cleaners and laundromats, a Spanish educational service, a wedding boutique, a hunting shop, and several others.