前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个Edge AI应用:使用具有硬件加速器的嵌入式系统的实时苹果检测系统

一个Edge AI应用:使用具有硬件加速器的嵌入式系统的实时苹果检测系统

作者头像
GPUS Lady
发布2021-01-06 15:21:32
8630
发布2021-01-06 15:21:32
举报
文章被收录于专栏:GPUS开发者GPUS开发者

本文来自论文:

论文原文:https://arxiv.org/ftp/arxiv/papers/2004/2004.13410.pdf

论文概述:

果园苹果实时检测是估测苹果产量最有效的方法之一,有助于更有效地管理苹果供应。传统的苹果检测方法采用高计算量的机器学习算法,硬件配置比较密集,由于重量和功耗的限制,不适合于内场实时苹果检测。在这项研究中,我们提出了一个基于“边缘人工智能”的实时嵌入式解决方案,在各种嵌入式平台上实现YOLOv3 tiny算法,如Raspberry Pi 3 B+与Intel Movidius Neural Computing Stick(NCS)、Nvidia的Jetson Nano和Jetson AGX Xavier相结合。利用意大利北部地区苹果园实地调查时采集的图像,编制训练数据集,测试用图像取自广泛使用的google数据集,过滤掉不同场景中含有苹果的图像,以保证算法的鲁棒性。该研究采用YOLOv3微结构来检测小目标。结果表明,在不影响平均检测精度(83.64%)的前提下,将定制模型部署在廉价、节能的嵌入式硬件上是可行的,即使在苹果重叠、背景复杂、树叶和树枝导致苹果暴露较少等困难场景下,也能达到30 fps的帧速率。此外,所提出的嵌入式解决方案可以部署在无人地面车辆上,实时检测、统计和测量应用程序的大小,帮助农民和农学家掌握决策和管理技能。

介绍:

农业农场和果园的监测主要依靠熟练的农民和工人,他们负责在执行与农业有关的行动之前评估几个生长阶段,以便最大限度地提高质量和产量。这些农民的手工劳动消耗时间,增加生产成本,知识和经验较少的工人会犯不必要的错误。随着精确农业和信息技术的发展,作物图像已经成为一种重要的信息源,可以用来评估作物的植被状况、果实生长、产量和产量质量。使农民能够估计作物负荷和产量绘图的果树作物的数量和大小估计。一些研究已经提出在果园中使用机器视觉系统进行水果检测,用于自动生长评估、机器人收割和产量估计。

苹果作物负荷管理因其对产量的影响而受到重视。如何使苹果收获机器人能够直接、快速、准确地实时识别果实,一直是苹果收获机器人研究的首要问题。在自然环境中,对于视觉系统来说,由于光和阴影、树枝和树叶覆盖物的影响,苹果果实的检测通常比较困难。苹果在自然环境中的视觉表现可分为无遮挡果实和遮挡果实。

由于树叶、树枝和其他水果的遮挡以及可变的光照条件是使水果检测更具挑战性的一些主要原因。很少有研究在夜间环境中进行实验,在树冠周围形成隧道结构处理各种光照条件。利用多个传感器对树冠进行前端和后端的图像采集,避免了果实遮挡,具有较高的果实检测精度。然而,成熟果实和大尺寸果实的自动收获需要进行果实尺寸估计,由于机器人实时收获的困难程度,很少有研究利用机器视觉系统进行果实尺寸估计。

随着机器学习的兴起,深度学习算法在农业相关应用中得到了广泛的应用。深度学习可用于作物地图的绘制、作物图像的分割、作物目标的检测。卷积神经网络(CNNs)用于图像中目标区域的提取、目标分割以及采用连续CNN计数算法对树上的果实进行计数。迪亚塞特al.使用CNN与支持向量机(SVM)相结合,以自动提取苹果花特征的方式对复杂背景进行计数,取得了比以往研究相对准确的苹果花区域分割结果。采用快速R-CNN和区域建议网络(RPN)方法,在复杂背景场景下检测图像中的感兴趣区域(ROI),然后使用分类器对边界盒进行分类。采用VG16网络的快速R-CNN是水果检测的最新方法。然而,FasterR-CNN由区域建议网络(RPN)和分类网络组成,在精度上取得了很好的效果,但检测速度慢,不能在高分辨率的实时图像中取得很好的效果。

You Only Look Once(YOLO)方法将分类和本地化处理为一个回归问题。YOLO网络不需要RPN,直接进行回归检测图像中的目标,因此速度快,可以在实时应用中实现。最新版本(YOLOv3)不仅具有较高的检测精度和速度,而且在检测小目标方面也表现良好。然而,YOLOv3模型由于其复杂的结构需要更多的处理,不适合实时应用,例如在收获机器人中功率优化对模型参数的修改降低了计算复杂度,因此需要在Jetson和Raspberry-Pi等边缘设备上部署。

大数据集的训练和验证需要集群或服务器等高性能的计算机器,这些机器被广泛应用于大功率深度学习算法的部署中,然而,在低功率终端设备中,研究人员对CNNs在实时嵌入式平台中的效率提出了关注。网络优化(即,网络剪枝或量化)是一种通过将密集模型压缩成稀疏或低比特结构来减小模型大小的技术,其精度下降最小甚至没有。

边缘人工智能及相关工作

受深度学习启发的实时智能解决方案必须具备以下关键功能,如节能、价格合理、体积小、精度和功耗之间的良好平衡。实际上,基于深度学习的体系结构通常部署在集中式云计算环境中。然而,也存在一些限制,例如网络延迟、能源和财务开销,这些都会影响系统的整体性能。为了解决这些局限性,引入了通常称为“边缘人工智能”的边缘计算,即对从各种设备或设备获取的数据进行本地计算传感器边缘人工智能在满足实现要求时面临的挑战是在低功耗的同时保证算法的高输出精度。然而,硬件选项的创新,包括中央处理器(CPU)、图形处理单元(GPU)、专用集成电路(ASIC)和片上系统(SoC)加速器,使边缘人工智能成为可能。英伟达、英特尔和高通都是领先的市场品牌,它们为智能技术的发展做出了巨大贡献。其中,英特尔的Movidius神经计算棒(NCS)是用多层CNN实现计算扩展算法最便宜的设备。在网络控制系统中部署CNN模型,对基于三维体素的点云进行分类。

NVIDIA的Jetson是另一个新兴的嵌入式硬件和广泛使用的机器学习算法加速器。Jetson最有希望的特性是CPU-GPU异构体系结构,其中CPU启动固件,而具有CUDA功能的GPU有可能加速复杂的机器学习任务。主要特点包括尺寸小,重量轻,功耗低。然而,要充分发挥Jetson的潜力并获得实时性能,需要对Jetson硬件和神经网络算法进行优化。Jetson系列还有TK1、TX1和TX2,在过去几年中被广泛使用。以低成本的TK1为例,利用深度神经网络的模型压缩,将TK1应用于嗜睡检测。将nvidiatx1应用于基于深度学习的网球采集机器人中。在各种硬件平台的定性比较中,TX2的吞吐量最高。他们使用微小的YOLO进行目标检测,并声称比YOLO和SSD在精确度和帧速率上有更好的乘积。在TX2上部署微型YOLO,使用Kinect-V2视觉传感器对机器人进行检测和定位。我们在TX2中部署了一个基于案例的CNN模型,利用多光谱图像对杂草进行语义分类,并在Raspberry Pi 3 B+等嵌入式平台上,结合Intel Movidius Neu-ral Computing Stick(NCS)、Nvidia的Jetson Nano和Jetson AGX Xavier,部署了一个改进版的YOLOv3 tiny算法用于实时苹果检测。

规格比较

定量结果:嵌入式实现

训练结束后,该模型已部署在第II-B节介绍的不同硬件平台上。我们测试了吸收功率和帧的性能第一个是我们测量了不同主板(Jetson-AGX-Xavier、Jetson-Nano、Raspberry-Pi3B+)在空闲状态下的功耗,然后执行了算法将近5分钟,以确保处于稳定状态。我们直接测量从电源吸收的电流,从而得到整个系统的功耗。

由于Jetson板允许用户选择不同的工作条件,因此我们对所有这些板进行了测试。结果如表5所示。NVIDIA Jetson AGX Xavier是性能最好的平台,能够在30W工作模式下达到30fps。此外,在其他模式,它能够达到帧速率适合强大的真实团队应用程序。使用在Jetson Nano上,在10W模式下,帧速率下降到8fps,这对于软实时环境来说仍然是一个可接受的值。随着树莓Pi和英特尔的NCS,性能进一步降低。在相同的运行条件下,更先进的NCS2在帧速率和功耗方面都能超越前代。然而,尽管更灵活,这些USB加速器在最好的情况下不能超过5 fps。

比较不同设备的功耗和性能与我们的定制版本的yolov3tiny实现。Jetson系列开发板可以在不同的功率模式下运行,以降低计算能力为代价降低功耗。模式栏显示了不同工作模式下的理论最大功耗,与算法执行过程中的实际耗散功率不同。以每秒帧数计算,最佳性能用红色rec框出来:

不同平台之间的一个有趣的比较是价格/fps比率,如下图:

如果我们在性能和成本之间寻求平衡,Jetson Nano似乎是最佳选择。另一方面,AGX Xavier具有更高的比率,因为它是具有最高质量的板,但肯定不适合低成本解决方案。Intel Neural Sticks的性价比在第二和第三位,但必须强调的是,由于它们只是USB加速器,因此必须购买额外的嵌入式计算机,从而增加最终成本。

从训练数据集的同一研究地点获得的一些附加测试图像的定性结果。我们的定制版本yolov3 tiny对苹果外观的不同变化因素的鲁棒性是有可能的。同时处理光照、视点、尺度、遮挡和背景杂波的变化是一项具有挑战性的任务,我们的系统必须在有限的计算能力下进行实时跟踪。

结论:

一个实时苹果检测系统已经开发出来,并在一些边缘人工智能设备上进行了测试。经典的YOLOv3微型结构已经过修改和调整,以提高其在小而大部分被遮挡物体存在时的准确性。它已经用一个定制的数据集进行了训练,在一个真实的果园中获得,并用所有可用的OIDv4图像进行了测试。准确度结果表明,在不同大小的目标出现时,召回率和准确度都有提高。为了突出所选择的不同嵌入式解决方案在推理速度和功耗方面所取得的性能,进行了实验评估。实验结果表明,该系统具有良好的应用前景,能够以最小的功耗产生实时位置和检测次数。一个完整的框架可以将现有的研究整合起来,用于不同的目的,从苹果计数、收获健康评估到智能包装老化。事实上,进一步的工作将只集中在产量估计使用建议的方法来可靠地计算苹果的数量。实际上,本研究并未直接讨论图像配准问题,但为了减少重复计数并提高系统的精度,对图像配准提出了很高的要求。此外,鉴于所提出的分析的延伸,本研究的未来发展将考虑FPGA/ASIC的实现。最后,所采用的方法不仅限于苹果检测任务,还可以应用于其他需要实时检测边缘微小物体的应用。

点击阅读原文可以访问论文

更多关于Jetson产品

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档