Monday, March 28, 2011

Real-time human tongue simulator

New entry in the blog!!

I just finished a real-time human tongue simulator.  This was partially my work as well as the work of a fellow PhD student , Alex Rickett.

The objective here was to simulate the human tongue as close as possible to the real thing while under the requirement of fast, real-time simulation. As you can see in the following video, the results are pretty good, especially for the main movements of the tongue (left-right,up-down etc).

The secondary "intrinsic" muscles are harder to model and are in fact a subject of discussion among the research community. Thus, smaller , intricate movements as that of the tip of the tongue are not perfectly controlled yet.

The user is able to use the sliders to control the different muscles in the tongue.



The modelling of the tongue muscles is shown below

The project was built using BulletPhysics in C++ with OpenGL.

See more in the project page :

Wednesday, March 23, 2011

Kinect Based face detection and expression recognition (in progress)

My most recent project is to create a robust face detection and facial expression recognition algorithm using the Kinect's depth sensor and RGB camera.

The idea behind it is that while face detection has been studied extensively in the recent years, it never reached a point of robustness suitable for everyday use. The problem is that doing face recognition using only RGB cameras the result depends greatly on environmental conditions and mainly lighting.

Kinect on the other hand offers an accurate depth sensor in addition to the RGB camera. The depth sensor works with IR light and is totally independent of lighting conditions. It may even be possible to recognize a face in total darkness!!!

Below are some screenshots of this work.

Depth Sensing:


Depth Based Segmentation





 PCA on a captured 6D vector (depth, x,y location and RGB components of a user)




Face Data Extraction:


The work is being done using OpenNI and matlab, although in the future it will be implemented entirelly in c++.

My first openGL animation

The following is my first effort to create a graphics animation for my Computer Graphics class. It was done in OpenGL and it was ranked among the top animation videos for the quarter.

Some facts about this animation:  

> It was done in under 2 weeks from scratch.
> I implemented my own physics engine to detect collisions and calculate how to throw the ball, how to jump etc.
> The animation is not programmed frame by frame. Instead , since I gave every player instructions how to jump, pass, shoot, or defend, I simply give the "actors" commands.


Tuesday, March 22, 2011

Imagine Cup 2009, Greek Finals winner

This is my team's project for the 2009 Microsoft ImagineCup Competition that got us first place in Greece and a chance to represent Greece in the worldwide finals that took place in Cairo,Egypt.


Our project is named “Ai.D” (Artificial Intelligence Doctor) and it is an automatic malaria diagnosis program for remote rural areas. It captures automatically images from blood samples through a connected microscope then analyzes them in real time to determine the probability of malaria infection.

The main algorithm is a graph based segmentation algorithm coupled with a trained neural network to classify infected cells according to their color and shape.

The final presentation of my team's project in Cairo :


                                       AiD imagineCup 2009 Cairo Presentation
           


It included a station to capture, analyze and transmit data as well as a desktop client application and a windows mobile app.






The project was implemented in under 3 months using C#,C++ in Visual Studio 2008. SQL server 2008 was used as well asp.net for some parts of the project.

Modelling Elastic Behavior

This is the result of a University project in Scientific Computing.It was done in C++ and OpenGL. The elastic behavior of the rod was approximated with Finite Element methods.


My first XNA game, "Get the honey from the Bees" (working title)

This a simple XNA game I created in 6 days just to pass the time while learning a bit about the platform. The goal is simple, collect as much honey from the bees into the jars before the time runs out. It gets trickier though as it becomes more and more difficult to catch the bees as the levels go up!!








The photos were taken with a digital camera as XNA would not allow screen capturing!