I'm trying to create my own 3d shape descriptor, the idea is that how I may evaluate how much my descriptor is well and good?

What I checked is that they evaluate descriptors through shape matching, shape retrieval, etc..

But my case now is before applying my descriptor to an application, though, Descriptor could be well if it satisfies properties like being invariant to transformations (scale, rotation, translation).

How much this is accurate, and if we suppose this, that I already trying to implement, my case is that I have feature vector for descriptor a for main model and same descriptor for the scaled object for example, How should I verify that it's invariant to scale or not? what kind of equation applied for example!

  • $\begingroup$ Can't you compute the descriptor for the object, scale and compute again? $\endgroup$ – nicoguaro Jan 29 '20 at 13:05
  • $\begingroup$ InterestPoints(M) = [866 0 2 135 137 138 141 142 162] and InterestPoints(S) = [866 0 1 2 4 5 6 7 8 4 175 176] the results are abbreviated,the for each vector of IP I get the descriptors, let's assume it the mean curvature descriptor of these data like what follows: Mean_Curvature_Main = [0.75, 0.0, 0.0, 0.263, 0.933, 0.994, 0.994,0.217...] Mean_Curvature_Scale = [0.736, 0.0, 0.241, 0.24 ,0.24, 0.018, 0.302....] What I the proper way to compare the results in order to say whether this descriptor is invariant under scaling or not!! @nicoguaro this what you mean? $\endgroup$ – R.K Jan 29 '20 at 13:22
  • $\begingroup$ I don't think so, curvature is not dimensionless. So, I doubt it is scale invariant. $\endgroup$ – nicoguaro Jan 29 '20 at 13:28
  • $\begingroup$ it's a single case, I'm trying different descriptors like, mean curvature, Shape Index, Curvature Index.. and then make a formula to obtain a new descriptor, so what I'm trying to achieve is to show how each descriptor is valuable, in order to figure out whether mine is better or not! I'm trying , scaling, translation, rotation, etc.. Was I be able to clarify what I'm trying to do? :) $\endgroup$ – R.K Jan 29 '20 at 13:35
  • 1
    $\begingroup$ @nicoguaro I think OP needs to make the geometrical descriptors dimensionless in order to show they are invariant under linear and isotropic transformations. Yes, Gaussian curvature unit is $\mathrm{m}^{-2}$, but OP could for example normalize over the surface area of the 3D shape and that number should be invariant under linear and isotropic transformations. $\endgroup$ – Alone Programmer Jan 29 '20 at 13:53

3D local feature descriptors for shapes are very well studied. Typically, people tend to represent the input as a set of points (point clouds) and try to characterize the local neighborhoods with lower dimensional signatures a.k.a. descriptors. The traditional descriptors, analogous to their 2D counterparts, involve some kind of histogram-ing such as SHOT, FPFH, ROPS or Spin Images. Following PointNet, the more modern algorithms involve deep learning on point sets to extract local descriptors. The pioneers in this domain are PPFNet, PPF-FoldNet, 3DR, 3DMatch, 3DSN and FCGF.

There are now well established benchmarks such as 3DMatch, ScanNet or Redwood. The state of the art algorithms such as this one use those datasets to evaluate on. Details of the evaluations can be found in the corresponding papers. Many of those ablate on how they perform under different transformations of the scene (PPF-FoldNet and 3DR for instance are rotation-invariant). The traditional algorithms were evaluated on smaller datasets (as they required no learning). For a broader understanding of the topic I would suggest this survey of 3D local descriptors and the performance evaluation of point pair features. If you consider non-rigid shapes, you could find Rostami et. al'19 useful.

Again the datasets, evaluation metrics and experimental setups can be found in the latter papers.

  • $\begingroup$ The idea Sir, is that I'm working on feature vectors not histogram-ing, weird, but till now I wasn't able to get how complicated descriptors work, so I tend for simple ones. So, assuming I have feature descriptor a having at each point a value, and same descriptor, but for another model(scaled, translated, transformed...) b my question how I may compare(match) these models depending on their descriptors, what should be the metric to say that this descriptor is invariant under such transformation? $\endgroup$ – R.K Feb 5 '20 at 10:46
  • $\begingroup$ One more thing, I'm now working on simple obj, ply files, and not on big datasets... As well I didn't reach the level of (learning and these complicated things)... I don't know if you can assist me with simple lectures that might clarify these ideas in order for further work in my research. Thank you. $\endgroup$ – R.K Feb 5 '20 at 10:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.