质量检测 Agent¶
项目背景与目标¶
制造业产品质量检测是保障出厂质量的关键环节。传统人工目视检测存在效率低、标准不一、疲劳漏检等问题,且人工成本持续上升。基于计算机视觉与 AI Agent 的智能质量检测系统能实时识别产品缺陷、分类缺陷类型、生成检测报告,实现 7×24 小时稳定检测,准确率与一致性远超人工。
本项目目标是构建一个产品质量智能检测 Agent,支持多品类产品(电子元器件、注塑件、纺织品、食品包装),覆盖缺陷检测、分类定级、报告生成、异常预警闭环。
需求分析¶
核心能力: 1. 图像采集:对接工业相机/线阵相机实时采集产品图像 2. 缺陷检测:识别划痕、凹陷、污渍、缺损、变形等多种缺陷 3. 缺陷分类:按类型与严重程度分类定级 4. 结果判定:合格/不合格/返修决策 5. 报告生成:检测报告与缺陷标注图 6. 异常预警:缺陷率突升、新缺陷类型告警 7. 模型自学习:人工复核结果回流优化模型
性能要求:单张图像检测 < 200ms;漏检率 < 0.5%;误检率 < 2%。
技术选型说明¶
| 模块 | 技术方案 | 选型理由 |
|---|---|---|
| Agent 框架 | LangGraph | 检测流程编排 |
| 缺陷检测 | YOLOv8 + Segmentation | 实时目标检测与分割 |
| 图像分类 | ResNet/EfficientNet | 缺陷类型分类 |
| 边缘部署 | TensorRT + Jetson | 产线低延迟推理 |
| LLM | Qwen-Max | 报告生成与异常解读 |
| 数据管理 | MLflow | 模型版本管理 |
| 后端 | FastAPI + MQTT | 产线设备通信 |
| 数据库 | PostgreSQL + MinIO | 检测记录 + 图像存储 |
架构设计¶
flowchart TD
CAM[工业相机] --> STREAM[图像流]
STREAM --> EDGE[边缘推理节点]
EDGE --> DET[YOLOv8 缺陷检测]
DET --> CLS[缺陷分类]
CLS --> JUDGE[结果判定]
JUDGE -->|合格| PASS[放行]
JUDGE -->|不合格| REJ[剔除/返修]
JUDGE --> AGENT[检测 Agent]
AGENT --> REP[报告生成]
REP --> LLM[LLM 解读]
AGENT --> ANOM[异常预警]
ANOM --> DASH[质量看板]
EDGE --> CLOUD[云端聚合]
CLOUD --> ML[模型训练]
REVIEW[人工复核] --> ML
关键模块实现思路¶
模块1:缺陷检测模型¶
缺陷检测采用 YOLOv8 实例分割:同时定位缺陷位置与勾勒缺陷轮廓。针对小目标缺陷(如电子元器件微小划痕),增加高分辨率分支与小目标检测头。模型在产线数据上微调,每种产品类型训练专用模型或使用多任务模型。
def detect_defects(image, model):
results = model.predict(image, conf=0.5) # 置信度阈值
defects = []
for box in results.boxes:
defects.append({
"type": model.names[box.cls],
"bbox": box.xyxy,
"confidence": box.conf,
"area": calc_area(box.mask) # 分割面积
})
return defects
数据增强应对样本不均衡:少数缺陷类型用生成对抗网络(GAN)或 Copy-Paste 增强扩充。
模块2:缺陷分类与定级¶
缺陷分类两阶段:先按类型(划痕/凹陷/污渍/缺损),再按严重程度(轻微/中等/严重)。严重程度基于缺陷尺寸、位置、数量综合判定。
def grade_defect(defect, product_spec):
size_score = defect.area / product_spec.critical_area
if size_score > 0.5 or defect.type == "crack":
return "critical" # 严重,不合格
if size_score > 0.2 or defect.count > 3:
return "moderate" # 中等,返修
return "minor" # 轻微,合格
定级规则与质量标准挂钩,不同产品标准不同,规则可配置。
模块3:结果判定与执行¶
综合所有缺陷定级结果判定产品处置: - 无缺陷或仅轻微缺陷 → 合格放行 - 存在中等缺陷 → 返修 - 存在严重缺陷 → 不合格剔除
判定结果通过 PLC/IO 控制剔除机构执行,整个过程 < 200ms。边缘节点本地决策,避免网络延迟影响产线节拍。
模块4:检测报告与异常预警¶
每批产品生成检测报告:检测数量、合格率、缺陷分布、典型缺陷图像。LLM 解读缺陷趋势:哪些缺陷频发、可能原因(模具磨损、原料问题、工艺漂移)、改进建议。
REPORT_PROMPT = """质量检测报告解读:
批次:{batch}
合格率:{yield_rate}
缺陷分布:{defect_stats}
趋势变化:{trend}
要求:分析缺陷原因,给出工艺改进建议"""
异常预警:缺陷率突升(超过历史均值 3σ)、出现新缺陷类型、连续不合格产品超阈值时实时告警,通知质量工程师介入。
模块5:模型自学习闭环¶
边缘检测结果上传云端聚合,人工复核结果(确认/纠正)作为标注数据。定期用新数据重训模型,验证通过后下发到边缘节点更新。形成"检测→复核→标注→训练→部署"闭环,模型持续进化。
def model_update_pipeline():
new_data = collect_reviewed_samples(since="last_train")
if len(new_data) < MIN_SAMPLES:
return # 样本不足
new_model = retrain(base_model, new_data)
metrics = evaluate(new_model, test_set)
if metrics.mAP > current_model.mAP * 1.02: # 显著提升
deploy_to_edge(new_model)
核心流程详解¶
在线检测流程: 1. 产品到达检测工位 → 相机采集图像 2. 边缘节点 YOLOv8 推理 → 缺陷检测与分类 3. 综合判定 → 合格/返修/剔除 4. 执行机构动作 → 产品分流 5. 检测结果与图像上传云端 6. 异常实时告警 → 工程师介入
离线分析流程: 1. 按批次/时段汇总检测数据 2. 缺陷分布分析 → LLM 生成改进建议 3. 质量看板更新 → 管理层查看 4. 人工复核样本 → 标注入库 5. 模型重训 → 验证部署
部署与优化建议¶
- 边缘优先:检测在边缘完成,云端只做聚合分析,降低延迟与带宽
- 模型量化:YOLOv8 转 TensorRT FP16,推理速度提升 2-3 倍
- 冗余设计:双相机 + 双模型交叉验证,降低漏检率
- 光照控制:稳定光照条件是视觉检测基础,产线需设计照明系统
- 样本管理:建立缺陷样本库,持续扩充罕见缺陷样本
- 可解释:缺陷标注图叠加在原图上,便于人工复核
常见问题与解决方案¶
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 漏检率高 | 模型未覆盖缺陷类型 | 持续采样 + 模型迭代 |
| 误检率高 | 阈值过严 | 调整置信度 + 人工复核反馈 |
| 新产品适配慢 | 缺乏标注数据 | 迁移学习 + 少样本学习 |
| 光照影响 | 产线环境变化 | 标准光源 + 数据增强 |
扩展方向¶
- 3D 检测:结构光/ToF 检测三维缺陷
- 多模态融合:可见光 + 红外 + X 光
- 工艺联动:检测结果反馈调整上游工艺参数
- 预测性质量:基于工艺数据预测质量趋势