Coder Social home page Coder Social logo

greenteausa / pointnet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nikitakaraevv/pointnet

0.0 1.0 0.0 10.42 MB

PyTorch implementation of "PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation" https://arxiv.org/abs/1612.00593

License: Apache License 2.0

Python 1.03% Jupyter Notebook 98.97%

pointnet's Introduction

Open In Colab

PointNet

PyTorch implementation of "PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation" https://arxiv.org/abs/1612.00593

pointnet

Key points of the implementation are explained in details in this Medium article.

Classification dataset

This code implements object classification on ModelNet10 dataset.

As in the original paper, we sample 1024 points on objects surfaces depending on the area of the current face. Then we normalize the object to a unit sphere and add Gaussian noise. This is an example of input to the neural network that represents a chair:

matching points

You can download the dataset by following this link

Classification performance

Class (Accuracy) Overall Bathtub Bed Chair Desk Dresser Monitor Night stand Sofa Table Toilet
ModelNet10 82.0% 93.4% 92.0% 97.2% 81.5% 71.0% 89.4% 56.0% 86.9% 93.4% 95.9%

Pretrained model is available here

Usage

  • The first and the best option is to run the notebook with comments and visualizations /nbs/PointNetClass.ipynb in Google Colab.

  • The second option is to clone the repository on a local machine and run a model with default parameters:

    git clone https://github.com/nikitakaraevv/pointnet
    wget http://3dvision.princeton.edu/projects/2014/3DShapeNets/ModelNet10.zip
    unzip -q ModelNet10.zip
    cd pointnet/
    python train.py 

    If for some reason it doesn't work, you can install the requirements before running python train.py:

    conda create -n env python=3.7
    conda activate env
    pip install -r requirements.txt

    Another example of running a model is:

    python train.py --root_dir ../ModelNet10/ --batch_size 16 --lr 0.0001 --epochs 30 --save_model_path ./ckpts

Part segmentation dataset

The dataset includes 2609 point clouds representing different airplanes, where every point has its coordinates in 3D space and a label of an airplane’s part the point belongs to. As all images have different number of points and PyTorch library functions require images of the same size to form a PyTorch tensor, we sample uniformly 2000 points from every point cloud.

You can download the dataset by following this link

Part segmentation performance

The resulting accuracy on the validation dataset is 88%. In the original paper part segmentation results corresponding to category of objects (airplanes) is 83.4%.

Usage

This part of the project is still in development. However, you already can run the notebook /nbs/PointNetSeg.ipynb in Colab.

matching points

Authors

pointnet's People

Contributors

nikitakaraevv avatar dependabot[bot] avatar washburn125 avatar

Watchers

James Cloos 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.