【发布时间】:2010-10-14 19:06:25
【问题描述】:
大家好,
我实际上是在讨论机器人拾取和放置应用程序的 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算法做双重加法,乘法和除法!
感谢您的帮助!
您好, 乔德尔
【问题讨论】:
标签: performance gcc matlab octave