社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

低功耗机器学习,打造嵌入式视觉系统

电子工程专辑 • 3 年前 • 297 次点击  


作者:Ananda Roy
EET电子工程专辑原创

机器学习算法开辟了一个新的可能性领域,可以将视觉嵌入到产品中,使家庭、工作空间以及介于两者之间的地方更安全、更高效。为了在更多用例中真正发挥智能视觉的潜力,开发人员需要更节能、更灵活的嵌入式解决方案,这些解决方案要求使用电池供电,易于安装和维护,同时能够提供对我们想要检测和监控的事物进行有效智能检测所要求的视觉性能。机器学习建模和处理的先进性也是智能相机广泛普及的关键。

低成本的远程可视监控在过去等同于红外移动检测器:便宜、自主,但不一定有效。有些用户想用一套联网的摄像机监控后院。摄像头使用红外移动检测唤醒,然后将视频发送给应用程序。

问题是,后院中的移动检测系统会检测一切事物,从邻居家的松鼠到微风中吹动的风铃等。因此被繁多的视频内容搞得疲惫不堪,这就可以理解为何很多视频被跳过去——包括有一天,一个窃贼从后院闯入房子。

直到最近有了另一种选择,人们将视频引入了控制室,正如能想到的那样,如果有重要事情发生,会被值班人员观察到。这种方法提供了更多的保护,但费用和能源消耗也会大很多。因此,需要介于两者之间的解决方案:便宜、电池供电,且比简单的移动检测更具辨别力。理想情况下,该系统将具有足够的嵌入式智能,首先将事件确定为“真实事件”,然后再唤醒功能更强大的摄像头,摄像头在向应用程序发送通知的同时将高分辨率视频进行记录和传输。

今天,机器学习技术的巨大进步,极大地改进了无人值守的视频分析性能。带有高性能深度学习推理加速器芯片或与云数据中心宽带连接的高清摄像头,可以显著增强和改进传统的安全和监控方法。事实上,这样的深度学习系统已经展示了非凡的能力:面部识别、手势解释——例如检测入店行窃,甚至情绪估计——检测入店行窃的企图。或许这些能力已经变得令人刮目相看了。

但这些系统仍然很昂贵,而且需要外部电源和宽带连接。而且由于它们的能力如此之强,甚至会引发安全和隐私问题,从而可能限制它们的部署或引起监管障碍。

那么天平的另一端、那个不起眼的红外移动传感器怎么样了呢?仍然有许多应用只需检测是否有人存在就足够了,不用识别他们的身份或估计他们的心理特征。其中许多应用需要外部电源,并且只能提供有限的连接回传网络。也有许多应用成本非常低,它们怎么样呢?

如今,超低功耗机器学习加速方面所取得的最新重大进展,已经可以回答这个问题了。

可能受益的应用类型

为了在实际使用环境中理解这一突破,让我们仔细看看一些用例。例如,在许多安全和安保应用中,重要的是要知道监控的区域是否有人在场(图1)。这可能是为了检测闯入者,确保没有人靠近危险设备,或者只是打开一些灯以避免有人在黑暗的房间里绊倒。并不真正关心这个人是谁,但也不会对松鼠和管状铃铛的误报感兴趣,比如上述的用户后院引发的那些虚假警报。

图1:低功耗视觉解决方案可实现会议室占用管理。(图片来源:Synaptics)

事实证明,对于一个非常简单的机器学习模型来说,这是机器学习的一个很好的应用。在这种情况下,模型实际上是一组数据和指令,通过运行训练过程中的大量数据而建立。机器学习系统使用这些数据和指令来形成推理——比如在图像中有人的肯定推理,或者图像中没有人而是主人的金毛猎犬的否定推理。

新冠大流行创造了另一类应用,即社交距离监控,遗憾的是相关威胁可能会伴随我们相当长一段时间。非常重要的是,控制人员进入密闭空间,以确保里面的人员不超过空间容量限制(图2)。要做到这一点,最好的方法是在门口没有人工看守的情况下,使用一个可以在人员进出时统计人数的系统。是的,这只是人员检测的另一种用途。这种系统的一个附加功能是检测相关嫌疑人员是否戴着口罩。对于经过训练的机器学习模型来说,这同样是一项相对简单的任务。

 

图2:可用于体育场和活动场所的排队管理,并能保护隐私、无需强制个体识别或身份特征识别的人数统计系统。

事实证明,有一个与此密切相关的完全不同的应用领域。一些机构非常关注他们在办公空间上的花费,并根据空间的使用方式来决定如何最好地优化空间。当公司考虑使用更小(和更便宜)、且通常是共享的工作空间时尤其如此。但这无法优化无法衡量的东西,会有许多新的问题冒出来。有人用这个走廊吗?咖啡室什么时候忙?有多少个公用办公桌可用?三个会议室都被占用的情况多久发生一次?此类数据有助于在不降低生产力的情况下,最大限度地减少办公费用。需要重申的是,这并不需要识别人员或了解他们在做什么,只想能够检测到他们是否存在。

让我们看一下当今大多数公司所考虑的实际典型情况:一家公司在曼哈顿或旧金山市中心等昂贵的市中心地区的高层建筑中设有办公室。公司有四十个隔间和五个会议室。根据高架摄像头的人员检测/计数输入数据,隔间被占用的时间只占工作周的很少一部分,有三个会议室的使用率比其他两个多得多。现在公司要扩张,需要再雇佣20个人,公司可以分析隔间和会议室的实际使用情况来作出安排,而不是在同一栋楼中租用另一层楼来支付高额租金。解决方案可以是将一个未使用的会议室改造成额外的20个隔间,或者提出一种灵活的混合模型,在人们需要时为他们提供工作空间,并最大限度地利用现有隔间。这将极大地节省运营成本支出,并且可以随着容量和劳动力习惯的变化而调整。

检测被检人员特定属性

这带来了另一类应用:合规性检查。可以训练机器学习系统来检测人的外观属性。此人是否佩戴有看得见的ID徽章?有没有戴安全帽或口罩?这人是否将点燃的香烟带入了有易爆气体的房间?

经验表明,机器学习模型可以比旧的视觉处理软件算法能更好地执行这类检测任务。机器学习模型也可以比人工监视器更准确和更可靠,尤其是在需要长时间持续关注的情况下。当任务仅是检测时——不是识别个人、解释手势或其他需要基于大量精细细节进行细微推断的任务时——模型可以做的非常紧凑。

如果模型非常紧凑,并且如果视频数据以适中的速率而不是以60Hz的速率涌入,例如逐行扫描UHD,那么所需的处理能力就不需要太强。它的要求可能超过一个典型的微控制器芯片所能提供的,但远远低于从为高性能计算设计的推理加速器或从耗电量大的GPU中获得的东西。

这将成为近年来为超低功耗计算开发的技术——存储器、控制器和信号处理器的理想应用场所。这些技术可以使机器学习推理加速器能足够快地完成视觉检测任务,而功耗却足够低,完全适用无人值守的电池供电操作。

适中的速度还会带来额外的好处。这种设备有限的速度和内存容量使得它几乎不可能将芯片用于未经授权的任务,例如面部识别。这一事实可以大大减轻在对隐私监管敏感的领域部署系统的监管负担。

具有上述功能的解决方案

事实上,Synaptics公司的Katana KA 10000 SoC就是这样一种超低功耗机器学习加速器。该芯片集成了一组处理器,包括一个Arm CPU、多个DSP内核和一个定制的神经网络加速器,可为一系列不同类型的中等规模机器学习模型提供完整的推理加速平台。

到目前为止,这样的描述同样适用于许多用于高性能计算的人工智能加速芯片。但是,当目标是几个月的电池寿命而不是每秒数十次千兆的操作时,必须从一开始就以不同的方式设计。

这意味着从针对低功耗而非最高速度优化的半导体工艺技术开始,也意味着设计的电路只消耗仅够完成手头任务的功率,并且在不需要时及时关闭,还意味着需要选择合适的处理器架构,例如Arm Cortex-M33CPU、DSP内核和专门的神经处理单元,它们能够通过协作以尽可能少的电池消耗而不是尽可能短的时间延迟来完成给定的推理。它还意味着为摄像头和麦克风提供片上低功耗存储器和外围接口。

对于将在现场使用、需要处理敏感个人数据的SoC来说,安全性也是首要考虑的问题。密钥的安全存储、安全的启动和代码更新以及硬件辅助加密,都是必须在硬件层级解决的问题。

在实践中可以期待什么结果?

那么,专注于超低功耗设计的成功程度如何呢?Synaptics声称,KA10000在连续处理视频并每秒产生10次推理的情况下,使用一节电池可以运行近三年时间。

图像检测性能和超低功耗的结合,为廉价、无人值守和不受束缚的智能相机开辟了新的应用领域。但从历史上看,视频推理系统的编程复杂得令人沮丧——以至于行业中出现了一个新的人工智能专家子行业。然而,如果使用神经加速器SoC的第一步是雇佣一个人工智能专家和数据科学家团队,那么这些应用中几乎没有一个能够得到满足。在这个领域,一个有能力的SoC需要一个功能强大的开发环境。

因此,Synaptics与Eta Compute合作为KA 10000提供了TENSAI Flow开发平台。该平台包括一个可在KA 10000计算系统上优化实现模型的编译器;用于人员检测和工业安全等任务的预设计和训练验证机器学习模型;以及构成系统的中间件和设备驱动程序。

想要自己开发模型的用户可以在TENSAI平台内使用TensorFlow。但是模型开发需要一组复杂的任务——通过数据收集和数据过滤生成最相关的数据集、使用该数据集训练神经网络模型、优化该模型以适应超低功耗SoC的内存限制,然后通过编程将模型植入可执行的固件二进制文件中。

对于非专业软件开发人员来说,所有这些任务都可能令人生畏。这个过程可能需要6到9个月——如果出现任何问题,甚至更长时间——因此边缘人工智能设备的部署可能会是一项耗时的工作,从而将时间表、预算甚至市场窗口都置于风险之中。

成功需要硬件、软件和IP提供商的协作生态系统。Synaptics就通过与Edge Impulse等MLOps公司的合作,帮助加快了这一进程。客户将Synaptics的Katana平台与Edge Impulse环境结合起来,使用可以在几天内制作出模型的原型,并在几个月内构建出生产模型。这意味着差异化、超低功耗的边缘人工智能设备的低风险和快速部署。

低成本全自动相机对高效和特定用例机器学习的需求,在芯片行业已经得到了积极响应。目前提供的解决方案能以极具吸引力的成本和性能、同时提供综合的且适合普通人的开发环境和完整的神经网络增强SoC。这也开辟了低功率人体检测和其他视觉检测能力的前沿领域,并将以多种方式改善人们的生活。





END




往期热文回顾
从中芯国际28nm扩产看半导体设备发展机遇
传苹果已经拒绝台积电2023年代工涨价
一个低成本的FOC控制方案
射频设计,dB 为什么如此重要?
折叠手机铰链,设计原理!

评测中心

长按图片,扫码免费领取

点分享
点收藏
点点赞
点在看
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/147835