Distributed Edge-based Video Analytics on the Move
In recent years, dash cams have gained international popularity for personal and commercial use [1, 2]. Although dash cams are primarily used to collect evidence for traffic incidents, further value may be gained from the videos they record through video analytics. Commercial dash cams lack the resources necessary to perform video analytics, so their video data must be offloaded elsewhere to be processed. Cloud computing is a popular choice for offloading computationally intensive tasks, though the high latency and bandwidth usage of cloud computing is undesirable. These issues can be mitigated through edge computing, where processing occurs close to the data source. A device that is likely to be in close proximity to a dash cam is a mobile device, one belonging to either the vehicle’s driver or passengers. Modern mobile devices such as smartphones are much more powerful than commercial dash cams, yet they still have a fraction of the resources available to cloud servers. A single smartphone is capable of performing video analytics on dash cam recordings, but may be unable to produce results in a real-time manner. Instead of using a single mobile device, multiple can form a local network to share their resources and perform computationally intensive tasks in a shorter amount of time. With a local network of mobile devices, video analytics can be performed on dash cam recordings while avoiding the disadvantages of cloud computing. In this thesis, we present EdgeDashAnalytics (EDA), an edge-based system that enables near real-time video analytics using a network of mobile devices. In particular, it simultaneously processes videos produced by two dash cams of different angles with one or more mobile devices on the move in a near real-time manner. One camera faces outward to capture the view in front of the vehicle, while the other camera faces inward to capture the driver. The outer videos are analysed to detect potential driving hazards, while the inner videos are used to identify driver distractedness. It was found that it was not possible to achieve real-time results simply by distributing processing across a local network of mobile devices. Shortcomings of the OS and libraries introduced delays that could be dismissed in other tasks, but cannot be ignored in time sensitive tasks such as video analytics. We have overcome these shortcomings by devising several optimisations. By incorporating these optimisations, EDA achieves near real-time video analytics, mitigating the effect of such delays with a tolerable loss in accuracy. We have implemented EDA as an Android app and evaluated it using two dash cams and several heterogeneous mobile devices with the BDD100K dash cam video dataset [3] and the DMD driver monitoring dataset [4]. Experiment results demonstrate the feasibility of real-time video analytics in terms of turnaround time and energy consumption (or battery usage), using resource-constrained mobile devices on the move.