All Projects → ai4ce → Peac

ai4ce / Peac

Fast Plane Extraction Using Agglomerative Hierarchical Clustering (AHC)

Projects that are alternatives of or similar to Peac

Cilantro
A lean C++ library for working with point cloud data
Stars: ✭ 577 (+1031.37%)
Mutual labels:  point-cloud, rgbd
Yolo3d Yolov4 Pytorch
YOLO3D: End-to-end real-time 3D Oriented Object Bounding Box Detection from LiDAR Point Cloud (ECCV 2018)
Stars: ✭ 119 (+133.33%)
Mutual labels:  point-cloud, real-time
Record3d
Accompanying library for the Record3D iOS app (https://record3d.app/). Allows you to receive RGBD stream from iOS devices with TrueDepth camera(s).
Stars: ✭ 102 (+100%)
Mutual labels:  point-cloud, rgbd
3dgnn pytorch
3D Graph Neural Networks for RGBD Semantic Segmentation
Stars: ✭ 187 (+266.67%)
Mutual labels:  point-cloud, rgbd
ESANet
ESANet: Efficient RGB-D Semantic Segmentation for Indoor Scene Analysis
Stars: ✭ 154 (+201.96%)
Mutual labels:  real-time, rgbd
3DGNN
No description or website provided.
Stars: ✭ 56 (+9.8%)
Mutual labels:  point-cloud, rgbd
Vision3d
Research platform for 3D object detection in PyTorch.
Stars: ✭ 177 (+247.06%)
Mutual labels:  point-cloud, real-time
3dmatch Toolbox
3DMatch - a 3D ConvNet-based local geometric descriptor for aligning 3D meshes and point clouds.
Stars: ✭ 571 (+1019.61%)
Mutual labels:  point-cloud, rgbd
Depth clustering
🚕 Fast and robust clustering of point clouds generated with a Velodyne sensor.
Stars: ✭ 657 (+1188.24%)
Mutual labels:  point-cloud, real-time
Unity 3mx
Load 3MX/3MXB format LOD model files generated by Bentley ContextCapture into Unity.
Stars: ✭ 38 (-25.49%)
Mutual labels:  point-cloud
Rgcnn
Regularized Graph CNN for Point Cloud Segmentation
Stars: ✭ 45 (-11.76%)
Mutual labels:  point-cloud
Pendulum
ROS, ROS2, real-time, control, pendulum
Stars: ✭ 37 (-27.45%)
Mutual labels:  real-time
Heimdallr
Heimdallr, a Large-scale chat application server based on Redis Pubsub and Akka's actor model.
Stars: ✭ 38 (-25.49%)
Mutual labels:  real-time
Nodejs Socketio Chat App
MEAN Stack & Socket.IO Real-time Chat App | A MEAN stack based Real Time chat application
Stars: ✭ 45 (-11.76%)
Mutual labels:  real-time
Movie
Personalized real-time movie recommendation system
Stars: ✭ 37 (-27.45%)
Mutual labels:  real-time
Trescope
Trescope is a comprehensive 3D machine learning development tool devoted to improve developing experience and speed in 3D field, which helps researchers and developers to label, debug, visualize various 3D data
Stars: ✭ 49 (-3.92%)
Mutual labels:  point-cloud
Openni2 camera
ROS wrapper for openni 2.0
Stars: ✭ 36 (-29.41%)
Mutual labels:  rgbd
Blender kitti
Render large point clouds and voxel grids with blender.
Stars: ✭ 36 (-29.41%)
Mutual labels:  point-cloud
3d Tiles
Specification for streaming massive heterogeneous 3D geospatial datasets 🌎
Stars: ✭ 1,054 (+1966.67%)
Mutual labels:  point-cloud
Ab3dmot
(IROS 2020, ECCVW 2020) Official Python Implementation for "3D Multi-Object Tracking: A Baseline and New Evaluation Metrics"
Stars: ✭ 1,032 (+1923.53%)
Mutual labels:  real-time

Fast Plane Extraction Using Agglomerative Hierarchical Clustering (AHC)

Legal Remarks

Copyright 2014 Mitsubishi Electric Research Laboratories All Rights Reserved.

Permission to use, copy and modify this software and its documentation without fee for educational, research and non-profit purposes, is hereby granted, provided that the above copyright notice, this paragraph, and the following three paragraphs appear in all copies.

To request permission to incorporate this software into commercial products contact: Director; Mitsubishi Electric Research Laboratories (MERL); 201 Broadway; Cambridge, MA 02139.

IN NO EVENT SHALL MERL BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF MERL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

MERL SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND MERL HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

Overview

This source code package contains our C++ implementation of the AHC based fast plane extraction for organized point cloud (point cloud that can be indexed as an image). There are three folders in this package:

  • include

    Our C++ implementation of the algorithm with dependencies on OpenCV and shared_ptr (from C++11 or Boost).

  • cpp

    Two example C++ console applications using our algorithm to extract planes from Kinect-like point cloud (depends on PCL), with a CMake script to help generating project files.

  • matlab

    A matlab interface (fitAHCPlane.m) through MEX for using our algorithm in matlab. We also provide a wrapper class Kinect.m and kinect_ahc.m to do real-time plane extraction in matlab, partially depends on a 3rd-party toolbox Kinect_Matlab.

If you use this package, please cite our ICRA 2014 paper:

Feng, C., Taguchi, Y., and Kamat, V. R. (2014). "Fast Plane Extraction in Organized Point Clouds Using Agglomerative Hierarchical Clustering." Proceedings of the IEEE International Conference on Robotics and Automation, Hong Kong, China, 6218-6225.

Version

1.0

Installation

C++ example
  1. Install OpenCV, Boost and PCL (If you install PCL using their all-in-one installer, you directly get Boost installed as well).

  2. Generate project file using CMake under either Windows or Linux.

  3. Compile.

  4. Run the compiled process: plane_fitter (first connect a Kinect to your computer!) or plane_fitter_pcd (first modify plane_fitter_pcd.ini accordingly!).

  5. Enjoy!

Matlab example
  1. In matlab:
cd WHERE_YOU_EXTRACT_THE_PACKAGE/matlab/mex
  1. Run makefile.m

  2. Select the directories for OpenCV_Include, OpenCV_Lib, and Boost_Include respectively

  3. If everything compiles smoothly:

cd ..
  1. Load a single frame we've prepared for you in matlab by:
load frame
  1. Run our algorithm on the point cloud:
frame.mbs=fitAHCPlane(frame.xyz);
viewSeg(frame.mbs,640,480)
  1. Enjoy!

  2. If you want to play with the kinect_ahc.m with a Kinect, install Kinect_Matlab first.

Contact

Chen Feng

Feel free to email any bugs or suggestions to help us improve the code. Thank you!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].