Git Product home page Git Product logo

dynamic-hair's Introduction

Dynamic Hair Modeling

The source code of the networks for our paper "Dynamic hair modeling from monocular videos using deep neural networks" (SIGGRAPH ASIA 2019)

We propose a novel framework for dynamic hair modeling from monocular videos. We use two networks HairSpatNet and HairTempNet to separately predict hair geometry and hair motion. The entire framework is as follows:

Improvments

  • For HairSpatNet, we removed instance normalization and the discriminator to speed up training process and reduce memory cost. We found that the fine-grained details imposed by the discriminator would be obliterated by the space-time optimization afterwards.
  • For motion prediction, we redesigned a network named HairWarpNet to directly predict flow based on the 3D fields (similar to the regression of optical flow). It is more reasonable and achieves better results than HairTempNet.
  • There are more designs of toVoxel modules.
  • You can check other research directions in folder OtherResearch.

Prerequisites

  • Linux
  • Python 3.6
  • NVIDIA GPU + CUDA 10.0 + cuDNN 7.5
  • tensorflow-gpu 1.13.1

Getting Started

  • Conda installation:
    # 1. Create a conda virtual environment.
    conda create -n dhair python=3.6 -y
    conda activate dhair
    
    # 2. Install dependency
    pip install -r requirement.txt
  • You can run the scripts in the Script folder to train/test your models.

Related works

Citation

If you find this useful for your research, please cite the following papers.

@inproceedings{wu2022neuralhdhair,
title={NeuralHDHair: Automatic High-fidelity Hair Modeling from a Single Image Using Implicit Neural Representations},
author={Wu, Keyu and Ye, Yifan and Yang, Lingchen and Fu, Hongbo and Zhou, Kun and Zheng, Youyi},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={1526--1535},
year={2022}
}

@article{yang2019dynamic,
  title={Dynamic hair modeling from monocular videos using deep neural networks},
  author={Yang, Lingchen and Shi, Zefeng and Zheng, Youyi and Zhou, Kun},
  journal={ACM Transactions on Graphics (TOG)},
  volume={38},
  number={6},
  pages={1--12},
  year={2019},
}

dynamic-hair's People

Contributors

lingchen-chen 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dynamic-hair's Issues

How should I prepare my input?

Thank you so much for releasing the code of the project!
I have a problem preparing the input data.

I put a mp4 video file into test_video_dir but it didn't work out.
Then I converted the video into a sequence of 130 jpg images, starting from "frame001.jpg", which also ended in
"ValueError: invalid literal for int() with base 10: '001.jpg'".

So my question is: what kind of input should I prepare exactly?

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.