• yolov8-ros目标检测---硬件与仿真环境中区别


    为了完成使用realsenseD435i相机在真实环境下的目标检测任务,下载了realsense-ros和yolo8-ros功能包(都在工作空间src下)。分两种情况,1、使用真实硬件(如realsenseD435i)。2、在纯仿真环境下进行目标识别(如Gazebo),这两种情况是不同的,需要修改yolo_v8.launch中的参数,具体修改如下:

    一、使用RealsenseD435i相机在真实环境下进行目标检测:

    此时的yolo_v8.launch文件为:

    <?xml version="1.0" encoding="utf-8"?>
    
    <launch>
    
      <!-- Load Parameter -->
      
      <param name="use_cpu"           value="true" />
    
      <!-- Start yolov5 and ros wrapper -->
      <node pkg="yolov8_ros" type="yolo_v8.py" name="yolov8_ros" output="screen" >
        <param name="weight_path"       value="$(find yolov8_ros)/weights/yolov8s.pt"/>
      
        <!-- run yolov8 use real camera  -->
        <param name="image_topic"       value="/camera/color/image_raw" />    
     
        <param name="pub_topic"         value="/yolov8/BoundingBoxes" />
        <param name="camera_frame"       value="camera_color_frame"/>
        <param name="visualize"       value="true"/>
        <param name="conf"              value="0.3" />
      </node>
    
    </launch>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    需要注意的地方是,硬件条件下,订阅的图像话题为:/camera/color/image_raw

    二、Gazebo仿真环境下进行目标检测,不是用真实相机:

    此时的yolo_v8.launch文件为:

    <?xml version="1.0" encoding="utf-8"?>
    
    <launch>
    
      <!-- Load Parameter -->
      
      <param name="use_cpu"           value="true" />
    
      <!-- Start yolov5 and ros wrapper -->
      <node pkg="yolov8_ros" type="yolo_v8.py" name="yolov8_ros" output="screen" >
        <param name="weight_path"       value="$(find yolov8_ros)/weights/best.pt"/>  
        
        <!-- run yolov8 in gazebo simulation  -->
        <param name="image_topic"       value="/camera/rgb/image_raw" />  
    
        <param name="pub_topic"         value="/yolov8/BoundingBoxes" />
        <param name="camera_frame"       value="camera_color_frame"/>
        <param name="visualize"       value="true"/>
        <param name="conf"              value="0.3" />
      </node>
    
    </launch>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    需要注意的地方是,仿真条件下,订阅的图像话题为:/camera/rgb/image_raw

    三、关于权重文件问题:

    之前我一直认为yolov8自带的权重文件就已经好用,但是经过测试并不行。针对特定的物体,会出现识别不到的情况,不能发布Boundingoxes 话题。

  • 相关阅读:
    Java IDEA jackson序列化——查询父子类返回 亲测可行
    基于SqlSugar的开发框架循序渐进介绍(17)-- 基于CSRedis实现缓存的处理
    EventBus3.0源码分析(三)
    文生图王者登场:Stable Diffusion 3 Medium正式开源
    【Java难点攻克】「Guava RateLimiter」针对于限流器的入门到实战和源码原理分析
    python列表中str实现大小写转换
    [JavaScript][AJAX] 前后端交互流程,ajax工作流程
    图论算法
    ARM/Linux嵌入式面经(六):华为【共四面】
    Gitee Pages个人简历部署(上)
  • 原文地址:https://blog.csdn.net/Time_Memory_cici/article/details/132636110