一项重大原始创新,如何通过开源平台更好地转化?
作者|苏霍伊
编辑|王博
1839年,法国人路易·达盖尔发明银版摄影法。他处理完照片后,曾兴奋地对人们大喊:“我抓住了光!我捕捉到了它的飞行!”
其中后一句并不准确:静态照片并不能记录光的飞行过程。
从传统胶片相机到数码相机,都采用快门曝光原理,由快门控制光线照射到光敏材料上的时间。快门越快,进入相机的光线越少,曝光时间越短;反之,曝光时间越长。按下快门,连续动态的光子变化过程就会被压缩成一瞬间储存在平面静态图像中。电影、电视是动态视频,也是由每秒一定帧数的静态照片组成。
“传统相机是工业革命时代化学技术的产物,数码相机虽然抛弃了胶片,但仍然采用静态图像和静态图像序列(视频)记录光过程,观念上还停留在化学时代,无法有效表达光的高速变化过程。”北京大学计算机学院教授黄铁军说。
2016年,黄铁军发明了一个颠覆了传统相机快门曝光原理的新技术——脉冲连续摄影原理,脉冲相机不仅能“抓住”光,还能记录光的飞行过程。
不同于现有相机采用的定时曝光静态成像原理,脉冲成像原理以超高速连续脉冲流逼近光的连续变化过程,采用成熟集成电路工艺、释放电路自身潜力,研制了高速视觉芯片、相机和机器视觉系统,实现了高速、高动态、无运动模糊连续成像。
脉冲相机模拟灵长类视网膜编码原理,每个像素独立将光信号转换成比特流,一个脉冲对应一组光子,脉冲宽度的倒数对应光强,准确完整记录光的时空变化过程,推翻了沿用近两个世纪的图像和视频概念,是一项从0到1的重大原始创新。
简而言之,图片是静态的,视频是静态图像序列,而脉冲流则是光子流的粗粒度表示。
测试表明,脉冲相机能够清晰拍摄对侧相对速度700公里/小时的会车高铁,采用脉冲相机拍摄北京大学6马赫高超声速风洞实验,能够清晰记录激波形成和变化过程。
今年5月,在第49届日内瓦国际发明展上,“脉冲连续摄影原理和相机”脱颖而出,获得最高级别的“评审团嘉许金奖”。
脉冲视觉芯片与脉冲视觉相机
现在,技术和产品都有了,如何将脉冲相机的科研成果更好转化,让更多人使用呢?
1.脉冲相机的“哆啦A梦”
“工欲善其事,必先利其器。”
为了让更多的用户能够充分利用脉冲相机,建立一个脉冲视觉的社区生态系统,来自北京大学的团队建立了SpikeCV开源平台。
SpikeCV主要团队成员
这个平台提供了各种超高速场景数据集、硬件接口和易于使用的模块库。 SpikeCV专注于封装脉冲数据、标准化数据集接口、模块化视觉任务以及挑战性场景的实时应用,其可以作为一个Python库,满足大多数研究者在数值分析方面的需求。
简单来说,SpikeCV为脉冲相机和使用者之间架起了一座桥梁。
SpikeCV开源平台
北京大学计算机学院博雅博士后郑雅菁和博士生张济远SpikeCV团队的主要成员。在北京大学内的3W咖啡馆,「甲子光年」见到了这两位青年学者。
郑雅菁于2017年获得四川大学计算机科学珠峰班学士学位,并于2022年获得北京大学计算机学院博士学位,研究兴趣包括神经形态计算、计算机视觉、机器学习和脉冲神经网络等领域。
郑雅菁
张济远于2020年获得浙江大学计算机科学与技术学院学士学位,目前是北京大学计算机学院的博士生,研究兴趣包括神经形态计算、计算机视觉和计算摄影。
张济远
他们师从黄铁军教授,2022年开始和团队一起搭建了整个SpikeCV平台,从硬件接口到数据处理,再到算法和最终的测试,每一个环节都需要仔细设计和完善。
尤其是在项目的初期,团队需要花大量时间讨论整体架构,如何将硬件、数据和算法有效集成,从而组建一个模块化、标准化且具有良好扩展性的工程化平台。“最开始的架构设计花了很多时间,几乎花了半年时间,不断加班讨论。”郑雅菁回忆。
“我们想为开发者打造一个‘哆啦A梦’。”张济远说。SpikeCV的架构有三个部分:数据集、模块库和设备接口。
SpikeCV架构
首先是数据集,SpikeCV集成了可用于验证或训练模型的标准化数据集。其中包含由脉冲相机或脉冲模拟器生成的真实场景,并附带详细的标签信息,比如视频、光流、深度和物体类别。SpikeCV还提供了用于记录脉冲数据和标签文件属性的附加配置文件。
然后是模块库,模块库主要有三个类别:数据处理、视觉模型/算法和工具。
数据处理模块SpkData包括脉冲流类、脉冲模拟器、标签加载器和用于训练模型的数据集接口,帮助研究人员获得更干净、更精准的数据流程。
算法库SpkPro有用于脉冲相机的各种视觉算法。因为它们,脉冲不再是单纯的电子信号,而是能捕捉动态变化的神经网络。
而Tool是一个支持开发的工具库,包含:Visualization——脉冲流或各类视觉任务结果的可视化;Metrics——各类视觉任务结果的定量评价指标;Utils——辅助开发工具,例如数据路径处理等。它像是技术人员的“瑞士军刀”,既可以用来展示数据和模型的成果,也可以对结果进行量化分析。
最后是硬件接口,SpikeCV的硬件接口可以帮助用户将基于脉冲的算法应用于实时处理硬件。目前SpikeCV已经集成了脉冲相机的硬件接口。用户可以使用脉冲相机接口来自己拍摄场景从而收集数据集或评估算法的实时性能。
整体而言,SpikeCV具有易用性、实时性的特点,还构建了一个脉冲生态,初学者也可以很快上手学习什么是脉冲数据,以及如何使用脉冲相机来处理视觉任务。
SpikeCV特性
如今SpikeCV的框架已经趋于成熟,团队的重心也逐渐转向如何将这些技术应用到更多的实际场景中。
比如,自动驾驶。
2.在复杂驾驶场景中更好地感知环境
自动驾驶性能在很大程度上取决于感知系统。感知系统是自动驾驶汽车中的关键组成部分,它负责实时获取并准确解读车辆周围的环境信息,为车辆的决策和控制提供可靠的数据支持。
目前感知系统的主流技术方案有:以视觉相机为主的多传感器融合方案;以激光雷达为主导、其他传感器为辅助的技术方案;纯视觉感知方案。视觉传感器作为直接感知场景的信号源,在辅助理解驾驶场景方面发挥关键作用。
自动驾驶感知系统,图片来源:freepik
张济远和郑雅菁介绍,传统相机成像原理在自动驾驶场景中应用会有两个问题:
自动驾驶属于连续摄影的场景,相机曝光时间的长短将影响成像质量进而影响感知能力,曝光时间过长将使场景过曝或引入运动模糊,曝光时间过短则欠曝或引入更多噪声; 由于曝光时间小于帧间间隔,传统相机的成像过程并不是连续的,丢失了时间连续性,致使感知算法无法充分利用时间上的特征。
“自动驾驶中许多复杂场景为传统视觉感知算法带来挑战,在路况复杂、光线变化剧烈、光线不足或存在高速运动的场景中,传统相机的感知会出现错误,存在数据采样冗余大、动态范围小和时间分辨率低等问题。”张济远说。
在适应极端环境能力方面,脉冲相机相较传统相机存在感知优势。
比如在车辆高速驶过时类似“鬼探头”的场景、车辆颠簸场景及光线较强时的场景,这些场景均会使传统相机感知质量下降,产生模糊或过曝效应;而脉冲相机可以较好地恢复这些挑战性驾驶场景的高清、高动态影像。
车外交通环境中脉冲相机与传统相机成像对比
“利用脉冲相机的成像特点,高质量影像可从脉冲流中恢复出来,从而辅助高速驾驶场景中的视觉感知。”张济远告诉「甲子光年」,“脉冲视觉研究中很重要的一块就是如何能从脉冲流中恢复影像。”
“脉冲”是一个物理学术语,指在极短时间内突然发生并迅速消失的物理量的变化。
脉冲视觉是一种基于脉冲信号的视觉信息处理技术。在这项技术中,每个像素点上的感光单元会在接收到的光强度超过预设阈值时产生一个脉冲信号。这些脉冲信号构成了脉冲数字流(Spike Stream),这实际上是用一系列脉冲表示二进制数据的信号,每个脉冲代表“1”,没有脉冲代表“0”。
“对于脉冲相机来说,光有这样0和1的数据是不够的,人们要直观看到这些脉冲代表的图像。”郑雅菁解释道。
在SpikeCV推出之前,黄铁军团队就在脉冲视觉影像重建方面开展了大量的研究,SpikeCV推出后,相关研究成果也整合到了SpikeCV开源平台中。
脉冲视觉影像重建研究发展时间轴
就像时间与空间的“握手言和”,利用脉冲相机和传统相机的传感器融合方案,可以有效将脉冲流的高时间分辨率和传统相机高空间分辨率的优势结合起来,实现更优的感知能力。
张济远和郑雅菁介绍,传统视觉和脉冲视觉融合可以恢复高动态范围影像,让过曝、欠曝等极端问题成为过去式,并消除视频影像中的模糊效应等。实际应用中,常规速度情况下的驾驶感知可以只使用传统相机,高速或光线极端情况下可以采用传感器融合方案补偿感知能力。
“我们会不断探索更前沿的东西,比如三维视觉和模态的融合。”张济远告诉「甲子光年」,脉冲相机的应用不仅仅局限于现有的二维成像,它将进一步拓展到更高维度的感知领域,与其他传感器数据相结合,提供更加全面的视觉解决方案。
目前,利用脉冲相机采样连续的优点,团队通过滑动脉冲相机就看清障碍物背后的物体,实现“见所未见”;而基于脉冲相机超高速的特点,针对自动驾驶领域比较棘手的“鬼探头”场景,脉冲相机已经可以进行“超敏感知”。
“我们基于脉冲相机做了一款针对这些场景的系统,现在已能让机器视觉‘感知行’延迟降低至数毫秒内。”郑雅菁说。
3.“把黑箱透明化,是科学目标”
1999年,杰弗里·辛顿和安德鲁·布朗写了一篇关于脉冲玻尔茨曼机(Spiking Boltzmann Machines)学习算法的论文。他们当时很希望能找到一种适合脉冲神经元的学习算法,并认为这是脉冲神经元硬件取得进展的关键。
《Spiking Boltzmann Machines》,图片来源:NlPS papers
当时很多学者也意识到,找到适合脉冲神经元的学习算法就可以构建更加节能的硬件,建立大型系统。
黄铁军自己也从事了十多年的脉冲神经网络研究,他认为,未来新一代人工智能的技术路线走向有三条:第一是基于大数据和深度学习算法实现的人工智能技术路线;第二是通过强化学习,在虚拟环境不断训练得出的具身智能路线;第三是通过模拟生物神经系统和生物智能,最终实现智能生命技术路线。
北京大学计算机学院教授黄铁军,图片来源:2023甲子引力年终盛典
去年, 时,黄铁军曾这样表达:“人脑是个黑箱系统,我们所已知的只是黑箱中很有限的部分。例如,我们以为很清楚眼睛视网膜的工作原理,但实际可能只了解10%。当然,我们希望一步步分析视网膜内的信号变换过程,把黑箱透明化,这是科学目标。”
2021年,一篇题为《通过卷积循环神经网络揭示对动态自然刺激的神经编码(Unravelling neural coding of dynamic natural visual scenes via convolutional recurrent neural networks)》的论文发表在《细胞·模式(Cell Patterns)》上,论文提出并实现了一种基于卷积循环神经网络的视网膜编码模型,能够高精度地预测大规模视网膜神经节细胞对动态自然场景的响应,同时可以学习出各个神经节细胞的感受野(神经元所反应的刺激区域)。
视网膜结构与对应的卷积循环编码网络
论文提到,卷积循环编码网络不仅结构上更接近人类视网膜,还能通过更少的参数实现更高精度的编码模型。实验结果显示,网络的循环连接结构是影响视网膜编码的关键因素。这一模型不仅具有生物学价值,而且对设计新一代脉冲视觉模型、芯片乃至研制视网膜假体都极具意义。
这篇论文的第一作者就是郑雅菁。
目前郑雅菁还是伦敦大学学院(UCL)的访问学者,她在UCL的导师卡尔·弗里斯顿(Karl Friston)教授提出的“贝叶斯大脑”概念给了她很大启发。
“贝叶斯大脑”指大脑通过不断更新对外部世界的预测来减少内部的预测误差。脉冲相机与脉冲神经网络 (Spiking Neural Network,SNN)的结合能够真正实现类脑视觉的全套概念,从而提供更具生物启发意义的视觉解决方案。
人类视觉系统的高效性来源于对信息的筛选和高效处理,郑雅菁也在研究将贝叶斯大脑与脉冲相机进行结合,将大脑的运作模式映射到视觉设备中,从而达到更智能的视觉处理方式。
“脉冲相机技术不仅改变了机器如何看待世界,也改变了我们对机器视觉的理解方式。通过结合类脑计算,它能够在复杂环境中高效工作,而不依赖高耗能的计算资源。”郑雅菁告诉「甲子光年」。
在SpikeCV团队的GitHub主页写着一句口号,前半句是“我们不仅提供锤子,还制造钉子”。
SpikeCV中的Spike有“脉冲”和“尖状物”的意思。这群未名湖畔的捕光者,不仅提了“锤子”——脉冲相机,还制造了“钉子”——应用场景。
但口号后半句才是他们的愿景:“捕光制电,我们想打开前所未见的视觉新世界。”
(封面图及文中未标来源图片均由受访者提供)