mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-08-02 03:42:50 +08:00
remove unused params + cubify note
Summary: This diff * removes the unused compositing params * adds a note describing cubify Reviewed By: nikhilaravi Differential Revision: D22426191 fbshipit-source-id: e8aa32040bb594e1dfd7d6d98e29264feefcec7c
This commit is contained in:
parent
38eadb75e2
commit
3d7dea58e1
7
docs/notes/cubify.md
Normal file
7
docs/notes/cubify.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Cubify
|
||||
|
||||
The [cubify operator](https://github.com/facebookresearch/pytorch3d/blob/master/pytorch3d/ops/cubify.py) converts an 3D occupancy grid of shape `BxDxHxW`, where `B` is the batch size, into a mesh instantiated as a [Meshes](https://github.com/facebookresearch/pytorch3d/blob/master/pytorch3d/structures/meshes.py) data structure of `B` elements. The operator replaces every occupied voxel (if its occupancy probability is greater than a user defined threshold) with a cuboid of 12 faces and 8 vertices. Shared vertices are merged, and internal faces are removed resulting in a **watertight** mesh.
|
||||
|
||||
The operator provides three alignment modes {*topleft*, *corner*, *center*} which define the span of the mesh vertices with respect to the voxel grid. The alignment modes are described in the figure below for a 2D grid.
|
||||
|
||||

|
@ -14,11 +14,6 @@ from pytorch3d import _C
|
||||
# This can be an image (C=3) or a set of features.
|
||||
|
||||
|
||||
# Data class to store blending params with defaults
|
||||
class CompositeParams(NamedTuple):
|
||||
radius: float = 4.0 / 256.0
|
||||
|
||||
|
||||
class _CompositeAlphaPoints(torch.autograd.Function):
|
||||
"""
|
||||
Composite features within a z-buffer using alpha compositing. Given a z-buffer
|
||||
@ -67,7 +62,7 @@ class _CompositeAlphaPoints(torch.autograd.Function):
|
||||
return grad_features, grad_alphas, grad_points_idx, None
|
||||
|
||||
|
||||
def alpha_composite(pointsidx, alphas, pt_clds, blend_params=None) -> torch.Tensor:
|
||||
def alpha_composite(pointsidx, alphas, pt_clds) -> torch.Tensor:
|
||||
"""
|
||||
Composite features within a z-buffer using alpha compositing. Given a z-buffer
|
||||
with corresponding features and weights, these values are accumulated according
|
||||
@ -147,7 +142,7 @@ class _CompositeNormWeightedSumPoints(torch.autograd.Function):
|
||||
return grad_features, grad_alphas, grad_points_idx, None
|
||||
|
||||
|
||||
def norm_weighted_sum(pointsidx, alphas, pt_clds, blend_params=None) -> torch.Tensor:
|
||||
def norm_weighted_sum(pointsidx, alphas, pt_clds) -> torch.Tensor:
|
||||
"""
|
||||
Composite features within a z-buffer using normalized weighted sum. Given a z-buffer
|
||||
with corresponding features and weights, these values are accumulated
|
||||
@ -226,7 +221,7 @@ class _CompositeWeightedSumPoints(torch.autograd.Function):
|
||||
return grad_features, grad_alphas, grad_points_idx, None
|
||||
|
||||
|
||||
def weighted_sum(pointsidx, alphas, pt_clds, blend_params=None) -> torch.Tensor:
|
||||
def weighted_sum(pointsidx, alphas, pt_clds) -> torch.Tensor:
|
||||
"""
|
||||
Composite features within a z-buffer using normalized weighted sum.
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
|
||||
from ..compositing import CompositeParams, alpha_composite, norm_weighted_sum
|
||||
from ..compositing import alpha_composite, norm_weighted_sum
|
||||
|
||||
|
||||
# A compositor should take as input 3D points and some corresponding information.
|
||||
@ -16,15 +16,11 @@ class AlphaCompositor(nn.Module):
|
||||
Accumulate points using alpha compositing.
|
||||
"""
|
||||
|
||||
def __init__(self, composite_params=None):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.composite_params = (
|
||||
composite_params if composite_params is not None else CompositeParams()
|
||||
)
|
||||
|
||||
def forward(self, fragments, alphas, ptclds, **kwargs) -> torch.Tensor:
|
||||
images = alpha_composite(fragments, alphas, ptclds, self.composite_params)
|
||||
images = alpha_composite(fragments, alphas, ptclds)
|
||||
return images
|
||||
|
||||
|
||||
@ -33,12 +29,9 @@ class NormWeightedCompositor(nn.Module):
|
||||
Accumulate points using a normalized weighted sum.
|
||||
"""
|
||||
|
||||
def __init__(self, composite_params=None):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.composite_params = (
|
||||
composite_params if composite_params is not None else CompositeParams()
|
||||
)
|
||||
|
||||
def forward(self, fragments, alphas, ptclds, **kwargs) -> torch.Tensor:
|
||||
images = norm_weighted_sum(fragments, alphas, ptclds, self.composite_params)
|
||||
images = norm_weighted_sum(fragments, alphas, ptclds)
|
||||
return images
|
||||
|
Loading…
x
Reference in New Issue
Block a user