OpenCV:比较来自网络摄像头和图像的姿势

问题描述

我想比较我从网络摄像头获得的姿势与从图像获得的姿势。姿态估计的基本代码来自:https://github.com/opencv/opencv/blob/master/samples/dnn/openpose.py

如何将我自己的实时姿势与图像的姿势进行比较,并在两个姿势在某个阈值内匹配时返回 True?

例如,如果我将手臂放在某个位置以匹配某人做同样事情的图像,我如何获得匹配程度的结果?

这样做的方法是什么/我在哪里可以找到更多信息?

解决方法

enter image description here

如您所见,检测到的人体姿势的结果索引为 0 到 17。

您可以使用 L2 距离来测量所有对之间的距离。

例如,对于第 0 个关节:

(J0[0] - J1[0])*(J0[0] - J1[0])

更多关于 openpose 的输出。

实际上,openpose 不仅可以为您提供 (x,y),还可以为您提供 0-1 的 confidence 分数。你可以得到这个分数。

例如,在我的项目中:

(J0[0] - J1[0])*(J0[0] - J1[0])*confidance