Giter Site home page Giter Site logo

efficient-ransac-for-point-cloud-shape-detection's Introduction

Efficient-RANSAC-for-Point-Cloud-Shape-Detection

Please note that this software is not my own work, this repository is just to try a Linux build of the original software.

As you can see in the ReadMe.txt this software is written by Ruwen Schnabel and Roland Wahl:

Copyright 2009 Ruwen Schnabel ([email protected]),
               Roland Wahl ([email protected]).

This software may be used for research purposes only.

I downloaded it from https://cg.cs.uni-bonn.de/aigaion2root/attachments/Software%20v1.1.zip and it accompains the following paper:

Ruwen Schnabel, Roland Wahl, and Reinhard Klein "Efficient RANSAC for Point-Cloud Shape Detection" In: Computer Graphics Forum (June 2007), 26:2(214-226) http://cg.cs.uni-bonn.de/en/publications/paper-details/schnabel-2007-efficient/

efficient-ransac-for-point-cloud-shape-detection's People

Contributors

alessandro-gentilini 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

efficient-ransac-for-point-cloud-shape-detection's Issues

'asctime': is not a member of '`global namespace''

Hi,

I try to run this program on my computer. I have followed this steps:

mkdir build
cd build
cmake -G "Visual Studio 15 2017 Win64" ..
when I try to compile I have this errors:

image

Have I missed something ?

Best regards,
huoyubai

The main program got stuck.

Hi, Alessandro, thanks for porting this software to github!

I am able to compile and generate the executable. However the main program got stuck after showing "added 10096 points". Is this something expected as I noticed you have this commit
702af12

Thanks,
Bing

Does anyone familiar with the induction process in section 4.5.1?

I‘m confused with the derived form of the score on the whole data. If the author trys to use hypergeometric distribution to characterize the process, i think the score should be just like N*k/n, provided N is size of the whole data, n is size of the subset, k is the number of score on subset. Does anyone know the source of formula (8) and (9)?

By the way, is there anyone use another programming language(python or matlab) to reproduce this code? I hope we can share and talk about some details.

retrieve plane equation

Hello world, I am just wondering if there is a way to retrieve a plane (or any other shape) equation for later usage.
Thank you in advance!

Numerical example of sampling effect in the source paper

Has someone confirmed the values ​​of the numerical example presented in section 4.3.1 of the source paper [1]?

In my attempt I obtained different values; (assumption: d=2)
Expected Values:

T = 151.522.829
T_local = 64.929

Obtained Values

T = 1.6210e+07
T_local = 3.4558e+04

[1] R. Schnabel, R. Wahl, and R. Klein, “Efficient RANSAC for point-cloud shape detection,” Eurographics Assoc. Blackwell Publ. 2007, vol. 26, no. 2, pp. 214–226, 2007.

my code in matlab
%% parameters
pt=0.99;%probabilitiy of a succesful detection; defined by user
k=2;%size of a minimal set required to define a cylinder candidate.
n=1066;%size of the shape psi in the point cloud PC
N=2000000;%size of the point cloud PC; in number of points
d=2;%--octree's depth where the cell C is located; Points in cell=341.547

%% compute P(n)
Pn=(n/N)^k;%probability of detecting the shape psi in a single pass
Pn_local=n/(Nd2^(k-1));

%% compute T
T=log(1-pt)/log(1-Pn)
T_local=log(1-pt)/log(1-Pn_local)

Query Point Cloud dataset

The repository works on random points to generate shape. How to load a custom point cloud data. and the code is not working in windows?

Cannot generate the executable

Hello there, I am trying to test the code but I get stuck in building the executable, here is the error I get when I run : g++ -I./ -o main main.cpp

/usr/bin/ld: /tmp/cc6Q5t5Y.o: warning: relocation against _ZTV33CylinderPrimitiveShapeConstructor' in read-only section .text._ZN33CylinderPrimitiveShapeConstructorC2Ev[_ZN33CylinderPrimitiveShapeConstructorC5Ev]' /usr/bin/ld: /tmp/cc6Q5t5Y.o: in function main':
main.cpp:(.text+0x47): undefined reference to PointCloud::PointCloud()' /usr/bin/ld: main.cpp:(.text+0x2a7): undefined reference to PointCloud::calcNormals(float, unsigned int, unsigned int)'
/usr/bin/ld: main.cpp:(.text+0x39c): undefined reference to RansacShapeDetector::RansacShapeDetector(RansacShapeDetector::Options const&)' /usr/bin/ld: main.cpp:(.text+0x3d1): undefined reference to RansacShapeDetector::Add(PrimitiveShapeConstructor*)'
/usr/bin/ld: main.cpp:(.text+0x406): undefined reference to RansacShapeDetector::Add(PrimitiveShapeConstructor*)' /usr/bin/ld: main.cpp:(.text+0x44f): undefined reference to RansacShapeDetector::Detect(PointCloud&, unsigned long, unsigned long, MiscLib::Vector<std::pair<MiscLib::RefCountPtr, unsigned long>, MiscLib::AlignedAllocator<std::pair<MiscLib::RefCountPtr, unsigned long>, 8u> >*)'
/usr/bin/ld: main.cpp:(.text+0x600): undefined reference to RansacShapeDetector::~RansacShapeDetector()' /usr/bin/ld: main.cpp:(.text+0x6d8): undefined reference to RansacShapeDetector::~RansacShapeDetector()'
/usr/bin/ld: /tmp/cc6Q5t5Y.o: in function MiscLib::RefCount::RefCount()': main.cpp:(.text._ZN7MiscLib8RefCountC2Ev[_ZN7MiscLib8RefCountC5Ev]+0xf): undefined reference to vtable for MiscLib::RefCount'
/usr/bin/ld: /tmp/cc6Q5t5Y.o: in function PlanePrimitiveShapeConstructor::PlanePrimitiveShapeConstructor()': main.cpp:(.text._ZN30PlanePrimitiveShapeConstructorC2Ev[_ZN30PlanePrimitiveShapeConstructorC5Ev]+0x1f): undefined reference to vtable for PlanePrimitiveShapeConstructor'
/usr/bin/ld: /tmp/cc6Q5t5Y.o: in function CylinderPrimitiveShapeConstructor::CylinderPrimitiveShapeConstructor()': main.cpp:(.text._ZN33CylinderPrimitiveShapeConstructorC2Ev[_ZN33CylinderPrimitiveShapeConstructorC5Ev]+0x1f): undefined reference to vtable for CylinderPrimitiveShapeConstructor'
/usr/bin/ld: /tmp/cc6Q5t5Y.o:(.data.rel.ro._ZTI25PrimitiveShapeConstructor[_ZTI25PrimitiveShapeConstructor]+0x10): undefined reference to typeinfo for MiscLib::RefCount' /usr/bin/ld: warning: creating DT_TEXTREL in a PIE collect2: error: ld returned 1 exit status

How to visualize the result of the shape detection?

Hello, I have some question with how to visualize the detection result. We can see how many points in the different type shapes, but can not see which points are in which shape? Does there any code on this repo to do this work?

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.