Giter VIP home page Giter VIP logo

bagsfit's Introduction

Primitive Fitting Using Deep Boundary Aware Geometric Segmentation

By Duanshun Li and Chen Feng.

Introduction

To identify and fit geometric primitives (e.g., planes, spheres, cylinders, cones) in a noisy point cloud is a challenging yet beneficial task for fields such as robotics and reverse engineering. As a multi-model multi-instance fitting problem, it has been tackled with different approaches including RANSAC, which however often fit inferior models in practice with noisy inputs of cluttered scenes. Inspired by the corresponding human recognition process, and benefiting from the recent advancements in image semantic segmentation using deep neural networks, we propose BAGSFit as a new framework addressing this problem. Firstly, through a fully convolutional neural network, the input point cloud is point-wisely segmented into multiple classes divided by jointly detected instance boundaries without any geometric fitting. Thus, segments can serve as primitive hypotheses with a probability estimation of associating primitive classes. Finally, all hypotheses are sent through a geometric verification to correct any misclassification by fitting primitives respectively. We performed training using simulated range images and tested it with both simulated and real-world point clouds. Quantitative and qualitative experiments demonstrated the superiority of BAGSFit.

primfit

Primitive fitting on a simulated test range image (top left) with BAGSFit (top right) vs. RANSAC (top middle). Estimated normals (bottom left) and ground truth labels (bottom middle) are used to train a fully convolutional segmentation network in BAGSFit. During testing, a boundary-aware and thus instance-aware segmentation (bottom right) is predicted, and sent through a geometric verification to fit final primitives (randomly colored). Comparing with BAGSFit, the RANSAC-based method produces more misses and false detections of primitives (shown as transparent or wire-frame), and thus a less appealing visual result.

Dataset

Download

The dataset used in our paper is provided on Google Drive.

Details

The dataset is created with Blensor on simulated scenes.

blensor

In our paper, the first 18 scenes in Train-20s dataset is used for training, the last two scenes are used for valication. The Test-20s dataset is used for testing.

In each scene, there are several types of data:

  • The .npz files store the simulated data and their label;
  • The primitives.prim file stores the parameters of the objects in the scene;
  • The cam.pos file stores the pose of the camera for each image;
  • The .prim files record the parameters of the primitive in the camera's coordinate system.

Each npz file has following fields:

  • data: the xyz coordinates of simulated data with noise;
  • scan: the xyz coordinates of simulated data without noise;
  • ins: the instance label
  • cls: the class label

The primitives are parameterized with following parameters:

  • Plane: a point on the plane and its norm; i.e. x, y, z, nx, ny, nz.
  • Sphere: a point on the center and its radius; i.e. x, y, z, r.
  • Cylinder: a point on the axis, the axis, and the radius; i.e. x, y, z, nx, ny, nz, r.
  • Cone: the apex, the axis, and the open angle in radius; i.e. x, y, z, nx, ny, nz, \theta

Citation

You can reference the following article if the dataset is used.

Li, Duanshun, and Chen Feng. "Primitive Fitting Using Deep Boundary Aware Geometric Segmentation." arXiv preprint arXiv:1810.01604 (2018).

BibTex:

@article{li2018primitive,
  title={Primitive Fitting Using Deep Boundary Aware Geometric Segmentation},
  author={Li, Duanshun and Feng, Chen},
  journal={arXiv preprint arXiv:1810.01604},
  year={2018}
}

bagsfit's People

Contributors

simbaforrest avatar duanshun avatar

Watchers

James Cloos avatar paper2code - bot avatar

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.