mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-08-02 20:02:49 +08:00
Monte-Carlo rasterisation; arbitrary dimensionality of AlphaCompositor blending
Summary: Fixes required for MC rasterisation to work. 1) Wrong number of channels for background was used (derived from points dimensions, not features dimensions; 2) split of the results on the wrong dimension was done; 3) CORE CHANGE: blending in alpha compositor was assuming RGBA input. Reviewed By: davnov134 Differential Revision: D34933673 fbshipit-source-id: a5cc9f201ea21e114639ab9e291a10888d495206
This commit is contained in:
parent
e64f25c255
commit
0e377c6850
@ -92,9 +92,8 @@ def _add_background_color_to_images(pix_idxs, images, background_color):
|
|||||||
|
|
||||||
background_color = background_color.to(images)
|
background_color = background_color.to(images)
|
||||||
|
|
||||||
# add alpha channel
|
# add alpha channel if needed
|
||||||
if background_color.shape[0] == 3 and images.shape[1] == 4:
|
if background_color.shape[0] + 1 == images.shape[1]:
|
||||||
# special case to allow giving RGB background for RGBA
|
|
||||||
alpha = images.new_ones(1)
|
alpha = images.new_ones(1)
|
||||||
background_color = torch.cat([background_color, alpha])
|
background_color = torch.cat([background_color, alpha])
|
||||||
|
|
||||||
@ -107,7 +106,7 @@ def _add_background_color_to_images(pix_idxs, images, background_color):
|
|||||||
num_background_pixels = background_mask.sum()
|
num_background_pixels = background_mask.sum()
|
||||||
|
|
||||||
# permute so that features are the last dimension for masked_scatter to work
|
# permute so that features are the last dimension for masked_scatter to work
|
||||||
masked_images = images.permute(0, 2, 3, 1)[..., :4].masked_scatter(
|
masked_images = images.permute(0, 2, 3, 1).masked_scatter(
|
||||||
background_mask[..., None],
|
background_mask[..., None],
|
||||||
background_color[None, :].expand(num_background_pixels, -1),
|
background_color[None, :].expand(num_background_pixels, -1),
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user