yolov3的训练(七)使用darknet_ros框架进行识别与模型导入

2023-05-16


##################################
同学们,这个系列的文件不要直接就跟着我操作了,因为这个是踩坑的记录,不是教程,我只是将整个流程记录下来,让后面的同学操作的时候能够避开这些坑,希望你能将整个系列的操作流程看了一遍斟酌后进行操作
##################################

使用darknet_ros框架进行识别

那么现在训练的模型时可以使用的,但是我这里想要用ROS的框架进行操作

首先需要下载安装darknet_ros的功能包
参考文件
ubuntu20 ros darknet 安装记录

安装功能包

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

在这里插入图片描述
结果下载失败

jetson agx xavier +darknet ros——编译出错

重新下载

cd ~/catkin_ws/src
git clone --recursive https://github.com/leggedrobotics/darknet_ros

在这里插入图片描述


到工作空间后单独编译darknet_ros这个功能包

cd ..
catkin_make -DCATKIN_WHITELIST_PACKAGES="darknet_ros"

在这里插入图片描述


编译进行到后面,会下载识别模型yolov2-tiny.weights,可能有网速原因会慢一点
在这里插入图片描述


如果你不想下载的话,打开README.md文件,将这些下载操作进行注释或删除(不确定这个是否正确)
在这里插入图片描述

重新进行编译
在这里插入图片描述

编译完成
如果是个新的工作空间那就得记得环境变量
在这里插入图片描述

模型导入darknet_ros

当darknet_ros下载编译完成后,我们就要将训练的模型导入

首先打开【/home/heying/catkin_ws/src/darknet_ros-master/darknet_ros/config】目录

新建一个yaml配置文件,这里取名为yolov3-voc.yaml

roscd darknet_ros/config/
touch yolov3-voc.yaml
gedit yolov3-voc.yaml

在这里插入图片描述
然后进行编辑

yolo_model:

#指定的cfg的配置文件名称
  config_file:
    name: yolov3-voc.cfg

#指定的进行识别的权重文件名称
  weight_file:
    name: yolov3-voc_5000.weights

#检测阈值的设定,只显示0.3或更高置信度检测的对象
  threshold:
    value: 0.3

#当前模型识别的类别
  detection_classes:
    names:
      - red
      - green
      - 'null'

在这里插入图片描述

####################注意了####################

标签的错误转义

要注意在这里的其中一个类别【- ‘null’】中,如果直接写上【- null】的话,识别终端会报错。如果将【 - null】置于首位,在后面的流程中运行识别后你会看到如下信息
在这里插入图片描述

可以看到在

	 * /darknet_ros/yolo_model/detection_classes/names: [None, 'red', 'gr…`

这本应该是【null】变成了【None】,这说明可能null被转义成了None,造成了程序的错误,这里便是数据集标注的其中一个坑

补救方法是添加单引号,使之成为字符。
不过最好的方法是在标注流程中就不要使用特别的字符,如null,none等

添加单引号后
再次运行便可以看到应用的是正确的

 * /darknet_ros/yolo_model/detection_classes/names: ['null', 'red', '...

检测类型的对调

在上述中,为了方便终端的信息查看,特地将【yolov3-voc.yaml】中的检测类别进行了位置的对调,如图
在这里插入图片描述

那么如果进行位置的对调后没有重新更换回来的话便会出现错误的情况
运行识别后
可以看到原本应该显示的【null】被显示出了【green】这是由于在yaml配置文件中的识别类别排序错误的原因
在这里插入图片描述

将yaml进行修改后

	#当前模型识别的类别
	  detection_classes:
	    names:
	      - red
	      - green
	      - 'null'

可以看到此时便是正常的
在这里插入图片描述


顺序判断的依据是在进行训练时,我认为是在训练时编写的【voc2021.names】
在这里插入图片描述


继续流程

然后在文件中相对应的配置文件与权重文件移动到/home/heying/catkin_ws/src/darknet_ros-master/darknet_ros/yolo_network_config/相对应的文件中
在这里插入图片描述

将生成的权重文件复制到/home/heying/catkin_ws/src/darknet_ros-master/darknet_ros/yolo_network_config/weights
在这里插入图片描述

然后将训练过程中使用的yolov3-voc.cfg文件移动到/home/heying/catkin_ws/src/darknet_ros-master/darknet_ros/yolo_network_config/cfg
在这里插入图片描述

打开/home/heying/catkin_ws/src/darknet_ros-master/darknet_ros/launch目录下的yolo_v3.launch文件,这是我们使用识别的launch文件

然后修改 network_param_file参数,使用刚刚编写的yaml文件

  <arg name="network_param_file"         default="$(find darknet_ros)/config/yolov3-voc.yaml"/>

在这里插入图片描述
完成后保存并退出


测试

首先连接摄像头

然后启动摄像头的驱动

roslaunch usb_cam usb_cam-test.launch

在这里插入图片描述

正常会呼出摄像头的信息


然后启动识别

roslaunch darknet_ros yolo_v3.launch

在这里插入图片描述
识别的效果
在这里插入图片描述

此时也可移动查看识别效果
在这里插入图片描述


至此,darknet版本使用yolov3进行红绿灯训练与识别的流程结束

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

yolov3的训练(七)使用darknet_ros框架进行识别与模型导入 的相关文章

  • SLAM-hector_slam 简介与使用

    hector slam功能包使用高斯牛顿方法 不需要里程计数据 只根据激光信息便可构建地图 所以他的总体框架如下 hector slam功能包 hector slam的核心节点是hector mapping 它订阅 scan 话题以获取SL
  • 无人飞行器智能感知竞赛--模拟器安装

    开发环境 win11 wsl2 注意事项 请配合视频使用 如果不看视频会对下面的配置过程迷惑 因为一开始我是想安装在ubuntu18 04的 中途发现ubuntu18 04没有ros noetic 所以转入ubuntu20 04配置 视频链
  • ROS诸多调试工具总结1

    ROS有许多调试工具来为ROS调试你的工具 1 rosnode 参数 用法 作用 list rosnode list 查看当前运行了哪些节点 info rosnode info node name 查看该节点发布 接受哪些话题以及服务 ki
  • 无人驾驶论坛

    1 百度Apollo论坛 http www 51apollo com 2 人工智能中文资讯网 http www ailab cn
  • 1-如何安装ROS

    如何安装ROS 大家好 我是如何 今天尝试在Ubantu下安装ROS Robot Operating System 测试环境 虚拟机VMware Ubantu20 04 准备步骤 添加ROS软件源 sudo sh c echo deb ht
  • ModuleNotFoundError: No module named ‘rosbag‘

    1 ModuleNotFoundError No module named rosbag File opt ros kinetic lib python2 7 dist packages roslib launcher py line 42
  • Hypervisor介绍及在智能驾驶的应用

    转自Hypervisor 智能座舱和智能驾驶融合的关键技术 腾讯新闻
  • 【ROS】usb_cam相机标定

    1 唠叨两句 当我们要用相机做测量用途时 就需要做相机标定了 不然得到的计算结果会有很大误差 标定的内容包括三部分 内参 外参还有畸变参数 所以标定的过程就是要求得上面这些参数 以前弄这个事估计挺麻烦 需要做实验和计算才能得到 现在通过ro
  • 如何将从 rospy.Subscriber 数据获得的数据输入到变量中?

    我写了一个示例订阅者 我想将从 rospy Subscriber 获得的数据提供给另一个变量 以便稍后在程序中使用它进行处理 目前 我可以看到订阅者正在运行 因为当我使用 rospy loginfo 函数时 我可以看到打印的订阅值 虽然我不
  • 如何将视频或图像序列转换为包文件?

    我是 ROS 新手 我需要转换预先存在的视频文件 或者large可以连接到视频流中的图像数量 bagROS 中的文件 我在网上找到了这段代码 http answers ros org question 11537 creating a ba
  • 在 CLion 中设置 ROS 包

    我正在使用 CLion C IDE 来编辑 ROS 包 我可以通过打开CMakeLists txt文件 但是 我收到一个错误 FATAL ERROR find package catkin 失败 在工作区和 CMAKE PREFIX PAT
  • 如何将曲面拟合到一组数据点并获得曲面方程

    乌班图 ROS 思维 Python程序 我正在尝试获取适合点云数据中的一组点的表面方程 数据来自激光雷达扫描仪 我在 rviz 中选择整个扫描的一部分 并获得该选择的坐标选定表面的图片 所选曲面并不总是如此线性 因为材质中可能存在轻微的曲线
  • Caught exception in launch(see debug for traceback)

    Caught exception in launch see debug for traceback Caught exception when trying to load file of format xml Caught except
  • 我们可以在没有 GPU 的情况下在自定义对象上训练 YOLOv3 吗?

    我的 YOLO 模型可以很好地检测瓶子 人 手机 背包等物体 但我想让我的模型检测戒指 手镯或头盔 当前 yolo 模型中不存在的物体 没有 GPU 我可以制作自定义对象检测 yolo 模型吗 涉及哪些风险 如果有的话 我的系统是 Wind
  • 如何访问 Heroku 中的 docker 容器?

    我已按照此处构建图像的说明进行操作 https devcenter heroku com articles container registry and runtime getting started https devcenter her
  • catkin_make 编译报错 Unable to find either executable ‘empy‘ or Python module ‘em‘...

    文章目录 写在前面 一 问题描述 二 解决方法 参考链接 写在前面 自己的测试环境 Ubuntu20 04 一 问题描述 自己安装完 anaconda 后 再次执行 catkin make 遇到如下问题 CMake Error at opt
  • 可以在catkin工作区之外创建ROS节点吗?

    我想在catkin工作区之外创建一个ROS发布者节点 可以创建吗 当然可以 像对待任何其他 cpp 库或 python 包一样对待 ROS 在Python中你必须保留PYTHONPATH环境变量指向ros包 opt ros kinetic
  • 如何从里程计/tf数据获取投影矩阵?

    我想将视觉里程计的结果与 KITTI 数据集提供的事实进行比较 对于地面中的每一帧 我都有一个投影矩阵 例如 1 000000e 00 9 043683e 12 2 326809e 11 1 110223e 16 9 043683e 12
  • 如何使用一个凉亭同时创建两个地图?

    如下图所示 现在我的gazebo正在运行2个slam gmapping包 首先是 turtlebot slam gmapping 发布到 map 主题 第二个是 slam gmapping 发布到与第一个相同的 map 主题 我想创建一个新
  • 安装 ROS 时 Cmake 未检测到 boost-python

    我一直在尝试在我的 Mac 上安装 ROS 并根据不同版本的 boost 使用不同的库解决了错误 然而 似乎有一个库甚至没有检测到 boost python 这是我得到的错误 CMake Error at usr local share c

随机推荐

  • Federated Learning: 问题与优化算法

    工作原因 xff0c 听到和使用Federated Learning框架很多 xff0c 但是对框架内的算法和架构了解不够细致 xff0c 特读论文以记之 这个系列计划要写的文章包括 xff1a Federated Learning 问题与
  • DIN: 阿里点击率预估之深度兴趣网络

    广告推荐算法系列文章 xff1a 莫比乌斯 百度的下一代query ad匹配算法百度凤巢分布式层次GPU参数服务器架构DIN 阿里点击率预估之深度兴趣网络DIEN 阿里点击率预估之深度兴趣进化网络 本文的知识点来源于参考文献 1 xff0c
  • DIEN: 阿里点击率预估之深度兴趣进化网络

    广告推荐算法系列文章 xff1a 莫比乌斯 百度的下一代query ad匹配算法百度凤巢分布式层次GPU参数服务器架构DIN 阿里点击率预估之深度兴趣网络基于Delaunay图的快速最大内积搜索算法DIEN 阿里点击率预估之深度兴趣进化网络
  • 概率矩阵分解模型 PMF

    本文是论文 一种结合推荐对象间关联关系的社会化推荐算法 的笔记 xff08 上 xff09 因为对其中的概率矩阵分解 Probabilistic Matrix Factorization PMF 不够了解 xff0c 因而我先去脑补了PMF
  • 卷积神经网络

    卷积神经网络 转载请注明 xff1a http blog csdn net stdcoutzyx article details 41596663 自今年七月份以来 xff0c 一直在实验室负责卷积神经网络 xff08 Convolutio
  • linux系统非线性结构的遍历算法

    介绍 非线性结构的二叉搜索树 xff08 BST xff09 可以进行各种不同方式的遍历 xff0c 所谓遍历 xff0c 就是环游树中的每一个节点 xff0c 然后根据我们的需要对这些节点做某种处理 树的遍历方式主要有以下几种 xff08
  • DeepID人脸识别算法之三代

    DeepID人脸识别算法之三代 转载请注明 xff1a http blog csdn net stdcoutzyx article details 42091205 DeepID xff0c 目前最强人脸识别算法 xff0c 已经三代 如今
  • 理解dropout

    理解dropout 开篇明义 xff0c dropout是指在深度学习网络的训练过程中 xff0c 对于神经网络单元 xff0c 按照一定的概率将其暂时从网络中丢弃 注意是暂时 xff0c 对于随机梯度下降来说 xff0c 由于是随机丢弃
  • 深度卷积对抗生成网络(DCGAN)

    本文是参考文献 1 的论文笔记 卷积神经网络在有监督学习中的各项任务上都有很好的表现 xff0c 但在无监督学习领域 xff0c 却比较少 本文介绍的算法将有监督学习中的CNN和无监督学习中的GAN结合到了一起 在非CNN条件下 xff0c
  • 看图说话——CNN和LSTM的联合应用

    看图说话是深度学习波及的领域之一 其基本思想是利用卷积神经网络来做图像的特征提取 xff0c 利用LSTM来生成描述 但这算是深度学习中热门的两大模型为数不多的联合应用了 本文是参考文献 1 的笔记 xff0c 论文是比较早的论文 xff0
  • 机器学习经典书籍小结

    机器学习经典书籍小结 转载本博客请注明链接 xff1a http blog csdn net xinzhangyanxiang article details 9069045 博客第一篇文章 1 是转载的 xff0c 也算是开始写博客不经意
  • Microsoft Media foundation概述(附实例)

    Microsoft Media Foundation是微软新一代多媒体开发平台 xff0c 用以取代原来的Directshow xff0c 为了满足现在多媒体播放的高清晰 xff0c 高品质 xff0c 颜色管理 xff0c 以及充分利用硬
  • Dockerfile中 使用pip镜像源加速下载

    用dockerfile文件制作镜像 xff0c 提高pip下载速度 1 安装pip3 xff0c python3 RUN apt get update RUN apt get install y python3 5 RUN apt get
  • NVIDIA Jetson Nano主机的autoware的学习与demo运行-第7章-Autoware源码安装

    Autoware源码安装 建立workspace mkdir p autoware ai src cd autoware ai 这个是下载了一个名为autoware ai repos的文件 xff0c 是为了方便管理多个git库而开发 43
  • NVIDIA Jetson Nano主机的autoware的学习与demo运行-第8章-Autoware官方demo运行

    Autoware官方demo 个人学习者很少拥有齐全的传感器以及工控机 xff0c 所以我们可以用autoware ai官网提供的一些录制好的rosbag包及个人笔记本来跑些有趣的demo 安装了 Autoware 之后 xff0c 就可以
  • NVIDIA Jetson AGX Xavier主机刷机与SSD安装

    任务逻辑 当有个新的AGX主机到手上后 xff0c 主机是启动的是eMMC xff0c 大约30G存储 这个安装了系统后到后面随便弄一下就不够存储了 xff0c 所以我是想要在主机上安装一个SSD xff0c 然后将系统直接放到SSD上 x
  • 自平衡linux红黑树

    简介 实际应用中的自平衡搜索二叉树 xff0c 除了AVL之外 xff0c 红黑树也是备受宠爱 他不仅是linux中非线性结构的标准算法 xff0c 而且是Java中TreeMap TreeSet机制 C 43 43 中的STL这些经典工具
  • yolov3的训练(一)下载与训练

    darknet框架简介 https blog csdn net mao hui fei article details 113820303 AlexeyAB大佬的关于darknet的详细文档信息 https github com Alexe
  • yolov3的训练(五)darknet的VOC测试集和训练集以及训练前准备

    VOC测试集和训练集 同学们 xff0c 这个系列的文件不要直接就跟着我操作了 xff0c 因为这个是踩坑的记录 xff0c 不是教程 xff0c 我只是将整个流程记录下来 xff0c 让后面的同学操作的时候能够避开这些坑 xff0c 希望
  • yolov3的训练(七)使用darknet_ros框架进行识别与模型导入

    同学们 xff0c 这个系列的文件不要直接就跟着我操作了 xff0c 因为这个是踩坑的记录 xff0c 不是教程 xff0c 我只是将整个流程记录下来 xff0c 让后面的同学操作的时候能够避开这些坑 xff0c 希望你能将整个系列的操作流