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

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

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

相关推荐
ha_lydms15 分钟前
Bitwise Functions(位运算函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
goujunwe17 分钟前
短视频怎么做 GEO:优化字幕和文稿,提升 AI 文本抓取采信率
大数据·人工智能·音视频
yunfengzhineng32 分钟前
天津立体库货架配套厂家
大数据·运维·人工智能·python
科创致远1 小时前
中小企业智能体(AI Agent)怎么选?2026年企业级Agent选型指南
大数据·人工智能·深度学习
古法老登瞎折腾1 小时前
大数据智能运维实战(一):机器和任务数据都有了,如何用 MCP 搭建运维助手?
大数据·运维·spring boot·spring ai·mcp
墨子夕2 小时前
创新的潮汐——从科学发现到资本周期的百年规律(第二卷)
大数据·数据库·人工智能
roman_日积跬步-终至千里3 小时前
【数据Agent论文·查询与语义|06】RAT-SQL:怎样把问题、表和字段真正关联起来?
数据库·sql·数据分析
盟接之桥3 小时前
盟接之桥谈线束数字化-按单入按单出:线束企业库存管理的破局之道
大数据·前端·网络·数据库·人工智能·制造
大大大大晴天3 小时前
从 Kafka 到 Flink,如何让实时数仓既快、又准、还可追
大数据
顧棟4 小时前
Elasticsearch Scroll :分页进度到底记在哪?
大数据·elasticsearch·搜索引擎