Arrow Electronics Components Online

高通 (Qualcomm) Linux 示例应用程序 – 人工智能目标检测与并行人工智能融合

人工智能18 9月 2025
一名穿着红色毛衣和佩戴黄色挂绳的人正在服务器机房里操作笔记本电脑。
查看所有文章

在本文中,了解Qualcomm智能多媒体SDK中的实时流对象检测和并行传感器融合功能。

由于影响自动无人机导航能力的变量不断变化,因此需要强大的AI处理能力来进行决策。由于这些AI控制非常复杂,其实现可能会遇到困难。然而,Qualcomm基于Linux的示例应用程序为产品开发者提供了更快的上市路径。在本文中,您将了解Qualcomm智能多媒体SDK中的实时流对象检测和并行传感器融合功能。   上次我们向您介绍了Qualcomm智能多媒体SDK中的两个基础构建块示例应用程序。该SDK基于Qualcomm® Linux®软件,这是一种发行版,允许您一次编写代码并用于我们的多种物联网系统级芯片(SoCs)。在这篇文章中,我们将探索该SDK中22个示例应用程序中的另外两个,以演示如何为我们的物联网芯片组编写应用程序。

透过AI看世界:实时直播物体检测

该命令行应用程序,gst-ai-object-detection,从摄像头获取实时视频流,并将其传递给开源的 YOLO(You Only Look Once)AI 模型进行目标检测。它在专用硬件模块上完成目标检测,包括预处理及 AI 推理操作,使用Snapdragon Neural Processing SDK来运行 YOLOV5、YOLOV8 或 YOLO-Nas。随后,该应用会基于模型生成的结果显示带有叠加输出(如标签和边界框)的预览画面。   应用程序的处理管道如下所示:

A technical diagram illustrating the workflow of the Qualcomm Neural Processing SDK.

  • qtiqmmfsrc – 使用此 gstreamer 插件,应用程序捕获摄像头实时流,然后使用 tee 分割流。
  • qtimlvconverter – 这个预处理插件能够执行诸如颜色转换、降采样/升采样以及流数据归一化等任务。它将视频流转换为张量流,以便后续进行推理。
  • qtimlsnpe – 此机器学习推理插件应用 YOLO-Nas(默认)、YOLOV8 或 YOLOV5 来检测流中的物体。它在硬件中通过基于 CPU、GPU 和 DSP 的神经处理单元(NPU)执行 Snapdragon 神经处理运行时。
  • SNPE 运行时对张量流进行推理,并生成包含推理结果的张量流。
  • qtimlvdetection – 在后处理过程中,此插件将阈值应用于所选的所需结果数量。它加载YOLO-Nas模块进行后处理,生成仅包含边界框(用于覆盖)的视频帧,并将这些帧交付用于视频合成。
  • qtivcomposer – 此插件将边框和标签叠加到实时摄像头流的帧上,然后将带有组合图层的 gst 缓冲区交付出去。
  • Waylandsink 将接收到的视频流提交给 Weston,后者会将视频流渲染到本地显示器上。

以下是一个使用 gst-ai-object-detection 检测摄像头视频流中人员的示例:

A person wearing a red sweater and yellow lanyard is seen working on a laptop in a server room.

您会在什么时候使用此应用程序?

gst-ai-object-detection 包含数十种类别,您可以将其集成到自己的应用程序中,用于检测物体(如人、车辆、动物等)并在摄像头画面中定位它们。例如,可以检测头盔、火焰/烟雾以及入侵者。

并行AI融合:实时摄像头上的四次AI推理

这个命令行应用程序,gst-ai-parallel-inference,在上述单通道应用的基础上扩展为在专用硬件模块上进行四通道的AI模型并行处理。除了目标检测功能外,它还增加了分类、姿态检测和分割功能,并将实时摄像头流的缩小、合成预览与所有四个模型的叠加输出一起显示。   此应用程序的管道是上述管道的一种变体,每个AI推理有独立的流程,如下所示:

A technical diagram showcasing a video processing pipeline for AI applications.

  • qtiqmmfsrc – 使用这个GStreamer插件,应用程序捕获摄像头的实时流,然后使用 tee 生成四个并行流。
  • qtimlvconverter – 此预处理插件执行诸如颜色转换、降采样/升采样以及数据规范化等任务。它将视频流转换为张量流,以便后续进行推理。
  • qtimlsnpe – 这个机器学习推理插件使用YOLO-Nas进行目标检测,并使用 DeepLabv3 进行图像分割。该插件在CPU硬件上运行Snapdragon神经处理运行时。
  • qtimltflite – 此插件应用 PoseNet 进行姿态检测,并使用 Inception V3 进行对象分类。该插件在基于 CPU、GPU 和 DSP 的神经处理单元 (NPU) 硬件上执行 TFLite 运行时。
  • 后处理针对每个模型使用不同的插件。
  • qtimlvdetection – 用于目标检测,该插件将阈值应用于所需结果的选定数量。它加载了YOLO-Nas后处理模块,生成仅包含边界框的视频帧(用于叠加),并将这些帧传递用于视频合成。
  • qtimlvclassification – 对于分类任务,此插件会将阈值应用于所选的目标结果数量。它加载了 Inception V3 的后处理模块,生成带有分类标签的视频帧(用于叠加),并将这些帧交给视频合成模块处理。
  • qtimlvpose – 对于姿态估计,此插件将阈值应用于所选择的期望结果数量。它能够加载用于不同姿态估计模型的模块。在此用例中,它加载了 PoseNet 模块,生成带有绘制姿态的视频帧(用于叠加),并将这些帧交付用于视频合成。
  • qtimlvsegmentation – 对于分割任务,这个插件将其接收到的推理张量转换为视频格式,以便我们的多媒体插件之后能够理解。
  • qtivcomposer – 此插件将来自 AI 模型的帧覆盖到实时摄像头流的帧上,然后传递包含组合层的 gst 缓冲区。
  • Waylandsink 将接收到的视频流提交给 Weston,后者会将视频流渲染到本地显示器上。

以下是来自 gst-ai-parallel-inference 的渲染视频流示例:

A male cyclist rides a mountain bike on a rugged dirt trail surrounded by greenery under a clear blue sky.

你会在什么时候使用这个应用程序?

作为 gst-ai-object-detection 的超集, gst-ai-parallel-inference 允许您检测摄像画面中的人、车辆、动物及其他物体——甚至包括烟雾和火焰。   通过姿态检测,您可以判断一个人是躺着、坐着还是站着,并可能进一步判断该人是否跌倒。健身教练或瑜伽导师可以利用姿态检测来了解学生是否正确地摆出一个姿势。人体工学应用可以监测坐在椅子上或在桌前的正确姿势,并给予提醒。   分类应用的场景包括产品分类,而分割应用的场景则包括制造业、医疗保健和物流行业。

下一步

这是我们为展示 Qualcomm Linux 而构建的另外两个引人注目的应用程序。您可以从开源平台获取这些应用程序以及整个 Qualcomm 智能多媒体 SDK ,其中包括另外 20 个用于 AI 和多媒体的应用程序。然后,您可以将它们集成到您自己的应用程序中。   我们设计了 Qualcomm Linux,让您可以“一次编写,多平台运行”,使用相同的源代码运行在多个 IoT 芯片组上。Qualcomm 智能多媒体 SDK 是我们首次通过 API 向开发人员开放所有多媒体子系统,包括摄像头、人工智能和音频。 随着我们向开源社区贡献更多内容,您可以对这些成果进行自定义、试用并做出贡献。这是我们以开发者为先的思维方式中迈出的重要一步,让您更轻松地开发运行在 Linux 上的 IoT 应用程序中所需的定制功能。

文章标签

无人机
物联网 (IoT)
QUALCOMM
人工智能 (AI)

相关内容