随着物联网和AI芯片的发展,未来将会有越来越多的数据在边缘侧处理。很多业务场景已经对边缘智能提出了明确的需求,比如自动驾驶的汽车每天会产生5TB的数据,而智能工厂每天产生的数据高达1PB,其中包含视频和传感器的数据。如果不能借助边缘智能技术而依靠Internet网络把数据传输至云端处理,会造成网络延迟和拥塞,影响推理结果的实时性,造成生产事故甚至于安全事故。所以本篇将介绍使用AmazonSageMaker和NvidiaJetson使用云+端结合的方式打造一个边缘推理的方案,整体方案架构如下:
在正式了解AmazonSagemaker与NVIDIAJetson平台之前,我们先了解一下什么是目标检测和YOLO。
目标检测与YOLO(YouOnlyLookOnce)
目标检测是计算机视觉中的一个重要分支,但由于在边缘设备或移动端中部署神经网络模型需要很大的算力或GPU处理能力。近年来由于边缘AI芯片的算力增强,再加上边缘智能有着更广泛的应用场景,围绕机器学习模型在边缘设备上的高效应用等研究课题逐步火热。
目前在目标检测领域的深度学习方法主要分为两类:一类是twostage的目标检测算法;另外一类是onestage的目标检测算法。
前者是先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类;后者onestage则不用产生候选框,直接将目标边框定位的问题转化为回归问题处理。正是由于两种方法的差异,在性能表现上也有不同,前者在检测准确率和定位精度上占优,而后者在算法推理速度上占优。最近很多AI公司都在做是否戴口罩的识别,实际上也是基于这两类方法。精度与速度往往在目标检测中是零和博弈,我们通过实践将两者平衡,以获得最大收益。
YOLOv3是目标检测经典模型YOLO的第三代版本,因其目标识别的速度很快,被业内称为边缘的目标检测之光,它由目标检测领域的经典论文YOLO(YouOnlyLookOnce)的两位作者——华盛顿大学的JosephRedmon和AliFarhadi创作。年9月,YOLOv3正式发布,下图是从FocalLoss论文中可以看出YOLOv3的运行速度明显快于其他性能相似的检测方法。而YoloV3Tiny,是为满足嵌入式应用的场景而发布,现已成为很流行的目标检测算法,目前在主流AI芯片公司的产品中均有应用。在工业场景中做缺陷检测或在大众消费领域中的新零售、智能驾驶等均得到广泛的推广。关于YOLO的具体介绍和说明请参考: