Below are old projects that I worked on at Tsinghua University. To have a look at my current research, visit here.

Active Morphable Model

– An computationally effecient face matching scheme for face analysis.

AMM Linear Morphable Model is a powerful model to analyze and synthesize human faces, it possesses many merits, such as efficiency of training and accuracy of matching. However, the existing optimization algorithm adopted in matching the trained Morphable Model to a novel face image, say stochastic gradient descent algorithm, is not efficient enough. We proposed a very efficient optimization scheme for Morphable Model matching, called Active Morphable Model (AMM). The kernel of AMM is an iterative algorithm utilizing the heuristic information provided by the image directly, and updating the model parameters in a pure linear fashion, which makes AMM much more fast and efficient than other general optimization methods. AMM matching search usually converges to the optimum in 3~5 iterations. Besides, AMM is relatively insensitive to the initial estimation of face pose, and is robust when used to match novel faces with large variations in rotation and scale. AMM can be used as a practical tool for facial analysis, with applications such as face alignment, face recognition, etc.

A-Tree: Multi-agent Developmental Model of Trees

– Simulate the growth and render realistic images of trees with a simple and easy-to-control multi-agent model.

A-Tree We proposed a multi-agent developmental model of plants. The model possesses the merit of simplicity and is easy to control, besides, it can easily take account of the interaction between a tree and the environment. With this model, the actual growth of different plants are convincingly simulated, complex geometric forms of various kinds of trees are generated, and realistic tree images are rendered. In our model, every branch of the tree is modeled as an agent, called “branch agent”. Branch agents carry information describing their properties (e.g. position, growing speed and tropism); follow parallel growth rules; and interact with the environment (e.g. grow to gain more light) and among themselves (e.g. compete for growing space). The growth of a tree can be regarded as a process of the evolution and interaction of branch agents. As we know, a multi-agent system is often charactered with the emergence of complexity from simplicity. Although our model is quite simple and easy to describe from the level of the branch agent, it leads to various, complex, and realistic tree forms. We hope that this model can serve as a useful tool for botanists and ecologists to analyze or estimate the growth of trees, and can be applied in computer graphics and animation as well.

View Interpolation of Face Images

– Detect face, locate feature points and interpolate the viewpoint. (Course project: Computer Vision, 2001)

The goal of this project is to synthesize a view-interpolated image from two input face images taken from different views. Firstly, the faces in the input images must be located. The face pattern is modeled as a set of intensity valley regions corresponding to facial organs e.g. the eyes and the mouth. The candidate valley regions are detected through morphalogical filtering and connected blob analysis. Then a weighted voting algorithm motivated by Hough Transform is devised to detect the face pattern from the filtered image. Facial feature points, e.g. eye corners, on the detected face are extracted directly from the corresponding connected blob. The epiplolar geometry between the two input images is estimated using the extracted feature points, and is then utilized to find more point correspondence between the two images. At last, view interpolation is done through triangulation on all detected landmark points and piecewise image interpolation.

Face and Fingerprint Recognition Based PC Log-in System

– No passwords any more! Log-in PCs with your face and finger.

Traditional computer log-in paradigm based on username and password has drawbacks in both security and user experience. This project provides an alternative possibility which is more secure and user friendly. The user just needs to show the computer her/his face and one or more fingers to gain the access. A motion detection based method is used to locate and track human faces in real-time, and an easy-to-use optical fingerprint sensor is used to obtain the user's fingerprint. Face and fingerprint recognition are then performed, allowing or denying the user's access to the computer.

Vehicle Monitoring for Intelligent Traffic System

– Real-time highway vehicle monitoring.

A system for automatic real-time highway vehicle counting. It gets real-time input from a video camera over the highway, multi lanes can be counted simultaneously.

Sokoban Problem Solver

– Solving the Sokoban game using a modified A* algorithm.

Sokoban is a famous game invented in Japan in the early 1980s. It is appealing to the AI community because it is NP-hard in spite of its simple and elegant rules. This project came into my mind when I studied the A* algorithm in an AI course. A modified A* algorithm with dead-lock prevention and prune is used to solve the Sokoban problem. It is just a toy project, and the performance of my simple algorithm is far from perfect, but I had a lot of fun from it.