gabyx / ApproxMVBB

Fast algorithms to compute an approximation of the minimal volume oriented bounding box of a point cloud in 3D.
Mozilla Public License 2.0
441 stars 93 forks source link

Understanding the results of ApproxMVBB::approximateMVBB #31

Closed klu1211 closed 5 years ago

klu1211 commented 5 years ago

Hi and thanks for this repo!

I have the points of my convex hull of my object of interest and I was wondering why when using the ApproxMVBB::approximateMVBB function, giving it the convex hull points calculates a volume that is greater than that of giving it all the points of my object.

Maybe my understanding is wrong but, if I'm using all the points in my convex hull (as I specify the function to sample all the points in my convex hull) shouldn't that give me the actual MVBB and not an approximation?

gabyx commented 5 years ago

Hi Kevin,

Currently a bit little time: But the finding of an mvbb given any point cloud is still the same difficulty no matter if you give in a convex cloud or not. So only because you supply a vonvex hull doesnt mean you end up with a true mvbb. I think when you compute an approx mvbb from a convex hull, it should result more or less in the same box. Be aware that the function uses internally only a subset to iterate through the possible orientations. This subsampling may result in not containing all initial points. the difference is due to the choosen grid size for the sampling. maybe you could show a picture of the point clouds with the two bounding boxes included?

Von meinem iPhone gesendet

Am 11.12.2018 um 06:59 schrieb Kevin notifications@github.com:

Hi and thanks for this repo!

I have the points of my convex hull of my object of interest and I was wondering why when using the ApproxMVBB::approximateMVBB function, giving it the convex hull points calculates a volume that is greater than that of giving it all the points of my object.

Maybe my understanding is wrong but, if I'm using all the points in my convex hull (as I specify the function to sample all the points in my convex hull) shouldn't that give me the actual MVBB and not an approximation?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

klu1211 commented 5 years ago

Hey @gabyx thanks for the reply! I actually don't have the visualization for the MVBB as I'm only interested in the rotation matrix generated by the MVBB function, as I want to correct the skew of my point cloud. I've just tested it on my point cloud (which is a stack of the contours of a mask) and I get an area of 4.7e7, but with only the convex points I get an area of 5.3e7, so not that big of a difference.

Do you think you could give me more of an explanation of these three parameters? gridSize, mvbbDiamOptLoops, mvbbGridSearchOptLoops, maybe after this I will have a better understanding

gabyx commented 5 years ago

maybe have a look first at the readme these parameters are explained