• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

ROS下实现darknet_ros(YOLO V3)检测

人工智能 很不专业 2356次浏览 0个评论

一. 代码下载

代码Github主页:https://github.com/leggedrobotics/darknet_ros   下载命令:

mkdir -p catkin_workspace/src
cd catkin_workspace/src
git clone --recursive git@github.com:leggedrobotics/darknet_ros.git
cd ../

  下载时间可能比较长,请耐心等待…

二. 编译

在ROS工作空间目录下,执行命令:

catkin_make -DCMAKE_BUILD_TYPE=Release

  此时会开始编译整个项目,编译完成后会检查{catkin_ws}/darknet_ros/darknet_ros/yolo_network_config/weights文件下有没有yolov2-tiny.weights和yolov3.weights两个模型文件,默认下载好的代码里面为了节省体积是不带这两个模型文件的。因此编译之后会自动开始下载模型文件,此时又是一段漫长的等待时间。   如果刚好你之前已经下载好了模型文件,那就好了,在开始编译之前就把模型文件拷贝到上述文件夹下,就不会再次下载了。

三. 运行代码

1. 图像话题发布

因为darknet_ros会直接订阅指定的图像话题名,然后对图像进行检测,绘制检测框,并发布相应的检测话题,因此首先需要找一个能够发布图像话题的ROS包,这里推荐使用ROS官方提供的usb_cam驱动包,可以直接将电脑自带摄像头或连接电脑的USB摄像头采集的图像发布为ROS图像话题。   下载摄像头驱动:

sudo apt-get install ros-kinetic-usb-cam

  然后发布摄像头图像话题:

roslaunch usb_cam usb_cam-test.launch

  如果顺利的话应该可以看到实际的图像显示界面。   ROS下实现darknet_ros(YOLO V3)检测  

2. 运行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

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

source devel/setup.bash
roslaunch darknet_ros darknet_ros.launch

  出现对摄像头采集图像的实时检测结果。   ROS下实现darknet_ros(YOLO V3)检测 ROS下实现darknet_ros(YOLO V3)检测   可以看到检测的结果还是有很大问题的!!   我们只需要把预训练集换成YOLO v3的来检测就可以了,更换如下:找到config文件可以看到如下的训练集   ROS下实现darknet_ros(YOLO V3)检测   打开launch文件   ROS下实现darknet_ros(YOLO V3)检测   修改 darknet_ros.launch  

arg name="network_param_file"         default="$(find darknet_ros)/config/yolov2-tiny.yaml"/
 
改为
 
arg name="network_param_file"         default="$(find darknet_ros)/config/yolov3.yaml"/

  如下:   ROS下实现darknet_ros(YOLO V3)检测   然后重新启动:  

roslaunch darknet_ros darknet_ros.launch

  检测结果如下:   ROS下实现darknet_ros(YOLO V3)检测   多来几张结果:   ROS下实现darknet_ros(YOLO V3)检测 ROS下实现darknet_ros(YOLO V3)检测 ROS下实现darknet_ros(YOLO V3)检测   我们可以看到检测帧数很慢FPS只有:0.1,这里我们需要安装NVIDIA驱动并安装CUDA,来使用GPU加速进行检测,这样的话速度就会快很多,安装步骤会方法如下:(安装步骤在我的另外一片文章:https://blog.csdn.net/qq_42145185/article/details/105793983)   安装完成之后只需要修改/darknet_ws/src/darknet_ros/darknet文件下的Makefile文件 修改如下:   ROS下实现darknet_ros(YOLO V3)检测   完成修改只会只需要到工作空间下进行编译:

$ catkin_make

  重新运行结果:(可以看到识别速度已经可以达到FPS:11.4了,如果想更快可以把CUDNN安装上,再修改make文件编译之后进行测试)   ROS下实现darknet_ros(YOLO V3)检测 ROS下实现darknet_ros(YOLO V3)检测   后续有时间会尝试制作如何训练自己的训练集并在ROS下进行检测使用,谢谢! 更新!  

yolov3训练自己的数据集

训练自己的数据集进行测试(链接:https://blog.csdn.net/qq_42145185/article/details/105816128)   测试结果,本人只是用了18图片迭代训练了500次,测试识别结果并不是很好,框容易框的很大!!!   ROS下实现darknet_ros(YOLO V3)检测 ROS下实现darknet_ros(YOLO V3)检测


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明ROS下实现darknet_ros(YOLO V3)检测
喜欢 (0)

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

加载中……