Git Product home page Git Product logo

neuralcontours's Introduction

Neural Contours: Learning to Draw Lines from 3D Shapes

This repository contains the PyTorch implementation for CVPR 2020 Paper "Neural Contours: Learning to Draw Lines from 3D Shapes" by Difan Liu, Mohamed Nabail, Aaron Hertzmann, Evangelos Kalogerakis.

[Arxiv]

Dependency

  • The project is developed on Ubuntu 16.04 with cuda9.0 + cudnn7.0. The code has been tested with PyTorch 1.1.0 (GPU version) and Python 3.6.8.
  • Python packages:
    • OpenCV (tested with 4.2.0)
    • PyYAML (tested with 5.3.1)
    • scikit-image (tested with 0.14.2)

Dataset and Weights

  • Pre-trained model is available here, please put it in data/model_weights:

    cd data/model_weights
    unzip weights.zip
    
  • download example testing data:

    cd data/example
    wget https://people.cs.umass.edu/~dliu/projects/NeuralContours/example.zip
    unzip example.zip
    
  • training data is available here.

Differentiable Geometry Branch

  • we use rtsc-1.6 to compute all the input geometric feature maps and lines. See here for details.
  • run geometry branch without NRM (Neural Ranking Module), this script takes thresholds of geometric lines as input:
    python -m scripts.geometry_branch_demo -sc 10.0 -r 10.0 -v 10.0 -ar 0.1 -model_name bumps_a -save_name data/output/bumps_a.png

Testing with NRM and ITB (Image Translation Branch)

  • Testing with NRM and ITB:
    python -m scripts.test -model_name bumps_a -save_name data/output/bumps_a_NCs.png
    Note that computation time depends on GPU performance, parameter setting and input 3D model. For reference, tested on GeForce GTX 1080 Ti, under default setting, Neural Contours of bumps_a takes about 12 minutes.

Cite:

@InProceedings{Liu_2020_CVPR,
author={Liu, Difan and Nabail, Mohamed and Hertzmann, Aaron and Kalogerakis, Evangelos},
title={Neural Contours: Learning to Draw Lines from 3D Shapes},
booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2020}
}

Contact

To ask questions, please email.

neuralcontours's People

Contributors

difanliu avatar yuchen-xiyue 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.