Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
中文社区
中文社区
中文社区博客 用于计算机视觉和机器学习的 ARM 计算库现在公开发布了!
  • Blogs
  • Forum
  • 视频和文件
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
中文社区 requires membership for participation - click to join
More blogs in 中文社区
  • ARM中国大学计划博客

  • Arm新闻

  • 中文mbed博客

  • 中文社区博客

  • 恩智浦汽车电子MCU讨论区博客

 

Tags
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

用于计算机视觉和机器学习的 ARM 计算库现在公开发布了!

Song Bin 宋斌
Song Bin 宋斌
April 1, 2017
Less than one minute read time.

机器学习、虚拟和增强现实,以及计算机视觉等新兴技术为跨整个 ARM 体系以及所有细分市场的创新和业务增长带来了大好机遇。

半导体供应链中的软件开发人员应该能够集中精力进行创新,而不是重新实现常用的技术和优化。这也为产品开发带来了好机会,我们的合作伙伴应该将时间用在功能开发和差异化上,而不是费力于基础技术。

幸福时光来临!我们一直致力于为我们的合作伙伴和开发人员体系提供支持,今天我们公开发布 ARM 计算库。

 

什么是 ARM 计算库

ARM 计算库是为 ARM CPU 和 Mali GPU 体系结构优化的一系列低级软件函数,面向各种不同的使用情形,包括:图像处理、计算机视觉和机器学习。它是免费提供的,但需获得 MIT 开源许可证才能使用。

ARM 计算库最初包含大量为 ARMCortex-A 系列 CPU 处理器和 ARM Mali Midgard 和 Bifrost 系列 GPU 实现的函数。它是一个方便的低级优化函数资源库,开发人员可单独使用,也可作为复杂管道的一部分使用,从而加快其算法和应用程序运行速度。

 

ARM 计算库中的内容

该库的第一个版本包括一系列全面的函数,这些函数是基于我们与合作伙伴和开发人员在图像处理和视觉产品方面的合作经验,以及我们在优化机器学习框架(如 Google TensorFlow)方面的经验而构建的。

该库包括以下函数类别:

  • 基本运算、数学和二元运算符函数
  • 颜色处理(转换、通道提取等)
  • 卷积过滤器(Sobel、Gaussian 等)
  • Canny 边缘、Harris 角点、光流等
  • 金字塔(如 Laplacians)
  • HOG(方向梯度直方图)
  • SVM(支持向量机)
  • H/SGEMM(半精度和单精度一般矩阵乘法)
  • 卷积神经网络构造块(激活、卷积、全连接、局部连接、归一化、池化、Softmax)

我们听取了合作伙伴的意见,并且将继续这样做,以便获得您的反馈,有问题欢迎在下方留言。

 

ARM 计算库有何优势

ARM 计算库不但是非常全面的一站式解决方案,可用于日常常见 CV 和 ML 性能优化工作,它还有一个重要特性,那就是可移植性。CPU 功能是用 NEON 内部函数实现的,开发人员可以针对其目标体系结构重新编译这些内部函数,也就是说可以在 ARMv7 或 ARMv8 处理器实现之间转换代码,可将代码编译为 32 位和 64 位。该库的 GPU 版本由使用 OpenCL 标准 API 编写的内核程序组成,这些程序同样可以跨多种处理器和体系结构移植(虽然是专门为 ARM Mali GPU 而优化的)。

该库与操作系统无关,已部署在各种基于 ARM 的新式 Linux 和 Android 片上系统平台上。

它是一个很有用的工具,能够大大降低开发人员开发图像处理、视觉和机器学习应用程序时所需要的成本和工作量,让他们能够集中精力打造产品优势并缩短产品上市时间。ARM 计算库非常成熟,并经过测试,全球已有多家消费类和移动芯片提供商、OEM 厂商,以及很多 ISV 在他们的产品中加以利用。

 

其他类似开源库的表现

如果您开发过任何计算机视觉软件或设计过这种软件的原型,您很可能使用过 OpenCV 库。OpenCV 是极好的工具,堪称最全面的工具箱,任何人都可能需要用它来快速设计计算机视觉和机器学习领域的产品和解决方案原型。

但是现在,在 OpenCV 中,对移动和嵌入式处理器的支持仍然有限。如今,OpenCV 项目包含大约 40 个 NEON 加速函数。还有一个 OpenCL 模块,可在移动 OpenCL 实现中让使用兼容处理器的关键函数加速运行(虽然代码针对特定桌面类 GPU 体系结构进行了优化,性能不算很好,甚至在一些情况下根本不
执行)。

与现有的开源库(如 OpenCV)相比,ARM 计算库提供的函数更为全面,性能更优,并且这一切都是现成可用的。我们测试了这两个库中在一些新式智能手机设备(如华为 P9,即海思麒麟 955)上都使用的函数。在任何情况下,ARM 计算库的性能都优于 OpenCV。下图显示了我们观察到的一些性能上的优势,这些结果按函数类别进行了分组。

 

[标题:ARM 计算库与 OpenCV,单线程,CPU (NEON),在海思麒麟 960 上测试]

ARM 计算库提供专门针对机器学习和计算机视觉而优化的基元,对 ARM 优化库进行了补充。其他值得关注的提供 NEON 优化的库包括:

  • HPC 性能库,这是用于 ARM 上高性能计算的标准核心数学库的集合(进行了 BLAS、LAPACK 和 FFT 优化)。这些库可以免费评估,也可付费获得许可。
  • Ne10是一个开源 C 库,由 ARM 托管在 github 上,包含一系列针对 ARM 大力优化过的常见处理密集型函数
  • libyuv是一个包含 YUV 缩放和转换的开源项目
  • skia是一个开源二维图形库,用作 Google Chrome 和 Chrome OS、Android、Mozilla Firefox、Firefox OS 以及其他很多产品的图形引擎。

 

现在谁在使用这个库?

在几周之前于巴塞罗那举行的世界移动大会上,我们展示了一款智能手机应用,它通过结合使用计算机视觉和机器学习技术估计食物中的卡路里含量。这次演示是由我们重要的合作伙伴 ThunderView (ThunderSoft) 制作的,其中使用了 ARM 开发的一些经过优化的基元。在我以前的博客以及EEtimes 的 Peter Clark 所撰写的报告中,您可以了解到更多相关信息。

浏览此空间,了解我们的合作伙伴使用 ARM 计算库做些什么。

我们期待您的反馈,也欢迎您在本帖留言提问

Anonymous
中文社区博客
  • Arm A-Profile构架2022扩展

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文:Arm A-Profile Architecture Developments 2022 - Architectures and Processors blog - Arm Community blogs - Arm Community  作者:Martin Weidmann翻译:修志龙(Zenon Xiu) 与arm构架授权和生态伙伴一起,arm持续演进其构架,开发新功能以满足现有和新市场的要求…
    • October 17, 2022
  • 深入理解 Arm A-profile的non-maskable interrupt -NMI

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/a-profile-non-maskable-interrupts  翻译: 修志龙 Zenon Xiu Arm A-profile构架一个长久以来的局限性是:缺乏对non-maskable interrupt (NMI…
    • August 24, 2022
  • Arm A-Profile 构架2021扩展

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2021 Martin Weidmann September 8, 2021 翻译注释:Zenon Xiu Arm与arm构架授权公司及生态伙伴一起…
    • August 17, 2022