🔥RandLA-Net in Tensorflow (CVPR 2020, Oral & IEEE TPAMI 2021)

Overview

PWC PWC License CC BY-NC-SA 4.0

RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (CVPR 2020)

This is the official implementation of RandLA-Net (CVPR2020, Oral presentation), a simple and efficient neural architecture for semantic segmentation of large-scale 3D point clouds. For technical details, please refer to:

RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds
Qingyong Hu, Bo Yang*, Linhai Xie, Stefano Rosa, Yulan Guo, Zhihua Wang, Niki Trigoni, Andrew Markham.
[Paper] [Video] [Blog] [Project page]

(1) Setup

This code has been tested with Python 3.5, Tensorflow 1.11, CUDA 9.0 and cuDNN 7.4.1 on Ubuntu 16.04.

  • Clone the repository
git clone --depth=1 https://github.com/QingyongHu/RandLA-Net && cd RandLA-Net
  • Setup python environment
conda create -n randlanet python=3.5
source activate randlanet
pip install -r helper_requirements.txt
sh compile_op.sh

Update 03/21/2020, pre-trained models and results are available now. You can download the pre-trained models and results here. Note that, please specify the model path in the main function (e.g., main_S3DIS.py) if you want to use the pre-trained model and have a quick try of our RandLA-Net.

(2) S3DIS

S3DIS dataset can be found here. Download the files named "Stanford3dDataset_v1.2_Aligned_Version.zip". Uncompress the folder and move it to /data/S3DIS.

  • Preparing the dataset:
python utils/data_prepare_s3dis.py
  • Start 6-fold cross validation:
sh jobs_6_fold_cv_s3dis.sh
  • Move all the generated results (*.ply) in /test folder to /data/S3DIS/results, calculate the final mean IoU results:
python utils/6_fold_cv.py

Quantitative results of different approaches on S3DIS dataset (6-fold cross-validation):

a

Qualitative results of our RandLA-Net:

2 z

(3) Semantic3D

7zip is required to uncompress the raw data in this dataset, to install p7zip:

sudo apt-get install p7zip-full
  • Download and extract the dataset. First, please specify the path of the dataset by changing the BASE_DIR in "download_semantic3d.sh"
sh utils/download_semantic3d.sh
  • Preparing the dataset:
python utils/data_prepare_semantic3d.py
  • Start training:
python main_Semantic3D.py --mode train --gpu 0
  • Evaluation:
python main_Semantic3D.py --mode test --gpu 0

Quantitative results of different approaches on Semantic3D (reduced-8):

a

Qualitative results of our RandLA-Net:

z z
z z

Note:

  • Preferably with more than 64G RAM to process this dataset due to the large volume of point cloud

(4) SemanticKITTI

SemanticKITTI dataset can be found here. Download the files related to semantic segmentation and extract everything into the same folder. Uncompress the folder and move it to /data/semantic_kitti/dataset.

  • Preparing the dataset:
python utils/data_prepare_semantickitti.py
  • Start training:
python main_SemanticKITTI.py --mode train --gpu 0
  • Evaluation:
sh jobs_test_semantickitti.sh

Quantitative results of different approaches on SemanticKITTI dataset:

s

Qualitative results of our RandLA-Net:

zzz

(5) Demo

Citation

If you find our work useful in your research, please consider citing:

@article{hu2019randla,
  title={RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds},
  author={Hu, Qingyong and Yang, Bo and Xie, Linhai and Rosa, Stefano and Guo, Yulan and Wang, Zhihua and Trigoni, Niki and Markham, Andrew},
  journal={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  year={2020}
}

@article{hu2021learning,
  title={Learning Semantic Segmentation of Large-Scale Point Clouds with Random Sampling},
  author={Hu, Qingyong and Yang, Bo and Xie, Linhai and Rosa, Stefano and Guo, Yulan and Wang, Zhihua and Trigoni, Niki and Markham, Andrew},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  year={2021},
  publisher={IEEE}
}

Acknowledgment

  • Part of our code refers to nanoflann library and the the recent work KPConv.
  • We use blender to make the video demo.

License

Licensed under the CC BY-NC-SA 4.0 license, see LICENSE.

Updates

  • 21/03/2020: Updating all experimental results
  • 21/03/2020: Adding pretrained models and results
  • 02/03/2020: Code available!
  • 15/11/2019: Initial release!

Related Repos

  1. SoTA-Point-Cloud: Deep Learning for 3D Point Clouds: A Survey GitHub stars
  2. SensatUrban: Learning Semantics from Urban-Scale Photogrammetric Point Clouds GitHub stars
  3. 3D-BoNet: Learning Object Bounding Boxes for 3D Instance Segmentation on Point Clouds GitHub stars
  4. SpinNet: Learning a General Surface Descriptor for 3D Point Cloud Registration GitHub stars
  5. SQN: Weakly-Supervised Semantic Segmentation of Large-Scale 3D Point Clouds with 1000x Fewer Labels GitHub stars
Comments
  • Pre trained model and Inference

    Pre trained model and Inference

    @morpheus1820 @Yang7879 @QingyongHu Hi thanks for opensourcing the source code , i have following queries

    1. Can you share the pre-trained model for semantic kitti dataset i want to check the output on the custom dataset 2.how to obtain the list of classes predicted from the model from the inference code 3.can we get the location of the predicted objects or draw cuboids around them THanks in advance
    opened by abhigoku10 51
  • S3DIS数据籍准备的问题

    S3DIS数据籍准备的问题

    我按照的方式,使用conda创建了新的环境,也安装了那些库,但是编译也通过了,只是给出了警告,但是.o和,.so文件都生成了,为什么在运行 python utils/data_prepare_s3dis.py的时候,一直报错 Traceback (most recent call last): File "utils/data_prepare_s3dis.py", line 24, in os.mkdir(original_pc_folder) if not exists(original_pc_folder) else None FileNotFoundError: [Errno 2] No such file or directory: '/data/S3DIS/original_ply' 后来我手动在RandLA-Net/data/S3DIS/下创建了original_ply和input_0.040文件夹下还是一样的错误,再后来我将 original_pc_folder,sub_pc_folder直接=我的路径并手动创建了这两个文件夹,后来报错 41行: pc_label = np.concatenate(data_list, 0),至少需要一个array.

    opened by zcy1065670505 21
  • Prediction on new data

    Prediction on new data

    The paper mentions being able to directly process 3D point clouds without any pre-processing steps, but I am not sure how this would happen based on the implementation.

    Let's say I have trained a model based on an existing dataset, but then want to run inference on a single brand new point cloud (not in the original datset) with no pre-processing, on a machine that does not have the original training/val data.

    My questions are:

    • Can I run with a new point cloud of a slightly different dimension as the training set (I assume yes)
    • Do I still need a KDTree for the input to run get_batch_gen?
    • How would I setup the Network object to run inference directly on the cloud? Specifically, the init_input_pipeline function is required to setup the flat_inputs for the Network, but this function assumes that you can access the original training dataset.

    Thanks!

    opened by phil0stine 17
  • 预测点云时间过长

    预测点云时间过长

    @QingyongHu 胡博,你好。现在我拿训练好的模型预测新的点云,预测一个点云大概要20s,把结果可视化显示,效果很棒。但是就是时间有点长,不知道这个时间是否正常.下面是运行的部分结果:

    加载模型时间:  1.582892894744873
    test_path: test/Log_2020-04-14_03-39-11
    pre_preds: [0.854312   0.6365489  0.9791355  ... 0.9882188  0.98364115 0.9834389 ]
    len(pre_preds): 496232
    总时间:  20.12405800819397
    
    opened by honggesmile 17
  • Question about inference

    Question about inference

    Dear HuQingyong, I have trained the network with my data. It works perfectly. But I have some problem with the inference. with --mode test. my data have 5 classes and I have set class 0 as ignore in training. And the inference has only 4 labels from 1 to 4. But label 0 is the background label for my class. Which means that I have only 4 probs instead of 5 (include background). How could I fix this?

    Many thanks!

    opened by XuanAo1016 10
  • how to visualize the semantic segmentation results on S3DIS dataset?

    how to visualize the semantic segmentation results on S3DIS dataset?

    HI @QingyongHu , thx for your released code. Could you please share your way to visualize your results (e.g.: on S3DIS dataset) ? Because I found that the results ('test/Log_***********/Area_**********.ply' files) only have pred and label, without x, y, z, and I have no idea how to make these .ply files visualized directly. Thanks in advance.

    opened by AnkyZhang 8
  • The result is always zero and the L_out is always 'nan'.

    The result is always zero and the L_out is always 'nan'.

    EPOCH 0 Step 00000050 L_out= nan Acc=0.00 --- 1408.79 ms/batch Step 00000100 L_out= nan Acc=0.00 --- 1448.62 ms/batch Step 00000150 L_out= nan Acc=0.00 --- 1471.52 ms/batch Step 00000200 L_out= nan Acc=0.00 --- 1353.99 ms/batch Step 00000250 L_out= nan Acc=0.00 --- 1416.76 ms/batch Step 00000300 L_out= nan Acc=0.00 --- 1384.90 ms/batch Step 00000350 L_out= nan Acc=0.00 --- 1479.48 ms/batch Step 00000400 L_out= nan Acc=0.00 --- 1401.82 ms/batch Step 00000450 L_out= nan Acc=0.00 --- 1405.77 ms/batch Step 00000500 L_out= nan Acc=0.00 --- 1225.64 ms/batch eval accuracy: 0.18104404296875 mean IOU:0.013926464843750002 Mean IoU = 1.4%

    1.39 | 18.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

    Best m_IoU is: 1.393 EPOCH 1 Step 00000550 L_out= nan Acc=0.00 --- 1385.89 ms/batch Step 00000600 L_out= nan Acc=0.00 --- 1200.71 ms/batch Step 00000650 L_out= nan Acc=0.00 --- 1377.93 ms/batch Step 00000700 L_out= nan Acc=0.00 --- 1414.77 ms/batch Step 00000750 L_out= nan Acc=0.00 --- 1565.10 ms/batch Step 00000800 L_out= nan Acc=0.00 --- 1391.87 ms/batch Step 00000850 L_out= nan Acc=0.00 --- 1308.24 ms/batch Step 00000900 L_out= nan Acc=0.00 --- 1403.82 ms/batch Step 00000950 L_out= nan Acc=0.00 --- 1389.88 ms/batch Step 00001000 L_out= nan Acc=0.00 --- 1248.54 ms/batch eval accuracy: 0.18180821533203126 mean IOU:0.013985247333233173 Mean IoU = 1.4%

    1.40 | 18.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

    Best m_IoU is: 1.399 EPOCH 2 Step 00001050 L_out= nan Acc=0.00 --- 1435.68 ms/batch Step 00001100 L_out= nan Acc=0.00 --- 1194.74 ms/batch Step 00001150 L_out= nan Acc=0.00 --- 1860.80 ms/batch Step 00001200 L_out= nan Acc=0.00 --- 1391.87 ms/batch Step 00001250 L_out= nan Acc=0.00 --- 1437.67 ms/batch Step 00001300 L_out= nan Acc=0.00 --- 1389.88 ms/batch Step 00001350 L_out= nan Acc=0.00 --- 1390.87 ms/batch Step 00001400 L_out= nan Acc=0.00 --- 1376.94 ms/batch Step 00001450 L_out= nan Acc=0.00 --- 1390.87 ms/batch Step 00001500 L_out= nan Acc=0.00 --- 1287.37 ms/batch

    opened by Jaychouxq 6
  • Understanding the voting logic

    Understanding the voting logic

    Hi @QingyongHu ,

    thanks for the great work and open-sourcing it. I'm reading your code and find a bit difficult to understand the voting logic used in ModelTester.

    Specifically, it seems the testing will finish as long as if last_min + 4 < new_min: Then, what's the point of having a loop of while last_min < num_votes: ?

    So, could you help explain what's the underlying logic here? I'm guessing the num_votes is just a big number to keep the loop going; but last_min + 4 < new_min depends on the delta calculated in the dataset generator and would be added to the min_possibility and possibility every time a sub-point-cloud is sampled. Actually, why do you set the number to be 4? And, roughly how many times of inference would be done on a single point given your way of updating the possibility?

    Best regards, Liyao Tang

    opened by LiyaoTang 6
  • test error with main_SemanticKITTI.py

    test error with main_SemanticKITTI.py

    Sorry for trouble you. When I try vis mode,
    labels = flat_inputs[21] //main_SemanticKITTI.py line 238 caused a problem, I find the flat_inputs only contains 0-19 items.

    When I try test mode, and caused the following problems: /home/kid/anaconda3/envs/rlnet/bin/python /home/kid/workspace/RandLA-Net/main_SemanticKITTI.py --gpu 0 --mode test --test_area 14 /home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/framework/dtypes.py:523: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint8 = np.dtype([("qint8", np.int8, 1)]) /home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/framework/dtypes.py:524: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_quint8 = np.dtype([("quint8", np.uint8, 1)]) /home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint16 = np.dtype([("qint16", np.int16, 1)]) /home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/framework/dtypes.py:526: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_quint16 = np.dtype([("quint16", np.uint16, 1)]) /home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/framework/dtypes.py:527: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint32 = np.dtype([("qint32", np.int32, 1)]) /home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/framework/dtypes.py:532: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. np_resource = np.dtype([("resource", np.ubyte, 1)]) Initiating input pipelines WARNING:tensorflow:From /home/kid/workspace/RandLA-Net/RandLANet.py:265: softmax_cross_entropy_with_logits (from tensorflow.python.ops.nn_ops) is deprecated and will be removed in a future version. Instructions for updating:

    Future major versions of TensorFlow will allow gradients to flow into the labels input on backprop by default.

    See tf.nn.softmax_cross_entropy_with_logits_v2.

    /home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/ops/gradients_impl.py:108: UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory. "Converting sparse IndexedSlices to a dense Tensor of unknown shape. " Model restored from results/SemanticKITTI/snapshots/snap-277357 step 0 Traceback (most recent call last): File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1292, in _do_call return fn(*args) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1277, in _run_fn options, feed_dict, fetch_list, target_list, run_metadata) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1367, in _call_tf_sessionrun run_metadata) tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[901120,16,16] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc [[{{node layers/Softmax}} = SoftmaxT=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]] Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

     [[{{node layers/Encoder_layer_2LFAatt_pooling_1fc/Tensordot/Shape/_929}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_1963_layers/Encoder_layer_2LFAatt_pooling_1fc/Tensordot/Shape", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
    

    Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/home/kid/workspace/RandLA-Net/main_SemanticKITTI.py", line 226, in tester.test(model, dataset) File "/home/kid/workspace/RandLA-Net/tester_SemanticKITTI.py", line 78, in test stacked_probs, labels, point_inds, cloud_inds = self.sess.run(ops, {model.is_training: False}) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 887, in run run_metadata_ptr) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1110, in _run feed_dict_tensor, options, run_metadata) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1286, in _do_run run_metadata) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1308, in _do_call raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[901120,16,16] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc [[{{node layers/Softmax}} = SoftmaxT=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]] Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

     [[{{node layers/Encoder_layer_2LFAatt_pooling_1fc/Tensordot/Shape/_929}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_1963_layers/Encoder_layer_2LFAatt_pooling_1fc/Tensordot/Shape", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
    

    Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

    Caused by op 'layers/Softmax', defined at: File "/home/kid/workspace/RandLA-Net/main_SemanticKITTI.py", line 213, in model = Network(dataset, cfg) File "/home/kid/workspace/RandLA-Net/RandLANet.py", line 52, in init self.logits = self.inference(self.inputs, self.is_training) File "/home/kid/workspace/RandLA-Net/RandLANet.py", line 115, in inference 'Encoder_layer_' + str(i), is_training) File "/home/kid/workspace/RandLA-Net/RandLANet.py", line 272, in dilated_res_block f_pc = self.building_block(xyz, f_pc, neigh_idx, d_out, name + 'LFA', is_training) File "/home/kid/workspace/RandLA-Net/RandLANet.py", line 285, in building_block f_pc_agg = self.att_pooling(f_concat, d_out // 2, name + 'att_pooling_1', is_training) File "/home/kid/workspace/RandLA-Net/RandLANet.py", line 352, in att_pooling att_scores = tf.nn.softmax(att_activation, axis=1) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/util/deprecation.py", line 488, in new_func return func(*args, **kwargs) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/ops/nn_ops.py", line 1746, in softmax return _softmax(logits, gen_nn_ops.softmax, axis, name) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/ops/nn_ops.py", line 1707, in _softmax output = compute_op(logits) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/ops/gen_nn_ops.py", line 7138, in softmax "Softmax", logits=logits, name=name) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper op_def=op_def) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/util/deprecation.py", line 488, in new_func return func(*args, **kwargs) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3272, in create_op op_def=op_def) File "/home/kid/anaconda3/envs/rlnet/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1768, in init self._traceback = tf_stack.extract_stack()

    ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[901120,16,16] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc [[{{node layers/Softmax}} = SoftmaxT=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]] Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

     [[{{node layers/Encoder_layer_2LFAatt_pooling_1fc/Tensordot/Shape/_929}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_1963_layers/Encoder_layer_2LFAatt_pooling_1fc/Tensordot/Shape", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
    

    Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

    Process finished with exit code 1

    opened by hahakid 6
  • No module named 'sklearn.neighbors._kd_tree'

    No module named 'sklearn.neighbors._kd_tree'

    @QingyongHu Hello! Thanks for your released code. When I run python main_Semantic3D.py --mode train --gpu 0, an error oucured as below:

    Load_pc_0: bildstein_station1_xyz_intensity_rgb Traceback (most recent call last): File "main_Semantic3D.py", line 341, in dataset = Semantic3D() File "main_Semantic3D.py", line 92, in init self.load_sub_sampled_clouds(cfg.sub_grid_size) File "main_Semantic3D.py", line 123, in load_sub_sampled_clouds search_tree = pickle.load(f) ModuleNotFoundError: No module named 'sklearn.neighbors._kd_tree'

    How can I solve it? Thank you!

    opened by chdjianfeng 6
  • hyper-parameters during training  SemanticKITTI ?

    hyper-parameters during training SemanticKITTI ?

    hello @QingyongHu

    what the value of batch-size and N when training SemanticKITTI ?

    in the 3.4. Implementation of your paper, it said used the fixed N ~= 1e6, but the number point of each scan of SemanticKITTI is less than 1e-6;

    another, how the training N value influence the test performance? for example there is 2 training config, a. use N=1e-4 during training b. use N=1e-5 during training

    which config will get best performance on SemanticKITTI?

    thanks!

    opened by tornadomeet 6
  • ValueError: no field of name class

    ValueError: no field of name class

    Hi.First python utils/data_prepare_semantic3d.py and then I am running main_Semantic.py but I am getting error as below. Could you please help.? WARNING:tensorflow:From /home/ders/anaconda3/envs/randlanet/lib/python3.6/site-packages/tensorflow/python/compat/v2_compat.py:101: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version. Instructions for updating: non-resource variables are not supported in the long term Load_pc_0: bildstein_station1_xyz_intensity_rgb Traceback (most recent call last): File "main_Semantic3D.py", line 351, in dataset = Semantic3D() File "main_Semantic3D.py", line 96, in init self.load_sub_sampled_clouds(cfg.sub_grid_size) File "main_Semantic3D.py", line 123, in load_sub_sampled_clouds sub_labels = data['class'] ValueError: no field of name class

    opened by haoyuting98 0
  • I want a pre_trained model of senmantic3D dataset,can you give me?

    I want a pre_trained model of senmantic3D dataset,can you give me?

    I want a pre_trained model of senmantic3D dataset,because my GPU is RTX3060,I can't us batchsize=4, I try to use batchsize=2,but the volatility is too great in train progress,not steable. my E-mail:[email protected]

    opened by yangfeifan-ufo 0
  • >我提交了也没结果 请问解决了吗

    >我提交了也没结果 请问解决了吗

        > 
    

    你好,请问下现在Sementic3D官网能测试嘛,我账号审核通过了,但是提交测试的时候显示格式什么的都没问题,就是一直收不到结果邮件。

    Originally posted by @LiXinZhana in https://github.com/QingyongHu/RandLA-Net/issues/118#issuecomment-1196336393

    opened by gsc1029 0
  • No matching distribution found for pandas==0.25.3

    No matching distribution found for pandas==0.25.3

    pip install pandas==0.25.3 is not work

    ERROR: Could not find a version that satisfies the requirement pandas==0.25.3 ERROR: No matching distribution found for pandas==0.25.3

    opened by ZGX010 0
  • OA and MIoU

    OA and MIoU

    In which log are the OA and MIoU of the training results in the paper seen? Epoch 0, end. Min possibility = 3.7

    Confusion on sub clouds 56.33 | 90.16 94.21 73.35 0.07 25.28 46.00 46.80 64.58 85.01 53.53 65.28 40.29 47.67

    Area_5_hallway_9 Acc:0.8868762275708246 Area_5_office_25 Acc:0.8304020616277638 Area_5_office_24 Acc:0.7493366162646082 Area_5_hallway_7 Acc:0.8848188747777617

    56.72 | 90.35 94.22 73.34 0.07 25.99 48.28 47.54 64.47 86.41 54.20 64.76 40.22 47.46

    opened by hhhhsmx 0
Owner
Qingyong
Ph.D. student :man_student: in the Department of Computer Science at the University of Oxford :cn:
Qingyong
An official implementation of "SFNet: Learning Object-aware Semantic Correspondence" (CVPR 2019, TPAMI 2020) in PyTorch.

PyTorch implementation of SFNet This is the implementation of the paper "SFNet: Learning Object-aware Semantic Correspondence". For more information,

CV Lab @ Yonsei University 87 Dec 30, 2022
[CVPR 21] Vectorization and Rasterization: Self-Supervised Learning for Sketch and Handwriting, IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2021.

Vectorization and Rasterization: Self-Supervised Learning for Sketch and Handwriting, CVPR 2021. Ayan Kumar Bhunia, Pinaki nath Chowdhury, Yongxin Yan

Ayan Kumar Bhunia 44 Dec 12, 2022
UDP++ (ECCVW 2020 Oral), (Winner of COCO 2020 Keypoint Challenge).

UDP-Pose This is the pytorch implementation for UDP++, which won the Fisrt place in COCO Keypoint Challenge at ECCV 2020 Workshop. Top-Down Results on

null 20 Jul 29, 2022
RGBD-Net - This repository contains a pytorch lightning implementation for the 3DV 2021 RGBD-Net paper.

[3DV 2021] We propose a new cascaded architecture for novel view synthesis, called RGBD-Net, which consists of two core components: a hierarchical depth regression network and a depth-aware generator network.

Phong Nguyen Ha 4 May 26, 2022
Learning from Synthetic Shadows for Shadow Detection and Removal [Inoue+, IEEE TCSVT 2020].

Learning from Synthetic Shadows for Shadow Detection and Removal (IEEE TCSVT 2020) Overview This repo is for the paper "Learning from Synthetic Shadow

Naoto Inoue 67 Dec 28, 2022
Y. Zhang, Q. Yao, W. Dai, L. Chen. AutoSF: Searching Scoring Functions for Knowledge Graph Embedding. IEEE International Conference on Data Engineering (ICDE). 2020

AutoSF The code for our paper "AutoSF: Searching Scoring Functions for Knowledge Graph Embedding" and this paper has been accepted by ICDE2020. News:

AutoML Research 64 Dec 17, 2022
Official code for "End-to-End Optimization of Scene Layout" -- including VAE, Diff Render, SPADE for colorization (CVPR 2020 Oral)

End-to-End Optimization of Scene Layout Code release for: End-to-End Optimization of Scene Layout CVPR 2020 (Oral) Project site, Bibtex For help conta

Andrew Luo 41 Dec 9, 2022
DVG-Face: Dual Variational Generation for Heterogeneous Face Recognition, TPAMI 2021

DVG-Face: Dual Variational Generation for HFR This repo is a PyTorch implementation of DVG-Face: Dual Variational Generation for Heterogeneous Face Re

null 52 Dec 30, 2022
[TPAMI 2021] iOD: Incremental Object Detection via Meta-Learning

Incremental Object Detection via Meta-Learning To appear in an upcoming issue of the IEEE Transactions on Pattern Analysis and Machine Intelligence (T

Joseph K J 66 Jan 4, 2023
U^2-Net - Portrait matting This repository explores possibilities of using the original u^2-net model for portrait matting.

U^2-Net - Portrait matting This repository explores possibilities of using the original u^2-net model for portrait matting.

Dennis Bappert 104 Nov 25, 2022
The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

MIC-DKFZ 1.2k Jan 4, 2023
Neural networks applied in recognizing guitar chords using python, AutoML.NET with C# and .NET Core

Chord Recognition Demo application The demo application is written in C# with .NETCore. As of July 9, 2020, the only version available is for windows

Andres Mauricio Rondon Patiño 24 Oct 22, 2022
U-2-Net: U Square Net - Modified for paired image training of style transfer

U2-Net: U Square Net Modified for paired image training of style transfer This is an unofficial repo making use of the code which was made available b

Doron Adler 43 Oct 3, 2022
GDR-Net: Geometry-Guided Direct Regression Network for Monocular 6D Object Pose Estimation. (CVPR 2021)

GDR-Net This repo provides the PyTorch implementation of the work: Gu Wang, Fabian Manhardt, Federico Tombari, Xiangyang Ji. GDR-Net: Geometry-Guided

null 169 Jan 7, 2023
(ImageNet pretrained models) The official pytorch implemention of the TPAMI paper "Res2Net: A New Multi-scale Backbone Architecture"

Res2Net The official pytorch implemention of the paper "Res2Net: A New Multi-scale Backbone Architecture" Our paper is accepted by IEEE Transactions o

Res2Net Applications 928 Dec 29, 2022
The PyTorch improved version of TPAMI 2017 paper: Face Alignment in Full Pose Range: A 3D Total Solution.

Face Alignment in Full Pose Range: A 3D Total Solution By Jianzhu Guo. [Updates] 2020.8.30: The pre-trained model and code of ECCV-20 are made public

Jianzhu Guo 3.4k Jan 2, 2023
This is the pytorch implementation for the paper: *Learning Accurate Performance Predictors for Ultrafast Automated Model Compression*, which is in submission to TPAMI

SeerNet This is the pytorch implementation for the paper: Learning Accurate Performance Predictors for Ultrafast Automated Model Compression, which is

null 3 May 1, 2022
PFENet: Prior Guided Feature Enrichment Network for Few-shot Segmentation (TPAMI).

PFENet This is the implementation of our paper PFENet: Prior Guided Feature Enrichment Network for Few-shot Segmentation that has been accepted to IEE

DV Lab 230 Dec 31, 2022
Offcial repository for the IEEE ICRA 2021 paper Auto-Tuned Sim-to-Real Transfer.

Offcial repository for the IEEE ICRA 2021 paper Auto-Tuned Sim-to-Real Transfer.

null 47 Jun 30, 2022