在为产品挑选最契合的机器视觉系统时,往往需要权衡不少技术细节。下面我们不妨从几个关键维度出发,梳理一下开发过程中的核心考量。
颜色准确性/差异化
先说说最基础的问题:应用对颜色精度和差异化的要求有多高?在某些场景下,机器视觉相机需要精确区分检测到的颜色与目标值的微小差距。显然,那些追求高精度识别的用户,需要的设备要比只满足于“大概差不多”级别的系统复杂得多。
前面提到过,插值计算和低灵敏度是妨碍颜色精度提升的两大障碍。插值会带来什么后果?因为它是靠周围像素的平均值来推算每个像素的颜色值,这就可能导致颜色检测飘忽不定。当系统试图区分色差极其微妙的两种颜色时,你很难判断:这到底是真实的颜色差异,还是仅仅源于拜耳插值算法导致的数字幻象?
这才是需要警惕的地方。
色彩串扰
色彩串扰的严重程度直接影响相机的颜色还原精度。高级别的串扰,本质上是由拜耳滤波器或二向色棱镜涂层对红、蓝、绿通道的光谱响应存在显著重叠造成的。一旦通道间光谱重叠过多,某些色系——尤其是黄色或者蓝绿色这类——就会产生很大的不确定性。

▲棱镜相机中使用的二向色涂层比拜耳滤光片产生更陡的光谱曲线,以最大限度地减少由色彩串扰引起的不确定性。
当系统需要区分这些颜色的不同色调时,这种不确定性就成了大的麻烦。因此,开发彩色视觉系统时,必须搞清楚哪些颜色对分析至关重要,以及你能接受多大程度的色彩串扰。
光照水平和灵敏度
不同的应用对照明环境和高灵敏度有不同的要求。拜耳、三线和棱镜相机在光线传输方式上截然不同,因此感光灵敏度也有显著差异。
举个例子,拜耳滤光片的材料透光率本身就比不上光学棱镜中使用的高级玻璃,再加上其镶嵌式结构,意味着每个像素只能感应到落在它上面三分之一的波长。根据像素的确切颜色,可能有超过一半的光线被滤光片挡住,根本到不了传感器。
基于系统的实际亮度水平和可接受的增益/噪声容忍度,我们就可以为具体应用挑选最合适的相机了。
▲在拜耳相机中,每个像素上的滤波器阻挡了三分之二的光谱波长,大大减少了从场景中捕获的实际光量。通过三个独立的传感器,棱镜相机捕获与每个像素相关的 100%的光。
白平衡和噪音
任何一个使用颜色的机器视觉应用都绕不开白平衡这个问题。如果不对照明光谱进行准确的基线校正,想要捕获真实颜色简直不可能。不同类型的相机,白平衡的实现方式也各不相同。
拜耳和三线相机只能通过给三个颜色通道中的两个通道增加增益(也就是放大)来平衡白色,目的是匹配响应最高的那个通道。但问题在于:增加增益的同时,不仅信号被放大了,图像中的噪声也被同等放大。再加上整体暗光环境需要的额外增益,噪声水平会变得更棘手。如果应用对超低噪声有要求,那么要么增加可用光线,要么干脆换一种相机类型。
相比之下,棱镜相机可以独立控制每个传感器,包括快门速度和增益。这意味着你可以用快门速度来做白平衡——通过延长两个通道的曝光时间来降低响应,或者缩短响应最快的两个通道的曝光时间。延长曝光时间固然也会提升噪声,但增加的幅度远小于增益放大带来的影响。在某些噪声控制要求极高的应用中,这一点本身就足以成为选用棱镜相机的重要理由。
▲彩色摄像机必须是白平衡的,以避免因照明类型和色温而变色。典型的基于增益的白平衡会增加图像噪声。棱镜相机中可用的基于曝光的方法对图像噪声的影响要小得多。
颜色伪像
颜色伪像本质上就是图像缺陷,通常表现为颜色错误的像素点或图案,根源在于色彩信息推导方式。使用估算或插值来计算颜色的相机,最容易出现这类伪像。
不过,即便是能产生独立R、G、B值(无需插值)的三线性相机,也可能因为梯形失真效应、不平整表面或轻微时序变化引发的空间偏移而出现颜色伪像。而棱镜相机因为有三个独立传感器,且使用单一光学平面捕获图像,出现颜色伪像的风险非常低。
常见的颜色伪像类型主要有以下几种:
颜色混叠
颜色混叠指的是:当拍摄的对象带有特定颜色的线条或边缘时,比如一条深蓝色的对角线,在像素级别检查图像时,边缘处竟然呈现红色或黄色像素。这种情况在拜耳相机中最为常见——因为插值算法会混合周围像素的信息,而这些像素的颜色可能和线条或边缘本身完全不同。
▲当插值沿着线和边缘产生错误着色的像素时,会发生颜色混叠。
莫尔图案
除了在捕获单个边缘或线条时带来麻烦,当图像中包含精细的重复图案时,大规模混叠还会引发莫尔图案。任何要捕捉更高空间频率的相机都可能出现这种现象,但拜耳相机由于依赖插值,更容易中招。
▲具有重复颜色混叠的区域中的人造颜色图案可以出现在拜耳图像中。
对分辨率的影响
确定彩色视觉系统的分辨率时,需要比单色系统更加谨慎。因为色彩技术(比如拜耳插值)会明显降低相机的有效分辨率。一台标称500万像素的拜耳相机,经过插值运算后,大量微小细节会被“平均化”,有效分辨率可能只剩下总像素数的三分之一左右。
根据应用必须检测/分析的最小特征尺寸以及覆盖视野大小,你有两种选择:
① 选择分辨率远高于类似单色系统的拜耳相机。这当然会带来更高的价格、更昂贵的光学器件以及主机上更大的处理负担。
② 选择一台棱镜相机,其基础分辨率大致与单色系统相当。300万像素的棱镜相机实际上是一台3×300万像素的摄像头,三个独立的图像传感器加起来就是900万像素。所以它能够输出24位的300万像素图像,而不会像拜耳相机那样存在分辨率损失。棱镜相机虽然比拜耳相机贵,但和采用900万像素拜耳相机所附带的所有系统成本相比,总账算下来差距并没有想象中那么大。
以上讨论主要针对区域扫描分辨率。线扫描系统的情况有所不同:三线性和棱镜相机都不依赖插值,因此这两种技术的有效分辨率不会有明显下降。不过,线扫描相机相关章节讨论的一些问题,可能会影响到三线性相机区分微小细节的能力——但棱镜相机的单个光学平面不存在这些麻烦。
色彩空间和色彩空间转换
开发系统时,必须确定哪种色彩空间最适合你的应用。具体选择取决于应用的用途和颜色信息的分析方式。
例如,如果只是简单地在屏幕上显示物体,标准RGB色彩空间自然是最直接的,因为所有显示器都是用这种方式构造颜色的。但如果涉及印刷材料,像Adobe RGB这样的色彩空间或许更合适——它能提供更广泛的颜色选择范围,更适合数字印刷。
其他色彩空间,比如HSI(色调、饱和度、强度)以及CIE XYZ或CIE L*a*b*,则利用数学坐标来描述颜色,使某些应用在计算颜色匹配和颜色差异(包括程度和方向)时更为便捷。
在大多数应用中,你会在主机上用算法将来自相机的RGB数据转换为最适合你的色彩空间。但在某些场景下,你可能希望相机直接完成转换,从而让主机处理资源去专注于其他任务。这种情况,选择一款内置色彩空间转换功能的相机就更值得了。
色彩增强和色彩优化
有些情况下,有意改变颜色的准确性反而是有价值的。这时,色彩增强和优化功能就值得纳入开发考量。
比如,要检测图像中的特定偏差,或者把两个对象区分开,有时候增强特定颜色会有奇效。举个例子:增强图像中的红色,血细胞和组织之间的区分就会变得非常明显。
当然,在主机上捕获图像后,可以通过算法增强颜色。但后处理增强的速度会受到原始图像饱和度或对比度的限制。一些相机本身配备了色彩优化功能,允许用户将特定主色或互补色的增强幅度提高到200%(两倍)。系统开发者应当仔细权衡:这样的功能能否为自己的应用增加价值?或者能否帮助系统在竞争中拉开差距?
▲颜色增强功能可以强调图像中的特定颜色。
