Giter Site home page Giter Site logo

qingyonghu / sensaturban Goto Github PK

View Code? Open in Web Editor NEW
479.0 479.0 57.0 11.6 MB

🔥Urban-scale point cloud dataset (CVPR 2021 & IJCV 2022)

License: MIT License

Python 23.34% Shell 0.09% C++ 74.89% C 0.32% Cython 1.36%
benchmark city-modeling dataset large-scale photogrammetry pointcloud urban-scale

sensaturban's Introduction

sensaturban's People

Contributors

qingyonghu avatar yang7879 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sensaturban's Issues

训练时间大概是多久

我在3090上训练,3090显卡的只占用了253M显存,训练一个epoch花费了5个小时。
请问下大家用的什么配置来训练,训练耗时是多少?
image

Test tiles class labels and Validation tiles?

In the paper it is mentioned that
"In particular, the point cloud of the Birmingham urban area is divided into 14 tiles. We then select 10 tiles for training,2 for validation and 2 for testing. Similarly, the Cambridge split has 29 tiles in total: 20 tiles for training, 5 for validation and 4 for testing."
I wonder can you share which are the validation tiles you used? Currently the train and the validation are in the same folder.

Thank you!

How to visualize the data (ply files

I found a function as follows but it seems not working...
Any help is appreciated.

    @staticmethod
    def draw_pc(pc_xyzrgb):
        pc = o3d.geometry.PointCloud()
        pc.points = o3d.utility.Vector3dVector(pc_xyzrgb[:, 0:3])
        if pc_xyzrgb.shape[1] == 3:
            o3d.visualization.draw_geometries([pc])
            return 0
        if np.max(pc_xyzrgb[:, 3:6]) > 20:  ## 0-255
            pc.colors = o3d.utility.Vector3dVector(pc_xyzrgb[:, 3:6] / 255.)
        else:
            pc.colors = o3d.utility.Vector3dVector(pc_xyzrgb[:, 3:6])

        o3d.geometry.PointCloud.estimate_normals(pc)
        o3d.visualization.draw_geometries([pc], width=1000, height=1000)
        return 0

Could you provide the competition bundle for Codalab?

Hi! Thank you for this amazing work!
I am now working on a 3D dataset and planning to hold a semantic segmentation competition on Codalab. In order to do that, a competition bundle is needed. I'm new to CodaLab, may I ask you to provide your competition bundle (test set gt removed) as an template for similar competitions? That will help me a lot!
Thank you very much, looking forward to your reply!
image

Run abnormally no attribute 'knn_batch'

On the win system,appears after reading the data
发生异常: UnknownError
AttributeError: module 'utils.nearest_neighbors' has no attribute 'knn_batch'
In line 159 of the RandLANet.py,Please ask someone to know, thank you for answering,My qq3454136228 andGoogle Mailbox [email protected]

Train Error

Hi,
Have you ever met this problem? I have installed scikit-learn==0.21.3. Thanks.

Traceback (most recent call last):
File "main_SensatUrban.py", line 260, in
dataset = SensatUrban()
File "main_SensatUrban.py", line 48, in init
self.load_sub_sampled_clouds(cfg.sub_grid_size)
File "main_SensatUrban.py", line 79, in load_sub_sampled_clouds
search_tree = pickle.load(f)
ImportError: No module named 'sklearn.neighbors._kd_tree'

OutofRangeError

Hi Sir ;
Could you help me please to solve this problem

Traceback (most recent call last):
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/client/session.py", line 1377, in _do_call
return fn(*args)
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/client/session.py", line 1360, in _run_fn
return self._call_tf_sessionrun(options, feed_dict, fetch_list,
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/client/session.py", line 1453, in _call_tf_sessionrun
return tf_session.TF_SessionRun_wrapper(self._session, options, feed_dict,
tensorflow.python.framework.errors_impl.OutOfRangeError: 2 root error(s) found.
(0) OUT_OF_RANGE: End of sequence
[[{{node IteratorGetNext}}]]
[[layers/Shape_60/_41]]
(1) OUT_OF_RANGE: End of sequence
[[{{node IteratorGetNext}}]]
0 successful operations.
0 derived errors ignored.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/gxu/chen/SensatUrban-master/RandLANet.py", line 159, in train
_, _, summary, l_out, probs, labels, acc = self.sess.run(ops, {self.is_training: True})
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/client/session.py", line 967, in run
result = self._run(None, fetches, feed_dict, options_ptr,
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/client/session.py", line 1190, in _run
results = self._do_run(handle, final_targets, final_fetches,
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/client/session.py", line 1370, in _do_run
return self._do_call(_run_fn, feeds, fetches, targets, options,
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/client/session.py", line 1396, in _do_call
raise type(e)(node_def, op, message) # pylint: disable=no-value-for-parameter
tensorflow.python.framework.errors_impl.OutOfRangeError: Graph execution error:

Detected at node 'IteratorGetNext' defined at (most recent call last):
File "main_SensatUrban.py", line 268, in
dataset.init_input_pipeline()
File "main_SensatUrban.py", line 242, in init_input_pipeline
self.flat_inputs = iter.get_next()
Node: 'IteratorGetNext'
Detected at node 'IteratorGetNext' defined at (most recent call last):
File "main_SensatUrban.py", line 268, in
dataset.init_input_pipeline()
File "main_SensatUrban.py", line 242, in init_input_pipeline
self.flat_inputs = iter.get_next()
Node: 'IteratorGetNext'
2 root error(s) found.
(0) OUT_OF_RANGE: End of sequence
[[{{node IteratorGetNext}}]]
[[layers/Shape_60/_41]]
(1) OUT_OF_RANGE: End of sequence
[[{{node IteratorGetNext}}]]
0 successful operations.
0 derived errors ignored.

Original stack trace for 'IteratorGetNext':
File "main_SensatUrban.py", line 268, in
dataset.init_input_pipeline()
File "main_SensatUrban.py", line 242, in init_input_pipeline
self.flat_inputs = iter.get_next()
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 442, in get_next
flat_ret = gen_dataset_ops.iterator_get_next(
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/ops/gen_dataset_ops.py", line 2943, in iterator_get_next
_, _, _op, _outputs = _op_def_library._apply_op_helper(
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/framework/op_def_library.py", line 740, in _apply_op_helper
op = g._create_op_internal(op_type_name, inputs, dtypes=None,
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/framework/ops.py", line 3776, in _create_op_internal
ret = Operation(
File "/home/gxu/anaconda3/envs/chen/lib/python3.8/site-packages/tensorflow/python/framework/ops.py", line 2175, in init
self._traceback = tf_stack.extract_stack_for_node(self._c_op)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main_SensatUrban.py", line 272, in
model.train(dataset)
File "/home/gxu/chen/SensatUrban-master/RandLANet.py", line 170, in train
m_iou = self.evaluate(dataset)
File "/home/gxu/chen/SensatUrban-master/RandLANet.py", line 240, in evaluate
gt_classes += np.sum(conf_matrix, axis=1)
ValueError: operands could not be broadcast together with shapes (13,) (10,)

The size of each tile in the dataset

Hello, Can I ask you the size of each tile in the dataset ? I downloaded the data set according to the address you listed, but the gap between each file in my downloading dataset is too big, I don't know whether the original data is like this or I didn't download it well. So, can you see whether the file size of each tile is correct, or you can give the table of each file size, thank you!

图片

test labels and evaluation code

Hi @QingyongHu,

thank you for your work and for releasing the dataset;
I'm wondering whether you have the plan to release the labels on test set as well as the evaluation code? That would be more convenient for benchmarking and for comparing algorithms.

cheers,

RandLaNet results not close to what is claimed using provided parameters

The results I got after training RandLaNet were nowhere near the results claimed (using the parameters provided). Looking at the competition board, I see others are able to achieve similar results to the claims. Anyone able to provide a parameter set that could put me in that ballpark?

Data Inconsistencies

When reviewing the labeled data, I came across quite a few instances of what I would consider inconsistencies. What are the rules you go by when labeling parking lots or labeling in general? I've provided a couple examples below. Thanks for your time.

Snag_6922a4be
Snag_6922c3bf
Snag_692474ea
Snag_69248c0c

Processs was killed during evaluation

When I run python main_SensatUrban.py --mode test --gpu 0, I met this problem
image
Is this error caused because program was killed by out of memory killer? How to solve it?

ValueError: attempt to get argmin of an empty sequence

Hello, author. Thank you very much for your research and sharing. However, I have the following problems during operation:
ValueError: attempt to get argmin of an empty sequence

 [[{{node PyFunc}}]]
 [[IteratorGetNext]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main_SensatUrban.py", line 265, in
model.train(dataset)
File "/home/ustc/wzh21/SensatUrban-tf/RandLANet.py", line 196, in train
print(e.op.name)
AttributeError: 'NoneType' object has no attribute 'name'

My running environment:
python 3.5 tensorflow 1.4

where can I find the labels?

First of all, thanks for your hardworking to provide such a amazing dataset for us.
I have successfully downloaded the dataset. However, I don't know where to find the labels for training. All I get are ply files. Could you please tell me where are the labels? thanks in advance!

Broken Files

Hello @QingyongHu ,

thank you for the great paper and dataset!

I experienced some problems with three files of the dataset. I think they are broken:
cambridge_block_0.ply
cambridge_block_1.ply
cambridge_block_34.ply

When I try to read them I get an error from the ply file reader.

Could you check this?
Thanks

Training Error

Hi Author:
I have met a training error when using tensorflow-gpu==1.14. Could you please help me solve it? Thanks a lot.

Preparing reprojected indices for testing
Initiating input pipelines
EPOCH 0
Caught a NaN error :
3
ValueError: attempt to get argmin of an empty sequence
Traceback (most recent call last):

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 56, in _wrapfunc
return getattr(obj, method)(*args, **kwds)

AttributeError: 'list' object has no attribute 'argmin'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/ops/script_ops.py", line 209, in call
ret = func(*args)

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 514, in generator_py_func
values = next(generator_state.get_iterator(iterator_id))

File "main_SensatUrban.py", line 135, in spatially_regular_gen
cloud_idx = int(np.argmin(self.min_possibility[split]))

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 1172, in argmin
return _wrapfunc(a, 'argmin', axis=axis, out=out)

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 66, in _wrapfunc
return _wrapit(obj, method, *args, **kwds)

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 46, in _wrapit
result = getattr(asarray(obj), method)(*args, **kwds)

ValueError: attempt to get argmin of an empty sequence

     [[{{node PyFunc}}]]
     [[IteratorGetNext]]

None
Traceback (most recent call last):
File "/export/home//anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1356, in _do_call
return fn(args)
File "/export/home/
/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1341, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "/export/home/
*****/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1429, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: ValueError: attempt to get argmin of an empty sequence
Traceback (most recent call last):

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 56, in _wrapfunc
return getattr(obj, method)(*args, **kwds)

AttributeError: 'list' object has no attribute 'argmin'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/ops/script_ops.py", line 209, in call
ret = func(*args)

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 514, in generator_py_func
values = next(generator_state.get_iterator(iterator_id))

File "main_SensatUrban.py", line 135, in spatially_regular_gen
cloud_idx = int(np.argmin(self.min_possibility[split]))

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 1172, in argmin
return _wrapfunc(a, 'argmin', axis=axis, out=out)

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 66, in _wrapfunc
return _wrapit(obj, method, *args, **kwds)

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 46, in _wrapit
result = getattr(asarray(obj), method)(*args, **kwds)

ValueError: attempt to get argmin of an empty sequence

     [[{{node PyFunc}}]]
     [[IteratorGetNext]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/export/home//SensatUrban/RandLANet.py", line 158, in train
_, _, summary, l_out, probs, labels, acc = self.sess.run(ops, {self.is_training: True})
File "/export/home/
/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 950, in run
run_metadata_ptr)
File "/export/home//anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1173, in _run
feed_dict_tensor, options, run_metadata)
File "/export/home/
/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1350, in _do_run
run_metadata)
File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1370, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: ValueError: attempt to get argmin of an empty sequence
Traceback (most recent call last):

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 56, in _wrapfunc
return getattr(obj, method)(*args, **kwds)

AttributeError: 'list' object has no attribute 'argmin'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/ops/script_ops.py", line 209, in call
ret = func(*args)

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 514, in generator_py_func
values = next(generator_state.get_iterator(iterator_id))

File "main_SensatUrban.py", line 135, in spatially_regular_gen
cloud_idx = int(np.argmin(self.min_possibility[split]))

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 1172, in argmin
return _wrapfunc(a, 'argmin', axis=axis, out=out)

File "/export/home/******/anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 66, in _wrapfunc
return _wrapit(obj, method, *args, **kwds)

File "/export/home/******anaconda3/envs/randlanet/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 46, in _wrapit
result = getattr(asarray(obj), method)(*args, **kwds)

ValueError: attempt to get argmin of an empty sequence

     [[{{node PyFunc}}]]
     [[IteratorGetNext]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main_SensatUrban.py", line 265, in
model.train(dataset)
File "/export/home/******/SensatUrban/RandLANet.py", line 196, in train
print(e.op.name)
AttributeError: 'NoneType' object has no attribute 'name'

Incompatible Shapes

Hi,
Have you ever met this bug using a new lovasz loss? When runing with CE loss, it's OK. But, when running with lovasz loss, a bug occurs. Thanks a lot.

Caught a NaN error :
3
Incompatible shapes: [3932160] vs. [1966080]
[[node loss/loss/mul_2 (defined at /STPLS3D/RandLA-Net_CGA_lovas_abl_knn_16_binary_lovas_hinge/lovasz_losses_tf.py:61) = Mul[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](loss/loss/Sum/Switch, loss/loss/sub)]]
[[{{node optimizer/gradients/layers/Encoder_layer_0LFAatt_pooling_2mlp/Conv2D_grad/tuple/control_dependency_1/_1761}} = _Recvclient_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_23423...pendency_1", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]
name: "loss/loss/mul_2"
op: "Mul"
input: "loss/loss/mul_2/Switch:0"
input: "loss/loss/StopGradient"
attr {
key: "T"
value {
type: DT_FLOAT
}
}

loss/loss/mul_2
['loss/loss/mul_2/Switch:0', 'loss/loss/StopGradient:0']
['loss/loss/mul_2:0']

点云标注工具

胡博你好,之前看过你的直播,非常给力!
请问你们的数据集是用啥标注工具标注的,或者有啥推荐的标注工具不,容易安装部署的那种

Loss function

The network with wce+sqrt loss function got 62.8 mIOU in Table 5. However, the referenced paper [2] named SalsaNet only use sqrt loss function instead of wce+sqrt loss. Is the loss function wrong here?

Could you also publish the data preparation?

Hi,
I really like your work and I'm very interested in this paper and dataset.
Since in you paper you say that the data preparation is a fundamental phase, could you publish also the code used for the data preparation? in particular I'm referring to the combination of grid sampling and density-consistent block partition that you used in the experiments.
Thanks

Getting desired ply file format

May I ask how did you get your raw ply data?

I would like deploy the models on my own data set which is in pcd format. However, I tried to convert pcd files to ply files with open3d, i couldn't get as follows data type. Any help is appreciated.

ply
format binary_little_endian 1.0
element vertex 10596575
property float32 x
property float32 y
property float32 z
property float32 red
property float32 green
property float32 blue
property int32 class
end_header

Could share the data preparation code?

Hi, I have downloaded the ply data files, but I have some questions:
Where is the labels for training data and testing data?
How to prepare the data as shown in your paper?
Could you please share these files?
Thanks.

run main_SensatUrban.py,TypeError :confusion_matrix()

运行main_SensatUrban.py的时候,报错Randla_Net.py文件中confusion_matrix()有错误,错误如下,请问有人遇到过吗?
TypeError: confusion_matrix() takes 2 positional arguments but 3 were given
我没有找到合适的解决方法,希望得到帮助。谢谢。

Acceleration Training

Hi Sir ;
Is there a possibility to speed up the training, because for me each epoch needs more than 3 hours
Thank you very much in advance

Training stopped suddenly

Hi, I have a problem when I try to train the Network.
During training, processing stopped suddenly and I got a message bellow.

Is there anyone who have same problem or solve it?
Thanks.

(SensatUrban) [test]% python main_SensatUrban.py --mode train --gpu 0
birmingham_block_0_KDTree.pkl 50.8 MB loaded in 0.1s
birmingham_block_1_KDTree.pkl 135.1 MB loaded in 0.2s
birmingham_block_10_KDTree.pkl 28.4 MB loaded in 0.1s
birmingham_block_11_KDTree.pkl 5.7 MB loaded in 0.0s
birmingham_block_12_KDTree.pkl 26.0 MB loaded in 0.0s
birmingham_block_13_KDTree.pkl 5.3 MB loaded in 0.0s
birmingham_block_2_KDTree.pkl 96.5 MB loaded in 0.1s
birmingham_block_3_KDTree.pkl 164.2 MB loaded in 0.3s
birmingham_block_4_KDTree.pkl 186.0 MB loaded in 0.4s
birmingham_block_5_KDTree.pkl 183.9 MB loaded in 0.3s
birmingham_block_6_KDTree.pkl 39.8 MB loaded in 0.1s
birmingham_block_7_KDTree.pkl 45.6 MB loaded in 0.1s
birmingham_block_8_KDTree.pkl 161.3 MB loaded in 0.2s
birmingham_block_9_KDTree.pkl 167.8 MB loaded in 0.3s
cambridge_block_0_KDTree.pkl 0.6 MB loaded in 0.0s
cambridge_block_1_KDTree.pkl 0.5 MB loaded in 0.0s
cambridge_block_10_KDTree.pkl 185.9 MB loaded in 0.3s
cambridge_block_12_KDTree.pkl 244.0 MB loaded in 0.5s
cambridge_block_14_KDTree.pkl 287.3 MB loaded in 0.6s
cambridge_block_15_KDTree.pkl 268.0 MB loaded in 0.4s
cambridge_block_16_KDTree.pkl 259.5 MB loaded in 0.3s
cambridge_block_17_KDTree.pkl 44.5 MB loaded in 0.1s
cambridge_block_18_KDTree.pkl 68.9 MB loaded in 0.1s
cambridge_block_19_KDTree.pkl 188.2 MB loaded in 0.4s
cambridge_block_2_KDTree.pkl 255.5 MB loaded in 0.5s
cambridge_block_20_KDTree.pkl 270.1 MB loaded in 0.5s
cambridge_block_21_KDTree.pkl 227.3 MB loaded in 0.5s
cambridge_block_22_KDTree.pkl 204.2 MB loaded in 0.3s
cambridge_block_23_KDTree.pkl 17.6 MB loaded in 0.0s
cambridge_block_25_KDTree.pkl 44.7 MB loaded in 0.1s
cambridge_block_26_KDTree.pkl 200.1 MB loaded in 0.4s
cambridge_block_27_KDTree.pkl 236.9 MB loaded in 0.3s
cambridge_block_28_KDTree.pkl 120.8 MB loaded in 0.2s
cambridge_block_3_KDTree.pkl 237.3 MB loaded in 0.5s
cambridge_block_32_KDTree.pkl 5.5 MB loaded in 0.0s
cambridge_block_33_KDTree.pkl 62.9 MB loaded in 0.1s
cambridge_block_34_KDTree.pkl 5.7 MB loaded in 0.0s
cambridge_block_4_KDTree.pkl 25.4 MB loaded in 0.0s
cambridge_block_6_KDTree.pkl 204.6 MB loaded in 0.4s
cambridge_block_7_KDTree.pkl 295.8 MB loaded in 0.4s
cambridge_block_9_KDTree.pkl 296.7 MB loaded in 0.6s

Preparing reprojected indices for testing
birmingham_block_1 done in 0.2s
birmingham_block_2 done in 0.1s
birmingham_block_5 done in 0.3s
birmingham_block_8 done in 0.2s
cambridge_block_10 done in 0.3s
cambridge_block_15 done in 0.4s
cambridge_block_16 done in 0.4s
cambridge_block_22 done in 0.3s
cambridge_block_27 done in 0.3s
cambridge_block_7 done in 0.4s
Initiating input pipelines
WARNING:tensorflow:From /home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/data/ops/dataset_ops.py:494: py_func (from tensorflow.python.ops.script_ops) is deprecated and will be removed in a future version.
Instructions for updating:
tf.py_func is deprecated in TF V2. Instead, there are two
    options available in V2.
    - tf.py_function takes a python function which manipulates tf eager
    tensors instead of numpy arrays. It's easy to convert a tf eager tensor to
    an ndarray (just call tensor.numpy()) but having access to eager tensors
    means `tf.py_function`s can use accelerators such as GPUs as well as
    being differentiable using a gradient tape.
    - tf.numpy_function maintains the semantics of the deprecated tf.py_func
    (it is not differentiable, and manipulates numpy arrays). It drops the
    stateful argument making all functions stateful.
    
WARNING:tensorflow:From main_SensatUrban.py:234: The name tf.data.Iterator is deprecated. Please use tf.compat.v1.data.Iterator instead.

WARNING:tensorflow:From main_SensatUrban.py:234: DatasetV1.output_types (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.compat.v1.data.get_output_types(dataset)`.
WARNING:tensorflow:From main_SensatUrban.py:234: DatasetV1.output_shapes (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.compat.v1.data.get_output_shapes(dataset)`.
WARNING:tensorflow:From /home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/data/ops/iterator_ops.py:348: Iterator.output_types (from tensorflow.python.data.ops.iterator_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.compat.v1.data.get_output_types(iterator)`.
WARNING:tensorflow:From /home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/data/ops/iterator_ops.py:349: Iterator.output_shapes (from tensorflow.python.data.ops.iterator_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.compat.v1.data.get_output_shapes(iterator)`.
WARNING:tensorflow:From /home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/data/ops/iterator_ops.py:351: Iterator.output_classes (from tensorflow.python.data.ops.iterator_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.compat.v1.data.get_output_classes(iterator)`.
WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:30: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.

WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:43: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.

WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:106: dense (from tensorflow.python.layers.core) is deprecated and will be removed in a future version.
Instructions for updating:
Use keras.layers.dense instead.
WARNING:tensorflow:From /home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/ops/init_ops.py:1251: calling VarianceScaling.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
Instructions for updating:
Call initializer instance with the dtype argument instead of passing it to the constructor
WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:107: batch_normalization (from tensorflow.python.layers.normalization) is deprecated and will be removed in a future version.
Instructions for updating:
Use keras.layers.BatchNormalization instead.  In particular, `tf.control_dependencies(tf.GraphKeys.UPDATE_OPS)` should not be used (consult the `tf.keras.layers.batch_normalization` documentation).
WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/tf_util.py:49: The name tf.truncated_normal is deprecated. Please use tf.random.truncated_normal instead.

WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/tf_util.py:54: The name tf.add_to_collection is deprecated. Please use tf.compat.v1.add_to_collection instead.

WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/tf_util.py:22: The name tf.get_variable is deprecated. Please use tf.compat.v1.get_variable instead.

WARNING:tensorflow:From /home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/util/dispatch.py:180: batch_gather (from tensorflow.python.ops.array_ops) is deprecated and will be removed after 2017-10-25.
Instructions for updating:
`tf.batch_gather` is deprecated, please use `tf.gather` with `batch_dims` instead.
WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/tf_util.py:572: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:66: add_dispatch_support.<locals>.wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:81: The name tf.train.AdamOptimizer is deprecated. Please use tf.compat.v1.train.AdamOptimizer instead.

WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:89: The name tf.summary.scalar is deprecated. Please use tf.compat.v1.summary.scalar instead.

WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:94: The name tf.train.Saver is deprecated. Please use tf.compat.v1.train.Saver instead.

WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:98: The name tf.summary.merge_all is deprecated. Please use tf.compat.v1.summary.merge_all instead.

WARNING:tensorflow:From /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:99: The name tf.summary.FileWriter is deprecated. Please use tf.compat.v1.summary.FileWriter instead.

****EPOCH 0****
Step 00000050 L_out=6.323 Acc=0.36 ---  636.80 ms/batch
Step 00000100 L_out=5.793 Acc=0.55 ---  590.22 ms/batch
Step 00000150 L_out=5.148 Acc=0.52 ---  617.91 ms/batch
Step 00000200 L_out=3.836 Acc=0.52 ---  593.99 ms/batch
Step 00000250 L_out=2.575 Acc=0.50 ---  624.92 ms/batch
Step 00000300 L_out=4.704 Acc=0.53 ---  596.01 ms/batch
Step 00000350 L_out=2.949 Acc=0.49 ---  593.54 ms/batch
Step 00000400 L_out=4.432 Acc=0.41 ---  591.37 ms/batch
Step 00000450 L_out=3.479 Acc=0.68 ---  613.10 ms/batch
Step 00000500 L_out=2.372 Acc=0.70 ---  599.65 ms/batch
0 / 100
50 / 100
eval accuracy: 0.5389197649274553
mean IOU:0.11349602616156579
Mean IoU = 11.3%
--------------------------------------------------------------------------------------
11.35 | 38.58 46.72 40.62  0.02  0.00  0.00  0.00  3.18  0.00 18.42  0.00  0.00  0.00 
--------------------------------------------------------------------------------------

Best m_IoU of SensatUrban is: 11.350
****EPOCH 1****
Step 00000550 L_out=4.056 Acc=0.64 ---  593.91 ms/batch
Traceback (most recent call last):
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1356, in _do_call
    return fn(*args)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1341, in _run_fn
    options, feed_dict, fetch_list, target_list, run_metadata)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1429, in _call_tf_sessionrun
    run_metadata)
tensorflow.python.framework.errors_impl.ResourceExhaustedError: 2 root error(s) found.
  (0) Resource exhausted: OOM when allocating tensor with shape[262144,13] and type int64 on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
	 [[{{node results/in_top_k/InTopKV2}}]]
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.

	 [[optimizer/gradients/layers/Encoder_layer_4shortcut/Conv2D_grad/tuple/control_dependency_1/_935]]
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.

  (1) Resource exhausted: OOM when allocating tensor with shape[262144,13] and type int64 on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
	 [[{{node results/in_top_k/InTopKV2}}]]
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.

0 successful operations.
0 derived errors ignored.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main_SensatUrban.py", line 265, in <module>
    model.train(dataset)
  File "/media/takeda/0DC3-0000/SensatUrban/RandLANet.py", line 158, in train
    _, _, summary, l_out, probs, labels, acc = self.sess.run(ops, {self.is_training: True})
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 950, in run
    run_metadata_ptr)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1173, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1350, in _do_run
    run_metadata)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1370, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.ResourceExhaustedError: 2 root error(s) found.
  (0) Resource exhausted: OOM when allocating tensor with shape[262144,13] and type int64 on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
	 [[node results/in_top_k/InTopKV2 (defined at /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:85) ]]
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.

	 [[optimizer/gradients/layers/Encoder_layer_4shortcut/Conv2D_grad/tuple/control_dependency_1/_935]]
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.

  (1) Resource exhausted: OOM when allocating tensor with shape[262144,13] and type int64 on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
	 [[node results/in_top_k/InTopKV2 (defined at /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:85) ]]
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.

0 successful operations.
0 derived errors ignored.

Errors may have originated from an input operation.
Input Source operations connected to node results/in_top_k/InTopKV2:
 loss/GatherV2_2 (defined at /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:75)	
 loss/GatherV2 (defined at /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:67)

Input Source operations connected to node results/in_top_k/InTopKV2:
 loss/GatherV2_2 (defined at /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:75)	
 loss/GatherV2 (defined at /media/takeda/0DC3-0000/SensatUrban/RandLANet.py:67)

Original stack trace for 'results/in_top_k/InTopKV2':
  File "main_SensatUrban.py", line 264, in <module>
    model = Network(dataset, cfg)
  File "/media/takeda/0DC3-0000/SensatUrban/RandLANet.py", line 85, in __init__
    self.correct_prediction = tf.nn.in_top_k(valid_logits, valid_labels, 1)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/ops/nn_ops.py", line 4784, in in_top_k
    return gen_nn_ops.in_top_kv2(predictions, targets, k, name=name)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/ops/gen_nn_ops.py", line 5040, in in_top_kv2
    "InTopKV2", predictions=predictions, targets=targets, k=k, name=name)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 788, in _apply_op_helper
    op_def=op_def)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3616, in create_op
    op_def=op_def)
  File "/home/takeda/.pyenv/versions/SensatUrban/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2005, in __init__
    self._traceback = tf_stack.extract_stack()

Access To Raw Data, Images, Calibration

Hello!

Thank you very much for publishing this really cool dataset. I wanted to know, is it possible to have access to the aerial views and their calibration that allowed you to generate the data?

Best regards

How to obtain the testing mIoU results?

Hi:
How to obtain the testing mIoU results of RandLA-Net? The tester_SensatUrban.py can only obtain the following results and the .labels files, where is the mIoU as reported in the paper Table 3?
Epoch 0, end. Min possibility = 0.0
Epoch 1, end. Min possibility = 0.5

Confusion on sub clouds

Reproject Vote #0
Confusion on full clouds

Question about the York sequence

Hi, @QingyongHu ,

From your paper, the York sequence is mentioned to be used for possible pre-training. However, we couldn't find it from the provided download link. When will the York sequence be ready for download?

Thanks~

about Train/Val/Test Split

Hi, @QingyongHu ,

According to Sec 4.1 in your paper, Train/Val/Test Split is briefly mentioned for Birmingham and Cambridge tiles. For better comparison with the baseline methods mentioned in your experiments, could you list the specific Train/Val split for Birmingham and Cambridge tiles in your experiment?

Thanks~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.