Darknet——yolo3训练自己的数据集+在ros环境下实现目标检测实战教程(三)——应用在ROS上

文章目录


前言

Darknet——yolo3训练自己的数据集+在ros环境下实现目标检测实战教程(一)——环境配置

Darknet——yolo3训练自己的数据集+在ros环境下实现目标检测实战教程(二)——训练自己的权重文件

在前文的环境配置工作和简单测试之后,制作了自己的数据集并训练了自己的权重文件,接下来是将这个网络模型,应用到ros上。


提示:以下是本篇文章正文内容,下面案例可供参考

一、darknet_ros代码简析

darknet_ros就是darknet在ros操作系统下的版本,即在ros下使用yolo进行目标检测。

文件分类:.launch文件是ros格式的roslaunch文件;

src文件夹下的就是它的主要代码,把ros和darknet结合起来的部分;

cfg文件是放各种yolo网络的配置,weights文件夹是放置网络权重。

这些yaml文件是设置ros参数以及决定在ros下调用darknet的哪些配置文件和权重。ros.yaml如下:

二、修改ros驱动包的文件内容

需要进行一些路径和配置文件的修改。

1.在路径catkin_workspace/src/darknet_ros/darknet_ros/yolo_network_config里面有两个文件夹cfg和weights,把之前用到的yolov3-tiny.cfg文件和训练好的权重文件赋值到相应的文件夹。

2.在路径catkin_workspace/src/darknet_ros/darknet_ros/config中修改ros.yaml文件,主要是修改订阅的话题和发布的话题,这里订阅的话题要改成摄像头发布出来的话题:

subscribers:

  camera_reading:
    topic: /usb_cam/image_raw
    queue_size: 1

3.新建一个.yaml文件yolov3-tiny.yaml,自定义内容框架如下:

yolo_model:
  config_file:
    name: yolov3-tiny.cfg
  weight_file:
    name: yolov3-tiny_900.weights
  threshold:
    value: 0.3
  detection_classes:
    names:
      - sanbing
      - ball

4.修改launch文件,进入路径catkin_workspace/src/darknet_ros/darknet_ros/launch

将darknet_ros.launch里面network_param_file修改为自己的yolov3-tiny.yaml,如下:

<!-- 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-tiny.yaml"/>

这样就修改完了,做好了所有的准备工作。

三、在ROS系统下运行效果

在ros下运行:

$ roslaunch usb_cam usb_cam-test.launch//开启摄像头驱动
$ roslaunch darknet_ros darknet_ros.launch//启动darknet

图片测试效果:

 视频实时测试:

 输入如下命令可以看到darknet_ros发布出来的bounding_boxes节点消息:

$rostopic echo /darknet/bounding_boxes

总结

该实战系列从环境配置到利用yolov3-tiny网络模型训练自己的权重文件,到应用在ros系统下测试了效果,darknet作为轻量级深度学习框架,可以很好的部署和移植到ros系统下。该过程中的每一个坑都来自的亲身经历,在此分享给大家。

  • 11
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值