Differentiable Rendering with Perturbed Optimizers
Year: 2022

Abstract:
Reasoning about 3D scenes from their 2D image projections is one of the core problems in computer vision. Solutions to this inverse and ill-posed problem typically involve a search for models that best explain observed image data. Notably, images depend both on the properties of observed scenes and on the process of image formation. Hence, if optimization techniques should be used to explain images, it is crucial to design differentiable functions for the projection of 3D scenes into images, also known as differentiable rendering. Previous approaches to differentiable rendering typically replace non-differentiable operations by smooth approximations, impacting the subsequent 3D estimation. In this paper, we take a more general approach and study differentiable renderers through the prism of randomized optimization and the related notion of perturbed optimizers. In particular, our work highlights the link between some well-known differentiable renderer formulations and randomly smoothed optimizers, and introduces differentiable perturbed renderers. We also propose a variance reduction mechanism to alleviate the computational burden inherent to perturbed optimizers and introduce an adaptive scheme to automatically adjust the smoothing parameters of the rendering process. We apply our method to 3D scene reconstruction and demonstrate its advantages on the tasks of 6D pose estimation and 3D mesh reconstruction. By providing informative gradients that can be used as a strong supervisory signal, we demonstrate the benefits of perturbed renderers to obtain more accurate solutions when compared to the state-of-the-art alternatives using smooth gradient approximations.

heading: 1 Introduction
text: Many common tasks in computer vision such as 3D shape modelling [5, 15, 34, 36, 37] or 6D pose estimation [18, 22, 25, 30, 32] aim at inferring 3D information directly from 2D images. Most of the recent approaches rely on (deep) neural networks and thus require large training datasets with 3D shapes along with well-chosen priors on these shapes. Render & compare methods [18, 22] circumvent the non-differentiability of the rendering process by learning gradients steps from large datasets. Using a more structured strategy would allow to alleviate the need for such a strong supervision.Using a more structured strategy would allow to alleviate the need for such a strong supervision. In this respect, differentiable rendering intends to model the effective image generation process to compute a gradient related to the task to solve. This approach has the benefit of containing the prior knowledge of the rendering process while being interpretable. This makes it possible to provide a supervision for neural networks in a weakly-supervised manner [10, 16, 23]. The main challenge of differentiable rendering lies in the non-smoothness of the classical rendering process. In a renderer, both the rasterization steps, which consist in evaluating the pixel values by discretizing the 2D projected color-maps, and the aggregation steps, which merge the color-maps of several objects along the depth dimension by using a Z-buffering operation, are non-differentiable operations (Fig. 1). Intuitively, these steps imply discontinuities in the final rendered image with respect to the 3D positions of the scene objects. For example, if an object moves on a plane parallel to the
35th Conference on Neural Information Processing Systems (NeurIPS 2021).
camera, some pixels will immediately change color at the moment the object enters the camera view or becomes unocluded by another object.
In this paper, we propose to exploit randomized smoothing techniques within the context of differentiable rendering to automatically soften the non-smooth rendering operations, making them naturally differentiable. The generality of our approach offers a theoretical understanding of some of the existing differentiable renderers while its flexibility leads to competitive or even state-of-the-art results in practice. We make the following contributions:
�→ We formulate the non-smooth operations occurring in the rendering process as solutions of optimization problems and, based on recent work [4], we propose a natural way of smoothing them using random perturbations. We highlight the versatility of this smoothing formulation and show how it offers a theoretical understanding of several existing differentiable renderers. �→ We propose a general way to use control variate methods to reduce variance when estimating the gradients of the perturbed optimizers, which allows for sharp gradients even in the case of weaker perturbations. �→ We introduce an adaptive scheme to automatically adjust the smoothing parameters by relying on sensitivity analysis of differentiable perturbed renderers, leading to a robust and adaptive behavior during the optimization process. �→ We demonstrate through experiments on pose optimization and 3D mesh reconstruction that the resulting gradients combined to the adaptive smoothing provide a strong signal, leading to more accurate solutions when compared to state-of-the-art alternatives based on smooth gradient approximations [23].

heading: 2 Background
text: In this section, we review the fundamental aspects behind image rendering and recall the notion of perturbed optimizers which are at the core of the proposed approach.
Rasterizer and "aggregater" as optimizers. We consider the rendering process of an RGB image of height hI and width wI , from a scene composed with meshes represented by a set of m triangles. We assume that every triangle has already been projected onto the camera plane and their associated color maps Cj ∈ RhI×wI×3, j ∈ [1 . . m], have been computed using a chosen illumination model (Phong [29], Gouraud [13] etc.) and interpolating local properties of the mesh. We denote by I the occupancy map such that Iij is equal to 1 if the center of the i
th pixel is inside the 2D projection of the jth triangle on the camera plane and 0 otherwise. By denoting d(i, j) the Euclidean distance from the center of the ith pixel to the projection of the jth triangle, the rasterization step (which actually consists in computing the occupancy map I) can be written as:
Iij = H(d(i, j)), (1)
where H corresponds to the Heaviside function defined by:
H(x) = � 0 if x ≤ 0 1 otherwise = argmax0≤y≤1 y x. (2)
We call R ∈ RhI×wI×3 the final rendered image which is obtained by aggregating the color map of each triangle. In classical renderers, this step is done by using a Z-buffer so that only foreground objects are visible. This corresponds to:
Ri = �
j
wij(z)C i j , with w i(z) = argmax y s.t. �y�1=1,y≥0, yj=0 if Iij=0 �z, y�, (3)
where w, z ∈ Rm+1 and for 1 ≤ j ≤ m, zj is the inverse depth of the jth triangle and the (m+ 1)th coordinate of z and w account for the background. The inverse depth of the background is fixed to zm+1 = zmin. From Eq. (2) and (3), it appears that argmax operations play a central role in renderers and are typically non-differentiable functions with respect to their input arguments, as discussed next.
Perturbed optimizers. In [4], Berthet et al. introduce a generic approach to handle non-smooth problems of the form y∗(θ) = argmax
y∈C �θ, y� with C a convex polytope, and make these problems
differentiable by randomly perturbing them. More precisely, y∗(θ) necessarily lies on a vertex of the convex set C. Thus, when θ is only slightly modified, y∗ remains on the same vertex, but when the perturbation grows up to a certain level, y∗ jumps onto another vertex. Concretely, this means that y∗(θ) is piece-wise constant with respect to θ: the Jacobian Jθy∗ is null almost everywhere and undefined otherwise. This is why the rasterization (2) and aggregation (3) steps make renderers non-differentiable. Following [4], y∗(θ) can be approximated by the perturbed optimizer:
y∗� (θ) = EZ [y∗(θ + �Z)] (4)
= EZ � argmax
y∈C �θ + �Z, y�
� , (5)
where Z is a random noise following a distribution of the form µ(z) ∝ exp(−ν(z)). Then, we have y∗� (θ)
�−→0−−−→ y∗(θ), y∗� (θ) is differentiable and its gradients are non-null everywhere. Intuitively, one can see from (5) that perturbed optimizers y∗� are actually a convolved version of the rigid optimizer y∗. Moreover, their Jacobian with respect to θ is given by:
Jθy ∗ � (θ) = EZ
� y∗(θ + �Z)
� ∇ν(Z)�
� . (6)
It is worth noticing at this stage that, when � = 0, one recovers the standard formulation of the rigid optimizer. In general, y∗� (θ) and Jθy ∗ � (θ) do not admit closed-form expressions. To overcome this issue, Monte-Carlo estimators are exploited to compute an estimate of these quantities, as recalled in Sec. 4.

heading: 3 Related work
text: Our work builds on results in differentiable rendering, differentiable optimization and randomized smoothing.
Differentiable rendering. Some of the earliest differentiable renderers rely on the rigid rasterization-based rendering process recalled in the previous section, while exploiting some gradient approximations of the non-smooth operations in the backward. OpenDR [24] uses a first-order Taylor expansion to estimate the gradients of a classical renderer, resulting in gradients concentrated around the edges of the rendered images. In the same vein, NMR [16] proposes to avoid the issue of local gradients by doing manual interpolation during the backward pass. For both OpenDR and NMR, the discrepancy between the function evaluated in the forward pass and the gradients computed in the backward pass may lead to unknown or undesired behaviour when optimizing over these approximated gradients. More closely related to our work, SoftRas [23] directly approximates the forward pass of usual renderers to make it naturally differentiable. Similarly, DIB-R [8] introduces the analytical derivatives of the faces’ barycentric coordinates to get a smooth rendering of foreground pixels during the forward pass, and thus, gets gradients naturally relying on local properties of meshes. Additionally, a soft aggregation step is required to backpropagate gradients towards background pixels in a similar way to SoftRas. In a parallel line of work, physically realistic renderers are made differentiable by introducing a stochastic estimation of the derivatives of the ray tracing integral [21, 28]. This research direction seems promising as it allows to generate images with global illumination effects. However, this class of renderers remains computationally expensive when compared to rasterization-based algorithms, which makes them currently difficult to exploit within classic computer vision or robotics contexts, where low computation timings matter.
Differentiable optimization and randomized smoothing. More generally, providing ways to differentiate solutions of constrained optimization problems has been part of the recent growing effort to introduce more structured operations in the differentiable programming paradigm [33], going beyond classic neural networks. A first approach consists in automatically unrolling the optimization process used to solve the problem [11, 26]. However, because the computational graph grows with the number of optimization steps, implicit differentiation, which relies on the differentiation of optimality conditions, should be preferred when available [2, 3, 20]. These methods compute exact gradients whenever the solution is differentiable with respect to the parameters of the problem. In this paper, we show how differentiating through a classic renderer relates to computing derivatives of a Linear Programming (LP) problem. In this particular case and as recalled in the Sec. 2, solutions of the optimization problem vary in a heavily non-smooth way as gradients are null almost-everywhere and non-definite otherwise, thus, making them hard to exploit within classic optimization algorithms. To overcome this issue, a first approach consists in introducing a gradient proxy by approximating the solution with a piecewise-linear interpolation [35] which can also lead to null gradient. Another approach leverages random perturbations to replace the original problem by a smoother approximation [1, 4]. For our differentiable renderer, we use this later method as it requires only little effort to transform non-smooth optimizers into differentiable ones, while guaranteeing non-null gradients everywhere. Moreover, randomized smoothing has been shown to facilitate optimization of non-smooth problems [12]. Solving a smooth approximation leads to improved performance when compared to methods dealing with the original rigid problem. In addition to its smoothing effect, the addition of noise also acts as an implicit regularization during the training process which is valuable for globalization aspects [4, 9], i.e. converging towards better local optima.

heading: 4 Approximate differentiable rendering via perturbed optimizers
text: In this section, we detail the main contributions of the paper. We first introduce the reformulation of the rasterization and aggregation steps as perturbed optimizers, and propose a variance reduction mechanism to alleviate the computational burden inherent to these kinds of stochastic estimators. Additionally, we introduce an adaptive scheme to automatically adjust the smoothing parameters inherent to the rendering process.

heading: 4.1 Perturbed renderer: a general approximate and differentiable renderer
text: As detailed in Sec. 2, the rasterization step (2) can be directly written as the argmax of an LP. Similarly, the aggregation (3) step can be slightly modified to reformulate it as an argmax of an LP. Indeed, when y ≥ 0, the hard constraint yj = 0 if Iij = 0 is equivalent to Iij yj > 0, which can be
approximated by adding a logarithmic barrier yj ln I j i in the objective function as done in classical interior point methods [6]:
wiα(z) = argmax y s.t. �y�1=1,y≥0 �z + 1 α ln(Ii), y�, (7)
because ln Iij Iij−→0−−−−→ −∞, enforcing wij Iij−→0−−−−→ 0. α −→ +∞ approximates the hard constraint and allows to retrieve the classical formulation (3) of w. Using this formulation, it is possible to introduce a differentiable approximation of the rasterization and aggregation steps:
Îij = Hσ(d(i, j)), with Hσ(x) = EX [H(x+ σX)] = EX [argmax 0≤y≤1 �y, x+ σX�], (8)
R̂i = �
j
wiα,γj(z)C i j , with w i α,γ(z) = EZ [wα(z + γZ)] (9)
= EZ [ argmax y s.t. �y�1=1,y≥0 �y + 1 α ln(Îi), z + γZ�]. (10)
By proceeding this way, we get a rendering process for which every pixel is influenced by every triangle of meshes (Fig. 1,2), similarly to SoftRas [23]. More concretely, as shown in [4], the gradients obtained with the randomized smoothing are guaranteed to be non-null everywhere unlike some existing methods [8, 16, 24]. This makes it possible to use the resulting gradients as a strong supervision signal for optimizing directly at the pixel level, as shown through the experiments in Sec. 5. At this stage, it is worth noting that the prior distribution on the noise Z used for smoothing is not fixed. One can choose various distributions as a prior thus leading to different smoothing patterns, which makes the approach versatile. Indeed, as a different noise prior induces different smoothing, some specific choices allow to retrieve some of the existing differentiable renderers [16, 23, 24]. In particular, using a Logistic and a Gumbel prior respectively on X and Z leads to SoftRas[23]. Further details are included in Appendix A.
More practically, the smoothing parameters σ, γ appearing in differentiable renderers such as SoftRas [23] or DIB-R [8] can be hard to set. In contrast, in the proposed approach, the smoothing is naturally interpretable as a noise acting directly on positions of mesh triangles. Thus, the smoothing parameters representing the noise intensity can be scaled automatically according to the object dimensions. In Sec. 4.3, we notably propose a generic approach to automatically adapt them along the optimization process.

heading: 4.2 Exploiting the noise inside a perturbed renderer
text: In practice, (5) and (6) are useful even in the cases when the choice of prior on Z does not induce any analytical expression for y∗� and Jθy ∗ � . Indeed, Monte-Carlo estimators of these two quantities can be directly obtained from these two expressions:
yM� (x) = 1
M
M�
i=1
y∗(θ + �Z(i)) (11)
Jθ y M � (z) =
1
M
M�
i=1
y∗(θ + �Z(i)) 1 � ∇ν(Z(i))�, (12)
where M is the total number of samples used to compute the approximations.
Approximately, we have Var � Jθy M � (z) � ∝ Var[y ∗(θ+�Z)∇ν(Z(i))�] M�2 . When decreasing �, the variance of the Monte-Carlo estimator increases, which can make the gradients very noisy and difficult to exploit in practice. For this reason, we use the control variates method [19] in order to reduce the variance of our estimators. Because the quantity y∗(θ)∇ν(Z)� has a null expectation when Z has a symmetric distribution and is positively correlated with y∗(θ + �Z)∇ν(Z)�, we can rewrite (6) as:
Jθy ∗ � (θ) = EZ
� (y∗(θ + �Z)− y∗(θ))∇ν(Z)�/� � , (13)
which naturally leads to a variance-reduced Monte-Carlo estimator of the Jacobian:
Jθy M � (θ) =
1
M
M�
i=1
� y∗(θ + �Z(i))− y∗(θ) � 1 � ∇ν(Z(i))�. (14)
The computation of yM� requires the solution of M perturbed problems instead of only one in the case of classical rigid optimizer. Fortunately, this computation is naturally parallelizable, leading to a constant computation time at the cost of an increased memory footprint. Using our variancereduced estimator alleviates the need for a high number of Monte Carlo samples, hence reducing the computational burden inherent to perturbed optimizers (Fig. 3). As shown in Sec. 5 (Fig. 5, left), M = 8 samples is already sufficient to get stable and accurate results. In addition, computations from the forward pass can be reused in the backward pass and time and memory complexities to evaluate these passes are comparable to classical differentiable renderers (Tab. 1). Consequently, evaluating gradients does not require any extra computation. It is worth mentioning at this stage that this variance reduction mechanism in fact applies to any perturbed optimizer. This variance reduction technique can be interpreted as estimating a sub-gradient with the finite differences in a random direction and is inspired by the field of random optimization [27].

heading: 4.3 Making the smoothing adaptive with sensitivity analysis
text: In a way similar to (6), it is possible to formulate the sensitivity of the perturbed optimizer with respect to the smoothing parameter �:
J�y ∗ � (θ) = EZ
� y∗(θ + �Z) � ∇ν(Z)�Z − 1 � /� �
(15)
and, as previously done, we can build a variance-reduced Monte-Carlo estimator of this quantity:
J�y M � (θ) =
1
M
M�
i=1
� y∗(θ + �Z(i))− y∗(θ) � ∇ν(Z(i))�Z(i) − 1 �
(16)
In the case of differentiable rendering, a notable property is the positivity of the sensitivity of any locally convex loss L (which is valid for the RGB loss) with respect to the γ smoothing parameter when approaching the solution. Indeed, in the neighborhood of the solution, we have θ ≈ θt and a first-order Taylor expansion gives:
∂L ∂γ (θ) ≈ Jγwγ(z)�C�∇2L(R(θt))CJγwγ(z) ≥ 0, (17)
because for a locally convex loss, ∇2L(R(θt)) is positive definite near a local optimum. We exploit this property to gradually reduce the smoothing when needed. To do so, we track an exponential moving average of the sensitivity during the optimization process:
vtγ = βγv t−1 γ + (1− βγ) ∂L ∂γ (θt) (18)
where βγ is a scalar parameter. Whenever vtγ is positive, the smoothing (σ, γ) is decreased at a constant rate (Fig. 4). Note that the adaptive algorithm does not require any further computation as sensitivity can be obtained from backpropagation and also beneficially applies to other differentiable renderers [23] (see 5).

heading: 5 Results
text: In this section, we explore applications of the proposed differentiable rendering pipeline to standard computer vision tasks: single-view 3D pose estimation and 3D mesh reconstruction. Our implementation is based on Pytorch3d [31] and will be publicly released upon publication. It corresponds to a modular differentiable renderer where switching between different type of noise distributions (Gaussian, Cauchy, etc.) is possible. We notably compare our renderer against the open source SoftRas implementation available in Pytorch3d and DIB-R from Kaolin library. The results for these renderers are obtained by running the experiments in our setup as we were not able to get access to the original implementations of the pose optimization and shape reconstruction problems.
Single-view 3D pose estimation is concerned with the retrieving the 3D rotation θ ∈ SO(3) of an object from a reference image. Similarly to [23], we first consider the case of a colored cube and fit the rendered image of this cube to a single view of the true pose R(θt) (Fig. 4). The problem can be formulated as a regression problem of the form:
min θ
LRGB(θ) = 1
2 �R(θt)− R̂(θ)�22, (19)
where R̂ is the smooth differentiable rendered image. We aim at analysing the sensitivity of our perturbed differentiable renderer with respect to random initial guesses of various amplitudes from the real pose. Thus, the initial θ is randomly perturbed from the true pose with various intensity for the perturbation (exploiting an angle-axis representation of the rotation, with a randomized rotation axis). The intensity of the angular perturbation is taken between 20 and 80 degrees. Consequently, the value of the average final error has an increased variance and is often perturbed by local minima (Tab. 2). To avoid these caveats, we rely on another metric: the percentage of solved tasks (see Tab. 2 and Fig. 5 and 6), accounting for the amount of final errors which are below a given threshold (10 degrees for Tab. 2 and bottom row of Fig. 6). For this task, we compare our method with two different distributions for the smoothing noise (Gaussian and Cauchy priors) to SoftRas. We use Adam [17] with parameters β1 = 0.9 and β2 = 0.999 and operate with 128×128 RGB images, each optimization problem taking about 1 minute to solve on a Nvidia RTX6000 GPU.
We provide results of 100 random perturbations for various magnitude of initial perturbations in Tab. 2 and Fig. 5,6. Error bars provide standard deviations while running experiments with different random seeds. Fig. 5 (left) demonstrates the advantage of our variance reduction method to estimate perturbed optimizers and precisely retrieve the true pose at a lower computational cost. Indeed, the variance-reduced perturbed renderer is able to perform precise optimization with only 2 samples (80% of final errors are under 5° while it is less than 50% without the use of control variates). Additionally, our adaptive smoothing significantly improves the number of solved tasks for both SoftRas and our perturbed renderer (Fig. 5, right).
Additional results in Tab. 2, Fig. 6 and Fig. 11 in Appendix demonstrate that our perturbed renderers with a Gaussian smoothing, outperforms SoftRas and can achieve state-of-the-art results for pose optimization tasks on various objects. As shown in Appendix (Prop. 4), SoftRas is equivalent to using a Gumbel smoothing which is an asymmetric prior. However, no direction should be preferred when smoothing the rendering process which explain the better performances of the Gaussian prior.
Bottom row of Fig. 6 shows that our method is robust to the choice of initial values of smoothing parameters. During optimization, the stochasticity of the gradient due to the noise from the perturbed renderer acts as an implicit regularization of the objective function. This helps to avoid sharp local minima or saddle points and converge to more stable minimal regions, leading to better optima. As mentioned earlier, results are limited by the inherent non-convexity of the rendering process and differentiable renderers are not able to recover from a bad initial guess. Increasing the noise intensity to further smoothen the objective function would not help in this case, as it would also lead to a critical loss of information on the rendering process.
Self-supervised 3D mesh reconstruction from a single image. In our second experiment, we demonstrate the ability of our perturbed differentiable renderer to provide a supervisory signal for training a neural network. We use the renderer to self-supervise the reconstruction of a 3D mesh and the corresponding colors from a single image (see Fig. 7). To do so, we use the network architecture proposed in [23] and the subset of the Shapenet dataset [7] from [16]. The network is composed of a convolutional encoder followed by two decoders: one for the mesh reconstruction and another one for color retrieving (more details in Appendix B).
Using the same setup as described in [8, 16, 23] , the training is done by minimizing the following loss:
L = λsilLsil + λRGBLRGB + λlapLlap, (20)
where Lsil is the negative IoU between silhouettes I and Î , LRGB is the �1 RGB loss between R and R̂, Llap is a Laplacian regularization term penalizing the relative change in position between neighbour vertices (detailed description in Appendix B). For training, we use Adam algorithm with a learning rate of 10−4 and parameters β1 = 0.9,β2 = 0.999. Even if the memory consumption of the perturbed renderer may limit the maximum size of batches, its flexibility makes it possible to switch to a deterministic approximation such as [23] to use larger batches in order to finetune the neural network, if needed.
We analyze the quality of obtained 3D reconstruction through a rendering pipeline by providing IoU measured on 13 different classes of the test set (see Tab. 3). We observe that our perturbed
1These numbers were obtained by running the renderer in our own setup (cameras, lightning, training parameters etc.) in order to have comparable results. This may explain the slight difference with the numbers from the original publications.
renderer obtains state-of-the-art accuracies on this task. Error bars (representing the standard deviation obtained by retraining the model with different random seeds) confirm the stability of our method. Additionally, we illustrate qualitative results for colorized 3D mesh reconstruction from a single image in Fig. 7(right) confirming the ability of perturbed renderers to provide strong visual supervision signals.

heading: 6 Conclusion
text: In this paper, we introduced a novel approach to differentiable rendering leveraging recent contributions on perturbed optimizers. We demonstrated the flexibility of our approach grounded in its underlying theoretical formulation. The combination of our proposed perturbed renderers with variance-reduction mechanisms and sensitivity analysis enables for robust application of our rendering approach in practice. Our results notably show that perturbed differentiable rendering can reach state-of-the-art performance on pose optimization and is also competitive for self-supervised 3D mesh reconstruction. Additionally, perturbed differentiable rendering can be easily implemented on top of existing implementations without major modifications, while generalizing existing renderers such as SoftRas. As future work, we plan to embed our generic differentiable renderer within a differentiable simulation pipeline in order to learn physical models, by using visual data as strong supervision signals to learn physics.
Acknowledgments and Disclosure of Funding
We warmly thank Francis Bach for useful discussions. This work was supported in part by the HPC resources from GENCI-IDRIS(Grant AD011012215), the French government under management of Agence Nationale de la Recherche as part of the "Investissements d’avenir" program, reference ANR-19-P3IA-0001 (PRAIRIE 3IA Institute), and Louis Vuitton ENS Chair on Artificial Intelligence.

Review summaries:
This paper proposes a new differentiable renderer by introducing perturbed optimizers. The paper re-writes the non-differentiable rasterization and aggregation steps to heaven side functions and relaxes them to be differentiable by adding noise.  The author shows that previous work, especially softras, can be treated as a special case of the perturbed renderer with specific prior selections. The authors also demonstrated in several experiments they achieve better or comparable results than the state of the art.

This paper presents a method for converting a standard non-differentiable rasterization-based renderer into a differentiable counterpart using recent advances in the perturbed optimizer. The main contribution lies in the generic nature provided by the theoretical formulation, where some specifically chosen priors in the proposed framework can retrieve recent state-of-the-art differentiable renderers, e.g. SoftRas.  As the proposed approach mainly relies on a Monte-Carlo estimator for generating the smoothing parameters. Variance-reduction mechanism and sensitivity analysis are also incorporated into the proposed framework to ensure the robustness of the approximate renderer. Experiments on pose estimation and single-view reconstruction are conducted for comparing the performance of the proposed method and previous state-of-the-art approaches.

This paper proposes a differentiable rendering method that builds connection between the 3D model and 2D perspective appearance. Different from previous methods, the differentiable rendering is formulated into an optimization problem. Two computer vision tasks, including pose estimation and 3D shape from color image, are evaluated with the proposed renderer and compared to SoftRas [22].