Jul 31, 2020
Lester Kalms: Methods and Algorithms for an Efficient Programming of FPGA-based Heterogeneous Systems for Object Detection (Statusvortrag)
04.08.2020, 14:00 pm
Invitation to the Statusvortrag im Promotionsverfahren of Mr. M. Sc. Lester Kalms
Topic: Methods and Algorithms for an Efficient Programming of FPGA-based Heterogeneous Systems for Object Detection
Supervisor: Prof. Dr. Diana Göhringer
Fachreferent: Prof. Dr. Jeronimo Castrillon
Abstract: Nowadays there is a high demand for computer vision applications for numerous application fields, such as in autonomous driving or unmanned aerial vehicles. Heterogeneous architectures are essential to meet the increasing performance requirements of more and more complex applications with reduced energy consumption. The different programming models and languages for the numerous architectures make efficient programming for heterogeneous systems challenging.
The first part of this research focused on the improvement and implementation of existing feature extraction algorithms, such as AKAZE, ORB and FREAK, for object recognition. In addition, these algorithms were evaluated in terms of performance, energy efficiency and programmability for different architectures (CPU, GPU, FPGA) using OpenCL. Based on this research, FPGA-based heterogeneous systems have emerged as a high-performance, flexible, and energy-efficient solution for streaming-capable image processing applications. To achieve efficient programmability for object detection algorithms based on feature extraction or neural networks, a parameterizable C++-based high-level synthesis library was designed and realized. It is based on OpenVX, an open standard for cross-platform acceleration of computer vision applications, on which existing implementations of other platforms are based and thus an efficient heterogeneous system can be realized. To analyze and optimize functions designed by the user, Transpilers were investigated and realized. They also have the advantage of integration with vendor tools and the reduction of the number of input languages.
To abstract the hardware from the user, a novel FPGA-based design and programming methodology was investigated based on the library mentioned above. This methodology creates a mesh-like and partition-based Network-on-Chip (NoC) architecture, based on an OpenVX application. NoCs offer many advantages for heterogeneous systems in terms of scalability, modularity, flexibility, re-usability, and re-programmability. A major research focus was the compile-time mapping of dataflow applications on reconfigurable partitions of mesh-like architectures. The complete mapping process involves the partitioning of applications into task graphs, mapping these tasks to physical nodes, creating a schedule, clustering these nodes and place them on the partitions of the mesh-like architecture. The clustering and placement processes were investigated in a novel approach combining several heuristic and load balancing methods and algorithms. The evaluation of the resulting approach shows an algorithm that is scalable with the given problem and rapidly finds a near optimal solution.