DOI QR코드

DOI QR Code

FPGA Implementation of Levenverg-Marquardt Algorithm

LM(Levenberg-Marquardt) 알고리즘의 FPGA 구현

  • Lee, Myung-Jin (Department of electronics and communication engineering, Kwangwoon University) ;
  • Jung, Yong-Jin (Department of electronics and communication engineering, Kwangwoon University)
  • 이명진 (광운대학교 전자통신공학과) ;
  • 정용진 (광운대학교 전자통신공학과)
  • Received : 2014.06.12
  • Accepted : 2014.10.27
  • Published : 2014.11.25

Abstract

The LM algorithm is used in solving the least square problem in a non linear system, and is used in various fields. However, in cases the applied field's target functionis complicated and high-dimensional, it takes a lot of time solving the inner matrix and vector operations. In such cases, the LM algorithm is unsuitable in embedded environment and requires a hardware accelerator. In this paper, we implemented the LM algorithm in hardware. In the implementation, we used pipeline stages to divide the target function operation, and reduced the period of data input of the matrix and vector operations in order to accelerate the speed. To measure the performance of the implemented hardware, we applied the refining fundamental matrix(RFM), which is a part of 3D reconstruction application. As a result, the implemented system showed similar performance compared to software, and the execution speed increased in a product of 74.3.

LM 알고리즘은 비선형 시스템의 least square problem을 풀기위해 사용되는 것으로, 다양한 분야에서 활용되고 있는 중요한 알고리즘이다. 하지만 응용 분야의 목적 함수가 복잡하고 고차원인 경우, 목적 함수의 연산 횟수가 많아지고, 내부에서 연산되는 행렬 및 벡터 연산에 시간이 많이 소요되어, 임베디드 환경에서의 실시간 동작을 위해서는 하드웨어 가속기 설계가 불가피하다. 본 논문에서는 LM 알고리즘을 하드웨어로 설계하였으며, 반복되는 목적 함수 연산을 파이프라인 처리 하고, 행렬 및 벡터 연산은 데이터 입력 주기를 줄여 속도를 향상시켰다. 설계한 LM 알고리즘의 하드웨어 성능을 측정하기 위해, 응용분야로 3D reconstruction의 한 부분인 refining fundamental matrix(RFM)를 적용하였다. 실험 결과 소프트웨어와 비슷한 정확도를 가지면서, 최대 74.3배의 속도 향상을 볼 수 있었다.

Keywords

References

  1. Golub, G. "Numerical methods for solving linear least squares problems." Numerische Mathematik 7.3 (1965): 206-216. https://doi.org/10.1007/BF01436075
  2. Gratton, Serge, Amos S. Lawless, and Nancy K. Nichols. "Approximate Gauss-Newton methods for nonlinear least squares problems." SIAM Journal on Optimization 18.1 (2007): 106-132. https://doi.org/10.1137/050624935
  3. Levenberg, Kenneth. "A method for the solution of certain problems in least squares." Quarterly of applied mathematics 2 (1944): 164-168.
  4. Marquardt, "An Algorithm for Least-Squares Estimation of Nonlinear Parameters", Journal of the society for Industrial and Applied Mathematics, Vol. 11, No. 2(Jun.,1963), 431-441. https://doi.org/10.1137/0111030
  5. Powell, Michael JD. "A hybrid method for nonlinear equations." Numerical methods for nonlinear algebraic equations 7 (1970): 87-114.
  6. R. Hartley and A. Zisserman, "Multiple View Geometry in Computer Vision", Cambridge University Press, 2000.
  7. David C. Lay, "Linear Algebra and Its Applications, Third Edition", Pearson, 14-25.
  8. Madsen, Kaj, Hans Bruun Nielsen, and Ole Tingleff. Methods for non-linear least squares problems. 1999.
  9. Lowe, David G. "Object recognition from local scale-invariant features." Computer vision, 1999. The proceedings of the seventh IEEE international conference on. Vol. 2. Ieee, 1999.
  10. Mount, David M. ANN programming manual. Technical report, Dept. of Computer Science, U. of Maryland, 1998.
  11. Golub, Gene H., and Christian Reinsch. "Singular value decomposition and least squares solutions." Numerische Mathematik 14.5 (1970): 403-420. https://doi.org/10.1007/BF02163027
  12. ARM, "Cortex-A9 Floating-Point Unit (FPU) Technical Reference Manual(ARM DDI 0408), Revision :r2p2", : 44.
  13. Xilinx, "floating_point_ds335.pdf",(March, 2011): 5.
  14. Blasco, Jose M., et al. "Maximum Likelihood Estimation and Non-Linear Least Squares Fitting Implementation in FPGA Devices for High Resolution Hodoscopy." (2013): 1-7.
  15. ImpulseC, Impulse CoDeveloperTM [Online]. Available: http://www.impulseaccelerated.com