Face recognition in R

Jefferson X Masonic picture Jefferson X Masonic · Feb 2, 2012 · Viewed 17.3k times · Source

Are there any face recognition algorithms written in the R statistical language? If not, please provide guidance on where I might start translating other algorithms to R.

Answer

Ram Narasimhan picture Ram Narasimhan · Feb 2, 2012

Be sure to check out the update made on May 8, 2013. See below.

Here are a few links/thoughts to get you started:

  1. Does it have to be in R? (There are other languages/packages that are inherently more suitable for image processing.

  2. If R is mandatory, look into the EBImage (it has a pdf vignette) and raster packages. (http://cran.r-project.org/web/packages/raster/)

  3. Where's Waldo? type exercises are always a good place to start if you are new to image processing. Here are is one R question in SO

  4. Here's an actual R example that you will find really useful: "Finding a bright object" exercise in in.R()

  5. Even though it is not in R per se read the responses to image-processing using mathematica question in SO. Some of the ideas there are language-agnostic.

Update

  • R's ReadImages package is another good way to get started with "Image Processing with R."

    • Install the ReadImages package from cran. Documentation
    • Try out a couple of the functions, with some image on your machine. That's only way to learn.

      img <- read.jpeg("abc.jpg) Try out the rgb2grey(img) Also try the clipping() function.

Update 2: May 08, 2013

Kaggle has just published an excellent tutorial for Face Recognition in R (by James Petterson). It has many things going for it: A sample dataset, it doesn't use many esoteric libraries -- just reshape2 and doMC (optional unless you have a multi-core machine).

The Kaggle tutorial covers the idea of facepoints (left_eyebrow, nose tip etc), the idea of a 'mean' location for features and the concept of using image patches to improve recognition. I cannot think of a better link for this question. Be sure to check it out.

Hope these help you get started.