It recognizes an object for an embedded PC, calculates the volume of the object by using the distance value between the camera and the object, and visually outputs it in a hexahedron form. As a result, we are building an object recognition system for stable autonomous driving of drones.
Since the embedded PC installed on the drone is of low specification, the program should be made as light as possible, and for this reason, the gui has been removed as a result. But in the making process, I used the gui to check. I have committed both the version with and without the gui.
The production purpose is for jetson-xavier, but the work was done on a different desktop, and for this desktop, I use two graphics cards of the gtx-1080.
- cuda driver : Most of them recommend the driver version according to the performance of the graphics card, but if you install the latest driver because it is too high-performance, the cuda version may be set to a higher version. Please pay attention to the driver version and install it.
- cuda
- cudnn
- jetpack4.5 : I installed jetpack4.5. jetpack is an OS for jetson xavier, nano, etc, so it provides cuda, driver, cudnn. (Cuda 10.2 cudnn8.0 for 4.5) and some libraries like opencv are automatically installed.
- zed sdk: zed sdk is very important to use zed camera if you want depth, point cloud, etc. However, the installable version differs depending on your cuda, cudnn, os version, so please refer to the homepage for this part. https://www.stereolabs.com/developers/release/
After installing the sdk, if you move to this place from the terminal, ZED_Diagnostic is executed.
Then, you can see such a screen. It determines whether the CUDA version is correct for the installed sdk version, the camera is connected, or the graphics card is recognized.
- python
- pip
- python library : When you have finished installing python and pip, type'python -m pip install cython numpy opencv-python pyopengl' in the terminal.
- confirmation : There is a file that zed itself checks for the necessary Python library and downloads it if it does not. Do this.
$ python {filename}
ex) $ python object_detection.py