Code Monkey home page Code Monkey logo

pcl-mean-and-covariance's People

Contributors

msy22 avatar taketwo avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

msy22

pcl-mean-and-covariance's Issues

What clouds should be used for testing?

I'm reading through the PCL code in the pcl/test folder, and I see that there are a number of example point clouds in there. I also see that there is an existing test for PCL point normals in the file test_normal_estimation.cpp but this file either specifies the exact points or loads one of the pre-existing point clouds: bun0.pcd which appears to be one of the original scans of the Stanford Bunny.

Specifying exact points doesn't scale well, and the Stanford Bunny seems like a limited example by itself, and doesn't contain any ground-truth normals. So I'd like to propose creating a folder of purpose-built point clouds that can be loaded and run through the test framework. I'm initially thinking of 15 or more clouds spread across three tiers:

  1. Primitives: Planes, cubes, spheres etc for initial testing and visualization purposes.
  2. Shapes: Clouds like the tum_soda_bottle of stand-alone yet complex objects.
  3. Scans: Point clouds that resemble the output of a real (or simulated) LiDAR or stereo camera unit.

In each case, the cloud will contain XYZ points and ground-truth normals. So rather than comparing the calculated normals to hard-coded values, you can load the cloud, copy it without normals, re-calculate them using the test functions, and then compare the calculated normals in the second (copied) cloud to the ground-truth normals in the first (original) cloud.

The first two tiers of clouds can be created using Blender, which can export point clouds with vertex normals, e.g.

blender_cube_with_normals

The third tier is harder. I'm looking into a Unity-based simulation that could potentially simulate LiDAR scans in a known environment, and export them with the ground-truth normals. But if that falls through I have a lot of data from a survey-grade total station that I could calculate normals for and then decimate to make it look like a LiDAR scan.

What are everyone's thoughts on this? I'll also open another issue to discuss the types of tests I could implement once I've finished reading the googletest documentation.

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.