在RDK X5平台上实现Mobile SAM量化部署的分割示例
分割一切
功能介绍
mono_mobilesam package是基于Mobile SAM量化部署的使用示例。图像数据来源于本地图片回灌和订阅到的image msg。SAM依赖检测框输入进行分割, 并分割检测框中的目标,无需指定目标的类别信息,仅需提供框。最终将算法信息通过话题发布, 同时在Web页面渲染可视化。
本示例中, 我们提供了两种部署展示方式:
固定框分割:固定了检测框(图片中央)用以分割。
订阅框分割:订阅上游检测网络输出的检测框信息, 对框中的信息进行分割。
代码仓库: (https://github.com/D-Robotics/mono_mobilesam.git)。
应用场景:结合检测框进行障碍物分割、水渍区域分割等。
支持平台
准备工作
RDK平台
1. RDK已烧录好Ubuntu 22.04系统镜像。
2. RDK已成功安装TogetheROS.Bot。
功能包安装
使用介绍
package对外发布包含语义分割和目标检测信息的算法msg, 用户可以订阅发布msg用于应用开发。
RDK平台
mipi摄像头发布图片
使用usb摄像头发布图片
使用单张回灌图片
结果分析
使用mipi摄像头发布图片
package初始化后, 在运行终端输出如下信息:
[INFO] [launch]: All log files can be found below .ros/log/1970-01-02-22-39-09-001251-buildroot-22955
[INFO] [hobot_codec_republish-2]: process started with pid [22973]
[INFO] [mono_mobilesam-3]: process started with pid [22975]
[INFO] [websocket-4]: process started with pid [22977]
[hobot_codec_republish-2] [WARN] [0000167949.975123376] [HobotCodec]: This is HobotCodecNode: hobot_codec_22973.
[hobot_codec_republish-2] [WARN] [0000167950.040208542] [HobotCodecNode]: Parameters:
[hobot_codec_republish-2] sub_topic: /image
[hobot_codec_republish-2] pub_topic: /hbmem_img
[hobot_codec_republish-2] channel: 1
[hobot_codec_republish-2] in_mode: ros
[hobot_codec_republish-2] out_mode: shared_mem
[hobot_codec_republish-2] in_format: jpeg
[hobot_codec_republish-2] out_format: nv12
[hobot_codec_republish-2] enc_qp: 10
[hobot_codec_republish-2] jpg_quality: 60
[hobot_codec_republish-2] input_framerate: 30
[hobot_codec_republish-2] output_framerate: -1
[hobot_codec_republish-2] dump_output: 0
[hobot_codec_republish-2] [WARN] [0000167950.050887417] [HobotCodecImpl]: platform x5
[websocket-4] [WARN] [0000167950.068235417] [websocket]:
[websocket-4] Parameter:
[websocket-4] image_topic: /image
[websocket-4] image_type: mjpeg
[websocket-4] only_show_image: 0
[websocket-4] smart_topic: hobot_sam
[websocket-4] output_fps: 0
[mono_mobilesam-3] [WARN] [0000167950.510756918] [mono_mobilesam]: Parameter:
[mono_mobilesam-3] cache_len_limit: 8
[mono_mobilesam-3] dump_render_img: 0
[mono_mobilesam-3] feed_type(0:local, 1:sub): 1
[mono_mobilesam-3] image: config/00131.jpg
[mono_mobilesam-3] is_regular_box: 1
[mono_mobilesam-3] is_shared_mem_sub: 1
[mono_mobilesam-3] is_sync_mode: 0
[mono_mobilesam-3] ai_msg_pub_topic_name: /hobot_sam
[mono_mobilesam-3] ai_msg_sub_topic_name: /hobot_dnn_detection
[mono_mobilesam-3] ros_img_sub_topic_name: /image
[mono_mobilesam-3] [BPU_PLAT]BPU Platform Version(1.3.6)!
[mono_mobilesam-3] [HBRT] set log level as 0. version = 3.15.52.0
[mono_mobilesam-3] [DNN] Runtime version = 1.23.9_(3.15.52 HBRT)
[mono_mobilesam-3] [A][DNN][packed_model.cpp:247][Model](1970-01-02,22:39:10.889.592) [HorizonRT] The model builder version = 1.23.5
[mono_mobilesam-3] [W][DNN]bpu_model_info.cpp:491][Version](1970-01-02,22:39:11.25.90) Model: mobilesam_encoder_384_all_BPU. Inconsistency between the hbrt library version 3.15.52.0 and the model build version 3.15.47.0 detected, in order to ensure correct model results, it is recommended to use compilation tools and the BPU SDK from the same OpenExplorer package.
[mono_mobilesam-3] [A][DNN][packed_model.cpp:247][Model](1970-01-02,22:39:11.239.603) [HorizonRT] The model builder version = 1.23.5
[mono_mobilesam-3] [WARN] [0000167951.353811293] [mono_mobilesam]: Create hbmem_subscription with topic_name: /hbmem_img
[mono_mobilesam-3] [W][DNN]bpu_model_info.cpp:491][Version](1970-01-02,22:39:11.318.569) Model: mobilesam_decoder_384. Inconsistency between the hbrt library version 3.15.52.0 and the model build version 3.15.47.0 detected, in order to ensure correct model results, it is recommended to use compilation tools and the BPU SDK from the same OpenExplorer package.
[mono_mobilesam-3] [WARN] [0000167951.606431085] [mono_mobilesam]: Smart fps: 5.00, pre process time ms: 43, infer time ms: 152, post process time ms: 24
[mono_mobilesam-3] [WARN] [0000167951.779821293] [mono_mobilesam]: Smart fps: 5.00, pre process time ms: 36, infer time ms: 149, post process time ms: 21
[mono_mobilesam-3] [WARN] [0000167951.952713293] [mono_mobilesam]: Smart fps: 5.00, pre process time ms: 36, infer time ms: 150, post process time ms: 22
[mono_mobilesam-3] [WARN] [0000167952.123928377] [mono_mobilesam]: Smart fps: 5.00, pre process time ms: 37, infer time ms: 149, post process time ms: 21
[mono_mobilesam-3] [WARN] [0000167952.295540585] [mono_mobilesam]: Smart fps: 5.00, pre process time ms: 35, infer time ms: 150, post process time ms: 21
示例中推理的结果会渲染到Web上, 在PC端的浏览器输入http://IP:8000即可查看图像和算法渲染效果(IP为RDK的IP地址), 打开界面右上角设置, 选中”全图分割“选项, 可以显示渲染效果。
"dump_render_img"设置为"1"时, 渲染效果保存在当前路径的result目录下。
进阶使用
如需调整检测框大小, 可参考下面方法验证。更重要的是可以通过上游检测节点检测结果作为sam输入。
运行sam, 取消固定框模式 sam_is_regular_box:=0。
在另一个终端发布ai话题。
ros2 topic pub /hobot_dnn_detection ai_msgs/msg/PerceptionTargets '{"targets": [{"rois": [{"rect": {"x_offset": 96, "y_offset": 96, "width": 192, "height": 96}, "type": "anything"}]}] }'
说明:这里发布的话题名为"/hobot_dnn_detection", 检测框坐标起点(96, 96), 宽度192, 高度96。这里检测框起止点, 应该不超过输入图像的大小, 在实际使用中需留意。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由雪飘梦飞转载自D-Robotics官网,原文标题为:Mobile SAM 分割一切!,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
D-Robotics YOLO World开放词汇目标检测
YOLO-World是一种先进的开放词汇目标检测方法,根据输入文本的变化可以实现以零样本的方式高效检测出不同的全新类别目标。应用场景:YOLO-World强大的零样本检测能力使得其具有更强的泛化能力,可以应用在智能驾驶、智能家居、地质检测等领域。
设计经验 发布时间 : 2024-11-23
D-Robotics 人形机器人自动踢球控制
本文介绍了人形机器人自动踢球控制的设计方案及应用。该功能包通过接收物体识别节点的消息,控制机器人自动踢球。
设计经验 发布时间 : 2024-11-23
基于RDK系统的双目深度估计算法示例
双目深度估计算法是使用地平线OpenExplorer在SceneFlow数据集上训练出来的StereoNet模型。算法输入为双目图像数据,分别是左右视图。算法输出为左视图的视差。此示例使用mipi双目相机作为图像数据输入源,利用BPU进行算法推理,发布包含双目图像左图和感知结果的话题消息, 在PC端rviz2上渲染算法结果。
设计经验 发布时间 : 2024-11-05
【IC】D-Robotics RDK X5机器人开发者套件,可提供高达10 Tops算力,加速智能化应用快速落地
D-Robotics RDK X5搭载Sunrise 5智能计算芯片,可提供高达10 Tops的算力,是一款面向智能计算与机器人应用的全能开发套件,接口丰富,极致易用,支持Transfomer、RWKV、Occupancy、Stereo Perception等多种复杂模型和最新算法,加速智能化应用快速落地。
产品 发布时间 : 2024-09-20
RDK X5平台上CLIP文本图片特征检索应用示例
文本图片特征检索功能介绍CLIP是由OpenAI提出的一种多模态机器学习模型。该模型通过对大规模图像和文本对进行对比学习, 能够同时处理图像和文本, 并将它们映射到一个共享的向量空间中。本示例展示在RDK平台上利用CLIP进行图片管理与文本搜图的功能。
设计经验 发布时间 : 2024-11-05
基于RDK平台的YOLOv10目标检测算法示例
YOLO功能介绍YOLO目标检测算法示例使用图片作为输入,利用BPU进行算法推理,发布包含目标类别和检测框的算法msg。YOLO目标检测算法示例使用图片作为输入,利用BPU进行算法推理,发布包含目标类别和检测框的算法msg。目前支持yolov2、yolov3、yolov5、yolov5x四个版本。
应用方案 发布时间 : 2024-11-13
基于旭日X3派的手语翻译系统案例
本手语翻译系统项目主要就是利用python程序录制本地mp3格式的用户音频,并将音频上传到云端语音平台进行实时转写,最后利用GUI库在屏幕上展示转写结果。
设计经验 发布时间 : 2024-11-04
人形机器人物体抓取实例
介绍人形机器人物体抓取的设计方案及应用特点。
设计经验 发布时间 : 2024-10-30
基于地平线RDK模型YOLOv5s深度学习的方法进行赛道障碍物检测应用实例
该功能为基于深度学习的方法识别赛道中的障碍物,使用模型为YOLOv5s。地平线RDK通过摄像头获取小车前方环境数据,图像数据通过训练好的YOLO模型进行推理得到障碍物的图像坐标值并发布。
设计经验 发布时间 : 2024-11-08
使用旭日X3派控制大型六足蜘蛛应用实例
本文为大型六足蜘蛛机器人设计方案介绍。经过测试,地平线旭日X3派机器运行效果和JETSON TX1一样顺滑!5Tops端侧推理与4核ARM A53处理能力,可同时多路Camera Sensor的输入并支持H.264/H.265编解码。
设计经验 发布时间 : 2024-11-05
基于地平线旭日X3派平台开发的具身智能机器狗“汪汪”
本项目聚焦腿臂机器人在多模态环境感知、自然语言交互和自主行为控制方面的技术瓶颈,基于地平线旭日X3派平台进行AI大模型算法开发,提出了一种融合AI大模型的创新性解决方案,提升腿臂机器人的综合性能。
应用方案 发布时间 : 2024-10-30
RDK X5重磅发布、RDK S100惊喜亮相,地瓜机器人开发者套件全家桶全新登场
9月20日,以“加速智能生长”为主题的“2024地瓜机器人开发者日”活动在深圳成功举办。地瓜机器人重磅推出面向“机器人+”时代的软硬件产品全家桶,包括专为新一代通用机器人而生的旭日5智能计算芯片、极致易用全能开发首选RDK X5机器人开发者套件、具身智能全场景算力核心RDK S100,以及赋能全链条全生命周期的机器人云端开发环境,软硬结合、端云一体,让开发更简单、让机器更智能。
原厂动态 发布时间 : 2024-11-04
电子商城
登录 | 立即注册
提交评论