嵌入式视觉设计要创新,选择FPGA成关键

嵌入式视觉设计要创新,选择FPGA成关键,第1张

  什么样的积极创新可以帮助您设计出这样一个系统——它能够提醒用户有儿童在游泳池中溺水,或是有入侵者试图闯入住宅或者办公场所?这种技术还能够提醒驾驶员道路上即将发生的危险,甚至可以制止他们并线、加速及其它可能会给自身或他人带来危险的 *** 作。它能够给军用无人机或其他机器人配上电子“眼”,使这些设备部分实现甚至完全实现自动化 *** 作。它能够协助内科医生诊断患者的病情。它能够准确地进行面部识别,随后启动一系列 *** 作(例如自动登录用户账号,或者获取相关新闻及其它信息),解读姿态, 甚至觉察人的情绪状态。与GPS、指南针、加速计陀螺仪和其他功能配合,它还能够提供数据强化(data augmented) 的场景再现。

  上面谈到的应用实例都采用了一项共同的技术,即嵌入式视觉。该技术正准备书写新一代电子系统的成功篇章。嵌入式视觉最初应用于组装生产线检测、光学字符识别、机器人、监视和军用系统等传统的计算机视觉应用。不过近年来,随着关键技术构建块成本的不断下降以及功能的不断丰富,嵌入式视觉技术不断向主要的大批量市场加速渗透。

  嵌入式视觉指的是能够通过视觉方式理解其所处环境的机器。“嵌入式”的意思指内置图像传感器的非通用型计算机系统。比如,嵌入式可以是手机、平板电脑、监视系统、地面或者具备飞行能力的机器人、安装有一套 360°摄像头的车辆或者是医疗诊断设备。它也可以是有线或者无线用户界面外设。这方面微软针对 Xbo x360 游戏机提供的 Kinect 可能是最好的例证,上市头 2 个月就销售出 800万件。

  FPGA 的商机:案例研究

  可供选用的稳健可靠的嵌入式视觉处理产品丰富多样,如微处理器与嵌入式控制器、专用 SoC、DSP图形处理器、ASICFPGA。FPGA 是一款用于实现嵌入式视觉技术的极富吸引力的芯片平台,因为它将 ASIC的高性能和低功耗硬件以及可运行在CPUGPU 或 DSP 上的软件算法的灵活性和快速上市优势集于一身。在嵌入式视觉市场处于襁褓时期的当前阶段,灵活性具有特别重要的意义。因为为了支持多样化的算法选择,迅速完成缺陷修正和特性集改进是一种常态,而非偶然。FPGA 的硬件可配置能力也便于让设计经简单直观修改就能适用于支持各种串行和并行(以及模拟和数字)接口的图像传感器。

  嵌入式视觉联盟是由世界各地的开发商和提供商组成的统一的全球性联盟,其宗旨是以丰富、迅速和高效的方式将嵌入式视觉的潜力变为现实(见侧边栏)。该联盟的两个创始成员 (BDTI) 伯克利设计技术公司和赛灵思已联合开发出一个参考设计,用于证实嵌入式视觉技术不可估量的市场前景以及 FPGA 在实现该前景中可能发挥的作用。这个项目的目的是探索系统设计人员在开发高度复杂的智能视觉平台时可进行的典型架构决策,该平台所包含的元件需要高强度硬件处理和复杂的软件及算法控制。

  BDTI 和赛灵思对设计进行了分区,其中 FPGA 架构负责处理数字信号处理密集型运算,而 CPU 则负责处理复杂的控制和预测算法。在这个探索性实现方案中,CPU 电路板通过以太网接口连接到 FPGA 开发板。FPGA 执行高带宽处理,仅有元数据通过网络 (network tether) 进行交换。该项目还探索了软硬件同步开发,故要求在最终的 FPGA 硬件实现之前使用精准的仿真模型。

  第一阶段:道路标志检测

  项目的第一阶段和第二阶段均采用了两个基于 PC 的专门功能:正在开发中的赛灵思视频 IP 模块的仿真模型和一个由 BDTI 开发的处理应用(见图 1)。输入数据为 720p 高清分辨率、60 fps 的 YUV 编码视频流,代表车辆正前方摄像头可能采集到的图像。其目的是识别(虽然没有采用光学字符职别技术“读取”,但这项功能可以自然延伸出来)视频帧中的四种类型的对象,以辅助驾驶员驾驶:

  • 绿色方向标志

  • 黄色和桔红色危险标志

  • 蓝色信息标志

  • 桔红色安全锥

  嵌入式视觉设计要创新,选择FPGA成关键,图 1 - 在项目的前两个阶段,BDTI 和赛灵思的视频分析概念验证参考设计开发项目完全在 PC 上进行,第2张

  赛灵思提供的 IP 模块仿真模型负责输出用于识别每帧中各颜色像素组的位置和大小的元数据,这些也是最终硬件 IP 模块生成的元数据。许多嵌入式视觉系统的精度受多种外部因素的影响,比如成像传感器的噪声、突然的照度变化以及难以预测的外部运动。对本项目的必要要求之一是要求FPGA 硬件在尽量节约硬件资源的情况下,借助能够容忍大量外部干扰且不降低检测精确度的预测性软件,在有大量外部干扰的条件下完成图像处理并生成元数据。

  BDTI 针对这种特定应用,对这些IP 模块丰富的配置参数集进行了优化,而且 BDTI 的后处理算法还提供了进一步的优化和预测功能。例如,在某些情况下,该硬件只能部分识别一帧中的对象,但应用层软件使用跟踪算法能够继续预测对象的位置。这种方法非常有效,因为在许多情况下物理探测无法做到持续不断,因此软件智能层对提供持续的预测起着关键作用。

  再举一个例子。高速公路绿色指路标志上的黑色或白色字符可能会扰乱 IP 模块普通的图像分析功能,会将路标错误地分解成多像素的子集合(见图 2)。根据该应用中使用的成像传感器的质量和设置,IP 模块还会混淆红色和桔红色,从而将其他车辆的尾灯或刹车灯误认为交通锥或交通标识。

  
图 2 - 采用专门针对应用定制的二级算法进一步处理 FPGA 的视频分析硬件电路输出的元数据

  因此,BDTI 开发的针对特定应用定制的算法可用于进一步处理赛灵思提供的元数据。例如,BDTI 的算法知道什么样的标志看上去应该是怎么样的(大小、形状、颜色、图案、在帧中的位置等),故而能够将相关的像素集群组合成更大的群组。类似的,这些算法也能判断什么时候应该去除看似颜色相近但并非标志的像素集群,比如前面提及的车辆刹车灯。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2517541.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存