迄今为止,人们尚无法在高数据率的多相机系统中采用立体光学测量法。在MSTVision所采用的方法中,他们借助Silicon Software的FPGA图像采集卡进行加速,即可轻松实现立体光学测量法。
客户
■ MSTVision GmbH
■ 地点:德国,美因茨
■ 行业:机器视觉
■ 应用实施:2018年
01 应用
MSTVision是工业图像处理领域中定制解决方案的开发服务供应商,专注于在Silicon Software的VisualApplet开发环境中开发Halcon软件库及FPGA解决方案的脚本。此外,这家位于美因茨的公司还会在自有实验室中针对客户的开发项目,进行可行性测试和概念研究。
在单张图像中,几乎无法将目标对象上的纹路结构与其表面本身属性区分开来。在立体光学测量法中,人们往往通过从不同方向为目标对象打光,再使用同一台相机拍摄至少三张、通常是四张图像。
系统一般会利用采集的数据结果(结构、X导数和Y导数和平均曲率)计算得出四张图像。通过这种分离表面属性和纹路结构的方法,可以对产品进行准确的评估。
但由于CPU要在短时间内进行密集的计算,因此通常无法达到生产过程中所要求的周期时间。通过在FPGA中实现图像采集和计算功能,就可以大大加快上述计算过程。
02 解决方案和优势
Robert J. Woodham早在约40年前就已经引入了立体光学的基本测量法。相机的位置固定,但光源从不同的方向照射被拍摄对象,拍摄多张图像。
基于已知的几何体,这种方法可以计算出曲面法线的方向,进而又可以确定目标对象在每个图像像素处的表面曲率和反射行为(反射率)。
这种方法可以有助完成多种任务,例如区分药物包装上的压印(反射图像,albedo image)和盲文(曲率图像,curvature image)。
顶部:4张输入图像以及数字相机拍摄的图像
底部:平均曲率图像和反射图
由于某些表面缺陷只能通过曲率图像才能有效地检测出来,因此这种检测方法越来越普遍。然而,立体光学测量法涉及大量计算,即便现代处理器也没有足够的计算能力实现无缝的表面检查。
正因如此,MSTVision已成功在Silicon Software的microEnable 5 marathon VCLx图像采集卡的FPGA中实现了立体光学测量的全部计算。借助VisualApplet,Silicon Software提供了一个开发环境,让FPGA能够利用自身的功能来增强性能。图像采集卡还能处理分段光源的驱动控制和图像采集同步。
Basler ace acA2040-180km所采集的四张“原始图像”会直接在FPGA中处理,不会增加CPU的工作负载,然后图像采集卡会将立体光学测量法的计算结果以四个可选图像的形式呈现出来。
基于FPGA的立体光学测量法:设置和效果
1. 平均曲率 2. X导数 3. Y导数 4. 结构
由于FPGA可进行大量的并行处理,因此能以极高的数据速率进行计算,并让每个图像采集卡实现低功耗运作。图像采集卡microEnable 5 marathon VCLx的处理速率可高达1 GB/s。
在实际应用中,带宽会受到应用的CameraLink接口以及可用的内置储存器 (Block RAM)的限制。但是,系统可以显示高达755 MB/s的带宽。相比之下,Intel i5-8400的处理速率只能达到220 MB/s。
尽管到目前为止还不能实现高数据速率的立体光学测量过程,但现在借助FPGA的性能加速已经使之成为可能。将计算任务放到图像采集卡上进行,这也有助实现更精巧的系统架构。
此外,这项技术还可以与MSTVision未来提供的高速分拣技术合二为一。相信在不久的将来,使用Silicon Software基于FPGA的深度学习解决方案也会是市场自然选择的发展步骤。
相关技术
■ 相机:Basler ace acA2040-180km
■ 图像采集卡:Silicon Software microEnable 5 marathon VCLx