作者|苏霍伊
编辑|王博
1839年,法国人路易·达盖尔发明银版摄影法。他处理完照片后,曾兴奋地对人们大喊:“我抓住了光!我捕捉到了它的飞行!”
其中后一句并不准确:静态照片并不能记录光的飞行过程。
从传统胶片相机到数码相机,都采用快门曝光原理,由快门控制光线照射到光敏材料上的时间。快门越快,进入相机的光线越少,曝光时间越短;反之,曝光时间越长。按下快门,连续动态的光子变化过程就会被压缩成一瞬间储存在平面静态图像中。电影、电视是动态视频,也是由每秒一定帧数的静态照片组成。
“传统相机是工业革命时代化学技术的产物,数码相机虽然抛弃了胶片,但仍然采用静态图像和静态图像序列(视频)记录光过程,观念上还停留在化学时代,无法有效表达光的高速变化过程。”北京大学计算机学院教授黄铁军说。
2016年,黄铁军发明了一个颠覆了传统相机快门曝光原理的新技术——脉冲连续摄影原理,脉冲相机不仅能“抓住”光,还能记录光的飞行过程。
不同于现有相机采用的定时曝光静态成像原理,脉冲成像原理以超高速连续脉冲流逼近光的连续变化过程,采用成熟集成电路工艺、释放电路自身潜力,研制了高速视觉芯片、相机和机器视觉系统,实现了高速、高动态、无运动模糊连续成像。
脉冲相机模拟灵长类视网膜编码原理,每个像素独立将光信号转换成比特流,一个脉冲对应一组光子,脉冲宽度的倒数对应光强,准确完整记录光的时空变化过程,推翻了沿用近两个世纪的图像和视频概念,是一项从0到1的重大原始创新。
简而言之,图片是静态的,视频是静态图像序列,而脉冲流则是光子流的粗粒度表示。
测试表明,脉冲相机能够清晰拍摄对侧相对速度700公里/小时的会车高铁,采用脉冲相机拍摄北京大学6马赫高超声速风洞实验,能够清晰记录激波形成和变化过程。
今年5月,在第49届日内瓦国际发明展上,“脉冲连续摄影原理和相机”脱颖而出,获得最高级别的“评审团嘉许金奖”。
现在,技术和产品都有了,如何将脉冲相机的科研成果更好转化,让更多人使用呢?
1.脉冲相机的“哆啦A梦”
“工欲善其事,必先利其器。”
为了让更多的用户能够充分利用脉冲相机,建立一个脉冲视觉的社区生态系统,来自北京大学的团队建立了SpikeCV开源平台。
这个平台提供了各种超高速场景数据集、硬件接口和易于使用的模块库。 SpikeCV专注于封装脉冲数据、标准化数据集接口、模块化视觉任务以及挑战性场景的实时应用,其可以作为一个Python库,满足大多数研究者在数值分析方面的需求。
简单来说,SpikeCV为脉冲相机和使用者之间架起了一座桥梁。
北京大学计算机学院博雅博士后郑雅菁和博士生张济远SpikeCV团队的主要成员。在北京大学内的3W咖啡馆,「甲子光年」见到了这两位青年学者。
郑雅菁于2017年获得四川大学计算机科学珠峰班学士学位,并于2022年获得北京大学计算机学院博士学位,研究兴趣包括神经形态计算、计算机视觉、机器学习和脉冲神经网络等领域。
张济远于2020年获得浙江大学计算机科学与技术学院学士学位,目前是北京大学计算机学院的博士生,研究兴趣包括神经形态计算、计算机视觉和计算摄影。
他们师从黄铁军教授,2022年开始和团队一起搭建了整个SpikeCV平台,从硬件接口到数据处理,再到算法和最终的测试,每一个环节都需要仔细设计和完善。
尤其是在项目的初期,团队需要花大量时间讨论整体架构,如何将硬件、数据和算法有效集成,从而组建一个模块化、标准化且具有良好扩展性的工程化平台。“最开始的架构设计花了很多时间,几乎花了半年时间,不断加班讨论。”郑雅菁回忆。
“我们想为开发者打造一个‘哆啦A梦’。”张济远说。SpikeCV的架构有三个部分:数据集、模块库和设备接口。
首先是数据集,SpikeCV集成了可用于验证或训练模型的标准化数据集。其中包含由脉冲相机或脉冲模拟器生成的真实场景,并附带详细的标签信息,比如视频、光流、深度和物体类别。SpikeCV还提供了用于记录脉冲数据和标签文件属性的附加配置文件。
然后是模块库,模块库主要有三个类别:数据处理、视觉模型/算法和工具。
数据处理模块SpkData包括脉冲流类、脉冲模拟器、标签加载器和用于训练模型的数据集接口,帮助研究人员获得更干净、更精准的数据流程。
算法库SpkPro有用于脉冲相机的各种视觉算法。因为它们,脉冲不再是单纯的电子信号,而是能捕捉动态变化的神经网络。
而Tool是一个支持开发的工具库,包含:Visualization——脉冲流或各类视觉任务结果的可视化;Metrics——各类视觉任务结果的定量评价指标;Utils——辅助开发工具,例如数据路径处理等。它像是技术人员的“瑞士军刀”,既可以用来展示数据和模型的成果,也可以对结果进行量化分析。
最后是硬件接口,SpikeCV的硬件接口可以帮助用户将基于脉冲的算法应用于实时处理硬件。目前SpikeCV已经集成了脉冲相机的硬件接口。用户可以使用脉冲相机接口来自己拍摄场景从而收集数据集或评估算法的实时性能。
整体而言,SpikeCV具有易用性、实时性的特点,还构建了一个脉冲生态,初学者也可以很快上手学习什么是脉冲数据,以及如何使用脉冲相机来处理视觉任务。
如今SpikeCV的框架已经趋于成熟,团队的重心也逐渐转向如何将这些技术应用到更多的实际场景中。
比如,自动驾驶。
2.在复杂驾驶场景中更好地感知环境
自动驾驶性能在很大程度上取决于感知系统。感知系统是自动驾驶汽车中的关键组成部分,它负责实时获取并准确解读车辆周围的环境信息,为车辆的决策和控制提供可靠的数据支持。
目前感知系统的主流技术方案有:以视觉相机为主的多传感器融合方案;以激光雷达为主导、其他传感器为辅助的技术方案;纯视觉感知方案。视觉传感器作为直接感知场景的信号源,在辅助理解驾驶场景方面发挥关键作用。
张济远和郑雅菁介绍,传统相机成像原理在自动驾驶场景中应用会有两个问题:
自动驾驶属于连续摄影的场景,相机曝光时间的长短将影响成像质量进而影响感知能力,曝光时间过长将使场景过曝或引入运动模糊,曝光时间过短则欠曝或引入更多噪声;
由于曝光时间小于帧间间隔,传统相机的成像过程并不是连续的,丢失了时间连续性,致使感知算法无法充分利用时间上的特征。
车外交通环境中脉冲相机与传统相机成像对比
脉冲视觉影像重建研究发展时间轴
3.“把黑箱透明化,是科学目标”
《Spiking Boltzmann Machines》,图片来源:NlPS papers
北京大学计算机学院教授黄铁军,图片来源:2023甲子引力年终盛典
END.