Open kavnat opened 6 years ago
https://github.com/seanhuang5104/OFFtoH5.git here is how i do it, for your reference. What you need is to use PCL ,it provide a tool call "pcl_mesh_sampling" that can create random points on model surface using .ply files.The tool provide parameter to assign how many data points you will get. If you are using ModelNet10 dataset, hope the link can help you.
2.you need to scale the model to a value range(unit sphere) meaning you should not have models of different scales at the same time for training.
@seanhuang5104 As explained above I understand the scales should be of the same range. But why such a sampling is needed for classification procedure? Why cant the same process that is used in semantic segmentation to generate the hdf5 datasets
@rejivipin I assume you mean why need pcl_mesh_sampling.If you visualize the raw data from modelnet, they only contains the points at corners(for example, a simple box will only has 8 data points) which is not enough data for the model to learn the overall shape. Points outside corners are important since it provide info regarding edges and surfaces that defined the shape as well. pcl_mesh_sampling help you extract point data from model surfaces not only corner of it.
@seanhuang5104 Exactly and a big thanks, You cleared my doubt. If the data we are considering is vegetation, then mesh sampling might not be a solution. Right? In such a case how will we generate the hdf5 files?
Your data is vegetation? Not sure I get that, mind explained a bit more since maybe its domain specific.
yes... I am working on crops. Crops don't have a regular geometry. My query is, for such a dataset, how will be the input data file generated?
Thanks for the work on this, authors! I have been trying to create my own dataset using point clouds to train and evaluate its performance.
"We uniformly sample 1024 points on mesh faces according to face area and normalize them into a unit sphere. During training we augment the point cloud on-the-fly by randomly rotating the object along the up-axis and jitter the position of each points by a Gaussian noise with zero mean and 0.02 standard deviation."
Can anyone please help me understand what exactly does it mean and if there is any code available out there that can help me sample point clouds like this? Currently, I am using numpy for downsampling and the results are not good at all.