charlesq34 / pointnet2 Goto Github PK
View Code? Open in Web Editor NEWPointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space
License: Other
PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space
License: Other
i have a dataset with variable number of points in each object , what do i need to do to train the classification network ! ,, does the pointnet++ support variable length input , or do i have to preprocess my dataset to unify the number of points?
Hello Sir, many times ago, I ask you for about new logo proposal on this project charlesq34/pointnet#97. I think that project is not so active anymore. Can I propose my logo design again for this project?
Thanks before.
Hi, @charlesq34 , I trained the PointNet++ model by using the dataset S3DIS and the training code from pointnet , with the model "PointNet++", namely, the Pointnet2_sem_seg.py, however, I found no better performance than the original PointNet, so could you offer me the result (mean IoU and Accuracy) for comparison? thanks a lot!
hi,@charlesq34 @suhaochina
I wonder how you preprocess the scannet data to the 'pickle' format, since I want to use the original data by XYZRGB , not only XYZ . Thanks a lot!
**** EPOCH 000 ****
2018-08-12 21:10:32.686332
Traceback (most recent call last):
File "train.py", line 440, in <module>
train()
File "train.py", line 175, in train
train_one_epoch(sess, ops, train_writer)
File "train.py", line 238, in train_one_epoch
aug_data = provider.rotate_point_cloud_z(batch_data)
AttributeError: 'module' object has no attribute 'rotate_point_cloud_z'
using: what model should be used?
parser.add_argument('--model', default='pointnet2_sem_seg', help='Model name [default: pointnet2_sem_seg]')
I test the performance using the default parameters on modelnet40 classification task, and got an overall accuracy of 90.4%, but the reported is 90.7%. (with msg model)
Hey Guys,
thanks for your great work on Pointnet2!
I used Pointnet in in the first version with HDF5 files for part segmentation and I am wondering why this is not possible in Pointnet2 anymore. Has anyone successfully run the part segmentation with HDF5 files instead of the standard folder based structure with pts and seg files from ShapeNet?
Thank you so much :)
BG R.
I want to learn about the algorithm furthest point sampling which is used in your paper. Do you have any recommended reference?
I have tensorflow v1.3 and nvcc v7.5.17.
I tested
python pointnet2_cls_msg.py
and get the following error:
tensorflow.python.framework.errors_impl.NotFoundError: ../tf_ops/3d_interpolation/tf_interpolate_so.so: undefined symbol: _ZN10tensorflow11TensorShapeC1ENS_3gtl10ArraySliceIxEE
Hello. I have been trying part segmentation code on the shapenetcore_partanno_segmentation_benchmark_v0_normal dataset and both training and evaluation works fine. However, when I try to test the trained network using test.py script from part_seg folder it fails to execute due to missing folders "points" and "points_label" which are required by part_dataset.py. Here is the error I am getting
Traceback (most recent call last):
File "test.py", line 36, in
TEST_DATASET = part_dataset.PartDataset(root=DATA_PATH, npoints=NUM_POINT, classification=False, class_choice=FLAGS.category, split='test')
File "/home/user1/gits/pointnet2/part_seg/part_dataset.py", line 50, in init
fns = sorted(os.listdir(dir_point))
OSError: [Errno 2] No such file or directory: '/home/ilya/gits/pointnet2/data/shapenetcore_partanno_segmentation_benchmark_v0_normal/02691156/points'
eulerangles is referenced in pc_util but is not included in utils directory. ..it is in pointnet utils in the original project.
Hi, authors,
I got error when I compile the fps code by commands:
sh tf_sampling_compile.sh
Here is the error log:
tf_sampling.cpp:6:42: fatal error: tensorflow/core/framework/op.h: No such file or directory
compilation terminated.
My system is ubuntu 16.04, with tf1.4 (python 2.7.14)
Any suggestion to fix it? THX!
Hello, can you update the README.md for running XYZ+normal?
Thank you so much!
Hi,
First of all thank you for all the great work however, The download links In the data folder are no longer working. Could you possibly update them.
Hi Charlers,
When I tried to run your train.py code, I got some error. It seems FarthestPointSample is running on CPU not GPU, but I did not change anything about your codes. I am wondering if you have any suggestion about it? I looked at the cuda code, but I can not find any issue (I am pretty new about CUDA). I listed the error below.
Thank you.
Traceback (most recent call last):
File "train.py", line 284, in
train()
File "train.py", line 160, in train
sess.run(init)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 895, in run
run_metadata_ptr)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1124, in _run
feed_dict_tensor, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1321, in _do_run
options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1340, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'FarthestPointSample' with these attrs. Registered devices: [CPU], Registered kernels:
device='GPU'
[[Node: layer1/FarthestPointSample = FarthestPointSample[npoint=512, _device="/device:GPU:0"](Placeholder)]]
Caused by op u'layer1/FarthestPointSample', defined at:
File "train.py", line 284, in
train()
File "train.py", line 121, in train
pred, end_points = MODEL.get_model(pointclouds_pl, is_training_pl, bn_decay=bn_decay)
File "/home/kai/Documents/PointCloudsProcessing/pointnet2/models/pointnet2_cls_ssg.py", line 32, in get_model
l1_xyz, l1_points, l1_indices = pointnet_sa_module(l0_xyz, l0_points, npoint=512, radius=0.2, nsample=32, mlp=[64,64,128], mlp2=None, group_all=False, is_training=is_training, bn_decay=bn_decay, scope='layer1', use_nchw=True)
File "/home/kai/Documents/PointCloudsProcessing/pointnet2/utils/pointnet_util.py", line 113, in pointnet_sa_module
new_xyz, new_points, idx, grouped_xyz = sample_and_group(npoint, radius, nsample, xyz, points, knn, use_xyz)
File "/home/kai/Documents/PointCloudsProcessing/pointnet2/utils/pointnet_util.py", line 40, in sample_and_group
new_xyz = gather_point(xyz, farthest_point_sample(npoint, xyz)) # (batch_size, npoint, 3)
File "/home/kai/Documents/PointCloudsProcessing/pointnet2/tf_ops/sampling/tf_sampling.py", line 56, in farthest_point_sample
return sampling_module.farthest_point_sample(inp, npoint)
File "", line 46, in farthest_point_sample
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1204, in init
self._traceback = self._graph._extract_stack() # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): No OpKernel was registered to support Op 'FarthestPointSample' with these attrs. Registered devices: [CPU], Registered kernels:
device='GPU'
[[Node: layer1/FarthestPointSample = FarthestPointSample[npoint=512, _device="/device:GPU:0"](Placeholder)]]
I want to get the result of shapenet in paper, how many memory do the model need?
I have a NVIDIA TITAN XP and can't run this model because of out of memory.
Thank you!
Thanks for sharing your great work!
I am a beginner of deep learning models used on point clouds. I am very interested about your achievement. I can successfully conducted classification operation using your codes. However, I have one question when conducting object part segmentation operation on ShapeNetPart dataset.
After running "cd part_seg", and "python train.py", it output an Error message as following:
Traceback (most recent call last):
File "train.py", line 47, in
MODEL = importlib.import_module(FLAGS.model) # import network module
File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
ImportError: No module named model
My operating environment is Ubuntu16.04 + python2.7, can you help me address this issue?
Thank you for your kind assistance.
@charlesq34 Hi, thank you for sharing your pointnet2 code.
Is the semantic segmentation code incomplete? According to your paper, I want to try the point set segmentation for semantic scene labeling. What should I do? I am not sure whether I should combine the pointnet2 with semantic segmentation code in pointnet1 under sem_seg folder together. Would you mind taking some time to give me some advise? Thank you!
Best,
Rui
Or how exactly should we sample the corresponding label of each single point?
Thank you very much!!!
because of the memory limit of my computer, I can't run the model.Can someone provide the whole train log with default parameter set?Thank you very much!
Hello,
I would like to run the evaluation script on a computer without a GPU.
The only thing getting in my way is the fact that I do not have cuda on this computer and so I am not able to compile the provided tf ops.
Could anyone tell me if there is anyway of complaining these ops to run a CPU?
Any help is appreciated
Hi, @charlesq34,
Thanks for your nice work, I have two questions as follows:
I modified the train.py in your old "pointnet" version and use it to train the newly-updated sem_seg model, however, I notice that the input data is changed from B x N x 9 to B x N x 3, does that mean you didn't use the RGB information any more ?
What about the 'smpws' ? I guess it is the weights of each point when computing the training loss, but how can I set the weight for each point ? I am still using the "indoor3d_sem_seg_hdf5_data".
Thanks a lot !
I am using Tensorflow 1.2.1( virtual environment) and cuda 8.0.
While running the compile scripts in op folders , I get the following errors:
fatal error: tensorflow/core/framework/op.h: No such file or directory
#include "tensorflow/core/framework/op.h"
tf_sampling.cpp:6:42: fatal error: tensorflow/core/framework/op.h: No such file or directory
#include "tensorflow/core/framework/op.h"
Have you any idea how to solve those errors.
Thanks in advance.
@charlesq34 Hi,thank you very much for sharing your pointnet2 code.
I am trying to reproduce semantic segmentation results on scannet using pointnet++. However, I faced with an importerror when I am running the code from scannet/train.py on the scannet dataset. It seems that there is no module named unit_test. What's the unit_test? How can I find it? Would you mind taking some time to give me a hint? Thank you!
Hi, thanks for sharing your code. I am working on part segmentation task using Model40 dataset, but using the model defined under 'pointnet2_part_seg.py' and the training pipeline defined for pointnet part segmentation, I can only achieve less than 70% IoU. I guess something may go wrong, would you like to share your training code for pointnet++ part segmentation as well?
I recently upgraded to tensorflow 1.4 and wanted to try the eager execution, since it makes what I'm trying to do much easier.
Trying to use the utilities in tf_ops (grouping, sampling, interpolation) raises this error:
AttributeError: op not supported for Eager Tensors.
Is it possible to circumvent this issue without significant effort?
Hi, @charlesq34, @rqi-nuro , using the code from models/pointnet2_sem_seg.py, I trained on the scannet dataset, using your provided code, however, I only achieve an accuracy of 0.73 on the testing split while achieving an accuracy of 0.82 on the training split. I use the random sampling for 8192 points for each room., which is different from your accuracy results in Fig. 5. Could you please help me explain Fig. 5 in your paper?
Hello, I am trying to run: python train.py. I get the the following error
-workstation:~/pointnet2$ python train.py
/usr/local/lib/python2.7/dist-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float
to np.floating
is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type
.
from ._conv import register_converters as _register_converters
Traceback (most recent call last):
File "train.py", line 52, in
MODEL = importlib.import_module(FLAGS.model) # import network module
File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
File "/home/baxter/pointnet2/models/pointnet2_cls_ssg.py", line 13, in
from pointnet_util import pointnet_sa_module
File "/home/baxter/pointnet2/utils/pointnet_util.py", line 15, in
from tf_sampling import farthest_point_sample, gather_point
File "/home/baxter/pointnet2/tf_ops/sampling/tf_sampling.py", line 12, in
sampling_module=tf.load_op_library(os.path.join(BASE_DIR, 'tf_sampling_so.so'))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/load_library.py", line 56, in load_op_library
lib_handle = py_tf.TF_LoadLibrary(library_filename, status)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/errors_impl.py", line 473, in exit
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.NotFoundError: /home/baxter/pointnet2/tf_ops/sampling/tf_sampling_so.so: undefined symbol: _ZTIN10tensorflow8OpKernelE
The training process cannot be run in the TensorFlow environment using NCCL 2.x.
I have tried all the models of segmentation, but it seems that there is no avaliable model for running Scannet. Please help me. Thanks.
https://github.com/charlesq34/pointnet2/blob/master/utils/pointnet_util.py#L49
flake8 testing of https://github.com/charlesq34/pointnet2 on Python 2.7.14
$ flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics
./utils/pointnet_util.py:49:23: F821 undefined name 'tnet'
grouped_xyz = tnet(grouped_xyz, tnet_spec)
^
1 F821 undefined name 'tnet'
flake8 is saying is that if sample_and_group() is called with a tnet_spec parameter that is not None then NameError might be raised at runtime which would halt the script.
We must free resources as Tensorflow recommends, am I right?
I am trying to reproduce semantic segmentation results on scannet using pointnet++.However, I faced with an NotFoundError when I am running the code from scannet/train.py on the scannet dataset. It seems that there is no file named tf_sampling_so.so. But in the tf_sampling.py the tf_sampling_so.so need to be the sampling_module.How can I find it? Would you mind taking some time to give me a hint? Thank you!
Dear Charles,
Hi! Happy new year!
I have several simple questions about the semantic segmentation model.
Best,
Yuanhao
Hi Charles, I have run the scripts of pointnet2_cls_ssg.py and pointnet2_cls_msg.py, but their accuracy are 90.1 and 90.3, not as 90.7 in the paper. So, whether I did something wrong in the operation?
Thank you!
Hey Charles, I am working with Prof Hao now. Hardly any object has more than 100 points with intensity>0.5 so there is just a lot of augmented points. I am unable to reproduce the said results in the paper. Can you let me know if you did any additional processing?
thanks
was there any problem with the implementation of the farthest point sampling algorithm in the file th_ops/sampling/tf_sampling_g.cu ?
we should sort the rest of points by the sum of the distances between the candidate point and ALL the points that have already been selected, and then choose the farthest one.
in the code, as I see, it might sort the rest points by the distance between the candidate point and the latest point. is there any problem?
Hi,when i try to run classification code,there is a problem:"tf_ops/grouping/tf_grouping_so.so: undefined symbol: _ZN10tensorflow16KernelDefBuilderD2Ev".
my environment works on PointNet , gcc=5.40 tensorflow=1.2.0. I have tried to delete "-O2 -D_GLIBCXX_USE_CXX11_ABI=0", however, it does not work. do you have some advance?
Hello,
It seems that there is no T-net module in function "pointnet_sa_module" in utils/pointnet_util.py,
Is there no T-net module in this code? or am I missing something?
Please let me know where I can find it.
Hi Charles,
Thanks for open sourcing the amazing work! I am currently trying to reproduce the results for ScanNet dataset. But I am not sure what is right data processing pipeline you used in the paper. Would you mind taking a look at the questions below if you have time? Thank you!
It's mentioned in the paper that 1.5mX1.5mX3m cubes are generated and rotated on the fly during training. Is there any further normalizations for these cubes like shifting them to the range of [-0.75,0.75] in x/y-axis and [-1.5,1.5] in z-axis? By rotation, did you randomly select an angle in the range of [0, 2*pi] or a smaller range?
In testing, you mentioned in the paper that the scene is divided into smaller cubes. Are these cubes also of size 1.5mX1.5mX3m? What is the splitting stride?
I noticed that the input to the model is of size BxNx3. Just wanted to confirm that 3 is the xyz coordinates for each point, right? The relative position is used in Pointnet on Stanford3D dataset. Do you have any insights about why there are discarded for ScanNet dataset here?
I use cuda 9 and can not install tf 1.2 for running pointnet++. I also disn't understand the solution in readme for tf>1.4. Can anybody help me?
Hi, @charlesq34 , I notice that in your paper in Fig.5 , you present the accuracy of comparison results on Scannet dataset, however, you mentioned that it it the per-voxel accuracy, I wonder if your could offer the transformation code between per-point accuracy and the per-voxel accuracy. Do you assign the points within a voxel with the same label?
Thanks a lot!
Hi, thank you for your sharing.
In your paper, you mention that you compare two options to select a local neighborhood, kNN V.S. Ball Query, May I have your kNN code please? Thanks.
Hi, thank you for sharing your awesome work.
I see that the code is not complete yet, do you have an estimation of the release date?
Hi Charles,
We are working on adapting pointnet and pointnet++ to our own data. I know you share the utils for data augmentation. But can you also share the parameters for doing data augmentation?
Thanks!
when i run python part_seg/train.py, then take this error:
2018-03-08 13:39:33.715566: W tensorflow/core/common_runtime/bfc_allocator.cc:277] ****************************************************************************************************
2018-03-08 13:39:33.715579: W tensorflow/core/framework/op_kernel.cc:1158] Resource exhausted: OOM when allocating tensor with shape[32,2048,128]
Traceback (most recent call last):
File "/home/lc/Downloads/pointnet2/part_seg/train.py", line 322, in
train()
File "/home/lc/Downloads/pointnet2/part_seg/train.py", line 160, in train
train_one_epoch(sess, ops, train_writer)
File "/home/lc/Downloads/pointnet2/part_seg/train.py", line 205, in train_one_epoch
ops['train_op'], ops['loss'], ops['pred']], feed_dict=feed_dict)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 789, in run
run_metadata_ptr)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 997, in _run
feed_dict_string, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1132, in _do_run
target_list, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1152, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[32,2048,128]
[[Node: dp1/cond/dropout/mul = Mul[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"](dp1/cond/dropout/div, dp1/cond/dropout/Floor)]]
[[Node: gradients/fa_layer3/conv_1/Conv2D_grad/tuple/control_dependency_1/_547 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_3391_gradients/fa_layer3/conv_1/Conv2D_grad/tuple/control_dependency_1", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]]
Caused by op u'dp1/cond/dropout/mul', defined at:
File "/home/lc/Downloads/pointnet2/part_seg/train.py", line 322, in
train()
File "/home/lc/Downloads/pointnet2/part_seg/train.py", line 108, in train
pred, end_points = MODEL.get_model(pointclouds_pl, is_training_pl, bn_decay=bn_decay)
File "/home/lc/Downloads/pointnet2/models/pointnet2_part_seg.py", line 38, in get_model
net = tf_util.dropout(net, keep_prob=0.5, is_training=is_training, scope='dp1')
File "/home/lc/Downloads/pointnet2/utils/tf_util.py", line 614, in dropout
lambda: inputs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/deprecation.py", line 289, in new_func
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 1814, in cond
orig_res_t, res_t = context_t.BuildCondBranch(true_fn)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 1689, in BuildCondBranch
original_result = fn()
File "/home/lc/Downloads/pointnet2/utils/tf_util.py", line 613, in
lambda: tf.nn.dropout(inputs, keep_prob, noise_shape),
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/nn_ops.py", line 1915, in dropout
ret = math_ops.div(x, keep_prob) * binary_tensor
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/math_ops.py", line 838, in binary_op_wrapper
return func(x, y, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/math_ops.py", line 1061, in _mul_dispatch
return gen_math_ops._mul(x, y, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_math_ops.py", line 1377, in _mul
result = _op_def_lib.apply_op("Mul", x=x, y=y, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2506, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1269, in init
self._traceback = _extract_stack()
ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[32,2048,128]
[[Node: dp1/cond/dropout/mul = Mul[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"](dp1/cond/dropout/div, dp1/cond/dropout/Floor)]]
[[Node: gradients/fa_layer3/conv_1/Conv2D_grad/tuple/control_dependency_1/_547 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_3391_gradients/fa_layer3/conv_1/Conv2D_grad/tuple/control_dependency_1", tensor_type=DT_FLOAT, _device="/
can you help me?
In the data preparation stage, what does the bold area do and where are those parameter values come from (1.5, 0.2, etc) ?
Thank you very much for the help!
class ScannetDatasetWholeScene():
def init(self, root, npoints=8192, split='train'):
self.npoints = npoints
self.root = root
self.split = split
self.data_filename = os.path.join(self.root, 'scannet_%s.pickle'%(split))
with open(self.data_filename,'rb') as fp:
self.scene_points_list = pickle.load(fp)
self.semantic_labels_list = pickle.load(fp)
if split=='train':
labelweights = np.zeros(21)
for seg in self.semantic_labels_list:
tmp,_ = np.histogram(seg,range(22))
labelweights += tmp
labelweights = labelweights.astype(np.float32)
labelweights = labelweights/np.sum(labelweights)
self.labelweights = 1/np.log(1.2+labelweights)
elif split=='test':
self.labelweights = np.ones(21)
def getitem(self, index):
point_set_ini = self.scene_points_list[index]
semantic_seg_ini = self.semantic_labels_list[index].astype(np.int32)
coordmax = np.max(point_set_ini,axis=0)
coordmin = np.min(point_set_ini,axis=0)
*nsubvolume_x = np.ceil((coordmax[0]-coordmin[0])/1.5).astype(np.int32)
nsubvolume_y = np.ceil((coordmax[1]-coordmin[1])/1.5).astype(np.int32)
point_sets = list()
semantic_segs = list()
sample_weights = list()
isvalid = False
for i in range(nsubvolume_x):
for j in range(nsubvolume_y):
curmin = coordmin+[i1.5,j1.5,0]
curmax = coordmin+[(i+1)1.5,(j+1)1.5,coordmax[2]-coordmin[2]]
curchoice = np.sum((point_set_ini>=(curmin-0.2))(point_set_ini<=(curmax+0.2)),axis=1)==3
cur_point_set = point_set_ini[curchoice,:]
cur_semantic_seg = semantic_seg_ini[curchoice]
if len(cur_semantic_seg)==0:
continue
mask = np.sum((cur_point_set>=(curmin-0.001))(cur_point_set<=(curmax+0.001)),axis=1)==3
choice = np.random.choice(len(cur_semantic_seg), self.npoints, replace=True)
point_set = cur_point_set[choice,:] # Nx3
semantic_seg = cur_semantic_seg[choice] # N
mask = mask[choice]
if sum(mask)/float(len(mask))<0.01:
continue
sample_weight = self.labelweights[semantic_seg]
sample_weight = mask # N
point_sets.append(np.expand_dims(point_set,0)) # 1xNx3
semantic_segs.append(np.expand_dims(semantic_seg,0)) # 1xN
sample_weights.append(np.expand_dims(sample_weight,0)) # 1xN
point_sets = np.concatenate(tuple(point_sets),axis=0)
Hi, thank you for your sharing.
In your paper, you mention that you compare two options to select a local neighborhood, kNN V.S. Ball Query.I tried to reproduce the kNN experimental results, but failed. May I refer to your kNN code please, or could you please give me some advice? Thank you very much.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.