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

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

相关文章

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

基于@RequestParam注解之Spring MVC参数绑定的利器

《基于@RequestParam注解之SpringMVC参数绑定的利器》:本文主要介绍基于@RequestParam注解之SpringMVC参数绑定的利器,具有很好的参考价值,希望对大家有所帮助... 目录@RequestParam注解:Spring MVC参数绑定的利器什么是@RequestParam?@

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

JAVA虚拟机中 -D, -X, -XX ,-server参数使用

《JAVA虚拟机中-D,-X,-XX,-server参数使用》本文主要介绍了JAVA虚拟机中-D,-X,-XX,-server参数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录一、-D参数二、-X参数三、-XX参数总结:在Java开发过程中,对Java虚拟机(JVM)的启动参数进