Closed hanghoo closed 7 years ago
Sounds like you might be missing C++11. Try updating your GCC so that it's C++11 compliant.
I add #include <random>
in utils.hpp , then the problems are solved.
GAPS library is essential to the whole experiment?
The output of the compiled information is very long. So, I output it to a log file. out.log.zip
GAPS is only used to convert from meshes to TDF voxel grids. It is only necessary if you're trying to do just that. We used GAPS to convert the mesh models from Shape2Pose dataset into TDF voxel grids (for the mesh correspondence experiment).
Your compile error suggests that there's a problem with compiling the app pfm2pfm. In GAPS, you can remove that directory gaps/apps/pfm2pfm
and also edit gaps/apps/Makefile
by removing the line cd pfm2pfm; $(MAKE) $(TARGET)
.
In the latest commit, I've added a working version of GAPs to the repository and updated the install instructions in the README. Let me know if you run into any other problems.
I do the Training 3DMatch from RGB-D Reconstructions experiment. I run ./marvin train net.json When the Iteration is 4250, I find the "lr_stepsize":10000000,"max_iter": 10000000. It's so large. So I stop the running. Then, I modify the lr_stepsize and max_iter to 10000. I would like to follow the previous training data to run, and I find the 3dmatch_train_snapshot_4000.marvin. How do I use it?
One way to use your trained model (3dmatch_train_snapshot_4000.marvin) is to replace the model we used for the demo (3dmatch-weights-snapshot-137000.marvin), so that you can align point clouds with your own model.
If I want to train on the basis of the 3dmatch_train_snapshot_4000.marvin, how to do that.
Oh I see what you meant. Try ./marvin train net.json 3dmatch_train_snapshot_4000.marvin
Hi, In paper 3DMatch: Learning Local Geometric Descriptors from RGB-D Reconstructions, the method to find keypoints is random. And in demo experiment: there is a chance that alignment may fail on the first try of this demo due to bad keypoints, which are selected randomly by default. Is there any way to solve this problem?
In paper 3.1 Generating Training Correspondences, I have some questions. 1.
We then extract two local 3D patches around the interest point from two of these RGB-D frames, and use them as a matching pair.
How to extract two local 3D patches around the interest point from RGB-D frames? Why they are a matching pair?
2.
To find correspondences for an interest point, we map its 3D position in the reconstruction into all RGB-D frames for which the 3D point lies within the frame's camera view frustum and is not occluded.
Why we need map its 3D position in the reconstruction into all RGB-D frames.
You can use 3D Harris keypoints, which works well.
Given registered RGB-D frames, you can find which surface points correspond to each other from different camera views. Their respective local regions are the "matching pairs" that we used to train the network. I recommend looking at our data layer for training 3DMatch here.
Hi In getKeyptsAndDesc.m, I don't understand which code compute intermediate data
% System call to C++/CUDA code to compute intermediate data
returnPath = pwd;
cd ../../core;
system(sprintf('export PATH=$PATH:%s',cudaBinPath));
system(sprintf('unset LD_LIBRARY_PATH; export LD_LIBRARY_PATH=LD_LIBRARY_PATH:%s:%s; ./demo %s %s',cudaLibPath,cudnnLibPath,cloudName,'test'));
Hi, Andy. Thanks for your code. I don't know whether your code could run in my platform which is CUDA 8.0, cuDNN 5.1.5 and OpenCV 3.2. If don't, how can I make it run properly by modifying it on this platform. I do the Demo: Align Two Point Clouds with 3DMatch experiment, following I run ./compile.sh. Then, the errors occurred:
hoo104@amax-1080:~/3dmatch-toolbox/core$ ./compile.sh nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). utils.hpp(15): error: namespace "std" has no member "random_device"
utils.hpp(16): error: namespace "std" has no member "mt19937"
utils.hpp(17): error: namespace "std" has no member "uniform_real_distribution"
utils.hpp(17): error: type name is not allowed
utils.hpp(17): error: identifier "dist" is undefined
5 errors detected in the compilation of "/tmp/tmpxft_00001e7b_00000000-9_demo.cpp1.ii".