人体的宽度和高度

时间:2010-11-17 20:10:06

标签: image size artificial-intelligence

如何识别图像中人体的高度和宽度?

3 个答案:

答案 0 :(得分:4)

您需要一些参考点。除非您知道相机设置(放置,缩放,镜头失真等)以及人员相对于相机的位置,否则不能使用简单的照片。

如果你有一个参考(如背景中的网格或其他东西),那么你可以测量网格并从那里开始。听起来不像你需要的那样。

答案 1 :(得分:2)

为了扩展其他人所说的内容,你可以将这个复杂的任务分解为几个(仍然很难)的组件。

  1. 识别包含人类的像素的平方。

  2. 标识包含您知道其真实世界尺寸的参考对象的像素的平方。 (例如可乐罐,尺子等)

  3. 识别两个对象之间的3D关系,这样您就可以将参考对象的像素转换为与人类像素相同的比例。

  4. 使用以下公式计算人体尺寸:

    human.real_height = human.pixel_height * reference.real_height / reference.pixel_height

  5. 当然,这个过程远非万无一失,而且还很难,但它应该提供一个合理的近似值。我没有使用现有的工具包,但你可以从OpenCV开始,有Python绑定。此外,SIFT algorithm是一种可能在这里工作的有趣技术,但我认为只有C#实现。

    如果您只使用单个图像,第三步可能是最困难的。人们通过立体视觉提取3D图像数据(即我们使用来自我们两只眼睛的图像来“推断”深度),但即便如此,它也不是万无一失的,因为颜色和阴影会让我们失望。我想可以使用单个图像,但可能更容易出错。这是一个积极研究的领域,所以我会查阅有关计算机视觉的书籍,以便更好地了解当前的实用性。

答案 2 :(得分:1)

布拉德指出,除非照片是在受控条件下制作的,否则这不是真的可行。如果没有,那么你可能运气不好,因为forced perspective甚至可以欺骗最好的检测人体身高和宽度的算法。