type
status
date
slug
summary
tags
category
icon
password
由于篇幅限制分为三篇:
1. 高光谱图像简介
高光谱图像(Hyperspectral Image):光谱分辨率在0.01数量级范围内的光谱图像,比常规RGB图像有更多的波段(通道数)来更加准确全面地描述被捕获场景的特性。
举个例子,在深夜如果直接看RGB图像,可能是一片漆黑,但是如果通过红外夜视仪,就能很清晰看到发热的活物,这就是捕获的红外光谱图像。
高光谱数据作为一种典型的三维图像数据,其数据本质具有明显的冗余性, 基于压缩感知的光谱成像技术目前在国内外正蓬勃发展,是信号处理领域最前沿和最具应用潜力的研究方向之一。
可以看到,恢复结果还可以,但是离实际应用需求还有很大差距。
获取方式:
- SCI(Snapshot Compressive Imaging)快照压缩成像系统
- CASSI(Coded Aperture Snapshot Spectral Imaging)编码孔径快照光谱成像
- RGB重建
2. 计算成像
参考链接~
2.1 定义
计算成像领域寻求的就是将普通相机进化出更多的功能,进而实现我们那些奇思妙想。其目的就是为了联合光学设计和各类算法,来克服长期存在的成像限制。
与传统成像相比,计算成像的特点是大量使用了数学算法。例如,如果一个X射线照片是一个传统的成像系统,将多个X射线照片混合以计算一个3D断层扫描模型(“CAT扫描”)将是一个计算成像系统。再比方说,对于锐化模糊运动的图像,传统处理其的方式是通过一个反卷积的过程,而计算成像的方法则是”编码曝光成像“。我们来看一些流程对比图:
运动物体在较长的曝光时间里捕捉会导致拍摄效果的运动模糊。在这种情况下,我们可以选择一个曝光时间较短的硬件系统,或者一种反卷积的算法。当然这两种方法都存在着一定的缺陷,前者容易导致整体输出图像模糊,而后者则是会导致重建图像质量较差。而计算成像的解决方法则是基于编码曝光成像,通过编写代码相机的快门模式(如图中所示,曝光时间时长时短),得到的一组图像再利用算法恢复,这样处理的效果更加优越。
所以我们可以看到计算成像是一门硬件和算法兼备的领域,需要进行共同设计,这样做可以克服传统成像的一些局限性,这些局限性包括:
- 动态范围
- 空间分辨率
- 景深
2.2 现代应用
- 智能手机摄影
相关行业从业者可以使用术语计算摄影来指代将计算成像方法用于摄影的特定问题的情况。计算成像的主要工业用途是在消费者智能手机上。像苹果和谷歌这样的大型科技公司都有专门的计算摄影团队,国内的华为大疆也在积极招聘相关人才。根据Bitkom的信息趋势,从2015年开始,全球拍摄的照片数量已经超过1万亿张,每年增涨10%。其中85%是用手机拍摄的。计算成像技术特别适合智能手机应用,这通常受到硬件限制。手机的机身不能提供专门的镜头,同时批量生产成本限制了镜头设计。为了产生美观的照片,实践者必须在算法方面进行创新。
- 自动驾驶
计算成像系统可以用来将自动驾驶汽车的视力水平提升到超人的水平。自动驾驶汽车,是一种能够主动感知周围环境,并在人类手动控制输入很少或完全缺失的情况下安全驾驶的车辆系统。这并不是要求这些汽车上的摄像头传感器应该模仿人眼,而是要求这些传感器要远远超越人眼。
- 医学成像
如我们刚刚使用的X射线和CAT扫描仪的例子,这些便是计算成像在医学中的典型应用的例子。然而,这只是触及了计算成像中的医学应用的表面。更多的内容我会在接下来的文章中给大家更全面的介绍。
2.3 光学基础
2.3.1 数字图像形成
我们用眼睛看到的世界是一个连续的空间坐标的三维函数。照片是从三维场景中绘制出的“光子数量”的二维地图。在基于胶片的摄影中,这种地图是一个连续的函数。然而,当参考数字图像时,相应的二维函数便成为了离散表示,因为用于成像的像素数是离散且有限的。因此,我们可以把一个图像看作是一个物理实体的数学表示,它描述了一个在空间坐标上的函数。单个像素是连续场景的离散表示的基本元素,与一维情况类似,这些像素是参考香农奈奎斯特抽样公式的函数样本。因此,我们必须记住,图像仅仅是场景的表现,而不是连续的场景本身。要理解图像形成过程的基础,我们必须理解和使用这一过程的物理规律。
从数学的角度来看,图像可以看作是从空间域到成像传感器范围的映射。在彩色成像的情况下,对于二维空间中的每个点r,我们得到每个像素的三个值,即红、绿、蓝三个值(强度)。因此,所得到的图像可以表示为以下函数,它将一个向量映射到一个向量:
为了将定义的数据存储在计算机上,需要分两个阶段进行处理:采样和量化。
为了被数字设备存储或处理,亮度值被映射到一组有限的值,通常是,这也被称为量化。在彩色图像的情况下,每种颜色都被映射到256个可能值中的一个。在单色图像的情况下,一些传感器采用更高的分辨率,其值编码为12位,即在范围内。分辨率的选择取决于两个因素:所捕获的图像和所要执行的处理。例如,计算机断层扫描(CT)图像使用超过10位,而低级网络摄像头每种颜色大约使用6位。更复杂的处理例如梯度计算,这需要更高的分辨率才能获得好的结果。
量化保证了一个图像的亮度只能取有限数量的可能值中的一个。然而图像有无限个点,因此我们需要沿着每个轴对图像的值进行采样,并定义一个新的采样图像,即:
2.3.2 传感器的模数转换
在一个完整的商用传感器中,滤色器不是均匀分布的。它们遵循一个特定的图案,称为彩色滤光器阵列,它决定了图像的最终外观。其中一个非常常见的彩色滤镜阵列是拜耳滤镜,它包含50%的绿色滤镜,25%的蓝色和25%的红色。这是受人类视网膜白天使用锥细胞的启发,锥细胞对绿光最为敏感。因此,由于不同颜色像素的混合,由传感器产生的图像被称为镶嵌图像。
每个像素的电位井产生一个模拟电压信号,进入预处理管道,由几个阶段组成。第一阶段,用模拟前端进行电压处理,处理模式如下图:
这将从传感器输出的模拟拼接图像转换为原始的数字拼接图像。首先,模拟电压通过一个放大器,其增益由相机的ISO设置调制。由于渐晕效应,对于距离图像中心更远的像素,增益更大,这会使图像的末端变暗。之后,模数(ADC)转换器产生一个数字信号,通常的大小为10-16位。最后,该传感器在其测量范围的末端(非常明亮或非常暗的像素)存在非线性问题,这可以通过使用查找表进行校正。查找表只是将输出值映射到任何可能的输入值,这是处理数字信号的一种非常快速的技术。格鲁耶夫和艾蒂安-卡明斯(2002)实现了一种伪神经图像处理器芯片,可以在焦平面上实现可操纵的空间和时间滤波器。模拟前端的输出图像称为原始图像。许多消费级相机允许使用这种格式,因为许多应用程序,如基于物理的计算机视觉,在原始图像上比处理图像要好得多。然而,由于高噪音和不合适的颜色平衡,使得这些图像看起来并不很吸引人。
下一处理阶段是调整原始数字图像的白平衡。这是必要的,因为一个人看到的白人与对场景的感知有很大关系。因此,通过对图像的颜色施加一个假设来调整白平衡。一种方法是假设一个图像的平均颜色是灰色的,这被称为灰色世界假设。另一种方法称为白色世界假设,假设场景中最亮的物体是白色的。然而,现代相机使用基于直方图的算法,假设不同颜色的特定比例。在这个阶段,图像仍然是一个颜色的马赛克,这意味着每个像素都存储了特定的颜色信息。我们需要把这张马赛克图像转换成三张图像,分别对应于红色、绿色和蓝色。然而,红色和绿色的信息在蓝色像素的位置丢失。那么,如何才能恢复这些信息呢?这可以通过插值来实现,即使是简单的算法来平均最近的邻居也可以取得很好的结果。这一阶段的三幅图像仍然受到噪声的强烈影响。因此通常采用去噪阶段,如平均或计算相邻像素的中值。
人类心理上感知的颜色通过颜色空间映射到光的波长上。它们允许一个可重复的颜色表示。这些映射在图中被表示为颜色转换。经过所有这些步骤之后,图像看起来仍然不自然。这是因为人类视网膜中的光检测作为亮度的函数是非线性的,对暗色调更敏感,而对于相机来说,这种关系是线性的。为了解决这个问题,我们使用了后续的后处理步骤。因为在人眼的情况下,非线性函数类似于数学函数伽马,所以补偿这种影响的过程被称为伽马校正。经过这一步之后,人眼的图像外观得到了明显的改善,但仍然需要很大的空间。这激发了最后一步,称为压缩,它将图像大小减少三分之一。最终的结果是压缩格式的一个吸引人的图像,例如jpeg或png。
2.3.3 图像信息采样
一维、二维和三维信息的离散,分别得到向量、矩阵和张量的数学对象。对于图像,一个像素映射到矩阵中的一个元素。在基于体积的数据中,一个体素图映射到张量中的一个元素。一维数据以向量的形式存储。二维数据以矩阵的形式存储。这是在处理图像时的情况。矩阵中的每个元素都对应于图像传感器中的一个像素。二维数据以张量(或三维矩阵)的形式存储。这种数据结构通常出现在时间分辨和高光谱成像应用的背景下。如下图所示:
Next: