前言
云计算对大家来说已经不陌生了,但是边缘计算互联网普及这方面的知识还是很少,边缘计算的额应用却在我们生活中运用,比如小区门禁人脸识别和智能监控等。那么问题来了,为什么说边缘计算一定要云计算有关呢?他们是什么关系呢?
云计算和边缘计算
云计算是一种基于互联网的计算模式,是集中式计算技术的一种,建立一个率属于因特网的计算群体,里面可以有超级计算机,也可以有普通计算机,这个计算集群可以为你提供一定的计算服务。所以云计算的基本原理是江计算资源集中在一个中央服务器群集上,并通过互联网向用户提供计算服务或结果再反馈给用户终端。
边缘计算是相对云计算而言的,它是指收集并分析数据的行为发生在靠近数据生成的本地设备终端或局域网中,而不是必须将数据传输到计算资源集中化的云端进行处理。所以边缘计算又叫分布式云计算。
云计算和边缘计算的区别
一般来说,云计算是用于处理非事件驱动的信息,边缘计算是用于处理对时间敏感的信息。
边缘计算实际案例
智慧工地安全帽的识别 (如果把数据传输至云中心,那么需要消耗大量的带宽、延时、存储空间),如果在摄像头存储一块智能芯片,这个芯片提供(人脸识别、人员闯入、安全帽识别、人员昏倒识别、火焰识别等)嵌入。让摄像头具有识别和预处理图像的能力。
自动驾驶 识别当前有没有人经过马路来启动汽车的驻车刹车能力。如果将数据发送给云端,那么需要考虑网络的延时性和网络的良好问题,这将是一个非常危险的方案。边缘计算就是在车辆内部嵌入相关的硬件和算法方案,感应模块提交给边缘计算系统里,再进行计算给出刹车指令。
人脸识别,边缘计算的终端已经录入了人脸,当你人经过时,终端设备的摄像头及AI分析模块起作用,让终端识别到这张人脸是小区住户、公司员工,将自动打开门闸。
如何在嵌入式平台部署AI模型
AI模型是什么
AI模型是一段代码还是一段数据?简单来说AI模型可以理解为特定的算法,给它输入一串数据就可以计算出结果,比如以图像识别的AI模型为例子,我们看到的图片其实是以数字的形式存储的。把这些数字输入到模型中进行一系列的计算,最后得出包含这些数据的结果,这些结果中就包含了识别的一些信息,比如杯子,坐标、轮廓等等。目前比较常见的AI模型就是这种神经网络形态的,每一个节点都包含了一个计算公式,所以所谓的模型推导,就是把一整串数字放到一个算法里面进行计算,最后输出结果的过程。
这个模型推导需要消耗两个硬件指标,一个是内存,一个就是算力。
内存的大小就决定了能加载模型的大小,
CPU的算力就决定了模型推导的速度,模型越大每次AI模型推导的次数就越多。
但是嵌入式平台上一般都没有高性能的CPU和GPU。所以为了在嵌入式平台上运行AI模型,就引入了一种叫NPU的东西,称之为神经网络处理器。
NPU
AI模型算法包含了大量的卷积和矩阵算法,而NPU就是为了来计算卷积和矩阵的。效率要比GPU更高。所以你会发现在嵌入式平台运行AI模型这件事,其实主要的工作就变成了如何利用NPU推导AI模型。
这里有两个问题,第一个是格式问题,模型存储有对应的格式。第一个步骤就是要将AI模型转换为NPU能够识别的格式。
第二个问题是NPU并不能进行浮点计算。而AI模型又有大量的浮点计算,所以还需要将这些浮点计算转换成整型计算。这个过程一般称为模型的量化。
恩智浦云实验室+YOLO模型下载测试
这部分内容暂不提供