无人机目标检测 Darknet-ROS 学习(三)

无人机目标检测 Darknet-ROS 学习(三)

上一节已经讲解了Darknet-ROS项目工程里各个文件的大致作用以及ROS节点之间的相互关系,希望可以帮助理解yolo是如何在ROS平台上运行的。这一节来更加细致的学习一下相机D455yolo的使用以及Darknet-ROS的运行。

整体结构

首先还是回到上一节的那张图:
ros节点关系图
其中主要的节点为cameradarknet_ros(以下简称为darknet节点),流程其实非常简单,camera节点中其他三个部分都是相机的驱动和管理,最重要的一部分就是/camera/color/image_raw,这个是相机的视频流,然后将该信息流传入darknet节点,与此同时yolo算法以检测器的形式在darknet节点上处理这些信息流的数据,实现实时的目标检测。
运行项目的时候要将上一节提到的对应的yaml文件中的camera_reading中的topic改成/camera/color/image_raw

相机安装以及使用

一般来说,使用的相机分为两种,一种是USB驱动的相机,另一种就是双目相机,例如D455,它是由realsense-SDK驱动,可以提供点云,单/双目视觉图像以及IMU信息。这里我们主要使用他的单目视觉图像。
相机的基本配置如下,这篇介绍的非常详细了:realsense

注意

  • 终端运行realsense-viewer,如果成功出现Intel的标志就算安装成功
  • 最好不要使用扩展器连接相机,可能会出现连接问题,可以使用ls /dev/video*命令来检查相机是否连接

启动相机:

roscore
# 在相机所在的ROS工作空间下新开一个终端
source devel/setup.bash #每启动一个新终端都要执行这一句才能运行项目中的相关节点
roslaunch realsense_camera rs_camera.launch # 此时相机已经启动,可以看到相机镜头里有红点闪烁

如果想将相机可视化,启动rviz,添加/camera/color/image_rawtopic(非必要)

yolov4-tiny

经过上述步骤,已经成功运行了相机节点camera,接下来就是将yolo应用到camera传输的视频流上。运行如下:

# 在Darknet_ros文件夹下新开一个终端
source devel/setup.bash
roslaunch darknet_ros yolov4_tiny.launch

完成后即可看到结果
这里yolov4_tiny是我自己加入到darkent中的,加入的方法如第二节中所示,需要添加.cfg.weight文件以及.yaml. launch文件,其中.launch文件需要改一下调用的文件路径。
需要注意的是yolov4_tiny有两种不同的情况,分别是voc数据集训练的和coco数据集训练的,不同在于voc有20个class,coco多达80个class
这里不同数据集训练出来的.cfg.weight文件不一样,同时.yaml文件的类别数也不同,如果这三个文件不能匹配,则会出现网络加载不出来或者运行到一半闪退的情况

效果

(某些地方涉及个人隐私已打码,未用电脑截屏所以比较模糊)
yolo检测效果图

结论

根据测试,有一个比较模糊的比较,平台是TX2

算法FPS
yolov2_tiny17~18
yolov31.8~2.0
yolov4_tiny23~24

本节内容到此结束,后续将会继续学习YOLOv4和tiny版本的优势

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值