probreg - Python package for point cloud registration using probabilistic model (Coherent Point Drift, GMMReg, SVR, GMMTree, FilterReg, Bayesian CPD)

  •        498

Probreg is a library that implements point cloud registration algorithms with probablistic model. The point set registration algorithms using stochastic model are more robust than ICP(Iterative Closest Point). This package implements several algorithms using stochastic models and provides a simple interface with Open3D.

https://github.com/neka-nat/probreg

Tags
Implementation
License
Platform

   




Related Projects

cilantro - A lean C++ library for working with point cloud data

  •    C++

cilantro is a lean and fast C++ library for working with point cloud data, with emphasis given to the 3D case. It includes efficient implementations for a variety of common operations, providing a clean API and attempting to minimize the amount of boilerplate code. The library is extensively templated, enabling operations on data of arbitrary numerical type and dimensionality (where applicable) and featuring a modular/extensible design of the more complex procedures. At the same time, convenience aliases/wrappers for the most common cases are provided. A high-level description of cilantro can be found in our technical report. Documentation (readthedocs.io, Doxygen API reference) is a work in progress. The short provided examples (built by default) cover a significant part of the library's functionality. Most of them expect a single command-line argument (path to a point cloud file in PLY format). One such input is bundled in examples/test_clouds for quick testing.

XNA Dual Quaternion Skinning

  •    

A dual quaternion version of the XNA Skinning Sample. Dual Quaternion skinning is slower than standard skinning but produces more mathematically accurate results and reduces undesirable candy wrapper effects that are often seen at shoulder joints of meshes.

fast_gicp - A collection of GICP-based fast point cloud registration algorithms

  •    C++

This package is a collection of GICP-based fast point cloud registration algorithms. It constains a multi-threaded GICP as well as multi-thread and GPU implementations of our voxelized GICP (VGICP) algorithm. All the implemented algorithms have the PCL registration interface so that they can be used as an inplace replacement for GICP in PCL. We have tested this package on Ubuntu 18.04/20.04 and CUDA 11.1.

TEASER-plusplus - A fast and robust point cloud registration library

  •    C++

TEASER++ is a fast and certifiably-robust point cloud registration library written in C++, with Python and MATLAB bindings. Left: correspondences generated by 3DSmoothNet (green and red lines represent the inlier and outlier correspondences according to the ground truth respectively). Right: alignment estimated by TEASER++ (green dots represent inliers found by TEASER++).

dynamic_robot_localization - Point cloud registration pipeline for robot localization and 3D perception

  •    C++

The dynamic_robot_localization is a ROS package that offers 3 DoF and 6 DoF localization using PCL and allows dynamic map update using OctoMap. It's a modular localization pipeline, that can be configured using yaml files (detailed configuration layout available in drl_configs.yaml and examples of configurations available in guardian_config and dynamic_robot_localization_tests). Even though this package was developed for robot self-localization and mapping, it was implemented as a generic, configurable and extensible point cloud matching library, allowing its usage in related problems such as estimation of the 6 DoF pose of an object and 3D object scanning.


lidar_camera_calibration - ROS package to find a rigid-body transformation between a LiDAR and a camera for "LiDAR-Camera Calibration using 3D-3D Point correspondences"

  •    C++

The package is used to calibrate a LiDAR (config to support Hesai and Velodyne hardware) with a camera (works for both monocular and stereo). The package finds a rotation and translation that transform all the points in the LiDAR frame to the (monocular) camera frame. Please see Usage for a video tutorial. The lidar_camera_calibration/pointcloud_fusion provides a script to fuse point clouds obtained from two stereo cameras. Both of which were extrinsically calibrated using a LiDAR and lidar_camera_calibration. We show the accuracy of the proposed pipeline by fusing point clouds, with near perfection, from multiple cameras kept in various positions. See Fusion using lidar_camera_calibration for results of the point cloud fusion (videos).

cupoch - Robotics with GPU computing

  •    C++

Cupoch is a library that implements rapid 3D data processing for robotics using CUDA. The goal of this library is to implement fast 3D data computation in robot systems. For example, it has applications in SLAM, collision avoidance, path planning and tracking. This repository is based on Open3D.

Dual Quaternion Skinning Maya Plugin

  •    C++

A Maya plugin implementing a smooth skinning node doing dual quaternion skinning. Please visit the project's homepage for more information and downloads.

Easy3D - A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data

  •    C++

Efficient data structures for representing and managing 3D models such as point clouds, polygonal surfaces (e.g., triangle meshes), polyhedral volumes (e.g., tetrahedral meshes), and graphs. Easy to add/access arbitrary types of per-element properties. Non-manifoldness is automatically resolved when loading models from files ... A set of widely used algorithms, e.g., point cloud normal estimation/re-orientation, Poisson surface reconstruction, RANSAC, mesh simplification, subdivision, smoothing, parameterization, remeshing, and more (the implementation of several surface mesh processing algorithms were taken from PMP).

Open3D - Open3D: A Modern Library for 3D Data Processing

  •    C++

Open3D is an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. We welcome contributions from the open-source community. Please cite our work if you use Open3D.

Open3D-PointNet2-Semantic3D - Semantic3D segmentation with Open3D and PointNet++

  •    Python

Demo project for Semantic3D (semantic-8) segmentation with Open3D and PointNet++. The purpose of this project is to showcase the usage of Open3D in deep learning pipelines and provide a clean baseline implementation for semantic segmentation on Semantic3D dataset. Here's our entry on the semantic-8 test benchmark page. Open3D is an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. We welcome contributions from the open-source community.

pcl - Point Cloud Library (PCL)

  •    C++

The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. PCL is released under the terms of the BSD license, and thus free for commercial and research use. We are financially supported by a consortium of commercial companies, with our own non-profit organization, Open Perception. We would also like to thank individual donors and contributors that have been helping the project.

ApproxMVBB - Fast algorithms to compute an approximation of the minimal volume oriented bounding box of a point cloud in 3D

  •    C++

Computing the minimal volume oriented bounding box for a given point cloud in 3D is a hard problem in computer science. Exact algorithms are known and of cubic order in the number of points in 3D. A faster exact algorithm is currently not know. However, for lots of applications an approximation of the minimum volume oriented bounding box is acceptable and already accurate enough. This project was developed for research in Granular Rigidbody Dynamics. This small standard compliant C++11 library can either be built into a shared object library or directly be included in an existing C++ project. Download these and install it on your system.

Open3D - Open3D: A Modern Library for 3D Data Processing

  •    C++

Open3D is an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. We welcome contributions from the open-source community. For more, please visit the Open3D documentation.

3d-bat - 3D Bounding Box Annotation Tool (3D-BAT) Point cloud and Image Labeling

  •    Javascript

1. Step: draw bounding box in the camera image 2. Step: choose current bounding box by activating it 3. Step: You can move it in image space or even change its size by drag and droping 4. Step: Switch into PCD MODE into birds-eye-view 5. Step: Place 3D label into 3D scene to corresponding 2D label 6. Step: Adjust label: 1. drag and dropping directly on label to change position or size 2. use control bar to change position and size (horizontal bar -> rough adjustment, vertical bar -> fine adjustment) 3. Go into camera view to check label with higher intensity and bigger point size 7. Step: Choose label from drop down list 8. Step: Repeat steps 1-7 for all objects in the scene 9. Step: Save labels into file 10. Step: Click on 'HOLD' button if you want to keep the same label positions and sizes 11. Step: click on 'Next camera image'

CloudCompare - CloudCompare main repository

  •    C++

CloudCompare is a 3D point cloud (and triangular mesh) processing software. It was originally designed to perform comparison between two 3D points clouds (such as the ones obtained with a laser scanner) or between a point cloud and a triangular mesh. It relies on an octree structure that is highly optimized for this particular use-case. It was also meant to deal with huge point clouds (typically more than 10 millions points, and up to 120 millions with 2 Gb of memory). Refer to the BUILD.md file for up-to-date information.

skeletal-animation-system - A standalone, stateless, dual quaternion based skeletal animation system built with interactive applications in mind

  •    Javascript

skeletal-animation-system aims to give the user a flexible module for managing skeletal animations across different 3d models and bone groups. skeletal-animation-system aims to provide a sane API for starting, stopping and interpolating skeletal animations.

3DTK - The 3D Toolkit

  •    C++

The 3D Toolkit provides algorithms and methods to process 3D point clouds. In includes automatic precise registration (6D simultaneous localization and mapping, 6D SLAM) and other tools, e.g., a fast 3D viewer, plane extraction software, etc.

draco - Draco is a library for compressing and decompressing 3D geometric meshes and point clouds

  •    C++

Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.Draco was designed and built for compression efficiency and speed. The code supports compressing points, connectivity information, texture coordinates, color information, normals, and any other generic attributes associated with geometry. With Draco, applications using 3D graphics can be significantly smaller without compromising visual fidelity. For users, this means apps can now be downloaded faster, 3D graphics in the browser can load quicker, and VR and AR scenes can now be transmitted with a fraction of the bandwidth and rendered quickly.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.