在过去的几十年里,由于经济发展和城市化,废弃物产生的速度激增。废弃物数量的上升对世界各国政府在有效处理和管理方面提出了重大挑战。尽管发达国家实行了垃圾分类制度,但由于污染问题,仍有相当一部分垃圾最终被填埋或焚烧,既浪费了可回收的材料,又对环境造成了破坏。
本文章将介绍我们用来检测垃圾车中塑料袋污染的边缘计算和计算机视觉解决方案。该解决方案采用 NVIDIA Metropolis 应用框架,包括 NVIDIA Jetson、NVIDIA TAO Toolkit 和 NVIDIA DeepStream SDK。
为什么必须改变废弃物处理方式
填埋和焚烧等传统废弃物处理方式不仅无法解决日益严重的废弃物问题,还会带来严重的环境和健康风险。为保证未来的可持续发展,各国加强废物回收和管理实践变得日渐迫切。
在本地废弃物处理方面,生活垃圾污染是一个严重影响废弃物回收过程的巨大障碍。由于一直被这个障碍所困扰,因此政府采用垃圾桶标签等办法来解决这一问题。然而,垃圾桶标签在很大程度上依赖于人工干预,因此需要投入更多的分析和时间资源。
这就需要彻底改变废弃物处理方式并提高效率和可持续性,这一需求比以往更加迫切。因此,使用前沿技术开发废弃物污染自动检测系统迫在眉睫。
边缘计算解决方案
为了帮助解决垃圾污染问题,我们利用最新技术开发了基于 NVIDIA Jetson 和 NVIDIA Metropolis 框架的边缘计算视频分析解决方案:
- 计算机视觉
- 智能视频分析
- 边缘计算
- AI
该系统基于从卡车料斗中拍摄废弃物视频的想法,使用 NVIDIA Jetson 边缘 AI 平台对视频进行处理以检测塑料袋污染,并保存与污染物相关的信息来进行进一步的分析。YOLOv4 深度学习模型使用我们的 Remondis 污染数据集(RCD)进行训练,并通过 NVIDIA DeepStream 部署在边缘计算解决方案上。
Remondis 污染数据集
要训练适用于计算机视觉任务的卷积神经网络(CNN)模型,就必须有一个包含相关图像的庞大数据集。但目前针对垃圾污染检测问题的探索仍显不足,尤其是在实际应用场景错综复杂的情况下。目前的大多数研究都采用只包含一种污染物的直接数据,并且通常使用的都是高分辨率的视觉图像,导致这一问题被过度简化。这些模型在处理污染与其他各种废弃物成分并存的现实场景时表现出了局限性,而且还要应对照明环境不佳、图像质量下降等问题。
为此,我们首创了 RCD。这个根据回收公司 Remondis 的历史记录精心整理的新型训练数据集展示了塑料袋污染实例图像,涵盖了各种不同的照明条件、捕捉角度和低分辨率,因此对现实世界复杂性的描述更具代表性。
最终的数据集包括 1125 个样本(968 个用于训练,157 个用于验证)和总共 1851 个 bbox 注释(1588 个用于训练,263 个用于验证)。图 1 显示了 RCD 中的一些注释样本。
图 1. Remondis 污染数据集中的样本
系统开发
使用车载模拟摄像头来处理图像,同时利用 NVIDIA 加速计算部署计算机视觉模型,我们开发出了一种自动解决方案,可检测垃圾车中的塑料袋污染。图 2 展示了这个想法。
我们开发的系统包括:
- 安装在卡车上的模拟摄像头(三菱 C4010),用于拍摄从垃圾桶中收集废弃物的料斗。
- NVIDIA Jetson TX2 系统模块,可使用经过训练的计算机视觉模型处理和推断废弃物图像。
- 计算机视觉模型(带有 CSPDarkNet 的 YOLOv4),可检测图像中的塑料袋污染。
图 2. 该系统的概念图
我们使用以 CSPDarkNet_tiny 为主干的 YOLOv4 模型来检测塑料袋。该模型使用由 Python、TensorFlow 和 Keras 支持的 NVIDIA TAO 进行训练。另外,我们还使用 NVIDIA DGX 平台在 RCD 图像上训练该模型。
该解决方案的开发分成三个阶段(图 3):
第 1 阶段:数据准备
- 从 Remondis 的历史记录和在线资源中采集原始数据集。
- 对采集到的数据进行处理和过滤,以确定可以用于训练的候选数据。
- 使用 LabelImg 软件绘制边界框,为处理后的数据集贴上塑料袋标签。
第 2 阶段:模型训练
- 从现有的模型库中选择合适的模型进行训练。
- 使用 NVIDIA TAO Toolkit 训练用于检测塑料袋污染的模型。
- 密切监控训练性能,确保训练过程正常。
第 3 阶段:测试和验证
- 将训练好的模型导出为 NVIDIA TensorRT 引擎,并部署到 NVIDIA Jetson TX2 上。
- 验证硬件性能,包括 GPU 使用率、温度、CPU 使用率和 FPS。
- 将硬件部署到现场并采集更多数据来微调模型。
图 3. 该系统的开发流程图
将训练好的最佳模型(以 CSPDarkNet_tiny 为主干的 YOLOv4)导出为 TensorRT,并使用 NVIDIA DeepStream SDK 将其部署到 Jetson TX2 模块上。在实验室中使用与垃圾车上相同的摄像头对硬件配置(图 4)进行测试。在实验室进行验证后,将该硬件配置部署到垃圾车上进行实地测试和采集更多数据。
图 4. 用于实时检测塑料袋污染的硬件配置
在计算机视觉模型性能方面,63% 初次部署的基础模型在 NVIDIA Jetson TX2 上能够达到 mAP@50,FPS 能够达到 24.8。初次部署后,该模型使用从现场采集的数据进行训练,使结果得到了改善。使用现场数据重新训练后,模型的 mAP@50 准确率提高了 10%。此外,误报(FP)、漏报(FN)和正报(TP)表现也有所改善(表 1)。图 5 显示了该计算机视觉模型成功检测到图像中存在塑料袋污染的几个实例。
表 1. 以现场采集到的测试数据为依据的基础模型和再训练模型性能比较
图 5. 计算机视觉模型预测
未来的研究方向
由于可以提取与废弃物污染相关的信息,计算机视觉在加强废弃物污染理解方面具有巨大的潜力。未来的一些重点方向包括:
- 多类检测:所开发的解决方案可以扩展到检测多个类别的塑料袋和包装材料。这将有助于更好地了解哪些类型的塑料袋在污染中比较常见,从而采取相应的控制措施。
- 坑洞检测:所部署的边缘计算机可以使用相同的计算资源部署多个经过训练的计算机视觉模型。因此可以训练另一个模型来检测道路上的坑洞,帮助市政识别损坏的道路并迅速修复。
- 路边垃圾检测:与检测坑洞的想法类似,还可以使用安装在垃圾车上的其他摄像头检测路边垃圾,帮助优化环境管理。
总结
本文详细介绍了我们用于检测垃圾车塑料袋污染的边缘计算视频分析解决方案。这类解决方案有助于改进废弃物回收利用、促进可持续发展和开展公众教育。
我们使用了一个由 NVIDIA Jetson 平台提供边缘 AI 和机器人技术支持的计算机视觉解决方案,来检测垃圾车摄像头所拍摄的画面中是否存在塑料袋。为了帮助训练这种用途独特的计算机视觉模型,我们开发了 Remondis 污染数据集这一新颖且具有挑战性的数据集。
该计算机视觉模型在污染检测方面的成功应用和良好结果表明,其在改进废弃物处理方面有着巨大的潜力。这套系统经过扩展后可以检测多种污染和塑料袋,达到更出色的理解水平。另外,安装在垃圾车上的其他摄像头还可用于检测坑洞和路边垃圾。