绿色检查
链接复制到剪贴板

使用Ultralytics YOLO11 进行批量推断

在各种计算机视觉应用中使用Ultralytics YOLO11 时,探索实时推理与批量推理之间的区别。

如果你见过自动驾驶汽车的运行,你就见过实时人工智能推理。自动驾驶汽车通常使用摄像头、传感器和人工智能来处理周围环境,并做出几乎即时的决策。然而,当不需要快速反应时,实时推理可能会耗费大量资源。

在这种情况下,更好的选择是批量推理。批量推理可以按计划时间间隔处理大量数据集,而不是实时连续处理数据。这种方法有助于节省资源、降低功耗和基础设施成本。

例如,在计算机视觉应用中,像 Ultralytics YOLO11等模型可用于物体检测和实例分割等实时任务。然而,实时处理大量视觉数据的要求很高。 

图 1.使用YOLO11 分割图像中物体的示例。

通过批量推理,YOLO11 可以在视觉数据上批量运行,从而在不牺牲性能的情况下减少对系统的压力并提高效率。这使得大规模部署视觉人工智能解决方案变得更加容易,而不会使硬件不堪重负或增加成本。

在本文中,我们将探讨批量推理及其优势,以及如何在计算机视觉应用中使用YOLO11进行批量推理。让我们开始吧!

计算机视觉中的批量推理

您可以将批量推理看作是一次性处理一项大任务,而不是在数据到来时逐条处理。批量推理可以在设定的时间间隔内处理大量数据,而不是不断地实时处理数据。这种方法在不需要立即响应时效率更高,有助于节省计算资源、降低能耗和削减成本。

说到计算机视觉,在某些应用中,低延迟至关重要。低延迟是指接收输入(如图像或视频帧)与系统响应之间的最小延迟。例如,在实时安全监控中,即使很小的延迟也会导致安全风险。

然而,在许多其他计算机视觉应用场景中,低延迟并不那么重要。这正是批量推理的优势所在--当系统不需要立即做出反应时。批量推理的工作原理是将视觉数据分组或分批输入计算机视觉模型,使系统能够一次性处理大型数据集,而不是连续实时处理。

了解批量推理的工作原理

下面我们来详细了解批量推理的步骤:

  • 数据收集:在一段时间内收集可视数据。这可能包括安全录像、产品图像或客户数据,视应用而定。
  • 批次准备: 然后将收集到的数据分组。在此步骤中,数据将按照模型的要求进行格式化。例如,图像可能会被调整大小、归一化或转换为模型处理所需的适当格式。
  • 预测: 数据准备完毕后,整批数据被输入模型(如YOLO11),模型会一次性处理整批数据。这样,模型就能同时对批次中的所有数据进行预测,与单独处理每个数据点相比,效率更高。

何时使用批量推理?

既然我们已经介绍了什么是批量推理以及它与实时推理的区别,那么让我们来仔细看看何时使用批量推理。

批量推理非常适合分析历史数据。比方说,您有过去一个月某地铁站的监控录像,您正试图识别特定的模式,如一天中不同时间进出的人数。 

批量推理不需要实时处理每个画面,而是允许您分批处理整个月的录像,识别关键事件或趋势,而无需立即得到结果。这样,您就可以更高效地分析大量数据,深入了解长期模式,而不会使系统不堪重负或需要持续监控。

当系统资源有限时,批量推理也是一种最佳解决方案。通过在非高峰时段(如通宵)运行推理,可以节省计算成本,并确保系统在高峰使用时段不会超负荷。因此,对于需要处理大型数据集但不需要实时分析的企业或项目来说,这是一种高效、经济的方法。

使用Ultralytics YOLO11进行批量推理YOLO11

Ultralytics Python 软件包支持对YOLO11 等模型进行批量推理。使用YOLO11,您可以通过指定 "批量 "参数轻松运行批量推理,该参数决定了一次要处理多少图像或视频帧。 

在批量推理过程中,会同时为批量中的所有图像生成预测结果。默认情况下,批次大小设置为 1,但您也可以将其调整为任何您喜欢的数字。 

例如,如果批量大小设置为 5,YOLO11 将一次处理 5 幅图像或视频帧,并同时生成所有 5 幅图像或视频帧的预测结果。批量大小越大,推理时间通常就越快,因为批量处理多幅图像比单独处理图像更有效。

通过批量推理实现计算机视觉应用

接下来,让我们探讨一些批量推理的真实计算机视觉用例。

加强医疗诊断和研究

医学研究中,处理大量可视化数据非常常见。在这里,批量推理可以帮助科学家更轻松地分析化学、生物学和遗传学等领域的数据。数据不是一次分析一个,而是分批处理,从而节省了时间和精力。

例如,在医疗设施中,批量推理尤其适用于分析核磁共振成像或 CT 扫描等大型医疗图像集。医院可以全天收集这些扫描图像,然后连夜分批处理。 

这种方法可以让医院更好地利用硬件和员工,降低运营成本,并确保以一致和统一的方式对所有扫描进行审查。对于需要处理大量数据的大型研究项目和长期研究,这种方法也很有帮助。

图 2.使用YOLO11 检测医疗扫描。

利用模拟改进自动驾驶汽车

自动驾驶汽车使用计算机视觉等人工智能技术来处理周围的世界。在YOLO11 等先进模型的帮助下,汽车上的车载系统可以识别其他车辆、车道线、路标和街上的行人。虽然实时推理在道路上至关重要,但自动驾驶技术也在很大程度上依赖于幕后的批量推理。 

图 3.YOLO11 可以轻松检测到路上的行人。

汽车完成一次旅行后,它所收集的数据(如数小时的摄像头录像、传感器读数和激光雷达扫描)可以在以后进行大批量处理。这样,工程师就可以更新汽车的人工智能模型,增强系统安全性,并提高汽车应对各种驾驶条件的能力。

批量推理还用于自动驾驶模拟,以测试自动驾驶汽车在不同情况下的反应,如在繁忙的十字路口导航或对不可预测的行人移动做出反应。这种方法节省了时间,降低了成本,并避免了在现实生活中测试每种情况所带来的风险。

批量推理驱动的零售数据分析

同样,对于零售商店来说,利用YOLO11 等计算机视觉模型进行批量推理可以显著提高运营效率。例如,商店的摄像系统可以全天捕捉数千张图像,然后可以在夜间对其进行批量处理。 

这样,商店就可以分析店内发生的情况,如顾客行为、客流模式和产品互动,而无需进行实时处理,这对小型商店来说可能具有挑战性。 

另一个有趣的例子是利用批量推理生成热图,直观显示店内顾客活动频繁和不频繁的区域。通过分析这些热图,零售商可以确定哪些区域吸引了最多的人流,哪些区域可能需要更多关注或优化产品摆放。这些数据可以帮助零售商在店铺布局、产品定位甚至促销策略方面做出更好的决策,从而改善客户体验和销售。

图 4.热力图可帮助零售商确定店内的热门区域。

批量推理的利弊

以下是批量推理为各行各业带来的一些主要优势:

  • 易于集成: 批量推理可轻松集成到现有工作流程中,尤其适用于零售、安全或医疗保健等需要批量处理大量数据的行业。
  • 简化数据管理: 在处理大量数据时,批量推理可简化数据管理,因为数据被分成易于管理的小块。
  • 减少网络负荷:当数据被分批处理时,任何给定时刻传输的数据量都能降到最低,从而减轻云计算系统或分布式计算环境中网络资源的压力。

虽然使用批量推理有很多优势,但也要考虑一些限制因素。以下是几个需要注意的因素:

  • 存储要求: 存储用于批处理的大型数据集会显著增加存储成本,尤其是高分辨率图像、视频或大量数据。
  • 积压的可能性:如果数据积累过快或没有及时处理大批量数据,就会出现积压。
  • 资源峰值:大型批处理,尤其是涉及高分辨率图像的批处理,会导致内存或计算使用量激增。如果管理不当,这些峰值可能会使系统不堪重负,导致系统运行速度减慢或崩溃。

主要收获

批量推理是处理大量视觉数据的有效方法,不需要立即得到结果。它不是实时分析每张图像,而是在预定时间(如通宵)分批处理图像。 

这种方法具有成本效益,减少了计算负荷,而且还能提供准确的结果。从帮助商店管理库存,到协助医生进行医疗扫描分析,再到增强自动驾驶汽车技术,批量推理使计算机视觉在现实世界中的应用更加方便、经济和实用。

准备好深入研究人工智能了吗?探索我们的GitHub 存储库,与我们的社区建立联系,并查看我们的许可选项,开始您的计算机视觉之旅。在我们的解决方案页面上了解更多有关制造业人工智能 物流业计算机视觉等创新的信息。

LinkedIn 徽标Twitter 徽标Facebook 徽标复制链接符号

在此类别中阅读更多内容

让我们共同打造人工智能的未来

开始您的未来机器学习之旅