Cargando…

CameraTransform: A Python package for perspective corrections and image mapping

Camera images and video recordings are simple and non-invasive tools to investigate animals in their natural habitat. Quantitative evaluations, however, often require an exact reconstruction of object positions, sizes, and distances in the image. Here, we provide an open source software package to p...

Descripción completa

Detalles Bibliográficos
Autores principales: Gerum, Richard C., Richter, Sebastian, Winterl, Alexander, Mark, Christoph, Fabry, Ben, Bohec, Céline Le, Zitterbart, Daniel P.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2019
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7453838/
https://www.ncbi.nlm.nih.gov/pubmed/32864407
http://dx.doi.org/10.1016/j.softx.2019.100333
_version_ 1783575427849125888
author Gerum, Richard C.
Richter, Sebastian
Winterl, Alexander
Mark, Christoph
Fabry, Ben
Bohec, Céline Le
Zitterbart, Daniel P.
author_facet Gerum, Richard C.
Richter, Sebastian
Winterl, Alexander
Mark, Christoph
Fabry, Ben
Bohec, Céline Le
Zitterbart, Daniel P.
author_sort Gerum, Richard C.
collection PubMed
description Camera images and video recordings are simple and non-invasive tools to investigate animals in their natural habitat. Quantitative evaluations, however, often require an exact reconstruction of object positions, sizes, and distances in the image. Here, we provide an open source software package to perform such calculations. Our approach allows the user to correct for perspective distortion, transform images to “bird’s-eye" view projections, or transform image-coordinates to real-world coordinates and vice versa. The extrinsic camera parameters that are necessary to perform such image corrections and transformations (elevation, tilt/roll angle, and heading of the camera) are obtained from the image using contextual information such as a visible horizon, GPS coordinates of landmarks, known object sizes, or images of the same object obtained from different viewing angles. All mathematical operations are implemented in the Python package CameraTransform. The performance of the implementation is evaluated using computer-generated synthetic images with known camera parameters. Moreover, we test our algorithm on images of emperor penguin colonies, and demonstrate that the camera tilt and roll angles can be estimated with an error of less than one degree, and the camera elevation with an error of less than 5%. The CameraTransform software package simplifies camera matrix-based image transformations and the extraction of quantitative image information. An extensive documentation and usage examples in an ecological context are provided at http://cameratransform.readthedocs.io.
format Online
Article
Text
id pubmed-7453838
institution National Center for Biotechnology Information
language English
publishDate 2019
record_format MEDLINE/PubMed
spelling pubmed-74538382020-08-28 CameraTransform: A Python package for perspective corrections and image mapping Gerum, Richard C. Richter, Sebastian Winterl, Alexander Mark, Christoph Fabry, Ben Bohec, Céline Le Zitterbart, Daniel P. SoftwareX Article Camera images and video recordings are simple and non-invasive tools to investigate animals in their natural habitat. Quantitative evaluations, however, often require an exact reconstruction of object positions, sizes, and distances in the image. Here, we provide an open source software package to perform such calculations. Our approach allows the user to correct for perspective distortion, transform images to “bird’s-eye" view projections, or transform image-coordinates to real-world coordinates and vice versa. The extrinsic camera parameters that are necessary to perform such image corrections and transformations (elevation, tilt/roll angle, and heading of the camera) are obtained from the image using contextual information such as a visible horizon, GPS coordinates of landmarks, known object sizes, or images of the same object obtained from different viewing angles. All mathematical operations are implemented in the Python package CameraTransform. The performance of the implementation is evaluated using computer-generated synthetic images with known camera parameters. Moreover, we test our algorithm on images of emperor penguin colonies, and demonstrate that the camera tilt and roll angles can be estimated with an error of less than one degree, and the camera elevation with an error of less than 5%. The CameraTransform software package simplifies camera matrix-based image transformations and the extraction of quantitative image information. An extensive documentation and usage examples in an ecological context are provided at http://cameratransform.readthedocs.io. 2019-10-03 2019 /pmc/articles/PMC7453838/ /pubmed/32864407 http://dx.doi.org/10.1016/j.softx.2019.100333 Text en This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
spellingShingle Article
Gerum, Richard C.
Richter, Sebastian
Winterl, Alexander
Mark, Christoph
Fabry, Ben
Bohec, Céline Le
Zitterbart, Daniel P.
CameraTransform: A Python package for perspective corrections and image mapping
title CameraTransform: A Python package for perspective corrections and image mapping
title_full CameraTransform: A Python package for perspective corrections and image mapping
title_fullStr CameraTransform: A Python package for perspective corrections and image mapping
title_full_unstemmed CameraTransform: A Python package for perspective corrections and image mapping
title_short CameraTransform: A Python package for perspective corrections and image mapping
title_sort cameratransform: a python package for perspective corrections and image mapping
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7453838/
https://www.ncbi.nlm.nih.gov/pubmed/32864407
http://dx.doi.org/10.1016/j.softx.2019.100333
work_keys_str_mv AT gerumrichardc cameratransformapythonpackageforperspectivecorrectionsandimagemapping
AT richtersebastian cameratransformapythonpackageforperspectivecorrectionsandimagemapping
AT winterlalexander cameratransformapythonpackageforperspectivecorrectionsandimagemapping
AT markchristoph cameratransformapythonpackageforperspectivecorrectionsandimagemapping
AT fabryben cameratransformapythonpackageforperspectivecorrectionsandimagemapping
AT boheccelinele cameratransformapythonpackageforperspectivecorrectionsandimagemapping
AT zitterbartdanielp cameratransformapythonpackageforperspectivecorrectionsandimagemapping