Ask Your Question

How to relocate face points in opencv / face distortion

asked 2013-02-26 06:27:44 -0500

UserOpenCV gravatar image

I have to simulate facial expressions on a face image ( say open mouth ). For this I first extracted the facial feature points and found the corners of the lips. Now I need to deform the image by moving the points down.

enter image description here

In the above image I need to move the points ( 2 ) and ( 3 ) to some distance left and right respectively. And point ( 18 ) and ( 19 ) littele bit down. So that I will get an expression like opened mouth.

My Questions:

1) Is this the above way right to proceed to simulate facial expression?

2) If it is right how to move the points and create a new image in opencv?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2013-02-26 08:58:15 -0500

Moving the points are not a problem. The problem is to generate a new expression from new positions. My way of doing this things will be:

  1. generate a mesh with OpenGL for example.
  2. use your image as texture.
  3. move the points in the needed position.

=> the texture generate will be your image, made with interpolation of pixels, but:

  1. How to fill inside mouth?
  2. Does it really look like an expression???
  3. What is the validity of such approach -> I think it will invalid!

If you are interested if facial expression, look at MUCT for examples of expression, or any database used in facial expression recognition paper, it will be much better in my opinion.

edit flag offensive delete link more


+1 Thanks for your answer. It would be helpful if you explain a bit more on the first three points you have said.

UserOpenCV gravatar imageUserOpenCV ( 2013-02-27 03:30:19 -0500 )edit

For the mesh, try It's a 3D ''standard'' face. Use your face detection (possibly with Haar) as texture for the mesh. After that, if you move the 3D points of face, OpenGL is doing an interpolation of the texture (aka the face) and you can dump the image as a new expression.

Once again, this solution isn't a good approach to validate expression recognition, but can be used as a test stage.

Mathieu Barnachon gravatar imageMathieu Barnachon ( 2013-02-27 03:48:52 -0500 )edit

Question Tools


Asked: 2013-02-26 06:27:44 -0500

Seen: 1,621 times

Last updated: Feb 26 '13