楼主

[视觉算法] 【求助帖】ROS节点间发送图像的优化

[复制链接]
正式队员猫猫猫猫猫猫猫
2021-12-8 22:28:27 只看该作者

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
目前我们学校自瞄算法用的是传统算法+ROS,最近给跑了性能分析,发现图像用cv_bridge转换成图像消息再发送的时间占了大头(甚至比识别算法都慢)
想了好几天解决方案,没想出来太好的,想请教一下大家都是怎么做的
(目前有个想法是做共享内存,用一个标志位标识现在这块内存的读写情况,但感觉两个进程间要想办法同步,做不好可能还没有直接发送快)


跳转到指定楼层
推荐

[视觉算法] 【求助帖】ROS节点间发送图像的优化

[复制链接]
正式队员debug
2022-2-16 22:07:58 只看该作者
shadowdancer 发表于 2022-2-12 23:16
cv_bridge好像不是一个node吧?

嗯嗯,楼主的意思是cv_bridge+ros发送消息整个占大头,cv_bridge如果不采用压缩的格式的话,就是个内存copy,效率再怎么低,也不至于占大头,ros通信机制确实会引入延迟,我估计这部分可能占了大头。ROS2中的composition机制可以降低通信延迟,另外ROS2的某些DDS支持共享内存模式通信,和楼主的解决想法一样。
回复 支持 1 反对 0

使用道具 举报

沙发

[视觉算法] 【求助帖】ROS节点间发送图像的优化

[复制链接]
正式队员debug
2021-12-26 16:19:37 只看该作者
推荐ROS2, 利用composition机制把所有Node运行在一个进程中,DDS貌似会做相应优化。
板凳

[视觉算法] 【求助帖】ROS节点间发送图像的优化

[复制链接]
梯队队员TOE_Rio
2022-2-12 15:02:17 只看该作者
大佬能不能解答一下为啥用ros,单纯做视觉不会更慢吗(来自一个手边没有设备测试的小白的疑惑
地板

[视觉算法] 【求助帖】ROS节点间发送图像的优化

[复制链接]
顾问shadowdancer
2022-2-12 23:09:47 只看该作者
之前查资料的时候偶然看见,cv::mat进行读写的话,直接用指针访问像素会比用迭代器快几十倍(但我不确定cvbridge是不是真的用迭代器读取的)。有没有想过不用cvbridge,直接把图片通过指针访问,按照二进制放到sensor_msg/image里呢?
5#

[视觉算法] 【求助帖】ROS节点间发送图像的优化

[复制链接]
顾问shadowdancer
2022-2-12 23:16:15 只看该作者
debug 发表于 2021-12-26 16:19
推荐ROS2, 利用composition机制把所有Node运行在一个进程中,DDS貌似会做相应优化。 ...

cv_bridge好像不是一个node吧?
7#

[视觉算法] 【求助帖】ROS节点间发送图像的优化

[复制链接]
顾问shadowdancer
2022-2-17 10:13:33 只看该作者
debug 发表于 2022-2-16 22:07
嗯嗯,楼主的意思是cv_bridge+ros发送消息整个占大头,cv_bridge如果不采用压缩的格式的话,就是个内存co ...

牛啊!学到了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表