Skip to content

Commit 89db034

Browse files
committed
update readme
1 parent 73be91b commit 89db034

File tree

2 files changed

+84
-66
lines changed

2 files changed

+84
-66
lines changed

3D Face Papers.md

+53-53
Original file line numberDiff line numberDiff line change
@@ -438,155 +438,155 @@
438438

439439
> more in computer graphics
440440
441-
1. **High-Quality Single-Shot Capture of Facial Geometry**(TOG2010, ETHZ, Disney)
441+
- High-Quality Single-Shot Capture of Facial Geometry(TOG2010, ETHZ, Disney)
442442

443443
`cg, high-detail,stereo system, calibration, surface refinement, normal direction, mesoscopic `
444444

445-
2. Multiview Face Capture using Polarized Spherical Gradient Illumination(TOG2011)
445+
- Multiview Face Capture using Polarized Spherical Gradient Illumination(TOG2011)
446446

447447
`image collecitons`
448448

449-
3. High-Quality Passive Facial Performance Capture using Anchor Frames(SIGGRAPH2011, ETHZ, Disney)
449+
- High-Quality Passive Facial Performance Capture using Anchor Frames(SIGGRAPH2011, ETHZ, Disney)
450450

451451
`cg, stereo,anchor frame, tracking, mesh progration, physical movement, motion estimation, refinement `
452452

453-
4. Lightweight binocular facial perfor- mance capture under uncontrolled lighting(TOG2012, MPI)
453+
- Lightweight binocular facial perfor- mance capture under uncontrolled lighting(TOG2012, MPI)
454454

455455
`cg, high-detail, stereo, template,flow,data term, geometry term, smoothness term, mesh tracking, motion refinement, shape refinement, sfs `
456456

457-
5. Reconstructing Detailed Dynamic Face Geometry from Monocular Video(TOG2013, MPI)
457+
- Reconstructing Detailed Dynamic Face Geometry from Monocular Video(TOG2013, MPI)
458458

459459
`cg, dynamic, high-detail, blend model, sparse correspondence, dense correspondence(appearance matching, LBP), pose estimation , shape refinement, sfs `
460460

461-
6. 3D Shape Regression for Real-time Facial Animation(TOG2013, ZJU)
461+
- 3D Shape Regression for Real-time Facial Animation(TOG2013, ZJU)
462462

463-
7. Real-Time High-Fidelity Facial Performance Capture (TOG2015, ZJU)
463+
- Real-Time High-Fidelity Facial Performance Capture (TOG2015, ZJU)
464464

465465
`cg, landmarks, optical flow, train a regressor to learn detail `
466466

467-
8. Dynamic 3D Avatar Creation from Hand-held Video Input(TOG2015, EPEL)
467+
- Dynamic 3D Avatar Creation from Hand-held Video Input(TOG2015, EPEL)
468468

469469
`cg, dynamic, mobile, high-detail, avatar, 3dmm,sparse correspondence, eye mesh, tracking, refinement, sfs, detail map `
470470

471-
9. Reconstruction of Personalized 3D Face Rigs from Monocular Video(TOG2016, MPI)
471+
- Reconstruction of Personalized 3D Face Rigs from Monocular Video(TOG2016, MPI)
472472

473473
`parametric shape prior, coarse-scale reconstruction, fine-scale(sfs), coase->medium->fine, 3dmm, corrective `
474474

475-
10. Production-Level Facial Performance Capture Using Deep Convolutional Neural Networks(ASCA2017, USC)
475+
- Production-Level Facial Performance Capture Using Deep Convolutional Neural Networks(ASCA2017, USC)
476476

477-
11. Multi-View Stereo on Consistent Face Topology(EG2017, USC)
477+
- Multi-View Stereo on Consistent Face Topology(EG2017, USC)
478478

479-
`cg, high-detail, landmarks, template, pose estimation, refinement`
479+
`cg, high-detail, landmarks, template, pose estimation, refinement`
480480

481-
12. Avatar Digitization From a Single Image For Real-Time Rendering(SIGGRAPH Asia 2017, USC)
481+
- Avatar Digitization From a Single Image For Real-Time Rendering(SIGGRAPH Asia 2017, USC)
482482

483-
`cg, avatar, segmentation, head, hair, 3DMM, landmarks, texture completion `
483+
`cg, avatar, segmentation, head, hair, 3DMM, landmarks, texture completion `
484484

485-
13. Learning a model of facial shape and expression from 4D scans(TOG2017, USC, MPI)
485+
- Learning a model of facial shape and expression from 4D scans(TOG2017, USC, MPI)
486486

487-
14. DeepSketch2Face: A Deep Learning Based Sketching System for 3D Face and Caricature Modeling(SIGGRAPH2017)
487+
- DeepSketch2Face: A Deep Learning Based Sketching System for 3D Face and Caricature Modeling(SIGGRAPH2017)
488488

489-
15. High-Fidelity Facial Reflectance and Geometry Inference From an Unconstrained Image(SIGGRAPH2018, USC)
489+
- High-Fidelity Facial Reflectance and Geometry Inference From an Unconstrained Image(SIGGRAPH2018, USC)
490490

491-
491+
492492

493493
### Texture
494494

495495
> 3D-aid texture generation/ UV texture completion
496496
> Keys: GAN
497497
498-
1. Face Synthesis from Facial Identity Features(CVPR2017, google)
498+
- Face Synthesis from Facial Identity Features(CVPR2017, google)
499499

500500
`3dmm, dl, landmarks`
501501

502-
2. Photorealistic Facial Texture Inference Using Deep Neural Networks(CVPR2017, Hao Li, USC)
502+
- Photorealistic Facial Texture Inference Using Deep Neural Networks(CVPR2017, Hao Li, USC)
503503

504504
`texture completion`
505505

506-
3. UV-GAN: Adversarial Facial UV Map Completion for Pose-invariant Face Recognition(CVPR2018, SZ, ICL)
506+
- UV-GAN: Adversarial Facial UV Map Completion for Pose-invariant Face Recognition(CVPR2018, SZ, ICL)
507507

508508
`gan, 3dmm, uv texture completion`
509509

510-
4. Multi-Attribute Robust Component Analysis for Facial UV Maps(2017, SZ, ICL)
510+
- Multi-Attribute Robust Component Analysis for Facial UV Maps(2017, SZ, ICL)
511511

512-
5. Realistic Dynamic Facial Textures from a Single Image using GANs(CVPR2017, Hao Li, USC, DeepMind)
512+
- Realistic Dynamic Facial Textures from a Single Image using GANs(CVPR2017, Hao Li, USC, DeepMind)
513513

514-
6. Semi-supervised Adversarial Learning to Generate Photorealistic Face Images of New Identities from 3D Morphable Model(2018)
514+
- Semi-supervised Adversarial Learning to Generate Photorealistic Face Images of New Identities from 3D Morphable Model(2018)
515515

516-
7. Side Information for Face Completion: a Robust PCA Approach(20180120, SZ, ICL)
516+
- Side Information for Face Completion: a Robust PCA Approach(20180120, SZ, ICL)
517517

518518
519519

520520
### Transfer&Reenactment(Applications)
521521

522-
1. Face Transfer with Multilinear Models (SIGGRAPH2005)
522+
- Face Transfer with Multilinear Models (SIGGRAPH2005)
523523

524524
`Cartesian product(ID x EX x VI)`
525525

526-
2. Online Modeling For Realtime Facial Animation(TOG2013)
526+
- Online Modeling For Realtime Facial Animation(TOG2013)
527527

528528
`rgbd, blendshape, corrective field `
529529

530-
3. Displaced Dynamic Expression Regression for Real-time Facial Tracking and Animation(SIGGRAPH2014)
530+
- Displaced Dynamic Expression Regression for Real-time Facial Tracking and Animation(SIGGRAPH2014)
531531

532-
4. Real-time Expression Transfer for Facial Reenactment(SIGGRAPH AISA 2015)
532+
- Real-time Expression Transfer for Facial Reenactment(SIGGRAPH AISA 2015)
533533

534-
5. Face2Face: Real-time Face Capture and Reenactment of RGB Videos(CVPR2016)
534+
- Face2Face: Real-time Face Capture and Reenactment of RGB Videos(CVPR2016)
535535

536536
`capture, transfer, 3dmm, landmarks, texture, expression, mouth retrieval `
537537

538-
6. Synthesizing Obama: Learning Lip Sync from Audio(SIGGRAPH2017)
538+
- Synthesizing Obama: Learning Lip Sync from Audio(SIGGRAPH2017)
539539

540-
7. Deep Video Portrait(SIGGRAPH2018)
540+
- Deep Video Portrait(SIGGRAPH2018)
541541

542-
8. HeadOn: Real-time Reenactment of Human Portrait Videos(SIGGRAPH2018)
542+
- HeadOn: Real-time Reenactment of Human Portrait Videos(SIGGRAPH2018)
543543

544544

545545

546546
### 3D-aid 2D face recognition
547547

548-
1. Tom-vs-Pete Classifiers and Identity-Preserving Alignment for Face Verification(ECCV2012, Columbia University)
548+
- Tom-vs-Pete Classifiers and Identity-Preserving Alignment for Face Verification(ECCV2012, Columbia University)
549549

550-
2. Face Recognition from a Single Training Image under Arbitrary Unknown Lighting Using Spherical Harmonics(PAMI2006)
550+
- Face Recognition from a Single Training Image under Arbitrary Unknown Lighting Using Spherical Harmonics(PAMI2006)
551551

552-
3. 3D-aided face recognition robust to expression and pose variations (CVPR2014)
552+
- 3D-aided face recognition robust to expression and pose variations (CVPR2014)
553553

554-
4. Effective 3D based Frontalization for Unconstrained Face Recognition(ICPR2016, MICC, Florence)
554+
- Effective 3D based Frontalization for Unconstrained Face Recognition(ICPR2016, MICC, Florence)
555555

556-
5. Effective Face Frontalization in Unconstrained Images(CVPR2015, TH, Israel)
556+
- Effective Face Frontalization in Unconstrained Images(CVPR2015, TH, Israel)
557557

558-
6. Do We Really Need to Collect Millions of Faces for Effective Face Recognition(ECCV2016, TH, USC, Israel)
558+
- Do We Really Need to Collect Millions of Faces for Effective Face Recognition(ECCV2016, TH, USC, Israel)
559559

560-
7. High-Fidelity Pose and Expression Normalization for Face Recognition in the Wild(CVPR2015)
560+
- High-Fidelity Pose and Expression Normalization for Face Recognition in the Wild(CVPR2015)
561561

562-
8. When 3D-Aided 2D Face Recognition Meets Deep Learning: An extended UR2D for Pose-Invariant Face Recognition(2017)
562+
- When 3D-Aided 2D Face Recognition Meets Deep Learning: An extended UR2D for Pose-Invariant Face Recognition(2017)
563563

564-
9. Towards Large-Pose Face Frontalization in the Wild
564+
- Towards Large-Pose Face Frontalization in the Wild
565+
566+
- Fully Automatic Pose-Invariant Face Recognition via 3D Pose Normalization (ICCV2011, Cambridge, MA, USA)
565567

566-
10. Fully Automatic Pose-Invariant Face Recognition via 3D Pose Normalization (ICCV2011, Cambridge, MA, USA)
567568

568569

569-
570570

571571
### 3D face recognition
572572

573-
1. Face Identification across Different Poses and Illuminations with a 3D Morphable Model(Automatic Face and Gesture Recognition2002, VB&TV)
573+
- Face Identification across Different Poses and Illuminations with a 3D Morphable Model(Automatic Face and Gesture Recognition2002, VB&TV)
574574

575-
2. Preliminary Face Recognition Grand Challenge Results(2006)
575+
- Preliminary Face Recognition Grand Challenge Results(2006)
576576

577-
3. expression Invariant 3D Face Recognition with a Morphable Model(FG2008, TV, Basel)
577+
- expression Invariant 3D Face Recognition with a Morphable Model(FG2008, TV, Basel)
578578

579-
4. Bosphorus Database for 3D Face Analysis(2008)[data]()
579+
- Bosphorus Database for 3D Face Analysis(2008)[data]()
580580

581-
5. Robust Learning from Normals for 3D face recognition(ECCV2012, SZ, ICL)
581+
- Robust Learning from Normals for 3D face recognition(ECCV2012, SZ, ICL)
582582

583-
6. Static and dynamic 3D facial expression recognition: A comprehensive survey(IVC2012, SZ, LijunYin)
583+
- Static and dynamic 3D facial expression recognition: A comprehensive survey(IVC2012, SZ, LijunYin)
584584

585-
7. Deep 3D Face Identification(2017, USC)
585+
- Deep 3D Face Identification(2017, USC)
586586

587-
8. Robust Face Recognition with Deeply Normalized Depth Images (2018)
587+
- Robust Face Recognition with Deeply Normalized Depth Images (2018)
588588

589589
`depth image(front&neural)`
590590

591-
9. Learning from Millions of 3D Scans for Large-scale 3D Face Recognition(CVPR2018, Western Australia)
591+
- Learning from Millions of 3D Scans for Large-scale 3D Face Recognition(CVPR2018, Western Australia)
592592

README.md

+31-13
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,18 @@
22

33
## Introduction
44

5-
Hope this helps & you enjoy it. ^_^
5+
This project implements some basic functions related to 3D faces.
6+
7+
You can use this to process mesh data, generate 3D faces from morphable model, reconstruct 3D face with a single image and key points as inputs, render faces with difference lightings(for more, please see examples).
8+
9+
In the beginning, I wrote this project for learning 3D face reconstruction and for personal research use, so all the codes are written in python(numpy). However, some functions(eg. rasterization) can not use vectorization to optimize, writing them in python is too slow to use, then I choose to write these core parts in c++(without any other big libraries, such as opencv, eigen) and compile them with Cython for python use.
10+
So the final version is very lightweight and fast.
11+
12+
In addition, the numpy version is also retained, considering that beginners can focus on algorithms themselves in python and researches can modify and verify their ideas quickly. I also try my best to add references/formulas in each function, so that you can learn basic knowledge and understand the codes.
13+
14+
For more information and researches related to 3D faces, please see [3D face papers](https://github.com/YadiraF/face3d/blob/master/3D Face Papers.md).
15+
16+
Enjoy it ^_^
617

718

819

@@ -11,28 +22,26 @@ Hope this helps & you enjoy it. ^_^
1122
```python
1223
# Since triangle mesh is the most popular representation of 3D face,
1324
# the main part is mesh processing.
14-
mesh/ # written in python(numpy)
25+
mesh/ # written in python and c++
26+
| cython/ # c++ files, use cython to compile
1527
| io.py # read & write obj
1628
| vis.py # plot mesh
1729
| transform.py # transform mesh & estimate matrix
1830
| light.py # add light & estimate light(to do)
1931
| render.py # obj to image using rasterization render
2032

21-
# When can not use vercorization to optimize, loops in python are too slow to use.
22-
# So write core parts(loops) in c++, then use cython to compile them for python api.
23-
mesh_cython/ # written in c++(cython)
24-
| render.py # the same API as in mesh/render.py, with faster speed.
25-
| light.py # the same API as in mesh/light.py, with faster speed.
26-
| mesh_core* # c++ codes of core parts.
33+
mesh_numpy/ # the same with mesh/, with each part written in numpy
34+
# slow but easy to learn and modify
2735

28-
# 3DMM is one of the most popular methods to generate & reconstruct 3d face.
29-
morphabel_model/ # witten in python(numpy)
36+
# 3DMM is one of the most popular methods to generate & reconstruct 3D face.
37+
morphable_model/
3038
| morphable_model.py # morphable model class: generate & fit
3139
| fit.py # estimate shape&expression parameters. 3dmm fitting.
3240
| load.py # load 3dmm data
3341
```
3442

3543

44+
3645
## Examples:
3746

3847
`cd ./examples`
@@ -112,7 +121,7 @@ morphabel_model/ # witten in python(numpy)
112121
2. Compile c++ files to .so for python use (ignore if you use numpy version)
113122

114123
```bash
115-
cd face3d/mesh_cython
124+
cd face3d/mesh/cython
116125
python setup.py build_ext -i
117126
```
118127

@@ -122,12 +131,21 @@ morphabel_model/ # witten in python(numpy)
122131
123132
4. Run examples
124133
125-
(examples use cython version, you can change `mesh_cython` into `mesh` to use numpy version)
134+
(examples use cython version, you can change `mesh` into `mesh_numpy` to use numpy version)
126135
127136
```bash
128137
cd examples
129138
python 1_pipeline.py
130139
```
131140
132-
141+
For beginners who want to continue researches on 3D faces, I strongly recommend you first run examples according to the order, then view the codes in mesh_numpy and read the comments written in the beginning in each file. Hope this helps!
142+
143+
Moreover, I am new in computer graphics, so it would be great appreciated if you could point out some of my wrong expressions. Thanks!
144+
145+
146+
147+
## Changelog
148+
149+
* 2018/10/08 change structure. add comments. add introduction. add paper collections.
150+
* 2018/07/15 first release
133151

0 commit comments

Comments
 (0)