David Novotny
365945b1fd
Pointcloud normals estimation.
...
Summary: Estimates normals of a point cloud.
Reviewed By: gkioxari
Differential Revision: D20860182
fbshipit-source-id: 652ec2743fa645e02c01ffa37c2971bf27b89cef
2020-04-16 18:36:19 -07:00
Georgia Gkioxari
487d4d6607
point mesh distances
...
Summary:
Implementation of point to mesh distances. The current diff contains two types:
(a) Point to Edge
(b) Point to Face
```
Benchmark Avg Time(μs) Peak Time(μs) Iterations
--------------------------------------------------------------------------------
POINT_MESH_EDGE_4_100_300_5000_cuda:0 2745 3138 183
POINT_MESH_EDGE_4_100_300_10000_cuda:0 4408 4499 114
POINT_MESH_EDGE_4_100_3000_5000_cuda:0 4978 5070 101
POINT_MESH_EDGE_4_100_3000_10000_cuda:0 9076 9187 56
POINT_MESH_EDGE_4_1000_300_5000_cuda:0 1411 1487 355
POINT_MESH_EDGE_4_1000_300_10000_cuda:0 4829 5030 104
POINT_MESH_EDGE_4_1000_3000_5000_cuda:0 7539 7620 67
POINT_MESH_EDGE_4_1000_3000_10000_cuda:0 12088 12272 42
POINT_MESH_EDGE_8_100_300_5000_cuda:0 3106 3222 161
POINT_MESH_EDGE_8_100_300_10000_cuda:0 8561 8648 59
POINT_MESH_EDGE_8_100_3000_5000_cuda:0 6932 7021 73
POINT_MESH_EDGE_8_100_3000_10000_cuda:0 24032 24176 21
POINT_MESH_EDGE_8_1000_300_5000_cuda:0 5272 5399 95
POINT_MESH_EDGE_8_1000_300_10000_cuda:0 11348 11430 45
POINT_MESH_EDGE_8_1000_3000_5000_cuda:0 17478 17683 29
POINT_MESH_EDGE_8_1000_3000_10000_cuda:0 25961 26236 20
POINT_MESH_EDGE_16_100_300_5000_cuda:0 8244 8323 61
POINT_MESH_EDGE_16_100_300_10000_cuda:0 18018 18071 28
POINT_MESH_EDGE_16_100_3000_5000_cuda:0 19428 19544 26
POINT_MESH_EDGE_16_100_3000_10000_cuda:0 44967 45135 12
POINT_MESH_EDGE_16_1000_300_5000_cuda:0 7825 7937 64
POINT_MESH_EDGE_16_1000_300_10000_cuda:0 18504 18571 28
POINT_MESH_EDGE_16_1000_3000_5000_cuda:0 65805 66132 8
POINT_MESH_EDGE_16_1000_3000_10000_cuda:0 90885 91089 6
--------------------------------------------------------------------------------
Benchmark Avg Time(μs) Peak Time(μs) Iterations
--------------------------------------------------------------------------------
POINT_MESH_FACE_4_100_300_5000_cuda:0 1561 1685 321
POINT_MESH_FACE_4_100_300_10000_cuda:0 2818 2954 178
POINT_MESH_FACE_4_100_3000_5000_cuda:0 15893 16018 32
POINT_MESH_FACE_4_100_3000_10000_cuda:0 16350 16439 31
POINT_MESH_FACE_4_1000_300_5000_cuda:0 3179 3278 158
POINT_MESH_FACE_4_1000_300_10000_cuda:0 2353 2436 213
POINT_MESH_FACE_4_1000_3000_5000_cuda:0 16262 16336 31
POINT_MESH_FACE_4_1000_3000_10000_cuda:0 9334 9448 54
POINT_MESH_FACE_8_100_300_5000_cuda:0 4377 4493 115
POINT_MESH_FACE_8_100_300_10000_cuda:0 9728 9822 52
POINT_MESH_FACE_8_100_3000_5000_cuda:0 26428 26544 19
POINT_MESH_FACE_8_100_3000_10000_cuda:0 42238 43031 12
POINT_MESH_FACE_8_1000_300_5000_cuda:0 3891 3982 129
POINT_MESH_FACE_8_1000_300_10000_cuda:0 5363 5429 94
POINT_MESH_FACE_8_1000_3000_5000_cuda:0 20998 21084 24
POINT_MESH_FACE_8_1000_3000_10000_cuda:0 39711 39897 13
POINT_MESH_FACE_16_100_300_5000_cuda:0 5955 6001 84
POINT_MESH_FACE_16_100_300_10000_cuda:0 12082 12144 42
POINT_MESH_FACE_16_100_3000_5000_cuda:0 44996 45176 12
POINT_MESH_FACE_16_100_3000_10000_cuda:0 73042 73197 7
POINT_MESH_FACE_16_1000_300_5000_cuda:0 8292 8374 61
POINT_MESH_FACE_16_1000_300_10000_cuda:0 19442 19506 26
POINT_MESH_FACE_16_1000_3000_5000_cuda:0 36059 36194 14
POINT_MESH_FACE_16_1000_3000_10000_cuda:0 64644 64822 8
--------------------------------------------------------------------------------
```
Reviewed By: jcjohnson
Differential Revision: D20590462
fbshipit-source-id: 42a39837b514a546ac9471bfaff60eefe7fae829
2020-04-11 00:21:24 -07:00
Jeremy Reizenstein
b64fe51360
join_meshes_as_batch
...
Summary: rename join_meshes to join_meshes_as_batch.
Reviewed By: nikhilaravi
Differential Revision: D20671293
fbshipit-source-id: e84d6a67d6c1ec28fb5e52d4607db8e92561a4cd
2020-03-30 11:27:41 -07:00
Jeremy Reizenstein
27eb791e2f
fix recent lint
...
Summary: Flowing of compositing comments
Reviewed By: nikhilaravi
Differential Revision: D20556707
fbshipit-source-id: 4abdc85e4f65abd41c4a890b6895bc5e95b4576b
2020-03-30 06:17:27 -07:00
Patrick Labatut
d57daa6f85
Address black + isort fbsource linter warnings
...
Summary: Address black + isort fbsource linter warnings from D20558374 (previous diff)
Reviewed By: nikhilaravi
Differential Revision: D20558373
fbshipit-source-id: d3607de4a01fb24c0d5269634563a7914bddf1c8
2020-03-29 14:51:02 -07:00
Georgia Gkioxari
6c48ff6ad9
replace view with reshape, check for nans
...
Summary: Replace view with reshape, add check for nans before mesh sampling
Reviewed By: nikhilaravi
Differential Revision: D20548456
fbshipit-source-id: c4e1b88e033ecb8f0f3a8f3a33a04ce13a5b5043
2020-03-19 19:31:41 -07:00
Olivia
53599770dd
Accumulate points ( #4 )
...
Summary:
Code for accumulating points in the z-buffer in three ways:
1. weighted sum
2. normalised weighted sum
3. alpha compositing
Pull Request resolved: https://github.com/fairinternal/pytorch3d/pull/4
Reviewed By: nikhilaravi
Differential Revision: D20522422
Pulled By: gkioxari
fbshipit-source-id: 5023baa05f15e338f3821ef08f5552c2dcbfc06c
2020-03-19 11:23:12 -07:00
Nikhila Ravi
3d3b2fdc46
Re-sync with internal repository
2020-03-18 10:35:27 -07:00
Nikhila Ravi
5d3cc3569a
Rendering texturing fixes
...
Summary:
Fix errors raised by issue on GitHub - extending mesh textures + rendering with Gourad and Phong shaders.
https://github.com/facebookresearch/pytorch3d/issues/97
Reviewed By: gkioxari
Differential Revision: D20319610
fbshipit-source-id: d1c692ff0b9397a77a9b829c5c731790de70c09f
2020-03-17 08:58:40 -07:00
Nikhila Ravi
20e457ca0e
[pytorch3d[ padded to packed function in struct utils
...
Summary: Added a padded to packed utils function which takes either split sizes or a padding value to remove padded elements from a tensor.
Reviewed By: gkioxari
Differential Revision: D20454238
fbshipit-source-id: 180b807ff44c74c4ee9d5c1ac3b5c4a9b4be57c7
2020-03-15 09:35:58 -07:00
Patrick Labatut
3c71ab64cc
Remove shebang line when not strictly required
...
Summary: The shebang line `#!<path to interpreter>` is only required for Python scripts, so remove it on source files for class or function definitions. Additionally explicitly mark as executable the actual Python scripts in the codebase.
Reviewed By: nikhilaravi
Differential Revision: D20095778
fbshipit-source-id: d312599fba485e978a243292f88a180d71e1b55a
2020-03-12 10:39:44 -07:00
Roman Shapovalov
cae325718e
Old-style string formatting fails when passed a tuple.
...
Summary: When the error occurs, another exception is thrown when tensor shape is passed to the % formatting. I have found all entries for `msg %` and fixed potential failures
Reviewed By: nikhilaravi
Differential Revision: D20386511
fbshipit-source-id: c05413eb4867cab1ddc9615dffbd0ebd3adfcaf9
2020-03-11 11:17:58 -07:00
Jeremy Reizenstein
fb97ab104e
getitem for textures
...
Summary: Make Meshes.__getitem__ carry texture information to the new mesh.
Reviewed By: gkioxari
Differential Revision: D20283976
fbshipit-source-id: d9ee0580c11ac5b4384df9d8158a07e6eb8d00fe
2020-03-11 07:45:44 -07:00
Jeremy Reizenstein
e491efb81f
lint things
...
Summary:
Lint related fixes: Improve internal/OSS consistency. Fix the fight between black and certain pyre-ignore markers by moving them to the line before.
Use clang-format-8 automatically if present. Small number of pyre fixes.
arc doesn't run pyre at the moment, so I put back the explicit call to pyre. I don't know if there's an option somewhere to change this.
Reviewed By: nikhilaravi
Differential Revision: D19780518
fbshipit-source-id: ef1c243392322fa074130f6cff2dd8a6f7738a7f
2020-02-21 05:05:06 -08:00
Georgia Gkioxari
a3baa367e3
face areas backward
...
Summary:
Added backward for mesh face areas & normals. Exposed it as a layer. Replaced the computation with the new op in Meshes and in Sample Points.
Current issue: Circular imports. I moved the import of the op in meshes inside the function scope.
Reviewed By: jcjohnson
Differential Revision: D19920082
fbshipit-source-id: d213226d5e1d19a0c8452f4d32771d07e8b91c0a
2020-02-20 11:11:33 -08:00
Georgia Gkioxari
29cd181a83
CPU implem for face areas normals
...
Summary:
Added cpu implementation for face areas normals. Moved test and bm to separate functions.
```
Benchmark Avg Time(μs) Peak Time(μs) Iterations
--------------------------------------------------------------------------------
FACE_AREAS_NORMALS_2_100_300_False 196 268 2550
FACE_AREAS_NORMALS_2_100_300_True 106 179 4733
FACE_AREAS_NORMALS_2_100_3000_False 1447 1630 346
FACE_AREAS_NORMALS_2_100_3000_True 107 178 4674
FACE_AREAS_NORMALS_2_1000_300_False 201 309 2486
FACE_AREAS_NORMALS_2_1000_300_True 107 186 4673
FACE_AREAS_NORMALS_2_1000_3000_False 1451 1636 345
FACE_AREAS_NORMALS_2_1000_3000_True 107 186 4655
FACE_AREAS_NORMALS_10_100_300_False 767 918 653
FACE_AREAS_NORMALS_10_100_300_True 106 167 4712
FACE_AREAS_NORMALS_10_100_3000_False 7036 7754 72
FACE_AREAS_NORMALS_10_100_3000_True 113 164 4445
FACE_AREAS_NORMALS_10_1000_300_False 748 947 669
FACE_AREAS_NORMALS_10_1000_300_True 108 169 4638
FACE_AREAS_NORMALS_10_1000_3000_False 7069 7783 71
FACE_AREAS_NORMALS_10_1000_3000_True 108 172 4646
FACE_AREAS_NORMALS_32_100_300_False 2286 2496 219
FACE_AREAS_NORMALS_32_100_300_True 108 180 4631
FACE_AREAS_NORMALS_32_100_3000_False 23184 24369 22
FACE_AREAS_NORMALS_32_100_3000_True 159 213 3147
FACE_AREAS_NORMALS_32_1000_300_False 2414 2645 208
FACE_AREAS_NORMALS_32_1000_300_True 112 197 4480
FACE_AREAS_NORMALS_32_1000_3000_False 21687 22964 24
FACE_AREAS_NORMALS_32_1000_3000_True 141 211 3540
--------------------------------------------------------------------------------
Benchmark Avg Time(μs) Peak Time(μs) Iterations
--------------------------------------------------------------------------------
FACE_AREAS_NORMALS_TORCH_2_100_300_False 5465 5782 92
FACE_AREAS_NORMALS_TORCH_2_100_300_True 1198 1351 418
FACE_AREAS_NORMALS_TORCH_2_100_3000_False 48228 48869 11
FACE_AREAS_NORMALS_TORCH_2_100_3000_True 1186 1304 422
FACE_AREAS_NORMALS_TORCH_2_1000_300_False 5556 6097 90
FACE_AREAS_NORMALS_TORCH_2_1000_300_True 1200 1328 417
FACE_AREAS_NORMALS_TORCH_2_1000_3000_False 48683 50016 11
FACE_AREAS_NORMALS_TORCH_2_1000_3000_True 1185 1306 422
FACE_AREAS_NORMALS_TORCH_10_100_300_False 24215 25097 21
FACE_AREAS_NORMALS_TORCH_10_100_300_True 1150 1314 435
FACE_AREAS_NORMALS_TORCH_10_100_3000_False 232605 234952 3
FACE_AREAS_NORMALS_TORCH_10_100_3000_True 1193 1314 420
FACE_AREAS_NORMALS_TORCH_10_1000_300_False 24912 25343 21
FACE_AREAS_NORMALS_TORCH_10_1000_300_True 1216 1330 412
FACE_AREAS_NORMALS_TORCH_10_1000_3000_False 239907 241253 3
FACE_AREAS_NORMALS_TORCH_10_1000_3000_True 1226 1333 408
FACE_AREAS_NORMALS_TORCH_32_100_300_False 73991 75776 7
FACE_AREAS_NORMALS_TORCH_32_100_300_True 1193 1339 420
FACE_AREAS_NORMALS_TORCH_32_100_3000_False 728932 728932 1
FACE_AREAS_NORMALS_TORCH_32_100_3000_True 1186 1359 422
FACE_AREAS_NORMALS_TORCH_32_1000_300_False 76385 79129 7
FACE_AREAS_NORMALS_TORCH_32_1000_300_True 1165 1310 430
FACE_AREAS_NORMALS_TORCH_32_1000_3000_False 753276 753276 1
FACE_AREAS_NORMALS_TORCH_32_1000_3000_True 1205 1340 415
--------------------------------------------------------------------------------
```
Reviewed By: bottler, jcjohnson
Differential Revision: D19864385
fbshipit-source-id: 3a87ae41a8e3ab5560febcb94961798f2e09dfb8
2020-02-13 11:42:48 -08:00
Jeremy Reizenstein
8fe65d5f56
Single function to load meshes from OBJs. join_meshes.
...
Summary:
Create the textures and the Meshes object from OBJ files in a single call.
There is functionality in OBJ files (like normals) which is ignored by this function.
Reviewed By: gkioxari
Differential Revision: D19691699
fbshipit-source-id: e26442ed80ff231b65b17d6c54c9d41e22b4e4a3
2020-02-13 03:38:07 -08:00
facebook-github-bot
dbf06b504b
Initial commit
...
fbshipit-source-id: ad58e416e3ceeca85fae0583308968d04e78fe0d
2020-01-23 11:53:46 -08:00