【事件相机整理】硬件介绍、参数与性能指标

2024-03-26 16:18

本文主要是介绍【事件相机整理】硬件介绍、参数与性能指标,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文仅用于自己学习整理,不保证内容的完整性和准确性,仅供其他朋友参考。转载请注明出处。

1. 总线与感光器件

1.1 总线:AER

AER 全称 Address-Event-Representation,是一种在生物启发芯片之间传输脉冲信号的通信协议。用于传输事件数据。
Standard address event representation (AER) protocol. The address of the spiking neuron is encoded as a unique binary address, which is broadcasted on a digital bus. The decoder on the receiver de- codes the address and directs the signal to the appropriate location.Standard address event representation (AER) protocol. The address of the spiking neuron is encoded as a unique binary address, which is broadcasted on a digital bus. The decoder on the receiver de- codes the address and directs the signal to the appropriate location.

1.2 传感器形式:ATIS, DAVIS, DVS

DVS: Dynamic Vision Sensor,最基本的感受器,当亮度发生一定变化时产生事件。并不提供绝对亮度。一般来说提到的“事件”指的就是“纯DVS”输出的数据;

ATIS: Asynchronous Time Based Image Sensor,稍微早一些的事件相机采用这种传感器,能够提供事件信息和绝对亮度。简单来说是把每个DVS做到一个像素中,用于触发输出图像绝对值(Absolute Intensity)。具体原理并不是很了解,但存在一些缺点:1. 像素面积较大(因为融入了DVS做触发),2. 在光线较暗情况下触发速度慢,容易在总线上发生数据冲突

DAVIS: Dynamic and Active Pixel Vision Sensor,能够提供事件信息和绝对亮度,现在大多数提供绝对亮度的事件相机是这种方式。原理是将传统动态像素传感器(Active Pixel Sensor)和DVS做到一个像素,由DVS进行触发。由于电路原理,所占用的面积仅增加了5%。优点是:1. APS可以设置恒定速度(帧率)触发,也可以由DVS触发;2. 面积较小。缺点是:APS的动态响应相对较弱(55dB)

一般而言,DVS常包括了ATIS和DAVIS,且“事件相机”这一词也不区分是否包含完整绝对值图像。

2. 重要参数

2.1 分辨率

分辨率是使用者最在意的一个参数,一般而言DVS的分辨率不高,但也在快速提升,目前最高的已经能达到 1280 × 960 1280\times960 1280×960。但大多数还是在1000以下。

2.2 变化阈值C (Contrast sensitivity)

每个像素是否产生事件,是这个像素对应的亮度变化是否达到了一定的阈值,这个阈值一般是10%~50%的当前亮度,且大多数可以自行设定。阈值是个相对值也造就了DVS在光线极强极弱的情况下仍能感受到变化的原因(140dB)。从原理上来说,类似于一个电路中的比较器,达到上下阈值时重置并产生事件。
在这里插入图片描述

2.3 Fill Factor (感光面积)

前面提到一个像素中只有一小部分是DVS,且DVS中只有一部分面积用于接收光子。Fill Factor表示整个芯片区域上,有多大的面积能够感受光子。一般现有的传感器在20%左右,即真实世界反射过来100个光子大概只有20%被接收到。这个参数我认为应该是越大越好,但其实影响不大。

2.4 Pixel Size (像素大小)

从使用者角度来说,并不在意一个像素的大小。但像素的大小决定了芯片的大小,进而极大地影响了芯片硅的成本。

2.4 其他一些参数

功耗:一般都是 m W mW mW 级,从十几到几百不等,但几乎不会达到 W W W
延迟:一般都是 μ s \mu s μs 级,从个位数到上百不等,但一般不会超过100 μ s \mu s μs
动态范围:一般在 120 d B 120dB 120dB以上,性能强的能达到 140 d B 140dB 140dB,弱的也在 50 d B 50dB 50dB以上达到普通相机水平
噪声强度:一般指 25 ° 25\degree 25°下平均每像素每秒产生的噪声数,一般在 0.03 − 0.2 0.03-0.2 0.030.2之间,即每个像素大概1s内有零点几个发生的事件是噪声导致。

3. 噪声模型

3.1 产生噪声的原因

目前学术界对噪声的产生原因并没有完整的研究,只能给出一些造成的产生原因。

自然场景反射光子的不稳定:即一个像素对应的自然场景反射的光子不均匀,导致传入感光器件的光子不稳定,造成事件的不稳定,这个没法避免

变化阈值C的不稳定:由于前面介绍,事件产生是变化达到了当前亮度的一定百分比的C,类似于一个比较电路,那么电路中电流的不稳定会造成阈值的不稳定。实际比较的阈值一般认为是以理论值C为期望的正态分布,标准差 σ \sigma σ一般在 2 % − 4 % 2\%-4\% 2%4%

固定模式噪声 (FPN):这类噪声是按空间分布的,一般是制造时产生的不一致性所引起的。更多查Wiki吧:https://en.wikipedia.org/wiki/Fixed-pattern_noise

总线冲突:运动速度较快时,大量数据在总线发生冲突,造成一定的错误。

3.2 噪声模型

既然学术界连产生原因都没分析透彻,那么噪声模型也只是不完善的。为何要考虑噪声模型?一是使用时可以根据噪声模型进行建模,取得一定抗扰性能的算法分析;二是有许多仿真器和模拟器,在生成数据时根据模型生成噪声从而更加真实。

常见的噪声模型用概率形式表示:例如一个事件观测到时,认为他是一个高斯分布和均匀分布的叠加,高斯分布的期望为真实值,而均匀分布代表没有事件时产生噪声的概率。

去噪声的方法:存在许多去噪声的方法,但核心是围绕保证快速实时性,因为数据到来很快且多,如果不是这种高速算法,那么就没有什么意义了。个人见到的去噪方法有:1.窗口抑制,即当一个事件发生后周围一个窗口(空间窗口,多为一圈即8个像素)内短时间内的事件认为是噪声;2.倔强时间法,refractory period,即认为当一个事件发生后,这个像素在短时间内产生的接下来的事件都是噪声,这种方式可以避免高速运动时同一个位置产生数据太密。

4. 综合评价

综合评价就根据之前的参数进行分析吧。列举一个表格,会给出参数,可以横向对比。以国产的CelePixel CeleX-V为例,我们发现它在分辨率和数据输出类型上吊打绝大多数DVS,但相应的噪声和功耗高一些、感光面积相对较小。
在这里插入图片描述当然对大多数人来说最重要的还是价格,附个人查询表格一张,仅供参考
在这里插入图片描述

这篇关于【事件相机整理】硬件介绍、参数与性能指标的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/849089

相关文章

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

详解Spring Boot接收参数的19种方式

《详解SpringBoot接收参数的19种方式》SpringBoot提供了多种注解来接收不同类型的参数,本文给大家介绍SpringBoot接收参数的19种方式,感兴趣的朋友跟随小编一起看看吧... 目录SpringBoot接受参数相关@PathVariable注解@RequestHeader注解@Reque

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

spring 参数校验Validation示例详解

《spring参数校验Validation示例详解》Spring提供了Validation工具类来实现对客户端传来的请求参数的有效校验,本文给大家介绍spring参数校验Validation示例详... 目录前言一、Validation常见的校验注解二、Validation的简单应用三、分组校验四、自定义校

SpringBoot中Get请求和POST请求接收参数示例详解

《SpringBoot中Get请求和POST请求接收参数示例详解》文章详细介绍了SpringBoot中Get请求和POST请求的参数接收方式,包括方法形参接收参数、实体类接收参数、HttpServle... 目录1、Get请求1.1 方法形参接收参数 这种方式一般适用参数比较少的情况,并且前后端参数名称必须

Python中的异步:async 和 await以及操作中的事件循环、回调和异常

《Python中的异步:async和await以及操作中的事件循环、回调和异常》在现代编程中,异步操作在处理I/O密集型任务时,可以显著提高程序的性能和响应速度,Python提供了asyn... 目录引言什么是异步操作?python 中的异步编程基础async 和 await 关键字asyncio 模块理论

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数