主成分分析和轮换

时间:2016-11-18 15:43:35

标签: opencv image-processing pca image-rotation

我已经实现了PCA,以便将旋转信息分配给从图像中提取的连接的2D点(边缘片段,参见下面图像中的数据点,例如)。我希望信息在数据轮换下可靠地重现,以便我可以将其用于识别目的(与1相当)。为此,我希望主要成分(特征向量)与点(+ - 180度)一起旋转。

我的实施包括数据的平均居中。我还测试了OpenCV的实现和Python中的一个实现相同结果的实现。这就是为什么我认为我的实现是正确的,问题是方法本身。我对其他2D发行版有很好的结果。尽管如此,对于这些特定的数据点,它似乎不起作用。

我已经完成了所有测试,无论标准偏差是否标准化(即,将x和y值的数据除以标准偏差)。

以下是我对不同数据轮换(从图像中提取)的结果:

PCA Results

可以看出,该方法不允许找到可再现的旋转。数据受量化影响(因为它是从图像中提取的),这就是为什么我认为这是问题的根源。因此,我用添加的随机噪声重复实验(第4列)。可以看出,这似乎不是问题所在。

我不知道如何解释显示的效果。我注意到主轴的一般方向在第一和第二行中似乎分别相似。我认为这意味着什么,但究竟是什么?我可以以某种方式解决问题,还是可能有更好的方法来解决这个问题?由于一些预处理,可以假设没有异常值。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

对于像你所示的对称形状你可以尝试像这样的对称检测器:https://github.com/subokita/Sandbox/tree/master/FSD

在示例中,它给出了这样的结果:

enter image description here

enter image description here