tag 标签: npu

相关帖子
相关博文
  • 2025-3-6 15:17
    149 次阅读|
    0 个评论
    by Toradex Allan Kamimura 边缘计算机视觉 为何选择边缘计算? 嵌入式设备日益智能化,许多机器学习和计算机视觉任务正被推向边缘设备。在此类设备上运行 AI 模型虽具挑战性,却带来诸多优势: 降低延迟: 在设备端处理数据,避免了向云端或中央处理器传输数据的等待时间 增强隐私保护:敏感数据保留在设备内,确保符合严格的隐私法规要求。 节省带宽成本:边缘处理减少了对集中式服务器发送大量数据的需求。 提升可靠性:系统可在无网络连接的情况下独立运作。 为何需要外部 AI 加速器? Toradex 提供多种计算机模块(SoM),其中一些集成了神经网络处理单元(NPU),能够应对不同的 AI 工作负载。例如,Verdin iMX8M Plus, Verdin iMX95和 Aquila AM69 均配备了专为边缘推理加速设计的 NPU,使其适用于众多计算机视觉和机器学习应用。 尽管这些模块提供了强大的 AI 解决方案,但诸如 Hailo-8、EdgeX、MemryX 及 Google Coral 等外部 AI 加速器通过提供模块化、解耦且可扩展的边缘 AI 推理方案来应对挑战。这带来了更高的灵活性和面向未来的 AI 能力。 1. 将 AI 处理与 SoC 供应商软件解耦 在边缘运行机器学习面临的一大挑战是将模型适配到特定硬件或运行库上。无论是 NXP 的 eiQ平台、TI 的 Edge AI Studio 还是 ONNX 导出工具,每种都有其专属的 AI 工具包和优化策略。外部 AI 加速器将 AI 工作负载从其他硬件中分离出来,提供了一个统一的跨多硬件平台的运行环境。 示例: 一个基于 x86 设备并使用 Hailo-8 AI 加速器开发的计算机视觉解决方案,可以无缝迁移至搭载 Hailo-8 的 Aquila AM69 模块上而无需重构整个 AI 堆栈。这种解耦确保了仅需最小调整即可完成迁移,大大缩短了产品上市时间。 2. 模块化与可扩展性 AI 应用具有动态特性,随着工作负载复杂度的增加或新功能的创建,性能需求可能会发生变化。虽然内置的 NPU 能提供坚实的解决方案,但有时它们可能难以适应新的场景。 Hailo简介 Hailo是一家 AI 处理器制造商,其产品旨在边缘端上运行先进的机器学习应用,能够广泛应用于智慧城市、汽车、制造、农业、零售等多个行业和领域。 我们使用 Hailo-8 M.2 模块在多款 Toradex 模块上进行了测试。Hailo-8 M.2 模块是一款具备 26 TOPS 算力及 PCIe Gen-3.0 4通道 M-key 接口的 AI 加速器模块。该 M.2 模块可插入多种 Toradex 载板中,实现实时的深度神经网络推理。 如何 Hailo 充分利用 Toradex 生态系统? 释放预处理和后处理任务 来源:https://hailo.ai/blog/customer-case-study-developing-a-high-performance-application-on-an-embedded-edge-ai-device/ 典型的计算机视觉流程遵循线性模式。从摄像头捕捉源开始,直到应用程序采取行动,图像必须经过每一个处理步骤。这意味着如果任何一个步骤比下一个耗时更长,那就是瓶颈所在。 通常,在比较机器学习模型或硬件时,我们会非常关注推理速度,但这只是问题的一部分。 完整的软件堆栈 Hailo 是一个完整的人工智能解决方案,支持常见机器学习工作流中的大部分步骤。 性能评估 TAPPAS是一个包含应用示例的代码库。 Model Zoo不仅提供了一些模型的基准测试结果,还包括预训练模型。 模型训练 部分预训练模型附带了再训练环境。 编译器和运行库 Hailo Dataflow 编译器 pyHailoRT 和 GStreamer 插件 从 Toradex 方面来看,这一工作流程可以通过使用 Torizon 云平台得到补充。 监控性能 提前识别任何问题,确保系统可靠性。 OTA 更新 轻松更新量产设备。 支持 Toradex 模块硬件 硬件 支持的硬件配置 系列 模块 载板 Hailo Aquila TI AM69 (1+2 x PCIe 3.0) Clover (M.2 key B+M) Hailo-8 Hailo-8L Aquila NXP i.MX 95 (1 x PCIe 3.0) Clover (M.2 key B+M) Hailo-8 Hailo-8L Verdin NXP i.MX 95 (1 x PCIe 3.0) Mallow (M.2 key B) Hailo-8 Hailo-8L Verdin NXP i.MX 8M Plus (1 x PCIe 3.0) Mallow (M.2 key B) Hailo-8 Hailo-8L Verdin NXP i.MX 8M Mini (1 x PCIe 2.0) Mallow (M.2 key B) Hailo-8 Hailo-8L Apalis NXP i.MX8 (2 x PCIe 3.0) Ixora (Mini PCIe) Hailo-8R mPCIe 软件 OS 版本 其他的资源 Torizon OS BSP 7 meta-hailo layer (即将上线) Torizon OS BSP 6 runtime container (即将上线) Torizon OS Minimal BSP 6 meta-hailo kirkstone OpenEmbedded layer for GStreamer 1.0 tdx-reference-multimedia BSP 6 meta-hailo kirkstone YOLOv5 示例 在本例中,我们将运行来自 Tappas 的演示应用程序: 完成此示例后,您应得到类似以下的输出。以 60+ FPS 的速度运行(取决于您的摄像头)。 我们将使用: 摄像头 如果使用 USB 摄像头,由于摄像头的捕捉速度,帧率可能会非常低。 显示器 Verdin i.MX8MP+Mallow Carrier 载板 Verdin iMX8M Plus QuadLite 1GB IT (0065) 不兼容 Framos 摄像头。 Hailo AI Accelerator 步骤: 从源码构建 Torizon OS 构建基础 Torizon OS 添加依赖项 硬件设置 连接Hailo设备 连接摄像头 安装新镜像 检查所有配置 运行示例 从源代码构建 Torizon OS 完整指南 首先,您可能需要检查计算机的 RAM 和磁盘空间 用于 Yocto 项目构建的计算机 构建 Torizon OS 基础镜像 我们将使用 CROPS 容器来构建以下镜像: Torizon OS Disto Machine Torizon OS Image Target 版本 torizon verdin-imx8mp torizon-minimal 6.8.0 创建工作目录 cd ~ mkdir ~/yocto-workdir 运行容器(这将构建基础镜像) 这将占用大量内存,并需要几个小时才能完成。 命令的第二行将主机卷映射到容器的 workdir 目录。请注意,此文件夹 ~/yocto-workdir 是在上一步中创建的。 docker run --rm -it --name=crops \ -v ~/yocto-workdir:/workdir \ --workdir=/workdir \ -e MACHINE="verdin-imx8mp" \ -e IMAGE="torizon-minimal" \ -e DISTRO="torizon" \ -e BRANCH="refs/tags/6.8.0" \ -e MANIFEST="torizoncore/default.xml" \ -e ACCEPT_FSL_EULA="1" \ -e BB_NUMBER_THREADS="2" \ -e PARALLEL_MAKE="-j 2" \ # not sure if I can pass those like this torizon/crops:kirkstone-6.x.y startup-tdx.sh 将依赖项添加到镜像 要添加依赖项,首先进入 ~/yocto-workdir/layers 文件夹。 cd ./layers 我们将添加下面 layers: meta-hailo meta-gstreamer1.0 meta-toradex-framos 更多关于 meta layers 的内容,请参考完整的文档。 在 torizon/crops:kirkstone-6.x.y 容器中, 运行 bitbake add layers 命令。 bitbake-layers add-layer meta-hailo/meta-hailo-accelerator bitbake-layers add-layer meta-hailo/meta-hailo-libhailort bitbake-layers add-layer meta-hailo/meta-hailo-tappas bitbake-layers add-layer meta-hailo/meta-hailo-vpu bitbake-layers add-layer meta-toradex-framos bitbake-layers add-layer meta-gstreamer1.0 在 build-torizon/conf/local.conf 文件中添加 packages。在末尾添加下面内容。 IMAGE_INSTALL:append = " libhailort hailortcli pyhailort libgsthailo hailo-pci hailo-firmware" IMAGE_INSTALL:append = " gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad" IMAGE_INSTALL:append = " v4l-utils" 使用新的 layers 编译镜像。 bitbake torizon-minimal 你可以在下面位置找到兼容 Toradex Easy Installer 的安装镜像 ~/yocto-workdir/build-torizon/deploy/images/verdin-imx8mp/torizon-minimal-verdin-imx8mp-Tezi_6.8.0-devel-date+build.0.tar. 硬件设置 连接Hailo设备 将 Hailo 设备插入 Mallow 载板的 M.2 插槽中。 连接摄像头 将摄像头连接到 Mallow 载板的 MIPI-CSI 接口上。 安装新的 Torizon OS 镜像 使用 Toradex Easy Installer (Tezi) 将新镜像刷入设备。 下载Tezi 将设备置于恢复模式 安装新编译的镜像 检查安装情况 Hailo 设备 sudo su hailocli scan hailocli device-info 这些命令的输出应能检测到设备已正确连接且驱动程序正常工作。 显示屏 gst-launch-1.0 videotestsrc ! videoconvert ! autovideosink 您应该在屏幕上看到一些彩色图案。 Camera 设备 此步骤可能因使用的相机而异。 v4l2-ctl -d2 -D v4l2-ctl --list-formats-ext -d /dev/video2 对于 Framos 相机,输出如下。 root@verdin-imx8mp-15445736:~# v4l2-ctl --list-formats-ext -d /dev/video2 ioctl: VIDIOC_ENUM_FMT Type: Video Capture : 'YUYV' (YUYV 4:2:2) Size: Stepwise 176x144 - 4096x3072 with step 16/8 : 'NV12' (Y/CbCr 4:2:0) Size: Stepwise 176x144 - 4096x3072 with step 16/8 : 'NV16' (Y/CbCr 4:2:2) Size: Stepwise 176x144 - 4096x3072 with step 16/8 : 'RG12' (12-bit Bayer RGRG/GBGB) Size: Stepwise 176x144 - 4096x3072 with step 16/8 在演示中,我们将使用 YUYV 格式。因此请记住其中的数值。 gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw ! videoconvert ! autovideosink 运行示例 某些摄像头会指定分辨率和帧数,因此需相应调整这些值。这可以通过修改 PIPELINE变量的 framerate 值来实现。 sudo su cd ~/apps/detection/ ./detection.sh
  • 热度 8
    2023-5-3 23:57
    493 次阅读|
    0 个评论
    处理的信息量呈爆炸式增长。对于联邦机构和军队来说尤其如此,它们从设备、建筑物、船舶、飞机等中的移动设备和传感器生成大量数据。 寻找有效的方法来管理、使用和保护这些数据具有挑战性。但是有一个有效且具有成本效益的解决方案。神经形态处理和自搜索计算存储的结合可以使组织能够快速处理大量边缘数据。 边缘数据困境 边缘数据可以提供洞察力,从而实现更有效的核心任务。问题是,处理这些数据所需的计算和网络基础设施没有跟上。组织缺乏在边缘处理数据的计算能力,并且他们缺乏网络带宽将数据传输到他们具有处理能力的集中位置。 传统的计算技术占用太多空间并产生太多热量,无法在边缘使用。传统的网络技术无法以实用的速度长距离传输大量数据。例如,美国海军舰船平均从船员、操作系统、武器系统和通信中产生数 PB 的数据。对于许多用例,在船靠岸之前无法处理这些数据。 网络优势 机构不仅必须找到管理数据的有效方法,还需要保护其资产免受网络威胁。如今,网络安全团队在应对网络攻击时必须筛选大量数据。为了发现异常并找出根本原因,他们需要从访问日志和安全信息与事件管理 (SIEM) 系统中搜索大型数据集。他们还需要尽可能近乎实时地完成该任务,以防止破坏任务的网络漏洞。但迄今为止,他们缺乏有效的计算和存储解决方案来在边缘实现这一目标。 Cyberedge 的一份 新报告 发现,68% 的政府机构在 2021 年面临网络攻击,这表明机构需要找到创新的数据保护解决方案以防受到攻击。在响应网络事件时,主动响应能力至关重要,可以通过快速查找数据和实时提醒分析师来大幅降低网络风险并保护任务。 神经形态处理的力量 如果计算机的功能更像人脑,那将会很有帮助。一个人可以看着成千上万朵黄色花朵的田野,并立即认出那一朵红色花朵。计算机需要单独处理每朵花,直到找到异常。 那是因为大脑在亿万年的进化过程中经过微调,可以很好地执行特定任务。它这样做的同时消耗的能量非常少。 但是,如果计算机可以像大脑一样非常快速地执行特定任务,而只需要很少的能量呢?这就是神经形态处理器的前景——本质上是一种以大脑系统为模型的计算机。 以下是神经形态处理如何在边缘转变网络风险。从构建在高端现场可编程门阵列 (FPGA) 集成电路上的神经形态处理单元 (NPU) 开始,该集成电路经过定制可加速关键工作负载。添加几十 TB 的本地 SSD 存储。其结果是一个基于 NPU 的自搜索存储设备,可以在边缘以非常低的功耗对非常大的数据集执行极快的搜索。 NPU 技术搜索大型数据集的速度有多快?将多个NPU设备组合在一个机架中,您可以在大约12分钟内搜索1PB的数据。要使用传统技术实现该结果,您需要 62 个服务器机架 – 以及非常庞大的预算。在测试中,NPU 设备机架需要的资本支出降低 84%,运营支出降低 99%,功耗降低 99%。 想象一下在响应像 Sunburst 黑客这样的情况时在几分钟内搜索 PB 数据的优势。Sunburst 黑客攻击始于 2020 年 3 月左右,但直到 2020 年 12 月才被发现,影响了至少 200 个组织,包括国防部、国土安全部、财政部、商务部和司法部等政府部门。各机构必须搜索至少九个月的数据,确定违规发生的位置、当前的违规活动以及哪些系统、网络和数据受到影响。 在这种情况下,神经形态处理和自搜索存储可以缩短事件响应时间。这可以节省成本、加速事件解决并降低网络风险。 制作NPU 设备的用例 NPU 搜索技术是与能源部的研发实验室 桑迪亚国家实验室合作开发的。 如今,桑迪亚正在积极使用多个 NPU 系统进行网络防御和其他用例。 NPU 设备的一个引人注目的方面是它可以帮助组织遵守拜登总统 2021 年 5 月 关于改善国家网络安全的行政命令 。作为对该命令的回应,管理和预算办公室 发布了一项指令, 要求各机构保留 12 个月的活动数据存储和 18 个月的冷数据存储。对于许多机构来说,这会带来严重的预算挑战。NPU 设备可以使此类数据保留具有成本效益。 此外,NPU 设备存储的部署不需要改变组织当前的 IT 基础设施或网络防御。该设备只是与现有的硬件和网络安全解决方案并存。大型数据集的搜索发生在边缘。识别出的任何少量相关数据都可以快速轻松地传输以进行集中分析。 NPU 设备还有其他潜在用例。例如,一家财富 50 强公司使用数据标记技术来训练机器学习算法。该组织将所需时间从一个月减少到 22 分钟。 与此同时,对于联邦机构和军方而言,神经形态处理和自搜索存储是保护敏感数据和降低边缘网络风险的可行且经济高效的解决方案。
  • 2022-7-5 15:52
    3 次阅读|
    0 个评论
    自从物联网(IoT)出现以来,边缘智能颇具颠覆性的创新,以及边缘计算应用都逐渐变得非常普遍,例如人脸识别,语音识别,物体识别,或者汽车上用的车辆识别系统都有它的身影。当然,这对算力的要求逐渐提高,NPU的性能也更受到注重,也作为了CPU与GPU外的下一个性能指标。 本文介绍的是米尔于2021年底发布的新品—— MYC-JX8MPQ核心板 ,作为AI领域的里程碑CPU模组,它基于NXP第一颗搭载了NPU的高端芯片 i.MX8MPlus ,这个模组主要面向AI场景,具有2.3 TOPS算力,4核 Cortex-A53 + Cortex-M7,主频1.8GHz+800MHz。 随着市场上机器学习开发的需求加大,NXP大力扩展eIQ软件环境,现在eIQ已经正式加入到BSP镜像中,它支持OpenCV,TensorFlow-Lite,armNN,PyTorch等框架。下面,我们借用一幅图来说明8M系列针对eIQ支持情况。 可以看到目前只有i.MX 8m Plus搭载了NPU神经网络单元,那么NPU到底强在哪里,请看如下对比。我们用了TensorFlow-Lite框架《将军》图为例,来对比CPU,GPU,NPU算法能力。 下表展示了通过对应的命令算出来的结果。可以看到,CPU的算力为平均44.832MS、GPU是160.934MS、NPU仅2.866MS,通过数据可以直观地看出NPU的算力更强,更能满足边缘计算的高标准要求。 这款 MYC-JX8MPQ 模组除拥有强悍的处理器之外,还有几个特别优势: 支持双MIPI CSI接口,可实现双路摄像头数据同时输入, 拥有强大的硬件编解码能力,支持H.264编解码; 多媒体接口丰富GPU/VPU、HDMI,支持HiFi语音及其他多媒体功能; 丰富的高速接口,传输速率快,其中2个千兆以太网、2个两用USB 3.0高速接口,可以保障语音和视频的高速传输; 所以,MYC-JX8MPQ可以在高性能AI设备、边缘计算、5G网关、高性能工业计算器、仪表仪器、工业网关设备等领域投入应用。 以上是对MYC-JX8MPQ核心板的介绍,同时米尔也提供配套的开发板,外设资源丰富。 登录米尔电子官网了解更多: http://www.myir-tech.com/product/MYC-J1028X.htm 关于米尔 米尔,专注嵌入式处理器模块设计和研发,是领先的嵌入式软硬件方案的供应商。米尔在嵌入式领域具有20年的行业技术经验,为客户提供专业的ARM工业控制板、ARM开发板、ARM核心板、ARM开发工具、充电桩计费控制单元及充电控制板等产品和技术服务。此外,米尔还可通过涵盖众多ARM处理器及操作系统的专业技术提供定制设计解决方案,通过专业且高效率服务帮助客户加速产品上市进程。
  • 2022-4-7 13:51
    0 个评论
    基于NPU+AI ISP芯片开发_4Tops INT8_4K60编码_10路2Mp30解码_编解码核心板案例
    本文介绍了AI-MD55x55M核心板是针对基于NPU+AI ISP的SoC 媒体处理芯片开发的编解码核心板,用于给开发者展示芯片强大的多媒体功能和丰富的外围接口,同时为开发者提供 基于SoC的产品硬件PCBA,将芯片具备的资源完整开放出来,可根据各种使用场景设计相应的底板,模块的设计降低了的开发周期和开发成本与风险。 AI ISP升级主要体现在,超感光降噪:信噪比提升了4倍;多光谱融合:红外补光,既有全彩又有细节;超级宽动态:动态范围扩大12dB,同时获得明亮细节和暗部细节;超级稳像:在运动条件下获得稳定画面;多维度感知:形象感知的同时进行物理量的标注。 主控关键特性已经全部开放出来:智能加速4Tops INT8 NN加速引擎,双核Vision Q6的DSP处理;支持4K60的H.265/H.264编码,支持10路1080p30的H.265/H.264解码;支持4路4Mp30机内实时硬化拼接,支持2路4K p30机内实时硬化拼接;高速接口支持USB3.0和PCIe2.0高速接口。 内置智能视频分析神经网络加速引擎,高达 4Tops INT8 支持INT4/FP16 ,支持完整的API和工具链,易于开发 ,双核 Vision Q6 DSP 32K I-Cache /32K D-Cache /32K IRAM/320K DRAM,内置智能计算加速引擎,双目深度加速单元,以及矩阵计算加速单元。 引脚原理图
相关资源
  • 所需E币: 5
    时间: 2019-12-25 21:20
    大小: 241.75KB
    上传者: 微风DS
    Manynewprojectsstartwithexistingsoftware.Reuseoflegacysoftwarecanspeeddevelopmentandimproveproductqualitybyusing‘tried-and-true’solutions.ItmightbeCorassemblycodefromanearlierproject,samplecodeprovidedbythenetworkprocessor(NPU)vendor,open-sourceapplicationsandutilities,orprotocolstacksfromanindustry-leadingindependentsoftwarevendor(ISV).……