热成像FPGA的FLIR加快发展

挑战

加快先进热成像滤波器和算法对FPGA硬件实施

使用MATLAB开发,模拟和评估算法,并使用HDL编码器来实现在FPGA上最好的算法

结果

  • 从概念到现场测试原型的时间减少了60%
  • 增强以小时为单位,而不是几个星期完成
  • 代码重用从零提高到30%

“有了MATLAB和HDL编码器我们更响应市场需求。我们现在拥抱变化,因为我们可以采取一个新的理念,实时功能的硬件原型在短短的几个星期。有工程更多的快乐,所以我们增加了工作的满意度以及客户满意度“。

尼古拉斯Hogasten,FLIR系统
原始图像(顶部)和图像后应用过滤器开发的HDL编码器(底部)。

红外热成像摄像机广泛应用于商业应用,包括安全、消防、气体泄漏检测和测试测量。相机内的fpga对传感器和检测器产生的信号进行滤波和处理。通常,将一个新的信号处理概念转换成实时运行在生产摄像机上的算法是一个漫长的过程,因为硬件工程师必须将算法工程师开发的算法转换成HDL,而不了解这些算法是如何工作的。

在FLIR系统工程师开发和模拟MATLAB高级算法®然后迅速实现它们与HDL编码器的FPGA。FLIR图像处理技术经理Nicholas Hogasten说:“过去,我们很少向客户展示模拟场景,因为把我们的想法变成产品需要很长时间。”“最近,我们向一个关键客户展示了一些新型热成像滤光片的模拟,这是我们开发过的最复杂的滤光片。几个月后,我们向客户展示了第一个使用这种新滤镜的摄像头,客户欣喜若狂,摄像头的性能完全符合MATLAB的模拟。”

挑战

FLIR早期开发过程中的困难源于开发新思想和算法的算法工程师和在fpga上实现算法的硬件工程师之间的脱节。算法工程师将评估降噪或动态范围压缩的新技术,然后将书面规格交给硬件工程师,他们可能不完全了解这些算法。

“通常情况下,FPGA实现不会像我们的模拟表演,我们从来不知道是否有与执行或与算法有问题,” Hogasten说。“同时,由于硬件工程师没有足够的算法有深刻的理解,他们不知道什么假设是安全的优化它做。如果我们后来做了一个小的增强算法,大多数HDL的潜在不得不重写“。

FLIR为使用MATLAB和HDL编码器开发基于fpga的热成像算法建立了新的工作流程。

算法工程师使用MATLAB和图像处理工具箱探索基于形态运算及多维图像滤波新的算法。

这些工程师选择执行的算法和识别算法组件映射到目标FPGA硬件。在这个分区,球队图像处理工具箱代替高级功能的MATLAB代码,支持代码生成。万博1manbetx图像处理工具箱算法提供一个黄金参考,缓解的FLIR的定制MATLAB代码验证。

为了实现位真模拟和分析,工程师在HDL编码器中使用集成的浮点到定点工作流,利用定点设计器将浮点MATLAB算法自动转换为包含算法和数据类型的定点MATLAB代码

为了支万博1manbetx持在FLIR使用其他测试环境中,团队使用MATLAB编码器以从所生成的定点MATLAB代码C代码和MEX-文件。

接下来,研究小组使用HDL编码器的MATLAB算法生成可综合的HDL代码。HDL代码然后被实现,并且在FPGA上测试,并将结果与​​来自定点MATLAB算法结果验证。

在相关项目中,工程师们使用MATLAB编译和图像采集工具箱构建获取使用多种算法从摄像机和帧接收器,处理它们的图像,并显示结果的应用程序。此应用程序使其他FLIR工程师评估算法的输入范围内,即使没有安装他们MATLAB。

结果

  • 从概念到现场测试原型的时间减少了60%。“有了MATLAB和HDL编码器,我们省去了手工将初始算法翻译到HDL的步骤,”Hogasten说。“现在算法开发人员可以自己制作FPGA原型,这将原型制作时间缩短了60%。”

  • 增强以小时为单位,而不是几个星期完成。“最近,我问我们的一位工程师做出显著算法更改为核心过滤器,” Hogasten报告。“三个小时后,他已在MATLAB的变化和重新部署算法使用HDL编码器的FPGA。此前,该类型的改变将需要6周“。

  • 代码重用从零提高到30%。“我们现在拥有的算法,简单的组件和MATLAB代码,已经验证了HDL代码生成一个共同的信息库,” Hogasten说。“以前,我们不得不几乎没有代码重用,但今天我们重用我们的MATLAB代码30%,生成HDL其他项目。”