xuyangbai / pointdsc Goto Github PK
View Code? Open in Web Editor NEW[PyTorch] Official implementation of CVPR2021 paper "PointDSC: Robust Point Cloud Registration using Deep Spatial Consistency". https://arxiv.org/abs/2103.05465
[PyTorch] Official implementation of CVPR2021 paper "PointDSC: Robust Point Cloud Registration using Deep Spatial Consistency". https://arxiv.org/abs/2103.05465
Dear authors:
Thanks for your inspiring work and for releasing your code.
Everything is very good, except that I'm very confused about why the 'orig_trans' in ThreeDMatchTrainVal class is 'eye(4)' rather than the real transformation between the src and tgt?
Thanks very much!
Best wishes
Hi, thanks for the project. Do you have model of 3DRegNet in pytorch?
作者您好!我是一名点云配准的初学者,非常感谢您和团队做的工作!想请问您可以分享一下预训练模型的吗?我在您分享的链接里没有找到
weight_path='misc/ResUNetBN2C-feat32-3dmatch-v0.05.pth' is not in the package , can you share the model?
Hi, thank you for sharing the code. I’m currently evaluating the use of PointDSC for point cloud registration in my project. However, I couldn’t find a license file. Could you please add one?
Is the algorithm implemented in windows or linux?
the number of input points between train and test is different,and each one in the test set is different.If i scale it to 5000,will it effect the final result?
你好!感谢开源代码和数据!
在我成功运行了您给的demo,demo_data文件夹中的两组.ply格式的点云成功匹配。
但是我将KITTI数据集中的.bin格式的点云文件转码为.ply文件后,运行
python demo_registration.py --chosen_snapshot PointDSC_KITTI_release --descriptor fpfh
无法成功运行,请问您知道是我哪一步有问题吗?
感谢!
Hi, thanks for sharing the code. I want to use PointDSC to registrate two point cloud with pcd format. Is there any tutorial?
Thanks your work!!!
I want to know which version of your pytorch ,cuda and ME.
Because I have this error, with the old version of ME when i use the FCGF before:
Traceback (most recent call last):
File "demo_registration.py", line 10, in
from misc.fcgf import ResUNetBN2C as FCGF
File "/Bill/Project/PointDSC/misc/fcgf.py", line 77, in
region_type=ME.RegionType.HYPER_CUBE,
File "/opt/conda/lib/python3.7/enum.py", line 349, in getattr
raise AttributeError(name) from None
AttributeError: HYPER_CUBE
Thanks
Hi Xuyang,
What tool to plot the Figure 6 in your paper(feature similarity distribution of inlier and non-inlier pairs). It is very descriptive and vivid.
Thanks.
Hello, I would like to use your model to train on my own dataset. My dataset consists of point clouds from different viewpoints of a statue. However, I do not have the corresponding rotation and translation matrices between the point clouds pairwise. How can I address this issue? Thank you!
Hi, thank you very much for your well-organized pointDSC code. I noticed the experimental result of 3DRegNet on 3DMatch in your paper. Would you like to provide the code of 3DRegNet on 3DMatch? Thank you very much!
when I tring to Reproduce your paper PointDsc, I encounter a FileNotFoundError:[Error 2] No such file or directory: 'redwood_simulated/livingroom1-simulated.json'.
And I've already found all directorys ,but failed to find it.
so maybe you forgot upload it or other situation I don't konw
hope your reply
But Error when I run training code"python train_3DMatch.py":
"AssertionError: Make sure that the path /data/3DMatch has data sun3d-brown_bm_1-brown_bm_1*0.30.txt"
Did I do something wrong?
And my files failed to install"MinkowskiEngine".
Could you please provide this folder "/3DMatch" used for training ?
Thank you!
Thanks for your excellent work first,i get some problems here.
1.Run i run demo_registration.py with kitti like pcd files,use fcgf i can get a large feature which shape is [45793,3]。
When run the code below to calculate corr_pos,the process will be killed due to a huge memory usage which up to 16GB!
# distance = np.sqrt(2 - 2 * (src_features @ tgt_features.T) + 1e-6)
# source_idx = np.argmin(distance, axis=1)
# source_dis = np.min(distance, axis=1)
# corr = np.concatenate([np.arange(source_idx.shape[0])[:, None], source_idx[:, None]], axis=-1)
# src_keypts = src_pts[corr[:,0]]
# tgt_keypts = tgt_pts[corr[:,1]]
# corr_pos = np.concatenate([src_keypts, tgt_keypts], axis=-1)
# corr_pos = corr_pos - corr_pos.mean(0)
This problems has been solved by using fcgf_feature_matching function which is borrowed from DGR instead of the code above.
2.Then i downsample the pcd,now the feature shape is [25000,3],when start to run the code below,the process is been killed again due to a huge gpu memory use which up to 20GB!
res = model(data)
I have register the feature which has shape [45793,3] successfully using DGR with only 8GB gpu memory usage,which is quite fast.is that normal this repo could use 20GB gpu memory?I need your help to solve the problems above!
Hi,
Thanks for sharing valuable code.
However, in the cal_fpfh.py script, I do not find how to extract features on KITTI dataset?
Should I process the raw point cloud similar to other datasets with voxel_size=0.05?
Thanks a lot for your attention and look forward to your reply.
Best regards
when i run cal_fcgf of kitti dataset processing , it turns out to be an error in the function process_kitti ,
xyz0_t = apply_transform(xyz0[sel0], M)
pcd0 = make_point_cloud(xyz0_t)
pcd1 = make_point_cloud(xyz1[sel1])
```when i change the index to apply_transform(xyz0[sel0[1]], M) , it goes well but error become like this
`zlib.error: Error -3 while decompressing data: invalid distance code`
so I want to know is it exactly correct of the code: xyz0_t = apply_transform(xyz0[sel0], M)
when I run " python multiway/make_fragments.py redwood_simulated/livingroom1-simulated.json" , I meet the problem like above .Looking forward for your reply
Hi, I have seen your presentation video of PointDSC, it's beautiful!
Besides, I want to know something about the training dataset of the experiments of the 'predator+pointdsc',
Did you use the original 3DMatch(>30% overlaps) dataset or use the 3DLoMatch(10%-30% and >30% overlaps) to train the pointdsc?
Thank you for your excellent work!!! Can you provide your json file to generate fragments of augmented ICL-NUIM dataset?
Hello! Thanks for your open source code and data!
I find the link to download the pre-computed descriptors for the 3DMatch test set is not aviliable now.
Could you please give me a new link?
What's more, I have another question. Do you know where is the link that I can download the pre-computed descriptors (FCGF and Predator) for the 3DLoMatch?
I'm looking forward to your reply.
Sorry, I closed the last question by mistake. I have one last question about 3DRegNet. In your article, you only used classified loss to train 3DRegNet, namely BEC loss of PointDSC, right?
Hi Xuyang,
Thank you for your excellent work! I recently conducted tests on the Augmented ICL-NUIM dataset. I followed your tutorial to generate fragments, computed the FPFH and FCGF descriptors, and used your provided script (multiway/test_multi_ate.py) to calculate the ATE results (see below).
However, I observed a significant difference in the ATE for the Living1 scene compared to the values in Table 3 of your paper. I used the same hyperparameters as specified in the code. So I wonder if you used different hyperparameters (e.g., voxel size) for specifically testing the Living1 scene.
I look forward to your response!
Best regards
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.