1. 为什么要关心相机系统的成像质量?
计算机视觉(Computer Vision,下文简称“CV”)的任务是分析来自成像设备的图像或视频流。一些简单的应用,如物体计数,可能不太依赖于良好的相机成像质量。
但是对于更高级的计算机视觉应用来说,由于环境照明和成像距离的限制,整个视觉系统的质量将取决于相机系统的成像质量;当视觉系统出现的错误可能导致影响安全的决定时,这一点就越来越重要。除了对CV模型进行适当的优化外,确保该模型由高质量的摄像系统提供图像,可以最大限度地提高系统的性能。
2. 故障模式和缓解措施
在决定应用CV系统前,应尽量在将使用的场景环境中测试成像系统,否则,可能会出现不可预见的系统故障。
在一个受控的环境中执行CV任务要容易得多。具有挑战性的环境条件会加剧视觉系统的设计和构建问题。通常情况下,基本的相机测试(一般在实验室的测试条件)可能没有现实世界那么具有挑战性。
下面我们简单举例一些您比较关注的故障模式(但这些不能涵盖所有)
➭ 工作距离之外导致空间分辨率/MTF的损失
如果目标物体在景深(DoF)之外,系统就不会有足够的分辨率。对于固定焦距成像系统,可以通过将景深的外部极限与超焦距对齐来缓解这一问题,这样设备在远距离就会有足够好的分辨率,但在中距离也有合理的对焦效果。
➭ 热膨胀导致空间分辨率/MTF的损失
由于温度和压力的差异,镜头外壳的机械性能可能会随着海拔高度升高而有显著的变化。因为温度和压力差异导致的膨胀/收缩,使设备的镜头不能正确聚焦,这在汽车和航空航天应用领域尤其值得关注。可以用温度箱来确保设备在它将被使用的温度范围内都可正常运行,这是全面测试方案的一部分。
➭ 运动模糊导致空间分辨率/MTF的损失
在捕捉短暂的瞬间,少量光子可以冻结一个短暂的时间,但可能伴随着低曝光(见下文)或显著的噪声,一个较长的曝光是为了暴露黑暗区域的细节,但代价是失去移动物体的细节,两者之间存在着权衡。
对成像系统来说,成像系统的运动或场景中物体的运动会导致成像主体的模糊。通常情况下,这种模糊只在一个方向上。拥有更高的量子效率的传感器,以及增加场景的照明可以缓解这些问题。
➭ 曝光时间不足导致信号损失
曝光不足的原因是传感器像元的积分时间太短。信号处理,特别是色调映射(tone mapping),可以用来提高暗部区域物体的分辨率。这些程序提供的对比度增强的同时也会带来额外的噪声,因此信噪比会随之下降。
➭ 主射线角度的增加会导致信号损失/串扰的损失
当光线的角度,即主射线角度,垂直于像素时,像素是最敏感的。随着角度的增加,镜头渐晕/不均匀性可能会导致到达像素敏感区域的光子减少。这个问题随着从传感器中心向角落移动而增加。
这种影响还可能导致相邻的像素之间出现串扰或扩散。这对超广角视场相机来说是一个挑战,因为镜头的像圈并没有完全覆盖传感器的区域。
这可以通过先进的传感器技术来缓解,如深沟隔离,通过使用弯曲传感器,或具有颜色过滤阵列的传感器,使微透镜适应透镜设计。
➭ 过度曝光/饱和导致信号损失
过度饱和意味着图像在该区域是无法恢复的,这一点在后期处理也是无法修复的。如果发生这种情况,相机感知的信息将被有效地蒙蔽。
对于某些场景,如直接盯着太阳,或直接盯着车灯,会出现局部过度曝光。如果您的ISP试图对一个超亮的光源进行良好的曝光,那么图像的其他部分会出现曝光不足的情况;其他明亮的区域可能需要适当的曝光,计算机视觉才能成功。
例如,如果您需要能够区分RCCB图像传感器中的黄色和橙色交通信号,避免过饱和可以实现基于颜色差异的评估,否则就不可能。
➭ 低动态范围
低动态范围的相机可能会试图寻找一个好的曝光,这可能会导致在同一场景中出现曝光不足和曝光过度的组合。这是在混合光照场景中的最大挑战,如隧道、户外的门/窗、分割阴影/阳光,或场景中的阳光。
现代传感器可以使用图像融合技术来最大限度地提高有效的动态范围值,而不需要获取相机的深度。
➭ 杂散光的影响
明亮的光源,如太阳或车灯会导致杂散光在成像系统的镜头之间做内部反射,并影响成像画面。这可能表现为鬼影图像,虚假地显示为物体,通常与光源的径向相反。鬼影图像可能会阻碍检测。这可以通过防反射涂层和镜头罩/挡板来缓解,以防止FOV以外的光线进入镜头。
➭ 光学畸变
如果您使用未发生畸变的数据集训练模型,您可能会发现接近广角鱼眼镜头外部范围的物体的几何压缩没有被正确检测出来。
这可以通过充分增加您的训练数据集和使用对相机内在的理解来应用几何变形校正来缓解。
➭ LED频闪和卷帘曝光有可能丢失脉冲源的捕捉
在包括脉冲宽度模块(PWM)LED信号灯在内的明亮照明条件下,特定像素集的有限曝光时间可能会导致时间混叠,用于人类观察的脉冲光或消失或闪烁,以一种可以模糊计算机视觉系统识别信号意图的能力。
在卷帘曝光的情况下可能会因为脉冲源的捕捉丢失给计算机视觉系统造成交通灯消失的假象,刹车灯也可能会被误认为是转向灯。这可以通过使用具有LED闪烁缓解(LFM)技术的传感器来缓解。
3. 部分应用实例
在这篇文章中,我们无法详尽地模拟每一种可能的应用程序故障模式,但我们将考虑影响图像质量的两个最重要的因素:分辨率和噪声。
您也可以扩展这些例子(使用基于OpenCV的免费/开源的工具)所使用的方法,以适应您的具体应用。
➭ 文本识别
这可以是阅读书籍或识别车牌。有足够的传感器像素来解析物体是必要的,但还不足以执行此任务。在本研究中,将使用Python的Tesseract库来对图像进行OCR:
➭ 二维码读取
随机创建一个二维码(用作示例),使用OpenCV二维码识别来识别二维码。因为二维码的错误保护导致它只产生二进制的结果,所以结果看起可能不太令人满意。
➭ 面部识别
为了减少肤色偏差,我们选择了一个包含不同肤色的参考图像。参考的面部图像中存在的明显边缘伪影,混淆了检测程序。
我们应用OpenCV中的HAARCascade分类器进行面部识别并统计人脸数量。(此方法无法评估识别面的准确度或任何误报)
4. 模拟故障模式
我们使用Wand python接口到ImageMagick库,以增强输入图像。虽不是最先进的模拟,但它能够相对简单地应用模糊和噪声级别。
➭ 清晰度
我们使用wand/ImageMagick的模糊过滤器来降低我们的图像。高斯模糊函数与真实镜头所产生的模糊函数不完全相同,但它可以作为一个近似值。
下面是经过模糊处理的图像的一个子集。
➭ 噪声
我们使用wand/ImageMagick的噪声函数来创建高斯噪声。这可能与真实的图像传感器产生的噪声的频率分布不完全相同,但它可以作为一个近似值。
这些例子只是针对纯粹的模糊和噪声。虽然我们将模糊和噪声合并为两个维度来考虑,但更多的考虑维度也是必要的。
5. 结果
我们使用Imatest基于标准的分析程序,用MTF(调制传递函数)确定清晰度,用SNR(信噪比)确定噪声。
首先是Imatest目标生成器库产生的eSFR ISO测试卡的图像:
我们从单一的斜边分析得到MTF50,从阶调色块分析SNR。用这些客观的图像质量指标来取代ImageMagic使用的任意噪声和模糊水平。这能够为我们的相机系统确定适当的质量要求。
下图显示,噪声和清晰度指标在整个模拟集上大多是相互正交的。这对于在噪声较大的图像上进行清晰度测量有一定的影响。
为了防止信噪比渐近到300以上,甚至是无穷大,我们对无噪声图像限制为50即为的“最大信噪比”。
接下来,我们将这些客观指标应用到图中,用一个可以与相机系统性能相联系的客观指标取代任意的“噪声水平”和“模糊水平”。
➭ 文本识别
我们发现模糊/SFR与文字识别的成功率有很大的关系。在中度模糊、低噪声的情况下,有一些检测结果在没有噪声的情况下会变得异常糟糕。
➭ 二维码识别
在信噪比低于20dB和MTF50低于0.3 Cycles/pixel时,二维码故障开始持续发生。
➭ 面部识别
这是最具挑战性的任务,良好的面部识别需要高信噪比和MTF值才能成功。
6. 总结
本次探讨了客观图像质量与各种计算机视觉程序的性能相关,探索了一些执行各种计算机视觉任务的不同方法,并考虑了应用的噪声和模糊模拟如何影响我们执行的识别任务。
可以此作为一个框架,继续改进模式识别系统,同时充分考虑输入质量如何影响我们执行计算机视觉任务的能力。希望这对帮助您建立用于执行CV任务的相机成像质量要求能有所帮助。
Was this helpful?
1 / 0