简体   繁体   English

如何对齐(注册)和合并点云以获得完整的 3d 模型?

[英]How align(register) and merge point clouds to get full 3d model?

I want to get 3d model of some real word object.我想获得一些真实单词对象的 3d 模型。 I have two web cams and using openCV and SBM for stereo correspondence I get point cloud of the scene, and filtering through z I can get point cloud only of object.我有两个网络摄像头,使用 openCV 和 SBM 进行立体对应,我得到场景的点云,通过 z 过滤我只能得到对象的点云。 I know that ICP is good for this purprose, but it needs point clouds to be initally good aligned, so it is combined with SAC to achieve better results.我知道 ICP 对这个目的有好处,但它需要点云最初很好地对齐,所以它与 SAC 结合以获得更好的结果。 But my SAC fitness score it too big smth like 70 or 40, also ICP doesn't give good results.但是我的 SAC 健身得分太大了,比如 70 或 40,而且 ICP 也没有给出好的结果。

My questions are: Is it ok for ICP if I just rotate the object infront of cameras for obtaining point clouds?我的问题是:如果我只是旋转相机前面的物体以获得点云,ICP 是否可以? What angle of rotation must be to achieve good results?要达到良好的效果,必须旋转什么角度? Or maybe there are better way of taking pictures of the object for getting 3d model?或者也许有更好的方法来拍摄物体以获得 3d 模型? Is it ok if my point clouds will have some holes?如果我的点云会有一些洞,可以吗? What is maximal acceptable fitness score of SAC for good ICP, and what is maximal fitness score of good ICP?什么是好的 ICP 的 SAC 最大可接受的适应度分数,以及好的 ICP 的最大适应度分数是多少?

Example of my point cloud files: https://drive.google.com/file/d/0B1VdSoFbwNShcmo4ZUhPWjZHWG8/view?usp=sharing我的点云文件示例: https : //drive.google.com/file/d/0B1VdSoFbwNShcmo4ZUhPWjZHWG8/view?usp=sharing

My advice and experience is that you already have rgb images or grey.我的建议和经验是,您已经拥有 rgb 图像或灰色图像。 ICP is an good application for optimising the point cloud, but has some troubles aligning them. ICP 是一个很好的优化点云的应用程序,但在对齐它们时有一些麻烦。

First start with rgb odometry (through feature points aligning the point cloud (rotated from each other)) then use and learn how ICP works with the already mentioned point cloud library.首先从 rgb 里程计开始(通过特征点对齐点云(相互旋转)),然后使用并学习 ICP 如何与已经提到的点云库一起工作。 Let rgb features giving you a prediction and then use ICP to optimize that when possible.让 rgb 特征为您提供预测,然后在可能的情况下使用 ICP 对其进行优化。

When this application works think about good fitness score calculation.当此应用程序工作时,请考虑良好的健身分数计算。 If that all works use the trunk version of ICP and optimize the parameter.如果一切正常,请使用 ICP 的中继版本并优化参数。 After this all been done You have code that is not only fast, but also with the a low error of going wrong.在这一切都完成之后,您的代码不仅速度快,而且出错的错误率也很低。

The following post is explain what went wrong.下面的帖子是解释出了什么问题。

Using ICP, we refine this transformation using only geometric information.使用 ICP,我们仅使用几何信息来优化此变换。 However, here ICP decreases the precision.然而,这里ICP降低了精度。 What happens is that ICP tries to match as many corresponding points as it can.发生的情况是 ICP 尝试匹配尽可能多的对应点。 Here the background behind the screen has more points that the screen itself on the two scans.这里屏幕后面的背景比屏幕本身在两次扫描上有更多的点。 ICP will then align the clouds to maximize the correspondences on the background. ICP 然后将对齐云以最大化背景上的对应关系。 The screen is then misaligned然后屏幕未对齐
https://github.com/introlab/rtabmap/wiki/ICP https://github.com/introlab/rtabmap/wiki/ICP

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在相机处于固定位置的情况下合并两个 3D 点云。 - How to merge two 3D point clouds where cameras are at fixed position. opencv:两个3D点云之间的刚性变换 - opencv: Rigid Transformation between two 3D point clouds 如何在点云中的 3D 边界框的 RGBD 帧序列上具有 2D 边界框? - How can i have 2D bounding box on a sequence of RGBD frames from a 3D bounding box in point clouds? How to align images of a known object with a 3D model of that object using opencv? - How to align images of a known object with a 3D model of that object using opencv? 合并具有已知位置的两个点云(python,OpenCV) - 转换 - Merge two point clouds with known positions (python, OpenCV) - Transformation 如何在OpenCV中计算点的3D坐标 - How to calculate 3D coordinates of a point in OpenCV 如何检测点云中的动态障碍 - How to detect Dynamic Obstacles in point clouds 如何获得3D模型的变换矩阵到2D图像中的对象 - How to get the transformation matrix of a 3d model to object in a 2d image 计算3D世界点 - Calculating 3D world point 如何将OpenCV中的3D点转换为本征表示形式? - How to convert 3D point in OpenCV to Eigen representation?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM