1. 项目背景与核心需求智慧城市环境监测领域正面临一个关键挑战如何高效识别和清理街道垃圾。传统人工巡查方式存在效率低、成本高、覆盖范围有限等问题。我们团队尝试将计算机视觉技术应用于这一场景通过训练定制化的YOLO模型实现道路垃圾自动检测为后续的自动驾驶清洁车提供目标定位支持。这个项目的核心价值在于解决城市环卫管理中发现不及时的痛点降低人工巡检的人力成本为自动化清洁设备提供视觉感知能力建立可复用的智慧城市环境监测技术方案2. 技术选型与方案设计2.1 为什么选择YOLO模型在对比了Faster R-CNN、SSD等主流目标检测算法后我们最终选择YOLOv5作为基础框架主要基于以下考量实时性优势YOLO的one-stage检测特性使其在1080P视频流上能达到45FPS满足清洁车实时作业需求轻量化潜力通过模型剪枝和量化可将模型压缩到10MB以内适合边缘设备部署社区支持度YOLOv5的PyTorch实现拥有活跃的开发者社区和丰富的预训练模型多尺度检测内置的FPN结构能有效识别不同尺寸的垃圾目标2.2 数据集构建策略我们采用真实采集数据增强的双轨制方案原始数据采集使用车载摄像头在20个典型城市区域采集10,000张街景图像覆盖不同时段早/中/晚、天气条件晴/雨/雾和垃圾类型采用LabelImg工具进行标注定义5类目标塑料袋、饮料瓶、纸屑、烟头、其他数据增强方案# 典型增强管道配置 aug Compose([ RandomBrightnessContrast(p0.5), RandomGamma(p0.3), HueSaturationValue(p0.3), Cutout(max_h_size20, max_w_size20, p0.5) ])3. 模型训练关键实现3.1 环境配置与参数调优基础环境Ubuntu 20.04 LTSNVIDIA RTX 3090 × 2CUDA 11.1PyTorch 1.9.0关键训练参数# hyp.scratch.yaml优化配置 lr0: 0.0032 lrf: 0.12 momentum: 0.843 weight_decay: 0.00036 warmup_epochs: 3.0 warmup_momentum: 0.53.2 改进的损失函数针对垃圾检测场景的特殊性我们在CIoU Loss基础上引入以下改进小目标惩罚项def small_obj_penalty(pred, target): # 计算预测框与真实框的面积比 area_ratio (pred[:, 2] * pred[:, 3]) / (target[:, 2] * target[:, 3]) return torch.exp(-area_ratio) * 0.5遮挡敏感度权重 通过计算目标周围区域的灰度方差动态调整难样本权重3.3 训练过程监控使用WandB平台实现训练可视化重点关注三个指标mAP0.5:0.95Precision-Recall曲线各类别的F1-score关键发现烟头类别的检测精度普遍低于其他类别通过增加旋转增强和mixup策略后提升12%4. 模型部署与性能优化4.1 TensorRT加速方案将PyTorch模型转换为TensorRT引擎的关键步骤python export.py --weights yolov5s.pt --include engine --device 0 --half优化效果对比指标原始模型TensorRT优化推理速度42ms11ms显存占用1.8GB0.9GB模型大小27MB16MB4.2 边缘设备适配在Jetson Xavier NX上的部署要点使用--dynamic参数导出适应不同分辨率的模型启用DLA加速核心调整CUDA stream数量平衡延迟和吞吐量5. 实际应用效果验证5.1 测试环境搭建构建模拟城市道路场景的测试平台10种典型路面材质沥青、地砖等3种光照条件强光/正常/昏暗动态干扰因素行人、车辆、树影5.2 性能指标在2000张测试图像上的表现类别准确率召回率F1-score塑料袋92.3%88.7%90.5%饮料瓶89.5%91.2%90.3%纸屑85.1%83.6%84.3%烟头78.9%75.4%77.1%5.3 系统集成方案与自动驾驶清洁车的对接流程视觉检测模块输出目标位置和类别路径规划系统生成清洁路线机械臂控制单元执行抓取动作状态反馈系统更新清洁记录6. 常见问题与解决方案6.1 误检问题排查典型场景落叶被识别为纸屑阴影区域误判为垃圾解决方案在数据增强中加入更多自然干扰样本引入注意力机制增强特征区分度设置动态置信度阈值def dynamic_conf(cls, area): base_conf 0.5 area_factor 1 - (area / (img_w*img_h)) return base_conf 0.3 * area_factor6.2 小目标检测优化针对远距离小垃圾的检测策略采用608×608输入分辨率在neck部分增加P2特征层使用自适应锚框计算python utils/autoanchor.py --cfg models/yolov5s.yaml --evolve7. 项目扩展方向基于当前成果我们正在推进以下改进多模态融合结合毫米波雷达数据提升恶劣天气下的检测稳定性增量学习实现模型在部署后的持续自我优化三维定位通过双目视觉估算垃圾体积优化清洁策略在实际部署中我们总结出一个重要经验定期用新场景数据对模型进行微调建议每3个月一次可以保持模型在季节变化下的稳定性。同时建立完善的误检样本收集机制能有效提升模型的泛化能力。