自动驾驶「感知」的革新?从人脑和蛙眼得到的启示

智能汽车 自动驾驶 汽车软硬件
需要处理的图像像素过多与芯片算力不足的矛盾,已经成为了当前制约自动驾驶发展的瓶颈之一。

 ​

本文转自雷锋网,如需转载请至雷锋网官网申请授权。

需要处理的图像像素过多与芯片算力不足的矛盾,已经成为了当前制约自动驾驶发展的瓶颈之一。

为了解决上述问题,事件相机与脉冲神经网络的结合或许会是一个可行的解决方案。

卷积神经网络是目前图像目标检测算法的重要手段。以ResNet-152为例,一个152层的卷积神经网络,处理一张224*224大小的图像所需的计算量大约是226亿次,如果这个网络要处理一个1080P的30帧的摄像头,那么它所需要的计算量将高达每秒33万亿次,十分庞大。

以当前典型的百度的无人车为例,计算平台约为800TOPS,其中1TOPS代表处理器可以每秒钟进行一万亿次操作。

假设一个摄像头所需要的算力为33TOPS,更遑论无人车动辄配置十余个摄像头,以及多个激光雷达和毫米波雷达。

为了准确检测行人并预测其路径,芯片往往需要多帧处理,至少是10帧,也就是330毫秒。这意味着相关系统可能需要数百毫秒才能实现有效探测,而对于一辆以60公里每小时行进中的车辆来说,330毫秒的时间就能行驶5.61米。

如果为了保证足够的安全,将帧数增加到每秒30帧,图像数据很可能让自动驾驶芯片不堪重负。

针对算力不足的问题,提高算力是业内玩家最容易想到的方法。然而,目前芯片的制程正在不断压缩,在极小尺寸下,量子遂穿效应逐渐显著,摩尔定律逐渐失效,芯片算力的提升也在面临巨大挑战。

同时,算力的提高也伴随着功耗的提高,但在新能源的大背景下,分配给芯片的能量越多,续航能力就会受到越大的影响。

算力与能耗正在逐渐成为自动驾驶发展的一对矛盾。

那么我们能不能另辟蹊径呢?仿生学也许能给我们带来新的思路。

对于人类来讲,在静止的画面中注意到运动物体并不难。对于青蛙来说,它甚至只能看到运动的物体,对静止的背景画面视而不见。

针对生物这一特性,研究者们设计出一种事件相机。

传统相机以固定帧率重复扫描整个场景,无论场景中是否有目标活动,均忠实的输出由一帧帧图片组成的视频流。毫无疑问,这种连续的视频流存在高度的信息冗余,大量无用的背景图片也被送入卷积神经网络进行运算。

事件相机则不同,事件相机仅记录亮度“变化”的像素点。

传统帧相机与事件相机输出的效果对比如下图所示,即传统的帧相机输出为整个视场的全部信息(左图),而事件相机只捕捉场景中运动的手臂,如(右图)所示。

基于重点关注运动目标这一特点,事件相机也许能在自动驾驶领域大展身手。

由于事件相机剔除了静止的背景图片,所以每帧产生的数据量大大减少,达到几十kb的级别。

相对于传统相机,事件相机还有高帧率、低功耗、高动态范围等优点:


  • 1)高帧率。实际上,所谓的“帧率”概念,对事件相机是不存在的。事件相机每个感光单元都可以以异步的形式来记录像素亮度的变化,无需等待传统相机每秒30次的“曝光”时机。基于没有曝光的特点,事件相机的输出频率可以高达每秒100万次,远远超过每秒30次传统相机的帧率。
  • 2)低时延。事件相机仅仅传输亮度变化,从而避免了大量冗余数据的传输,因此能耗仅用于处理变化的像素。大多数事件相机的功耗约在 10 mW 级,而有部分相机原型的功耗甚至小于10 μW,远远低于传统基于帧的相机。
  • 3)高动态范围。事件相机的动态范围高达140 dB,远远优于 60 dB 的帧相机。这使得事件相机既能在光照条件良好的白天工作,也能在光线较暗的夜晚采集视场中的动态信息。这是由于事件相机每个像素的光感受器以对数方式独立工作,而非全局快门工作模式。因此,事件相机具有与生物视网膜相似的特性,其像素可以适应非常暗和非常亮的感光刺激。

下面两张图展现了事件相机的关注运动物体和高动态范围的特性。传统相机在光线较暗的情况下,难以辨识图片中右边的行人。然而事件相机却能够十分清晰的捕捉到右边的行人,并同时滤出图像右下静止的车辆信息。

传统相机

事件相机

在自动驾驶领域,事件相机相对于传统相机具有巨大的优势,不过需要注意的是,事件相机无法提取出距离信息,需要激光雷达配合判断目标距离。

或许会有人感到疑惑:事件相机这么好,为什么没有大量应用在自动驾驶领域呢?

实际上,相机获取信息仅仅是第一步,后续事件相机信息的处理则是更为关键的一环。

如下图所示,传统相机的输出是一帧帧的静止图片,而事件相机则是一个个事件(Event)流。

一般来说,目前的神经网络都专注于如何提取每帧静止图片中的行人、汽车等目标,如YOLO,resnet等算法。针对基于时间戳的事件流,目前尚无有效的算法进行目标识别。

而事件流处理算法的缺失,与当前的神经网络结构是分不开的。

当前主流的神经网络被称为第二代人工神经网络,以精确的浮点运算为基础,缺失了在自然界中最重要的一个因素:时间。对于神经网络而言,输出的结果会和输入一一对应,任何时候输入相同的图片,神经网络都会输出一样的结果。

然而真实的大脑,是以这种浮点运算为基础的吗?显然不是,真实的大脑是以脉冲为基础的,以脉冲传递和处理信息。

这种以脉冲传递为基础的神经网络是脉冲神经网络(spiking neural network,SNN),被誉为第三代人工神经网络。基于脉冲神经网络结构设计的芯片也被称为类脑芯片。

脉冲发生的时刻携带着重要信息,脉冲神经网络天然具备对时序信息处理的能力,这与事件相机基于时间戳的事件流输出十分吻合。

此外,脉冲神经网络还具有事件驱动、异步运算、极低功耗等特性。


  • 1)事件驱动。在我们的大脑中,同一时刻大约有90%以上的神经元都是沉默的。也就是说,当没有事件输入的时候神经元是不活动的。这一特点也使得事件相机的事件流的输出与SNN十分契合,同时功耗也极大降低。
  • 2)异步运算。脉冲神经网络不存在“主频”的概念。传统的计算机都需要一个时钟,以确保所有的操作都在时间步上进行,这个时钟的频率被称为主频。目前主流的计算机主频都达到每秒1GHz以上。然而,以IBM的神经态硬件TrueNorth为例,100Hz左右的脉冲发放率即可完成图像识别、目标检测等任务。当前通用的计算机基本是冯·诺依曼结构,这种结构下,随着CPU的运算速度远远超过内存的存取速度,已然形成难以逾越的计算瓶颈。然而,脉冲神经网络所有的内存和运算都体现在神经元的异步脉冲之中,有很大希望突破目前计算机运算能力瓶颈。
  • 3)极低功耗。在2016年著名的人机围棋大战中,Google公司的AlphaGo系统每局围棋博弈的平均耗电费用高达3000美元。而作为脉冲神经网络架构的人脑,功率仅仅为20W左右。此前,有学者将目标检测中的经典算法YOLO进行脉冲化,在完成相同任务的情况下,功耗降低了280倍左右,同时速度提高了2.3到4倍。

总的来说,事件相机和脉冲神经网络的结合,正如人类用眼睛和大脑观察四周:自动忽略周围静止的事物,对突然出现的运动物体予以重点关注和运算。

当前学术界已经掀起了对脉冲神经网络研究的热潮,但由于神经态硬件的发展正处于起步阶段,并且人们对于大脑的工作机理认识还不够全面,目前尚无基于脉冲神经网络在商业上的应用。

随着人们对大脑认识的深入,以及国外的TrueNorth、SpiNNaker、Loihi和国内清华的天机芯(Tianjic)和浙大的达尔文等类脑芯片的研发。我们也期待,事件相机与脉冲神经网络的结合能够给自动驾驶行业带来新的突破。

责任编辑:张燕妮 来源: 雷锋网
相关推荐

2023-11-29 11:28:21

智能视觉

2022-12-09 10:04:20

自动驾驶技术

2023-03-14 09:40:33

自动驾驶

2023-05-06 10:02:37

深度学习算法

2023-04-11 09:57:26

自动驾驶骑车

2023-07-27 09:45:39

自动驾驶技术

2018-09-04 19:30:29

人工智能自动驾驶机器学习

2022-07-12 09:42:10

自动驾驶技术

2019-09-19 14:10:12

人工智能物联网自动驾驶

2014-04-02 09:21:52

2024-01-05 08:30:26

自动驾驶算法

2023-08-10 09:49:57

自动驾驶视觉

2023-06-02 10:33:35

2022-07-13 10:20:14

自动驾驶3D算法

2023-07-17 11:27:56

2021-12-08 11:27:24

自动驾驶数据汽车

2024-08-16 09:53:47

2023-11-22 09:53:02

自动驾驶算法

2021-12-10 10:41:08

自动驾驶数据汽车

2021-05-18 15:37:39

自动驾驶麦肯锡汽车
点赞
收藏

51CTO技术栈公众号