yaoyx689 / fast-robust-icp Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
I have two point clouds of the same object from slightly different angles. Both are saved in non-binary ply format. I tried registration with various methods using Fast-Robust-ICP. Unfortunately the resulting .ply seems to be identical to the target point cloud given at the beginning. I can not make out any visual diffrences when looking at the point clouds and they both have the exact same number of vertices.
I did not give any kind of orientation. Was that the issue maybe? Or is there any other setting i should have configured?
Thank you and best regards,
Paul
Thank you for the work!
I'm currently trying to setup the environment to test the Fast-Robust-ICP.
I downloaded Cmake and Eigen using following command lines:
sudo apt install cmake (3.16.3 version)
sudo apt-get install libeigen3-dev (3.3.7-2 version)
I got the following result when compiling the repo with "cmake .":
-- Found NanoFlann: /home/kidpaul/Fast-Robust-ICP/include
ln: '/home/kidpaul/Fast-Robust-ICP/data' and './data' are the same file
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kidpaul/Fast-Robust-ICP
The issue is that I'm not sure whether I compiled the files properly since I can't execute the command ./FRICP.
(I just got cmake_install.cmake file when I ran the cmake command and it doesn't look a right compiling process)
Could you give me some further guide how to setup the environment?
(I'm running this under Ubuntu 20.04. Not sure whether this can be a possible issue)
如果能迁移到pcl中,算法可以被应用得更广泛。
Thanks for sharing your code. I tried on a different dataset but it didn't work (please see the second sample in my pull request ). Any idea? Is there a specific preprocessing step one should do?
The aligned shape looks strange compared to the original:
Original
Result
您好!请教一个代码无关的问题:请问您们论文里的点云可视化和点云误差显示采用什么软件制作的?论文里面的图片很美观,想学习学习,谢谢
Hi,
thank you for this wonderful work. I'm testing this code on my own data. Despite the target and source input (meshes) have already a roughly good overlay, I got many points on a line as the registered result. I upload these two files in this drive. Thank you for your clarification in advance! https://drive.google.com/drive/folders/1Mt26annG3yEZFbAU-xGgik6O0UDAxdC6?usp=sharing
only demo works.
My point cloud has about 200000 points.the code can't work.
请问两组点云之间存在缩放可以利用该算法吗?如果不可以的话有推荐算法吗?多谢
作者您好,我在win10+vs2017环境下运行您的代码,debug模式下报错Assertion failed: (i>=0) && ( ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows()) ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols())), file d:\mylibrary\include\eigen\src/Core/Block.h, line 122, release模式下不报错,但输出矩阵和配准后的点云均为nan,您知道是什么问题吗
When i debug the code,there are several errors occurred in the program
error C2719: “m”: The parameter with __declspec(align('16')) will not be aligned in icp.h
error C2719: “v”: The parameter with __declspec(align('16')) will not be aligned in icp.h
The error is that the variable w is defined as vectorx, but the parameter type of the function ( get_energy) is vectorxd。in file FRICP.h
When I changed vectorx to vectorxd, the second error occurred,error C2338: INVALID_MATRIX_TEMPLATE_PARAMETERS
The program does not prompt me which line is wrong,in file FRICP.h
The compilation platform is windows vs2013, releasex86,could you help me solve these problems。thanks.
First error:
bugfix in type.h and FRICP.h change entry:
#include <eigen/...> to #include <eigen3/...>
second error:
Fast-Robust-ICP/ICP.h:44:57: error: no matching function for call to ‘nanoflann::KDTreeSingleIndexAdaptorParams::KDTreeSingleIndexAdaptorParams(const int&, const size_t&)’
index = new index_t(dims, *this, nanoflann::KDTreeSingleIndexAdaptorParams(leaf_max_size, dims));
solution is open, ...
作者您好,
我使用的ply文件比代码里提供的在三维空间中要大不少,scale达到 1e+67。
有什么关于scale爆炸的思路吗?
谢谢。
eigen.tuxfamily.org eigen界面无法打开?官网下载的eigen没有include,请问如何解决呢?
请问作者考虑过使用读取PCD格式的点云文件再进行处理吗?据我所知,PCD格式要比ply格式快一些
姚同学你好,我发现如果两片点云的点数一致时,该配准方案在fricp.h的第509行会崩溃
作者您好,我用我自己的数据测试发现所有的point-to-plane(第4、5、7方法)算法都报错,Assertion failed: (i>=0) && ( ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows()) ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols())), file e:\pcl\pcl 1.8.1\3rdparty\eigen\eigen3\eigen\src\core\block.h, line 122,我的两个点云数目都为2万左右,scale为686.818,请问作者这是什么原因呢?该怎么解决呢?
Assertion failed: (i>=0) && ( ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows()) ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols())), file d:\eigen-3.4.0\eigen\src\core\block.h, line 122。用我自己的数据测试您的算法出现这个错误,请问是什么原因呢,该怎么解决呢?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.