Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 人体姿势估计-身体部位的有效连接_Image Processing - Fatal编程技术网

Image processing 人体姿势估计-身体部位的有效连接

Image processing 人体姿势估计-身体部位的有效连接,image-processing,Image Processing,问题描述: 我正在从事一个项目,其目标是在图像中识别人的身体部位(躯干、头部、左臂和右臂等)。该方法基于找到人体的各个部位(假设),然后搜索最佳姿势配置(=真正构成人体的所有部位)。ideea在本链接中有更好的描述 假设是在对每个身体部位分别运行检测算法(这里我使用机器学习领域的分类器)后获得的。因此,每个假设的类型是已知的。此外,每个假设都有一个位置(图像中的x和y坐标)和一个方向 确定两个部分连接在一起的代价,可以认为类型头的每个假设可以与类型躯干的每个假设相联系(例如)。但是,位于图像右上

问题描述: 我正在从事一个项目,其目标是在图像中识别人的身体部位(躯干、头部、左臂和右臂等)。该方法基于找到人体的各个部位(假设),然后搜索最佳姿势配置(=真正构成人体的所有部位)。ideea在本链接中有更好的描述

假设是在对每个身体部位分别运行检测算法(这里我使用机器学习领域的分类器)后获得的。因此,每个假设的类型是已知的。此外,每个假设都有一个位置(图像中的x和y坐标)和一个方向

确定两个部分连接在一起的代价,可以认为类型头的每个假设可以与类型躯干的每个假设相联系(例如)。但是,位于图像右上角位置的头部假设不能(从人的角度)与位于图像左下角位置的躯干假设相联系。基于上一条语句以及执行时间,我试图避免此类链接


问题:我计划通过考虑到最远假设的距离来减少搜索空间,该假设可能是链接候选。解决这个搜索问题的最快方法是什么?

对于类似的问题,我将源图像分割成16个(或更多,取决于您尝试链接的部分的相对大小)较小的图像,分别在每个图像中执行检测和链接步骤,还有一个额外的步骤,您将只为每个子图像执行一个链接步骤,并且它(可能是8个)相邻

在这种情况下,您甚至不会尝试将左上角的一个部分与右下角的一个部分连接起来,作为额外的奖励,您问题的第一部分现在非常平行

更新:
你可以先对图像进行边缘检测,永远不要将图像一分为二,因为这意味着将边缘一分为二。递归地这样做将允许您获得许多带有身体部位的小图像,然后您可以单独处理。

这种离散分配问题可以使用

在计算成本(=距离)矩阵时,当距离大于预定义阈值时,可以将该项设置为某个无限或非常高的值, 这将防止算法将头部分配给距离太远的躯干


最后一种技术在跟踪讲座中也被称为选通

您是否在寻找一种算法的名称,以便进一步研究?不是为了回答您的具体问题,而是为您提供一个相关项目的链接,该项目可能对您有用(或不有用):-)是,我需要一种算法或任何其他方法,它比考虑两种不同类型的假设之间的所有可能联系的方法性能更好。@Nelson:谢谢你的建议,但我的案例中的输入图像是简单的RGB图像。谢谢你的回答,但据我所知,通过这种方式,我应该将每个躯干假设与每个头部假设(例如)进行比较,以获得成本矩阵。但是,我的目的是避免不必要的计算(=尝试将彼此距离太远的两个部分连接起来)。匈牙利算法是解决此问题的有效算法。这确实值得一试。你可以在我提供的链接上查看它的算法复杂性。我正在查看你指出的链接。复杂度为O(n^3)。但是,我认为这个连接过程可以更复杂地完成。现在,我尝试使用八叉树来实现它。如果n是躯干假设的数量,m是头部假设的数量,那么构建树的复杂性是O(nlog(n)),并且为所有头部寻找近邻的复杂性是>=O(mlog(n))(最佳情况=O(mlog(n))。谢谢你的建议。我给你+1作为并行运行检测算法的想法。但是,我不确定你提出的链接方法。正如我在@sansuiso答案的最后一条评论中提到的,我正试图通过使用八叉树来实现这一点。