繁体   English   中英

如何从面部检测方块获得“面部照片”?

[英]How to obtain a “mugshot” from face detection squares?

我正在构建一个应用程序,它将拍摄一个人的整个身体的图像,并将为该人产生一个“照片”。

Mugshot意味着一个人的整个脸,脖子,头发和耳朵的图像与另一个照片的大小相同。

目前我正在使用
http://askernest.com/archive/2008/05/03/face-detection-in-c.aspx
实现OpenCV,我正在使用

harrcascade_frontalface_default.xml  
harrcascade_frontalface_alt.xml  
harrcascade_frontalface_alt2.xml  
harrcascade_frontalface_alt_tree.xml

作为我的级联。

我使用了所有级联,因为单个级联不会检测到我的所有脸。 在我得到所有级联检测到的所有面部后,我找到了我的平均正方形,然后使用它来判断我的最终应该是什么样的高度和宽度。

我的问题是3部分。

  • 我目前的过程相当缓慢。 如何加快检测过程?
    编辑:我发现处理时间与照片尺寸直接相关。 减少照片的大小可能会有所帮助。

  • 单个级联不会检测到我遇到的所有面孔,所以我正在使用它们。 这当然会产生许多不同的方块和一些误报。 我可以使用什么方法来识别误报并将其排除在平均平方计算之外? 恩。 桑德曼韦恩
    编辑:我正在实现标准偏差范围内的平均值。 将尽快发布代码。

  • 考虑到脸部的方形坐标,我不确定找到最佳方法的最佳方法。 我在哪里可以找到面对照片的比例?
    编辑:解决了这个问题。 假设我的头都是他们脸的比例。

     static public Rectangle GetMugshotRectangle(Rectangle rFace) { int y2, x2, w2, h2; //adjust as neccessary double heightRatio = 2; y2 = Convert.ToInt32(rFace.Y - rFace.Height * (heightRatio - 1.0) / 2.0); h2 = Convert.ToInt32(rFace.Height * heightRatio); //height to width ratio is 1.25 : 1 in mugshots w2 = Convert.ToInt32(h2 * 4 / 5); x2 = Convert.ToInt32((rFace.X + rFace.Width / 2) - w2 / 2); return new Rectangle(x2, y2, w2, h2); } 

    桑德曼
    我只需要摆脱那些误报。

好吧,这4个问题。

  • 我们将要使用的相机目前无法使用,因此我目前没有捕捉图像的方法。 我在哪里可以找到像谷歌的图像搜索全身图像一样不是纯粹的人的全身图像?
    编辑: “人站立”做了一个很好的搜索:)

如果以这种方式设置,单个级联可以执行你的所有级联所做的事情,而且它不会给你几个结果来判断。 您使用的级联在他们制作的教学图片集合或某些参数中可能不同。

可以在此处找到有关如何构建自己的级联的教程。 获取用于训练您使用的四个级联的图片会很有用,但我不知道它们是否公开可用。

我建议你使用上半身哈尔级联文件,它将返回矩形直到肩膀。 请在“ http://alereimondo.no-ip.org/OpenCV/34 ”找到头肩级联文件

好吧,我想出来了,但目前这个项目还在冰上。
我没有要粘贴的源代码,因为VM需要永远加载。
如果有人真的感兴趣,请告诉我,我会发布。
如果你看到的东西看起来可以做得更好,请告诉我。

我采取的步骤如下。

  1. 加载图像,如果高度或宽度大于500像素,则将新版本的图像缩小到最大500px高度或宽度。 保存比例。
  2. Harrtraining的所有正面Harrcasscades上运行Ask Ernest的C#OpenCV实现。
  3. 出于某种原因,Ask Ernest生产的矩形需要按比例放大1.3倍
  4. 使用生成的矩形使用标准偏差来消除误报。 我为矩形的每个角都做了这个,找到了每个矩形角离开平均角落位置的距离。 我记下了任何有一个角落的矩形,并将其从候选矩形列表中删除。
  5. 从剩余的矩形中获取平均矩形,并在问题中应用上面的“GetMugshotRectangle”。
  6. 使用我们在步骤1中保存的比例缩放杯子照片矩形。
  7. 从原始图像中剪下照片并保存到新的位置。

完成!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM