ROS下实现darknet_ros目标检测

2023-05-16

一. 代码下载

代码Github主页:https://github.com/leggedrobotics/darknet_ros
打开命令行终端,键入以下命令下载

mkdir -p catkin_ws/src
cd catkin_ws/src
git clone --recursive git@github.com:leggedrobotics/darknet_ros.git
cd ../

二. 编译

在ROS工作空间目录catkin_ws下,执行命令:

catkin_make -DCMAKE_BUILD_TYPE=Release

此时开始编译整个项目,并会检查catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights文件下有没有weights权重文件(如下图所示),默认下载好的代码里面为了节省体积是不带权重文件的。因此编译之后会自动开始下载,需等等待一段时间。 如果刚好你之前已经下载好了模型文件,可在开始编译之前就把权重文件拷贝到上述文件夹下,就不会再次下载了。
在这里插入图片描述

三. 运行代码

1. 图像话题发布

因为darknet_ros会直接订阅指定的图像话题名,然后对图像进行检测,绘制检测框,并发布相应的检测话题,因此首先需要找一个能够发布图像话题的ROS包,这里推荐使用ROS官方提供的usb_cam驱动包,可以直接将电脑自带摄像头或连接电脑的USB摄像头采集的图像发布为ROS图像话题。

下载摄像头驱动:

sudo apt-get install ros-melodic-usb-cam

然后发布摄像头图像话题:

roslaunch usb_cam usb_cam-test.launch

如果顺利的话应该可以看到实际的图像显示界面。

2. 运行darknet_ros

然后执行darknet_ros进行检测,在运行检测之前需要更改一下配置文件,使得darknet_ros订阅的话题与usb_cam发布的图片话题对应。

打开darknet_ros/config/ros.yaml文件,修改:

subscribers:
  camera_reading:
    topic: /camera/rgb/image_raw
    queue_size: 1

subscribers:
  camera_reading:
    topic: /usb_cam/image_raw
    queue_size: 1

新开一个命令行终端,在工作空间根目录catkin_ws下,执行:

source devel/setup.bash
roslaunch darknet_ros darknet_ros.launch

出现对摄像头采集视频流图像的实时检测结果。

3. 切换不同检测模型

可根据自己的设备调整更换不同的模型进行目标检测
打开catkin_ws/src/darknet_ros/darknet_ros/launch文件夹下的darknet_ros.launch文件
在第14行中,修改参数更换模型
在这里插入图片描述
修改参数后,重新启动launch文件

roslaunch darknet_ros darknet_ros.launch

4. 使用GPU加速检测

想要提高检测帧数检测帧数,我们需要安装NVIDIA驱动并安装CUDA,来使用GPU加速进行检测,此时,需要将/darknet_ws/src/darknet_ros/darknet文件下的Makefile文件修改如下 。

GPU = 1
CUDNN = 1
OPENCV = 1

在这里插入图片描述
完成修改后需要到工作空间下重新编译:

catkin_make
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS下实现darknet_ros目标检测 的相关文章

随机推荐

  • SpringCloud学习笔记-Eureka

    文章目录 服务发现eureka简介架构图使用方法创建Eureka Server引入依赖增加注解修改配置文件 创建Eureka Client引入依赖修改配置文件 Eureka Server高可用编写高可用Eureka Server 用户认证新
  • 《Java核心技术卷一》学习笔记(一)

    写在前面 xff1a 仅作记录 swing和awt部分可以不怎么看 xff0c 前五章都是基础知识 xff0c 有些部分可以熟练java后再看 xff0c 后面的章节可以选择性地看 xff0c 如 xff1a 想刷算法题 了解数据结构 xf
  • go语言项目结合k8s

    1 获取k8s的某个包时 xff0c 报如下错误 xff0c 则可以到idea设置GOPROXY参数 go k8s io apimachinery 64 v0 0 0 20190413052414 d7deff9243b1 unrecogn
  • OpenCV4中读取摄像头参数YAML文件(C++和C#)

    0 xff1a 环境 OpenCV4 1 2 43 Win10 43 Visual Studio2019 我的工程是C 的 xff0c 需要程序读取摄像头参数yaml中的摄像头参数矩阵 畸变矩阵 其实这些opencv都已经帮我们实现了 1
  • 记录下,依照官方指导书搭建小觅双目SDK2时的遇到错误

    如今小觅双目SDK已经出到了2 0 笔者在小型工控机上搭建了Ubuntu 16 04 xff08 64bit xff09 43 ROS kinetic xff08 Ubuntu是U盘安装的 xff0c ROS Kinetic参考http w
  • 我又在电脑上安装小觅双目MYNTEYE的SDK了

    环境是Ubuntu18 xff0c 安装过opencv3 4 2 ROS PCL等 xff0c 新安装完电脑后玩过OpenCV Keras 43 Tensorflow Python 和 SLAM十四讲 的一些例程 所以也只是安装这些相关的软
  • Mixly图形化编程四轴飞行器飞控程序

    Mixly图形化编程四轴飞行器飞控程序 四轴飞行器的飞控程序采用Mixly JL开发环境编程 xff0c 整个程序如下图所示
  • 汇编学习,错误汇总

    一 error A2010 Syntax error 语法错误 xff0c 写错程序了 二 error A2105 Expected instruction or directive 这个就是告诉你命令写错了 xff0c 看看你是不是把某个
  • Ubuntu18.04安装ROS Melodic(绕过Github无需添加节点,分分钟快速安装)

    本文之后 xff0c 世上再无rosdep更新失败问题 xff01 1 安装起来很简单 span class token function sudo span pip span class token function install sp
  • Ubuntu SD卡分区

    在Ubuntu上读取SD卡 xff0c 查看sd卡信息 sudo fdisk l dev sdc1 2048 1026047 1024000 500M b W95 FAT32 dev sdc2 1026048 61403135 603770
  • Linux设置以root用户开机自动登录桌面

    目录 Ubuntu 18 04系统下设置 Redhat7 6系统下设置 Ubuntu 18 04系统下设置 1 允许使用root用户登录桌面 Ubuntu默认不允许使用root用户登录桌面的 首先需要进行如下配置 编辑 usr share
  • 将ROS中的/sensor_msgs/NavSatFix数据导入google earth显示轨迹

    文章目录 1 获取GPS数据2 将GPS数据导入kml模板显示轨迹点3 轨迹显示 1 获取GPS数据 将ros中发布的gps topic输出到文本中 rostopic echo p gpsData gt gpsData 得到如下格式的数据
  • VINS-mono详细解读

    本文转载 xff1a VINS mono详细解读 这个图总结不错 xff1a
  • android studio配置lambda教程

    java1 8的特性之一便是随同发布的lambda表达式 xff0c 它将允许我们将行为传到函数里 在Java 8之前 xff0c 如果想将行为传入函数 xff0c 仅有的选择就是匿名类 xff0c 需要6行代码 而定义行为最重要的那行代码
  • Gtsam学习笔记

    Gtsam学习笔记 文章目录 Gtsam学习笔记 cmake引入 因子factor 预定义的factor 生成factor 初值定义 噪声定义 优化方法 GaussNewton法 LevenbergMarquardt法 边缘化 margin
  • (ADRC)自抗扰控制器学习总结(一)

    ADRC自抗扰控制基本思想要点 xff1a 1 标准型与总扰动 xff0c 扩张状态与扰动整体辨识 xff0c 微分信号生成与安排过渡过程以及扰动的消减与控制量产生 ADRC主要构成 xff1a 1 gt 跟踪微分器 xff08 TD xf
  • 四旋翼姿态解算原理

    姿态结算原理 旋转矩阵的建立 如果要进行四旋翼姿态分析 xff0c 那么需要进行坐标系与坐标系之间的转换 xff0c 地理坐标系与四旋翼坐标系之间的联系如图2 6所示 四旋翼 Quad rotor 分别绕三个轴转动的角度变化如图2 7 所示
  • 四旋翼无人机的设计与实现讲解

    四旋翼无人机基于stm32的设计与实现过程
  • (ADRC)自抗扰控制器(二)——四旋翼无人机

    自抗扰四旋翼控制中的几个问题 xff1a 自抗扰控制器包含三大部分 xff1a TD微分跟踪器 xff1a 微风跟踪器主要可以安排过渡 xff0c 过程同时还具有一定的滤波功能 xff0c 四旋翼由遥控器和地面站发送期望控制信号 xff0c
  • ROS下实现darknet_ros目标检测

    一 代码下载 代码Github主页 xff1a https github com leggedrobotics darknet ros 打开命令行终端 xff0c 键入以下命令下载 span class token function mkd