如何检查由Kinect扫描的两个对象之间的相似性?

时间:2019-06-09 00:28:40

标签: augmented-reality kinect normalization similarity

我有一个学校项目,需要在kinect创建的XYZRGB点云中识别一个对象,并将该对象的一堆特征与训练集进行比较。

对象特征包括:

  • 长度(米);
  • 高度(米);
  • 点数。
  • 红色(所有点的平均值,0到255);
  • 绿色(所有点的平均值,0到255);
  • 蓝色(所有点的平均值,0到255);

在训练集中,我们有类似的东西(与上面的顺序相同):

blue_box 0.115771 0.0787957 205 52.4049 161.946 161.946
white_box 0.120375 0.0913906 274 212.974 206.255 206.255
red_box 0.223208 0.118088 470 183.574 37.2574 37.2574
black_tape 0.194007 0.103328 303 74.3234 71.8647 71.8647
blue_book 0.223942 0.232253 758 54.7559 74.1214 74.1214
gray_book 0.193717 0.225758 671 180.365 183.131 183.131
...

为了识别对象,我们需要检查训练集中的哪个对象具有最相似的值,对差异进行归一化(使之相似,以[0..1]之间的值表示相似性)。

问题在于,由于以下原因,欧氏距离不适用于这种情况:

具有以下对象:

  • 10厘米高和200红色

带有以下内容的训练集:

  • Object_X:20厘米高和200红色
  • Object_Y:10厘米高和211红色

即使Object_Y相似,也会错误地选择Object_X。

我的问题是,有没有办法标准化这些值,以便在检查相似性时它们都具有相同的权重?

0 个答案:

没有答案