tudelft3d / PSSNet

PSSNet: Planarity-sensible Semantic Segmentation of Large-scale Urban Meshes
GNU General Public License v3.0
36 stars 6 forks source link

How to Generate Oversegmentation Results through Data Prediction #10

Closed Berlin000000 closed 3 months ago

Berlin000000 commented 4 months ago

How can I use the software to process my personal data into oversegmentation results or generate data for step-2? I tried your provided demo data: Snipaste_2024-04-23_21-50-25

In the config.txt file, I set the operating_mode to PSSNet_pipeline_for_GCN and the data to process to predict. However, the software threw an error. Snipaste_2024-04-23_21-51-53

I'm looking forward to and appreciate your help. Here is my debug information

Reading configuration file: Done in (s): 0.002256

--------------------- Generating predict mesh features --------------------- Get all predict data. Done in (s): 0.0013481

loading mesh: 813945328-1

vertex properties on mesh 813945328-1 v:connectivity v:point v:deleted v:vert_planarity v:vert_component_id v:vert_check face properties on mesh 813945328-1 f:connectivity f:deleted f:face_segment_id f:face_component_id f:face_smoothed_seg_id f:face_spid_update f:face_area f:label_probabilities f:one_ring_avg_label_probabilities f:face_center f:face_planar_segment_plane_normal f:face_1_ring_neighbor f:face_sampled_points f:face_ele_sampled_points f:face_texture_points f:face_tile_index f:face_component_visit f:face_interior_medialball_radius f:face_rgb_x f:face_rgb_y f:face_rgb_z f:face_hsv_x f:face_hsv_y f:face_hsv_z f:all_label_probabilities f:face_sampled_points_id_index_map f:face_ele_sampled_points_id_index_map f:face_texture_points_id_index_map f:face_spherical_neg_points f:face_segid_local_longrange_elevation_vec f:face_multiscales_minmax_elevation f:face_check f:face_error_color f:face_1ring_neighbor f:face_segid_local_elevation_vec f:texnumber f:texcoord edge properties on mesh 813945328-1 e:deleted e:edge_boundary_truth e:edge_boundary_predict mesh read successful, loading time: 1.28236s The total number of input triangle facets: 17625

The total number of input edges: 31797

The total number of input vertices: 15481

The total number of input texture image: 2

    - Pre-processing of the input mesh: Using face centers and vertices as sampled point clouds, [ INFO:0@8.330] global registry_parallel.impl.hpp:96 cv::parallel::ParallelBackendRegistry::ParallelBackendRegistry core(parallel): Enabled backends(3, sorted by priority): ONETBB(1000); TBB(990); OPENMP(980)

[ INFO:0@8.331] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load D:\code\vcpkg\vcpkg\installed\x64-windows\debug\bin\opencv_core_parallel_onetbb480_64d.dll => FAILED [ INFO:0@8.332] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_core_parallel_onetbb480_64d.dll => FAILED [ INFO:0@8.332] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load D:\code\vcpkg\vcpkg\installed\x64-windows\debug\bin\opencv_core_parallel_tbb480_64d.dll => FAILED [ INFO:0@8.333] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_core_parallel_tbb480_64d.dll => FAILED [ INFO:0@8.333] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load D:\code\vcpkg\vcpkg\installed\x64-windows\debug\bin\opencv_core_parallel_openmp480_64d.dll => FAILED [ INFO:0@8.335] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_core_parallel_openmp480_64d.dll => FAILED done in (s): 0.946523

    Start to writing sampled point cloud ...

TODO: use binary format pointcloud saved Done in (s): 0.471024

    Start to writing elevation sampled point cloud ...

TODO: use binary format pointcloud saved Done in (s): 0.0073232

    - Preprocessing of mesh textures: Done in (s): 140.367

    - Region growing to generate mesh segments:
            - Found 1402 superfacets took 1.40043 (s).
    - Construct superfacets from raw mesh:  Done in (s): 3.42456

    - Compute basic mesh features: Done in (s): 3.00356

    - Compute mesh segment features: Done in (s): 97.9262

    - Feature normalization: Done in (s): 0.011978

    - Construct feature point clouds, use  (s): 0.0186955

    - Start to writing feature point cloud: TODO: use binary format

pointcloud saved Done in (s): 0.139018

    Saving segment mesh: 8139_45328_-1

TODO: use binary format mesh saved Done in (s): 1.17587

    Get all training data.
    Done in (s): 0.0004507

--------------------- Training Mode --------------------- Could not find platform dependent libraries Traceback (most recent call last): File "", line 1, in File "D:\code/PSSNet-main/step-1/3rd_party/python_parsing/py_aug\seg_aug.py", line 62, in segment_feature_augmentation(in_folder, out_folder, labels_name_size, used_k_neighbors) File "D:\code/PSSNet-main/step-1/3rd_party/python_parsing/py_aug\seg_aug.py", line 33, in segment_feature_augmentation from imblearn.over_sampling import SVMSMOTE ImportError: cannot import name 'SVMSMOTE' from 'imblearn.oversampling' (unknown location) Start to read augmented features Tile+1984_+2688 RPly: Unable to open file failed to open ply file './Debug/context/PSSNet/feature/trainaugmented/Tile+1984_+2688_pcl_feas_aug.ply' reading file failed (no data exist) File loading failed

WeixiaoGao commented 4 months ago

Firstly, you should download the data_demo_pssnet/ directory instead of data_cmt_demo/. Secondly, the error message indicates that the program could not locate the required dependent libraries. Please ensure that you have followed the instruction Running the code and correctly installed Python (>=3.7), imbalanced-learn, and numpy. Additionally, replace the file at ..\Python\Python37\Lib\site-packages\imblearn\over_sampling\_smote\filter.py with the file provided at ..\3rd_party\python_parsing\py_aug\filter.py. Lastly, if you prefer not to use SMOTE, you can disable it by setting enable_augment = false in the config.txt.

Berlin000000 commented 3 months ago

Thank you very much for your response and assistance. I have set enable_augment to false and tried running the PSSNet_pipeline_for_GCN again. However, after saving the segmentation results, it starts with "Get all training data" and then produces a series of errors, as shown in the attached image. image image

My config file settings are as follows. Could you please take a look and see if there are any issues I might have overlooked?

image

Berlin000000 commented 3 months ago

Additionally, while reviewing the output segment files in the Mapple software you mentioned, I noticed that the results of coloring based on segment_id did not exhibit any clear significance. Is this normal? image