针对传统垃圾分类依赖人工判断、效率低且通用检测模型精度不足的问题,自建包含有害、可回收、厨余、其他四
类共 3710 张图像的垃圾分类数据集,基于 YOLOv11n 轻量级架构训练目标检测模型,并开发 PyQt5 桌面应用,支持图片、
视频及摄像头实时检测。
点击空白处退出提示
针对传统垃圾分类依赖人工判断、效率低且通用检测模型精度不足的问题,自建包含有害、可回收、厨余、其他四
类共 3710 张图像的垃圾分类数据集,基于 YOLOv11n 轻量级架构训练目标检测模型,并开发 PyQt5 桌面应用,支持图片、
视频及摄像头实时检测。
这个项目是一个基于 Ultralytics YOLO11 的垃圾分类检测系统,前端是 PyQt5 桌面应用,后端是 深度学习目标检测模型。系统可以对摄像头、图片和视频中的垃圾目标进行实时检测和分类,目前支持 4 类垃圾:有害垃圾、可回收物、厨余垃圾和其他垃圾。
在本项目里,YOLO11承担的是 **单阶段目标检测器** 的角色,大致流程可以拆解为:
- **输入与预处理**:从摄像头/视频/图片读入原始帧,使用 OpenCV 先进行 resize(640×640)和归一化,然后喂给 YOLO11 模型。
- **特征提取(Backbone)**:YOLO11 的 Backbone 会把输入图像逐步下采样、提取多层次特征,类似于 CSP/ELAN 这类结构,兼顾感受野和计算效率。
- **特征融合(Neck)**:在 Neck 部分,模型通过 FPN/PAN 等结构做多尺度特征融合,让不同大小的目标都能被充分利用特征。
- **检测头(Detection Head)**:在不同尺度的特征图上预测每个锚点的 **类别概率**、**目标存在性** 和 **边界框回归参数**。
- **后处理(NMS)**:对所有候选框先做置信度过滤(比如 conf > 0.25),然后用 NMS(非极大值抑制)去除高度重叠的框,最终得到一批框+类别+置信度。
- **可视化**:根据 `color_map` 对不同类别使用不同 BGR 颜色,用 OpenCV 画框和文本,最后在 GUI 中显示。
在 Ultralytics 框架中,这些逻辑被封装在 `ultralytics/engine` 和 `ultralytics/models/yolo/detect` 模块里,我在项目里主要是 **配置好数据与模型**,并且在推理阶段合理调整 **置信度阈值** 和 **IOU 阈值**,在检测精度和实时性之间做平衡。




评论