工具创新如何简化嵌入式系统的视觉 AI 开发
将视觉集成到日常产品中可为各行业带来变革性效益,但提取相机数据、嵌入机器学习模型并提供可操作洞察仍是复杂挑战。
关键在于选择合适的软件、工具、库和编译器。这些资源通常非工程师无法获取,甚至许多嵌入式开发者也缺乏视觉系统设计所需的专业知识。
主要障碍之一是缺乏对促进嵌入式视觉开发的软件和工具的认知。Edge AI and Vision Alliance 创始人 Jeff Bier 在 2021 Embedded Vision Summit 前夕接受 EE Times 采访时指出,尽管在算法和芯片上投入巨大,但连接两者的软件工具——编译器、优化函数库等——却在某种程度上被忽视了。
使用合适的软件工具、编译器和库,可为特定单片机或处理器实现算法的高效实现。但“过去 30 年,半导体公司通常在软件工具上投入不足,”拥有嵌入式系统和信号处理资深经验的 Bier 说。“软件常被视为‘必要之恶’——在极度成本敏感的业务中是成本中心——这从工具质量上就能看出来。作为嵌入式软件开发者,你对比 PC 或云端开发者拥有的工具,会感觉像不受宠的继子。”
进一步说,“你可能有嵌入式系统专长,但这些开发者可能从未处理过图像数据或深度神经网络。”
技能是大挑战,Bier 说。“我们可能做过电子表格计算,说‘是的,在我们应用中以足够性能运行这种深度神经网络是可能的。’但我们知道怎么做吗?有技能吗?对大多数组织答案是否定的,因为他们过去没机会用这项技术。在商业世界这属相对新技术,他们没有专业知识,公司里没有机器学习部门或计算机视觉部门。”
过去几年,这已成为商业应用计算机视觉和深度神经网络的巨大瓶颈——就是缺乏诀窍。
不过技术正变得更易获取,因为公司过去几年致力于弥补技能差距。“知识和技能差距曾很大但正在缩小,”Bier 说,补充道“几家公司”,一大一小,“引领了这场变革”。大公司是英特尔;小公司是 Edge Impulse。
“英特尔常令我印象深刻,逆势愿在软件工具上大投入,”Bier 说。“例如他们有用于边缘计算机视觉和推理的 OpenVINO 工具链,以及面向边缘的 DevCloud。Edge Impulse 也是云端环境。对嵌入式开发者,那[云环境]感觉怪异。他们一切通常在桌面上——开发板、工作站、工具——甚至不需要网络。一切都很本地。所以让他们‘把代码放云端’并在云端运行工具,感觉很奇怪。”
该趋势同时解决部署时间和技能差距。嵌入式开发者常见挫折是获取开发板和工具并正确安装,Bier 说。时间线“通常以周计,有时以月计,这很痛苦,尤其是最后发现不是你需要的,必须用其他板重复过程。”例如,过程结束时可能发现“需要更高性能或不同 I/O 接口的上一级板卡。”
但如果供应商“在云端拥有所有连接其机器的开发板并可随时访问,那提供巨大便利。同样,他们拥有最新版软件工具,并已理清工具间所有依赖关系。”
加速视觉 AI 部署
那么如何加速嵌入式视觉部署,以实现目标检测和分析等功能,无论用于智慧城市、工厂、零售或其他应用?
针对 Bier 描述的痛点,公司正提供解决方案。一些提供云端开发系统,让你输入代码或数据,近乎实时获得评估。另一些提供参考设计,只需接入相机输出,从库或应用中选择常见应用的推理算法即可。
前者阵营中,Intel DevCloud for the Edge 和 Edge Impulse 提供云端平台,通过轻松获取最新工具和软件消除大部分痛点。后者阵营中,Xilinx 等开始提供生产就绪应用的完整系统级模块,配合更高抽象层级工具部署,消除部分需求专业技能。
在云端原型、基准测试和测试 AI 推理
Intel DevCloud for the Edge 让用户在英特尔硬件(CPU、集成 GPU、FPGA、视觉处理单元 VPU)上开发、原型、基准测试和测试 AI 推理应用。通过 Jupyter Notebook 界面,平台预装教程和示例,包含启动所需一切:预训练模型、样本数据、最新版英特尔 OpenVINO 工具包发行版的可执行代码,以及其他深度学习工具。所有支持设备均配置为最佳性能,就绪推理执行。

对开发者最大益处是平台无需用户侧硬件设置。Jupyter Notebook 基于浏览器的开发环境让开发者在浏览器运行代码并即时可视化结果。这使他们能在英特尔云环境中原型计算机视觉解决方案,并观察代码在任意可用硬件资源组合上运行。
这种云端方案有三大益处。第一,解决硬件选择瘫痪。开发者可在广泛硬件上远程运行 AI 应用,基于推理执行时间、功耗、成本等因素确定最适合其方案的硬件。
第二,即时远程访问最新英特尔边缘硬件。软件层面,解决处理过时软件问题,提供最新版英特尔 OpenVINO 工具包发行版和兼容边缘硬件的即时访问。
第三,以易对比的并排格式提供应用专项性能基准。
(运行目标检测模型使用 Intel DevCloud for the Edge 的教程请见此处。)
在云端构建模型,实时看效果
另一方法是将数据输入云平台以可视化、创建训练模型并部署到嵌入式设备。Edge Impulse 正是如此,提供云端开发环境,旨在让无需机器学习博士学位也能轻松在边缘设备添加机器学习。
其平台让用户导入现场采集的图像数据、快速构建分类器解读数据、将模型部署回生产低功耗设备。Edge Impulse Web 平台关键在于能查看和标注所有采集数据、创建预处理块增强转换数据、可视化图像数据集、直接从用户界面在训练数据上分类和验证模型。
因为从零构建计算机视觉模型很难,Edge Impulse 采用迁移学习使训练更易更快。这涉及借力成熟模型、仅重新训练神经网络上层,从而用少得多的数据、在极短时间内训练出更可靠模型。模型设计、训练、验证后,即可部署回设备。模型随后可在无网络连接下运行,拥有最小化延迟、最低功耗等固有优势。完整模型连同预处理步骤、神经网络权重、分类代码打包为单一 C++ 库,可包含在嵌入式软件中。

迈向更高抽象层级
供应商提供的另一方法是通过模块化系统缩短开发时间,支持更高抽象层级设计。Xilinx 称其新系统级模块(SOM)方法可为视觉系统开发减少多达九个月,应对视觉 AI 日益增长的复杂性及边缘 AI 实施挑战。
Xilinx 近期发布新 SOM 产品组合首款产品:Kria K26 SOM,专门针对智慧城市和智慧工厂的视觉 AI 应用,配套开箱即用、低成本开发套件 Kria KV260 AI 视觉入门套件。
Xilinx 工业、视觉和医疗总监 Chetan Khona 在新模块家族发布会上表示:“生产就绪系统对嵌入式视觉 AI 快速部署很重要。客户用模块化设计而非器件级设计可节省多达九个月开发时间。”他补充说,用入门套件一小时内即可上手,“无需 FPGA 经验”。用户连接相机、线缆和显示器,插入编程好 microSD 卡并上电,即可选择并运行其选择的加速应用。
Kria SOM 产品组合将硬软件平台与生产就绪视觉加速应用结合。这些交钥匙应用消除所有 FPGA 硬件设计工作;软件开发者只需集成自定义 AI 模型和应用代码,并可选择修改视觉管线——使用熟悉的设计环境,如 TensorFlow、PyTorch 或 Caffe 框架,以及 C、C++、OpenCL 和 Python 编程语言。

Kria SOM 还支持标准基于 Yocto 的 PetaLinux,为嵌入式开发者提供定制和优化。Xilinx 称与 Canonical 合作提供 Ubuntu Linux 支持也在进行中,这是 AI 开发者广泛使用的热门 Linux 发行版。这提供广泛熟悉度和与现有应用互操作性。客户可在任一环境开发并任一方式量产。两环境均预装软件基础设施和实用工具。
我们重点介绍了供应商解决嵌入式视觉系统开发技能/知识差距及部署时间的三种方法。云端方法提供“民主化”创建训练模型和评估硬件的工具,实现极快部署到嵌入式设备。提供模块或参考设计加应用库的方法让 AI 开发者用现有工具快速创建嵌入式视觉系统。这些都在推动我们以不同方式看待开发板和工具。它们将嵌入式视觉的神秘感去除,上移价值链,将基础工作留给供应商工具和模块。
相关内容:
- 嵌入式视觉达临界点
- 嵌入式视觉和边缘 AI 五大趋势
- 机器会完全理解所见吗?
- Xilinx SOM 瞄准边缘 AI 和嵌入式视觉更广泛采用
- 嵌入式视觉峰会:微型 FPGA 上的 ML 感知
- 长城汽车采用 Ambarella AI 视觉 SoC 用于新 SUV
- AImotive 在 Nextchip Apache5 上展示 98% 边缘视觉效率
- 低功耗 AI 视觉板单电池可用‘数年’
- OmniVision 缩小医疗图像传感器用于更深内窥镜
嵌入式