Libpleno: an open-source C++ library for plenoptic camera
Published:
The libpleno is an open-source C++ computer-vision library for plenoptic cameras modeling and processing, available at https://github.com/comsee-research/libpleno!
Quick Start
Pre-requisites
The libpleno library has a light dependency list:
- Eigen version 3, a modern C++ matrix and linear-algebra library,
- boost version 1.54 and up, portable C++ source libraries,
- OpenCV version 3.2, a collection of algorithms and sample code for various computer vision problems,
- libv, a general purpose computer vision library developed at Pascal Institute (used for graphic and serialization),
- lma, a non-linear optimization library implementing the Levenberg Marquardt Algorithm,
and was compiled on:
- Ubuntu 18.04.4 LTS, GCC 7.5.0, with Eigen 3.3.4, Boost 1.65.1, and OpenCV 3.2.0.
Compilation & Installation
If you are comfortable with Linux and CMake and have already installed the prerequisites above, the following commands should install libpleno on your system.
mkdir build && cd build
cmake .. -DUSE_OPEN_MP=true
make -j6
sudo make install
Applications
Currently available applications using the libpleno:
- COMPOTE (Calibration Of Multi-focus PlenOpTic camEra), a set of tools to pre-calibrate and calibrate (multifocus) plenoptic cameras.
- PRISM (Plenoptic Raw Image Simulator), a set of tools to generate and simulate raw images from (multifocus) plenoptic cameras.
- BLADE (Blur Aware Depth Estimation with a plenoptic camera), a set of tools to estimate depth map from raw images obtained by (multifocus) plenoptic cameras.
- …
Configuration file examples are given in the folder ./examples/config/
for the datasets R12-A
(see below). Observations for the dataset R12-A
are also given in the folder ./examples/obs/
.
Datasets
- For calibration, datasets R12-A, R12-B, R12-C, R12-D and UPC-S can be downloaded from here.
- For depth estimation, datasets R12-E, ES and ELP20 can be downloaded from here.
Citing
If you use libpleno in an academic context, please cite the following publication:
@inproceedings{labussiere2020blur,
title = {Blur Aware Calibration of Multi-Focus Plenoptic Camera},
author = {Labussi{\`e}re, Mathieu and Teuli{\`e}re, C{\'e}line and Bernardin, Fr{\'e}d{\'e}ric and Ait-Aider, Omar},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
pages = {2545--2554},
year = {2020}
}
or
@article{labussiere2022calibration
title = {Leveraging blur information for plenoptic camera calibration},
author = {Labussi{\`{e}}re, Mathieu and Teuli{\`{e}}re, C{\'{e}}line and Bernardin, Fr{\'{e}}d{\'{e}}ric and Ait-Aider, Omar},
doi = {10.1007/s11263-022-01582-z},
journal = {International Journal of Computer Vision},
year = {2022},
month = {may},
number = {2012},
pages = {1--23}
}
License
libpleno is licensed under the GNU General Public License v3.0. Enjoy!