<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="3.0" xml:lang="en">
<front>
<journal-meta>
<journal-id journal-id-type="publisher">ISPRS-Annals</journal-id>
<journal-title-group>
<journal-title>ISPRS Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences</journal-title>
<abbrev-journal-title abbrev-type="publisher">ISPRS-Annals</abbrev-journal-title>
<abbrev-journal-title abbrev-type="nlm-ta">ISPRS Ann. Photogramm. Remote Sens. Spatial Inf. Sci.</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">2194-9050</issn>
<publisher><publisher-name>Copernicus Publications</publisher-name>
<publisher-loc>Göttingen, Germany</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.5194/isprs-annals-III-3-43-2016</article-id>
<title-group>
<article-title>MODERN METHODS OF BUNDLE ADJUSTMENT ON THE GPU</article-title>
</title-group>
<contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Hänsch</surname>
<given-names>R.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Drude</surname>
<given-names>I.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Hellwich</surname>
<given-names>O.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
</contrib-group><aff id="aff1">
<label>1</label>
<addr-line>Dept. of Computer Vision and Remote Sensing, Technische Universität Berlin, Berlin, Germany</addr-line>
</aff>
<pub-date pub-type="epub">
<day>03</day>
<month>06</month>
<year>2016</year>
</pub-date>
<volume>III-3</volume>
<fpage>43</fpage>
<lpage>50</lpage>
<permissions>
<license license-type="open-access">
<license-p/>
</license>
</permissions>
<self-uri xlink:href="https://isprs-annals.copernicus.org/articles/isprs-annals-III-3-43-2016.html">This article is available from https://isprs-annals.copernicus.org/articles/isprs-annals-III-3-43-2016.html</self-uri>
<self-uri xlink:href="https://isprs-annals.copernicus.org/articles/isprs-annals-III-3-43-2016.pdf">The full text article is available as a PDF file from https://isprs-annals.copernicus.org/articles/isprs-annals-III-3-43-2016.pdf</self-uri>
<abstract>
<p>The task to compute 3D reconstructions from large amounts of data has become an active field of research within the last years.
Based on an initial estimate provided by structure from motion, bundle adjustment seeks to find a solution that is optimal for all
cameras and 3D points. The corresponding nonlinear optimization problem is usually solved by the Levenberg-Marquardt algorithm
combined with conjugate gradient descent. While many adaptations and extensions to the classical bundle adjustment approach have
been proposed, only few works consider the acceleration potentials of GPU systems. This paper elaborates the possibilities of time and
space savings when fitting the implementation strategy to the terms and requirements of realizing a bundler on heterogeneous CPUGPU
systems. Instead of focusing on the standard approach of Levenberg-Marquardt optimization alone, nonlinear conjugate gradient
descent and alternating resection-intersection are studied as two alternatives. The experiments show that in particular alternating
resection-intersection reaches low error rates very fast, but converges to larger error rates than Levenberg-Marquardt. PBA, as one of
the current state-of-the-art bundlers, converges slower in 50&amp;thinsp;% of the test cases and needs 1.5-2 times more memory than the Levenberg-
Marquardt implementation.</p>
</abstract>
<counts><page-count count="8"/></counts>
</article-meta>
</front>
<body/>
<back>
</back>
</article>
