【问题标题】:Structuring keypoints as an input for a neural network构建关键点作为神经网络的输入
【发布时间】:2018-03-03 02:31:53
【问题描述】:

背景

我有一个神经网络,可以输出姿势(脚、脚踝、膝盖、手臂、头部等)和连接的关键点 - 基本上我有一个骨架。我想使用这些关键点 /skeleton 作为另一个神经网络的输入 - 一个关系网络 (https://arxiv.org/pdf/1706.01427.pdf)。目标是学习姿势和不同对象之间的关系。

问题

由于我正在处理关键点,我不确定将它们作为输入的最佳方式是什么。我已经考虑将关键点转换为在每个 X/Y 位置处值为 0 的图像,除非它被值设置为 1 的骨架覆盖。但这似乎效率低下。有没有办法在不影响性能的情况下保留使用图像的结构优势(我可以使用卷积网络)?

【问题讨论】:

  • 如果你的“对象”是图像,我相信最好的办法是让那些骨架也成为图像......但是如果你有对象的关键点,也许你可以尝试只使用关键点....
  • 对象也是关键点。仅使用关键点意味着什么?这是否意味着(1)只有关键点的 X、Y 坐标,(2)关键点的 X、Y 坐标以及连接它们的线上的每个位置,还是其他?另外,您会使用其他坐标设置为 0 的图像,还是直接使用关键点?
  • 我没有现成的解决方案......但我会尝试对此进行试验......也许你应该定义线(点对,如果你没有表面)。但实际上,您需要对未使用的积分做点什么。

标签: tensorflow neural-network keras conv-neural-network keypoint


【解决方案1】:

您应该按照您的建议将它们存储在 HxW 张量中(或者我们称之为图像),因为在使用“图像”时您将可以使用更多工具。

根据您的性能需求和关键点的数量,您也可以考虑Sparse Tensors,它只存储不等于 0 的值,但是您应该检查特殊稀疏张量操作是否完全支持您所需的操作。

【讨论】:

    猜你喜欢
    • 2017-06-13
    • 2012-03-29
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2010-10-13
    相关资源
    最近更新 更多