当前位置:   article > 正文

zed-yolo 例程 --目标检测_zed yolov3

zed yolov3

设备:zed2

系统:ubuntu18.04

目标:在Agv上实现目标检测与跟踪,即需要知道相机坐标系下目标的三维坐标位置,为实现该功能,拟使用zed-yolo先完成目标检测,与Ros发布的消息结合,用于agv控制所需的目标点

这篇主要介绍一下所需安装的环境和中间出现的一些需要注意的点

1.安装Cuda和cudnn

花了一上午时间解决cuda和cudnn的版本问题

因为从zed-yolo的read me 中似乎对版本没有要求,笔记本系统本来装的是cuda11.0的版本,cudnn是v8的版本,但后续安装Darknet发现

* both Windows and Linux
* both OpenCV 2.x.x and OpenCV <= 3.4.0 (3.4.1 and higher isn't supported)
* both cuDNN v5-v7
* CUDA >= 7.5
* also create SO-library on Linux and DLL-library on Windows

重新安装了cuda10.2和cudnn7.6.5

cuda在官网下载:https://developer.nvidia.com/cuda-downloads

历史各种版本:
https://developer.nvidia.com/cuda-toolkit-archive

选择 runfile(local)安装

  1. wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
  2. sudo sh cuda_10.2.89_440.33.01_linux.run

添加环境变量(并没有去卸载cuda11.0,多个版本cuda是可以共存的)

  1. 1.gedit ~/.bashrc
  2. 2.export CUDA_HOME=/usr/local/cuda
  3. 3.export PATH=$PATH:$CUDA_HOME/bin
  4. 4.export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

如果像我一样,原来有装过cuda,将bash.rc文件中的11.0改为10.2即可,最后别忘了

source ~/.bashrc

https://developer.nvidia.com/rdp/cudnn-download  cudnn的下载官网,但需要注册后才能下载

下载 cuDNN Library for linux

  1. sudo tar -zxvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
  2. sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
  3. sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
  4. sudo chmod a+r /usr/local/cuda/include/cudnn.h

替换完成后,一定要建立一下新版本的软链接,尤其像我这样之前装了其他版本的cuda和cudnn(或者也在cuda-10.2文件夹中也进行如下操作)

  1. cd /usr/local/cuda/lib64/
  2. sudo chmod +r libcudnn.so.7.6.5
  3. sudo ln -sf libcudnn.so.7.6.5 libcudnn.so.7
  4. sudo ln -sf libcudnn.so.7 libcudnn.so
  5. sudo ldconfig

更换完成后可以查看cudnn版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

2.安装zed-sdk

进入网站https://www.stereolabs.com/developers/release/

根据你的ubuntu版本和cuda版本下载sdk

ZED_SDK_Ubuntu18_cuda10.2_v3.5.0.run

  1. chmod +x ZED_SDK_Ubuntu18_cuda10.2_v3.5.0.run
  2. ./ZED_SDK_Ubuntu18_cuda10.2_v3.5.0.run

3. 安装python-api

[ZED Python 3 wrapper](https://github.com/stereolabs/zed-python)

  1. python -m pip install cython numpy
  2. python -m pip install opencv-python pyopengl
  3. $ cd "/usr/local/zed/"
  4. $ python get_python_api.py
  5. # The script displays the detected platform versions
  6. CUDA 10.0
  7. Platform ubuntu18
  8. ZED 3.1
  9. Python 3.7
  10. # Downloads the whl package
  11. Downloading python package from https://download.stereolabs.com/zedsdk/3.1/ubuntu18/cu100/py37 ...
  12. # Gives instruction on how to install the downloaded package
  13. File saved into pyzed-3.1-cp37-cp37m-linux_x86_64.whl
  14. To install it run :
  15. python3 -m pip install pyzed-3.1-cp37-cp37m-linux_x86_64.whl
  16. ```

按要求装即可,最好conda环境创建时是Python3.6版本,用Python3.8时中间有出现错误,最后

$ python3 -m pip install pyzed-3.1-cp37-cp37m-linux_x86_64.whl

出现

  1. Processing ./pyzed-3.1-cp37-cp37m-linux_x86_64.whl
  2. Installing collected packages: pyzed
  3. Successfully installed pyzed-3.1
  4. ```

即表示安装成功

4.安装Darknet(cmake版本要求3.18以上)

  1. cd libdarknet
  2. make -j4

若前面环境装的没有问题,这一步应该不会出错

5.进入samples,运行yovo

先下载

wget https://pjreddie.com/media/files/yolov3-tiny.weights

To launch the ZED with YOLO simply run the script :(运行这一步)

  python3 darknet_zed.py
  1. The input parameters can be changed using the command line :
  2. python3 darknet_zed.py -c <config> -w <weight> -m <meta> -t <threshold> -s <svo_file>
  3. For instance :
  4. python3 darknet_zed.py -c cfg/yolov3.cfg -w yolov3.weights -m cfg/coco.data -t 0.5
  5. To display the help :
  6. python3 darknet_zed.py -h

其实目前我还是存在一些问题,打开后出现核心转储的错误,可能检测两秒就自动关闭了,正在想办法调整

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号