ubuntu18.04复现yolo v8之最终章,realsenseD435i+yolo v8完美运行

一、背景

上一篇博客我们已经为复现yolov8配置好了环境,如果前面的工作顺利进行,我们已经完成了90%(学习类程序最难的是环境配置)。

接下来将正式下载yolov8的相关代码,以及进行realsenseD435i相机+yolo v8的demo演示。

系统:ubuntu18.04
ROS:melodic
相机型号:Intel realsenseD435i

pytorch及python版本要求(上一篇博客已经完成):
Pip install the ultralytics package including all requirements in a Python>=3.8 environment with PyTorch>=1.8.

二、具体实验方法

1、三步法创建一个ROS工作空间:
mkdir -p ~/cat_ws/src
cd ~/cat_ws/src/
catkin_init_workspace 
cd ..
catkin_make
2、下载yolo v8程序

a.激活conda环境

conda activate yolov8

b.安装以下依赖

pip install ultralytics
pip install rospkg

c.进入工作空间src文件夹,安装Yolov8_ROS
程序链接:https://github.com/qq44642754a/Yolov8_ros

cd cat_ws/src

git clone https://github.com/qq44642754a/Yolov8_ros.git

cd ..

catkin_make

至此,yolo v8已配置完成。

3、realsenseD435i相机+yolo v8联合运行demo

a.这里假设你已经安装了realsense驱动及realsense-ros,还没安装的可以参考我的博客ubuntu18.04安装Realsense D435i相机SDK及realsense-ros记录,为后期运行yolo v5作准备

b.详细运行realsenseD435i相机+yolo v8步骤:

#1.使用usb将realsenseD435i相机插入电脑

#2.打开终端,激活conda环境
conda activate yolov8

#3.进入工作空间运行yolov8命令,直到终端出现waiting for image.进行下一步
cd cat_ws/
source devel/setup.bash
roslaunch yolov8_ros yolo_v8.launch

#4.重新打开一个终端,打开相机程序
cd cat_ws/
source devel/setup.bash
roslaunch realsense2_camera rs_camera.launch

在这里插入图片描述

至此,就可看到yolov8的检测效果,如下图所示
在这里插入图片描述在这里插入图片描述

三、遇到的问题

如果运行上述命令roslaunch realsense2_camera rs_camera.launchroslaunch yolov8_ros yolo_v8.launch,不能出现yolo的识别框,则检查yolo v8.launch文件的两个地方
1、权重文件yolov8s.pt是否在weights文件夹下
2、话题中的color是否正确,如果是rgb则是在仿真环境下的话题,真实相机必须是color
在这里插入图片描述

完美~~~

### YOLOv8D435i摄像头集成及兼容性问题 对于YOLOv8与Intel RealSense D435i摄像头的集成,主要挑战在于确保两个组件间的无缝数据流以及处理可能存在的版本兼容性问题[^1]。 #### 数据获取与预处理 为了使YOLOv8能够接收来自D435i的数据,在Python环境中安装`realsense2`库是必要的。这允许程序访问并控制RealSense设备: ```bash pip install pyrealsense2 ``` 接着编写脚本初始化相机连接,并设置所需的参数如分辨率、帧率等。通过OpenCV读取图像帧作为YOLO模型输入前需做适当调整——转换色彩空间至BGR格式以便于后续操作。 ```python import cv2 import numpy as np import pyrealsense2 as rs pipeline = rs.pipeline() config = rs.config() # 配置管道以从D435i捕获彩色视频流 config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30) pipeline.start(config) while True: frames = pipeline.wait_for_frames() color_frame = frames.get_color_frame() if not color_frame: continue image_np = np.asanyarray(color_frame.get_data()) # 将图像传递给YOLOv8进行检测... ``` #### 版本管理与环境配置 考虑到ROS生态系统的复杂性和不同版本间可能存在不完全的功能支持情况,建议创建独立的工作区来隔离依赖关系。可以利用虚拟环境工具(例如Conda)建立专门用于此项目的Python环境,从而避免与其他项目发生冲突。 另外值得注意的是,当涉及到硬件驱动程序更新时务必谨慎行事;有时较新的固件可能会引入破坏现有应用程序稳定性的更改。因此保持软件栈各部分同步非常重要。 #### 解决方案总结 综上所述,要成功实现YOLOv8D435i之间良好协作的关键要素包括但不限于:正确安装相关SDKs/Drivers、合理规划计算资源分配策略、维护一致的技术堆栈版本号。遵循上述指导原则有助于克服潜在障碍达成预期目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值