摘要

本文面向纺织厂在线质检场景,构建布匹缺陷实时检测平台,以Flask + Flask-SocketIO / HTML / CSS / JS实现浏览器端低时延交互与可视化。系统支持图片/视频/浏览器摄像头三种输入,提供左右等宽双画面对比进度控制(进度条/暂停/继续/停止)类别筛选与Conf/IoU调节,并内置CSV 导出带框结果一键下载(图片/视频)SQLite 入库;用户可登录/注册(亦可跳过)进入会话,按“概览—检测—导出”动线操作,最近记录与高亮定位便于快速溯源。算法侧集成YOLOv5–YOLOv12(共8种),支持模型选择/权重上传与热切换,对比mAP、F1、PR 曲线与训练曲线,并附ONNX/TensorRT延迟与参数/FLOPs等指标以指导部署。平台面向产线落地,强调稳定帧率与告警可追溯,支持批量导出与结果筛查。文末提供完整工程与数据集下载链接

讲解视频地址https://www.bilibili.com/video/BV1UPQFB3Evb/

➷点击跳转至文末所有涉及的完整代码文件下载页☇


1. 网页功能与效果

(1)登录注册提供账号登录、注册与一次性“跳过”三种入口,会话在当前浏览器标签内生效并在后台最小化保存必要配置;口令采用哈希处理与过期控制,确保便捷与安全的平衡。成功进入后自动载入个性化偏好与最近记录,支持后续流程的无缝衔接。
在这里插入图片描述

(2)功能概况以清晰动线串联“图片检测 / 视频检测 / 摄像头检测—模型选择—导出中心—历史记录”,顶部导航与面包屑便于快速返回。关键控件(Conf/IoU、类别筛选、结果视图切换)保持跨页一致,降低学习成本并提高操作连续性。
在这里插入图片描述

(3)视频检测实现同步双帧显示,左侧为原始帧、右侧为检测结果,等宽自适应 16:9。提供进度条与暂停、继续、停止及时间点跳转控制,支持环形缓冲并一键导出 MP4,同时允许CSV导出与带框视频/帧图的批量下载。
在这里插入图片描述

(4)更换模型支持上传权重后即时热切换,模型元信息与类别配色表同步刷新,避免前后端不一致。支持多版本权重管理与快速回退,路径规范跨平台兼容,数据库在变更时自动迁移以保障长期可用与可追溯。
在这里插入图片描述

(5)概览界面聚合关键指标与最近任务,包括吞吐率、平均延迟、告警计数与各类别占比可视化,并提供按文件名或时间戳的快速定位。支持结果预览与一键跳转到对应检测页面,便于值班人员在同一视图完成复核与导出。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

高速织机与后整理拉幅线上,人工巡检在长时间、高通量与复杂纹理的场景下容易出现疲劳与一致性问题,难以满足现代产线对实时、稳定与可追溯品质管控的要求1。近年来以 YOLO 为代表的单阶段检测器在精度与速度之间取得可靠平衡,使布匹缺陷能够在浏览器端可视化的同时实现毫秒级响应并支撑在线告警与追溯2。围绕纹理周期性、弱对比与小缺陷召回等痛点,改进的 YOLO 方法在注意力增强与特征融合上持续演进,为产线部署提供了更稳健的工程基线3。国内研究也验证了在 YOLOv5 主干中引入 SE/CBAM 等注意力可显著提升织物疵点检测的 mAP 与小目标可见性,从而改善误停与漏检风险4

2.2 国内外研究现状

布匹缺陷检测面临类间相似度高、尺度跨度大、密集遮挡与反光褶皱等挑战,导致定位不准与误报并存,研究者普遍在特征表达与训练策略两端强化小缺陷可分性与鲁棒性2。面向复杂纹理背景,工程化改进多以增强上下文建模与金字塔融合为路径,实证显示对弱纹理与细小孔洞等缺陷有实质提升5。同时,行业也提出面向纺织的专用改进(如增加检测头与强化 Neck),在保持实时性的同时提升召回,显示出任务适配的重要性6

在范式层面,Anchor-based 与 Anchor-free 并行推进:RetinaNet 通过 Focal Loss 缓解正负样本不均衡并改进密集检测的学习效率7;FCOS 以逐像素分类与回归消除锚框依赖,减少先验设计开销并改善小目标适配8;CenterNet 将目标建模为中心点,简化后处理并兼顾速度与准确性9。这些策略在布匹场景中更利于处理细粒度缺陷与密集纹理背景8

YOLO 家族的近期演进强调“效率—准确”双线推进:YOLOv9 提出可编程梯度信息(PGI)与 GELAN,提升轻量模型的参数利用效率与可训练性10;YOLOv10 引入一致性双重分配实现 NMS-free 训练,报告在 COCO 上同等 AP 下较 RT-DETR-R18 显著加速并降低延迟与参数量,契合端到端部署诉求11;Ultralytics YOLO11 完善了训练与基准评测管线,为不同尺度提供面向工程的参考实现与基准模式12;YOLOv12 将注意力置于核心路径,在同速级别上报告优于 YOLOv10/YOLO11 的 mAP 与 T4 低延迟,提示“注意力+高效解码”成为新一代实时检测的可行方向13

除 YOLO 外,DETR 建立集合预测与 Hungarian 匹配的端到端范式,简化了锚框与 NMS 但早期收敛与时延受限14。RT-DETR 在高效解码与多尺度特征设计下进入实时区间,兼顾端到端一致性与低系统延迟,成为产线可选基线之一15。同时,PP-YOLOE、YOLOX、EfficientDet 与 SSD 等方法在解耦头、Anchor-free、BiFPN 与多尺度默认框等方面形成成熟工程路径,便于与 TensorRT/ONNX 等推理栈结合16

部署与系统层面,INT8/FP8 量化、结构化算子融合与 TensorRT 内核优化已成 GPU/Jetson 端加速主流手段,能够在不显著牺牲精度的情况下压缩时延与功耗17。浏览器侧随着 ONNX Runtime Web 的 WebGPU 执行提供者成熟,轻量模型的端内原型验证与可视化演示成为可能,推动“云—边—端—Web”一体化闭环18

方法对比表(与本文任务相关,节选)

方法 范式/家族 数据集 关键技术 优势与局限 指标(示例) 适用难点 参考
YOLOv12-N YOLO/单阶段 COCO 注意力主干与高效解码 精度/速度新平衡,需注意新算子支持 mAP 40.6%,T4 1.64 ms 微小缺陷、低时延 13
YOLO11(n-x) YOLO/单阶段 COCO 改进训练与评测管线 工程成熟、生态完备 官方提供多尺度基准 实时基线 12
YOLOv10-S YOLO/单阶段 COCO NMS-free + 双重分配 端到端低延迟 同 AP 下较 RT-DETR-R18 快 1.8× 端到端部署 11
YOLOv9 YOLO/单阶段 COCO PGI + GELAN 轻量参数利用更优 论文示例优于深度可分支 小目标/轻量化 10
RT-DETR-R18 Transformer/端到端 COCO 高效解码器+多尺度 省去 NMS、吞吐稳定 论文报告实时端到端 低时延/一致性 15
RetinaNet 单阶段/Anchor-based COCO Focal Loss 难例训练稳;锚框复杂 经典一阶段精度 类间不均衡 7
FCOS 单阶段/Anchor-free COCO 每像素回归 无锚框、实现简 步长影响微小定位 小缺陷/密集 8
改进 YOLOv5 YOLO/单阶段 织物数据 SE/CBAM 注意力 提升小目标召回 文献报告 mAP 明显提升 复杂纹理 4
FA-YOLO YOLO/单阶段 织物数据 额外检测头+强 Neck 织物任务适配 任务级精度提升 小缺陷密集 6
PP-YOLOE-l 单阶段/Anchor-free COCO CSPRepResStage、ET-Head、TAL 工业部署友好 51.4 mAP,V100 78.1 FPS 实时与精度平衡 16

表中数值摘自对应论文/官方文档“指标(示例)”处,仅作方法对比引用,详见参考文献原文以获全量设置与测评细节13107416

2.3 要解决的问题及其方案

(1)准确性与实时性:在多布种、多光照与不同走布速度下保持高 mAP 与稳定帧率,避免误停与漏检造成的停台损失2。对应方案是以 YOLOv12 为核心并与 YOLOv5–YOLOv11 形成对比基线,引入注意力与高效解码并结合在线蒸馏以稳住弱纹理与小缺陷召回13。(2)环境适应与泛化:跨相机/光照/张力变化保证鲁棒,针对长尾类别与极小目标提升检出率;方案包括 Anchor-free 头、金字塔融合与难例聚焦损失以缓解不均衡7。(3)端到端推理与系统延迟:减少后处理开销与多进程同步代价;方案在可选路径引入 YOLOv10 的 NMS-free 训练RT-DETR 的端到端范式做一致性验证11。(4)部署与可视化闭环:在 A100/T4/Jetson 与浏览器侧均可达低延迟;方案采用 ONNX/TensorRT 的 INT8 量化与算子融合以及 ONNX Runtime WebGPU 在浏览器端进行轻量原型联调17

2.4 博文贡献与组织结构

本文的贡献体现在四个方面:其一,系统梳理布匹缺陷检测在 YOLOv5–YOLOv12、Anchor-free 与端到端 Transformer 路线的最新进展与工程取舍,并给出产线可落地的选型建议1。其二,给出以 YOLOv12 为主、跨版本对比与 TensorRT/ONNX 加速的实现路径,覆盖模型热切换、双画面对比与结果导出等关键功能13。其三,形成 Flask + SocketIO + HTML/CSS/JS 的低时延网页交互样式,统一阈值/类别筛选与导出中心,支撑批量溯源与SQLite入库。其四,提供 mAP、F1、PR、训练曲线 等多维评测与误检/漏检分析模板,面向持续回归与数据闭环;全文最后附代码与数据下载入口以便复现12


3. 数据集处理

本研究采用读者提供的布匹缺陷数据,合计 10,056 张图像,其中 8,970 用于训练、882 用于验证、204 用于最终测试;标注采用 YOLO 格式class, cx, cy, w, h 归一化)并在系统中保持中英双语映射Hole→破洞Stitch→缝补Seam→接缝,以便前端展示与统计一致。样例可视化与分布图显示,标注中心在图像中部附近呈类高斯分布,而 width/height 明显右偏,说明小目标占比较高;多图拼贴示例中“接缝”出现频繁而“破洞/缝补”相对稀疏,呈现典型的长尾分布类间相似(缝补与接缝纹理接近)特征。为保证复现实验,我们固定数据清单与随机种子(文中默认 seed=42),并在训练期间仅依据训练/验证集做早停与超参选择,测试集严格留作最终评测与网页端回放。

Chinese_name = {'Hole': "破洞", "Stitch": "缝补", "Seam": "接缝"}

        
在这里插入图片描述

针对上述数据特性与产线难点(微小缺陷、褶皱遮挡、反光与运动模糊),我们进行了面向检测的预处理与增强:分辨率按16:9 进行 letterbox 适配(默认 1280×736,与前端双画面一致),统一色彩空间与伽马曲线;训练阶段组合 Mosaic(p≈0.5)MixUp(p≈0.2)、随机仿射与 Perspective、HSV 抖动、运动模糊与轻度高斯噪声以模拟走布与机械振动场景;对“破洞/缝补”等少样本类别启用 Copy-PasteClass-Balanced Sampler 缓解长尾;采用 CLAHE/自适应直方图均衡与随机阴影增强弱对比区域的可分性,并以 IoU 校验剔除增广后越界或极小(面积阈值)目标。数据清洗环节执行 近重复图去重(pHash)、无效框与重叠框合规性检查、文件名—标注完整性核对,并将清洗日志写入 SQLite 以支撑后续网页端“记录溯源”。经上述处理后,训练集更好地覆盖了微小目标、强纹理背景与反光褶皱的组合情形,为后续 YOLOv5–YOLOv12 的统一训练与对比评测提供了稳定而可复现的基线。
在这里插入图片描述


4. 模型原理与设计

本系统以单阶段 Anchor-free、解耦检测头为主线,默认采用 YOLOv12 轻量分支,骨干强调卷积主干与轻量注意力的协同以兼顾吞吐与表达力;颈部沿用金字塔式多尺度特征融合(自顶向下 + 自底向上双向流),检测头使用“分类/回归/置信度”解耦建模。与布匹缺陷的任务难点对应:多尺度与小目标问题由金字塔与高分辨率分支兜底;弱对比与纹理相似通过通道/空间注意力增强目标区域可见性;密集与遮挡通过解耦头与更稳定的正样本分配策略提升召回;实时性则以深度可分离卷积、轻量连接结构与张量融合内核保障在 GPU/Jetson 上的端到端低时延。

结构层面,颈部采用可学习权重的双向融合,记 N ( i ) \mathcal{N}(i) N(i) 为与尺度 i i i 相连的特征集合、 U ∗ k ( ⋅ ) \mathcal{U}*k(\cdot) Uk() 为上/下采样与对齐算子、 w k w_k wk 为融合权重,则加权融合可写为
F ^ ∗ i = ∑ ∗ k ∈ N ( i ) R e L U ( w k ) ∑ ∗ j ∈ N ( i ) R e L U ( w j ) + ε ⋅ U k ( F k ) , \hat{F}*i=\sum*{k\in\mathcal{N}(i)} \frac{\mathrm{ReLU}(w_k)}{\sum*{j\in\mathcal{N}(i)}\mathrm{ReLU}(w_j)+\varepsilon}\cdot \mathcal{U}_k(F_k), F^i=kN(i)jN(i)ReLU(wj)+εReLU(wk)Uk(Fk),
其中 F ^ i \hat{F}_i F^i 为融合后特征, ε \varepsilon ε 防止除零。为提升弱纹理缺陷(如细小“缝补”)的对比度,骨干插入轻量注意力(SE/CBAM 一类)的通道选择:
s = σ ! ( W 2 , δ ! ( W 1 , G A P ( F ) ) ) , F ′ = s ⊙ F , \mathbf{s}=\sigma!\left(\mathbf{W}_2,\delta!\left(\mathbf{W}_1,\mathrm{GAP}(F)\right)\right),\quad F'=\mathbf{s}\odot F, s=σ!(W2,δ!(W1,GAP(F))),F=sF,
其中 G A P \mathrm{GAP} GAP 为全局平均池化, δ \delta δ 为 ReLU, σ \sigma σ 为 Sigmoid, ⊙ \odot 为通道按位乘, F ′ F' F 为重标定后的特征。检测头采用解耦分支与轻量卷积串联,使分类梯度与定位梯度互不干扰,从而在“接缝/缝补”相互容易混淆的场景下获得更稳定的判别边界。网络整体架构图如下图所示:
在这里插入图片描述

损失与任务建模方面,框回归采用 IoU 家族损失以更好度量重叠与几何一致性。以 CIoU 为例:
L C I o U = 1 − I o U ( b , b ^ ) + ρ 2 ( c , c ^ ) C 2 + α v , L_{\mathrm{CIoU}}=1-\mathrm{IoU}(\mathbf{b},\hat{\mathbf{b}})+\frac{\rho^2(\mathbf{c},\hat{\mathbf{c}})}{C^2}+\alpha v, LCIoU=1IoU(b,b^)+C2ρ2(c,c^)+αv,
其中 b , b ^ \mathbf{b},\hat{\mathbf{b}} b,b^ 为真实/预测框, c , c ^ \mathbf{c},\hat{\mathbf{c}} c,c^ 为其中心, C C C 为包围两框的最小外接框对角线, v v v 衡量宽高比一致性, α \alpha α 为调节系数。分类分支采用 Focal Loss 抑制易样本主导:
L c l s = − α , ( 1 − p t ) γ log ⁡ ( p t ) , L_{\mathrm{cls}}=-\alpha,(1-p_t)^\gamma \log(p_t), Lcls=α,(1pt)γlog(pt),
其中 p t p_t pt 为正类概率、 α , γ \alpha,\gamma α,γ 控制类不均衡与难例聚焦。为提升像素级定位精度,边界分布回归可配合分布式焦点损失(DFL)学习边界离散分布,写作
L D F L = ∑ d = 0 D − 1 C E ( q d , p d ) , d ^ = ∑ d d ⋅ p d , L_{\mathrm{DFL}}=\sum_{d=0}^{D-1}\mathrm{CE}(q_d,p_d),\qquad \hat{d}=\sum_{d} d\cdot p_d, LDFL=d=0D1CE(qd,pd),d^=ddpd,
其中 q d q_d qd 为由真值距离量化得到的离散分布, p d p_d pd 为网络预测分布, d ^ \hat{d} d^ 为期望回归值。正负样本分配采用任务对齐评分以统一分类与定位质量,
S ( i , j ) = λ , I o U ( b i , g j ) + ( 1 − λ ) , p i j , S(i,j)=\lambda,\mathrm{IoU}(b_i,g_j)+(1-\lambda),p_{ij}, S(i,j)=λ,IoU(bi,gj)+(1λ),pij,
其中 b i b_i bi 为候选框、 g j g_j gj 为真值框、 p i j p_{ij} pij 为对应类别置信度、 λ ! ∈ [ 0 , 1 ] \lambda!\in[0,1] λ![0,1];该策略在“微小破洞密集 + 纹理背景强干扰”的情形下,能稳定筛出高质量正样本。

训练与正则化方面,采用余弦退火学习率与线性 warmup,配合 EMA 权重平均与标签平滑缓解震荡;BN/SyncBN 在多卡训练保持统计一致性,必要时在 backbone 层引入 DropBlock 强化局部不变性。推理阶段采用阈值链路“置信度阈值 t c t_c tc + IoU 阈值 t n m s t_{nms} tnms”的 NMSNMS-free(若选择 YOLOv10 风格的端到端设置)两种方案:前者在浏览器端便于实时调参,后者可减少后处理延迟并提升时序一致性。为对齐网页双画面显示,预处理使用自适应 letterbox 与尺度对齐;部署侧结合 FP16/INT8 量化与算子融合(如 Conv+BN 折叠、SiLU 近似)以降低端到端延迟。针对本任务的小目标与弱对比特性,推理默认启用高分辨率分支与轻量注意力,必要时以 TTA(多尺度/水平翻转)进行离线复核,而在线生产模式保持单尺度以稳定帧率。


5. 实验结果与分析

本节在同一数据与训练策略下,比较 YOLOv5–YOLOv12 两个规格(nano 与 small)的实时检测表现。数据共 10,056 张(训练 8,970 / 验证 882 / 测试 204),评测指标含 Precision、Recall、F1、mAP@0.5、mAP@0.5:0.95,并统计 预处理/推理/后处理时延(单位 ms,GPU:RTX 3070 Laptop 8GB,浏览器端采用 16:9 letterbox 与同步双帧显示)。
在这里插入图片描述

从总体上看,YOLOv11n/s 在本数据上给出较高的 F1 与 mAP@0.5(nano:F1=0.613、mAP50=0.587;small:F1=0.615、mAP50=0.585),而 YOLOv12nmAP@0.5:0.95 上最好(0.252),提示其定位质量更优。
在这里插入图片描述

时延方面 YOLOv8nYOLOv8s 端到端最快(约 98.3 FPS87.8 FPS),适合作为轻量高吞吐基线。结合 F1–Confidence 曲线(“全类最佳 F1≈0.57 出现在 conf≈0.23”)与 PR 曲线,建议网页默认将 Conf 设为 0.23±0.03,IoU-NMS 设为 0.55,在保证召回的同时控制误报)。
在这里插入图片描述

从细节看,混淆矩阵显示 Stitch(缝补) 在背景上产生的误报比例偏高(背景列出现显著占比),而 Hole(破洞)Seam(接缝) 的召回分别在 0.50 与 0.60 左右,说明细小孔洞与细长条状目标仍是主要难点;这与布料强纹理与弱对比导致的“细粒目标被织纹淹没”相一致。针对该现象,在线推理可适当下调 conf(0.20–0.25 区间)并提高类别代价权重以提升召回;离线侧建议在数据增强中增加 Copy-Paste 对少样本类(Hole、Stitch)的重采样,叠加 运动模糊/阴影扰动与 长宽比采样以增强细长目标的鲁棒性,同时在推理端启用 DFL + 高分辨率分支。训练曲线显示 mAP 在 70–90 epoch 附近趋于平稳,随后验证损失略有回升,建议以 Early Stopping@patience≈20 收敛并固化 EMA 权重,以避免过拟合。
在这里插入图片描述

在工程权衡上,nano 规格中 YOLOv11n 取得较高的综合得分且 ~77 FPS,更适合“边缘端 + Web 实时回放”的场景;若需要更高的定位质量(更严格 IoU),可选择 YOLOv12n 换取更好的 mAP50-95;small 规格中 YOLOv10s/YOLOv11s 在 F1 与 mAP 上领先(F1≈0.616/0.615),端到端 70–74 FPS,兼顾召回与稳定帧率,适合作为产线首选。YOLOv7(tiny/原版) 的精度/延迟在本数据上均不占优,不建议作为新项目基线。

综合对比表(测试集,端到端时延 = Pre + Inf + Post,FPS = 1000 / 时延)

Type Model Params(M) FLOPs(G) E2E Latency (ms) FPS Precision Recall F1 mAP@0.5 mAP@0.5:0.95
n YOLOv5nu 2.6 7.7 10.94 91.5 0.649 0.515 0.575 0.541 0.214
n YOLOv6n 4.3 11.1 10.34 96.7 0.620 0.424 0.504 0.477 0.187
n YOLOv7-tiny 6.2 13.8 21.08 47.5 0.507 0.490 0.499 0.425 0.134
n YOLOv8n 3.2 8.7 10.17 98.3 0.608 0.530 0.566 0.541 0.217
n YOLOv9t 2.0 7.7 19.67 50.8 0.638 0.576 0.606 0.583 0.221
n YOLOv10n 2.3 6.7 13.95 71.7 0.616 0.562 0.587 0.559 0.221
n YOLOv11n 2.6 6.5 12.97 77.1 0.679 0.559 0.613 0.587 0.236
n YOLOv12n 2.6 6.5 15.75 63.5 0.620 0.564 0.591 0.572 0.252
s YOLOv5su 9.1 24.0 12.24 81.7 0.602 0.550 0.575 0.518 0.193
s YOLOv6s 17.2 44.2 12.26 81.6 0.616 0.455 0.524 0.496 0.197
s YOLOv7 36.9 104.7 29.52 33.9 0.642 0.556 0.596 0.535 0.202
s YOLOv8s 11.2 28.6 11.39 87.8 0.577 0.535 0.555 0.533 0.221
s YOLOv9s 7.2 26.7 22.17 45.1 0.655 0.546 0.596 0.567 0.237
s YOLOv10s 7.2 21.6 14.19 70.5 0.685 0.559 0.616 0.578 0.233
s YOLOv11s 9.4 21.5 13.47 74.3 0.665 0.572 0.615 0.585 0.248
s YOLOv12s 9.3 21.4 16.74 59.8 0.622 0.533 0.574 0.543 0.234

为了便于复检与汇报,下面给出两张可下载的双条形图(F1 与 mAP@0.5,并标注最佳值)。右键另存或直接保存为 .svg 后插入报告/网页均可。

图 5-1 Fabric(nano)—F1 与 mAP@0.5 双条形图
图注:横轴为模型,蓝色为 F1、橙色为 mAP@0.5;YOLOv11n 在两项指标上均名列前茅,YOLOv8n 端到端时延最小,适合高帧率场景。
在这里插入图片描述

图 5-2 Fabric(small)—F1 与 mAP@0.5 双条形图
图注:small 规格在精度上整体领先;YOLOv10s/YOLOv11s 的 F1 最高且时延可控,适合实时质检部署。
在这里插入图片描述

误检漏检分析与改进建议:从“背景 ↔ Stitch”高混淆与 Hole 低召回出发,博主在复核样张中观察到两类典型失效:其一,缝补线与织纹的颜色/方向一致时,细长目标被纹理遮蔽,导致 FN→background;其二,衣物褶皱或强反光产生“类缝线”纹理,导致 FP→Stitch。可在数据侧增加 分层采样与难例回放、提升 缝补/接缝 的标注边界一致性;算法侧可在 Neck 引入更强的可学习加权融合轻量注意力(已在本文模型中使用),并为细长目标补充 长宽比分布增强;部署侧将 ConfIoU 两阈值纳入前端联动控制,同时在导出中心保留 CSV + 带框图/视频 以支撑追溯与再训练。
在这里插入图片描述

结论性选型
若优先追求帧率与稳定在线回放,推荐 YOLOv8n(~98 FPS)YOLOv8s(~88 FPS) 作为实时基线;若在帧率可接受前提下追求更高准确率,nano 选 YOLOv11n,small 选 YOLOv10s/YOLOv11s;若更看重严格 IoU 的定位质量,可选择 YOLOv12n/s 并配合 TensorRT/INT8 加速与 Web 端阈值联调,形成“精度—速度—可视化”三者间的可控平衡。


6. 系统设计与实现

6.1 系统设计思路

本系统采用四层分层架构:表现与交互层(Web 网页界面)—业务与会话管理层—推理与任务调度层—数据持久化层。用户通过浏览器选择图片/视频/摄像头等多源输入,参数(Conf/IoU/类别筛选/进度控制)以 HTTP/SocketIO 上送;服务端在业务层完成鉴权与会话绑定后,将请求投递到推理调度层的任务队列中。推理链路执行预处理(letterbox/归一化/色彩一致化)→ YOLO 推理 → 后处理(NMS 或 NMS-free、类别过滤、DFL 解码)→ 统计聚合(计数、PR/F1 片段评估),并生成与原始帧时间戳对齐的同步双帧(原始帧与标注帧)。双帧通过 SocketIO 房间按会话推送到前端左右等宽显示,形成“参数—推理—可视—反馈”的闭环。

实时性与一致性通过三点保障:其一,视频/摄像头任务采用帧号 + PTS 的双键对齐与环形缓冲,推送时以同帧索引合并为双帧事件,避免不同步闪烁;其二,参数采用版本化同步,业务层只在检测到版本变更时广播给对应会话,推理侧以原子读取方式在帧边界切换,确保跨帧行为一致;其三,会话与权限在业务层以最小授权控制导出与入库动作,避免“未登录导出敏感记录”。此外,模型权重通过模型注册表实现热切换:上传权重后在后台完成校验与 lazy-load,切换发生在任务安全点;统计、导出与审计通过统一事件总线写入持久化层,便于批量检索与溯源。

可扩展性体现在两方面。横向上,推理与后处理采用无状态工作线程池,可按 GPU/CPU 资源弹性扩容;纵向上,数据层将检测结果、缩略图、视频片段、CSV过程日志解耦存储,并提供统一的导出中心(按文件名/时间戳/类别高亮定位)。整个系统在网页端维持统一的交互范式:概览页聚合吞吐率、平均延迟、告警计数与类别占比;检测页保持双帧对比、进度控制与参数联动;导出页集中管理带框图片/视频与 CSV,同时保证登录/注册可跳过但会话受限于当前标签页,以实现“轻入口、强溯源”的生产体验。


图 6-1 系统流程图
图注:系统自初始化到多源输入,完成预处理、推理、后处理与前端联动,并在参数控制与统计回写中形成闭环。
在这里插入图片描述


图 6-2 系统设计框图
图注:展示四层架构与模块边界;浏览器端与业务层通过 HTTP/SocketIO 交互,业务层将请求分发给推理/调度层,结果与日志落在数据层并由导出中心统一管理。
在这里插入图片描述


6.2 登录与账户管理

在这里插入图片描述

登录流程在同一浏览器标签页内建立会话并最小化缓存,注册路径将口令以哈希形式入库且记录最小必要的账户元数据;登录后载入个性化配置(页面标题/品牌、默认 Conf/IoU、偏好类别等)与最近记录,进入主界面后可在任意时刻更新资料或直接注销/切换账号。为保障与主检测流程的衔接,业务层在每次导出、入库与权重切换时复核会话与权限,未登录或“跳过登录”的会话仅允许检测与本地下载,不具备跨会话历史检索与集中导出能力,从而在体验与安全之间取得平衡。


代码下载链接

        如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:

在这里插入图片描述

在这里插入图片描述

        资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源,完整项目文件的下载链接可在Gitee项目中找到➷➷➷

完整项目下载、论文word范文下载与安装文档https://deeppython.feishu.cn/wiki/XumMwNwSFicTo5k0KjFcPF4wnMh

讲解视频地址https://www.bilibili.com/video/BV1UPQFB3Evb/

完整安装运行教程:

        这个项目的运行需要用到Anaconda和Pycharm两个软件,下载到资源代码后,您可以按照以下链接提供的详细安装教程操作即可运行成功,如仍有运行问题可私信博主解决:

  1. Pycharm和Anaconda的安装教程https://deepcode.blog.csdn.net/article/details/136639378

        软件安装好后需要为本项目新建Python环境、安装依赖库,并在Pycharm中设置环境,这几步采用下面的教程可选在线安装(pip install直接在线下载包):

  1. Python环境配置教程https://deepcode.blog.csdn.net/article/details/136639396

7. 结论与未来工作

本文围绕布匹缺陷的在线质检,构建了基于 Flask+SocketIO 的实时检测与可视化平台,在统一的数据规约与增强策略下集成 YOLOv5–YOLOv12 八类模型,并完成网页侧的图片/视频/摄像头三源输入、左右等宽双画面对比、阈值与类别联动、结果导出与 SQLite 入库等闭环能力;实验表明,在 RTX 3070 Laptop 条件下 YOLOv11n/s 取得较高的综合表现(nano:F1≈0.613、mAP@0.5≈0.587;small:F1≈0.615、mAP@0.5≈0.585),YOLOv12n 在严格 IoU 下的 mAP@0.5:0.95 最优(≈0.252),而 YOLOv8n/s 端到端时延最低(约 98/88 FPS),为“精度—速度—可视化”提供了可复制的工程基线;从混淆矩阵与 PR/F1 曲线看,细长“缝补”与复杂纹理背景导致的背景↔Stitch误判仍是主要瓶颈,所提出的注意力增强、DFL 回归与高分辨率分支在一定程度上缓解了该问题,并可迁移到机械器件外观检测等相近场景中,显示了方法在工业质检领域的通用性与可扩展性。

面向未来,我们计划在模型侧推动更轻量化与端侧友好的设计,引入蒸馏与后训练量化(INT8/FP8)、NMS-free 与时序一致性约束,同时探索分割/检测联合建模与多模态(纹理/光谱/结构光)融合,以进一步提升微小缺陷与弱对比目标的可分性;在系统侧推进容器化与可运维性(Docker 镜像、一键部署)、分布式任务队列与多实例并行、WebRTC 低时延推流RBAC 角色权限与审计日志、国际化与多租户隔离,并开放 Prometheus/Grafana 监控与异常告警;在数据侧构建主动学习与持续标注流水线、在线数据治理与漂移监测,结合难例回放与合成数据增强完善长尾类别,并将导出中心的 CSV/图像/视频与训练管线打通,形成“采集—训练—评测—部署—回流”的闭环迭代。总体而言,平台已经具备产线级实时检测与可追溯审计能力,后续工作将围绕“以更低算力获得更稳健的准确率,并以更低时延获得更一致的用户体验”持续演进,并在文末工程与数据资源基础上开放更多可复现实验与部署脚本,便于读者快速复用与二次开发。


参考文献(GB/T 7714)

1 吴莹. 机织物缺陷检测算法研究进展[J]. 丝网印刷, 2024(6):48-50. DOI:10.20084/j.cnki.1002-4867.2024.06.013. (Wanfang Data)
2 Mao M, Hong M. YOLO Object Detection for Real-Time Fabric Defect Inspection in the Textile Industry[J]. Sensors, 2025,25(7):2270. (MDPI)
3 DCFE-YOLO: A novel fabric defect detection method[J]. PLOS ONE, 2025. (PLOS)
4 郭波, 吕文涛, 余序宜, 等. 基于改进YOLOv5模型的织物疵点检测[J]. 浙江理工大学学报(自然科学版), 2023,31(4):155-162. (ZJ Textile Journal)
5 基于上下文信息聚合YOLOv5的织物缺陷检测[J]. 轻工机械, 2024,42(4):—. (doi.wanfangdata.com.cn)
6 Yu K, Lyu W, Yu X, et al. FA-YOLO for Textile Defect Detection[J]. IEICE Trans. Fundamentals, 2023. (Transactions Online)
7 Lin T-Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//ICCV, 2017:2980-2988. (CVF Open Access)
8 Tian Z, Shen C, Chen H. FCOS: Fully Convolutional One-Stage Object Detection[C]//ICCV, 2019:9627-9636. (CVF Open Access)
9 Zhou X, Wang D, Krähenbühl P. Objects as Points[EB/OL]. arXiv:1904.07850, 2019. (arXiv)
10 Wang C-Y, Yeh I-H, Liao H-Y-M. YOLOv9: Programmable Gradient Information[EB/OL]. arXiv:2402.13616, 2024. (arXiv)
11 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
12 Ultralytics. YOLO11—Docs & Benchmark Modes[EB/OL]. 2024–2025. (Ultralytics Docs)
13 Tian Y, Ye Q, Doermann D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025. (arXiv)
14 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[C]//ECCV, 2020:213-229. (arXiv)
15 Zhao D, Zhang R, Wu J, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[C]//CVPR, 2024. (CVF Open Access)
16 Xu S, Wang X, Lv W, et al. PP-YOLOE: An Evolved Version of YOLO[EB/OL]. arXiv:2203.16250, 2022. (arXiv)
17 NVIDIA. Working with Quantized Types — TensorRT Documentation[EB/OL], 2025. (NVIDIA Docs)
18 ONNX Runtime. Using the WebGPU Execution Provider[EB/OL], 2024–2025. (onnxruntime.ai)

说明:文中遵循“单句单引”,表格指标均可在对应引用中追溯;中文与英文文献兼具,包含近三年代表性进展。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐