Ask Your Question

Feature extraction 3D

asked 2019-10-15 07:20:52 -0600

Please my case is as follows, I have and adjacency matrix(Graph data structure, 0-1) it's originally mesh having 3d coordinates (XYZ). Now the idea is that I want to extract features, but I read that I have to obtain interest points first then for each I obtain feature vector..Correct?

So if I would like to read the matrix how this could be done? I'm only finding reading images taking .jpg how could it be in my case, and will the process follows normally I mean showing the feature points on my object and like that. Hopefully I'm in the correct place to ask this.

Thank you

edit retag flag offensive close merge delete


it's unclear, what you have, what you need, or what even would be the general context / purpose of it.

berak gravatar imageberak ( 2019-10-16 02:30:49 -0600 )edit

What I have is mesh (XYZ-coordinates) represented as graph data structure (adjacency matrix) What I need is to obtain descriptors for it and visualize them on the mesh purpose of it make featured connected component from the obtained descriptors(feature points) to follow it by solving a matching problem.

Roaa Soloh gravatar imageRoaa Soloh ( 2019-10-16 03:25:29 -0600 )edit

sorry, but just repeating it isn't too helpful.

berak gravatar imageberak ( 2019-10-16 03:52:39 -0600 )edit

pcl might be no more maintained, but it has 3d feature extraction , while opencv has no such thing.

berak gravatar imageberak ( 2019-10-16 03:54:42 -0600 )edit

it's just a trying to clarify.. it seems not working... I wasn't lucky to find a tutorial for using pcl 3d feature extraction using python. and badly I don't know c++. it might be not the correct place, but hoping you may assist, or anyone sees it. If I obtained 3d descriptor like zernike moments or fourier transform (they are represented as vectors and arrays) how I might find the corresponding XYZ-points to be able to visulaize, or the case Is reversed I have to extract feature points and for each I have to obtain descriptors?

Roaa Soloh gravatar imageRoaa Soloh ( 2019-10-16 03:59:06 -0600 )edit

again, WHY do you need to do that ? what is the purpose ?

can it also be you confuse it, and that it would be 3d keypoints, and the feature dimensionality is somewhat irrelevant ?

berak gravatar imageberak ( 2019-10-16 04:07:17 -0600 )edit

I mentioned above I'm trying to make matching, I'm trying to organize an approach I'm using at my PhD studies?? I don't know if this what you meant to know!!

Roaa Soloh gravatar imageRoaa Soloh ( 2019-10-16 04:09:23 -0600 )edit

matching what and why again ?

berak gravatar imageberak ( 2019-10-16 04:14:15 -0600 )edit

What I'm tending to obtain is 3d descriptors like what I mentioned before 3d zernike moments, 3d shape context... But what I lately read is that I should make detection then extraction then matching, After obtaining the descriptors I have to make featured connected components that let make me match two objects...I don't know what Is the unclear thing. Matching featured conneced components of two objects

Roaa Soloh gravatar imageRoaa Soloh ( 2019-10-16 04:26:55 -0600 )edit

my object( mesh) will be represented as graph( nodes and edges) and when I obtain the features I should show them on the mesh, colorize the vertices, obtaining the connected components and continue the rest

Roaa Soloh gravatar imageRoaa Soloh ( 2019-10-16 04:36:39 -0600 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2019-10-18 08:29:39 -0600

Not sure OpenCV has feature detectors or descriptors for your 3d adjacency data. Have you looked at 3d descriptors like GASD ( or LFSH( These articles also discuss matching for registration. Once you find appropriate features, you should be able to use OpenCV's FLANN for matching. If you can represent the features or descriptors as integral data, you may be able to use hashing for fast matching/lookup. Please let us know what you come up with.

edit flag offensive delete link more


Thanks for your answer Sir, I'll try to figure out your recommendations.

Roaa Soloh gravatar imageRoaa Soloh ( 2019-10-21 08:44:00 -0600 )edit

Sir, please I have a question if possible, and appreciate helping me if you have any knowledge about it. The idea is that now, for example, I have the mesh(3D-coordinates with faces) and have the adjacency matrix for it, since I had to represent it as a graph data structure like this:

 [[0 0 0 ... 0 0 1]
 [0 0 0 ... 0 0 1]
 [0 0 0 ... 0 0 1]
 [0 0 0 ... 0 1 0]
 [0 0 0 ... 1 0 0]
 [1 1 1 ... 0 0 0]]

So dealing with this, is not the same as dealing with images? Only the idea that coordinates are XYZ, not XY?

I'm trying to make feature detection extracting the interest points of this 3d shape then obtaining the descriptors

Thanks for your time

Roaa Soloh gravatar imageRoaa Soloh ( 2019-10-26 12:06:28 -0600 )edit

Question Tools

1 follower


Asked: 2019-10-15 07:20:52 -0600

Seen: 1,478 times

Last updated: Oct 18 '19