【问题标题】:Get real size of someone's face获取某人脸的真实大小
【发布时间】:2018-03-20 23:41:16
【问题描述】:

我正在开发一个 iOS 应用,我想在其中获取用户真实脸的大小,以便我可以建议他/她合适(匹配)尺寸的眼镜。

我已使用 OpenCV 检测到用户的面部,并得到了眼睛、鼻子、面部等的各种尺寸。

但我想要该尺寸的实际尺寸(即 毫米,我以像素为单位)。

我搜索了很多,但找不到任何符合我要求的解决方案。

有人知道如何计算人脸的实际大小(即毫米)吗?

谢谢。

【问题讨论】:

  • 如果有人向相机展示他们脸部的 50% 比例模型会发生什么?你怎么知道?
  • ARKit 不会更容易完成这项任务吗?
  • 有些 ARKit 应用可以测量房间和物品。看看你能不能知道他们是怎么做到的。这是一个有趣的问题,我想自己知道答案,但我认为它可能对 SO 来说太宽泛了
  • 让用户展示一个已知尺寸的物体(如硬币),然后计算这个已知尺寸与图片中其他元素之间的差异。
  • @Scriptable 是的,可以使用 ARKit 来测量房间和物品,但不能用于前置摄像头。我想要前置摄像头也一样。

标签: ios opencv


【解决方案1】:

我认为有两种方法。

  1. 图像中有一个已知大小的对象,可以用来与之进行比较。该对象与人脸的距离也必须与相机相同(或已知)。

  2. 如果相机支持深度,您可以获取相机到人脸的距离,并使用它来计算人脸的实际大小。此选项目前仅在 iPhone X 上可用。深度数据的准确性可能会有所不同,因此我不确定它对您的效果如何。

Read more about capturing depth data here

Read more on depth data accuracy here

【讨论】:

  • 任何关于使用深度演示 iphoneX 前置摄像头的演示或类似的想法?
  • 我推荐观看 WWDC 视频,讨论这个问题。他们还提供了一个示例应用程序。 developer.apple.com/videos/play/wwdc2017/507
【解决方案2】:

如果您在图像中没有尺寸参考点,我想真的没有办法说出确切的尺寸。您至少需要一个与您的图片相关的长度才能获得某种结果。

也就是说,这只能在普通物体的图像上 100% 准确地工作,因为在图像中更远的物体似乎更小(例如,here)。 您将需要来自不同侧面的多张图片(所有图片都带有尺寸参考),并且需要进行大量的计算。

相机的焦距也会使您的图像失真,从而使精确测量变得更加困难(请参阅comparision of different focal lengths with different distances to the face)。

【讨论】:

    猜你喜欢
    • 2020-07-16
    • 2012-08-27
    • 1970-01-01
    • 2019-01-31
    • 2016-09-18
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 2020-06-03
    相关资源
    最近更新 更多