Fast Automatic Differentiation for Large Scale Bundle Adjustment

A parallelized implementation of automatic differentiation that derives from the problem of bundle adjustment is proposed in this paper. Reverse mode of automatic differentiation is more efficient to compute the derivatives of functions with n real-value parameters, which is the case of computing th...

Full description

Bibliographic Details
Main Authors: Yan Shen, Yuxing Dai
Format: Article
Language:English
Published: IEEE 2018-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8307241/
id doaj-cdbee669c85245ffa3348f5ff9144a7f
record_format Article
spelling doaj-cdbee669c85245ffa3348f5ff9144a7f2021-03-29T20:47:43ZengIEEEIEEE Access2169-35362018-01-016111461115310.1109/ACCESS.2018.28121738307241Fast Automatic Differentiation for Large Scale Bundle AdjustmentYan Shen0https://orcid.org/0000-0001-7431-8570Yuxing Dai1College of Electrical and Information Engineering, Hunan University, Changsha, ChinaCollege of Electrical and Information Engineering, Hunan University, Changsha, ChinaA parallelized implementation of automatic differentiation that derives from the problem of bundle adjustment is proposed in this paper. Reverse mode of automatic differentiation is more efficient to compute the derivatives of functions with n real-value parameters, which is the case of computing the Jacobian matrix in bundle adjustment problem. By reason of a large number of small derivative computing tasks being needed in bundle adjustment problem, we implement an automatic differentiation library based on operator overloading and OpenCL parallel framework. In order to parallelize the computation in the framework of OpenCL, we generate forward and reverse computational sequences from computational graph by topological sorting. This library enables us to write down the function formula elegantly and then evaluate the derivatives rapidly and automatically. Finally, large scale bundle adjustment data sets is used to evaluate our proposed implementation. The result shows that our implementation runs about 3.6 times faster than Ceres Solver, which utilizes OpenMP parallel programming model.https://ieeexplore.ieee.org/document/8307241/Automatic differentiationbundle adjustmentstereo visionparallel computing
collection DOAJ
language English
format Article
sources DOAJ
author Yan Shen
Yuxing Dai
spellingShingle Yan Shen
Yuxing Dai
Fast Automatic Differentiation for Large Scale Bundle Adjustment
IEEE Access
Automatic differentiation
bundle adjustment
stereo vision
parallel computing
author_facet Yan Shen
Yuxing Dai
author_sort Yan Shen
title Fast Automatic Differentiation for Large Scale Bundle Adjustment
title_short Fast Automatic Differentiation for Large Scale Bundle Adjustment
title_full Fast Automatic Differentiation for Large Scale Bundle Adjustment
title_fullStr Fast Automatic Differentiation for Large Scale Bundle Adjustment
title_full_unstemmed Fast Automatic Differentiation for Large Scale Bundle Adjustment
title_sort fast automatic differentiation for large scale bundle adjustment
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2018-01-01
description A parallelized implementation of automatic differentiation that derives from the problem of bundle adjustment is proposed in this paper. Reverse mode of automatic differentiation is more efficient to compute the derivatives of functions with n real-value parameters, which is the case of computing the Jacobian matrix in bundle adjustment problem. By reason of a large number of small derivative computing tasks being needed in bundle adjustment problem, we implement an automatic differentiation library based on operator overloading and OpenCL parallel framework. In order to parallelize the computation in the framework of OpenCL, we generate forward and reverse computational sequences from computational graph by topological sorting. This library enables us to write down the function formula elegantly and then evaluate the derivatives rapidly and automatically. Finally, large scale bundle adjustment data sets is used to evaluate our proposed implementation. The result shows that our implementation runs about 3.6 times faster than Ceres Solver, which utilizes OpenMP parallel programming model.
topic Automatic differentiation
bundle adjustment
stereo vision
parallel computing
url https://ieeexplore.ieee.org/document/8307241/
work_keys_str_mv AT yanshen fastautomaticdifferentiationforlargescalebundleadjustment
AT yuxingdai fastautomaticdifferentiationforlargescalebundleadjustment
_version_ 1724194190788657152