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_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相关推荐
- 树莓派4b上部署yolov3和v3-tiny记录带截图
首先在 PC 上进行yolov3的模型训练和测试,得到.weight和.cfg文件,这两个文件要进行模型的转换然后在树莓派上部署. 一.在树莓派上烧录镜像,buster10系统即可,在系统上更改国内源 ...
- opencv_dnn模型部署学习记录
OpenCV DNN模块--从TensorFlow模型导出到OpenCV部署详解 OpenCV DNN模块--从TensorFlow模型导出到OpenCV部署详解_南七小僧的学海无涯-CSDN博客 O ...
- darknet_ros安装的以及在PX4无人机仿真平台的目标检测
darknet_ros的安装以及在PX4无人机仿真平台的目标检测 参考资料: https://github.com/leggedrobotics/darknet_ros https://gitee.c ...
- ONNX+TensorRT
使用ONNX+TensorRT部署人脸检测和关键点250fps This article was original written by Jin Tian, welcome re-post, firs ...
- Ubuntu16.04+智能车+YOLO
环境 Ubuntu16.04 kinetic 搭建智能车环境 下载源码.编译 下载源码(ROS工作空间/src/) git clone https://github.com/xmy0916/racec ...
- 机器人操作系统ROS(22)ROS安装opencv
应该是再安装ROS时,已经默认安装opencv,但是有时候需要的环境不同. 下面两种方法,第一种是:再安装一个版本,两个版本共存:第二种是:删除再安装 还有一种是Linux下安装OpenCV4(适用于 ...
- 【方程式无人赛车FSAC 从0到0.5 (个人资料,侵权请联系)】
2022.10.8 制作数据集 首先在FSACOCO-msater(北理工bitfsd车队提供工具)进行图片标注,制作数据集.在/tools/label tool下创建文件夹 Images(存放采集到 ...
- 用opencv的dnn模块做yolov5目标检测
最近在微信公众号里看到多篇讲解yolov5在openvino部署做目标检测文章,但是没看到过用opencv的dnn模块做yolov5目标检测的.于是,我就想着编写一套用opencv的dnn模块做yol ...
- yolov3模型部署实战weights转onnx并推理
前言: 最近比较忙(懒),本学渣在写毕业论文(好难受),所以博客的更新不是那么有效率,哈哈: 本文的目的是用实操带你一步一步的实现darknet模型框架的部署流程:(当然darknet算法的训练在本人 ...
最新文章
- bash . dot using
- SpringInAction--自动化装配Bean(显示装配之xml配置)
- 264中 POC的计算方法
- 线性代数拾遗(五):矩阵变换的应用
- C#LeetCode刷题之#125-验证回文串(Valid Palindrome)
- 使用springMVC搭建后台,想实现拦截所有后缀的请求,怎么办
- [置顶] asp.net(c#)中相对路径(虚拟路径)和物理磁盘路径的转换
- ubuntu上解决evolution邮箱附件为dat格式
- js如何获取一个object的第一个数据
- QQ截图出现闪退,无法截图(亲测有效)
- npm publish 报错 403
- 胡晓曼:MindSpore 开源运营与治理 | DEV. Together 2021 中国开发者生态峰会
- 微步在线云API-python批量检测IP脚本
- 移动100m宽带慢的要死_家里拉了100M的宽带,为什么网速还是那么慢?
- Ubuntu18右上角输入法图标突然消失,而且无法输入中文
- VC语言文件正文分析器--支持格式常用文件格式
- java 线程安全和不安全
- python字典x in d_给定字典d,哪个选项对x in d的描述是正确的
- Spring Security 的 RememberMe 详解 !!!!!
- 计算机组成原理实验tec2000,计算机组成原理实验手册(TEC2000)