1

大家好,

我实际上是关于机器人拾取和放置应用程序的 3d 扫描主题。

首先,我使用 ICP 算法来匹配参考对象相对于实际对象的位置。为此,我使用带有以下代码的 Octave/Matlab:http: //www.mathworks.com/matlabcentral/fileexchange/12627-iterative-closest-point-method

经过一些尝试,该算法似乎在适当的时间产生了令人满意的准确性。大约 6000 到 6000 个数据点的匹配需要花费 100 次迭代循环大约 15 秒的计算时间。

实际上,我正在尝试提取此 matlab/octave 代码以将其放入我的应用程序中以尝试算法的并行性。当我从我自己的 c 应用程序运行未更改的代码时,计算时间增加了大约 10 到 20 倍。(相同的数据集!)

如果开启了函数内联和优化级别-O3。生成 .oct 文件时,octave 是否还有其他优化?我实际上不知道为什么性能会有如此大的差异。

ICP算法海量做双重加法,乘法和除法!

感谢你的帮助!

问候,乔德尔

4

1 回答 1

1

我希望 Octave 与 Matlab 一样,使用针对您正在使用的硬件进行调整的BLAS实现。你 ?如果不是,这可能是速度差异的原因。

于 2010-10-14T11:06:25.697 回答