3D Facial Motion Capture from Video using a Statistical Model
Under supervision of Stefan Carlsson, and Josephine Sullivan at KTH, I'm investigating different methods of constructing a view independent statistical model of human face. As a direct application, the model can be used to extract or capture generic features (e.g. expression, age,...) of a target face. Furthermore the model can be useful for segmentation, validation, and recognition of faces. Below you can see one of the early results of our method on an unseen person.
View Proposal
Digital Makeup In a research project with cooperation of Ivan Laptev and Josef Sivic we have investigated an automated system to apply makeup extracted from a single template image to an arbitrary face image. It was done in several levels, starting from detecting the face boundary (using Boosted Histograms), finding facial features, matching interest points to template image (using Thin-Plate Splines), decomposing the image to different layers, dense grid histogram transfer, and at the end pixel wise detail transfer. The results as you can see are quite comparable to supervised methods which involve human interaction.
Learning from the Web In a research project with cooperation of Ivan Laptev and Alireza Tavakoli, we worked on building a fully automated system to learn to detect objects from images that we can find on the web. The system, was
able to search for a keyword from the dictionary on different search engines (e.g. Google), in different
languages (with the help of Google Translate), to find a large set of images. Training was done by
creating a vocabulary by applying k-means to a mixture of features (Color Histograms, HOG,...) extracted
from a random sub set of all samples, and then using SVM to classify different objects based
on corresponding keywords. To further improve the true positive ratio of sample data, we studied
the use of relevant keywords (adjectives, properties, species,...) to create meaningful phrases.
Face Detector A face detector based on VJ algorithm (Boosting on HAAR features). We have improved the performance drastically by using mid cumulative probability distribution point as threshold for weak classifiers. Download Matlab Code (110KB)
Autonomous Robot In this project we (a group of 4) built an autonomous mobile robot from scratch. I as the technical lead of the group worked on different sections of project including localization, planning, mapping and object detection. Our robot managed to gain the maximum points in the class at final competition. Download C++ Code and Binary (4.63MB) View Technical Report
Flight Simulator Visualizer The main goal of this project was to design a rendering engine for use in flight simulator projects. I have implemented a CLOD(Continous Level of Detail) based realtime terrain rendering engine which is capable of rendering 100x100km (5 meter per pixel) textured landscapes. The engine is also able to adapt lighting to simulate day and night. View Screenshots: Night, Day, Wireframe
Raytracer In a hobby project I have implemented a Raytracing engine to efficiently render simple geometrically defined scenes. The engine supports Ambient, Diffuse and Specular Lighting, Raytraced Shadows, Linear Texture Mapping, Linear Fog, HDRI (High dynamic range imaging), Non photo-realistic rendering (Half-toning). Download C++ Code (419KB)
RoboCup Visualizer and Trainer As a member of Shahid Beheshti University's RoboCup team, I created a visualizer and trainer
program for RoboCup soccer simulation league, to be able to create random scenarios for RoboCup
agents and train them. Scenarios were highly customizable using AngelScript scripting language and
the scene was presented in multiple views in 3D with an OpenGL based renderer. Download C++ Code (362KB) Download Full Package (31.8MB)
R&D Programmer OculusAI 2008-2009, Stockholm
Development and research on state of the art Computer Vision algorithms for image classification and object recognition. OculusAI is a new born company providing image validation services targeting social network and dating websites. In OcolusAI I have worked on serveral projects regarding facial feature recognition and celebrity detection.
Lead Programmer Puya Arts Software Inc., 2004-2008, Tehran
I have been working as the lead programmer on Quest of Persia game series. I have worked on several different parts, including implementation of character control/movement, NPC behavior and AI, camera, particle systems and effects. In the latest project beside software architecture and design of the game I roughly coded about 20,000 lines of code of the game.
Highest technical achievement in game development, Digital Media Festival, 2008, Tehran, Iran
Second Place in RoboCup soccer server development league, 2006, Bremen, Germany
RoboCup is an international robotics competition founded in 1997. The aim is to develop autonomous soccer robots with the intention of promoting research and education in the field of artificial intelligence.
Honored as youngest admitted student in Shahid Beheshti University, 2001, Tehran, Iran
Bronze Medal in natioanl Physics Olympiad, 2000, Tehran, Iran
National physics olympiad is a highly competitive high school competition in Iran on the subjects of Mechanics and Electromagnetics in which five students are selected for participating in international olympiad.
Experienced: Java, Matlab, Lua, MFC (Microsoft Foundation Classes), C++ 0x, Boost (C++
Libraries), ODE (Open Dynamics Engine), MySQL, GTK+, GNU Tools, Web Programming, C++
Generic Programming, Intel V-Tune (Performance Analyser)
Familiar: C#, Shell scripting, .NET Framework
Moreover I have extensive knowledge of Software Architecture, Design Patterns, and Object Oriented Programming. I have experience of parallel (multiprocessor and distributed) programming and optimizing and debugging huge code bases (100,000+).
Compuer Vision (Deformable Object Segmentation and Recognition, Motion Tracking, 3D Reconstruction)
Computer Graphics (Real-Time Rendering, Ray-tracing)
Artificial Intelligence/Machine Learning (Pattern Recognition and Classification)
About Me
I was born on spring 1985 in a rather small city called Yazd located at the center of Iran, where I started my education until I received my diploma in "Mathematics and Physics" at the age of 16. Right after, I admitted at SBU to study Computer Science. During and after my studies I have worked with several software companies, one of which was Puya Arts, a small game development company in Tehran. At Puya Arts I have worked on Quest of Persia game series, which was one of the first few games developed in the country. I have also worked in a Computer Vision company in Stockholm called "OculusAI". There I was mostly doing research and development for facial feature detection used for detecting celebrity faces in an image. I started my master studies at KTH University in 2009, which I'm currently involved with.
Imagination is more important than knowledge. -Albert Einstein