A feasibility analysis of a one-shot object tracking algorithm executed on a general-purpose single board computer

Walsh, Gerard Louis (2019-04)

Thesis (MEng)--Stellenbosch University, 2019.

Thesis

ENGLISH ABSTRACT: Algorithms that are able to track generic objects in real-time have many useful applications such as security and traffic surveillance, augmented reality and sports analytics. Practical implications of tracking algorithms are further enhanced when the algorithms are able to be processed in real-time on mobile devices. Mobile SoCs are compact and energy efficient by design (Carroll, 2010) and present a possible implementation platform. Modern object tracking algorithms (Bertinetto, 2016) rely on computationally intensive convolutional neural network (CNN) architectures. CNNs are currently not able to be processed in real-time on mobile devices (Lu, 2017). The research conducted in this thesis aimed to address the prior shortcoming in the computation of object tracking algorithms on mobile devices. A classically- designed object tracking algorithm, CMT, was chosen for investigation due to its flexibility in configuration of image features. CMT is independent of the method used to compute classical image features, permitting the usage of binary descriptor vectors that can be effectively computed. The primary investigation was the algorithm’s suitability for implementation on a general-purpose heterogeneous computing platform. This was performed since heterogeneous platforms are common in mobile devices such as smartphones (Ignatov et al, 2016). A mobile platform was chosen based on available hardware acceleration support and heterogeneous computing capacity. Baseline performance of 2.22 FPS was initially established on the chosen mobile hardware platform utilizing a strictly CPU execution model. An investigation into the optimal choice of image features realized a 742% increase in FPS. The FPS was further increased through the utilization of on-board SIMD processors and achieved a real-time performance of 21.39 FPS. Due to OpenCV not supporting mobile GPU architecture, heterogeneous CPU-GPU acceleration on the mobile platform could not be investigated. When a desktop heterogeneous platform was utilized, the FPS throughput increased by 205% through heterogeneous CPU-GPU acceleration when compared to a CPU implementation. Results from an investigation into concurrent execution on the desktop platform did not meet theoretical expectations since the set of asynchronous GPU functions utilized did not execute completely asynchronously from the CPU. Real-time computation was achieved by utilizing strictly CPU execution on the mobile platform. The results of heterogeneous CPU-GPU acceleration on the desktop platform are transferrable to a mobile platform, provided that the image processing library supports the mobile platform’s heterogeneous capabilities. Thus, mobile devices are feasible platforms for real-time computation of classical object tracking algorithms due to the attained FPS, with further increases in FPS possible through heterogeneous CPU-GPU acceleration. This realizable increase in FPS through CPU-GPU acceleration indicates more computationally demanding algorithms can achieve real-time computation. Theoretical concurrent acceleration techniques were deemed to be of value as they present the upper limit achievable in a CPU-GPU heterogeneous execution model.

AFRIKAANSE OPSOMMING: Die naspeur van 'n enkele, generiese voorwerp in 'n RGB insetstroom word baie bruikbaar wanneer die naspeur algoritme onder bespreking instaat is om die inset beeld vinniger te prosesseer as wat dit die beeld ontvang, gedefinieer deur die VOT uitdaging synde 'n reële tyd naspeurder, en meer so wanneer die algoritmes direk na mobiele toestelle gelei kan word. Ultra moderne naspeur algoritmes (Bertinetto, 2016) vertrou op konvolusionele neurale netwerk argitekture, en meer spesifiek die bereken duur konvolusionele filter, om 'n ekstrak van die kenmerke van die beeld te maak, en is daarom nie geskik vir reële tyd mobiele implementasie nie (Lu, 2017). Terwyl algoritmes ontwerp word met reële tyd toepassing in gedagte, word implementering hardeware tans nie as 'n belangrike faset beskou nie, en word tafelrekenaar hardeware dus tans vir inferensie gebruik. Die gebruik hiervan is hoogs onaantreklik aangesien dit die toepassingspasie van die voorwerp naspeur algoritmes beperk tot situasies waar uitgebreide berekeningskrag/rekenaarkrag? vir inferensie beskikbaar is. Die navorsing wat vir hierdie tesis onderneem is, het die klassiek-ontwerpte voorwerp naspeur algoritme ondersoek, daarin dat dit handgemaakte kenmerke gebruik, en die uitvoerbaarheid daarvan vir mobiele implementasie. Dit is voltooi deur die inagneming van die algoritme se toepaslikheid vir implementering, en voortspruitende werkverrigting, op 'n algemene gebruik heterogene rekenaar platform - 'n platform wat wyd beskikbaar is in mobiele toestelle soos slimfone. Verskeie hardeware versnelling en sagteware optimalisasie tegnieke is ook ondersoek, met die inisiëel uitgevoerde eksperimente wat aangedui het dat die algoritme effektief gelei kan word op 'n suiwer CPU- gebaseerde mobile platform en dat dit reële tyd raam prossesering snelhede bereik. 'n Hindernis is teëgekom, as gevolg van 'OpenCV' biblioteek wat nie ontwerp is om die mobiele platform se GPU argitektuur te ondersteun nie, en gevolglik kon die GPU versnelling op die mobile platform nie ondersoek word nie. Nietemin is bevind dat die algoritme grootliks gebaat het by die GPU versnelling, wanneer 'n desktop heterogene platform gebruik is, en vervolgens geskik om ook tegelyke tyd uitgevoer te word. Resultate vooruitspruitende die ondersoek na die gelyktydige uitvoering was teleurstellend aangesien die stel asinkroniese funksies wat gebruik is nie vertoon het soos beoog nie, dit is nie totaal asikronies van die CPU nie. Die resultate van die geïmplimenteerde GPU en die teoreties gelyktydige versnellingstegnieke is steeds van waarde geag met betrekking tot die doelwitte van die projek aangesien die resultate in 'n mate oordraagbaar is na 'n mobiel heterogene platform, gegewe 'n beeld prosessering sagteware biblioteek wat die mobile GPU kan benut.

Please refer to this item in SUNScholar by using the following persistent URL: http://hdl.handle.net/10019.1/106237
This item appears in the following collections: