赞
踩
神经网络模型被广泛应用在图像分类、物体检测、目标跟踪等计算机视觉任务中,并取得了巨大成功。随着时代发展,人们更加关注深度神经网络的实际应用性能,人工智能技术的一个趋势是在边缘计算平台上部署高性能的神经网络模型,并能在真实场景中实时运行,如移动端/嵌入式设备。这些平台的特点是内存资源少,处理器性能不高,功耗受限,这使得目前精度最高的模型根本无法在这些平台进行部署和达到实时运行。由于内存空间和算力资源的限制,神经网络在移动设备和嵌入式设备上的存储与计算仍然是一个巨大的挑战。
目前解决这个挑战主要有三个思路:压缩模型算法、挖掘硬件性能、在压缩模型的同时对现有的芯片进行优化。本文就当前工业界常用的嵌入式或移动端AI计算平台做一个简要的调研报告。
目录:
一、常用嵌入式/移动端AI平台.................................................................................2
1、ARM平台:ST官方解决方案..............................................................................2
1.1、STM32L476xx...............................................................................................2
1.2、STM32H7x7...................................................................................................3
1.3、STM32MP1系列9.........................................................................................4
1.4、OpenMV摄像头..............................................................................................4
2、ARM平台:高性能嵌入式AI开发板......................................................................5
2.1、EAIDK-310开发板........................................................................................5
2.2、瑞芯微TB-RK3399Pro开发板.......................................................................6
2.3、Hi3559A开发板.............................................................................................6
3、FPGA平台...............................................................................................................6
3.1、MYD-Y7Z010/20开发板..............................................................................7
3.2、ZynqUltraScale+MPSoC ZU3EG开发板......................................................7
4、AI芯片......................................................................................................................7
4.1、K210 (KPU核心神经网络加速器)..............................................................7
4.2、英特尔Movidius神经计算棒.......................................................................8
5、树莓派........................................................................................................................8
5.1、树莓派4b Raspberry Pi 4B AI开发板套件.................................................8
6、英伟达AI计算平台................................................................................................9
6.1、NVIDIA Jetson TX2.......................................................................................9
6.2、Nvidia Jetson Nano.........................................................................................9
二、总结........................................................................................................................10
三、参考资料................................................................................................................11
随着机器学习的趋势从云端转移到边缘设备以满足实时性的要求,ST推出了嵌入式AI计算平台:将深度学习SoC(Orlando V1)和一个神经网络硬件加速器集成到STM32微控制器中。MCU嵌入式系统具有:功耗低、成本低、实时性、开发周期短等优点。
1.1 STM32L476xx
1.1.1 资源介绍:
STM32L476xx器件是基于高性能Arm Cortex-M4 32位RISC内核的超低功耗微控制器,工作频率高达80 MHz。Cortex-M4 内核具有浮点单元 (FPU) 单精度,支持所有 Arm 单精度数据处理指令和数据类型。它还实现了一整套DSP指令和存储器保护单元(MPU),可增强应用安全性。STM32L476xx器件嵌入了高速存储器(高达1 MB的闪存,高达128 KB的SRAM),用于静态存储器的灵活外部存储器控制器(FSMC)(适用于具有100引脚及以上封装的设备),四通道SPI闪存接口(在所有封装上均可用)以及连接到两条APB总线的各种增强型I / O和外设, 两个 AHB 总线和一个 32 位多 AHB 总线矩阵。
(STM32L476资源) (STM32L476-Discovery开发板)
1.1.2 应用:
在STM32微控制器上映射与运行与训练的人工神经网络(ANN)。过程中使用STM32Cube.AI拓展包提高生产力。
1.1.3 STM32Cube.AI:
STM32Cube.AI拓展包全面支持超低功耗STM32MCU,是ST提供的使用STM32CubeMX配置和代码生成的工具包,可与多个流行深度学习框架配合操作,并允许单个STM32 MCU上运行多个人工神经网络。
1.1.4 部署步骤:
该方案主要部署神经网络的主要步骤分为:采集数据、标记数据、训练模型、移植并优化代码、应用模型分析新数据
1.2、STM32H7x7
1.2.1 资源介绍:
STM32H7x7系列结合了运行频率高达480 MHz的Cortex-M7(带双精度浮点单元)和Cortex-M4内核(带单精度浮点单元)的性能。提供1至2兆字节的闪存,1兆字节的分散架构的SRAM以及156至240引脚的BGA和LQFP封装配置文件。STM32H7x7系列包括小至4.96 x 4.64 mm的WLCSP外形尺寸封装。
(STM32H747I-DISCO Discovery开发板)
1.2.2 应用:
在案例图像分类的项目中,使用STM32H747为主控芯片做图像分类任务。该案例输入244*244 RGB 图像数据。根据案例在应用时按照自己数据集优化内存和网络模型参数,提升网络运行能力
1.3、STM32MP1系列
1.3.1 资源介绍:STM32MP1系列基于异构单或双Arm的Cortex-A7和Cortex-M4内核架构,是通用微处理器产品组合,可轻松开发各种应用,从而增强了支持多种灵活应用的能力,随时实现最佳性能和功耗。STM32MP1系列由两部分组成,其一是STM32Cube.AI拓展包内含Cortex-4M、支持实时OS和STM32CubeMX工具。另一个是支持Tensor flowLite和OpenCV。Cortex-A7内核提供对开源操作系统(Linux/Android)的访问,而Cortex-M4内核则利用STM32 MCU生态系统。
1.3.2 应用:ST提供STM32MP1的计算机视觉应用方案,1000个种类的目标分类任务和90个种类的多目标检测任务。
1.4、OpenMV摄像头
1.4.1 介绍:openmv是一个可编程的摄像头,通过MicroPython语言,可以实现算法的逻辑。而且摄像头本身内置了一些图像处理算法,很容易使用。
1.4.2 应用:Openmv适合与DIY相关的项目制作,比如追踪小球的车,云台,或者解魔方的机器人。对成本要求很高的嵌入式工业方案,比如流水线物品的分拣。但是不适合做复杂的算法:比如OCR识别,车牌识别,猫狗分类,深度学习之类的。
(OpenMV可编程摄像头)
2.1、EAIDK-310开发板
2.1.1 介绍:EAIDK-310 学习开发板 CPU 采用 ARM 4 核 64 处理器,最高 1.3GHz,GPU 为 ARMMail-450,运行内存采用 1GB 的 LPDDR3,内置存储采用 8GB 高速 emmc,还可以安装最大 128GB 的 MicroSD 拓展存储,支持 10/100M 的网络接口、USB3.0、USB2.0、HDMI、UART 调试接口以及其他通用接口等。搭载OPEN AI LAB 开发的支持异构计算库 HCL 和嵌入式深度学习框架 Tengine,可以对主流神经网络进一步加速。EAIDK-310 学习开发板实物图如下图所示。
2.1.2 应用:传感器数据采集、图像处理与分析。
(EAIDK310嵌入式arm开发板)
2.2、瑞芯微TB-RK3399Pro开发板
2.2.1 介绍:RK3399Pro是可量产的AI智能硬件芯片,内置NPU神经单元,支持AI硬件加速,运算能力高达3.0TOPs,同情况下NPU进行AI运算功耗不到GPU的1%,支持各大深度学习模型,可训练,支持TensorFlow、Caffe、TF Lifi、ONNX等模型,提供丰富的AI应用接口,提供神经网络跨平台API
RK3399Pro采用六核ARM 64位处理器(双核Cortex-A72+四核Cortex-A53),主频高达1.8GHz ,四核ARM Mali-T860 MP4 GPU 。支持8bit/16bit运算,支持TensorFlow、TensorFlow lite、Pytorch、Caffe、Mxnet、Darknet、Onnx,运算性能高达3.0TOPs
2.2.2应用:集群服务器、高性能运算/存储、计算机视觉、边缘计算……
(TB-RK3399Pro开发板)
2.3、Hi3559A开发板
2.3.1介绍:
Hi3559AV100是专业的8K超高清移动摄像头SOC,它提供了8K30/4K120广播级图像质量的数字视频录制,支持多路Sensor输入,支持H.265编码输出或影视级的RAW数据输出,并集成高性能ISP处理,同时采用先进低功耗工艺和低功耗架构设计,为用户提供了卓越的图像处理能力。处理器内核:双核ARM Cortex A73、双核ARM Cortex A53 、单核ARM Cortex A53 ,支持Neon加速,集成FPU处理单元。
2.3.2 应用:视频解码、智能视频处理、音频编解码
(海思Hi3559A开发板)
3、FPGA平台
FPGA提供除了GPU外的另一种解决方案。FPGA架构灵活,并且其设计工具逐渐对对主流深度学习框架的兼容性更强,使得FPGA更容易为模型搭建和部署者所用。同时,FPGA在单位能耗下性能更强,这对大规模服务器部署或资源有限的嵌入式应用的开发而言至关重要。
FPGA与GPU不同之处在于硬件配置灵活,且FPGA在运行深入学习中关键的子程序(例如对滑动窗口的计算)时,单位能耗下通常能比GPU提供更好的表现。其次FPGA适合做加法器和乘法器等运算。
不过,设置FPGA需要具体硬件的知识,许多研究者和应用科学家并不具备,正因如此,FPGA经常被看作一种行家专属的架构。最近,FPGA工具开始采用包括OpenCL在内的软件级编程模型,使其越来越受经主流软件开发训练的用户青睐。
3.1、MYD-Y7Z010/20开发板
介绍:MYC-Y7Z010/20 CPU 模块是基于 Xilinx Zynq-7000 系列 SoC 的工业级系统级模块 (SoM ),适用于 XC7Z020 或 XC7Z010 版本。它集成了 Zynq-7020 或 Zynq-7010 器件、512MB DDR3 SDRAM、4GB eMMC、16MB 四通道 SPI 闪存、千兆以太网 PHY 和板载外部看门狗,并提供 1.27mm 180 引脚印章孔(Castellated-Hole)扩展接口,允许将 ARM 外设和 FPGA I/O 的大量 I/O 信号扩展到您的基板。该模块已准备好运行Linux,并支持从-40到+ 85摄氏度的宽工作温度范围,非常适合工业嵌入式应用。
介绍:Zynq® UltraScale+ ™ MPSoC 器件提供 64 位处理器可扩展性,同时将实时控制与用于图形、视频、波形和数据包处理的软引擎和硬引擎相结合。基于通用实时处理器和配备可编程逻辑的平台,三种不同的变体包括双应用处理器(CG)设备,四应用处理器和GPU(EG)设备以及视频编解码器(EV)设备,为5G无线,下一代ADAS和工业物联网等应用创造了无限的可能性。
4.1.1 介绍:勘智K210采用RSC-V处理器架构,具备视听体、自主P核与可编程能力强三大特点,支持机器视觉与机器听觉多模态识别,可广泛应用于智能家居、智能园区、智能能耗和智能农业等场景。堪智K210使用台积电超低功耗的28纳米先进制程,具有双核64位处理器,总算力可达1TOPS,内置多种硬件加速单元(KPU、FPU、FFT等),并且拥有较好的功耗性能、稳定性与可靠性。
4.1.2 基于K210的开发板:
Sipeed MAIX Dock K210开发板、Sipeed MAIX Bit K210开发板、Sipeed Maix go K210开发板、Sipeed Maixduino K210开发板、pyAI- K210开发板、勘智KD233开发板等
4.2、英特尔Movidius神经计算棒
4.2.1 介绍:英特尔®Movidius™神经计算棒是基于USB模式的深度学习推理工具和独立的人工智能(AI)协处理器,其内部核心是一颗Myriad 2处理器(28nm工艺),具有80~150 GFLOPS的性能,该处理器也被称为视觉处理单元 ,功耗仅为1W左右,因此完全可以通过USB供电,可以广泛的为边缘主机设备提供专用深度神经网络处理功能。外形小巧的MovidiusTM神经计算棒专为产品开发者、研究人员和创客设计,提供专用高性能深度神经网络处理性能,从而减少开发、调优和部署人工智能应用的障碍。
4.2.2 应用:支持卷积神经网络CNN,如 Caffe 绘制、原型设计和调整工作流程
(Movidius神经计算棒)
介绍:Raspberry Pi 4B 具备1.5Ghz运行的64位四核处理器,最高支持以60fps 速度刷新的4K分辨率的双显示屏,高达4GB RAM(可根据型号选择1GB、2GB、4GB、8GB),2.4/5.0 Ghz 双频无线LAN,蓝牙5.0/BLE,千兆以太网,USB3.0,和PoE功能。
(Raspberry Pi 4B)
6.1 NVIDIA Jetson TX2 开发套件
介绍:NVIDIA推出新一代Jetson TX2开发平台,这是一款“嵌入式领域的AI超级电脑”。集成Linux系统,使用6核Tegra处理器(与Drive PX2同款),256核Pascal架构核心GPU ,16纳米工艺,具备极强的AI运算能力,比上一代TX1有更大进步,而且整机功耗低于7.5W,专为无人机、智能机器人、无人驾驶、智慧城市以及医疗工业设备等打造。支持jetpack3.0(嵌入式AI计算机的SDK),囊括:BSP、深度学习、计算机视觉、GPU计算、多媒体处理等。
(NVIDIA Jetson TX2)
6.2 Nvidia Jetson Nano
介绍:Jetson Nano 搭载四核ARM@A57处理器,128核MAXWELL GPU以及4GB LPD-DR内存,拥有足够的AI算力,是一款低成本的 AI 计算机,具备超高的性能和能效,可以运行现代 AI 工作负载,并行运行多个神经网络,以及同时处理来自多个高清传感器的数据。它专为支持入门级边缘 AI 应用程序和设备而设计,完善的 NVIDIA JetPack SDK 包含用于深度学习、计算机视觉、图形、多媒体等方面的加速库。
(Nvidia Jetson Nano)
工业界常用的嵌入式或移动端AI计算平台主要有集成了神经网络处理器的MCU、FPGA、树莓派这样的微型计算机和英伟达推出的嵌入式超级计算机,它们的共同特点是体积小、低成本、使用灵活和较低功耗。除此之外,业界还有许多如:Gyrfalcon Lightspeeur、麒麟970、英特尔Movidius VPU、高通晓龙845这样的高性能、高成本的移动端AI处理器。
正是因为有灵活方便的嵌入式/移动端AI计算平台,体积庞大复杂的深度神经网络才走出了实验室,更好的走向应用领域,推动人民生活质量的进一步提高。
近年来各大厂商纷纷加入AI芯片领域的竞争,前些时候OPPO自研的NPU马里加纳更是火爆出圈。这反映了人工智能在应用端的繁荣与美好的前景。在调研过程中我曾利用学校VPN登录中国知网、维普期刊、ScienceDirect等文献检索网站查阅资料,但是检索到的大多都是某项技术在嵌入式/移动端平台上的实现,并未找到对于AI计算平台的介绍。只好以科技公司官方网站、博客等资料作为参考,如果有错误或做的不好的地方,请批评指正。
https://book.openmv.cc
https://zhuanlan.zhihu.com/p/493319824
海思Hi3559A 16路1080P编解码开发板、人工智能分析引擎 - 9527_ssy - 博客园
www.myirtech.com/list.asp?id=583
https://www.intel.cn/content/www/cn/zh/developer/tools/neural-compute-stick/overview.html
Buy a Raspberry Pi 4 Model B – Raspberry Pi
https://www.nvidia.cn/autonomous-machines/embedded-systems/jetson-tx2/
NVIDIA Jetson TX2 | 高性能运算 深度学习GPU - Leadtek
Jetson Nano:将 AI 的强大力量带入现实世界 | NVIDIA
lightspeeur.cn/cn-tech.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。