Git Product home page Git Product logo

local3ddescriptorlearning's People

Contributors

jianweiguo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

local3ddescriptorlearning's Issues

Lack of keypoints_faust256.kpi

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.

How to run GIGen.exe

Hi! Would you please give me some right screenshot because I couldn't use GIGen.exe and the error looks like this:
image

It seems the arrangement for the dataset is not right. How did you run this step in windows?

Here are my folders:

image

Here is the ini:
image

The folder "registritions" is downloaded from FAUST website:
image

gi/faust_256p and keypoints_faust256.kpi are two empty folders.

Thank you in advance!

Originally posted by @jlllweco in #4 (comment)

Couldn't compile the gigen.cpp

Thank you so much for your tutorial. I'm trying to use it but face the problems.

  1. May I ask is this only used for windows system? I'm using it in Ubuntu.
  2. Would you help me with the second part?
    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.

Don't have 'training_model_multiuse-9999' file

When I train the model, I couldn't find training_model_multiuse-9999 file.

  1. train file is
train_mincv_perloss.py

image

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!

How to use matlab_tools?

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!

tutorial for beginners

I just downloaded the code. I'm quite confused about this project. Would you please give some tutorial for the usage of this project?

OpenMesh Requirement

May I ask which openmesh should I download? static or dll? Need app?
Is 8.0 ok?
Is there any special requirement?
image

Training parameters "?"

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.