乱扔垃圾行为检测系统基于YOLOX+RNN的深度学习算法,乱扔垃圾行为检测系统通过前端摄像头一旦检测到乱扔垃圾行为,系统会立即发出警报,通知相关人员及时处理,从而起到保障社会卫生的作用。本系统通过安装在垃圾桶周围的摄像头,实时监测垃圾桶内的垃圾量。当垃圾桶内的垃圾达到一定高度,即将溢出时,系统会自动发出警报,并将相关信息发送给环卫工人,以便他们及时清理。这不仅提高了传统人工巡查的工作效率,还能有效避免垃圾桶溢出导致的垃圾乱堆乱扔现象,进一步改善城市环境卫生状况。
YOLOX在YOLO系列的基础上做了一系列的工作,其主要贡献在于:在YOLOv3的基础上,引入了Decoupled Head,Data Aug,Anchor Free和SimOTA样本匹配的方法,构建了一种anchor-free的端到端目标检测框架,并且达到了一流的检测水平。此外,本文提出的 YOLOX-L 模型在视频感知挑战赛(CVPR 2021年自动驾驶研讨会)上获得了第一名。作者还提供了支持ONNX、TensorRT、NCNN和Openvino的部署版本。
目标检测分为Anchor Based和Anchor Free两种方式。在Yolov3、Yolov4、Yolov5中,通常都是采用 Anchor Based的方式,来提取目标框。Yolox 将 Anchor free 的方式引入到Yolo系列中,使用anchor free方法有如下好处:降低了计算量,不涉及IoU计算,另外产生的预测框数量较少。假设feature map的尺度为80x80,anchor based方法在Feature Map上,每个单元格一般设置三个不同尺寸大小的锚框,因此产生3x80x80=19200个预测框。而使用anchor free的方法,仅产生80x80=6400个预测框,降低了计算量。
缓解了正负样本不平衡问题anchor free方法的预测框只有anchor based方法的1/3,而预测框中大部分是负样本,因此anchor free方法可以减少负样本数,进一步缓解了正负样本不平衡问题。避免了anchor的调参anchor based方法的anchor box的尺度是一个超参数,不同的超参数设置会影响模型性能。anchor free方法避免了这一点。
在当今社会,随着城市化进程的加速,城市环境卫生管理面临着诸多挑战。其中,乱扔垃圾行为不仅破坏了城市的美观,还对环境造成了严重污染,增加了环卫工人的工作负担。为了有效解决这一问题,我们开发了一套基于深度学习技术的乱扔垃圾行为检测系统,旨在通过智能化手段提升城市环境卫生管理水平,减少人力监管成本,同时引导居民养成良好的环保习惯。随着技术的不断进步和完善,相信这套系统将在未来的城市环境中发挥更大的作用,为我们的城市带来更加美好的明天。
import numpy as np
def convert(size, box):
"""
将标注的 xml 文件生成的【左上角x,左上角y,右下角x,右下角y】标注转换为yolov5训练的坐标
:param size: 图片的尺寸: [w,h]
:param box: anchor box 的坐标 [左上角x,左上角y,右下角x,右下角y,]
:return: 转换后的 [x,y,w,h]
"""
x1 = int(box[0])
y1 = int(box[1])
x2 = int(box[2])
y2 = int(box[3])
dw = np.float32(1. / int(size[0]))
dh = np.float32(1. / int(size[1]))
w = x2 - x1
h = y2 - y1
x = x1 + (w / 2)
y = y1 + (h / 2)
x = x * dw
w = w * dw
y = y * dh
h = h * dh
return [x, y, w, h]
乱扔垃圾行为检测系统在实际应用中具有显著的优势。首先,它能够实时监测和预警乱扔垃圾行为,及时制止不文明现象的发生,有效保障了城市的环境卫生。其次,通过智能化手段减少了大量的人力监管成本,提高了城市管理的效率。在居民垃圾投放环节,系统还引入了AI智能摄像机。当居民投放垃圾时,AI智能摄像机会自动检测垃圾的类型,并通过语音播报提醒居民进行分类投放。例如,当检测到居民手中拿着可回收垃圾时,系统会语音提示:“您手中的垃圾是可回收垃圾,请投放到蓝色垃圾桶中。”