ShimetaPi丨事件相机新版SDK发布:支持Python调用,可降低使用门槛

一、简单回顾一下什么是事件相机?

事件相机(Event-based Camera)是一种受生物启发的新型视觉传感器 ,与传统帧式相机有着根本性区别。正如文档所述:"相比于以固定帧率采集图像的标准相机,它具有低延迟、高动态范围、低功耗、高时间分辨率等特点。"

核心工作原理 :事件相机的每个像素都有独立的光电传感模块,当该像素处的亮度变化超过设定阈值时,就会生成、输出事件数据。这种成像范式的好处是大大减少冗余数据,提高后处理算法的计算效率。

从技术指标看,事件相机的优势显著:

  • 动态范围超过120dB,而传统帧相机通常只有60dB

  • 微秒级时间分辨率,等效帧率超过200,000fps

  • 功耗低至1mW级别,适合边缘设备部署

  • 数据量减少99%,只传输变化信息

二、灵光一号:RGB+EVS视觉融合相机

"灵光一号"事件相机通过在同一颗芯片上集成RGB传感器和事件传感器,实现了两种视觉信息的同步捕捉和处理。RGB传感器负责捕捉高质量的彩色图像,而事件传感器则专注于捕捉场景中的动态变化,以事件流的形式输出。

这种融合方式不仅保留了RGB相机丰富的色彩信息,还充分发挥了事件相机的高动态范围、低延迟和低功耗等优点。

三、SDK基础信息介绍

HV Toolkit 是 ShiMetaPi 推出的 专为事件相机(DVS)设计的高性能C++ SDK,支持事件数据流(EVS)和图像数据流(APS)的实时采集与处理,兼容EventCD格式,适用于高性能事件相机开发。

技术规格明细表

|--------|--------|--------------------------|
| 类别 | 项目 | 规格参数 |
| 事件相机参数 | EVS分辨率 | 768 × 608(子采样:384 × 304) |
| 事件相机参数 | APS分辨率 | 768 × 608(可调) |
| 事件相机参数 | 数据传输 | USB 3.0 高速传输 |
| 事件相机参数 | 事件格式 | 兼容 EventCD / EVT2.0 |
| 系统要求 | C++标准 | C++17 或更高版本 |
| 系统要求 | CMake | 3.10 或更高版本 |
| 系统要求 | 操作系统 | Ubuntu 22.04 |

2、依赖说明

  • OpenCV:图像处理与可视化(libopencv-dev

  • libusb-1.0:USB设备通信(libusb-1.0-0-dev

  • Hybrid Visoin SDK: ShimetaPi API

  • Openeb:第三方依赖库(可选)

四、支持Python调用,提升使用效率

1、构建基于HV项目

复制代码
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install build-essential cmake libusb-1.0-0-dev libopencv-dev

# 给脚本添加执行权限
chmod +x install_libs.sh

# 安装到默认位置 (/usr/local)
./install_libs.sh

# 或者安装到指定位置
./install_libs.sh /path/to/install

2、运行示例程序

2.1 hv_toolkit_get_started

复制代码
# 进入示例程序目录cd sample/hv_toolkit_get_started

# 构建示例程序
mkdir build && cd build
cmake ..
make 
# 运行示例程序
./hv_toolkit_get_started

程序运行截图

2.2 hv_camera_record

复制代码
# 进入示例程序目录cd sample/hv_camera_record
# 构建示例程序
mkdir build && cd build
cmake..
make
# 运行示例程序
./hv_camera_record events.raw video.avi 5

程序运行截图

2.3 hv_toolkit_viewer

复制代码
# 进入示例程序目录cd sample/hv_toolkit_viewer
# 构建示例程序
mkdir build && cd build
cmake..
make
# 运行示例程序
./hv_toolkit_viewer ../../hv_camera_record/build/events.raw

# 进入示例程序目录 cd sample/hv_toolkit_viewer # 构建示例程序mkdir build && cd build cmake.. make# 运行示例程序 ./hv_toolkit_viewer ../../hv_camera_record/build/events.raw

程序运行截图

3、Python 示例程序

3.1 安装 Python 依赖
复制代码
# 安装 Python 基础依赖
sudo apt update
sudo apt install -y python3-opencv python3-pip python3-numpy

# 安装 Metavision SDK(如果还没有安装)
curl -L https://propheseeai.jfrog.io/artifactory/api/security/keypair/prophesee-gpg/public >/tmp/propheseeai.jfrog.op.asc
sudo cp /tmp/propheseeai.jfrog.op.asc /etc/apt/trusted.gpg.d
sudo add-apt-repository 'https://propheseeai.jfrog.io/artifactory/openeb-debian/'
sudo apt update
sudo apt -y install metavision-openeb

# 安装 h5py(Metavision 依赖)
pip3 install h5py --user
3.2 配置 USB 设备权限
复制代码
# 赋予USB设备访问权限(相机连接后执行)
sudo chmod -R 777 /dev/bus/usb/
3.3 运行 Python 示例
1) 编解码器测试(无需硬件)
复制代码
cd sample/python/hv_toolkit_encoder
python3 test_codec.py
2)相机入门示例(需要相机)
复制代码
cd sample/python/hv_toolkit_get_started
python3 hv_toolkit_get_started.py
# 按 q 键退出
3)录制示例(需要相机)
复制代码
cd sample/python/hv_toolkit_record
python3 recode_test.py
# 录制15秒或按 Ctrl+C 停止
4)事件读取示例(需要录制的事件文件)
复制代码
cd sample/python/hv_toolkit_reader_test
python3 hv_toolkit_reader_test.py ../hv_toolkit_record/recorded_events.raw
# 按 q 键退出

3.4 构建基于Openeb项目

metavision_sdk_test示例程序

复制代码
# 安装openeb SDK
curl -L https://propheseeai.jfrog.io/artifactory/api/security/keypair/prophesee-gpg/public >/tmp/propheseeai.jfrog.op.asc
sudo cp /tmp/propheseeai.jfrog.op.asc /etc/apt/trusted.gpg.d
sudo add-apt-repository 'https://propheseeai.jfrog.io/artifactory/openeb-debian/'
sudo apt update
sudo apt -y install metavision-openeb

# 使用openeb打开相机需要先安装我们的相机插件# 我们已经将相机插件编译成lib,使用如下命令复制到metavision的相机搜索路径下
sudo cp ./lib/libhal_camera_hal.so /usr/local/lib/metavision/hal/plugins/
# 进入示例程序目录cd sample/metavision_sdk_test
# 构建示例程序
mkdir build && cd build
cmake..
make
# 运行示例程序
./metavision_sdk_test

程序运行截图

五、立即开始使用

安装方式

bash

复制代码
pip install shimetapi-hybrid-vision
conda install -c shimetapi hybrid-vision

系统要求

  • Ubuntu 18.04+ / Windows 10+

  • Python 3.7+

  • OpenCV 4.0+

资源获取

技术支持

相关推荐
南方的狮子先生5 小时前
【深度学习】卷积神经网络(CNN)入门:看图识物不再难!
人工智能·笔记·深度学习·神经网络·机器学习·cnn·1024程序员节
「QT(C++)开发工程师」6 小时前
VTK开源视觉库 | 行业应用第一篇
linux·qt·物联网·计算机视觉·信息可视化·vtk
howard20056 小时前
神经网络初探
深度学习·神经网络·keras
小五1276 小时前
U-net系列
深度学习·目标检测·目标跟踪
zzZ65659 小时前
U-net 系列算法总结
人工智能·深度学习·机器学习
AI科技星9 小时前
基于空间螺旋运动假设的水星近日点进动理论推导与验证
数据结构·人工智能·经验分享·算法·计算机视觉
咩?9 小时前
10.27-yolov5代码
人工智能·python·深度学习
合才科技10 小时前
神经网络如何预测仓库拥堵?
人工智能·深度学习·神经网络
文火冰糖的硅基工坊10 小时前
[人工智能-大模型-115]:模型层 - 用通俗易懂的语言,阐述神经网络为啥需要多层
人工智能·深度学习·神经网络