例如,我站在 Kinect 前面。 Kinect 可以识别关节,并将它们作为数据结构公开。到现在为止我已经很清楚了。
那么,我们是否可以将高度定义为头关节 - ((LeftAnkle + RightAnkle)/2) 之间的差值?
我尝试过三角公式,但我面临两个问题。一是识别视图中的人。第二个是确定头顶和脚底的确切位置。
我尝试过点云,但迷失在如何生成特定于人的点云上。我的意思是不包括背景物体。
请提出一些关于如何使用 Kinect 计算人的身高的想法?
For example, I am standing in-front of my Kinect. The Kinect can identify the joints, and it will expose them as a data structure. Till this point I am clear.
So, can we define the height as the difference between Head joint - ((LeftAnkle + RightAnkle)/2)?
I have tried trigonometric formulas, but there are two problems I am facing. One is identifying the person in the view. The second one is identifying the exact positions of Top of head and bottom of foot.
I have tried the point cloud, but got lost in how to generate the point cloud specific to a person. I mean without including the background objects.
Please suggest some ideas about how I can calculate the height of a person using the Kinect?
发布评论
评论(4)
您可以将头部关节转换为全局坐标系。无需做任何数学计算。全局坐标中的y坐标将是他的高度。
您所需要做的就是检查头部关节是什么像素,并将像素+深度信息转换为以mm为单位的单词坐标空间。
我不知道你使用的是什么 API,但如果它能够分割人类并返回他的关节,那么你可能正在使用 OpenNI/NITE 或 Microsoft SDK。它们都有一个将像素+深度坐标转换为以mm为单位的ax,y,z的函数。我不确切知道这些函数是什么,但它们的名称类似于:深度_到_毫米或视差_到_毫米。您需要检查两个文档才能找到它,或者您可以自己完成。
此站点提供有关如何将深度转换为毫米的信息:http://nicolas.burrus.name /index.php/Research/KinectCalibration
You can convert the Head Joint into global coordinate system. There is no need to do any math. The y coordinate in global coordinate will be his height.
All you need to do is check what pixel the head joint is and convert the pixel + depth informations into word coordinate space in mm.
I don't know what API you are using, but if it's being capable to segment a human and return his joint's, probably you are using OpenNI/NITE or Microsoft SDK. Both of them have a function that converts a pixel + depth coordinate into a x,y,z in mm. I don't know exactly what are the functions but their names would be something like : depth_to_mm, or disparity_to_mm. You need to check both documentations to find it, or you can do it by yourself.
This site have informations on how to convert depth to mm: http://nicolas.burrus.name/index.php/Research/KinectCalibration
我提取了两个点 - 头和左脚(或右脚),然后我发现这些点之间的欧几里德距离给出了 4 英寸变化的距离。我的测试结果令人满意,因此我们使用此方法作为临时解决方法。
I have extracted the two points - Head and Left foot (or Right Foot), then i found the euclidean distance between these points gave the distance with 4 inch variation. My test results are satisfactory, so we are using this approach as temporary work around.
一个老问题,但我找到了一个非常好的解释和示例此处。
它还解释了高度不仅仅是头部和脚踝点的函数,而是以下线段的函数:
右脚踝
An old question but i found a very nice explanation and example here.
It also explains that height isnt mearly a function of the head and ankle points, but instead a function of the following line segments:
AnkleRight
以下是 Kinect SDK 2.0 的公式。完整项目位于 https://github.com/jhealy/kinect2/tree/master /020-FaceNSkin_HowTallAmI ....
}
Here is a formula for Kinect SDK 2.0. Full project available at https://github.com/jhealy/kinect2/tree/master/020-FaceNSkin_HowTallAmI ....
}