AutoLens
Automated lens design from scratch using differentiable optimization and curriculum learning.
AutoLens designs multi-element optical lens systems from flat surfaces — no human initialization required. Built on DeepLens, it combines differentiable ray tracing with curriculum learning to transform a hard global optimization problem into a sequence of easier subproblems.
Key Features
- Ab initio lens design — starts from flat (zero-curvature) surfaces and converges to high-quality lens prescriptions without manual initialization
- Curriculum learning — gradually increases aperture size during optimization, avoiding local minima that trap conventional optimizers
- Differentiable ray tracing — full gradient backpropagation through multi-element lens systems via PyTorch autograd
- Two-phase optimization — Adam for global search, L-BFGS with parameter reparametrization for fast local convergence
- Optical regularization — constraint losses prevent self-intersection, enforce manufacturability, and control total track length
- Standard file I/O — read/write Zemax
.zmx, Code V.seq, and JSON lens formats
Quick Install
Getting Started
- Installation — detailed setup instructions
- Quickstart — load a lens, trace rays, run optimization
- Architecture — how the pipeline works
- API Reference — full class and function documentation
- Examples — automated design, batch optimization, aspheric lenses