Giter Site home page Giter Site logo

pvrnet's Introduction

PVRNet

PVRNet: Point-View Relation Neural Network for 3D Shape Recognition (AAAI 2019)

Created by Haoxuan You, Yifan Feng, Xibin Zhao, Changqing Zou, Rongrong Ji, Yue Gao from Tsinghua University.

Introduction

This work will appear in AAAI 2019. We propose a point-view relation neural network called PVRNet for 3D shape recognition and retrieval. You can chekc our paper for more details.

In this repository, our code and data are released for training our PVRNet on ModelNet40 dataset.

Citation

If you find our work useful in your research, please cite our paper:

@article{you2018pvrnet,
title={PVRNet: Point-View Relation Neural Network for 3D Shape Recognition},
author={You, Haoxuan and Feng, Yifan and Zhao, Xibin and Zou, Changqing and Ji, Rongrong and Gao, Yue},
journal={AAAI 2019},
year={2018}
}

Configuration

Code is tested under the environment of Pytorch 0.4.1, Python 3.6 and CUDA 9.0 on Ubuntu 16.04.

Data: point cloud data and multi-view(12-view) data from ModelNet40 dataset.

Pretrained Model: multi-view part(MVCNN), point cloud part(DGCNN) and PVRNet

Usage

  • Download data and pretrained ckpt from above links. Create dir for data as well as result, and place them under corresponding dirs(./data/ and ./result/ckpt/).

    mkdir -p data result/ckpt

  • Train PVRNet. This would use pretrained MVCNN model and DGCNN model saved in ./result/ckpt:

    python train_pvrnet.py

  • If validate the performance of PVRNet with our pretrained model:

    python val_pvrnet.py

    If validate the performance of pretrained MVCNN and DGCNN models:

    python val_mvcnn.py
    python val_pc.py
    
  • If you want to train new model for MVCNN and DGCNN:

    python train_mvcnn.py
    python train_pc.py
    

License

Our code is released under MIT License (see LICENSE file for details).

pvrnet's People

Contributors

hxyou 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

Watchers

 avatar  avatar  avatar  avatar

pvrnet's Issues

torch.cuda.is_available() is False.

Hello,Think your for your work,when I tried to run your code ,I met this problem.can you tell me how to solve this problem?
raise RuntimeError('Attempting to deserialize object on a CUDA '
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location='cpu' to map your storages to the CPU.

The accuracy of the pretrained model

Hi, I validate the performance of the network with the pretrained model(PVNet2-ALEXNET-v94-ckpt.pth). However, I only get 92.55% accuracy. Have you tried to get the results with a higher version of pytorch?
Here is my environment: pytorch1.6.0 cuda10.1 NVIDIA TITAN Xp.

config.pv_net.train.iter_train == False

Sorry to bother you!
Should this function be TRUE or FALSE?
In the paper PVRNet, in the first 10 epochs,the feature extraction model is fixed and only finetune the other part.

And if 'config.pv_net.train.iter_train == True:',I only got a result of 92.0%+,but not 93.6%
if I change this line to False, the result can be 93.1% but still not 93.6%
Did I make something wrong in using your code?

Thank you for your reply!

the dimensional transformation of the input point cloud

Hello, your work is excellent, I have a question to be solved, the input point cloud dimension should be BXNXdim, why not see the dimension transformation in your code, but in the defined functions like [gather_neighbor] and [get_neighbor_feature], There is batch_size = x.size()[0] ;num_dim = x.size()[1] ; num_point = x.size()[2], the input is BXdimXN?why? I am very confused.I am looking forward to your answer.

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.