Abstract | ||
---|---|---|
Scale-invariant feature transform (SIFT) is an algorithm to identify and track objects in a series of digital images. The algorithm can handle objects that change their location, scale, rotation or illumination in subsequent images. This makes SIFT an ideal candidate for object tracking - typically denoted as feature detection - problems in computer imaging applications. The complexity of the SIFT approach often forces developers and system architects to rely on less efficient heuristic approaches for object detection when streaming video data. This makes the algorithm a promising candidate for new parallelization strategies in heterogeneous parallel environments. With this article, we describe our thorough performance analysis of various SIFT implementation strategies in the Scala programming language. Scala supports the development of mixed-paradigm parallel code that targets shared memory systems as well as distributed environments. Our proposed SIFT implementation strategy takes both caching and non-uniform memory architecture (NUMA) into account, and therefore achieves a higher speedup factor than existing work. We also discuss how scalability for larger video workloads can be achieved by leveraging the actor programming model as part of a distributed SIFT implementation in Scala. |
Year | DOI | Venue |
---|---|---|
2014 | 10.1007/978-3-319-14325-5_19 | Lecture Notes in Computer Science |
Field | DocType | Volume |
Object detection,Scala,Shared memory,Programming paradigm,Computer science,Parallel computing,Video tracking,Memory architecture,Distributed computing,Speedup,Scalability | Conference | 8805 |
ISSN | Citations | PageRank |
0302-9743 | 0 | 0.34 |
References | Authors | |
5 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Frank Feinbube | 1 | 28 | 7.30 |
Lena Herscheid | 2 | 1 | 1.03 |
Christoph Neijenhuis | 3 | 0 | 0.34 |
Peter Tröger | 4 | 4 | 2.47 |