基于ROS的darknet+yolov3目标检测

ROS1/一代机器人系统 少儿编程 1266浏览 0评论
上一篇文章简述如何在ubuntu下安装nvidia GPU驱动、cuda和cudnn,并通过darknet+yolov3验证使用GPU进行目标检测。本文介绍darknet_ros,基于ROS通过darknet+yolov3实现摄像机图像目标检测的程序包。
0. 简介​​
0.1 darknet
darknet是开源的神经网络框架,用c语言和cuda编写,支持CPU和GPU,具有速度快、易于安装等优点。
0.2 yolov3
YOLO(You only look once ) 是前沿、实时的目标检测系统,下面我们将演示如何在ROS下使用 YOLO (V3)的程序包 ,并且支持GPU或者  CPU。其预训练卷积神经网络(CNN)模型能够检测采用VOC和COCO数据集训练过的类别,此外,也可以创建自己的检测目标的网络。

1. 获取源码

下载源码命令:
cd catkin_workspace/src
git clone --recursive git@github.com:leggedrobotics/darknet_ros.gitcd ../
若是出现如下错误,请移步4.1。
2. 编译
编译命令:
为获得最佳性能,建议以Release模式编译,命令如下所示:
cd ../
catkin_make -DCMAKE_BUILD_TYPE=Release
编译过程需要下载权值文件,可提前下载好放在相应目录下;若是下载太慢,请移步4.2。
3. 测试
3.1 测试数据集
使用kitti数据集的里程计数据序列00,rosbag格式,本次测试数据集我放在百度网盘,需要的人可在后台发送“00.bag”获取下载链接。关于kitti数据集转换为rosbag模式的方法步骤,下次再分享。
3.2 测试命令
roslaunch darknet_ros yolo_v3.launch
rosbag play --pause ~/Downloads/00.bag
rosrun image_view image_view image:=/darknet_ros/detection_image
3.3 检测结果
80D98C23-65ED-4e26-9E8B-1412FFEC8A08

 

 

 

 

4. 问题与解决
(1)Permission denied (public key).
参考廖雪峰git教程
https://www.liaoxuefeng.com/wiki/896043488029600/896954117292416
(2)catkin_make
权值文件下载太慢,可能会报错,我已经下载好放在百度网盘,后台发送:
darknet_ros_weights
可获取源码和相关权值文件。

转自公众号:
Robot404

您必须 登录 才能发表评论!