01-ShiMetaPi Hybrid vision SDK 介绍
语言: 中文 | English
📋 概述
HVAlgo 是ShiMetaPi 专为事件相机(Event Camera)设计的高性能算法库,提供了多种先进的事件去噪、计算机视觉和图像恢复算法。该库基于ShiMetaPi Hybird Vision SDK 构建,支持实时事件流处理,适用于机器人视觉、自动驾驶、高速运动分析等应用场景。
ShiMetaPi Hybrid Vision SDK 由 hybrid_vision_toolkit 和 hybrid_vision_algo 两个独立的SDK组成,分别实现视觉融合相机的接口控制和算法处理。
📋 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) 和基础工具层 ,位于算法层之下(深蓝色部分)。
- 核心功能: 提供与硬件交互和数据流基础操作的功能。它负责从物理接口读取原始数据,进行初步处理(如编解码),并将数据传递给上层算法层,同时也接收上层指令控制硬件。
- 包含的关键模块/功能:
- 读取 (
Read
): 从硬件接口(如 USB)获取原始事件数据流。 - 写入 (
Write
): 用于将处理后的数据或控制指令发送回硬件(如果支持)。 - 设置 (
Setting
): 配置相机参数(如分辨率、灵敏度等)。 - 解码器 (
Decoder
): 如果事件数据以特定格式编码传输,负责将其解码为可处理的格式。 - 编码器 (
Encoder
): 用于将处理后的数据或录制的流编码为特定格式。
- 读取 (
- 作用: 它抽象了底层硬件的细节,为上层算法层 (
shimetapi_Hybrid_vision_algo
) 提供了一个统一的、相对硬件无关的接口来访问和控制事件相机数据流。它处理底层的通信协议、数据搬运和基础格式转换。
总结两者的关系与协作:
shimetapi_Hybrid_vision_toolkit (工具包/HAL层):
- 直接与硬件和底层系统SDK 打交道。
- 负责获取原始数据 (
Read
),进行基础格式转换 (Decoder
),控制硬件(Setting
),并输出数据(Write
,Encoder
)等。 - 向上层 (
algo
层) 提供 标准化的数据访问接口 。
shimetapi_Hybrid_vision_algo (算法层):
- 构建在
toolkit
层之上。 - 接收来自
toolkit
层的 标准化事件数据流 。 - 利用其包含的高级算法模块 (
Denoise
,Interpolation
,CV/CV3D
等) 对数据进行 处理、增强、分析和理解 。 - 将处理后的、更有价值的信息提供给最上层的应用程序 (
APP
)使用(如显示UI
、Player
播放、Recorder
录制、Analyzer
分析)。 - 兼容不同厂商接口(目前支持ShiMetaPi HV Toolkit和Openeb)。
- 构建在