tudelft3d / City3D

Large-scale LoD2 Building Reconstruction from Airborne LiDAR Point Clouds
https://github.com/tudelft3d/City3D
GNU General Public License v3.0
223 stars 36 forks source link

Reconstruction doesn't finish #41

Closed FloyenLi closed 2 months ago

FloyenLi commented 2 months ago

Describe the bug I import the point cloud model into the City3D. For segment and extract roofs, the processes are smooth. But in the reconstruction step, the City3D crashed. The number of point clouds is 10k. I tried 3d models with different amounts of point clouds. But the results are the same. I wonder what the problem is.

微信图片_20240415190954 微信图片_20240415191800

LiangliangNan commented 2 months ago

Can you post you input data here? The data is needed to reproduce the bug for debugging.

FloyenLi commented 2 months ago

final3d_model.zip Here is the input data. One has 10k cloud points. The other one has 1m cloud points. Thanks.

LiangliangNan commented 2 months ago

I want to point out three issues I have already observed from your data.

(1) Your point cloud has an arbitrary orientation. Our method reqires the input point cloud has a upright orientation (i.e., Z-axis must point upward). The arbitrary orientation of you input results in some weired reconstruction. Below is what I got: snapshot

(2) Your input point cloud is supper noisy, which leads to unreliable planes detection. (3) Our method is designed to handle airborne LiDAR data (see our paper title), so only roof planes can be detected. Your data contains all other vertical walls, which further increases the number of planes.

If you have read our paper about how the method works, you will understand that the initial large number of planes and footprint edges will result in a huge integer program that existing solvers cannot solve the optimization within a limited time.

Your other point cloud is a scene consisting several buildings and other objects. If you have read our paper, you should understand that on has to use some instance segmentation method to segment out the individual buildings, and then input the point clouds of the individual buildings to City3D. City3D may not be able to do the segmentation unless you provide the footprint polygons of all the buildings.

FloyenLi commented 2 months ago

Thanks for your answer.