【爆锤导师の计算机毕业设计!】Langchain+YOLO目标检测+LLM多模态大模型AI分析的增材制造粉末床熔合缺陷智能检测分析预警系统

项目概述

本项目面向增材制造粉末床熔合(Powder Bed Fusion,PBF)工艺的层质量监控,系统名称为 PBF Sentinel。系统以 Electron 桌面客户端为统一入口,使用 YOLO 完成粉床层图像中的缺陷定位,使用 LangChain 编排文本模型与视觉多模态模型,对检测结果进行复核、严重程度判断和工艺辅助分析,并通过图片检测、视频检测、实时检测、预警处置、模型训练、模型评估和数据管理形成完整业务闭环。

系统当前以 Windows 本地源码方式运行。Electron 负责桌面窗口、安全桥接和后端进程生命周期,Python 3.13 Flask 服务仅监听 127.0.0.1:5020;数据库、日志、检测产物和训练文件保存在项目根目录的 runtime/,Python 虚拟环境位于 项目代码/server/.venv/。

系统固定识别四类 PBF 缺陷:Ditches=0(沟槽)、Insufficient=1(铺粉不足)、Craters=2(凹坑)、Stacking=3(堆叠)。默认数据源直接引用项目根目录 dataset/ 中的 12,385 张 YOLO 数据,不复制到运行目录且不可删除;后续导入的数据集统一存放到 runtime/datasets/。


核心创新点

桌面端本地闭环:采用 Electron 主进程、Preload 白名单桥接、Vue 3 渲染进程与本地 Flask 服务,兼顾桌面体验、文件访问能力和接口边界安全。

四类缺陷统一语义:图片、视频、实时检测、数据集验证、训练和评估均使用同一套四类缺陷映射,页面统一以中文名称展示。

三种检测方式:支持单张图片、工艺视频和工位摄像头实时检测,覆盖离线分析、任务化处理和在线监控场景。

YOLO 与 AI 解耦:YOLO 始终负责基础检测;LangChain AI 复核作为独立增强环节,模型未配置或调用失败时仍保留检测结果、记录、报告和预警查询能力。

LangChain 多模型回退:所有大模型调用统一经过 LangChain,区分文本模型与视觉模型,支持 OpenAI-compatible API、自定义优先级、超时重试、结构化输出和顺序回退。

可解释的多模态复核:用户可对图片检测结果或视频关键帧主动发起 AI 复核,系统展示调用进度,并返回误检判断、严重程度、缺陷分析、工艺影响和处置建议。

视频任务化处理:视频在本地后台进程中异步执行,支持任务进度、标注视频、缺陷关键帧、关键帧详情、AI 复核、报告导出和异常状态记录。

实时跟踪与预警:通过 WebSocket 传输摄像头帧和检测结果,结合 ByteTrack 进行目标跟踪;缺陷事件进入预警中心,支持五级风险、筛选、批量处置和删除。

训练与发布闭环:系统自动检测本机 GPU,可选择 CPU 或 GPU,支持从 runtime/models/base/ 选择 YOLO 基础权重、查看训练日志与指标、上传已训练权重、发布或取消发布模型。

双模式模型评估:支持上传单张图片与 YOLO 标签进行评估,也支持选择已注册数据集测试集或上传 ZIP 数据集评估,展示最近一次评估的指标与可放大产物。

可迁移的本地配置:用户、模型、任务、系统设置、LangChain 模型配置和 API Key 均保存在 SQLite;迁移数据库和 runtime/ 文件即可迁移核心运行状态。

完整身份认证:支持账号密码登录、手机短信验证码登录和短信验证后重置密码;密码使用 Argon2id 哈希,JWT 携带权限与认证版本。

可追溯与可观测:检测、训练、视频、评估、LLM 调用和系统服务均保留状态、错误信息、日志与文件引用,图片和视频检测支持 Word 报告导出。

应用场景

增材制造产线巡检:在铺粉或熔融工位持续识别层缺陷,将异常统一汇总到预警中心。

工艺开发与试制:对不同粉末状态、扫描参数和铺粉条件下的缺陷分布进行对比,辅助优化工艺窗口。

离线质量复盘:利用图片记录、视频任务、关键帧和 AI 分析追溯历史缺陷,形成可导出的检测报告。

模型迭代验证:围绕数据集校验、基础权重选择、GPU 训练、模型评估和发布完成本地模型迭代。

教学与科研演示:展示目标检测、目标跟踪、多模态模型、结构化输出和桌面应用工程化集成。

技术架构

整体架构设计

系统采用本地桌面端前后端分离架构,REST、WebSocket 与 Electron IPC 各自承担明确职责:REST 负责认证、查询、文件记录和任务操作;WebSocket 负责实时摄像头帧、训练日志和任务状态;IPC 仅开放文件选择、目录打开、桌面通知和后端状态等白名单能力。

┌──────────────────────────────── Electron 桌面客户端 ────────────────────────────────┐

│                                                                                     │

│  Electron 主进程 ── Preload 安全桥接 ── Vue 3 + TypeScript 渲染进程                 │

│  后端生命周期       白名单 IPC             页面、路由、状态、图表与任务交互          │

└───────────────────────────────┬─────────────────────────────────────────────────────┘

                               │ REST / WebSocket

                               ▼

┌──────────────────────── Flask 本地服务 127.0.0.1:5020 ─────────────────────────────┐

│  认证与权限 │ 数据集 │ 模型与训练 │ 图片/视频/实时检测 │ 预警 │ 评估 │ 系统设置      │

├─────────────────────────────────────────────────────────────────────────────────────┤

│  Ultralytics YOLO │ OpenCV │ ByteTrack │ LangChain + Pydantic │ Word/评估报告       │

└───────────────────────────────┬─────────────────────────────────────────────────────┘

                               │

                ┌──────────────┴──────────────┐

                ▼                             ▼

      SQLite 业务数据库              runtime 文件与日志存储

Electron 启动后管理 Flask 子进程,后端只允许本机访问。任务涉及长时间计算时由本地后台进程执行,任务状态、进度、错误信息和文件引用写入 SQLite;异常退出的任务会被标记为中断,可由用户重新发起。

技术栈详解

前端技术栈 (项目代码/client)

桌面容器:Electron 43,负责主窗口、后端进程管理和系统级白名单能力。

安全桥接:Preload + contextBridge,渲染进程不直接获得 Node.js 完整权限。

核心框架:Vue 3.5,使用 Composition API 和单文件组件。

开发语言:TypeScript 5.9。

路由管理:Vue Router 4.5,包含登录校验和管理员页面守卫。

状态管理:Pinia 3,管理登录用户、JWT 和权限状态。

HTTP 客户端:Axios 1.11,统一处理本地 REST 请求和错误响应。

图形展示:工作台趋势图与严重程度图使用 Vue 数据驱动 SVG;项目同时具备 ECharts 6 依赖。

视觉实现:CSS/Sass 自定义深色 PBF 工业控制台主题,保持原型侧栏、页面层级和主要布局。

构建与测试:Vite 7、Vue TSC、Vitest、Vue Test Utils。

后端与算法技术栈 (项目代码/server)

运行环境:Python 3.13,虚拟环境固定在 server/.venv/。

Web 服务:Flask 3.1 + Werkzeug,固定监听 127.0.0.1:5020。

实时通信:Flask-Sock、Simple WebSocket,用于摄像头帧、检测结果、训练日志和任务事件。

数据库:SQLite 3、SQLAlchemy 2、Alembic,当前持久化用户、短信验证码、数据集、模型、检测、视频、实时会话、预警、训练、评估、LLM 配置和系统设置等实体。

目标检测:Ultralytics 8.4,默认基础权重语义为 YOLO26n,同时支持导入类别兼容的 Ultralytics .pt 权重。

深度学习:PyTorch 2.11 + TorchVision 0.26;当前锁定环境为 CUDA 12.8 构建,可在支持的 NVIDIA GPU 上训练和推理。

图像与视频处理:OpenCV 4.11、NumPy、Pillow;视频输出使用兼容桌面播放的编码流程。

实时跟踪:ByteTrack/LAP,生成会话级目标轨迹并减少重复事件。

多模态 AI:LangChain 0.3、LangChain OpenAI、Pydantic 2,使用 OpenAI-compatible Chat Model、结构化输出、Runnable 和顺序回退。

报告与可视化:python-docx、Matplotlib,用于 Word 检测报告和模型评估产物。

认证安全:PyJWT、Argon2id、接口权限校验、路径白名单、文件桶引用和短信验证码限流。

依赖复现:requirements.lock.txt 锁定后端依赖,package-lock.json 锁定客户端依赖。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容