Files
Abstract
Computer vision and deep learning are rapidly evolving fields being implemented for a variety of different applications, including object detection and tracking for autonomous vehicles. While today's technology is not at the level of full automation, many vehicles contain advanced driver assistance systems which are used to help protect drivers, passengers, and pedestrians by anticipating and avoiding incoming danger. This comes in the form of collision warning and collision intervention, which alerts the driver and performs automatic braking in the event of a forward, backward, or side collision.Highway work zones are dangerous for both the workers and drivers of incoming vehicles, with the majority of deaths in work zones being attributed to incoming vehicles colliding with workers. As this is similar to the autonomous vehicle problem, a comparable system could be created to address the safety concern for work zones. Anticipating an accident in a highway work zone is challenging due to the speed and volume of passing vehicles, making alerting workers of a potential risk ahead of time difficult. This requires the system to be able to detect vehicles from a great enough distance to make predictions in time, which would require an efficient hardware and software implementation.This paper proposes a vehicle detection and tracking system operating in real-time on an embedded edge device. By tracking the position of vehicles over time, their trajectory can be estimated by a separate algorithm/pipeline. This pipeline would also be responsible for analyzing trajectories to detect anomalous behavior near the work zone. The edge device, an NVIDIA Jetson AGX Xavier, would be connected to a camera facing from the edge of the work zone towards incoming traffic from the road/highway. To find the optimal solution for efficient vehicle detection, a few popular object detection networks were implemented in PyTorch and tested on the edge device, with the best performing network being used in the final pipeline. Several optimizations were applied to the network, with the most significant being the implementation of TensorRT, an inference engine from NVIDIA. TensorRT aims to accelerate inference tasks on NVIDIA GPUs by applying several optimizations to the network. A tracking algorithm/network was also implemented in PyTorch and subject to the same optimizations as the detection pipeline.The baseline of each network was benchmarked on the edge device along with each individual improvement/optimization. The optimized detection and tracking pipelines were combined to form the overall vehicle detection and tracking pipeline. The results demonstrate the major advantages of utilizing TensorRT and NVIDIA hardware for efficient inference, leading to major improvements in the end-to-end throughput of the pipeline while maintaining accuracy and power efficiency.