An advanced driver-assistance system on Jetson Nano embedded computer with four main functions: forward collision warning, lane departure warning, traffic sign recognition and overspeed warning. This repository contains source code for Jetson Nano, not including the source code for model training and conversion.
Blog posts:
- https://aicurious.io/posts/adas-jetson-nano-intro-and-hardware/.
- https://aicurious.io/posts/adas-jetson-nano-software/.
- https://aicurious.io/posts/adas-jetson-nano-deep-neural-networks/.
Update 21/12/2020: I created an image of my SD card here. You can flash and run this image on Jetson Nano.
For TensorRT 7 support: Currently, only TensorRT 5 and TensorRT 6 are supported. TensorRT 7 has a lot of deprecated APIs and I think there is no way to run this project directly with that version. I don't have time to continue with this project soon, so I really need your contributions to extend this project further.
-
CMake >= 3.10
-
Qt 5
-
OpenCV >= 4.0.1
-
C++ 17 compiler
-
CUDA 10.1
-
TensorRT 5.1.5-1+cuda10.1. This project should work with TensorRT 5 and TensorRT 6. TensorRT 7 is not supported for now.
- Install QT:
sudo apt-get install build-essential
sudo apt-get install qtcreator
sudo apt-get install qt5-default
sudo apt-get install qt5-doc
sudo apt-get install qt5-doc-html qtbase5-doc-html
sudo apt-get install qtbase5-examples
sudo /sbin/ldconfig -v
- Install OpenCV
https://linuxize.com/post/how-to-install-opencv-on-ubuntu-18-04/
- Install protobuf 3.6.1
https://github.com/protocolbuffers/protobuf
- Download models and testing data here and put into root folder of this project.
-
Update
GPU_ARCHS
: ModifyGPU_ARCHS
inCMakeLists.txt
to suit your GPU. For Jetson Nano, GPU_ARCHS = 53 and for my RTX 2070, GPU_ARCHS = 75. Read more in following posts: -
Compile
cd <project directory>
mkdir build
cd build
cmake -DCUDA_INCLUDE_DIRS=/usr/local/cuda-10.1/include ..
make
- Run
./CarSmartCam
/usr/bin/ld: cannot find -lcudart
:
sudo ln -s /usr/local/cuda/lib64/libcudart.so /usr/lib/libcudart.so
/usr/bin/ld: cannot find -lcublas
:
sudo ln -s /usr/local/cuda/lib64/libcublas.so /usr/lib/libcublas.so
-
In this project, we use code from:
- Dark Theme for Qt5 by Juergen Skrotzky: https://github.com/Jorgen-VikingGod/Qt-Frameless-Window-DarkStyle.
-
ICSim