Viet Anh Nguyen was awarded the Jetson Project of the Month for his Advanced Driver Assistance System (ADAS). This prototype, which runs on a NVIDIA Jetson Nano, aids a driver with collision, lane departure and speeding warnings.
Viet Anh’s goal is to serve the low-end and older car models with his solution. He chose Jetson Nano for its affordability and its capability to run deep learning models. In addition, his prototype has an LCD screen for the user to interact and a speaker to convey warning messages. The core AI functionality is implemented in two modules – “Object Detection” module for collision and speeding warnings, and “Lane Detection” module for lane departure warnings.
CenterNet, trained on Berkeley DeepDrive Dataset, is used for the main object detection. Viet Anh evaluated the model on Resnet-18 and MobileNet backbones. He chose the CenterNet model with ResNet-18 backbone, optimized with NVIDIA TensorRT, for its balance between speed and accuracy on Jetson Nano with an inference time of 62 ms per frame. For speeding warnings, the output of the object detection model is fed to a ResNet-18 network, which then identifies the traffic signs.
In the ‘Lane Detection’ module, a modified U-Net model was trained using the Mapillary Vista Dataset. After optimizing the model using TensorRT, he was able to achieve 14FPS on Jetson Nano for a 384×384 image with FP16 precision. In the below demonstration, the prototype can be seen working on pre-recorded videos and in the CARLA simulator.
Prototype solutions such as ‘ADAS on Jetson Nano’ enable developers to build comprehensive yet low-cost solutions for the ADAS aftermarket category.
Viet Anh has done a great job documenting his journey to build this prototype in a series of blogs (Part 1 – Background and system design, Part 2 -Software design and Part 3 – Machine Learning (DNNs)) and has shared the code here.