README.md 3.98 KB
Newer Older
1
<img src="https://raw.githubusercontent.com/facebookresearch/pytorch3d/master/.github/pytorch3dlogo.png" width="900"/>
facebook-github-bot's avatar
facebook-github-bot committed
2
3
4
5
6
7

[![CircleCI](https://circleci.com/gh/facebookresearch/pytorch3d.svg?style=svg)](https://circleci.com/gh/facebookresearch/pytorch3d)
[![Anaconda-Server Badge](https://anaconda.org/pytorch3d/pytorch3d/badges/version.svg)](https://anaconda.org/pytorch3d/pytorch3d)

# Introduction

8
PyTorch3D provides efficient, reusable components for 3D Computer Vision research with [PyTorch](https://pytorch.org).
facebook-github-bot's avatar
facebook-github-bot committed
9
10
11
12
13
14
15

Key features include:

- Data structure for storing and manipulating triangle meshes
- Efficient operations on triangle meshes (projective transformations, graph convolution, sampling, loss functions)
- A differentiable mesh renderer

16
17
PyTorch3D is designed to integrate smoothly with deep learning methods for predicting and manipulating 3D data.
For this reason, all operators in PyTorch3D:
facebook-github-bot's avatar
facebook-github-bot committed
18
19
20
21
22
23

- Are implemented using PyTorch tensors
- Can handle minibatches of hetereogenous data
- Can be differentiated
- Can utilize GPUs for acceleration

24
Within FAIR, PyTorch3D has been used to power research projects such as [Mesh R-CNN](https://arxiv.org/abs/1906.02739).
facebook-github-bot's avatar
facebook-github-bot committed
25
26
27
28
29
30
31

## Installation

For detailed instructions refer to [INSTALL.md](INSTALL.md).

## License

32
PyTorch3D is released under the [BSD-3-Clause License](LICENSE).
facebook-github-bot's avatar
facebook-github-bot committed
33
34
35

## Tutorials

36
Get started with PyTorch3D by trying one of the tutorial notebooks.
facebook-github-bot's avatar
facebook-github-bot committed
37

38
|<img src="https://raw.githubusercontent.com/facebookresearch/pytorch3d/master/.github/dolphin_deform.gif" width="310"/>|<img src="https://raw.githubusercontent.com/facebookresearch/pytorch3d/master/.github/bundle_adjust.gif" width="310"/>|
facebook-github-bot's avatar
facebook-github-bot committed
39
|:-----------------------------------------------------------------------------------------------------------:|:--------------------------------------------------:|
Yun Chen's avatar
Yun Chen committed
40
| [Deform a sphere mesh to dolphin](https://github.com/facebookresearch/pytorch3d/blob/master/docs/tutorials/deform_source_mesh_to_target_mesh.ipynb)| [Bundle adjustment](https://github.com/facebookresearch/pytorch3d/blob/master/docs/tutorials/bundle_adjustment.ipynb) |
facebook-github-bot's avatar
facebook-github-bot committed
41

42
| <img src="https://raw.githubusercontent.com/facebookresearch/pytorch3d/master/.github/render_textured_mesh.gif" width="310"/> | <img src="https://raw.githubusercontent.com/facebookresearch/pytorch3d/master/.github/camera_position_teapot.gif" width="310" height="310"/>
facebook-github-bot's avatar
facebook-github-bot committed
43
|:------------------------------------------------------------:|:--------------------------------------------------:|
Yun Chen's avatar
Yun Chen committed
44
| [Render textured meshes](https://github.com/facebookresearch/pytorch3d/blob/master/docs/tutorials/render_textured_meshes.ipynb)| [Camera position optimization](https://github.com/facebookresearch/pytorch3d/blob/master/docs/tutorials/camera_position_optimization_with_differentiable_rendering.ipynb)|
facebook-github-bot's avatar
facebook-github-bot committed
45
46
47

## Documentation

48
Learn more about the API by reading the PyTorch3D [documentation](https://pytorch3d.readthedocs.org/).
facebook-github-bot's avatar
facebook-github-bot committed
49
50
51
52
53
54
55
56
57
58
59
60
61
62

We also have deep dive notes on several API components:

- [Heterogeneous Batching](https://github.com/facebookresearch/pytorch3d/tree/master/docs/notes/batching.md)
- [Mesh IO](https://github.com/facebookresearch/pytorch3d/tree/master/docs/notes/meshes_io.md)
- [Differentiable Rendering](https://github.com/facebookresearch/pytorch3d/tree/master/docs/notes/renderer_getting_started.md)

## Development

We welcome new contributions to Pytorch3d and we will be actively maintaining this library! Please refer to [CONTRIBUTING.md](./.github/CONTRIBUTING.md) for full instructions on how to run the code, tests and linter, and submit your pull requests.


## Contributors

63
PyTorch3D is written and maintained by the Facebook AI Research Computer Vision Team.
facebook-github-bot's avatar
facebook-github-bot committed
64
65
66

## Citation

67
If you find PyTorch3D useful in your research, please cite:
facebook-github-bot's avatar
facebook-github-bot committed
68
69
70
71
72
73
74
75
76
77

```bibtex
@misc{ravi2020pytorch3d,
  author =       {Nikhila Ravi and Jeremy Reizenstein and David Novotny and Taylor Gordon
                  and Wan-Yen Lo and Justin Johnson and Georgia Gkioxari},
  title =        {PyTorch3D},
  howpublished = {\url{https://github.com/facebookresearch/pytorch3d}},
  year =         {2020}
}
```