# 基于PicoDet的车载路面垃圾检测## 1. 项目场景说明环境卫生是城市的名片,智慧环卫更是智慧城市中不可缺少的板块。随着作业严格化、服务综合化、人口老龄化等趋势的发展,环卫行业面临诸多新问题和新挑战,而AI技术的发展成为一大助力,帮助环卫智能升级,实现设施智能化、运营管理信息化、分析决策智慧化。当前急需通过**智能化**手段解决的问题包括:* 如何充分利用现有的环卫车辆和设备,对城市整洁度实现实时的监控。* 如何在减少人工的前提下,更及时的发现问题,解决问题。* 如何有效监督环卫作业的完成质量。飞桨企业伙伴基于飞桨AI套件(PaddleX)提供了一套完整的智慧城市垃圾检测方案,通过在市政环卫车辆上安装摄像头对路面垃圾检测并分析,实现对路面遗撒的垃圾进行监控,记录并通知环卫人员清理,大大提升了环卫人效。把清洁工人从日复一日的街道巡检中解放出来,用深度学习还城市一片净土。<img src="https://paddle-model-ecology.bj.bcebos.com/paddlex/task_infer_models/task_trash_detection_with_picodet/media/device.jpeg" style="width: 600px">## 2. 实际路况检测效果视频展示:<video width="600" height="360" controls src="https://paddle-model-ecology.bj.bcebos.com/paddlex/task_infer_models/task_trash_detection_with_picodet/media/new_trashDet_demo_20230716.mp4" ></video>## 3. 模型检测效果对比如下:可以看出,PicoDet模型的检测精度更高。<img src="https://paddle-model-ecology.bj.bcebos.com/paddlex/task_infer_models/task_trash_detection_with_picodet/media/PicoDet.png" title="PicoDet模型检测结果" style="width: 300px"> <img src="https://paddle-model-ecology.bj.bcebos.com/paddlex/task_infer_models/task_trash_detection_with_picodet/media/PP-YOLO.png" style="width: 300px" title="PP-YOLO模型检测结果">## 4. 方案优势:* **适应多种复杂环境:** 适应目标垃圾尺寸小,外形不规则,遮挡、堆叠、车辆抖动、光线、天气等多种环境因素,包括夜间仍可保持高精度检测效果。* **无惧大量干扰因素:** 不受交通标示物、行人、车辆、夜间反光等因素干扰。* **硬件算力要求低,部署兼容性高:** 使用现有车载设备的CPU即可完成检测。同时,也支持将此算法部署到服务器或其他设备。* **精度高,对算力要求低**:以下精度数据基于实际道路数据,在线时长大于9个月| | 模型体积 | 预测速度(基于 32位ARM CPU) |召回率 |误检率 || -------- | -------- | -------- |-------- |-------- || 检测模型 | 4.5 MB | 3.2 fps | > 96.2% | < 0.6% ## 5. 数据说明本项目模型训练使用的数据集全部来自于自采的国内实际道路场景下的垃圾数据。示例图片如下:<img src="https://paddle-model-ecology.bj.bcebos.com/paddlex/task_infer_models/task_trash_detection_with_picodet/media/dataset-demo.jpg" style="width: 600px">## 6. 模型部署本模型目前的部署支持情况如下:| 操作系统 | Windows | Windows | Windows | Windows | Linux | Linux | Linux | Linux || -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- || 部署硬件 | NV GPU | NV GPU | X86 CPU | X86 CPU | NV GPU | NV GPU | X86 CPU | X86 CPU || 接口语言 | C++ | Python | C++ | Python | C++ | Python | C++ | Python || 支持情况 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |根据实际业务需求选择所需要的操作系统、部署硬件、接口语言等条件后,获取 FastDeploy 部署包,**完成之后到开发者模式下进行下载(文件右击选择下载即可)**,其中包括部署代码和预测模型。最后就可以参考部署包里面的 README 使用说明,在目标硬件上进行部署啦。**注意:如果需要手动更新预测模型,可以直接修改部署包中的预测模型。**