ROS环境下实现YOLOv3目标检测

一、下载源码

YOLOv3(ROS)网盘链接
提取码:a3x0

carmera(ROS)网盘链接
提取码:cifc

二、编译步骤

mkdir -p catkin_ws/src
cd catkin_ws/src/
catkin_init_workspace
cd ..
catkin_make

然后将下载的yolov3(ROS)源码放入catkin_ws/src/文件夹下。
放入之后,切换到catkin_ws文件夹下编译

cd ..
catkin_make

编译的过程中有可能出现问题,例如我的一直提示cc: error trying to exec 'cc1plus': execvp: no such file or directory错误。后来查资料得知,。是因为gcc/g++版本问题,导致编译错误。源文件采用-std=c++11
解决方案:更换版本,经过测试4.8版本可行。
参考链接:gcc: error trying to exec ‘cc1plus’: execvp: no such file or directory
sudo apt-get install g++ -4.8
sudo apt-get install gcc-4.8
cd到/usr/bin目录下(Ubuntu 64位):

sudo  ln  -sf  g++-4.8  g++
sudo  ln  -sf  g++-4.8  x86_64-linux-gnu-g++
sudo  ln  -sf  gcc-4.8  gcc
sudo  ln  -sf  gcov-4.8 gcov
sudo  ln  -sf  gcc-4.8  x86_64-linux-gnu-gcc

然后再重新编译【如果之前编译错误,修改版本之后,一定要clean一下。如果不行,最好是从头开始配置一遍。】

catkin_make clean 
catkin_make

查看版本:
gcc -v
g++ -v

三、测试代码

运行darknet_ros
然后执行darknet_ros进行检测,在运行检测之前需要更改一下配置文件,使得darknet_ros订阅的话题与usb_cam发布的图片话题对应。
打开darknet_ros/config/ros.yaml文件,修改:

subscribers:
  camera_reading:
    topic: /camera/rgb/image_raw
    queue_size: 1

subscribers:
  camera_reading:
    topic: /usb_cam/image_raw
    queue_size: 1

回到工作空间根目录,先执行:

source devel/setup.bash
roslaunch darknet_ros darknet_ros.launch

再打开一个终端界面,执行:

source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch

权重文件已下载,放在对应文件夹中。

参考链接:ROS下实现darknet_ros(YOLO V3)检测

版权声明:本文为CSDN博主「酸梅果茶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41821678/article/details/117929931

酸梅果茶

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

YOLO跌倒检测笔记

YOLO跌倒检测笔记 代码来源: https://github.com/qiaoguan/Fall-detection/blob/master/demo.gif 介绍: 上面原始代码是python2/open