这次写文的动机主要是最近开始接触线阵描成像这一领域,积累了一些皮毛经验。
笔者主要关注使用线阵传感器对运动物体进行成像的领域,因此光谱分析等使用线阵传感器的领域不在本文的范围内。
线阵传感器的存在意义以及常用类型
可能不少读者只接触过面阵传感器(手机上就好几颗),对线阵传感器比较陌生。
用信号与系统的知识来说,无论面阵还是线阵传感器,都是对光信号从空间、时间、光谱、光强这四个方面进行采样。
面阵和线阵传感器的主要区别在于二者对空间的采样方式。面阵传感器在空间的XY方向上的采样间隔相同,XY方向分辨率相同。线阵传感器将XY方向上的采样间隔进行了解耦,两个方向的分辨率可以不同。
需要指出的是,这里的“分辨率”不是一幅图像所包含的XY像素总量,而是单个像素代表的实际物体尺寸,又称“像元分辨率”,通常用pixel/um或um/pixel表示。
为什么要进行解耦呢?归根结底还是工程实践上的具体需求以及约束造成的。在许多行业应用里,对成像分辨率的要求只是某个特定方向上分辨率达标即可。使用线阵传感器能够在满足使用者需求的前提下,减少数据量、降低带宽需求,当然最重要的就是降本。
线阵传感器有着各种各样的变体,目前业界常用的线阵传感器主要有以下几种类型:
- B、G、R、(W可选)三(四)线真彩色线阵传感器

(图源:Gpixel)
使用三(四)条像素配合相应的滤色片对颜色分量独立成像,类似于广播电视领域的3CCD/3CMOS,因此被称为真彩色。常用于色选、印刷等需要彩色成像的行业。
- W单线黑白线阵传感器

(图源:AMS)
使用单条无滤色片像素进行成像,常用于薄膜、金属箔等无所谓颜色的物体进行成像。
- W多线TDI黑白线阵传感器

(图源:Gpixel)
使用多条无滤色片像素进行成像,通过对相同物体的多次曝光,能够在光线受限的情况下得到较高信噪比的图像。常用于半导体、科学研究等特殊行业成像。
- RG、GB两线插值彩色线阵传感器

(图源:AMS)
使用拜尔滤色片通过后期插值得到彩色图像。因为比真彩色传感器少一条像素,成本具有一定优势。但2026年的今天,真彩色传感器成本已经很低,这种两线的彩色线阵传感器正慢慢淡出市场。
另外如果读者有了解过市面上主要的线阵传感器制造商的产品,就会发现大家基本都不约而同的使用了7um大小的像元作为基础(尽管也有制造商使用5um像元),横向排开2K、4K、8K、16K分辨率。并且8K和16K型号都以传感器模组的形式出货(因为晶圆太长了,使用封装的形式容易导致翘曲)。侧面反映出线阵传感器其实是比较单一市场,没有太多定制化需求。
线阵传感器的成像纵横比
前面说过,线阵传感器将XY两个方向的分辨率进行解耦。假定传感器只有单条感光像素,将其像素排列方向定义为X轴,称为横向,而物体沿着Y轴方向垂直于X轴运动,称为纵向。
在这种定义下,只要物距、焦距、传感器型号不发生改变,横向分辨率是恒定的,但是纵向分辨率会受到触发拍照频率以及物体运动速度的影响。为了方便表示,将纵向分辨率比上横向分辨率,后者归一化,就得到了成像纵横比。
以下是使用黑白线阵相机在几种不同纵横比下拍摄得到的图像(局部截图),注意,以下图像均未后期拉伸:
- 纵横比 1:1

- 纵横比 2:1

- 纵横比 0.5:1

拍摄的图案为正方形图标。可以看到,在纵横比 1:1 时,能够正确呈现图形,说明纵向分辨率近似等于横向分辨率。纵横比 2:1 时图案被压扁,说明纵向分辨率比横向分辨率低。纵横比 0.5:1 时图案被拉伸,说明纵向分辨率比横向分辨率高。
纵横比还可以从另一个角度来解释:纵横比是指两次拍照的间隔内,物体投影沿纵向运动了多少个像素的距离。
如果纵横比是 1:1 ,说明两次拍照的间隔内,投影纵向移动了一个像素的距离,采集出来的图像无失真。

如果纵横比是 2:1 ,说明两次拍照间隔内,投影纵向移动了两个像素的距离,采集出来的图像被压扁。

如果纵横比是 0.5:1 ,说明两次拍照的间隔内,投影纵向移动了半个像素的距离,采集出来的图像被拉长。

在工程实践中,等于1、大于1、小于1的纵横比均有适合的应用场景,要根据被摄物体特点、后端处理算法特点进行选择。在某些应用场景下,3:1 甚至 5:1 这种纵向分辨率远小于横向分辨率的纵横比也是可以接受的。
由于纵向分辨率受到触发拍照频率和物体运动速度的影响,在实际应用中,应该做到即使物体运动速度发生变化(例如运动部件的抖动、流水线的加速减速),也能够把纵向分辨率稳定在设计值附近。为了做到这点,最常见的做法是使用旋转编码器等传感器对运动速度进行测量,使用测得速度反馈触发拍照频率进行实时调节。
空间校正的概念
上面介绍了单线黑白线阵传感器的成像过程以及纵横比概念,下面让我们将这个过程推广到拥有多行像素的真彩色线阵传感器以及TDI线阵传感器。
如果只看其中一行像素的成像过程,两者与上面介绍的黑白线阵传感器并无区别,真正让人感兴趣的是多条像素的工作方式。与面阵传感器不同,对于拥有多行像素的线阵传感器,我们期望每行像素能够对被摄物的相同位置曝光,随后把每条像素收集的信息组合起来(在数字域或模拟域),得到一副信息更加充分、失真更少的图像。
目前绝大部分多行线阵传感器的不同行像素是水平排开的,如果传感器只支持多行像素同时曝光,这种限制会导致图像出现失真,以单片三线真彩色线阵传感器为例:B、G、R三条像素在空间上错开,在同一时刻触发拍照时,这三条像素实际对物体不同位置进行了曝光。

(图源:Basler)
如果恰巧经过物体边沿,三个分量的差异很大,如果还将三个分量视为相同位置的像素信息叠加,就会产生彩色边缘。

(图源:Basler)
这个过程可以推广到黑白TDI相机,如果不能保证物体在相同位置曝光叠加,那么TDI图像质量将会严重下降。
为了解决这个问题,有厂商的线阵相机使用了3CCD/3CMOS结构,使用分光棱镜和3块线阵传感器,实现在同一时刻曝光B、G、R三种颜色分量,但因为涉及到分光棱镜设计,以及本质上是塞了三台相机到同个壳子里,该方案的实现较困难且成本高(似乎JAI相机用的比较多,日本人确实挺喜欢搞这种偏门方案)

(图源:B&H)
随着技术的发展,不同行像素分时曝光技术被发明出来,通过逐行延迟触发实现不同时刻对被摄物相同位置的曝光。支持该功能的线阵传感器成本已下探到百元RMB左右,且实现简单,是性价比较高的选择,这也是本文主要关注的空间校正方式。

空间校正的实现—整数纵横比
先从简单的情形入手:假设传感器B、G、R三条像素紧挨在一起,以 1:1 的纵横比对匀速运动物体进行拍照,应该如何对得到的图像进行空间校正?


如果直接将图像合成,则会得到下面这样的结果

这显然不是我们希望看到的,所以我们通过以下装置将B分量的数据延迟2行,G分量的像素延迟1行,R分量不延迟:

此时再将三个分量进行合成就可以得到校正后的结果:

这就是最基本的空间校正实现方式,通过以行为单位对三分量进行延迟输出,达成了无失真图像采集。
接下来考虑第二个情形:B、G、R三条像素之间间隔了一个像素

依然按照1:1纵横比进行拍照,此时得到的图如下:

套用上面的经验,在B通道插入4行延迟,G通道插入2行延迟,R通道不插入延迟:

得到校正后图像:

情景三:使用带1个像素间隔的传感器,以 2:1 纵横比拍照,得到以下图像:

此时只需要延迟B通道2行,延迟G通道1行,R通道不延迟,就可以得到校正图像。

在工程实现中,对该传感器的B、G、R三分量都加上4级延迟,每一级延迟加上旁通开关,如此一来,我们就实现了对 1:1 、 2:1 纵横比的空间校正:

为什么要对三个分量都加上可调延迟呢?因为物体运动方向可能发生改变,现在是B分量先拍到,所以对B分量进行延迟。但如果物体反向运动,则是R分量先拍到,就需要对R分量延迟。
根据以上三个样例继续推广,不难发现:行之间的间隔每增加1个像素,那么该传感器可以多校正一个整数纵横比。
行之间没有间隔—可校正 1:1 纵横比的图像
行之间有1像素间隔—可校正 1:1 、 2:1 纵横比的图像
行之间有2像素间隔—可校正 1:1 、 2:1 、 3:1 纵横比的图像
值得指出的是,因为此时已经完成了图像采集的过程,变成了数字信号(或者至少被像素电容采样了),我们可以在数字域(离散域)做这些延迟。
空间校正的实现—小数纵横比
前面介绍了整数纵横比的空间校正,也就是两次拍照间隔,物体都能准确移动一个像素的距离。
但在现实情况里,因为安装距离、镜头焦距误差等因素,纵横比不一定是整数。有可能会出现 1.5:1 、 2.3:1 这种小数纵横比,也就是进入到了亚像素的领域。
小数纵横比的整数部分按照前面的数字域延迟方法进行处理,但对于小数部分,数字域无法处理,只能使用支持分时触发曝光的传感器。
这类传感器通常为每条像素设计了独立引脚,用户通过控制触发电平信号之间的延迟关系,就可以控制每条像素的曝光起始时机和时长。

前面提到,在实际应用中,我们通常希望无论物体运动速度如何改变,纵横比能够是一个定值。此处会引入问题:当进行亚像素空间校正时,触发起始延迟值会随着物体运动速度的变化而变化。
比如物体运动速度较快时,两行像素之间的触发延迟值可能是1us,而当物体运动速度较慢时,该延迟值可能会增加到10us。
至于如何实现自适应的延迟调节,就由各位读者结合自身情况去思考了。(提示:使用外部编码器同步触发)
空间校正的实现结果
纵横比为 1:1 时的校正
校正前

校正后

纵横比为 1.9:1 时的校正
校正前

校正后

纵横比为 2.8:1 时的校正
校正前

校正后

