环境介绍
Ubuntu20.04
Ros1-noetic
Anaconda-yolov8虚拟环境
本文假设ROS和anaconda虚拟环境都已经配备,如果不知道怎么配备可以参考:
https://blog.csdn.net/weixin_45231460/article/details/132906916
创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
🍀 编译工作空间
cd ~/catkin_ws
catkin_make
安装usb-cam
参考USB摄像头的安装和使用
配置yolov8-ros
1.下载功能包
cd ~/catkin_ws/src
git clone https://github.com/Gaofan666/Yolov8_ros.git
打开Yolov8_ros/yolov8_ros文件夹内容如下:
2.更新ultralytics和weights
现在我们要替换两个东西,一个是ultralytics文件夹,这个ultralytics是80.0.92版本的比较旧,直接删掉即可。去yolov8官网下载最新版的ultralytics或者替换自己的文件夹放进来,这里贴一个链接:
git clone https://github.com/ultralytics/ultralytics.git
第二个要替换的是weights文件夹下默认有一个yolov8s.pt,删掉去官网下载最新的放进来即可。
https://github.com/ultralytics/ultralytics
3. 虚拟环境装rospkg
用到哪个python解释器就在哪个虚拟环境装一下rospkg,比如我用的虚拟环境是yolov8,运行以下命令:
conda activate yolov8
pip install rospkg
4.指定python解释器
修改yolov8_ros/scripts/yolo_v8.py,文档开头的 /usr/bin python 替换为yolov8虚拟环境的解释器的位置。
#!/home/hhh/.conda/envs/yolov8/bin/python3.8
如果不知道python解释器在哪,可以用下面的命令查看
whereis python
5. 更改图像话题和权重文件路径
修改yolov8检测的图像话题在/Yolov8_ros/yolov8_ros/launch/yolo_v8.launch文件中,修改,如果是用的usb-cam的话题,一般是
/usb_cam/image_raw
权重文件路径默认是weights目录下。
6. 编译运行
cd ~/catkin_ws
catkin_make
source devel/setup.bash
roscore
roslaunch usb_cam usb_cam-test.launch
roslaunch yolov8_ros yolo_v8.launch
可以看到左边是usb-cam发布的原图,右边是yolov8-ros发布的检测后的图片。