专为智能无人系统打造的边缘实时感知SDK库| SpireCV视觉介绍

专为智能无人系统打造的边缘实时感知SDK库| SpireCV视觉介绍

SpireCV 是一个专为智能无人系统打造的边缘实时感知SDK库,旨在为移动机器人开发者提供高性能、高可靠、接口简洁、功能丰富的视觉感知能力。由SpireCV项目组开发和维护。

Wiki地址:

SpireCV-Pro源代码地址:

SpireMS源代码地址:

2 项目概述

2023年10月,我们发布了SpireCV 1.0。Spire的英文是塔尖,顶尖的意思,CV是计算机视觉。SpireCV 1.0为用户提供相机读取、吊舱控制、视频保存与推流等基础功能,以及目标检测、实例分割、单目标跟踪、多目标跟踪等感知算法。用户可以将基础功能与感知算法组合在一起,实现自己的视觉感知任务。

2025年1月,我们正式上线SpireCV-Pro,其最大的特点是搭载了自研数据分发系统SpireMS,实现了节点式编程、实现了“跨平台、跨系统、跨语言”。相比于SpireCV 1.0,SpireCV-Pro的所有功能都是以节点式的方式实现,用户可以任意组合这些节点以实现自己的感知任务。节点与节点之间独立编译、独立运行。节点与节点之间能够实现跨平台,可以在不同硬件平台之间使用;能够实现跨系统,可以在不同系统之间组合工作流;能够实现跨语言,不同语言实现的节点之间仍然可以通信。

SpireCV-Pro目前支持多个硬件平台,包括X86 PC、Nvidia Jetson、Rockchip等;支持用户在Windows和Linux系统之间构建自己的感知任务工作流;支持用户使用Python或C++实现自己的自定义节点。

此外,SpireCV-Pro还与第三方系统建立连接,如ROS1、ROS2、PX4-Fast RTPS等。

3 软件架构

从SpireCV-Pro开始,我们设计了一种新的节点式的软件架构,其中SpireCV 功能分为几个节点(可视化、日志管理、控制算法、融合算法等)。在 SpireCV-Pro 中,我们引入了自研数据分发系统SpireMS。因此,用户可以通过SpireMS将对应节点组成自己的工作流。下图还显示了深度学习算法、视频保存、推流、流媒体、吊舱控制等节点,用户可以根据实际需求选择对应的节点。

4 SpireMS简介

Spire消息系统,一个类似ROS的轻量化消息发布、订阅软件包,支持图像、雷达等传感器话题。

4.1 为什么要做SpireMS?

  1. 跨程序数据分发依然困难,系统Windows、Linux、程序C++、Python、Anaconda不同版本安装ROS、ROS2依然存在各种问题
  2. 数据分发系统的数据类型需要预先定义(ROS message,ROS2的IDL语言),不能灵活适应
  3. ROS1存在带宽过度占用问题,没有被订阅的节点依然占用带宽
  4. 图像、雷达等占用带宽极大的程序需要共享内存机制

4.2 SpireMS的优点

  1. 完美适配Windows、Linux系统,C++、Python、Anaconda的各种版本
  2. 可预先定义基础数据类型,也可以灵活适应新的类型
  3. 有中心模式(中心稳定,防崩溃机制),通信稳定可靠,没有订阅者不占用带宽
  4. 支持内存共享机制

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注