将轮廓面图像与其正面图像对齐 [英] Align profile face image with its frontal face image

查看:303
本文介绍了将轮廓面图像与其正面图像对齐的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有个个人资料面:





和正面图像:





输出:正面。



想法:我只需要知道我可以采取哪三个共同点,这将在两个面部可见,然后使用affineTransform并显示对齐的配置文件面

 或任何其他**简单方法** 



开发环境:c ++和opencv 2.4.2



我试过的:


  1. haarcascade特征检测(两个图像中的共同检测点= ;它不会在前脸检测到耳朵。



div class =h2_lin>解决方案

正如由@bytefish所讨论的这里,眼睛在给定图像中的位置远不是微不足道的。用于在OpenCV中寻找眼睛的Haar级联产生太多的假阳性以用于有用,此外该方法对于图像旋转将不强。



你将需要用于对准面部图像的稳健的头部姿态估计。这里有两个最强大的(有代码可用):








例如,使用第二篇文章中描述的方法,更健壮的功能,如下图所示。而这些强大的功能将反过来确保产生更强大的面部对齐性能。






I have a profile face:

and a frontal face image:

Output: aligned profile face with reference to frontal face.

Idea: I just need to know which 3 common points I can take,which will be visible on both faces and then use affineTransform and display the aligned profile face

      OR any other **simple method** of doing so

development envi.:c++ and opencv 2.4.2

what I tried:

  1. haarcascade feature detection(common detection point in both images=eye) ; it wont detect ear in frontal face
  2. OpenCV: Shift/Align face image relative to reference Image (Image Registration) (I get error message)

解决方案

As discussed here by @bytefish, finding the accurate position of the eyes in a given image is far from trivial. The Haar-cascades for finding the eyes in OpenCV produce too many false positive to be useful, moreover this approach won't be robust to image rotation.

You'll need a robust head pose estimation for aligning face images. Here are two most robust ones (with code available):


For example, using the method described in the second paper, you will get more robust features like that are shown in the following images. And these robust features will, in turn, ensure to generate more robust face alignment performance.

这篇关于将轮廓面图像与其正面图像对齐的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆