0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CPU和FPGA的机器视觉算法分割

Xilinx赛灵思官微 来源:djl 作者:赛灵思Steve Leibso 2019-07-23 10:04 次阅读

本篇讨论的是有关CPU(在Zynq SoC中是指ARM处理器核)和FPGA的可编程逻辑架构之间的机器视觉算法分割。

美国国家仪器公司(National Instruments)的Carlton Heard在新一期RTC杂志刚刚发表了一篇内容翔实的标题为《FPGA –将视觉技术提升至新高》的机器视觉处理方案文章,Heard写道:
“视觉应用程序必须依靠其他解决方案,而不是简单地依靠更快的处理器来提高速度。一种选择是分割图像处理算法,并行处理更多任务,在视觉应用程序当中使用的算法非常适合于这样处理。如SSE 、超线程和多核技术可以用于在不增加原始时钟速率的情况下并行处理、执行多个任务。不过,选择这种方法也需要处理多个问题。除非所使用的软件包将复杂性进行抽象化,否则难以使用多线程编程软件。必须在线程之间传送数据,这样会出现存储器拷贝和同步抖动。此外,它通常是一个手动过程,以利用现有的单线程图像处理算法,并兼容多内核。即使这样,开销问题往往禁止过多的并行处理,因为大多数系统设计人员无法为所创建的测试单元购买16内核服务器级计算机。”

“使用FPGA的好处在于,它基本上是由软件定义的硬件。因此,系统设计人员可以在软件芯片中编程,并且当该软件下载到FPGA,代码变成可根据需要重新编程的实际硬件。由于FPGA实际是并行设备,使用FPGA进行图像处理特别有利。可将算法分割运行数千种不同的通路,并能保持完全独立。虽然FPGA本身是非常适合许多视觉应用程序的,但系统中还存在很多因素不适合在FPGA上运行。评估是否要使用FPGA进行图像处理需要考虑多项因素。

“ FPGA处在处理图像时具有令人难以置信的低延时(微秒数量级)...当使用具有高速相机总线的FPGA,如不缓冲的图像数据的Camera Link,只要第一个像素自相机中发出,FPGA就可以处理图像,而不要等到整个图象读出已经完成后再处理。”

“ FPGA可以帮助避免抖动。因为 FPGA不会因为其他线程、操作系统或中断产生额外的开销, FPGA具有很好的确定性。对于许多图像处理算法来说,FPGA能够将所确定的执行时间精确到纳秒。”

Heard的文章延续了系统级功耗限制的讨论,这样的讨论有利于FPGA在视觉系统中的应用。

“一个FPGA可消耗1-10瓦的功率,而同样性能的CPU会轻易消耗50-200瓦。功耗较大,就必须消散大量的热量。在无风扇嵌入式应用程序中,这可能会造成更为复杂的大型机械设计。所以,在极端条件下如太空,空中和水下应用中,低功耗FPGA特别有用。”

Heard的文章列出了机器视觉的四个主要应用类别:

1、可视化

2、高速控制

3、图像预处理

4、协处理

•“可视化”,从相机拍摄图像并进行调整,以增强图像显示效果以适应人眼观看。在这种情况下,FPGA从相机读取图像,执行某些类型的并行处理,如突出显示边缘和关注功能或掩蔽功能。然后在FPGA直接输出图像至监视器或将其发送到主机CPU进行显示.....例如,使用医疗设备拍摄图像,提取细胞图像显示在监视器上供医生检查。FPGA可用于测量每个细胞的大小和颜色,并突出显示医生关注的特定细胞。

• 高速控制应用程序,采用已处理图像控制输出,以执行控制执行器等任务。“在这些应用中,捕获图像和执行操作之间的时间必须连续而且短暂,因此应优先使用具有低延迟和低抖动功能的FPGA。FPGA与视觉和I / O紧密集成可启用高级应用程序,如视觉伺服,视频数据被用于定位直接反馈并控制伺服电机。”

Heard的文章清楚地说明在激光跟踪中通过使用具有确定性的,低抖动的,基于FPGA视觉系统来显著减少错误(而不是使用基于CPU系统):

CPU和FPGA的机器视觉算法分割

“FPGA非常适用于做空气成分分选,比如需要执行成像、检验和对正在下降的空气进行分选等。这类应用程序低抖动至关重要,因为必须要知道决策和I / O的时间间隔。”

“图像预处理、协同处理几乎相同,区别在于设备初始捕获图像......预处理图像时,图像数据遍历FPGA ,被修改或增强,然后FPGA将图像发送到主机以进行进一步处理和分析。协处理指图像数据自CPU还不是自相机发送到FPGA 。一旦捕获数据需要处理大量图像时这种情况是最常见的”

Heard的文章清楚地说明了美国国家仪器公司使用LabVIEW FPGA扩展了LabVIEW 图形开发平台,可加速复杂视觉处理系统开发:

“通常情况下,使用FPGA会增加设计的复杂度。硬件编程与传统软件编程的显著差异是一条复杂而不平凡的学习曲线。然而,高层次综合工具如LabVIEW FPGA的可用于将这些复杂度抽象化,设计师能够充分利用FPGA技术,不需要对VHDL编程有深入的了解。”

如果设计团队更熟悉其他类型的开发工具也可以采取其他方法。例如,如果开发团队非常熟悉采用高级编程语言的C和C + +、Xilinx Vivado HLS (高层次综合)编码视觉系统可在 Xilinx 7 系列 All Programmable 器件 和 Zynq All Programmable SoC利用这些语言编译将这些算法编写成硬件描述。

许多视觉系统开发团队所熟悉的其他种类的视觉专用开发工具,如MVTec的综合开发软件HALCON 和Silicon Software Visual Applets图形设计工具。这些工具也可以针对Xilinx All Programmable器件,使用低功耗可编程硬件提高视觉性能,而无需学习新的设计风格。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21620

    浏览量

    601169
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10802

    浏览量

    210774
  • 机器视觉
    +关注

    关注

    161

    文章

    4320

    浏览量

    119969
收藏 人收藏

    评论

    相关推荐

    基于FPGA机器视觉设计

    大规模集成电路的迅速发展,机器视觉技术得到了广泛的应用研究,取得了巨大的经济与社会效益。 机器视觉系统主要由3部分组成:图像的获取、图像的处理和分析、输出或显示。本文介绍了基于
    发表于 09-04 12:14

    机器视觉算法与应用(双语版)

    与缩放的模板匹配3.11.5 可靠的模板匹配算法3.12 光学字符识别(OCR)3.12.1 字符分割3.12.2 特征提取3.12.3 字符分类4 机器视觉应用4.1 半导体晶片切割
    发表于 06-29 13:48

    机器视觉系统组成及定位算法分析

    :基于滤波器的定位算法主要有KF、SEIF、PF、EKF、UKF等。也可以使用单目视觉和里程计融合的方法。以里程计读数作为辅助信息,利用三角法计算特征点在当前机器人坐标系中的坐标位置,这里的三维坐标计算需要
    发表于 06-08 08:30

    照明对机器视觉应用有什么影响?

    机器视觉系统中的照明系统是极其重要的一部分,如何选择光源方案,它的好坏直接影响着后面的图像处理。合适的照明是机器视觉应用成功的关键,通过适当的光源照明设计,使图像中的目标信息与背景信息
    发表于 08-02 06:40

    机器视觉系统应用于标签外观视觉检查!

    聊聊在标签外观检查方面的应用!   思普泰克智能制造机器视觉检测设备主要由CCD传感器、光学系统、图像采集单元、 图像预处理单元、图像分割、定位、计算单元以及机械运动平台等部分组成。CCD摄像头、图像
    发表于 11-18 16:13

    深圳机器视觉led光源有什么优势

    的LED,会在综合成本和性能方面体现出更大的优势。在机器视觉系统中,通过适当的光源照明可以将被测物体的目标信息与背景信息区分,以获得高品质,高对比度的图像,从而可以降低图像处理算法的难度,同时提高系统
    发表于 01-11 10:54

    CPUFPGA机器视觉算法分割

    本篇讨论的是有关CPU(在Zynq SoC中是指ARM处理器核)和FPGA的可编程逻辑架构之间的机器视觉算法
    发表于 05-31 09:17

    基于交叉视觉皮质模型的图像快速分割算法

    为了使光学图像分割处理达到实时性标准,本文引入了具有生物学背景的交叉视觉皮质模型用于图像分割。在不降低分割效果的前提下,将交叉视觉皮质模型的
    发表于 05-15 11:08 0次下载
    基于交叉<b class='flag-5'>视觉</b>皮质模型的图像快速<b class='flag-5'>分割</b>新<b class='flag-5'>算法</b>

    基于改进的SLIC像素分割算法

    近年来,超像素算法被应用到计算机视觉的各个领域。超像素捕获图像冗余信息,降低图像后续处理的复杂度。超像素分割作为图像的预处理过程需要满足图像处理的实时性和准确性。在SLIC算法的框架下
    发表于 11-22 16:34 3次下载

    视觉显著性目标分割提取

    图像分割在许多图像处理和机器视觉问题中是一个非常重要的过程,是将一幅图分割成几个显著的区域,然而不能将其中最显著的目标直接分割出来,需要进一
    发表于 12-06 14:27 0次下载

    机器视觉应用,CPU还是FPGA?资料下载

    电子发烧友网为你提供机器视觉应用,CPU还是FPGA?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮
    发表于 03-29 16:51 7次下载
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b>应用,<b class='flag-5'>CPU</b>还是<b class='flag-5'>FPGA</b>?资料下载

    什么叫机器视觉机器视觉和嵌入式有什么关系?

    、理解和处理图像或视频数据,以实现自动化的视觉分析和决策。机器视觉通过使用各种算法和模型,对图像或视频进行各种处理和分析,例如目标识别、图像分类、目标检测、图像
    的头像 发表于 08-07 08:09 1151次阅读
    什么叫<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>?<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>和嵌入式有什么关系?

    计算机视觉的十大算法

    视觉技术的发展起到了重要的推动作用。一、图像分割算法图像分割算法是计算机视觉领域的基础
    的头像 发表于 02-19 13:26 1169次阅读
    计算机<b class='flag-5'>视觉</b>的十大<b class='flag-5'>算法</b>

    机器视觉技术中图像分割方法有哪些

    机器视觉技术是人工智能领域的一个重要分支,它涉及到图像处理、模式识别、机器学习等多个学科。图像分割机器
    的头像 发表于 07-04 11:34 660次阅读

    机器视觉技术中常见的图像分割方法

    机器视觉技术中的图像分割方法是一个广泛且深入的研究领域。图像分割是将图像划分为多个区域或对象的过程,这些区域或对象具有某种共同的特征,如颜色、纹理、形状等。在
    的头像 发表于 07-09 09:31 380次阅读