MATLAB Answers

how to detect smile of a person ??

how to detect the smile of the person. whats the technology involved behind this??


@Siva: We had a question here about the automatic detection of age, gender and race. The purpose of the program has been the display of customer specific commercials in a shopping mall. This sounds ok, but I'm will not longer be convinced about the ethical correctness, when the method is used to manipulate my less than 16 year old children to buy a certain sort of beer. And exactly this happens in Germany. Therefore I'm always careful with any kind of biometric recognition methods.

Siva, the discussion here references previous discussion; see

Log in to comment.

2 Answers

Answer by Babak
on 22 Aug 2012
 Accepted Answer

First you got to detect the line between the lips. After that you need to compute the arc angle of that line if it is caved towards up or down making the person look sad or happy. To detect a line in an image you can see the DEMO that involves finding the lines of the street's cars' lanes.

  1 Comment

Thanks Babak. You gave a clear cut idea.

Log in to comment.

Answer by Image Analyst
on 22 Aug 2012

Since these are patented methods, they will be explained in the patents. That's the agreement in a patent: you get exclusive right to use it for 20 years, but the public gets to know how it's done (no secrets anymore). Have you searched the patent database:

For just one example, US Patent 8170298: Method for detecting facial expression and repairing smile face of portrait photo

It's probably already in digital cameras. If not yet, then it will be soon.


It is in the Nikon Coolpix series of cameras for the last 2 or so years. (I have one that has the feature.)

Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!