Home | Education | Projects | Experience | Interests

Vahid Kazemi

E-Mail: vahidk[@]kth.se
Address: Teknikringen 14/512, Stockholm 10044, SWEDEN
Phone: +46 (0)706422349

Education

Master of Systems, Control, and Robotics
Kungliga Tekniska Hogskolan, Stockholm, 2009-Present

Bachelor of Computer Science
Shahid Beheshti University, Tehran, 2001-2007

Projects/Research

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)

For more 3d graphics related sample works please visit my website: http://www.gameprogrammer.org

Work Experience

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.

Awards

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.

Pogramming Skills

Professional: C/C++, OpenGL, Direct3D, GPU Programming (GLSL/HLSL/Cg), STL (Standard Template Library), Visual Studio, Windows Programming

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+).

Research Interests

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