PCB 缺陷检测的难点并不止于模型能否识别划痕、缺损、污渍或气泡。进入连续生产环境后,系统还要处理视频流接入、帧处理节拍、边缘算力、任务状态、结果追溯和长期运行监控等问题。一个只返回检测框的模型服务,无法独立承担完整的质量控制职责。
独角鲸PCB(项目地址:https://www.gitcc.com/dudufly/gcc-pcb-main) 将批量图像检测、RTSP 实时流检测、边缘推理和 Web 管理组织为统一平台。系统以 Python 和 Flask 提供控制与 API 能力,以 OpenCV 和 MediaMTX 处理视频流,以 YOLOv5、YOLOv8 和 Sophon BM1684X 承担不同检测任务,并将检测记录、资源状态与配置管理收敛到同一控制面。
项目采用 MIT 开源许可证发布,支持商业化使用,并允许在遵守许可证条款的前提下进行修改、分发与二次开发。
系统职责:将检测模型放入质量控制链路
在典型的工业视觉系统中,数据会从相机或历史图片进入检测链路,再回到任务控制、结果存储和质量分析。独角鲸PCB将这一过程拆成两类工作负载:离线批量检测面向历史数据回溯、来料抽检和报告生成;在线流检测面向产线 RTSP 画面和实时异常发现。
这不是单纯的模型选择问题,而是任务调度边界。批量任务关注结果完整性、文件关联和可查询性;实时任务关注帧的新鲜度、时延和流稳定性。将二者放到独立的处理路径中,可以避免历史图片处理占用在线推理资源,也使不同任务拥有各自的状态、配置和结果记录。
批量图片 -> YOLOv5 检测 -> 标注结果 / 检测报告 -> 历史记录
RTSP 相机 -> MediaMTX -> OpenCV 解码与帧调度 -> YOLOv8 / BM1684X
|
v
实时画面 / 缺陷事件 / 统计与告警
实时数据链:从视频流到缺陷事件
在线检测链路由流媒体接入、视频解码、帧调度、模型推理和结果分发组成。MediaMTX 用于 RTSP 流的接入与分发,OpenCV 负责读取和预处理视频帧,推理模块输出缺陷类别、置信度和位置,Web 控制台再将结果呈现为实时状态、统计数据和历史记录。
实时链路的关键约束是避免积压。当相机输入速度超过综合处理能力时,逐帧排队会使系统处理越来越旧的画面,造成“检测仍在运行、结果却已经滞后”的问题。系统提供跳帧与低延迟处理策略,优先控制待处理帧的数量,使系统持续面对当前视频画面。跳帧间隔应结合相机帧率、传送速度、PCB 在视场中的停留时间和最小缺陷尺寸配置,而不是只依据机器资源使用率设定。
这种设计将吞吐与时延从模型内部问题扩展到完整数据链问题。取流、解码、预处理、推理、后处理与结果传递任何一段出现阻塞,都会影响现场响应,因此系统资源监控与流状态管理属于实时检测架构的一部分。
双模型与边缘推理:将计算匹配到任务形态
独角鲸PCB使用 YOLOv5 处理批量离线图片,使用 YOLOv8 处理实时 RTSP 视频流。两类模型服务不同输入形态:离线任务可以集中执行并生成标注结果,在线任务则需要持续处理帧并控制排队深度。系统不将“一个模型覆盖全部任务”作为前提,而是以任务时效性和处理方式划分模型职责。
在线推理部署在 Sophon BM1684X 平台上。边缘加速的目标是让视频尽量在靠近相机的位置完成分析,减少高码率视频回传和远端计算引入的网络依赖。模型部署时需要保持输入尺寸、归一化、量化参数、坐标映射、置信度阈值和 NMS 策略的一致性;这些环节任一发生偏差,都会让训练或开发环境中的结果无法直接迁移到目标设备。
因此,模型版本不应只有权重文件这一种标识。对于生产维护,模型、转换工具、BM1684X SDK、阈值配置和预处理参数应作为同一部署单元管理。这样,当某类缺陷的检测表现发生变化时,团队可以追溯是数据分布、模型版本还是设备端运行参数导致的差异。
控制面与数据面:让检测结果可查询、可管理
独角鲸PCB的控制面由 Flask Web 服务和前端仪表板构成,提供检测任务控制、用户与角色权限、参数配置、历史查询和系统监控。数据面使用 SQLite 保存本地检测结果和统计数据,适合单设备或轻量化边缘部署。检测参数、模型配置和 RTSP 地址可动态调整,使运行时设置不必直接修改代码。
一条检测结果不应只是一张带框图片。为支持追溯和分析,结果记录需要关联任务、时间、来源流、缺陷类型、置信度、位置和结果文件;模型版本与运行配置也应进入记录上下文。基于这些信息,质检人员可以按时间或类型筛选历史记录,运维人员可以将检测表现与 CPU、内存、磁盘和流状态结合分析。
系统提供 PDF 或 Excel 报告导出能力,使检测事件能够进入质量文档流程。对于需要多产线集中管理的环境,SQLite 可以作为边缘侧本地存储,而图片、报告和业务数据可进一步接入集中式文件服务、对象存储或服务化数据库;这一扩展不应改变实时检测链路本身。
已确认的运行指标与验证边界
独角鲸PCB已完成批量图像检测、RTSP 实时流检测、任务控制、历史查询和资源监控等核心流程验证。实时检测链路达到 22 FPS 以上,端到端时延约为 30 ms;对划痕、缺损、污渍和气泡等常见 PCB 缺陷的识别准确率达到 95% 以上。
这些指标反映的是系统从视频输入到检测结果输出的综合能力,而不只是模型的单次推理速度。对于后续版本,仍应按缺陷类型统计精确率、召回率和误报,并分别记录取流、解码、推理和结果呈现的耗时分布。这样才能定位性能变化来自模型、视频链路还是设备资源,而不是把所有问题归入“识别准确率”。
部署、安全与运行边界
系统运行在 Python 3.8+ 环境,依赖 Flask、OpenCV、NumPy、Pillow 和 Sophon BM1684X SDK;Linux 是目标部署环境,Windows 可用于开发。Web 管理端、RESTful API 与 RTSP 服务分别通过本地端口提供访问,Docker 和 Shell 脚本可用于组织启动过程。
生产部署时,应将服务地址、数据库路径、模型路径、RTSP 地址、阈值和日志级别放入可管理的配置;流处理进程需要具备重连、异常记录和磁盘容量监控能力。默认管理员账户不能直接用于生产,应在首次部署时替换密码,并通过角色权限、网络隔离或反向代理限制控制台与流媒体服务的访问范围。
结语
独角鲸PCB的系统设计并非把 YOLO、RTSP 和 Web 页面简单拼接,而是通过离线与在线任务分流、流媒体与推理解耦、边缘加速、结构化结果记录和运行时控制,建立完整的视觉检测控制面。
对于需要把 AI 检测纳入质量管理系统的团队,关键不只是选择检测模型,更要明确实时数据链、部署单元、配置边界和结果数据如何持续运行。独角鲸PCB提供的架构,正是围绕这些 IT 系统问题组织检测能力。