大家都知道,现在计算机技术已经全面向人工智能的时代前进,许多行业都在用人工智能为用户创造新的价值。笔者所在的公司,主要服务于制造业,也为用户提供了多种人工智能的软硬件解决方案,其中一些行业也颇具有代表性。
例如用AI技术来替代人力的智慧监控系统,在长输油气管道行业已经开始广泛的应用。传统的人员集中式监控,已经越来越无法适应数量庞大的视频监控工作,存在工作压力繁重,易于松懈与疏漏的缺点。
行业的主流认知都已经公认应当由人工智能来替代人员的工作,实时分析监控视频中的画面内容,将风险从事后追溯提前到事前预警,将损失控制到***小。
针对该类需求,赞龙推出了软硬件一体的边缘计算终端,内置带有NPU(神经处理单元)核心的瑞芯微3399PRO平台,通过RJ45网口连接主流品牌的监控摄像机,内部程序的算法通过调用NPU核心可实时分析监控画面,与预置在内部的预警模型做比对,及时提醒用户潜在的风险。
已经有数千个监控点采用我司的AI技术,配合监控系统,自动识别油气管网周边的安全风险,在被监控区域遇到危险时通过声光等方式向用户提示,也可以通过网络接口将提示信息发送到用户后台或者手机,用户在大量的监控信息中只需处理已经被筛选出来的危险场景。
例如工程车辆的破坏,重型车辆的压损,未做勘测的人工挖掘行为等等,极大的提高了安保效率,有效的保护了用户投资,有力的支持了我国能源安全战略。
在另一个项目中,我司提供了一套针对容器型瓷器的自动化检验设备,其中的边缘计算终端换成了X86平台,计算核心使用了intel的新款i7 cpu,并采用NVIDIA的显卡作为AI加速平台。
针对瓷器产品的尺寸、外形、砂眼、釉面、光泽等一系列质量指标进行快速检验。***近正在研发的新一代瓷器检验平台,针对的大型瓷器产品检验,还将加入机械臂以及多个工业级相机进行拍照,由此还研发了新款的边缘计算终端,使用更快的CPU,更大的内存,更先进的显卡来进行数据运算。
说到这里一定有读者想了解遇到具体的项目要如何在这两个平台之间做选择。在此我们可以提供一些参考建议。
首先我们可以粗略的做个对比,ARM平台的边缘计算终端相对集成度较高,所有功能做成一颗单核心,价格便宜,运算精度稍低,功耗消耗比较小,***性能基本在设计之时已经做了限定。
而X86平台刚好相反,不考虑功耗的前提下可以采用极高性能CPU,大容量内存及高精度显卡,运算速度可以根据项目需要不断提升。用户可以根据自己的项目特点进行选择。除此以外两者还有一些差异由下文进一步阐述。
现在的AI应用的步骤一般都由训练和推理组成。训练就是针对被分析目标,例如上述管道智慧安防案例中提到的工程机械,重型车辆,人员,火焰等,以及瓷器质检项目中的破损,裂纹,变形等目标,收集大量目标图片,以一定的规则输入到训练服务器中,生成一个目标数据模型。
将这个目标模型移植到推理终端(也常叫做边缘计算终端,指物理连接与网络连接都靠近其他设备的控制平台,主要应用于AI项目)。
例如我们上文写到的带有npu核心的瑞芯微3399pro以及常规x86平台的计算机,都可以作为推理终端使用,推理终端的内置算法程序不断将目标数据模型与前端相机获取的图片做比对,当内置算法认为图片中存在与数据模型相匹配的目标,则比对成功。
终端输出用户需要的结果,到实际应用中则表现为智慧监控将向用户提示现场出现了工程机械,重型车辆等威胁,瓷器质检系统将反馈产品检测到不合格的问题点。
边缘计算终端的AI能力由算力值进行评估,实际应用中可以用比对速度与准确度进行评估。例如每秒能比对多少张,对于比对的输出值,计算机有可能是错的,从用户的角度统计,错误率与正确率大概为多少。
如果ARM平台的计算性能不如X86平台,可否用多台ARM产品完成一台X86产品的工作。
从速度上来说上述问题的答案是完全可以。实际应用中,由于ARM平台的内存相对较小,主流4~8GB,而X86平台轻易可以安装16~32GB的内存,在很多数据吞吐量很大的应用中,采用ARM平台完全无法运行,这也就不是用堆数量可以解决的问题。
例如瓷器检验平台中相机拍回的是未经处理的RAW文件,在进行处理的时候单张则需占用数GB内存,如果多张同时处理,常规的ARM平台则无能为力,特殊的高性能ARM也存在,因应用环境与我司不符,在此不做过多讨论,读者在实际应用时还需参考更多文献,了解更多家的产品线以选用***适合自身的产品。
除开计算速度,就现阶段的主流而言,训练服务器多半还是采用高性能的x86平台配合Nvidia的高端显卡,所以x86的推理终端也可以当做训练终端使用,节约开发者的评估成本。
X86平台有完备的图形化界面,可以实时在开发环境下更方便地检查图像数据,以及可视化训练曲线。由于和训练服务器使用一样的硬件环境,开发者可以把在开发环境下调试好的代码直接放到服务器上运行,保证一致性。
X86训练服务器训练出来的目标数据模型,要经过转换后才能给ARM平台的边缘计算终端使用,精度上会受损失,损失程度视情况而定,无法精确评估。可以理解为用户在开发的时候得到的结果,与实际应用中会有差别,需要不断地实践来进行修正。而X86平台的推理终端因为与训练平台架构一致,将与训练服务器获得的推理结果完全相同。
所以在实际应用中,当使用环境对于推理准确度允许有一定的误差时,我们采用较为便宜的ARM平台产品,使用中通过用户进行一些修正与处理。而在对精度及速度要求较高的场合,我们采用X86的推理终端,获得尽可能准确的结果。
如若转载,请注明出处:https://www.hanjifoods.com/17270.html