新一代面向边缘应用的AI视觉处理器

网友投稿 291 2024-02-21


最近,笔者与Ambarella的AIoT高级总监Jerome Gigot进行了交流,该公司专门为边缘应用程序创建AI视觉处理器。自2004年成立以来,该公司一直专注于为视频处理的各个方面提供解决方案(重点强调低功耗)。Ambarella最初从广播和摄像机开始,大约在2010年,当A5S芯片被用于GoPro时,他们开始关注安防市场。2012年,该公司发布了S2,是第一个针对安全/监控摄像头的4K芯片。

新一代面向边缘应用的AI视觉处理器

2015年,Ambarella收购了一家名为VisLab的计算机视觉公司,从那时起,他们开始专注于人工智能和计算机视觉。CVflow 1.0更多的是一个研发活动,并没有真正进入市场。CVflow 2.0支持一套视觉处理芯片——CV2, CV5, CV22, CV25, CV28,是Ambarella的客户目前在他们的安全摄像头系统中使用的芯片。

现在,事情真正开始变得有趣起来,因为Ambarella在2021年收购了一家名为Oculii的人工智能雷达软件公司。同时,他们着手开发第三代视觉处理体系结构:CVflow 3.0。

目前实现CVflow 3.0架构的有两款芯片,都采用了三星5nm工艺。在今年年初的CES上宣布的第一款芯片CV3-AD是一款非常高端的设备,具有极高的人工智能性能,目标是汽车市场的L2+到L4级自动化。

第二款芯片,新的CV72S SoC,将在ISC West上公布。CV72S在尺寸和成本上展示了Ambarella最先进的技术,适合一般物联网市场,特别是安全/监控市场。

但这与之前提到的收购Oculii又有什么关系呢?Oculii是做人工智能雷达软件的,他们不制造传感器,只做软件。更具体地说,他们使用人工智能来聪明地控制雷达头(传感器)。如果使用英飞凌、恩智浦或德州仪器等公司现有的雷达头,那么Oculii可以提高其分辨率、范围和精度,同时使用更少的天线、实现更低的功耗。

所有这些使得CV72S能够满足当今最新和最大的安全/监视系统的需求,即更多的人工智能,更好的图像质量(包括彩色夜视),鱼眼和多成像器(CV72S可以在硬件中对鱼眼图像进行反扭曲),以及光学和雷达世界之间的传感器融合。

在AI组件下,我们谈论的不仅仅是更多的AI,而是更好的AI。当今安全/监控系统的开发人员总想要运行最新、最好的神经网络,而这些网络总是倾向于更大、要求更高的性能。开发人员还希望能够检测和识别更远的东西,这意味着他们需要更高的神经网络分辨率,也需要更高的性能。

在自然语言处理(NLP)方面,应用程序如ChatGPT已经变得非常有名。最近,人工智能专家们意识到,同样的网络也可以应用于视频。这导致了一种被称为视觉转换器的新型网络,其性能优于传统的卷积神经网络(CNN)。不幸的是,视觉转换器需要专用硬件;幸运的是,这个新的硬件就是CV72S。

话虽如此,视觉转换器的性能取决于它们所使用的数据,这将我们很好地引导到上图右侧的传感器融合示例。正如你所看到的,要弄清楚我们在做什么有点困难,我们现在看到的是一座商业建筑和一个停车场。这张照片的下半部分是相机仅使用RGB视觉传感器在夜间看到的景象。我们只能看到一辆白色的车。

这张图片的顶部显示了相机中雷达生成的点云。如果看一下这个雷达数据,我们可以看到顶部有三个紫色的斑点和一个浅蓝色的斑点。这四个斑点是人。如果观看直播视频,我们可以看到他们在移动(手臂摆动,腿行走),其中的颜色编码反映了移动的方向(紫色的人向左移动,而蓝色的人向右移动)。

在视觉图像和雷达图像之间执行传感器融合,可以提供更高级别的有用信息,这些信息对于建筑物保护和周界安全等非常重要,特别是当雾、雪和烟雾等环境条件降低了图像的视觉位置的情况下。

实现传感器融合的具体框图如下所示:

笔者不打算详细介绍这个图,只想指出这个系统可以接受1到10个传感器(相机)输入,可以使用最新的LPDDR5外部存储器,终极秘密浓缩在CVflow块中(其中涉及令人难以置信的晶体管数量)。

笔者在家里安装了安全摄像头。摄像头在白天提供的图像是很棒的,但在晚上却差强人意,而矛盾的是晚上正是我们希望摄像头表现最好的时候。

下面左侧的图片是通过一个传统的ISP引擎,这在市场上已经是最好的。当光照水平过低时,传感器就会变得非常嘈杂。传统技术无法恢复这种图像,所以当黄昏降临时,相机通常会切换到夜间模式,这导致图像的灰度很难看。

AISP可以解决上述问题,顾名思义,AISP是传统图像信号处理(ISP)和高性能神经网络AI处理的结合,可以降低噪声和提高夜间图像质量,同时还可以大幅降低比特率,如右图所示。

最后,我们需要考虑开发人员如何将CV72S纳入他们的安全/监控摄像头设计。我们一般是用32位浮点数训练AI网络,但这样的网络并没有针对边缘设备进行优化,所以Ambarella提供了一个本质上的编译器,采用32位浮点表示,并将其量化为CV72S能够理解的8位定点等效语言。如果开发人员想进一步优化模型,可以使用Ambarella工具来裁剪网络。有时可以裁剪50%,在保持99%精度的同时实现2X线性性能加速,这确实很酷。

审核编辑:刘清

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Altera宣布加入嵌入式视觉联盟
下一篇:如何用阶次跟踪方法来检测旋转机械故障
相关文章

 发表评论

暂时没有评论,来抢沙发吧~