The OpenDR, or Open Differentiable Renderer, can be used for rendering and optimisation to image evidence:
- Rendering is achieved by constructing and initialising one of the renderers available in OpenDR.
- Optimization is achieved by minimising an objective that includes one or more renderers.
OpenDR is designed to be concise: it should not take many lines of code to construct a scene and optimize it towards image evidence. The technical details of its operation were published in the European Conference on Computer Vision in 2014.
If you experience technical difficulties, feel free to add an issue to the issue tracker (requires free signup to github), or to contact the first author of our paper. Because of time constraints, we cannot guarantee a timely response to every question.
OpenDR is currently unit-tested on OS X and Ubuntu. Instructions specific to those platforms are as follows:
OpenDR includes sample scripts, which can be seen by typing the following:
import opendr opendr.demo() # prints out a list of possible demos
Rendering with OpenDR
The following prints and executes the code for illuminating of a sphere mesh with one point light source. For a step-by-step explanation of the code used in this demo, click here.
import opendr opendr.demo('point_light')
Optimization with OpenDR
The following prints and executes the code for optimizing a texture-mapped mesh of earth to image evidence. For a step-by-step explanation of the code used in this demo, click here.
import opendr opendr.demo('optimization')