jianweiguo / local3ddescriptorlearning Goto Github PK
View Code? Open in Web Editor NEWDeep learning local descriptors for 3D surface shapes
Deep learning local descriptors for 3D surface shapes
In config.ini, when I set using_all_points=false
There is no kpi from kpi_dir can be read
[settings]
gi_size=32
hks_len=16
rotation_num=12
radius_list_p={3, 4, 5}
; radius_list=default
; default is {3, 4, 5}
; values in radius_list is proportional, assuming that the mean edge length of the mesh is 1.
using_all_points=true
; if using_all_points == false, read kpi from kpi_dir
How can I get kpi?
Thank you so much for your help.
Hi! Would you please give me some right screenshot because I couldn't use GIGen.exe and the error looks like this:
It seems the arrangement for the dataset is not right. How did you run this step in windows?
Here are my folders:
The folder "registritions" is downloaded from FAUST website:
gi/faust_256p and keypoints_faust256.kpi are two empty folders.
Thank you in advance!
Originally posted by @jlllweco in #4 (comment)
Thank you so much for your tutorial. I'm trying to use it but face the problems.
Build cpp solution: this code is to generate geometry images. You can run this step in your local desktop.
I couldn't finish the compile part and face the problem.
Here is the detail:
The CMakLists.txt in local3Ddescriptorlearning-master/3dDescriptorLearning/cpp_geometry_images_generation
include_directories( OpenMesh-6.3/src/OpenMesh ) # OpenMesh head files directory.
I'm not sure is this the correct directories for OpenMesh head files in ubuntu.
link_directories( OpenMesh-6.3/Release/Build/lib ) # OpenMesh lib files directory.
When I compile in 3dDescriptorLearning/cpp_geometry_images_generation/build
I use i586-mingw32msvc-g++ -o gigen ../src/gigen.cpp -I ../include/
There are so many errors.
In file included from ../include/Generator.h:16,
from ../src/gigen.cpp:8:
../include/Mesh_C.h:1: error: stray ‘\357’ in program
../include/Mesh_C.h:1: error: stray ‘\273’ in program
../include/Mesh_C.h:1: error: stray ‘\277’ in program
In file included from ../include/Generator.h:16,
from ../src/gigen.cpp:8:
../include/Mesh_C.h:18:38: error: OpenMesh/Core/IO/MeshIO.hh: No such file or directory
../include/Mesh_C.h:19:54: error: OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh: No such file or directory
In file included from ../include/Mesh_C.h:21,
from ../include/Generator.h:16,
from ../src/gigen.cpp:8:
../include/libcompcur.h:14:22: error: mclmcrrt.h: No such file or directory
../include/libcompcur.h:15:25: error: mclcppclass.h: No such file or directory
In file included from ../include/Generator.h:16,
from ../src/gigen.cpp:8:
../include/Mesh_C.h:22:20: error: mclmcr.h: No such file or directory
../include/Mesh_C.h:23:20: error: matrix.h: No such file or directory
In file included from ../src/gigen.cpp:9:
../include/Mesh_C.h:1: error: stray ‘\357’ in program
../include/Mesh_C.h:1: error: stray ‘\273’ in program
../include/Mesh_C.h:1: error: stray ‘\277’ in program
In file included from ../include/GPC.h:11,
from ../src/gigen.cpp:10:
../include/Mesh_C.h:1: error: stray ‘\357’ in program
../include/Mesh_C.h:1: error: stray ‘\273’ in program
../include/Mesh_C.h:1: error: stray ‘\277’ in program
In file included from ../include/GPC.h:13,
from ../src/gigen.cpp:10:
../include/nanoflann.hpp:50:17: error: array: No such file or directory
In file included from ../include/utils.h:13,
from ../src/gigen.cpp:11:
../include/dirent.h:1157:20: warning: no newline at end of file
In file included from ../src/gigen.cpp:11:
../include/utils.h:161:18: warning: no newline at end of file
In file included from ../include/GI.h:12,
from ../src/gigen.cpp:12:
../include/utils.h:161:18: warning: no newline at end of file
../src/gigen.cpp:15:18: error: thread: No such file or directory
../src/gigen.cpp:18:17: error: mutex: No such file or directory
In file included from ../src/gigen.cpp:19:
../include/dirent.h:1157:20: warning: no newline at end of file
../src/gigen.cpp:22:20: error: mclmcr.h: No such file or directory
../src/gigen.cpp:23:20: error: matrix.h: No such file or directory
../src/gigen.cpp:24:25: error: mclcppclass.h: No such file or directory
In file included from ../include/Mesh_C.h:20,
from ../include/Generator.h:16,
from ../src/gigen.cpp:8:
../include/Vector3.h: In member function ‘std::string GIGen::Vector3<real_t>::to_string() const’:
../include/Vector3.h:130: error: no match for ‘operator<<’ in ‘oss << "x: "’
../include/Vector3.h:131: error: invalid use of incomplete type ‘struct std::ostringstream’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/include/c++/iosfwd:79: error: declaration of ‘struct std::ostringstream’
../include/Vector3.h: In constructor ‘GIGen::Rot_mat<real_t>::Rot_mat(const real_t&, const real_t&, const real_t&, const real_t&)’:
../include/Vector3.h:163: error: expected unqualified-id before ‘&&’ token
../include/Vector3.h:167: error: expected unqualified-id before ‘&&’ token
../include/Vector3.h:168: error: expected unqualified-id before ‘&&’ token
../include/Vector3.h:169: error: expected unqualified-id before ‘&&’ token
../include/Vector3.h:171: error: ‘x’ was not declared in this scope
../include/Vector3.h:172: error: ‘y’ was not declared in this scope
../include/Vector3.h:172: error: ‘z’ was not declared in this scope
In file included from ../include/Mesh_C.h:21,
from ../include/Generator.h:16,
from ../src/gigen.cpp:8:
../include/libcompcur.h: At global scope:
../include/libcompcur.h:61: error: expected initializer before ‘libcompcurInitializeWithHandlers’
../include/libcompcur.h:66: error: expected initializer before ‘libcompcurInitialize’
../include/libcompcur.h:69: error: expected initializer before ‘libcompcurTerminate’
../include/libcompcur.h:74: error: expected initializer before ‘libcompcurPrintStackTrace’
../include/libcompcur.h:77: error: expected initializer before ‘mlxCompute_curvature’
../include/libcompcur.h:110: error: expected initializer before ‘compute_curvature’
In file included from ../include/Generator.h:16,
from ../src/gigen.cpp:8:
../include/Mesh_C.h:34: error: ‘OpenMesh’ has not been declared
../include/Mesh_C.h:34: error: expected `{' before ‘DefaultTraits’
../include/Mesh_C.h:34: error: function definition does not declare parameters
../include/Mesh_C.h:39: error: expected nested-name-specifier before ‘Point’
../include/Mesh_C.h:39: error: ‘Point’ has not been declared
../include/Mesh_C.h:39: error: expected `;' before ‘=’ token
../include/Mesh_C.h:39: error: expected unqualified-id before ‘=’ token
../include/Mesh_C.h:43: error: ‘OpenMesh’ has not been declared
../include/Mesh_C.h:43: error: ISO C++ forbids declaration of ‘VPropHandleT’ with no type
../include/Mesh_C.h:43: error: expected ‘;’ before ‘<’ token
../include/Mesh_C.h:44: error: ‘OpenMesh’ has not been declared
../include/Mesh_C.h:44: error: ISO C++ forbids declaration of ‘VPropHandleT’ with no type
../include/Mesh_C.h:44: error: expected ‘;’ before ‘<’ token
../include/Mesh_C.h:45: error: ‘OpenMesh’ has not been declared
../include/Mesh_C.h:45: error: ISO C++ forbids declaration of ‘VPropHandleT’ with no type
../include/Mesh_C.h:45: error: expected ‘;’ before ‘<’ token
../include/Mesh_C.h:49: error: ‘OpenMesh’ has not been declared
../include/Mesh_C.h:49: error: expected `{' before ‘TriMesh_ArrayKernelT’
../include/Mesh_C.h:49: error: expected initializer before ‘<’ token
In file included from /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windef.h:253,
from /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windows.h:48,
from ../include/dirent.h:19,
from ../include/utils.h:13,
from ../src/gigen.cpp:11:
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/winnt.h:2422: error: expected `}' before end of line
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/winnt.h:2422: error: expected declaration before end of line
It should be wrong with my command. I want to compile cpp in ubuntu, so I use mingw32.
But I could not compile it. There must be something wrong with this.
The config.ini in local3Ddescriptorlearning-master/3dDescriptorLearning/cpp_geometry_images_generationis this:
mesh_dir=local3Ddescriptorlearning-master/3dDescriptorLearning/dataset/MPI-FAUST/training
gi_dir=local3Ddescriptorlearning-master/3dDescriptorLearning/gi
kpi_dir=local3Ddescriptorlearning-master/3dDescriptorLearning/keypoints_faust256
Thank you so much for your help.
When I train the model, I couldn't find training_model_multiuse-9999
file.
train_mincv_perloss.py
The error is:
W tensorflow/core/framework/op_kernel.cc:1318] OP_REQUIRES failed at save_restore_tensor.cc:170 : Not found: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for /3dDescriptorLearning/python_tripletCNN/training_model_multiuse-9999
Thank you so much for your help!
May I ask how to compile matlab_tools? It has a few files which I can't figure out how to compile all of them. Would you tell me how to finish it step by step? Thank you so much!
I just downloaded the code. I'm quite confused about this project. Would you please give some tutorial for the usage of this project?
Hi! May I ask how to use this project? Any tutorial or guide? I'm in a hurry to use it. Thanks in advance!
Hi! When I pre-train this model, I find these following parameters which have a "?" inside.
I'd like to ask what's the meaning of these parameters? Is it wrong to have "?" inside?
(on the first line)
python3 train_softmax256.py
[TL] **InputLayer input: (?, 32, 32, 31)**
[TL] Conv2dLayer conv2_1: shape:[3, 3, 31, 128] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer bn2_1: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] PoolLayer pool2: ksize:[1, 2, 2, 1] strides:[1, 2, 2, 1] padding:SAME pool:max_pool
[TL] Conv2dLayer conv3_1: shape:[3, 3, 128, 256] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer bn3_1: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] PoolLayer pool3: ksize:[1, 2, 2, 1] strides:[1, 2, 2, 1] padding:SAME pool:max_pool
[TL] Conv2dLayer conv4_1: shape:[3, 3, 256, 512] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer bn4_1: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] PoolLayer pool4: ksize:[1, 2, 2, 1] strides:[1, 2, 2, 1] padding:SAME pool:avg_pool
[TL] FlattenLayer flatten: 8192
[TL] DenseLayer fc1_relu: 512 identity
[TL] BatchNormLayer bn_fc: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] DenseLayer 128d_embedding: 128 identity
[TL] InputLayer input: (?, 32, 32, 31)
[TL] Conv2dLayer conv2_1: shape:[3, 3, 31, 128] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer bn2_1: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] PoolLayer pool2: ksize:[1, 2, 2, 1] strides:[1, 2, 2, 1] padding:SAME pool:max_pool
[TL] Conv2dLayer conv3_1: shape:[3, 3, 128, 256] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer bn3_1: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] PoolLayer pool3: ksize:[1, 2, 2, 1] strides:[1, 2, 2, 1] padding:SAME pool:max_pool
[TL] Conv2dLayer conv4_1: shape:[3, 3, 256, 512] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer bn4_1: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] PoolLayer pool4: ksize:[1, 2, 2, 1] strides:[1, 2, 2, 1] padding:SAME pool:avg_pool
[TL] FlattenLayer flatten: 8192
[TL] DenseLayer fc1_relu: 512 identity
[TL] BatchNormLayer bn_fc: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] DenseLayer 128d_embedding: 128 identity
[TL] InputLayer input: (?, 32, 32, 31)
[TL] Conv2dLayer conv2_1: shape:[3, 3, 31, 128] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer bn2_1: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] PoolLayer pool2: ksize:[1, 2, 2, 1] strides:[1, 2, 2, 1] padding:SAME pool:max_pool
[TL] Conv2dLayer conv3_1: shape:[3, 3, 128, 256] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer bn3_1: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] PoolLayer pool3: ksize:[1, 2, 2, 1] strides:[1, 2, 2, 1] padding:SAME pool:max_pool
[TL] Conv2dLayer conv4_1: shape:[3, 3, 256, 512] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer bn4_1: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] PoolLayer pool4: ksize:[1, 2, 2, 1] strides:[1, 2, 2, 1] padding:SAME pool:avg_pool
[TL] FlattenLayer flatten: 8192
[TL] DenseLayer fc1_relu: 512 identity
[TL] BatchNormLayer bn_fc: decay:0.900000 epsilon:0.000100 act:leaky_relu is_train:True
[TL] DenseLayer 128d_embedding: 128 identity
[TL] DenseLayer feature: 256 identity
[*] geting variables with W_conv2d
[*] geting variables with 128d_embedding/W
Successfully initialized global variables.
param 0: (3, 3, 31, 128) (mean: 0.00010006329830503091, median: 0.000174839049577713, std: 0.037381887435913086) model/conv2_1/W_conv2d:0
param 1: (128,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/conv2_1/b_conv2d:0
param 2: (128,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/bn2_1/beta:0
param 3: (128,) (mean: 1.000234842300415 , median: 1.0000677108764648, std: 0.0019712939392775297) model/bn2_1/gamma:0
param 4: (128,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/bn2_1/moving_mean:0
param 5: (128,) (mean: 1.0 , median: 1.0 , std: 0.0 ) model/bn2_1/moving_variance:0
param 6: (3, 3, 128, 256) (mean: 2.1745681806351058e-05, median: 7.917359471321106e-05, std: 0.024044597521424294) model/conv3_1/W_conv2d:0
param 7: (256,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/conv3_1/b_conv2d:0
param 8: (256,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/bn3_1/beta:0
param 9: (256,) (mean: 0.9999599456787109, median: 1.0000708103179932, std: 0.0020056217908859253) model/bn3_1/gamma:0
param 10: (256,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/bn3_1/moving_mean:0
param 11: (256,) (mean: 1.0 , median: 1.0 , std: 0.0 ) model/bn3_1/moving_variance:0
param 12: (3, 3, 256, 512) (mean: -1.678668922977522e-05, median: -2.754293382167816e-05, std: 0.017009815201163292) model/conv4_1/W_conv2d:0
param 13: (512,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/conv4_1/b_conv2d:0
param 14: (512,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/bn4_1/beta:0
param 15: (512,) (mean: 1.0000686645507812, median: 1.0000386238098145, std: 0.002114894799888134) model/bn4_1/gamma:0
param 16: (512,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/bn4_1/moving_mean:0
param 17: (512,) (mean: 1.0 , median: 1.0 , std: 0.0 ) model/bn4_1/moving_variance:0
param 18: (8192, 512) (mean: -8.327621617354453e-05, median: -5.361372313927859e-05, std: 0.0879683718085289) model/fc1_relu/W:0
param 19: (512,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/fc1_relu/b:0
param 20: (512,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/bn_fc/beta:0
param 21: (512,) (mean: 1.000016212463379 , median: 0.9999938011169434, std: 0.0020999941043555737) model/bn_fc/gamma:0
param 22: (512,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/bn_fc/moving_mean:0
param 23: (512,) (mean: 1.0 , median: 1.0 , std: 0.0 ) model/bn_fc/moving_variance:0
param 24: (512, 128) (mean: 0.0003383695147931576, median: 0.0008144766325131059, std: 0.08786192536354065) model/128d_embedding/W:0
param 25: (128,) (mean: 0.0 , median: 0.0 , std: 0.0 ) model/128d_embedding/b:0
param 26: (128, 256) (mean: 0.00017837490304373205, median: -0.00030296790646389127, std: 0.08813630044460297) feature/W:0
param 27: (256,) (mean: 0.0 , median: 0.0 , std: 0.0 ) feature/b:0
num of params: 5810304
layer 0: Tensor("model/conv2_1/Identity:0", shape=(?, 32, 32, 128), dtype=float32)
layer 1: Tensor("model/bn2_1/LeakyReLU/Maximum:0", shape=(?, 32, 32, 128), dtype=float32)
layer 2: Tensor("model/pool2:0", shape=(?, 16, 16, 128), dtype=float32)
layer 3: Tensor("model/conv3_1/Identity:0", shape=(?, 16, 16, 256), dtype=float32)
layer 4: Tensor("model/bn3_1/LeakyReLU/Maximum:0", shape=(?, 16, 16, 256), dtype=float32)
layer 5: Tensor("model/pool3:0", shape=(?, 8, 8, 256), dtype=float32)
layer 6: Tensor("model/conv4_1/Identity:0", shape=(?, 8, 8, 512), dtype=float32)
layer 7: Tensor("model/bn4_1/LeakyReLU/Maximum:0", shape=(?, 8, 8, 512), dtype=float32)
layer 8: Tensor("model/pool4:0", shape=(?, 4, 4, 512), dtype=float32)
layer 9: Tensor("model/flatten:0", shape=(?, 8192), dtype=float32)
layer 10: Tensor("model/fc1_relu/Identity:0", shape=(?, 512), dtype=float32)
layer 11: Tensor("model/bn_fc/LeakyReLU/Maximum:0", shape=(?, 512), dtype=float32)
layer 12: Tensor("model/128d_embedding/Identity:0", shape=(?, 128), dtype=float32)
layer 13: Tensor("feature/Identity:0", shape=(?, 256), dtype=float32)
learning_rate: 0.001000
batch_size: 512
Would you please help me! Thank you very much!
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.