图像预处理功能可以加强和简化图像处理系统
在图像采集卡上进行的图像预处理是图像处理过程中的核心步骤,处理过程涵盖从相机采集图像、图像采集卡处理再到主机PC输出结果。在传输数据到后续处理步骤时,图像预处理功能可以针对各自的应用来优化图像数据,实现安全传输并且不会丢失系列图像,保证系统平稳运行。进行图像预处理是为了准备数据,以简化进一步的处理步骤,并减轻主机PC的处理负载。
图像预处理功能包括为图像提供更好的可视化效果,以凸出显示某些细微的或者会对后续处理(划定区域、图像分割和特征提取)构成重要影响的属性或结构。这些步骤通常是在完整的原始图像上进行的,其中包括根据图像信息和JPEG图像压缩来自动选择图像区域(感兴趣区域,简称ROI)——稍后本文将对此进行详细介绍。
在预处理过程中要使用什么处理步骤,这具体取决于相机芯片的现有成像质量。相关步骤既由图像采集卡的FPGA处理器执行,也会由相机本身、视觉感光芯片或嵌入式系统等其他视觉硬件执行。在所有这些视觉设备上,简单易用的VisualApplets图形化开发环境都可以在FPGA上实现一系列的预处理功能,并提供完整的图像处理解决方案,因此能够实现具有实时功能的系统。
在相机中进行的预处理
对于不需要图像采集卡的USB3 Vision和GigE Vision等相机接口以及嵌入式系统而言,预处理步骤可直接在相机和芯片中进行。如果相机接口(例如GigE Vision)或计算机接口仅能传输有限数量的数据,或使用的是计算能力较低的嵌入式系统时,那就有必要始终在相机和芯片中进行预处理。通过减少相机中已有的数据量,可以缩短传输和分析的持续时间,从而提高应用程序的吞吐量。
Basler相机已提供一套基本的预处理功能,例如去拜耳化、去伪彩、锐化增强和降噪。此外,预处理功能还能大大提高图像的亮度、细节和锐度,同时降低了噪声。如果可编程图像采集卡提供了预处理扩展,那就可以执行复杂的计算,例如滤光片操作和颜色空间转换,从而释放CPU负载。
图像采集卡提供的预处理功能扩展
对于许多相机接口(例如CoaXPress、Camera Link和Camera Link HS)来说,图像采集卡都是必要的,对于具有实时要求或数据量大的应用而言更是必不可少的。图像采集卡可直接在FPGA上进行更广泛的预处理。如果图像处理系统使用标准的图像采集卡设置,则它通常包括高质量的去拜耳化、显示查找表(LUT)和镜像等预处理功能,具体取决于不同的应用。借助可编程的图像采集卡,用户就可获得多样化的功能:
坏点补偿
白平衡
阴影校正
平场校正
删除模糊区域
通过均值或使用不同的滤光片(例如平滑滤光片)降低图像中的噪声
使用高动态范围(HDR)补偿图像中过亮或过暗的区域
几何校正可以使结构形状正常化,例如通过仿射变换
增加对比度,例如在图像采集过程中使用显示查找表(LUT)以及直方图来进行展平或拉伸
颜色空间转换
筛选
此类一系列的预处理也可以在所有兼容VisualApplets的视觉设备上实现,具体取决于实际的计算能力。这使得相机和其他视觉硬件都能实时使用,从而开辟新的应用领域。借助VisualApplets,无需具备专业的FPGA电路和计时知识也能使用。因此,应用程序或软件工程师也能轻松实现相关功能。
下载VisualAppletsBlob分析
VisualApplets的开发潜能远远超出了图像预处理的范畴,它可以处理许多图像处理任务,例如Blob分析。Blob分析可以将相关的像素区域分隔为不同的目标对象,并与背景分隔开来,然后将面积、轮廓长度和边界框坐标等属性分配到每个目标对象(分类)。如果在预处理期间已经完成此步骤,那甚至在第一次保存数据之前就已经将大部分的图像分割工作转移到预处理步骤。
通过JPEG压缩减少数据量
近年来,感光芯片和色彩处理的速度更快、处理量更大,因此将图像数据从相机传输到图像采集卡所用的带宽也在不断增加,例如,具有四个链路的CXP-12带宽为5 GBps。为了处理这些图像数据,JPEG压缩功能可以大大减少图像数据量。例如,在汽车工业激光焊接中,JPEG压缩可以将数据传输量从100 MBps(图像采集卡的输入带宽)降低到大约5 MBps。另一方面,通过减少传输单个图像所需的数据量,还可以显著提高帧速率。对于直接在相机中执行JPEG压缩的应用来说,提高帧速率特别有意义,这样可以更高效地使用传输路径来缓解瓶颈效应。
驱动器和触发信号的控制
图像采集卡要使用信号处理来控制相机的触发信号、光源和驱动器,以及通过数字I/O接口评估芯片,还可以实现复杂的控制回路和预处理组合。例如,可以通过图像预处理功能进行曝光测量,以便对相机的照明或触发进行校正控制。
稳健、快速、高效的图像处理功能
总而言之,图像预处理技术可确保对包含大量计算的算法进行加速,以提高应用程序的性能。此外,还可以通过提高数据传输量来高效处理分辨率和带宽极高的图像数据,从而提高图像分析的精度和鲁棒性。这样就能安全地利用高速相机的完整带宽进行传输,同时释放主机PC的CPU和后续分析软件的工作负载。
借助VisualApplets,最终用户无需具备硬件编程知识,就能轻松在FPGA上实现图像预处理功能。当应用需求发生变化且无需安装新相机的情况下,最终用户可以灵活调整相机、图像采集卡和其他视觉设备的功能范围,仅需较短时间就能完成。
优势概览
可使用更简单的相机接口
可增加数据传输量
可通过低成本接口(GigE)实现具有成本效益的系统设计
可对包含大量计算的算法进行加速
可提高应用程序的性能
实时图像处理功能可以开辟新的应用
可使用计算能力相对较低的处理器
可使用优化的神经网络
可节省进程间通信(IPC)
可降低CPU负载
可提高图像分析的精度和鲁棒性
无需进行内部开发
应用示例 - 高效应对图像处理任务,获得最佳成效
图像处理任务的一项常见应用是色彩重建(去拜耳化)以及颜色空间和位宽度转换,它可以将相机的原始图像通过相机接口全速传输出来,从而实现带宽最大化。因此,图像采集卡可以为主机PC提供已处理完毕的图像。
高动态范围(HDR)、JPEG压缩、自动ROI选择或3D激光三角测量等应用都可以在预处理的阶段有效地减少数据量。
照明和图像失真校正可提高成像质量,从而简化后期处理步骤中的分析过程。
物体分割和特征提取(Blob、重心、角度、偏心度、图像矩等)提供了进一步的属性处理,以便进行分类。
在印刷检测中,必须要对所采集图像的精确位置进行识别和对齐,以便与母版进行比较。可使用子像素精确几何失真校正功能,将色彩伪影降至较低水平。然后通过自动位置检测来与边缘或图像特征对齐。