• 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 话题。

  • 相关阅读:
    复盘:python中函数传递参数是值传递还是引用传递
    嵌入式学习之Linux驱动(第九期_设备模型_教程更新了)_基于RK3568
    三网话费接口API文档
    React 状态管理 - Mobx 入门(下)接入实战
    承装修试电力设施许可证怎么办理?承装修试电力设施许可证办理应该注意哪些?
    CF1539 D. PriceFixed
    Oracle 常用简单sql操作
    链接加密逆向
    Object对象的相关方法
    Flink容错机制
  • 原文地址:https://blog.csdn.net/Time_Memory_cici/article/details/132636110