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_imagequeue_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.cfgweight_file:name: yolov3-voc-lisa_final.weightsthreshold:value: 0.3detection_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相关推荐

  1. 树莓派4b上部署yolov3和v3-tiny记录带截图

    首先在 PC 上进行yolov3的模型训练和测试,得到.weight和.cfg文件,这两个文件要进行模型的转换然后在树莓派上部署. 一.在树莓派上烧录镜像,buster10系统即可,在系统上更改国内源 ...

  2. opencv_dnn模型部署学习记录

    OpenCV DNN模块--从TensorFlow模型导出到OpenCV部署详解 OpenCV DNN模块--从TensorFlow模型导出到OpenCV部署详解_南七小僧的学海无涯-CSDN博客 O ...

  3. darknet_ros安装的以及在PX4无人机仿真平台的目标检测

    darknet_ros的安装以及在PX4无人机仿真平台的目标检测 参考资料: https://github.com/leggedrobotics/darknet_ros https://gitee.c ...

  4. ONNX+TensorRT

    使用ONNX+TensorRT部署人脸检测和关键点250fps This article was original written by Jin Tian, welcome re-post, firs ...

  5. Ubuntu16.04+智能车+YOLO

    环境 Ubuntu16.04 kinetic 搭建智能车环境 下载源码.编译 下载源码(ROS工作空间/src/) git clone https://github.com/xmy0916/racec ...

  6. 机器人操作系统ROS(22)ROS安装opencv

    应该是再安装ROS时,已经默认安装opencv,但是有时候需要的环境不同. 下面两种方法,第一种是:再安装一个版本,两个版本共存:第二种是:删除再安装 还有一种是Linux下安装OpenCV4(适用于 ...

  7. 【方程式无人赛车FSAC 从0到0.5 (个人资料,侵权请联系)】

    2022.10.8 制作数据集 首先在FSACOCO-msater(北理工bitfsd车队提供工具)进行图片标注,制作数据集.在/tools/label tool下创建文件夹 Images(存放采集到 ...

  8. 用opencv的dnn模块做yolov5目标检测

    最近在微信公众号里看到多篇讲解yolov5在openvino部署做目标检测文章,但是没看到过用opencv的dnn模块做yolov5目标检测的.于是,我就想着编写一套用opencv的dnn模块做yol ...

  9. yolov3模型部署实战weights转onnx并推理

    前言: 最近比较忙(懒),本学渣在写毕业论文(好难受),所以博客的更新不是那么有效率,哈哈: 本文的目的是用实操带你一步一步的实现darknet模型框架的部署流程:(当然darknet算法的训练在本人 ...

最新文章

  1. bash . dot using
  2. SpringInAction--自动化装配Bean(显示装配之xml配置)
  3. 264中 POC的计算方法
  4. 线性代数拾遗(五):矩阵变换的应用
  5. C#LeetCode刷题之#125-验证回文串(Valid Palindrome)
  6. 使用springMVC搭建后台,想实现拦截所有后缀的请求,怎么办
  7. [置顶] asp.net(c#)中相对路径(虚拟路径)和物理磁盘路径的转换
  8. ubuntu上解决evolution邮箱附件为dat格式
  9. js如何获取一个object的第一个数据
  10. QQ截图出现闪退,无法截图(亲测有效)
  11. npm publish 报错 403
  12. 胡晓曼:MindSpore 开源运营与治理 | DEV. Together 2021 中国开发者生态峰会
  13. 微步在线云API-python批量检测IP脚本
  14. 移动100m宽带慢的要死_家里拉了100M的宽带,为什么网速还是那么慢?
  15. Ubuntu18右上角输入法图标突然消失,而且无法输入中文
  16. VC语言文件正文分析器--支持格式常用文件格式
  17. java 线程安全和不安全
  18. python字典x in d_给定字典d,哪个选项对x in d的描述是正确的
  19. Spring Security 的 RememberMe 详解 !!!!!
  20. 计算机组成原理实验tec2000,计算机组成原理实验手册(TEC2000)

热门文章

  1. html支持LaTeX嘛,latex.html
  2. Jira用户操作手册之创建项目
  3. 计算机哈佛型体系结构,用于计算机体系结构教学哈佛体系结构模拟器.doc
  4. 新立得一打开窗口就消失的解决办法
  5. 清华紫光携手INTERMEC进军条码行业
  6. 试题 算法提高 输出正反三角形
  7. 想知道怎么把视频压缩?电脑版视频压缩软件分享
  8. 为什么我劝你不要太把领导当回事?
  9. 【SaaS云】SaaS洞察(14) : SaaS的护城河
  10. 概率论经典分布与定律