Published 2016 | Version v1
Publication

An efficient CUDA-based approximate two-dimensional dynamic programming algorithm for advanced computer vision applications

Description

Dynamic programming is a popular optimization technique, developed in the 60's and still widely used today in several fields for its ability to find global optimum. Dynamic Programming Algorithms (DPAs) can be developed in many dimension. However, it is known that if the DPA dimension is greater or equal to two, the algorithm is an NP complete problem. In this paper we present an approximation of the fully two-dimensional DPA (2D-DPA) with polynomial complexity. Then, we describe an implementation of the algorithm on a recent parallel device based on CUDA architecture. We show that our parallel implementation presents a speed-up of about 25 with respect to a sequential implementation on an Intel I7 CPU. In particular, our system allows a speed of about ten 2D-DPA executions per second for 85 × 85 pixels images. In the experimental Section of the paper we report some image warping examples performed with our CUDA-based 2D-DPA and speed-up figures.

Additional details

Created:
April 14, 2023
Modified:
November 30, 2023