Covariance tracking: architecture optimizations for embedded systems

  • PDF / 1,318,974 Bytes
  • 15 Pages / 595 x 794 pts Page_size
  • 84 Downloads / 251 Views

DOWNLOAD

REPORT


R ESEA R CH

Open Access

Covariance tracking: architecture optimizations for embedded systems Andrés Romero1*† , Lionel Lacassagne1† , Michèle Gouiffès2 and Ali Hassan Zahraee1

Abstract Covariance matching techniques have recently grown in interest due to their good performances for object retrieval, detection, and tracking. By mixing color and texture information in a compact representation, it can be applied to various kinds of objects (textured or not, rigid or not). Unfortunately, the original version requires heavy computations and is difficult to execute in real time on embedded systems. This article presents a review on different versions of the algorithm and its various applications; our aim is to describe the most crucial challenges and particularities that appeared when implementing and optimizing the covariance matching algorithm on a variety of desktop processors and on low-power processors suitable for embedded systems. An application of texture classification is used to compare different versions of the region descriptor. Then a comprehensive study is made to reach a higher level of performance on multi-core CPU architectures by comparing different ways to structure the information, using single instruction, multiple data (SIMD) instructions and advanced loop transformations. The execution time is reduced significantly on two dual-core CPU architectures for embedded computing: ARM Cortex-A9 and Cortex-A15 and Intel Penryn-M U9300 and Haswell-M 4650U. According to our experiments on covariance tracking, it is possible to reach a speedup greater than ×2 on both ARM and Intel architectures, when compared to the original algorithm, leading to real-time execution. Keywords: Covariance tracking; SIMD; Multi-core; Embedded systems

1 Introduction Tracking consists in estimating the evolution in state (e.g., location, size, orientation) of a moving target over time. This process is often subdivided into two other subproblems: detection and matching. Detection deals with the difficulties of generic object recognition, i.e., finding instances from a particular object class or semantic category (e.g., humans, faces, vehicles) registered in digital images and videos. On the other hand, matching methods provide the location which maximizes the similarity with the objects previously detected in the sequence. Generic object recognition requires models that cope with the diversity of instances’ appearances and shapes. This is generally made by learning techniques and classification. Conversely, matching algorithms analyze particular

*Correspondence: [email protected] † Equal contributors 1 Laboratoire de Recherche en Informatique, Université Paris-Sud, Bat 650, Université Paris Sud, Orsay, France Full list of author information is available at the end of the article

information and construct discriminative models that allow to disambiguate different instances from the same category and avoid confusions. The main difficulty of tracking is to trace target trajectories and adapt to changes of appearance, pose, or