EVS相机|一文了解索尼EVS传感器原理、芯片架构
引言
基于事件的(Event-Based,EB)视觉传感器像素单独检测像素时域亮度对比度是否超过预设的相对阈值,以追踪相对光变化(Contrast Detection,CD),并定义采样点无关于帧的测量绝对能量(Exposure Measurement,EM)。由于记录数据的时间精度和固有抑制,固有抑制时间冗余导致后处理成本的降低、宽场景的动态范围等特性,EB传感器在高速、低功耗机器视觉中越来越受欢迎。
本文基于Sony官网对于EVS相机的表述以及Sony发表的EVS相机论文,对EVS相机的原理、Sensor架构进行展开描述,对论文感兴趣的童鞋可以在我的Github中AdasTechPaper中阅读。
本文首发于公众号与个人博客ADAS之眼,其他平台同步更新。
1.概述
1.1 基本概念
基于事件的视觉传感器(EVS,Event-Based Vision Sensor)是一种生物启发的传感器,通过将输出数据限制为每个像素的亮度变化,并结合坐标和时间信息,实现低延迟的高速数据输出。它们以物体的运动为重点,捕捉物体的详细运动,更适合用于开发作为机器的“眼睛”,尤其在自动驾驶领域。
与传统基于帧的图像传感器相比,EVS具有极快的运动捕捉,在标准的光学设置下帧率也可以达到10000fps,此外还具有高动态范围、低功耗且对片上存储需求较低。传统相机与EVS传感器图像的典型对比如下:
1.2 论文主要工作
时间对比度(CD)的信息以“事件”的形式编码:数据包含原始像素的坐标、时间戳和对比度极性。为了最大化单个像素以高精度采集信息,早期时间戳以及高度处吞吐量对于维持事件的时序非常重要。在之前的工作中,不同权衡事件精度以支持更简单的体系结构和降低输出(事件帧)的比特率的方案已经被提出。然而,这些方法与异步EB像素阵列并不能很好的匹配,限制了传感器在高速下的应用性。比如,快速时间编码结构光深度传感,高速具有kHz更新率的跟踪和光流,或可见光通信(visible-light Communication,VLC)。但本文提出的减少位/事件数的方法是可以设计成不影响事件数据时间精度的。
另外基于事件视觉传感器,由于复杂的像素电路,长期以来一直是大像素尺寸和低分辨率。受益于直接晶圆粘合技术以及堆叠技术,实现了在背照式CIS的光子的高效转移,因此,在CMOS上实现高密度的模拟信号处理以实现具有竞争力的分辨率和尺寸具有了可能。本文介绍了一个3D堆叠EB视觉传感器,使用像素级Cu-Cu键合互连,实现4.86μm像素间距,高清分辨率低于½”光学格式。像素内电路通过失速安全低延迟接口与异步行选择树。来自活动行的事件立即被加上时间戳并被安排用于比特有效的矢量读出。数字事件信号处理(ESP)流水线具有可编程事件速率控制器(ERC)以及用于动态比特压缩的事件数据格式化器(EDF)。并行输出具有数据封装的接口(EOI)将事件数据直接提供给处理器,或连接到外部MIPI或USB收发器。
2.基本原理
2.1 人眼模型
EVS 旨在模拟人眼感知光线的方式。人眼的工作方式是,当视网膜上的受体暴露在光线下时,会将其转换为视觉信号发送到大脑。随后的神经元细胞识别明暗,信息通过视网膜神经节细胞传递到大脑的视觉皮层。
在 EVS 中,入射光在成像器的光接收电路中转换为电信号。信号通过放大器单元并到达比较器,在比较器中差分亮度数据被分离并分为正信号和负信号,然后将其处理并作为事件输出。
2.2 事件捕捉
在基于事件的视觉传感器中,对每个像素检测到的亮度变化进行过滤,以仅提取超出预设阈值的亮度变化。然后,该事件数据在输出之前的像素坐标、时间和极性信息组合。每个像素异步运行,独立于其他像素。下图说明了传感器如何捕捉球的运动:
2.3 Pixel原理
每个像素由光接收和亮度检测单元组成。入射光在光接收单元中被转换成电压。亮度检测单元中的差分检测电路检测参考电压和转换后的入射光电压之间的变化。如果正方向或负方向的变化大于设定的阈值,则比较器将其识别为事件并输出该数据。简化的框架如下所示:
更具体的Pixel电子框架如下所示:
上图显示了一个像素框图,说明了基于对比度检测(Contrast Detection, CD)电路和异步读出接口和状态逻辑(Interface and State-logic,ISL)的CIS前后端块,它带有Cu-Cu内联的CMOS异步增量调制(asynchronous delta-modulation, ADM)。CON/COFF的输入锁存器在比较器切换缓慢的情况下降低功率,并防止切换点周围的振铃。门控锁存器(K)可以鲁棒的进行事件注册来防止延迟regx生成和由此产生的事件丢失;行读出开始后的事件驱动在当前周期一结束(去除acky)就被锁存用于后续读出。只有输入锁存器中存储有事件的像素,本地生成GTRLAOU以在接收acky时重新初始化其CD电路,从而消除了对逐列ackx信号的必要性,并简化了读出控制逻辑、列读出电路和像素阵列信号输出。
其中,LogI/V电路以及ISL状态逻辑逻辑电路如下所示:
3.芯片架构
3.1 Sensor Block
下图显示了芯片的框图,说明了像素阵列读出以及事件数据经由ESP Pipeline到输出数据接口的框架:
活动行选择的操作是流水的,新行选择与前一行数据的处理是并行的。异步到同步接口是由像素远端行的超时列监督,确保以正确的时序将VecX数据同步到与ESP Pipeline,并且防止由于异步数据路径导致的运行时间的事件丢失。时间戳会附加在事件上一起发送到输出数据接口。这种读出结构保证了像素阵列的事件时间精度。典型的像素激活到时间戳输出的延迟在60-70ns,另外行到行的选择时序约120ns的延迟。
3.2 事件信号处理
下图显示了ESP管道和输出接口的框图:
ESP功能包括地址过滤、吞吐量调节和数据格式化。数字读出(RO)块逐行同步以及像素事件数据打时间戳,并且将它们分为32个事件向量。基于LUT的地址过滤器去除所选事件,例如,来自缺陷像素的事件。
ERC块允许通过在超过该值的峰值上动态应用数据下降来将输出事件速率限制为预定义的极限速率。极限速率可在每秒5k事件(EPS)和1GEPS之间的大范围内编程。ERC持续监控FIFO缓冲器的输入和输出速率,并在闭环配置中,通过移除事件来调节瞬时FIFO输出速率,遵循结合空间和时间标准的各种丢弃策略。
基于ROI的投放方案将像素阵列细分为40×23的32×32像素块,这些像素块可以编程为每个块执行64个可选称重投放速率中的不同一个,从而实现ERC操作的特定应用优化(例如,最好是在汽车场景中从天空中投放事件)。EDF块将事件流转换为矢量化数据格式(EVT)。高级EVT格式结合了差分编码和矢量化编码,通过利用事件之间的空间和时间关系来动态优化每个事件的比特数。
在吞吐量最高的情况下,平均1.6b对事件的全部时间和空间信息进行编码。EOI管理芯片外数据传输,提供了对本机管理多个事件粒度的持久性支持。除了16b并行100MHz同步模式外,该接口还可以配置为分组模式,以更好地适应USB/MIPI收发器。时钟门控降低EOI功耗。ESP集成了管道沿线不同位置的自动测试模式生成器(ATPG)以简化芯片验证。
4.工作总结
4.1 传统传感器对比
下图展示了传感器的典型应用:
- 传统相机应用,约~1lux的亮度场景选,演示了在实验室中测试的与传统相机低光对比度灵敏度结果。
- 3D视觉应用对比,由于时间的高精度、低延迟以及高速读出时间的操作允许传感器在时域编码结构光Pattern以实现3D视觉应用。
4.2 其他工作对比
文末作者给出了与其他厂家sensor的对比,如下:
当然,论文和实际一般存在gap,但从数据上来看,sony的evs sensor从工艺、数据速率、动态范围上都有较大的提升。
4.3 工作总结
本文设计并制造了一个分辨率为1280x720、1/2英寸的EB视觉传感器,该传感器在40nm CMOS结合90nm BI CIS,完成Cu-Cu键合晶片堆叠上,具有4.86um的像素大小,实现了77%以上的填充因子。
该芯片功耗为32mw(静态)至84mw的高活性(300EPS)。具有1μs时间戳的读出处理像素阵列中高达2.5GEPS的内部峰值,并在芯片输出时保持1.066GEPS。每个事件的比特被动态压缩到1.6b,同时保持完整的空间和时间信息。由于良好的低光CIS性能(40mlx LLCO)和在高光下不存在寄生光电流的泄漏活动,实现了宽DR(>124dB)。在照度水平>10lux时,典型的阶跃响应潜伏期约为200μs。
5.结束语
今天我们给大家介绍了Sony的基于EVS芯片论文,讲解了EVS传感器的基本测量原理、芯片pixel原理、架构等。希望今天的介绍以及科普对您有所帮助。
如果您对ADAS感兴趣,欢迎关注我的公众号、知乎、CSDN等,同时发表文章中使用源码、文章会在我的GitHub进行开源(网页About Me中有公众号、Github等信息)