faceformer

[CVPR 2022] Neural Face Identification in a 2D Wireframe Projection of a Manifold Object

https://github.com/manycore-research/faceformer

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary

Keywords

3d-reconstruction computer-vision cvpr deep-learning line-drawing pointer-networks pytorch transformer
Last synced: 6 months ago · JSON representation ·

Repository

[CVPR 2022] Neural Face Identification in a 2D Wireframe Projection of a Manifold Object

Basic Info
Statistics
  • Stars: 56
  • Watchers: 2
  • Forks: 6
  • Open Issues: 0
  • Releases: 0
Topics
3d-reconstruction computer-vision cvpr deep-learning line-drawing pointer-networks pytorch transformer
Created almost 4 years ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

# Neural Face Identification in a 2D Wireframe Projection of a Manifold Object

Kehan Wang · Jia Zheng · Zihan Zhou

IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 2022

[![arXiv](http://img.shields.io/badge/arXiv-2203.04229-B31B1B.svg)](https://arxiv.org/abs/2203.04229) [![Conference](https://img.shields.io/badge/CVPR-2022-4b44ce.svg)](https://openaccess.thecvf.com/content/CVPR2022/html/Wang_Neural_Face_Identification_in_a_2D_Wireframe_Projection_of_a_CVPR_2022_paper.html)

Requirements

bash conda env create --file environment.yml conda activate faceformer

Download Dataset

We use CAD mechanical models from ABC dataset. In order to reproduce our results, we also release the dataset used in the paper here. If you would like to build the dataset by yourself, please refer to here.

Evaluation

Face Identification Model

Trained models can be downloaded here. bash python main.py --config-file configs/{MODEL_NAME}.yml --test_ckpt trained_models/{MODEL_NAME}.ckpt

Face predictions will be saved to lightning_logs/version_{LATEST}/json.

3D Reconstruction

```bash

wireframe reconstruction

python reconstruction/reconstructtowireframe.py --root lightninglogs/version{LATEST}

surface reconstruction

python reconstruction/reconstructtomesh.py --root lightninglogs/version{LATEST} ```

Reconstructed wireframes (.ply) or meshes (obj) files will be saved to lightning_logs/version_{LATEST}/{ply/obj}

Train a Model from Scratch

bash python main.py --config_file configs/{MODEL_NAME}.yml

FAQs

  • Why does root_dir not update when I change it in configs/ours.yml?
    Seems like when pytorchlightning loads the checkpoint in, it also uses the old root dir which we trained the model with. To fix: Please uncomment line 25 of faceformer/trainer.py and set the desired rootdir there.

  • How should I use the downloaded json dataset?
    Assuming we have downloaded data_ours.tar.gz and unzipped it to the same directory as split_json.py in the outer-most directory, we now have:

root ├── main.py ├── split_json.py ├── ours │ └── 00000050.json │ └── 00000052.json │ └── ...

Run python split_json.py and it should prepare the dataset into the following:

root ├── main.py ├── split_json.py ├── ours │ └── test.txt │ └── train.txt │ └── valid.txt │ └── json │ └── 00000050.json │ └── 00000052.json │ └── ...

With this, set the rootdir to "ours" at line 25 of faceformer/trainer.py, and ``` python main.py --config-file configs/ours.yml --testckpt trained_models/ours.ckpt ``` should work.

Acknowledgement

The work was done during Kehan Wang's internship at Manycore Tech Inc.

Owner

  • Name: Manycore Research Institute
  • Login: manycore-research
  • Kind: organization
  • Location: Hangzhou, China

Manycore Tech Inc.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
preferred-citation:
  type: conference-paper
  collection-type: proceedings
  title: "Neural Face Identification in a 2D Wireframe Projection of a Manifold Object"
  authors:
    - family-names: Wang
      given-names: Kehan
    - family-names: Zheng
      given-names: Jia
    - family-names: Zhou
      given-names: Zihan
  collection-title: "Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)"
  start: 1622
  end: 1631
  year: 2022

GitHub Events

Total
  • Watch event: 10
  • Push event: 3
  • Fork event: 2
Last Year
  • Watch event: 10
  • Push event: 3
  • Fork event: 2

Dependencies

environment.yml pypi
  • CairoSVG ==2.5.2
  • async-timeout ==3.0.1
  • cairosvg ==2.5.2
  • cvxpy ==1.1.17
  • easydict ==1.9
  • fvcore ==0.1.5.post20210617
  • h5py ==3.1.0
  • html4vision ==0.4.3
  • matplotlib ==3.4.2
  • numpy ==1.19.5
  • numpyencoder ==0.3.0
  • open3d ==0.13.0
  • opencv-python ==4.5.2.54
  • pytorch-lightning ==1.3.5
  • pyyaml ==5.4.1
  • scikit-learn ==0.24.2
  • scipy ==1.6.3
  • svgwrite ==1.4.1
  • timeout-decorator ==0.5.0
  • torchmetrics ==0.3.2
  • tqdm ==4.61.1
  • trimesh ==3.9.20