Giter VIP home page Giter VIP logo

psvh-3d-reconstruction's Introduction

PSVH-3d-reconstruction

This repository is the implementation of our AAAI 2019 paper:

Deep Single-View 3D Object Reconstruction with Visual Hull Embedding

Hanqing Wang, Jiaolong Yang, Wei Liang, Xin Tong

This work is implemented using TensorFlow.

Introduction

In this paper, we present an approach which aims to preserve more shape details and improve the reconstruction quality. The key idea of our method is to leverage object mask and pose estimation from CNNs to assist the 3D shape learning by constructing a probabilistic single-view visual hull inside of the network.

Our method works by first predicting a coarse shape as well as the object pose and silhouette using CNNs, followed by a novel 3D refinement CNN which refines the coarse shapes using the constructed probabilistic visual hulls.

Examples

Citation

If you find our work helpful for your research, please cite our paper:

@inproceedings{wang2019deep,
  author = {Wang, Hanqing and Yang, Jiaolong and Liang, Wei and Tong, Xin},
  title = {Deep Single-View 3D Object Reconstruction with Visual Hull Embedding},
  booktitle = {Proceedings of the AAAI Conference on Artificial Intelligence (AAAI)},
  year = {2019}
}

Installation

Install python and the dependencies:

  • python 3.5
  • tensorflow 1.12.0
  • pillow

If your python environments are managed via Anaconda/Miniconda, you can install the dependencies using the following scrpit:

conda install tensorflow pillow

In our paper, we trained two network for rendered images and real images respectively. The checkpoint of the trained models are available here(426MB). Extract the files to the root directory.

Demo

Run python run_case.py to run the examples. The outputs are reconstruction results before and after the refinement (Please refer to our paper for more details). The results are in obj format. You can use meshlab for visulization.

Acknowlegement

Part of this work was done when I was an intern at Microsoft Research Asia. It is impossible to finish without the help of my colleagues and my mentor.

License

PSVH is freely available for non-commercial use, and may be redistributed under these conditions. Please see the license for further details. For commercial license, please contact the authors.

psvh-3d-reconstruction's People

Contributors

hanqingwangai 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

Watchers

 avatar  avatar  avatar

psvh-3d-reconstruction's Issues

Can i use my own images to reconstruct 3d?

If so, how do i do that. If i try to change photo i get this message:

Traceback (most recent call last):
File "run_case.py", line 453, in
examples('real')
File "run_case.py", line 443, in examples
img = img.reshape([1, img_h, img_w, 3])
ValueError: cannot reshape array of size 65536 into shape (1,128,128,3)

How to use other pictures to reconstruct?

Sorry to disturb you!
I put a new chair picture in the folder [real_data]. It is .png and 138*138. But it also can’t work.
I want to know whether there are other steps that I should to do, such as modifying the .py file?
Thank you!

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.