この論文では、JuliaのレンダラーであるRayTracer.jlを紹介します。これは、ソースからソースへの自動微分(AD)を使用して完全に微分可能です。これは、RayTracerが3Dシーンパラメーターから2D画像をレンダリングするだけでなく、微分可能プログラミング(DP)パイプラインでターゲットイメージを生成するモデルパラメーターの最適化に使用できることを意味します。ニューラルネットワークと組み合わせて使用するために、レンダラーをディープラーニングライブラリFluxとインターフェースします。レンダリングタスクおよび逆グラフィックス問題の解決におけるこの微分可能なレンダラーの使用を示します。
In this paper, we present RayTracer.jl, a renderer in Julia that is fully differentiable using source-to-source Automatic Differentiation (AD). This means that RayTracer not only renders 2D images from 3D scene parameters, but it can be used to optimize for model parameters that generate a target image in a Differentiable Programming (DP) pipeline. We interface our renderer with the deep learning library Flux for use in combination with neural networks. We demonstrate the use of this differentiable renderer in rendering tasks and in solving inverse graphics problems.