ParagBeeraka 2021年11月30日
智能相机技术的未来将给我们与他人和周围世界的互动方式带来深刻的变革。从更安全、更高效的智能城市到被监控非法伐木的雨林,对先进视觉技术的需求与日俱增。利用人工智能(AI)和机器学习(ML)的多样化和复杂的用例正在推动对增加处理能力的需求,并且,如果没有其他东西的话,在相机本身中提供这种计算也越来越有意义。简言之,要在边缘或端点相机本身上运行高级AI工作负载,需要更高性能的处理,以解决高清晰度成像等应用,从而增强安全性。
随着笔记本电脑和智能手机的迁移,智能摄像头正朝着64位处理的方向发展,以利用更先进的功能,实现更前沿的应用。例如,在世界各地的智能城市中,我们看到摄像头能够运行人工智能算法来检测人、宠物、包裹、车牌和其他物体。而且,随着计算量的增加和智能相机中AI用例的不断扩展,这些工作负载可以在CPU上本地运行。随着这些进步,一次可以检测数百人或识别超速车辆上的车牌,而无需将大量数据实时传输到云端。
为什么64位很重要
转向64位处理带来了CPU硬件的进步,提高了性能和效率。最值得注意的是,64位CPU体系结构具有增强的寄存器支持和更大的内存映射。寄存器数量和宽度的增加意味着可以通过减少内存访问次数来处理较大的数据集,从而加快数据处理速度。增加的寄存器支持还意味着开发人员可以利用编译器优化的最新技术,这将进一步提高性能。当改进的寄存器支持的好处与64位体系结构增加的内存映射相结合时,软件可以直接访问更多的本地数据进行处理,减少了内存交换的需要,这会影响数据集在本地内存中交换和从本地内存中交换时的性能。
成像需求不断增加,智能相机在低端相机中采用4K分辨率,在中高端相机中采用8K分辨率。从1080p移动到4K将使用相同编码方案的摄像机传入视频流的数据速率提高一倍。此外,如果帧速率需要从15fps增加到30fps到60fps以更好地识别对象,那么对数据速率和性能的需求将继续相应地扩展。更高的fps将使摄像机能够以更高的精度检测、识别和识别较小的物体和快速移动的物体。对来自多个流的同时4K编码的需求进一步增加了对更快CPU性能的需求。64位处理器非常适合满足这些需求。
此外,为了满足不断增长的成像和ML工作负载的性能和带宽要求,智能相机需要支持浮点操作。Armv8-A 64位体系结构将单精度的浮点/周期性能提高了2倍,双精度提高了5倍,从而改善了用户体验。
1:触发器定义为包含乘法部分和累加部分的融合MAC操作。一次融合MAC操作相当于两次触发器。
通过从Armv8体系结构中的SVE和Armv9体系结构中的SVE2开始对Neon进行扩展,强调Arm在成像和ML方面所取得的进步也是至关重要的。
图1:用于当前和未来智能相机的Arm 64位CPU
改进的机器学习性能
Arm提供的更快、更大的内存访问 64位 被称为AArch64的体系结构支持ML 模型可以更快地加载到内存中。 这种性能的提高 使能够 执行 推断来自智能摄像头的视频流上的任务要快得多 因此,可以更快地检测、识别和识别图像中的对象。
为了使用片上加速器(如视频编码器/解码器)和处理器内核外部的ML硬件实现高效数据传输,必须优化内存带宽。提高系统内存流性能可加快数据进出内存的速度,以供许多不同的硬件元件使用。下图显示了最常见的内存流基准测试,并说明了从32位CPU迁移到64位CPU时3.75倍的性能改进。
图2:从Cortex-A7 32位CPU到Cortex-A35 64位CPU的内存流性能改进
实现高级安全功能
64位ARMv8-A体系结构在其CPU中提供了本机安全功能,其中加密指令AES、SHA和CRC可以在可用于小颗粒加密的软件加密中提供3x-11x更好的性能。随着Arm继续改进密钥加密操作的性能,智能摄像头能够继续改进其加密算法,以支持物联网应用对隐私和安全的持续需求。
图3:从Cortex-A7 32位CPU到Cortex-A35 64位CPU(带加密扩展)的加密改进
对开发人员的影响:软件和工具
与所有市场一样,软件和工具在智能相机领域继续发挥着重要作用,使开发人员能够提供创新的新功能和应用程序。对64位Linux发行版的支持继续扩大,更多的公司增加了对各种新功能的支持,例如运行由较新的Arm体系结构启用的容器编排器。
此外,Arm继续利用最新CPU中提供的新功能增强开放源码GNU编译器工具链。Arm还增加了对OpenCV的支持,OpenCV是用于计算机视觉、图像处理和ML的领先开源库之一,从而使更多开发人员能够轻松部署智能相机应用程序和产品。
Arm和更广泛生态系统的支持
Arm继续在与数字信号处理、向量处理、ML和安全性相关的较新64位体系结构规范版本中提供增强功能,所有这些都是未来几代智能相机所需的关键计算能力。
将所有智能摄像头移动到基于Arm的64位处理器有许多优点,其中一个关键因素是生态系统的广泛支持。例如,AmazonWeb服务在任何支持64位Armv8 64-A的设备上增加了对ML推断的支持(https://docs.aws.amazon.com/sagemaker/latest/dg/neo-supported-devices-edge-devices.html)通过AWS Sagemaker Neo服务,计划使用Amazon Web服务进行ML部署的公司受益匪浅。
Cassini 项目等生态系统举措解决了物联网部署的两大障碍:可扩展性和碎片化。对于芯片合作伙伴、ODM、OEM、ISV、系统集成商和开发人员,Cassini项目通过加速在不同Arm 64位平台上部署云本机应用程序,打开了边缘和物联网计算的机会。为了利用Cassini项目和相关的SystemReady®计划,必须使用64位作为基本计算平台。
为了加快边缘设备的开发和部署,Arm最近宣布了针对物联网的Arm总体解决方案。路线图上是Vision的总体解决方案,其中包括Arm虚拟硬件,使客户能够在硅可用性之前启动软件开发。
总结
对于智能相机生态系统中希望领先于竞争对手的公司来说,利用64位处理的强大优势非常重要。Arm在这里支持开发人员社区和合作伙伴,帮助解决向64位过渡过程中遇到的任何技术挑战。
向64位的转变是一个“双赢”的局面。它将为整个生态系统提供大量性能、效率和安全效益,并为未来的创新做好准备,从而改变我们周围的世界。
有关64位移动的任何问题,请联系developer@arm.com