计算机毕业设计选题推荐|【基于深度学习的面部关键特征识别与检测】YOLO目标检测+ONNX推理

精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻

💖🔥作者主页 :计算机毕设木哥🔥 💖

文章目录

一、项目介绍

人脸关键特征自动标注在安防核验、人像质检、教学演示等场景需求上升,人工逐框标注费时且难复用,缺少把检测模型接到可操作页面的一体化方案。本文通过开发一个基于深度学习的面部关键特征识别与检测系统,用以帮助解决面部关键特征自动检出与结果汇总查看的问题。

本系统采用 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 支撑统计展示。系统具备用户管理,图片、视频与摄像头三类识别,识别历史查询与清理,以及识别统计大屏(类别分布、时间趋势等);识别页可切换主模型与对比模型,检出蓝眼、棕眼、尖鼻、圆眉、圆鼻、直眉六类关键特征。实践表明,该方案可将检测结果落到可操作网站,便于毕业设计演示与日常核验回看,对视觉检测类课题的工程落地具有参考价值。

大家可以帮忙点赞、收藏、关注、评论啦 👇🏻

💖🔥作者主页 :计算机毕设木哥🔥 💖

相关推荐
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的二手车数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·数据挖掘·数据分析·课程设计·数据分析数据可视化
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的购物趋势数据可视化分析系统|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·信息可视化·spark·毕业设计·课程设计·大数据毕设项目
IT毕设梦工厂2 小时前
计算机毕业设计选题推荐:基于大数据的城市尾气排放数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hive·信息可视化·spark·毕业设计·课程设计·大数据毕设项目
Wx-bishekaifayuan2 小时前
springboot甘肃特产服务平台50301-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
FYKJ_20102 小时前
springboot雅集社区养老管理系统04456-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
MZ_ZXD0012 小时前
【关注可白嫖源码】--课程设计--毕业设计-- 82714基于Python的足球俱乐部管理系统的设计与实现(案件分析)
源码·课程设计·毕设·大作业·程序开发·程序定制·毕设代做
FYKJ_20102 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
javascript·vue.js·spring boot·mysql·typescript·spark·express
明月_清风2 小时前
一个完整的数据平台是怎么工作的?从数据源到数据分析
大数据·后端·数据分析
FYKJ_20103 小时前
springboot羽毛球场地管理系统00626-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django