Git Product home page Git Product logo

pointnet-keras's Introduction

pointnet-keras

Original tensorflow implementation: https://github.com/charlesq34/pointnet

Package requirement: Python3.6, keras, tensorflow, numpy, matplotlib, h5py

Results

Segmentation Sample

seg_sample

How to Run code:

Classification:

  • Download the aligned dataset from Link
  • Put all traning .h5 files under Prepdata folder, all testing .h5 files under Prepdata_test folder
  • Run train_cls.py. Accuracy rate will be 82.5%, which is slightly lower than the original implementation.

Segmentation:

  • Download and unzip the shapenet dataset from Link.
  • Run Seg_dataprep.py then train_seg.py.

Point Architecture

  • Input Transformation Net: Input: Nx3 point cloud sample, Output: 3x3 transformation net input_transformation_net

  • Feature Transformation Net: feature_transformation_net

  • Global Feature: Input: Nx3 point cloud sample multiply input T_net. Output: 1*1024 global feature

  • Classification Net: Input: Nx3 point cloud sample multiply input T_net. Output: 1x40 softmax prediction classification_net

pointnet-keras's People

Contributors

garyli1019 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pointnet-keras's Issues

Original vs Keras performance

Hi,

I was wondering why the performance of your implementation is lower than the original repo. Do you have any intuition on why this happens? I also made my own port of pointnet to keras a few months ago and it can't go beyond 82% accuracy on the validation set.

Thanks!

Package requirements

Could you tell the versions of the libraries used in the code ? It would be very helpful if you can provide requirements.txt file.

Why have to set weight?

Hi Gary,
Thank you for sharing your code.
I was wondering at input transform and feature transform, why do we have to set it:
x = Dense(9, weights=[np.zeros([256, 9]), np.array([1, 0, 0, 0, 1, 0, 0, 0, 1]).astype(np.float32)])(x) input_T = Reshape((3, 3))(x)
f = Dense(64 * 64, weights=[np.zeros([256, 64 * 64]), np.eye(64).flatten().astype(np.float32)])(f) feature_T = Reshape((64, 64))(f)
Could you tell me why?
Thank you very much.
Minh

A better result

Hi, gary,

Awesome work, thanks for sharing.

I have made some modifies with your code, and the modified version achieved a 88.83% accuracy on the classification task.

This is the modified version:PointNet-Keras.

Cannot save model

Hi there!

It seems like you cannot properly save the model...

model.save("model.h5") ends up in:
TypeError: can't pickle _thread.RLock objects

Any ideas? I have the feeling this has to do with the lambda layers.

Best,
Tristan

PointNet and multi_gpu_model

Hello,

I was wondering if someone here might take a look at an issue I put in with the keras team. I think my rationale is correct, but I might be missing something. Short answer, I had to modify the Lambda/matmul layer as it didn't seem to work with multi_gpu_model. It was using the full batchsize instead of the batchsize/GPUs that I was expecting. I moved to the Dot layer with axes=2 and it seems to work.

Ticket

Point++ with keras.

First, thank you for the code!
Do you have any idea of how to realize pointnet++ in keras?

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.