【问题标题】:Neural networks for a 3d space value linked list matching in java [closed]java中用于3d空间值链表匹配的神经网络[关闭]
【发布时间】:2012-02-16 21:07:07
【问题描述】:

我正在尝试将预先录制的 3d(float x,float y,float z)链表与另一个 3d 链表(float x,float y,float z)匹配。大约有 50 个预先录制的序列,每次都有 1000 个相同动作的示例,我试图与之匹配。 链表的大小差异很大。 Java 中是否有特定的神经网络模式/库/框架/算法可以用于此任务?

任何建议将不胜感激! 等待您的回复)

【问题讨论】:

  • 你试过hasing函数吗? en.wikipedia.org/wiki/Hash_function
  • 你试过简单的循环吗?
  • 简单循环不是解决方案,因为值可能太不同,例如有人更大,有人更小,哈希函数不会是一个完美的解决方案,因为我正在寻找用神经网络实现它的方法..
  • 神经网络在这里的作用是什么?我认为这对于动态时间扭曲 (en.wikipedia.org/wiki/Dynamic_time_warping) 来说是一项很好的任务,但对于神经网络来说却非常糟糕。请展开更多细节。
  • 亲爱的 LiKao 我已经实现了 DTW 和 FastDTW 并访问了它们的性能,有人告诉我我需要转向神经网络。我已经从传感器 Kinect 中提取的数据经过解析并保存在 Point3D 的链表中,我试图从动态记录的数据和之前记录的数据中查找序列。我正在尝试查找匹配项,例如用预先录制的动作之一对序列进行分类。

标签: java algorithm pattern-matching neural-network


【解决方案1】:

如果你坚持使用神经网络……

简化您预先录制的输入

  • 为每个 3d 点列表创建 3 个点的黑白 2d 图像(在每个相邻点之间画一条线)
  • 自上而下 (x,z)
  • 前后 (x,y)
  • 左右 (z,y)

简化您的用户输入

  • 创建相同的 3 张黑白图像(如上所述)
  • 找到点的边界框并将图像缩放到统一大小
    • 将用户输入缩放到与预先录制的输入相同的大小将有助于识别

为图像识别创建神经网络

尝试匹配的边界/约束

  • IF Top2Bottom >= 0.75 AND Forward2Back >= 0.75 AND Left2Right >= 0.75
  • 那么 IsAmatch = True
  • ELSE IsAMatch = 假

我可能只生成一个大型 3d 走廊(想想宽 3d 管,或一组连接的圆柱体),代表我预先记录的点的极端,然后缩放用户输入点,然后检查用户输入点是否在匹配范围内走廊。


编辑很奇怪,问题本身被否决并关闭,几天后我的回答被否决了。实际上,由于主持人的集体思考失败,该问题可能已关闭。也许有一个带有+1“已接受”答案的封闭问题看起来有点尴尬,所以这个答案随后被否决(两次)。

根据我的经验,提出这样一个问题的唯一方法是要么给它一大笔赏金,要么以一种不会冒犯版主脆弱敏感的方式重新措辞(大多数情况下)他们做得很好,不会越界……)。

【讨论】:

  • 对于 3 张图像模板匹配算法的解释,@LastCoder 3 张图像的想法看起来很棒也可以实现它,但是我正在考虑使用 Encog 而不是神经元,因为它允许对图像进行分析苍蝇。你能告诉我更多关于 3D 走廊的想法吗?阿孔卡瓦
  • @user1165088 - 考虑一个 3d 隧道/管道,它将是 (Vector3, Radius) 对的集合。现在您有一个用户生成的 3d 点列表,您可以拉伸/缩放这些点以适应 3d 隧道的边界,然后您可以使用距离公式查看这些点是否位于隧道内。
  • 感谢您的好主意,我会实施它们!
猜你喜欢
  • 2016-08-10
  • 2018-11-01
  • 2010-12-09
  • 2014-02-17
  • 2015-11-20
  • 2017-02-19
  • 2017-09-18
  • 1970-01-01
  • 2020-10-19
相关资源
最近更新 更多