Coder Social home page Coder Social logo

fverdoja / fast-3d-pointcloud-segmentation Goto Github PK

View Code? Open in Web Editor NEW
223.0 223.0 55.0 13.81 MB

Fast 3D point cloud segmentation using supervoxels with geometry and color for 3D scene understanding

Home Page: https://ieeexplore.ieee.org/abstract/document/8019382

License: BSD 3-Clause "New" or "Revised" License

CMake 3.03% C++ 96.97%
c-plus-plus pcl-library pointcloud research ros segmentation supervoxel

fast-3d-pointcloud-segmentation's People

Contributors

fverdoja 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

fast-3d-pointcloud-segmentation's Issues

Error trying to build the library.

When I try to make it, I get this error:

supervoxel_clustering/src/testing.cpp:157:66: error: conversion from ‘boost::detail::sp_if_not_array<pcl::PointCloud<pcl::PointXYZL> >::type {aka boost::shared_ptr<pcl::PointCloud<pcl::PointXYZL> >}’ to non-scalar type ‘pcl::PointCloud<pcl::PointXYZL>::Ptr {aka std::shared_ptr<pcl::PointCloud<pcl::PointXYZL> >}’ requested
     PointLCloudT::Ptr subcloud = boost::make_shared<PointLCloudT>();

Since this was in the testing.cpp, I tried ignoring this file to build the source. But it died again on:

supervoxel_clustering/src/clustering.cpp:406:63: error: conversion from ‘boost::detail::sp_if_not_array<pcl::Supervoxel<pcl::PointXYZRGBA> >::type {aka boost::shared_ptr<pcl::Supervoxel<pcl::PointXYZRGBA> >}’ to non-scalar type ‘pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr {aka std::shared_ptr<pcl::Supervoxel<pcl::PointXYZRGBA> >}’ requested
     SupervoxelT::Ptr sup_new = boost::make_shared<SupervoxelT>();

What could be going wrong with the boost::make_shared instantiation?

Boost Version: 1.58.0.1ubuntu1

PCL Version: 1.11

C++14 compiler

Demo question

I compile successfully and run the given pcd demo:
./supervoxel_clustering -p ../pcd/milk_cartoon_all_small_clorox.pcd
Here is the segmentation visualization result:
1617201661(1)

It doesn't look great.

And this is my terminal output information:

Loading pointcloud from PCD file '../pcd/milk_cartoon_all_small_clorox.pcd'...
Failed to find match for field 'label'.
Pointcloud loaded
Extracting supervoxels...
Found 604 supervoxels
Getting supervoxel adjacency...
Refining supervoxels...
Constructing Boost Graph Library Adjacency List...
Segmentation initialization...
Testing thresholds from 0.800000 to 1.000000 (step 0.005000)
<T, Fscore, voi, wov> = <0.800000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.805000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.810000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.815000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.820000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.825000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.830000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.835000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.840000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.845000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.850000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.855000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.860000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.865000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.870000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.875000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.880000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.885000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.890000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.895000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.900000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.905000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.910000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.915000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.920000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.925000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.930000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.935000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.940000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.945000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.950000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.955000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.960000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.965000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.970000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.975000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.980000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.985000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.990000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <0.995000, 0.996362, 0.047721, 0.992751>
<T, Fscore, voi, wov> = <1.000000, 0.996362, 0.047721, 0.992751>
Using best threshold: 0.800000 (F-score 0.996362, voi 0.047721)
Initialization complete
Starting clustering...
Clustering complete
Initializing testing suite...
Loading visualization...
Loading viewer...
Scores:
VOI     0.047721
Prec.   1.000000
Recall  0.992751
F-score 0.996362
WOv     0.992751
FPR     0.000000
FNR     0.007249

Is there any problem? Would you like to share your output details?
Thanks!

My visulize windows is only has the supervoxel normals result.

When I use your pcd file in your files without ROS.
In my terminal I input "build/supervoxel_clusrering -p pcd/milk_cartoon_all_small_colorx_pcd", ther is a tip in my terminal "Failed to find match for field 'label'. And the other step is good.
Last, my visulize window is only has the supervoxel normals result(whatever I choose 0-4 is ON or only choose 3 or others ), and no have others result. No color, only white normal vector.
What's wrong? Hope your answer.

about parameters

excuse me, I have run your code many times, but the segmentation effect is not ideal, because there are too many parameters, so I would like to ask what are the specific parameters of the runtime in your example: milk_cartoon_all_small_clorox.pcd.

Hope to get your reply, thank you!

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.