01 Hybrid Vision SDK 介绍
📋 概述
HVAlgo 是ShiMetaPi 专为事件相机(Event Camera)设计的高性能算法库,提供了多种先进的事件去噪、计算机视觉和图像恢复算法。该库基于ShiMetaPi Hybird Vision SDK 构建,支持实时事件流处理,适用于机器人视觉、自动驾驶、高速运动分析等应用场景。
ShiMetaPi Hybrid Vision SDK 由 hybrid_vision_toolkit 和 hybrid_vision_algo 两个独立的SDK组成,分别实现视觉融合相机的接口控制和算法处理。
🚀 从哪里开始
- 想立刻跑通:第一个 C++ 程序(5 分钟打开相机、采集事件)
- 想按任务学:编程指引(打开相机 / 读事件 / 录制 / 去噪 / 显示 / 调参)
- 想免代码预览:MultiVision Studio
- 想看现成例子:示例程序总览
📋 SDK 整体架构

shimetapi_Hybrid_vision_algo (算法层 SDK)
- 定位: 这是 SDK 的核心算法处理层,位于架构的中间层(黄色部分)。
- 核心功能: 专注于处理来自事件相机的原始数据流,执行高级的计算机视觉算法,以提升数据质量、提取有用信息或进行三维理解。
- 包含的模块:
- 降噪 (
Denoise): 去除事件流中的噪声,提高信号质量。 - 插值 (
Interpolation): 用于在事件之间生成中间数据点,或与标准帧图像进行时空对齐/融合。 - 修复 (
Restoration): 用于处理数据缺失或异常。 - 计算机视觉/三维视觉 (
CV/CV3D): 包含实现事件相机特定或融合应用的算法,如目标检测、跟踪、三维重建、姿态估计等。 - 样本与数据 (
Samples/data): 提供示例代码、模型或必要的数据集。 - 外部依赖 (
external): 通过集成第三方库给用户提供更多设备的选择,例如:shimetapi Hybrid vision toolkit`,OpenEb(通过命令安装)等 。
- 降噪 (
- 作用: 它为上层应用 (
APP) 提供了经过处理、增强或理解的事件数据信息。应用开发者主要调用这一层的接口来实现事件相机的高级功能(如播放、录制、分析)。
shimetapi_Hybrid_vision_toolkit (HAL层工具包)
- 定位: 这是 SDK 的 硬件抽象层 (HAL) 和基础工具层 ,位于架构最底层(深蓝色部分,标注
HAL)。 - 核心功能: 提供与硬件交互和数据流基础操作的功能。它负责从物理接口读取原始数据,进行初步处理(如编解码),通过回调与缓冲机制将数据传递给上层算法层,同时提供相机设备的抽象与控制。
- 包含的关键模块/功能:
- 读取 (
Read): 从硬件接口获取原始事件数据流。 - 解码器 (
Decoder): 如果事件数据以特定格式编码传输,负责将其解码为可处理的格式。 - 回调 (
Callback): 以回调方式将采集/解码后的数据异步推送给上层,避免应用层主动轮询。 - 相机 (
Camera): 相机设备的抽象与控制(如设备发现、打开/关闭、参数配置等)。 - 写入 (
Write): 用于将处理后的数据或控制指令发送回硬件(如果支持)。 - 编码器 (
Encoder): 用于将处理后的数据或录制的流编码为特定格式。 - 缓冲 (
Buffer): 数据缓冲区管理,负责数据搬运与内存复用,平滑采集与处理之间的数据流。
- 读取 (
- 支持的硬件接口: 框图底部
interfaces层列出了USB、MIPI等(...表示更多接口),toolkit 将不同物理接口抽象为统一后端,屏蔽传输层差异。 - 作用: 它抽象了底层硬件与传输接口的细节,为上层算法层 (
shimetapi_Hybrid_vision_algo) 提供了一个统一的、相对硬件无关的接口来访问和控制事件相机数据流。它处理底层的通信协议、数据搬运和基础格式转换。
总结两者的关系与协作:
shimetapi_Hybrid_vision_toolkit (工具包/HAL层):- 直接与硬件和底层系统SDK 打交道。
- 负责获取原始数据 (
Read),进行基础格式转换 (Decoder),通过回调交付数据(Callback)、缓冲管理数据流(Buffer),并输出数据(Write,Encoder)等。 - 向上层 (
algo层) 提供 标准化的数据访问接口 。
shimetapi_Hybrid_vision_algo (算法层):- 构建在
toolkit层之上。 - 接收来自
toolkit层的 标准化事件数据流 。 - 利用其包含的高级算法模块 (
Denoise,Interpolation,CV/CV3D等) 对数据进行 处理、增强、分析和理解 。 - 将处理后的、更有价值的信息提供给最上层的应用程序 (
APP)使用(如显示UI、Player播放、Recorder录制、Analyzer分析)。 - 兼容不同厂商接口(目前支持ShiMetaPi HV Toolkit和Openeb)。
- 构建在
