笔记-GAMES204计算成像
本博客中的图片大部分来源于GAMES204的PPT中,侵删
18. dToF
18.1 History of theTime-of-flight
18.2 Introduction to OpticalTime Resolved Imaging
- Gated Camera:通过gate实现时间上的检测
- SPAD雪崩光电二极管:光子触发电子的雪崩,通过电路将这一个过程给记住,会有”暗计数“
传统CMOS+快速比较器,可以解决时间分辨率的问题 - 光电倍增管:电子与阴极,需要真空,很难做成阵列,里面需要抽真空,响应速度、噪声水评出色
- Lock-in Sensor:通过光飞行的相位的测量,估计深度
- 条纹相机
Time-resolved Imaging Pipeline
- 探测函数 (Probing Function): 这个函数代表的是入射光或者能量随时间变化的情况。
脉冲信号是ps级的
- 场景响应函数 (Scene Response Function): 这个函数捕捉的是场景或者目标物体如何改变探测光或者能量的情况,这个函数通常是入射时间和反射时间的函数。
- 反射测量 (Reflected Measurement): 是指随时间变化的反射光或者能量的测量或者记录。
- 设备响应函数 (Device Response Function): 这个函数描述的是成像设备对入射光或者能量的响应,通常是时间的函数。
- 测量 (Measurement): 表示整个成像系统在特定时间点的测量值。
- 感测架构 (Sensing Architecture): 表示整个感测系统的布局或者结构。
- 等距离数字样本 (Equidistant Digital Samples): 这些是通过感测设备在固定时间间隔下采集得到的数字样本。
18.3 Direct Time-of-flight Imaging Principle
Sensor Reqirements
Streak Camera
通过电场将空间维度(纵轴方向按照距离分割得到时间)换取时间分辨率:电场的变化是随时间同步的,这样在电场中不同时间产生的光电子就会被偏转到不同的角度,从而在探测器上沿着纵轴方向形成一个表示时间的维度。
SPAD Array Cameras
应用较为广泛,具有优点:①单光子相应能力②有ps量级的时间分辨率③做CMOS集成,做成图像传感器 ④动态范围较大;缺点:①但其感光区域比较小,做大阵列非常困难 ②由于工艺上的缺陷,有黑暗计数率low dark count rate,在全黑情况下也会有输出,每个pixcel的rate也可能不一样 ③存在dead time,击穿之后电容电荷释放完了,需要进行充电,此时其不再工作 ④处理起来相对较为复杂
QIS通过连续计数单个光子来实现高动态范围和高灵敏度的成像,而SPAD则更适用于快速的光子计数和时间分辨应用。
通过周期性的测量,时间分辨率不高但测出的结果较为精准,牺牲时间换取时间
Single Photon 3D Imaging
问题 ①pile-up(第一个光子检测到就结束了后面检测不到)②环境光造成雪崩;
解决办法:①精度到毫米级,需要自行解决 ②增强光源的强度,相对降低太阳光的强度,但太阳光和发射出的光都被阻挡了,导致SNR很低 ⇒ 异步单光子3D成像(雷达中也可以使用)
Histogram Distortion: Key Observation
每次调整sensor start的gate,将多次相移的结果叠加起来便可以得到上面的结果
19. None-line-of-sight(NLOS)Imaging
19.1 What’s NLOS Imaging
Looking around Corner
光的传播过程:①发射 ②前面漫反射diffusion产生球面波 ③物体表面反射 ④物体反射的到墙 ⑤墙再次反射
①【光的衰减】:采用单光子器件实现微弱测量;
②【ill-posed:可能存在多个物体配置能产生相同的光强度测量(缺乏唯一性),或者可能没有足够的信息来准确重建物体(缺乏存在性和/或连续性)】:采用ps级测量、引入数学先验;
③【逆问题巨大,5维向量】:高效算法
19.2 Model of NLOS Imaging
共焦(confocal sampling, laser and detectors illuminate and image same points)和非共焦采样(unconfocal sampling)各有优点和缺点。共焦系统来回光线重合,从五维变成三维,通常提供更高的分辨率和选择性,但可能更复杂和昂贵。非共焦系统则可能更适合快速、低成本的应用,但可能以分辨率和深度选择性为代价。选择哪种系统取决于具体应用的需求和约束条件。
传统方法会导致computationally intractable
19.3 Confocal NLOS Imaging
简化到3D reconvolution
采用confocal的方法,中间过程是一个3D的Blur Kernel来解diffusion,之后只是3D deconvolution的问题
convolution kernel可以通过仿真得到
1. Resample and Attenuate Along the t-axis
此步骤涉及对原始数据进行重新采样,并沿时间轴 t 进行衰减。该过程可能与光如何在时间内传播有关。重新采样 (Resample): 对于每一个体素,你可能需要在不同的时间点上考虑光的强度或传播。重新采样可以让你更准确地描述光如何在时间内变化,例如,通过在时间轴上的不同点进行插值或取样。衰减 (Attenuate): 光在传播过程中可能会衰减。在时间轴上的衰减可能与光通过不同介质的减弱有关,或者与距离和反射次数有关。
2. 3D Convolution
3D卷积是一种数学运算,通过将一个3D核(或滤波器)与3D数据(例如体素化的场景)卷积来将局部信息整合成全局信息。在NLOS成像中,这可以用来捕捉光如何在整个空间内传播、反射和散射。卷积核: 这个核可能与光的传播特性有关,例如,它可能描述了光如何从一个体素扩散到相邻体素。空间关系: 通过卷积操作,可以捕捉每个体素与其邻域之间的相互作用,从而更好地理解光在空间内的传播。
3. Resample and Attenuate Along the z-axis
与第一步类似,但是现在的重采样和衰减是沿着空间的 z 轴进行的。重新采样 (Resample): 这可以用来更精确地描述光在深度方向上的行为。衰减 (Attenuate): 这反映了光在深度方向上的减弱,可能与光的穿透深度和材料的吸收特性有关。
整体而言,这三个步骤结合了空间和时间的信息,以重构隐蔽场景。通过沿着时间和深度方向重新采样和衰减,以及通过3D卷积捕捉空间内的光传播特性,可以从原始测量数据中提取有关隐蔽对象的有用信息。
实验成果
Backprojection是一种常用于图像重建的技术(从测量数据中逐步“投影”信息回到重构的图像空间。它采用从不同方向和位置获得的测量数据,并将这些数据“反向投影”到图像空间,从而重构出原始对象的形状和属性),在NLOS成像中,Backprojection可以用于从散射和反射的光测量中重构隐蔽对象。通过考虑光从源到探测器的所有可能路径,可以反向计算出隐藏对象的形状和位置。
**Light-Cone Transform (LCT)**是一种更复杂的数学变换(基于光锥的概念,即光从源发射后以光速在空间中传播形成的区域。LCT可以用于捕捉光如何沿着这些光锥在空间和时间中传播),可以用于描述光如何在空间和时间内传播)。 在NLOS成像中,LCT可以用于从直接的光测量(例如从墙壁反射的光)中分离出与隐蔽对象有关的信息。通过考虑光的几何传播和时延,LCT有助于从复杂的散射和反射模式中提取有关隐藏对象的信息。
19.4 The f-k Migration Method
简化到在频域中做简单重采样
从频率(频率与波长和波速有关,是波动现象的基本特性)到波数(波长的倒数,与波场中的空间变化有关)的迁移,实现高视域的成像
对波动方程进行有限元差分**(迷惑)**
F表示傅里叶变换FFT,dispersion relation色散变换,实现f-k migration; F − 1 F^{-1} F−1为逆傅里叶变换
时域里处理不好的事情就放到频域里处理,反之亦然,可以比较好的解决问题
19.5 Other Works
20. iToF
20.1 Continuous Wave ToF Imaging
器件本身没有办法采集100个点求出波形,在此处使用lockin锁相放大器的方式,用参考信号与接收到的信号相关,即可得到SNR较高的correlation的值(强度测量值)
3/4(冗余)次测量来求解出未知量
如此,用continuous wave可以得到High SNR且Real Time Capture,业界最高可达120帧iToF捕获,可达1mm左右的精度
iToF、结构光、双目的比较
20.2 Imaging Model and Analysis of iToF
1. 求解表达式
理想的没有环境光(ambient light)的计算方式,通过两个电容的放电时间进而得到相位
(K为放电率,计算中将其消掉了)
考虑实际场景中有offset、ambient light的情况 ⇒ 增加将曝光关掉之后的测量,通过联立四个式子进行求解
实际生产的过程中会给两边加上运算放大器,会有误差且通常是不同的 ⇒ 四相位correlation测量法
2. 相关参数
confidence越大时,phase的误差越小
量子效率(取决于半导体)、responsivity(与QE正相关),积分时间越长、Fill factor越高、响应率越高,confidence越强,对phase精度的影响越小
demodulation contrast越高越好,ToF传感器的性质
3. iToF中的噪声
这里分辨率大概是噪声对准确度的影响,做传感器也会用这个概念;区别于图像大小那个分辨率图像是空间分辨率
深度的精度与能量强度、调制频率、demodulation constrast正相关
20.3 Illumination
可以通过减小光孔径,提高光源照明功率来提高光照强度功率,进而减小d-noise
收到带宽影响、其他电信号的干扰会影响波形形状,
导致相位和距离之间有非线性的关系
⇒ 产生周期性的非线性误差
⇒ 建立Look Up Table(LUT查找表),将深度与真实的phase相对应
⇒ ①phase offset sweeping
对phase进行延时,分别测量;
②Calibrate use a movable object
对可以精确移动的物体进行测量,构建表格
20.4 Multipath Interference
Cornell Box
20.5 Phasor Imaging
Phasor Light Transport Matrix :Progpagation(相移) → Reflection(幅度衰减) → Scattering(absorption:幅度和相位都变化) → Superposition(相位叠加)
频率越高,相位变化幅度越大,频率提高到一定程度后时,可以将MPI的影响变为一个常数offset,不再影响phase
phase warping两个点相位相同(差距2n
π
\pi
π):用单个低频的误差较大(100MHz时1.5m,60MHz2.5m,10MHz15m才会warping,噪声大、MPI大,也可以 ①两个低频的不一样优化函数来算 ②两次测量、神经网络end2end ③FLAT dataset);
此时用两个高频率信号解决该问题(modulation signals with micro periods,ToF器件目前最高调制频率为165MHz,形成波包,根据两频率位置变化的不同来定)
21. iToF
21.1 Direct-Indirect Separation
Scattering导致的是前向干扰(相位提前了),MPI导致的是后向干扰(相位延后了)
Indirect Illumination Hurts Time-of-Flight Imaging.
Use High Frequencies that are Slightly Different.
21.2 Optimal Coding Functions for Time-of-flight Imaging
方波相比正弦波会有更更长的coding curvature
curve length=
2
K
2\sqrt{K}
2K(三角波为方波相关运算得到的结果)
当噪声是恒定的时候,small depth uncertainty(small noise)→ high depth resolution ⇒ 提高照明的光强
radius=1/4·
K
/
2
\sqrt{K/2}
K/2(K:=number of measurements这里为3)
21.3 Hamiltonian Coding for Time-of-flight Imaging
哈密顿编码可以实现最长的coding length,
为
2
K
−
2
2^K-2
2K−2,但调制出来很困难(格雷码的思想)
实际电路中的操作
在相同照明条件下,噪声比较固定,使用哈密顿编码可以极大提高深度采样精度
22. Time Encoded Photography
22.1 Dealing with Motion Blur: Coded Exposure
sample the motion 关键在于保留更多的空间频域信息
1. Blur kernel is not invertible.
(motion blur会丢失高频信息)
进行傅里叶变换后的图像如上;但有许多0点,会在deconvolution时会被丢掉;
右边是加了编码曝光的,更加平稳,解决non-invertible的问题
“Near Optimal Temporal Code”是指一种在时间域内优化的编码策略,通过随机化线性搜索过程找到的近似最优时间编码如上【编码曝光是通过特定的二进制码(如 1 表示打开,0 表示关闭)来控制快门,从而达到所需的曝光效果。】
Blurr kernel难以被estimate,可以得到高SNR的图像
2. Blur kernel is unknown.
(卷积核和物体的远近和运动方向有关,实际中很难获取该信息)
Coded Exposure Deblurring: Optimized Codes for PSF Estimation and Invertibility
见 22.2
3. Blur kernel is different for different objects.
(需要前景和后景进行分割)
22.2 Optimized Codes for PSF Estimation and Invertibility
点扩散函数(PSF)是系统响应的度量,描述了一个理想的点光源如何在图像传感器上展开。PSF 是一种空间滤波,可以描述成像系统的模糊特性。
做了trade-off,找到了平衡
在这里插入图片描述
横轴表示编码中1的个数,在C2-13个1的情况下有较好的PSF estimation和可逆的blur kernel
22.3 Dealing with Motion Blur: Parabolic Sweep
通过相机运动,让场景中的所有的物体(前景和后景、动和静)都运动起来,产生identical的blur,用single known PSF进行deconvolution,通过相机的运动轨迹来控制场景中的模糊(只是模拟平移)
通过抛物线状的扫描(先向左,再向右),使得几个物体之间更加靠近;Flutter Shutter的曝光是0101的随机编码进行变换,各个的PSF都不太相同,难以统一估计
该方式一直曝光,其亮度较高;
其缺陷在于只考虑了一个方向的运动,若物体在正交方向上运动则效果不佳
23. Spacial Encoding
23.1 The Coded Photography Paradigm
通过调制了获得更好的成像
**Mosaicing-Demosaicing:**通过颜色滤镜阵列对彩色图像进行编码(一个像素只有一种颜色),再将马赛克图像解码为完整的 RGB 图像的过程。
Plenoptic camera:也称为光场相机,是一种创新的成像技术,它可以捕捉关于场景中光的更多信息,不仅仅是颜色和强度,还捕捉了光的方向。一旦光场被捕获,就可以通过光场渲染来解码它。光场渲染使我们能够以后期制作的方式改变焦点、透视和深度。也就是说,我们可以在拍摄后重新聚焦图像,甚至从不同的视点查看场景。但为了记录光线的角度牺牲了分辨率。
23.2 Dealing with Depth Blur: Coded Aperture
通过在孔栏上调制,孔栏与相面有一个近似傅里叶变换的样式。
Aperture determines shape of kernel.
Depth determines scale of blur kernel.
coded aperture相对于传统的方式来说保留了更多的高频信息,同时也消除了0点,使其更加invertable
1. Coded Aperture
Coded Aperture 技术通过控制相机的光圈形状来改变进入相机的光线分布,从而实现更复杂的成像效果。在深度模糊处理和深度重建方面,这种技术可以提供关于物体深度的额外信息,进一步用于深度估计和图像重聚焦(refocusing)。以下是这一过程的一些关键理解:
- 编码光圈:传统的相机光圈通常是圆形的,而编码光圈可以采用任何形状。通过改变光圈的形状,可以改变成像系统的点扩散函数(PSF),这是系统对单个点光源的响应。
- 深度模糊:当相机对焦在某个特定深度时,位于该深度以外的物体将出现模糊。模糊的程度与物体与焦点的距离有关。通过编码光圈,可以更精确地控制模糊,使其包含有关物体深度的更多信息。
- 重聚焦:使用编码光圈所获得的数据可以使得图像在后处理中重新对焦到不同的深度,从而实现虚拟的景深效果。这一过程称为重聚焦(refocusing)。
- 全聚焦图像:有时还可以创建一个将所有深度的物体都对焦在同一图像上的全聚焦图像(All-focused Image)。这可以通过合成不同深度的重聚焦图像来实现。全聚焦图像提供了一种捕获和表示三维世界的强大方式,使观众能够在单幅图像中清晰地看到所有对象的所有细节。通过结合多个图像或使用先进的光场技术,这一成果可实现,并广泛用于科学、工业和艺术应用中。
- 深度重建:由于深度模糊与物体深度有关,通过分析模糊可以估计物体深度。编码光圈提供的额外信息可以使深度重建更精确。
- 多功能:该技术还可以与其他成像技术结合,例如光场相机和多视点成像,为深度估计、景深控制和三维重建提供更强大的工具。
通过改变光圈的编码,Coded Aperture 技术为传统的成像系统增加了许多有趣和强大的新功能。通过解码这些附加信息,可以实现以前需要多个相机或更复杂硬件才能实现的功能。
2. 不足
丢失了光照损失(约为一半);孔的大小需要平衡(大的话会变成单孔,小的话会有衍射);PSF的大小会受到深度变化的影响
3. estimate depth
单目深度估计比较容易得到较为准确的相对深度,此时引入一个单点的准确深度,再结合单目相对深度,得到比较好的测距结果。或者让不同的深度有不同的PSF,进而估计深度
23.3 Dealing with Depth Blur: Focal Sweep
用于景深延展(大景深成像),23.2是PSF的形状固定了,但大小会受到深度的影响;
此时可以将PSF的都变得一样大,再通过对一样大的PSF进行deconvolution处理,获得最后的深度
①捕获的图像不会在任何地方清晰
②我们可以使用简单的(全局)去卷积来锐化我们想要的部分
③我们不能从这种情况下估计深度:由于PSF与深度无关,因此我们无法从图像的模糊程度推断出物体的深度。
④深度信息已经丢失,这在计算机视觉和三维重建中是一项重要限制、我们不能从这种情况下重新聚焦
- 图像去卷积:由于深度不变性,图像的模糊具有一致的特性,这使得可以使用全局去卷积技术来恢复一些图像细节。全局去卷积可能比针对不同深度的局部去卷积更简单和更快。
- 特定的艺术效果:有时,摄影师或艺术家可能想要创造一种特定的视觉效果,其中图像的每个部分都有相同的模糊程度。这种效果可以用来传达某种情感或主题。
- 用于特定测量和分析:在某些科学和工业应用中,深度不变的模糊可能是有用的。例如,如果某个过程或分析只关心特定的特征或结构,并不需要深度信息,那么深度不变的PSF可能并不构成问题。
- 简化的图像处理:在某些情况下,不需要深度信息或精确的图像恢复,深度不变的PSF可能简化了图像处理流程,因为不需要针对不同深度进行复杂的调整。
不足
存在扰动你,对调焦的速度要求比较高,损失了深度、高频信息
23.4 Dealing with Depth Blur: Generalized Optics
1. Wavefront Coding
Wavefront Coding是一种光学成像技术,用于增强系统的景深(深度范围内的清晰成像)。它通过将特殊的光学元素(通常是一种相位掩模或滤波器)与数字后处理相结合,以降低特定成像缺陷的影响,如焦外模糊和球面畸变。
下面是Wavefront Coding技术的一些关键方面:
- 射线不再汇聚:通过在光学系统中引入一个特定的相位掩模,可以改变光线的传播方向,使它们不再在一个焦点上汇聚。这样就扩展了系统的景深,使更大范围的深度都能获得相对清晰的成像。
- 近似深度不变的PSF(点扩散函数):在某些深度范围内,Wavefront Coding技术可以使PSF近似深度不变。PSF是用来描述成像系统如何将一个点光源映射到图像上的函数。通过控制PSF,可以让图像在一定的深度范围内保持相对的清晰度,而不受景深的限制。
- 数字后处理:虽然Wavefront Coding可以增加景深,但同时也可能引入某些人工效应(artifact)或失真。因此,通常需要数字后处理来纠正这些问题。这种后处理基于成像系统的已知特性,包括用于Wavefront Coding的特定掩模或滤波器的特性。
- 广泛应用:Wavefront Coding可用于各种成像应用,包括消费类相机、医学成像设备和工业检测系统等。通过增加景深,该技术可以增强系统的灵活性和鲁棒性。
可以在中心保持高能量,但牺牲了xy方向的分辨率(xy方向扩散能量比较高,在特别亮的地方会牺牲**动态范围**)。总的来说,Wavefront Coding是一种将光学设计与数字处理相结合的先进技术,可以改善成像系统的性能,特别是在景深和焦点选择方面。
2. Lattice Lens
Lattice Lens 是一种复合镜头系统,通过将一组小镜头组织成规则的网格(或点阵)结构来工作。这种设计允许在单个成像系统中捕获更多的光学信息。在光学和摄影中,Lattice Lens 的设计可以用于捕获光场信息。通过分析从不同小镜头传感的光,可以重构场景的3D结构和纹理。这些信息允许以后的处理,如调整焦点和观察角度等。Lattice Lens 与光场摄影密切相关,光场摄影可以捕获全光场,即在每个空间点上光的所有方向。这种技术的一个常见应用是用于制造可重新聚焦的图像,允许用户在图像捕获后更改焦点。
Add lenslet array with varying focal length in front of lens.
通过此来调节每个地方不一样的焦距,可以encoding不同景深的高频信息
在光场(Light Field)成像中,所谓的4D指的是定义光场的四个维度。这四个维度通常可以表示为两个空间维度和两个角度维度:两个空间维度(x, y)和两个角度维度(θ, φ)这些维度描述了在给定点与成像平面相交的光线的方向。换句话说,它们描述了光线的倾斜角和方位角,从而在后期重新构造和聚焦图像。这是一些先进的相机系统(例如,Plenoptic相机)和虚拟现实渲染技术背后的关键原理。
3. Comparison of Different Techniques
在这里插入图片描述
Extended Depth of Field (EDOF) 是摄像头和其他光学系统中的一个重要概念,意味着图像的更大部分都在焦点之内。EDOF 的技术可以提供更多的灵活性,并允许从不同的深度捕获更锐利的图像。Diffuser 作为编码光圈的一种应用,与传统的格子镜头(lattice focal lens)相比,可以提供更好的反演特性。
24. End-to-End Computational Camera Design
24.1 Step One: Joint Optimization of Optics and Image Recovery
Learned Large Field-of-View Imaging with Thin-Plate Optics
通过单个透镜获得大视野(大FOV)是非常困难的,正常情况为10°左右
24.2 Step Two: The First End-to-end Optics for Single Wavelength
Compressive and Optically Coded Super-resolution SPAD Camera
SPAD做大像素在目前仍然比较困难(目前最大是1024x1024)
根据重建的效果优化点扩散函数,之后将相位解出来,将相位加工出来放到前焦面的孔栏上,即可获得最佳PSF
Gerchberg-Saxton(GS)基于相位检索方法是一种在光学和信号处理中常用的算法,用于在仅知道波的强度或幅值时检索其相位。该方法通过迭代计算数据的傅立叶变换和反傅立叶变换,并在空间和频率域中使用已知约束。①Initialization:从空间和频率域的已知强度分布开始,并对其中一个域的相位进行初始猜测。②傅立叶变换和约束应用(Fourier Transform and Constraint Application):计算傅立叶变换,从一个域(空间到频率,反之亦然)移动到另一个域。将已知约束应用于幅值,但保持变换的相位。③逆傅立叶变换和约束应用:计算逆傅立叶变换,返回到原始域。将已知约束应用于幅值,但保持变换的相位。④迭代:重复步骤2和3,直到相位收敛到稳定解。
点扩散函数(PSF)与孔径(aperture)之间的关系;通过傅立叶变换,可以从孔径函数计算传递函数,从而得到PSF。
将超分应用于实际需要考虑实际情况下的采样(不仅仅是dowsampling的百分比)
只是单侧波长的成像,没有满足多波长成像的方式
24.3 Step Three: Enabling Comprimization for Color Channels
多次曝光会有motion artifact且需要long capture and processing time
HDR imaging中实现的思路:将过曝地方通过光学系统搬移到没有过曝的地方,再提取出搬移的信息再去重建过曝处的相关信息
非过曝的loss VGG 将重叠部分的信息区分开;过曝部分有已经encoded的信息和自然场景的梯度不重合便有exclussion loss