Skip to content

Category: Computer Vision

Hair Analysis and Detection in Facial Picture

Continuing on my experimentations with face transformation algorithms, I was wondering if it was possible to detect and extract, with a certain accuracy, the hair of a person in a facial picture. I found two useful publications on the topic, Detection and Analysis of Hair (Yacoob and Davis, 2006), and Frequential and color analysis for hair mask segmentation (Rousset and Coulon, 2008). Their approaches are quite similar, and make use of color models, frequency filters and Gaussian kernels.

Facial transformation framework on the iPhone

More than a year ago, I was playing with some Computer Vision algorithms, and I posted this: Active Appearance Models in C++ (Paamela). The framework I built back then was a bit more complete than a simple AAM implementation, and actually I went up to the point where I was able to transform the sex, age and ethnicity of a person in a picture. The code was basically sitting there, taking dust in my hard drive. I had been willing to try some Objective-C and mobile development for some time. With the use of some magic (and good cross-compiling skills), I have been able to port the code from Linux to the iPhone. I now have a fully functioning facial transformation framework running on the iPhone!

Image segmentation using the Lambertain color model

As part of my research on image segmentation, I have explored different methods for selecting areas in an image. Recently, I found a statistical color model based upon Lambertain surface reflectance. I have implemented this model using OpenCV 2.1. This article presents the results of some experiments I have run, along with my personal feelings about the model. At the end of the article, you will find links to the source code and to the research papers I used.

Active Appearance Models in C++ (Paamela)

My implementation of the Active Appearance Models (AAMs) in C++ is almost done, it is called Paamela. I am currently fixing a couple design issues and finishing up the documentation. Even though I am still not sure whether or not I will make the code open source, I thought it would be nice to share what I have developed so far, in order to help other developers working on similar problems.