All Projects → maggie0106 → Graph Cnn In 3d Point Cloud Classification

maggie0106 / Graph Cnn In 3d Point Cloud Classification

Licence: mit
Code for A GRAPH-CNN FOR 3D POINT CLOUD CLASSIFICATION (ICASSP 2018)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Graph Cnn In 3d Point Cloud Classification

Pointcnn
PointCNN: Convolution On X-Transformed Points (NeurIPS 2018)
Stars: ✭ 1,120 (+443.69%)
Mutual labels:  point-cloud, pointcloud, convolutional-neural-networks
ECCV-2020-point-cloud-analysis
ECCV 2020 papers focusing on point cloud analysis
Stars: ✭ 22 (-89.32%)
Mutual labels:  point-cloud, pointcloud
costmap depth camera
This is a costmap plugin for costmap_2d pkg. This plugin supports multiple depth cameras and run in real time.
Stars: ✭ 26 (-87.38%)
Mutual labels:  point-cloud, pointcloud
awesome-lidar
😎 Awesome LIDAR list. The list includes LIDAR manufacturers, datasets, point cloud-processing algorithms, point cloud frameworks and simulators.
Stars: ✭ 217 (+5.34%)
Mutual labels:  point-cloud, pointcloud
roofn3d
Roof Classification, Segmentation, and Damage Completion using 3D Point Clouds
Stars: ✭ 35 (-83.01%)
Mutual labels:  point-cloud, pointcloud
Easy3d
A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
Stars: ✭ 383 (+85.92%)
Mutual labels:  graph, point-cloud
lepcc
Point Cloud Compression used in i3s Scene Layer Format
Stars: ✭ 22 (-89.32%)
Mutual labels:  point-cloud, pointcloud
Mvstudio
An integrated SfM (Structure from Motion) and MVS (Multi-View Stereo) solution.
Stars: ✭ 154 (-25.24%)
Mutual labels:  point-cloud, pointcloud
Spatio Temporal Paper List
Spatio-temporal modeling 论文列表(主要是graph convolution相关)
Stars: ✭ 447 (+116.99%)
Mutual labels:  graph, convolutional-neural-networks
Pcl
Point Cloud Library (PCL)
Stars: ✭ 6,897 (+3248.06%)
Mutual labels:  point-cloud, pointcloud
Polylidar
Polylidar3D - Fast polygon extraction from 3D Data
Stars: ✭ 106 (-48.54%)
Mutual labels:  point-cloud, pointcloud
3d Bat
3D Bounding Box Annotation Tool (3D-BAT) Point cloud and Image Labeling
Stars: ✭ 179 (-13.11%)
Mutual labels:  point-cloud, pointcloud
Traffic Sign Detection
Traffic Sign Detection. Code for the paper entitled "Evaluation of deep neural networks for traffic sign detection systems".
Stars: ✭ 200 (-2.91%)
Mutual labels:  convolutional-neural-networks
Cnn Relation Extraction
Tensorflow Implementation of Convolutional Neural Network for Relation Extraction (COLING 2014, NAACL 2015)
Stars: ✭ 203 (-1.46%)
Mutual labels:  convolutional-neural-networks
Phpflo
Flow-based programming for PHP
Stars: ✭ 199 (-3.4%)
Mutual labels:  graph
Star History
The missing star history graph of GitHub repos - https://star-history.com
Stars: ✭ 2,534 (+1130.1%)
Mutual labels:  graph
Litegraph.js
A graph node engine and editor written in Javascript similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D. The engine can run client side or server side using Node. It allows to export graphs as JSONs to be included in applications independently.
Stars: ✭ 2,735 (+1227.67%)
Mutual labels:  graph
Frustum Convnet
The PyTorch Implementation of F-ConvNet for 3D Object Detection
Stars: ✭ 203 (-1.46%)
Mutual labels:  point-cloud
Swiftcharts
Easy to use and highly customizable charts library for iOS
Stars: ✭ 2,336 (+1033.98%)
Mutual labels:  graph
Cnn 3d Images Tensorflow
3D image classification using CNN (Convolutional Neural Network)
Stars: ✭ 199 (-3.4%)
Mutual labels:  convolutional-neural-networks

Graph-CNN-in-3D-Point-Cloud-Classification (PointGCN)

This is a TensorFlow implementation of using graph convolutional neural network to solve 3D point cloud classification problem. Details are decribed in the short paper A GRAPH-CNN FOR 3D POINT CLOUD CLASSIFICATION and master project report in the folder Documents.

If you find this code usefule please cite the following paper:

Yingxue Zhang and Michael Rabbat, "A GRAPH-CNN FOR 3D POINT CLOUD CLASSIFICATION", International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2018

Link: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8462291

Bibtex:

@inproceedings{ZhangR_18_gcnn_point_cloud,

author = {Yingxue Zhang and Michael Rabbat},

title = {A Graph-CNN for 3D Point Cloud Classification},

booktitle = {International Conference on Acoustics, Speech and Signal Processing (ICASSP)},

address = {Calgary, Canada},

year = {2018}

}

Getting Started

Prerequisites

Python 2.7
tensorflow (>0.12)

Installing instructions

  1. Clone this repository.
git clone [email protected]:maggie0106/Graph-CNN-in-3D-Point-Cloud-Classification.git
  1. Install the dependencies.
pip install -r requirements.txt
  1. Download data
    We are using the data from 3D benchmark data set ModelNet http://modelnet.cs.princeton.edu/.
    The mesh polygon data format from ModelNet is preprocessed into Point Cloud format by Charles R. Qi et al. (PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation, CVPR 2017 https://arxiv.org/abs/1612.00593)
    Download the data and put it in the data folder from the following link:
https://shapenet.cs.stanford.edu/media/modelnet40_ply_hdf5_2048.zip 

Model

You can choose between two models using different pooling scheme including global pooling and multi-resolution pooling. And two training schemes have been provided to alleviate the unbalanced data, please change the batchWeight line in the model.py accordingly.

  • global pooling: no subsampling process, only aims at picking the global features.
  • multi-resolution pooling: doing subsampling after each convolutional layer to shrink the graph dimension by farthest subsampling a subset of centroid points and preform max-pooling on each cluter formed by the nearest neighbor around each point in the subset.

Run the demo

To run global pooling model

cd global_pooling_model
python main.py

To run multi-resolution pooling model

cd multi_res_pooling_model	
python main_multi_res.py	

Useful github repo for graph convolutional neural network and deep learning on point set related research

  1. ChebyNet https://github.com/mdeff/cnn_graph
    Michaël Defferrard, Xavier Bresson, Pierre Vandergheynst, Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering, Neural Information Processing Systems (NIPS 2016)
  2. GCN https://github.com/tkipf/gcn
    Thomas N. Kipf, Max Welling, Semi-Supervised Classification with Graph Convolutional Networks (ICLR 2017)
  3. PointNet https://github.com/charlesq34/pointnet
    Charles R. Qi, Hao Su, Kaichun Mo, Leonidas J. Guibas, PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation (CVPR 2017)

Using scope

This implementation can be used to achieve 3D point cloud classification and can be easily applied to point cloud part segmentation by simply removing the global features aggregation process to achieve pointwise classification. This model also has the potential to extend into any problem relate to the interaction between graph structure and graph signal or purely graph classification problem.

License

This project is licensed under the MIT License - see the [LICENSE.md] file for details

Acknowledgments

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].