AI Transformer模型支持机器视觉对象检测方案

2023-11-23

自动驾驶、智能制造和监控应用等机器视觉应用所需的目标检测依赖于 AI 建模。现在的目标是改进模型并简化其开发。
多年来,已经引入了许多人工智能模型,包括 YOLO、Faster R-CNN、Mask R-CNN、RetinaNet 等,用于检测图像或视频信号、解释物体并做出适当的预测。近年来,AI 转换器模型已成为更好的目标检测解决方案,值得研究它们的工作原理以及它们与传统模型相比有哪些优势。
机器视觉中的物体检测 人眼可以看到物体并快速确定其大小、颜色和深度。此外,大脑可以通过过滤掉背景视觉效果并仅关注前景物体来判断物体是什么——运动中的人、静止不动的动物或消防栓。例如,驾驶员将注意力集中在红绿灯和附近的任何行人上,但会忽略树木和山脉等风景。理想情况下,在这种情况下,人工智能模型会采取类似的行动。它必须捕获重要的目标对象并过滤掉背景,并对对象进行分类。AI 模型必须根据其训练来预测感知到的对象是什么。
Arm汽车业务线高级产品经理Alexander Zyazin表示:“如今,机器可以通过图像传感器和镜头‘看到’,这些传感器和镜头通过特殊的图像信号处理(ISP)模块馈送到SoC,帮助清理图像以满足机器视觉需求。“这个ISP模块的输出被馈送到加速器或通用CPU,用于对图像进行进一步的预处理和后处理。
设计要求因用例而异。“在监控和工厂场景中,机器视觉可用于与人数统计相关的用例,以便更好地规划或发现工厂生产线中的缺陷,”Zyazin指出。“在汽车领域,机器视觉目前被用于高级驾驶辅助系统(ADAS),它提供来自几个传感器的输入,以实现自动紧急制动或车道保持辅助等单一功能。”,技术进步正在为自动驾驶汽车铺平道路,其中所有输入都由传感器提供,不需要人工输入。“然而,这将需要汽车周围的许多传感器,产生大量数据,这些数据必须以非常低的延迟进行管理和处理,”他说。“从硬件和软件的角度来看,这是一个高度复杂的系统设计。
变压器架构,近年来,引入了新的变压器模型,包括 Oriented Object Detection with Transformer(O2DETR 研究论文 2021)、DEtection TRansformer(来自 Meta 的 DETR 2020)等。与 Faster R-CNN 等传统模型相比,transformer 方法具有许多优势,包括更简单的设计。[本文将使用 Meta 的 DETR 2020 来说明转换器模型的工作原理。开发人员也可以使用 DETR 训练代码。
图1:DETR变压器模型将其预测结果与真实值进行比较。当没有匹配项时,它将产生“无对象”。匹配将验证对象。资料来源:“使用 Transformer 进行端到端对象检测”,Facebook AI,大多数对象检测模型会进行初始预测,然后对其进行微调以生成最终预测。DETR 使用单通道、端到端目标检测和 transformer 编码和解码。两个关键的 DETR 组件是:(1) 一组预测损失,它强制预测与真实值之间的匹配,以及 (2) 一种架构,用于预测一组对象并对对象之间的关系进行建模。地面实况是指地面上的实际情况,如图1左侧的图片所示。在这种情况下,它是两只独立的同一种鸟。如果不“检查”真实情况,设计不佳的算法最终可能会预测两只不同的鸟或一只有两个头的鸟。
图2:DETR变压器模型。资料来源:“使用 Transformer 进行端到端对象检测”,Facebook AI,人脑通过根据先验知识处理图像中的信息来识别物体。机器视觉必须学习一切并将图像转换为数字数据。如图 2 所示,卷积神经网络 (CNN) 通常用于处理数据。DETR 使用传统的 CNN 和骨干网来获取其数据。然后,它通过转换器编码和解码过程发送数据。最后,数据将进入一个共享的前馈网络 (FFN),该网络预测对象检测或“无对象”。
DETR 不是按顺序处理这些锚框,而是采用端到端方法,并行处理数据。简单地说,DETR 着眼于全局并开始做出预测。然后,它将小块与真实值进行比较。如果 DETR “看到”一只鸟的头,并在地面实况中找到相同的头,那么它就知道它有一个匹配项,如图 1 右侧的黄色框所示。否则,它将产生一个“无对象”,如图 1 右侧的绿色框所示。
此外,DETR 可以在没有“锚点框”或“非最大值抑制”的情况下处理重叠对象。
锚点盒用于传统的目标检测模型。为了将感兴趣的对象归零,该算法会在它们周围生成框。稍后,它们将用作大小和位置预测的参考点。
如果有多个重叠对象,会发生什么情况?假设两只鸟站得很近,一只鸟挡住了第二只鸟的一部分。一个称为非极大值抑制的过程用于以最大置信度选择和预测两只独立的鸟,同时抑制所有其他预测。
传统的 AI 模型使用锚框和非极大值抑制来处理信息。绕过这些步骤使 DETR 比传统模型更高效。
AI 无处不在,但针对不同应用进行了优化 使用机器视觉进行对象检测需要 AI 模型/算法在 AI 芯片、FPGA 或模块上运行。它们通常被称为“人工智能引擎”。在首次训练后,可以部署 AI 模型以在适当的硬件上运行,以做出预测和/或决策,通常称为“推理”。确保硬件开发能够跟上新 AI 模型的创新非常重要。
“如果我们只需要检测物体,那么像YOLO这样的非变压器模型可能就足够了,”Flex Logix首席技术官兼软件和架构高级副总裁Cheng Wang解释道。“但我们正在进入一个瞬息万变的领域。三年前开始用于分类和检测目的的 transformer 模型现在是生成式 AI 和生成式 AI 视觉的必要条件。所有这些操作都是我们传统上在以前的AI硬件或AI芯片中没有考虑过的事情。
此外,仅仅拥有运行基准测试的 AI 硬件是远远不够的,因为基准测试已经有五年的历史了,软件模型每隔几个月就会发生变化。为此,Wang表示,需要eFPGA等AI硬件。它具有软件适应性,可以跟上最新的变压器型号,这使其具有灵活性。
“换句话说,今天有出色的表现是不够的,”他说。“你需要让你的设计面向未来。”,在许多领域,各种类型的人工智能的使用正在增加。
瑞萨电子执行副总裁兼嵌入式处理、数字电源和信号链解决方案事业部总经理Sailesh Chittipeddi在最近于Semicon West举行的小组讨论中指出,“到75年,2025%的数据将来自网络的边缘和端点。它不是在云中生成的。因此,尽管你听到了所有的炒作,但实际上,当涉及到人工智能时,大多数活动都发生在端点的边缘。另一个有趣的统计数据是,从所有这些设备进入企业的数据中有90%实际上被丢弃了。所以,有暗数据。您可以实际拦截正在生成的数据以使其有用的第一点在哪里?这是端点的边缘。这实际上是关于预测网络端点边缘发生什么的能力,以及什么会产生巨大的差异。
在考虑计算时,它通常与微控制器、微处理器、CPU、GPU 有关,尽管最新的嗡嗡声都是关于 GPU 以及 GPT3 和 GPT4 正在发生的事情,以及除此之外发生的事情。
“但请记住,这些都是大型语言模型,”Chittipeddi说。“大多数数据集不需要如此强大的处理能力。在端点边缘所需的数据要少得多,通常最终发生的是需要以非常低的延迟快速处理数据。延迟、安全性、能够在本地处理数据的能力,以及能够使其具有可操作性的能力——这是边缘的第一点。
从这个角度来看,处理的分布远远超出了其传统市场,而人工智能生成的数据量以及对更快结果的需求是这一转变的关键。
“市场一直非常关注传统应用,如网络、PC和ERP,当然,这些市场将继续增长,”华邦闪存营销副总裁Alex Wei说。“但人们也在寻找新的应用,这些新应用将真正引领我们进入下一个时代。这就是为什么 NVIDIA 在 AI 方面产生了如此多的业务,以及为什么您会看到 AMD 紧随其后推出自己的 GPU。这些新应用需要更多的组件,并且所有东西都需要更高的密度。人工智能就像在你的大脑中映射信息。但是,如果你开车,看到有人走在街上,你必须尽量忽略他们才能绕过他们。这就是神经学习,它消耗了大量的内存。而这仅仅是个开始。
图 3:使用 InferX 编译器进行 DETR 部署。DETR 分为 100 层。InferX编译器将自动最大化快速SRAM访问,最小化慢速DRAM访问,并生成用于运行每个层的配置位。来源:Flex Logix,机器视觉是另一项关键技术,如今人工智能和机器视觉以多种方式进行交互。“首先,机器视觉输出被馈送到人工智能引擎,以执行人数统计、物体识别等功能,以做出决策,”Arm的Zyazin说。“其次,人工智能用于通过基于人工智能的降噪来提供更高质量的图像,然后协助决策。例如,在汽车应用中,人工智能和机器视觉的结合可以更早地识别限速标志并相应地调整速度。
但是,在自动驾驶情况下,例如,如果 AI 模型从有缺陷的传感器接收到相互矛盾的视觉信号,会发生什么?最好的规则是在安全方面犯错。
Synopsys负责人工智能和机器学习的副总裁Thomas Andersen表示,在这种情况下,这取决于实际应用及其对系统故障的严重性。“出于这个原因,需要使用多个系统来双重和三重检查信息。如果发生冲突,可能很难做出决定。例如,对于自动驾驶汽车来说,如果雷达传感器检测到物体,而摄像头却没有,人们可能总是会谨慎行事并自动刹车。同时,这种所谓的“幻影制动”也可能导致事故。人们应该永远记住,永远不会有完美的解决方案,人类也会犯很多错误。
虽然人工智能模型总体上正在改进,但人工智能在物体检测和预测中准确性的重要性不容忽视。
“就像任何应用程序一样,可接受的误报率取决于应用程序,”Cadence Tensilica Vision 和 AI DSP 产品管理、营销和业务开发总监 Amol Borkar 说。对于消费类应用,错误地将人识别为沙发并不重要。然而,在汽车应用中对行人的错误分类或对医疗状况的错误诊断可能既严重又致命。这更像是一个人工智能/分类/检测问题。人工智能的进步在自动识别成像数据中的复杂模式和提供定量而不是定性评估的射线照相特征方面变得更加准确。
虽然 Borkar 认为 AI 改进了很多东西,但他承认它确实在平台上增加了更多的计算要求,例如处理大量卷积和神经网络层。“为了使基于人工智能的模型运行良好,需要大量的合成数据来训练和验证模型。更进一步,与传统的基于滚动/全局快门的传感器相比,修改感知堆栈以使用事件摄像机数据可能会对最小的运动提供超敏感度。这可以提高系统精度,并且适用范围广泛。与任何AI模型要想运行良好一样,这种方法需要大量数据来训练或验证,然后才能进入黄金时段。
安全问题,良好的数据对于获得良好的结果至关重要,保护数据以及处理和存储数据的系统也至关重要。
机器视觉系统需要始终得到保护,Synopsys战略营销经理Ron Lowman说。“在人工智能与人工智能的情况下,安全性势在必行。硬件威胁分析过去基于不良行为者及其威胁向量,但人工智能可以使攻击向量和受攻击的设备数量成倍增加,从而使安全成为一切必要。多年来,安全性都是在软件中完成的,因为它更便宜。但仅靠软件安全显然是不够的,因此我们已经看到了所需的安全标准和硬件信任根 IP 的实现。PCIe和蓝牙就是很好的例子。就蓝牙而言,有自愿性标准来加密数据,但没有人这样做,因为有相关的成本。慢慢地,该行业正在改善这种情况。在PCIe的情况下,采用了一种新的标准,将安全性引入通信接口。在很短的时间内,这推动了大量公司采用PCIe IDE,我们看到这迅速改变了整个接口IP要求的发展。
Arteris产品营销副总裁Andy Nightingale对此表示赞同。“在任何技术应用中,安全性都是必不可少的,机器视觉也不例外。机器视觉系统通常涉及敏感数据和流程,例如监控录像、医学成像或自动驾驶汽车控制,因此安全性尤为重要。
Nightingale指出了在机器视觉应用中安全性至关重要的四个领域>
数据隐私。机器视觉系统通常处理大量数据,包括敏感的个人或商业信息。保护这些数据免遭未经授权的访问或披露至关重要。这可以通过加密、访问控制和数据匿名化来实现。
系统完整性。机器视觉系统可能容易受到操纵或破坏其操作的攻击。保护系统组件和数据免遭篡改或黑客攻击至关重要。这可以通过安全启动、系统强化和入侵检测来实现。
认证。机器视觉系统通常依赖于传感器、摄像头和其他容易受到欺骗或冒充攻击的设备。确保这些设备经过身份验证至关重要,系统可以检测并防止未经授权的访问。这可以通过生物识别身份验证、设备证书和网络分段来实现。
合规。机器视觉系统可能受到与安全和隐私相关的法规或行业特定要求的约束。确保系统设计和运行符合这些要求至关重要。这可能涉及风险评估、审计跟踪和数据保留策略等技术。
Nightingale补充道:“在整个SoC设计过程中,应使用平台安全架构(PSA)等行业标准,以及通过终端设备的部署和操作来解决安全性问题。“通过实施适当的安全措施,机器视觉系统可以有效地使用,同时保护所涉及的数据、方法和个人。”,展望未来,随着人工智能模型的不断发展,它们将变得更加高效,就像新兴的 transformer 模型一样。开发人员需要在未来的设计中平衡软件和硬件。设计注意事项中需要包括许多因素,包括灵活的硬件、冲突管理、准确性和安全性。
“对于未来的架构,将有一个系统级的机器视觉视图,”Synopsys的Lowman说。“需要考虑某些权衡因素,例如,系统成本、分解架构中的内存可用性,或芯片内和芯片外的内存带宽、处理器数量、不同阶段的处理器类型、每个 AI 阶段的位宽以及许多其他参数。这些只能通过复杂的工具以及可配置和优化的 IP(无论是存储器、接口、安全性还是处理器 IP)进行优化。
此外,随着新的人工智能和生成模型的出现,机器视觉将继续扩展到新的应用。
Synopsys的Andersen表示:“机器视觉有几个主要方向,包括用于扩展深度学习解决方案的云计算,用于改进ML管道的自动化ML架构,优化计算机视觉(机器视觉的超集)的Transformer Architecture,以及在边缘整合计算机视觉技术的移动设备。
— Ann Mutschler 和 Ed Sperling 的补充报道。

文章推荐

相关推荐