精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻
💖🔥作者主页 :计算机毕设木哥🔥 💖
文章目录
- 一、项目介绍
- 二、视频展示
- 三、开发环境
- 四、系统展示
- 五、代码展示
- 六、项目文档展示
- 七、项目总结
- [<font color=#fe2c24 >大家可以帮忙点赞、收藏、关注、评论啦 👇🏻](#fe2c24 >大家可以帮忙点赞、收藏、关注、评论啦 👇🏻)
一、项目介绍
人脸关键特征自动标注在安防核验、人像质检、教学演示等场景需求上升,人工逐框标注费时且难复用,缺少把检测模型接到可操作页面的一体化方案。本文通过开发一个基于深度学习的面部关键特征识别与检测系统,用以帮助解决面部关键特征自动检出与结果汇总查看的问题。
本系统采用 PyTorch 与 Ultralytics 训练目标检测模型,主模型为 YOLO11m,对比模型为 RT-DETR 与 YOLO26m,Web 侧以 ONNX Runtime 完成推理;后端 Django、前端 Vue 与 ElementUI,数据存 MySQL,图表用 ECharts。功能上提供用户管理,图片识别、视频识别与摄像头识别,识别历史查询与清理,以及识别统计大屏中的类别分布、时间趋势等汇总展示,识别页支持主模型与对比模型切换。
经系统测试,本系统能满足毕业设计演示与课程实验中管理员与普通用户对面部关键特征检出、历史回看和统计浏览的需求,对把深度学习检测结果落到可用网站具有实践参考意义。
二、视频展示
三、开发环境
- 大数据技术:Hadoop、Spark、Hive
- 开发技术:Python、Django框架、Vue、Echarts
- 软件工具:Pycharm、DataGrip、Anaconda
- 可视化 工具 Echarts
四、系统展示
系统页面模块展示:






五、代码展示
bash
def _letterbox(im_rgb, new_shape=512, color=(114, 114, 114)):
img = np.asarray(im_rgb)
h0, w0 = img.shape[:2]
if isinstance(new_shape, (list, tuple)):
new_shape = int(new_shape[0]) if len(new_shape) == 1 else int(new_shape[-1])
r = min(new_shape / h0, new_shape / w0)
new_unpad_w = int(round(w0 * r))
new_unpad_h = int(round(h0 * r))
if (w0, h0) != (new_unpad_w, new_unpad_h):
im_resized = im_rgb.resize((new_unpad_w, new_unpad_h), Image.BILINEAR)
img = np.asarray(im_resized)
dw = (new_shape - new_unpad_w) / 2.0
dh = (new_shape - new_unpad_h) / 2.0
top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1))
left, right = int(round(dw - 0.1)), int(round(dw + 0.1))
out = np.full((new_shape, new_shape, 3), color, dtype=np.uint8)
out[top : top + img.shape[0], left : left + img.shape[1]] = img
return out, r, left, top, (w0, h0)
def _preprocess(im_rgb, prep_cfg):
imgsz = int(prep_cfg.get("imgsz") or 512)
mean = np.array(prep_cfg.get("mean") or [0, 0, 0], dtype=np.float32)
std = np.array(prep_cfg.get("std") or [1, 1, 1], dtype=np.float32)
scale = float(prep_cfg.get("scale") or 255.0)
padded, ratio, pad_x, pad_y, orig_hw = _letterbox(im_rgb, imgsz)
arr = padded.astype(np.float32) / scale
arr = (arr - mean) / std
arr = arr.transpose(2, 0, 1)[np.newaxis].astype(np.float32)
meta = {"ratio": ratio, "pad_x": pad_x, "pad_y": pad_y, "orig_hw": orig_hw, "imgsz": imgsz}
return arr, meta
六、项目文档展示

七、项目总结
本课题围绕面部关键特征自动检出需求,完成了「基于深度学习的面部关键特征识别与检测」系统。训练侧以 PyTorch、Ultralytics 构建目标检测流程,主模型为 YOLO11m,并与 RT-DETR、YOLO26m 对照;部署侧导出 ONNX(end2end),由 ONNX Runtime 完成 letterbox 预处理、推理与框坐标还原。Web 采用 Django 后端、Vue 与 ElementUI 前端、MySQL 存业务数据,ECharts 支撑统计展示。系统具备用户管理,图片、视频与摄像头三类识别,识别历史查询与清理,以及识别统计大屏(类别分布、时间趋势等);识别页可切换主模型与对比模型,检出蓝眼、棕眼、尖鼻、圆眉、圆鼻、直眉六类关键特征。实践表明,该方案可将检测结果落到可操作网站,便于毕业设计演示与日常核验回看,对视觉检测类课题的工程落地具有参考价值。
大家可以帮忙点赞、收藏、关注、评论啦 👇🏻
💖🔥作者主页 :计算机毕设木哥🔥 💖