精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻
💖🔥作者主页:计算机毕设木哥🔥 💖
文章目录
- 一、项目介绍
- 二、开发环境
- 三、视频展示
- 四、项目展示
- 五、代码展示
- 六、项目文档展示
- 七、总结
-
- <font color=#fe2c24 >大家可以帮忙点赞、收藏、关注、评论啦👇🏻👇🏻👇🏻
一、项目介绍
建筑工地现场人员是否正确佩戴个人防护装备,直接关系到施工安全,传统靠人工巡查容易漏看、难留痕,也难以及时发现未戴安全帽、未穿安全靴等缺失情况。本文通过开发一个基于深度学习的建筑工地个人防护装备合规性检测与缺失识别系统,用以帮助解决工地 PPE 佩戴是否合规、缺失难以及时识别与留痕的问题。 本系统采用 PyTorch 与 Ultralytics 训练 RT-DETR 目标检测模型,并将权重导出为 ONNX 供后端推理,业务侧使用 Django 与 Vue 组织页面与接口。系统提供图片、视频与摄像头三种识别入口,可检出安全帽、手套、反光背心、安全靴、护目镜及对应缺失类,识别结果写入识别记录并可在可视化大屏查看类别分布、时间趋势与用量等统计,同时具备用户管理能力。 经系统测试,本系统能够满足施工单位管理人员与现场安全监管相关人员对 PPE 合规抽检、结果回看与统计汇总的需求,也便于在毕业设计场景下展示目标检测到 Web 落地的链路,对工地安全信息化管理具有一定参考意义。
二、开发环境
Python 3.9(conda 环境 deeplearning) PyTorch 2.6.0 + CUDA 12.6;Ultralytics(RT-DETR-L 主模型;对比含 YOLO 等) ONNX / onnxruntime(Web 推理默认 best.onnx,end2end NMS) OpenCV、Pillow、NumPy 等(预处理与图像读写) Web 后端 Django 2.0 MySQL(PyMySQL) 业务模块:图片/视频/摄像头识别接口、识别记录、统计聚合、用户管理 Web 前端 Vue ECharts Node
三、视频展示
基于深度学习的建筑工地个人防护装备合规性检测与缺失识别研究
四、项目展示
系统页面模块展示模块:
图片识别模块展示模块:
视频识别模块展示模块:
摄像头识别模块展示模块:
大屏页面模块展示:
模型训练图:

五、代码展示
from ultralytics import YOLO, RTDETR
if pick == "detr":
weights = WEIGHTS / "rtdetr-l.pt"
Model = RTDETR
arch = "detr_rtdetr_l"
else:
weights = WEIGHTS / "yolo26s.pt"
if not weights.exists():
weights = WEIGHTS / "yolo11s.pt"
Model = YOLO
arch = "yolo_s_yolo26s" if "26" in weights.name else "yolo_s"
run_tag = f"{arch}_run1_seed{seed}" if seed == 42 else f"{arch}_seed{seed}"
project, name = RUNS, run_tag
last_pt = project / name / "weights" / "last.pt"
results_csv = project / name / "results.csv"
done_epochs = 0
if results_csv.exists():
import csv as _csv
done_epochs = max(0, len(list(_csv.DictReader(
open(results_csv, encoding="utf-8-sig")))))
resume = bool(last_pt.exists() and done_epochs > 0 and done_epochs < max_epoch)
model = Model(str(last_pt)) if resume else Model(str(weights))
train_kwargs = dict(
data=str(data_yaml),
epochs=max_epoch,
imgsz=imgsz,
batch=batch,
device=0 if torch.cuda.is_available() else "cpu",
workers=2,
seed=seed,
project=str(project),
name=name,
exist_ok=True,
pretrained=True,
optimizer="AdamW",
lr0=suggested_lr,
lrf=0.01,
cos_lr=True,
warmup_epochs=3,
patience=patience,
amp=True,
plots=True,
save=True,
val=True,
verbose=True,
resume=resume,
)
if pick == "yolo_s":
train_kwargs.update(
mosaic=mosaic, copy_paste=copy_paste, close_mosaic=close_mosaic,
fl_gamma=1.5, cls=1.0, box=7.5,
)
else:
# RT-DETR:关闭 YOLO 系强增强,避免无效参数干扰
train_kwargs.update(mosaic=0.0, mixup=0.0, copy_paste=0.0, close_mosaic=0)
def on_train_epoch_start(trainer):
if check_stop(model_name):
print("[train] stop.flag seen — requesting stop")
trainer.stop = True
model.add_callback("on_train_epoch_start", on_train_epoch_start)
results = model.train(**train_kwargs)
run_dir = Path(model.trainer.save_dir) if hasattr(model, "trainer") else project / name
best_pt = run_dir / "weights" / "best.pt"
if not best_pt.exists():
best_pt = run_dir / "weights" / "last.pt"
六、项目文档展示

七、总结
本课题面向建筑工地个人防护装备佩戴核查,围绕「基于深度学习的建筑工地个人防护装备合规性检测与缺失识别研究」完成了从模型到业务系统的落地。检测侧以 RT-DETR 为主模型,对安全帽、手套、反光背心、安全靴、护目镜等佩戴类及对应未戴、未穿等缺失类进行目标检测,并导出 ONNX 供线上推理。系统侧采用 Django 与 Vue 搭建 Web 应用,提供图片、视频、摄像头三种识别方式,识别结果可写入识别记录便于回看;同时提供可视化大屏,从类别分布、时间趋势、时段用量与任务类型等维度汇总统计,并配备用户管理。相较人工巡查难留痕、难统一复核的问题,本系统把框级检测结果与历史、统计串成一条可用链路,便于管理人员抽检合规与缺失情况,也可作为计算机毕业设计中深度学习目标检测与前后端集成的完整示例,对工地安全信息化管理具有一定参考价值。
大家可以帮忙点赞、收藏、关注、评论啦👇🏻👇🏻👇🏻
💖🔥作者主页:计算机毕设木哥🔥 💖



