Skip to content

Commit b982157

Browse files
committed
added assm readme.txt
1 parent 270699e commit b982157

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

external/assm/README.md

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# An Adaptive Screen-Space Meshing Approach for Normal Integration
2+
### [Project Page](https://moritzheep.github.io/adaptive-screen-meshing/) | [Paper](https://arxiv.org/abs/2409.16907) | [Poster](https://moritzheep.github.io/publication/heep-isotropicmeshing-2024/poster.pdf) | [Video](https://www.youtube.com/watch?v=6m2SKqb1M5M)
3+
4+
5+
[Moritz Heep](https://moritzheep.github.io/),
6+
[Eduard Zell](http://www.eduardzell.com/)
7+
8+
University of Bonn, PhenoRob
9+
10+
# Getting Started
11+
To clone the repository with all its submodules run
12+
```Shell
13+
$ git clone --recursive https://github.com/moritzheep/adaptive-screen-meshing.git
14+
```
15+
16+
## Prerequisites
17+
Our method uses [nvdiffrast](https://github.com/NVlabs/nvdiffrast) to translate between the triangle mesh and the pixel grid. Please make sure that all dependencies of nvdiffrast are met, especially torch. Furthermore, we require [OpenCV](https://opencv.org/) to be installed.
18+
### Docker
19+
We prepared a Docker image to take care of these dependencies and facilitate testing. We still need the nvidia-container-runtime. It can be installed via
20+
```Shell
21+
$ cd docker
22+
$ .\nvidia-container-runtime.sh
23+
```
24+
To build the image, run
25+
```Shell
26+
$ cd docker
27+
$ ./build.sh
28+
```
29+
Finally, run
30+
```Shell
31+
$ docker run \
32+
--runtime=nvidia \
33+
--gpus all \
34+
adaptive-screen-meshing
35+
```
36+
to get a list of options. You can then mount a volume and point towards your input files. All arguments can be appended to the above command and are passed through.
37+
## Building
38+
To build the project, run
39+
```Shell
40+
$ mkdir build
41+
$ cd build
42+
$ cmake ..
43+
$ make
44+
```
45+
46+
## Running
47+
After the build has been completed successfully, you can run
48+
```sh
49+
$ src/main \
50+
-n <path-to-the-normal-map> \
51+
-m <path-to-the-foreground-mask> \
52+
-t <path-to-save-the-mesh>
53+
```
54+
for a quick test. The normal map should be in the `.exr` format, the mask can be any 8Bit grayscale format supported by OpenCV. The mesh can be saved to any format supported by the [pmp-library](https://github.com/pmp-library/pmp-library). We recommend `.obj`.
55+
56+
You can run `src/main` to get of full list of all options.
57+
58+
# Troubleshooting
59+
If you get meshes that curve in the wrong direction, try flipping the x or y coordinate of your normal map.
60+
61+
# Citation
62+
```
63+
@inproceedings{heep2024screen-space-meshing,
64+
title={An Adaptive Screen-Space Meshing Approach for Normal Integration},
65+
author={Moritz Heep and Eduard Zell},
66+
booktitle = {European Conference on Computer Vision (ECCV)},
67+
year={2024}
68+
}
69+
```

0 commit comments

Comments
 (0)