Giter VIP home page Giter VIP logo

neuralvs's Introduction

Neural View Synthesis and Matching for Semi-Supervised Few-Shot Learning of 3D Pose

Release Notes

The official PyTorch implementation of Neural View Synthesis and Matching for Semi-Supervised Few-Shot Learning of 3D Pose, publish on NeuralIPS 2021. Example figure

Installation

To install required libs:

git clone https://github.com/Angtian/NeuralVS.git
cd NeuralVS
pip install -r requirements.txt

We use the same data preprocess as NeMo does. You can run the data preprocess part in NeMo repo or run the following code:

git clone https://github.com/Angtian/NeMo.git
cd NeMo
chmod +x PrepareData.sh
./PrepareData.sh
cd ..
mv ./NeMo/data ./

Matching using Single Image

Here we provide the code to run the pose matching experiment using single anchor image (section 4.3). To run the experiment using ImageNet pretrained backbone:

python .\code\SingleAnchorMatching.py --do_plot

To run the experiment with other backbone:

python .\code\SingleAnchorMatching.py --load_path {Path_to_saved_model} --do_plot

Code for Semi-supervised learning

Coming Soon

neuralvs's People

Contributors

angtian avatar

Stargazers

Bencheng avatar  avatar Daniel Guo avatar Yujie He avatar nnnnnnnn avatar Sergi Andreu avatar Ju He avatar  avatar Walter Goodwin avatar  avatar Adam Kortylewski avatar 爱可可-爱生活 avatar Bingchen Zhao avatar  avatar jinczing avatar Brian Pugh avatar savoki avatar Zhengkai Jiang avatar Chunyu Wang avatar Yifu Zhang avatar

Watchers

Pyjcsx avatar  avatar

neuralvs's Issues

Question about camera coordinate

Hi Angtian, Thanks a lot for sharing your great works!

I have a question about your code in ProcessCameraParameters.py - get_transformation_matrix function.
I believe that transformation matrix can be compute as [R^T | - R^T@C] (C is camera position in world coordinate) and the function above seems like acting same way.
But i'm confused about why only y coordinate of camera is reversed,

136] C[0] = distance * math.cos(elevation) * math.sin(azimuth)
137] C[1] = -distance * math.cos(elevation) * math.cos(azimuth)
138] C[2] = distance * math.sin(elevation)

Is it the coordinate change for the openGL rendering?

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.