This repository has been archived by the owner on Oct 31, 2023. It is now read-only.
60x Speedup on IUV2FBC Function. Greatly speeds up converting a 2D person image to a 3D model. #99
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Referenced in #98
Hello,
This PR gives a 60x speed up to
IUV2FBC
(in DensePose/detectron/utils/densepose_methods.py).IUV2FBC
function converts an IUV point to an XYZ point on a SMPL model. This will convenience users who would like to make a 3D person out of a 2D person image (e.g. in virtual reality).Timings
Run IUV2FBC on 125 IUV points in 'DensePoseData/demo_data/demo_dp_single_ann.pkl' ...
Original:
Sped up:
Run IUV2FBC on 80000 IUV points ...
Original: Estimated ~53 minutes (80000 points / 125 points * 5 secs ~= 53 mins)
Sped up: 1 minute (timing obtained from a profiled run)
PR Contribution
notebooks/DensePose-Fast-IUV-2-XYZ.ipynb : Is a demo. Also addresses issue #87 .
detectron/utils/densepose_methods.py : Contains sped-up codes. Backward-compatible since original functions not modified. New functions:
IUV2FBC_fast
andbarycentric_coordinates_fast
.DensePoseData/demo_data_2/* : Data given for the convenience of running DensePose-Fast-IUV-2-XYZ.ipynb .