超维空间M1无人机使用说明书——41、ROS无人机使用yolo进行物体识别

引言:用于M1无人机使用的18.04系统,采用的opencv3.4.5版本,因此M1无人机只提供了基于yolov3和yolov4版本的darknet_ros功能包进行物体识别,识别效果足够满足日常的物体识别使用,如果需要更高版本的yolov7或者yolov8,可以参考博客的yolov7和yolov8的使用。

链接: 源码链接

一、启动darknet_ros物体识别

javascript 复制代码
roslaunch robot_bringup bringup_darknet.launch

当终端无报错出现以上界面,表示物体识别正常运行

launch文件详解

1、bringup_darknet.launch文件分别启动了USB摄像头和darknet_ros节点,其中摄像头节点主要是发布图像话题,提供给darknet_ros节点订阅,相反,darknet_ros订阅图像话题,根据订阅到的图像数据进行识别处理

2、文件嵌套打开了darknet_ros.launch文件节点,这里需要注意,参数image是订阅的图像话题数据,一定要和摄像头发布的话题完全对应才可,否则darknet_ros节点会一直处在等待图像的状态

二、识别的物体模型

在例程中,我们加载了通用的物体模型,如下图所示,参数文件在路径
/home/cwkj/cwkj_ws/src/darknet_ros/darknet_ros/config下。

默认选择使用yolov4-tiny.yaml参数文件,如下所示,可以识别人、自行车、汽车等

如果需要更改识别模型,只需要在启动文件中更换参数文件即可,我们只需要打开darknet_ros.launch文件,更换其中的参数文件即可

三、实例应用

步骤1、为了节约系统资源,可视化弹窗默认是关闭的,如果需要观看图片信息,可以使用rqt工具打开,如下:rqt_image_view

优先考虑在远程端使用rqt可视化工具

步骤2、识别到键盘,并且对键盘进行框选,需要按照如下话题选择

以下部分主要是针对深度摄像头,如D435,如果是USB摄像头,坐标转换节点是没法给出实际的坐标位置的,缺少深度信息,但是程序会给出识别道德目标物在摄像头画面中的相对位置信息

四、启动坐标转换节点,发布物体相对于摄像头的空间位置信息

只需要把其中的参数object_name改成参数文件中的物体名称即可识别指定物体并发布位置信息,例如键盘"keyboard"。

javascript 复制代码
roslaunch object_darknet object_darknet.launch 

步骤1、未检测到键盘的时候,日志输出如下:

步骤2、识别到键盘,日志输出如下:发布键盘相对与摄像头的位置信息,包含深度信息

五、扩展

同样的,通过选择不同的参数文件,可以实现行人检测、人脸检测、以及其他的物体识别。

相关推荐
JicasdC123asd14 小时前
密集残差瓶颈网络改进YOLOv26特征复用与梯度传播双重优化
网络·yolo·目标跟踪
JicasdC123asd18 小时前
密集连接瓶颈模块改进YOLOv26特征复用与梯度流动双重优化
人工智能·yolo·目标跟踪
IT猿手19 小时前
MATLAB模拟四旋翼无人机飞行,机翼可独立旋转
开发语言·matlab·无人机
duyinbi751719 小时前
局部特征提取改进YOLOv26空间移位卷积与轻量化设计双重突破
人工智能·yolo·目标跟踪
GIS数据转换器20 小时前
小龙虾(OpenClaw) 在低空经济领域的应用
大数据·人工智能·无人机·智慧城市·制造
张道宁20 小时前
基于Spring Boot与Docker的YOLOv8检测服务实战
spring boot·yolo·docker
EriccoShaanxi21 小时前
石英加速度计破局石油钻井,如何征服极端温度?
人工智能·机器人·无人机
EW Frontier1 天前
【UAV识别】基于分层学习的射频无人机检测与识别技术,准确率达99%!【附python代码】
python·无人机·无人机信号识别
EasyDSS1 天前
RTMP高清推流直播/视频转码EasyDSS在无人机RTMP直播场景中的应用技术解析
ffmpeg·音视频·无人机·视频转码·语音转写·点播技术
亥时科技1 天前
开源赋能低空经济:AI 无人机一体化平台如何破解行业应用难题
人工智能·开源·无人机