darknet_ros部署yolov3

darknet_ros部署yolov3

简单记录一下基于ros运行yolov3做交通标志(LISA数据集)识别的历程

1.创建工作空间

$ mkdir –p catkin_workspace/src
$ cd catkin_workspace/src
$ catkin_init_workspace
$ cd ..

$ catkin_make

2.克隆darknet_ros包

$ cd src/
$ git clone –recursive https://github.com/leggedrobotics/darknet_ros

克隆完成后,darknet_ros中有3个文件夹:darknet、darknet_ros和darknet_ros_msgs,如果darknet文件夹为空 首先删除darknet文件然后执行以下代码

git clone https://github.com/pjreddie/darknet.git

3.安装cuda和cudnn(有需要)和opencv

本人安装cuda10.2 cudnn7.6.5(兼容性有待考究)opencv可正常使用
安装参考博文:

https://blog.csdn.net/qq_43202953/article/details/107951031

因为本人使用Ubuntu20.04 有显卡驱动所以没有安装驱动部分 禁用操作也没有验证是否可行。

4.修改makfile文件

修改darknet_ros/darknet目录下的makfile文件

GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0

并修改:

NVCC=/usr/local/cuda-10.2/bin/nvcc/
COMMON+= -DGPU -I/usr/local/cuda-10.2/include/
CFLAGS+= -DGPU
LDFLAGS+= -L/usr/local/cuda-10./lib64 -lcuda -lcudart -lcublas -lcurand

5.编译文件

Ctrl + Alt + T 打开终端

cd catkin_workspace
catkin_make

6.修改darknet_ros/config/ros.yaml

本人采用mp4发布话题话题名为video_image

subscribers:
  camera_reading:
    topic: /video_image
    queue_size: 1

7.换成自己的weight及cfg文件

在darknet_ros/yolo_network_config文件下分别由weights和cfg文件夹分别存放自己训练好的cfg及weight文件,权重文件来自我买的白勇老师的课(自己比较懒没有自己训练自己的权重文件 采用白勇老师检测4类交通标志权重)
weights: yolov3-voc-lisa_final.weights
cfg: yolov3-voc-lisa-test.cfg

8.修改/darknet_ros/config文件

区别于第6步修改ros.yaml文件 这步需要新建yaml文件
我的文件名: yolov3-voc-lisa.yaml

yolo_model:

  config_file:
    name: yolov3-voc-lisa-test.cfg
  weight_file:
    name: yolov3-voc-lisa_final.weights
  threshold:
    value: 0.3
  detection_classes:
    names:
      - stop
      - speedLimit
      - pedestrainCrossing
      - signalAhead

9.修改launch文件

修改darknet_ros/launch/darknet_ros.launch文件(修改成自己的发布mp4话题的ros.yaml文件和第7步的文件)

  <!-- ROS and network parameter files -->
  <arg name="ros_param_file"             default="$(find darknet_ros)/config/ros.yaml"/>
  <arg name="network_param_file"         default="$(find darknet_ros)/config/yolov3-voc-lisa.yaml"/>

10.添加到环境变量

在bashrc文件最后添加自己的环境变量(可一劳永逸不用每次都source)

gedit ~/.bashrc
source /home/xxx/catkin_workspace/devel/setup.bash

11.编写发布话题文件

参考自同门师兄博客:

https://blog.csdn.net/weixin_49305813/article/details/123593833

12.上手实测一下

分别打开三个终端 分别运行以下命令

roscore
roslaunch darknet_ros darknet_ros.launch
rosrun my_image_transport imagepub

识别效果还凑合 FPS 8 帧左右 可能cuda加速没有成功

darknet_ros部署yolov3

Original: https://blog.csdn.net/weixin_45503203/article/details/124233943
Author: 平潭岛的风
Title: darknet_ros部署yolov3

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/704480/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球