🤖 AI Summary
This work addresses the limitation of existing differentiable renderers, which are largely confined to vector graphics and struggle to efficiently handle real-world bitmap images. We present the first efficient differentiable rendering engine capable of optimizing large-scale bitmap primitives. Our approach leverages a custom CUDA implementation for parallel gradient computation, combined with Gaussian-blurred soft rasterization, structure-aware initialization, noise-based canvases, and specialized loss functions incorporating video and spatiotemporal constraints. The system jointly optimizes the position, rotation, scale, color, and opacity of thousands of bitmaps in under one minute on a consumer-grade GPU, substantially improving both optimization efficiency and image fidelity. An open-source Python package is released to support integration into creative workflows and layered file export, thereby advancing the practical adoption of differentiable rendering in real-world artistic applications.
📝 Abstract
We introduce DiffBMP, a scalable and efficient differentiable rendering engine for a collection of bitmap images. Our work addresses a limitation that traditional differentiable renderers are constrained to vector graphics, given that most images in the world are bitmaps. Our core contribution is a highly parallelized rendering pipeline, featuring a custom CUDA implementation for calculating gradients. This system can, for example, optimize the position, rotation, scale, color, and opacity of thousands of bitmap primitives all in under 1 min using a consumer GPU. We employ and validate several techniques to facilitate the optimization: soft rasterization via Gaussian blur, structure-aware initialization, noisy canvas, and specialized losses/heuristics for videos or spatially constrained images. We demonstrate DiffBMP is not just an isolated tool, but a practical one designed to integrate into creative workflows. It supports exporting compositions to a native, layered file format, and the entire framework is publicly accessible via an easy-to-hack Python package.