Abstract
The Levenberg-Marquardt (LM) algorithm is a nonlinear parameter learning algorithm that converges accurately and quickly. This paper demonstrates for the first time to our knowledge, a real-time implementation of the LM algorithm on field programmable gate arrays (FPGAs). It was used to train neural networks to solve the eXclusive Or function (XOR), and for 3D-to-2D camera calibration parameter estimation. A Xilinx Virtex-5 ML506 was used to implement the LMA as a hardware-in-the-loop system. The XOR function was approximated in only 13 iterations from zero initial conditions, usually the same function is approximated in thousands of iterations using the error backpropagation algorithm. Also, this type of training not only reduced the number of iterations but also achieved a speed up in excess of 3 ×10 <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">6</sup> when compared to the software implementation. A real-time camera calibration and parameter estimation was performed successfully on FPGAs. Compared to the software implementation the FPGA implementation led to an increase in the mean squared error and standard deviation by only 17.94% and 8.04% respectively. The FPGA increased the calibration speed by a factor of 1.41 × 10 <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">6</sup> . There are a wide range of systems problems solved via nonlinear parameter optimization, this study demonstrated that a hardware solution for systems such as automated optical inspection systems or systems dealing with projective geometry estimation and motion compensation systems in robotic vision systems is possible in real time.
Highlights
The LM algorithm finds a solution of a system of nonlinear equations, y = φx, by finding the parameters, φ, that link dependent variables, y, to independent variables, x, by minimizing an error of a function of said system by using error gradient information for every parameter considered in the system
Image 5 was solved on both platforms; the asterisk indicates that the first iteration of the field programmable gate arrays (FPGAs)-LM algorithm was solved on floating point with subsequent iterations on hardware, a situation which would be preferable in real-world applications where the initial conditions are obtained using the highest precision available, and the adaptive system will only need to account for small changes that a system undergoes after calibration
The FPGA-LM-algorithm neural network (NN) training speed was increased by a factor of 3 × 106
Summary
Single camera [5], or systems dealing with projective geometry estimation [6]. The algorithm investigated can be used for motion compensation systems [7], [8], and robotic vision systems [9]–[13]. It should be noted that this study is not limited to NNs or camera calibration it can integrated into a wider range of applications depending on nonlinear parameter estimation. A RTIFICIAL intelligence and machine learning are used to computationally solve complex problems Some of these problems are solved statistically by using optimization algorithms that find the parameters which give the most accurate solution. The LM algorithm is used extensively for problems dealing with nonlinear function and parameter approximation, [2], [3], such as automated optical inspection systems [4], which can use a single object observation from a Manuscript received October 15, 2010; revised January 19, 2011 and November 23, 2011; accepted January 1, 2012. Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have