This is the official code repository for the paper: "The Differentiable Lens: Compound Lens Search over Glass Surfaces and Materials for Object Detection", presented at CVPR 2023.
This repository provides code to
In the CVPR 2023 work, this code was applied to object detection as a downstream computer vision task.
If you find our work useful in your research, please cite:
@inproceedings{cote2023differentiable,
author = {C{\^o}t{\'e}, Geoffroi and Mannan, Fahim and Thibault, Simon and Lalonde, Jean-Fran{\c{c}}ois and Heide, Felix},
title = {The Differentiable Lens: Compound Lens Search over Glass Surfaces and Materials for Object Detection},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2023},
pages = {},
}
The file environment.yml
can be used to install a functional Conda environment. The environment was tested on Python 3.10 and Tensorflow 2.8, but any recent version of these packages should suffice.
conda env create -n joint-lens-design -f environment.yml
conda activate joint-lens-design
The sample script simulate_aberrations.py
provides a simple demonstration of the proposed method. We provide four .yml
files to model spherical lenses with 1, 2, 3, and 4 refractive elements. The latter three correspond to the baseline lenses in the paper. For a complete list of command-line arguments, try:
python simulate_aberrations --help
For any question or advice, please reach out to me at gcote[at]princeton[dot]edu.