把视觉算法 做成稳定运行的 工业检测系统

聚焦工业外观缺陷检测、尺寸测量与产线自动化升级,覆盖玻璃、新材料、医疗管材、汽车零部件、电子半导体等多类制造场景。 通过工业相机、光学成像、AI 推理、传统视觉复核、PLC 联动和数据追溯,构建从缺陷识别到现场执行的完整质量检测闭环。

01 / Industry Opportunity

行业需求

工业外观缺陷检测的价值不仅在于替代人工,更在于把质量判断转化为稳定、可追溯、可复盘的数据系统。产品价值越高、产线节拍越快、质量一致性要求越严格,越需要通过视觉系统实现在线检测和过程追溯。

哪些行业最需要工业外观缺陷检测

判断一个行业是否强烈需要工业外观缺陷检测,核心看五个因素:产品价值是否高、产线节拍是否快、缺陷是否细小且难以人工稳定判断、漏检是否会造成安全或批量索赔、检测数据是否能反向支撑工艺优化。满足因素越多,视觉检测的刚需越强。

第一梯队:强刚需 半导体、锂电、光伏、汽车关键零部件、3C 精密制造。缺陷一旦漏检,通常会影响安全、良率、可靠性或客户验收。
第二梯队:高需求 玻璃面板、金属箔材、包装印刷、医药医疗、食品饮料。检测目标明确,产线连续性强,人工检测稳定性不足。
第三梯队:规模化需求 纺织无纺布、薄膜卷材、物流仓储、一般装配制造。单件价值不一定最高,但产量大、速度快,适合用视觉降低人工和返工成本。
Strong Demand

强刚需行业

刚需 01

半导体与电子元器件

检测对象:晶圆、芯片封装、电感电容、PCB/FPC、焊盘、连接器。

核心痛点:缺陷尺寸小、形态复杂、批量价值高,人工难以稳定识别微裂纹、残镀、污染、划伤、贴装偏移。

项目机会:多工位高倍率成像、AI 分类、尺寸测量、缺陷追溯和 MES 数据对接。

刚需 02

新能源锂电

检测对象:极片、隔膜、极耳、焊印、铝壳、蓝膜、盖板、PACK 结构件。

核心痛点:针孔、露箔、暗斑、划伤、毛刺、焊接异常可能影响安全,漏检成本远高于检测成本。

项目机会:高速线扫、明暗场组合、缺陷分级、过杀率控制、与分选/剔除机构联动。

刚需 03

光伏与硅片组件

检测对象:硅片、电池片、焊带、玻璃、背板、组件外观和 EL 图像。

核心痛点:隐裂、崩边、脏污、虚焊、色差会影响发电效率和长期可靠性,客户验收标准严格。

项目机会:EL/可见光融合检测、裂纹识别、尺寸定位、组件全流程质量追踪。

刚需 04

汽车与关键零部件

检测对象:冲压件、铸件、焊缝、轮毂、连接器、密封件、内外饰件、车载玻璃。

核心痛点:汽车供应链追责严格,外观缺陷、装配缺失、焊接异常和尺寸偏差会引发批量退货。

项目机会:机器人引导、3D 测量、焊缝检测、装配完整性确认和质量数据追溯。

刚需 05

3C 消费电子

检测对象:手机盖板、屏幕、摄像头模组、外壳、按键、FPC、精密结构件。

核心痛点:产品更新快、外观标准严、缺陷细微且种类多,人工检测一致性难以保证。

项目机会:多品种快速换型、微小划伤/脏污检测、装配偏移检测和外观等级判定。

High Demand

高需求行业

高需 01

玻璃与家电面板

检测对象:家电玻璃、丝印面板、触控玻璃、装饰玻璃、曲面玻璃。

核心痛点:反光强、透明材质成像难,丝印暗点、漏印、白边、划伤、崩边、气泡容易影响客户感知。

项目机会:明暗场光源、线扫检测、边缘定位、丝印差异检测和缺陷尺寸量化。

高需 02

金属板带与箔材

检测对象:铝箔、铜箔、钢带、铝板、铜带、不锈钢板、涂层材料。

核心痛点:卷材速度快、幅宽大、缺陷连续出现会造成整卷降级或报废,人工无法长时间稳定覆盖。

项目机会:高速线扫、多相机拼接、缺陷地图、卷材米数定位、针孔/辊印/油斑分类。

高需 03

包装印刷与标签

检测对象:彩盒、标签、软包装、瓶贴、喷码、条码、二维码、封口。

核心痛点:漏印、错印、色差、喷码缺失、标签偏移会直接影响发货和品牌合规。

项目机会:OCR/OCV、条码校验、颜色检测、印刷套准、封口完整性检测。

高需 04

医药与医疗器械

检测对象:药瓶、胶囊、针管、试剂管、医疗耗材、铝塑包装、标签。

核心痛点:洁净度、异物、封装完整性和标签准确性直接关系合规与安全,追溯要求高。

项目机会:异物检测、封口检测、标签 OCR、批号追溯、洁净生产线在线检测。

高需 05

食品饮料

检测对象:瓶口、瓶身、罐体、瓶盖、标签、液位、包装袋、日期喷码。

核心痛点:异物、封盖不良、液位异常、标签错贴和喷码缺失会影响安全、合规和发货。

项目机会:高速在线检测、360 度瓶身检测、液位判断、喷码识别和剔除联动。

Scale Demand

规模化需求行业

规模 01

纺织、无纺布与薄膜

检测对象:布匹、无纺布、隔膜、保护膜、光学膜、涂布膜材。

核心痛点:幅宽大、连续生产、缺陷位置分散,断线、孔洞、油污、色差、晶点会影响下游使用。

项目机会:卷材表面检测、缺陷坐标记录、等级分选、复卷定位和质量报表。

规模 02

一般装配与物流仓储

检测对象:装配件、包装箱、托盘、零件有无、方向、码垛状态、条码与字符。

核心痛点:缺件、错装、混料、条码不可读会影响出库、追溯和生产节拍。

项目机会:有无检测、装配防错、读码追溯、分拣识别和自动化设备状态确认。

02 / Growth Strategy

发展判断

发展判断需要分为两个维度:一是工业视觉检测行业本身是否具备长期增长空间,二是公司如何把现有项目经验转化为可复制、可交付、可盈利的业务能力。行业趋势决定方向,公司标准化能力决定收益质量。

行业发展 01

智能制造和质量升级持续推动视觉检测需求

公开行业研究显示,中国工业机器视觉市场已从 2020 年约 80 亿元增长到 2024 年约 268 亿元,预计 2029 年有望超过 600 亿元。制造业从人工抽检、离线检测向在线检测、全检追溯和智能工厂升级,外观缺陷检测是其中较容易形成落地价值的场景。

行业发展 02

政策方向支持智能检测装备和机器视觉质检应用

智能制造、智能检测装备、工业互联网和智能工厂相关政策,持续鼓励机器视觉算法、图像处理软件、缺陷检测设备、远程运维和质量数据分析能力建设。智能检测装备行动计划提出推进核心部件、专用软件、示范应用和重点行业规模化落地,行业具备政策和产业升级双重支撑。

行业发展 03

AI、3D 视觉和多传感融合正在提高行业天花板

传统视觉适合规则明确、边界清晰的检测任务,AI 视觉适合复杂纹理和非规则缺陷,3D 视觉适合高度、曲率、形变和装配测量。多技术融合会让视觉检测从单点缺陷识别,逐步扩展到质量分析和产线决策。

公司发展 01

公司方向与行业需求匹配,但不能长期依赖单个定制项目

公司已覆盖玻璃、板材、管材、3D 测量、AI 推理和工业集成等项目方向,说明业务切入点与市场需求匹配。后续竞争力不应只依赖单个项目攻关,而要沉淀行业模板、标准模块和可复用软件平台。

公司发展 02

项目收益取决于报价边界、复用比例和实施管控

硬件选型、软件开发、现场实施、差旅、返工和售后如果全部合并到单一设备价格中,容易造成投入不可见、边界不清晰、收益难评估。公司需要把评估、设计、硬件、软件、实施和维护拆成可管理的交付单元。

公司发展 03

规模化企业的核心不是少做定制,而是把定制做成标准组合

成熟企业通常将相机、光源、结构、电气沉淀为配置包,将算法和软件沉淀为平台,将行业经验沉淀为模板,将现场实施沉淀为 SOP,再通过复制交付、换型升级、工位增购和年度服务提升长期收益。

03 / Core Pain Points

行业痛点

工业外观检测的共性矛盾是:成像与工况在变、缺陷长尾且样本稀缺、误检与漏检直接对应过杀成本与质量风险;同时验收往往依赖人工经验、系统又与 MES/追溯割裂。难点不在“能不能检出一次”,而在能否稳定复现、口径一致、节拍可撑产线、换型可维护。下面按交付链路拆开最常见的返工与拖期来源。

成像与工况漂移:同一缺陷“有时看得见、有时不像缺陷”

反光、透明、曲面与纹理材质对光照极敏感;光源衰减、镜头污染、来料与治具微漂移、换型换批都会改变灰度与对比度,导致阈值与模型输出漂移,现场沦为“追着图像调参”。

  • 对策:光学与成像基线验收(含最差工况样件)、定期点检与漂移监控,算法与阈值绑定可复现的成像条件。

缺陷长尾与小样本:罕见缺陷难学、边界样本争议大

产线上多品类、多 SKU、小批量换型频繁;致命缺陷出现次数少、形态多变,监督学习容易过拟合或泛化不足。过严则过杀浪费,过松则漏检;二者往往同时被客户质疑。

  • 对策:缺陷字典与分级抽样策略、难例与边界样本库、灰区规则与人机协同;指标上同时盯漏检、过杀与节拍,避免单点阈值博弈。

标准与验收口径:人检与机检不一致,签字难、复盘难

缺陷命名混乱、OK/NG 边界不清、等级与客户感知不一致时,现场会不断改阈值却无法解释“为什么昨 OK 今 NG”。缺少书面口径则售后争议与验收循环消耗巨大。

  • 对策:缺陷标准确认表 + 缺陷字典中心 + 可量化指标体系(含抽检一致性),验收前冻结版本并固化 golden 样本集。

节拍与系统稳定性:算得动但产线扛不住

全检或高分辨率下图像吞吐大;瓶颈常在解码排队、写盘写库、推理资源争抢、网络抖动与掉线重连。偶发卡顿与重启会被放大为“漏检一次=整批风险”,直接影响 OEE。

  • 对策:端到端延时与队列水位监控、告警与降级(降分辨率/跳帧策略须书面约定)、环境与驱动版本基线化管理。

集成与数据孤岛:检出结果落不进工艺与追溯

视觉站与 MES、批次、工站、剔除口联动差时,报表与追溯字段不完整;模型与阈值版本若未与工单绑定,事后无法回答“当时按哪版规则判的”。数据散在 IPC 与 Excel 里,难以持续优化。

  • 对策:统一结果与追溯字段(SN/批号/工站/时间/版本/剔除码)、接口与字典对齐,建立从上线到回灌的闭环数据路径。

动作与对位:图像判对,打标/剔除仍错位

PLC 点位、节拍窗口、延时补偿与速度变化不同步时,剔除与标识偏移会被误认为“检错”。机械回差、触发沿与通信抖动也会吃掉算法裕量。

  • 对策:点位表 + 时序图 + 动作窗口实测记录,与高/低速工况一并验收;与电气/机构联合签字闭环。

04 / Solution Logic

解决方案

视觉检测系统由成像、采集、算法、规则、通讯、执行和追溯共同构成。不同客户产线会带来结构、相机、光源、触发和剔除方式的差异,但底层能力、调试方法、验收标准和项目管理方式需要保持一致。

ST

业务能力摘要

能力范围覆盖工业视觉检测设备、缺陷检测、尺寸测量、定位识别、OCR、读码、颜色识别和产线自动检测升级改造。当前项目中沉淀的玻璃、板材、管材、3D 测量、AI 推理和工业集成能力,可支撑从样品验证到产线交付的完整视觉检测方案。

产品方向

玻璃外观缺陷在线检测设备

玻璃外观缺陷在线检测设备强调多光路、多维检测光学技术、AI 大模型/细分模型、自定义缺陷标准、多参数筛选、实时检测、缺陷图表分析和产线集成。

技术服务

缺陷检测、尺寸测量、定位识别

技术能力覆盖基于高分辨率工业相机、先进光学方案、自动化控制平台、传统视觉与 AI 算法的表面缺陷检测,以及 2D/3D 尺寸测量、机器人定位引导、OCR 和读码。

方案沉淀

100+ 细分场景案例和成熟方案

样本方案库和细分行业解决方案可与样本库、行业模板、标准模块和可复制交付体系结合,作为后续产品化建设的重要支撑。

服务体系

一站式解决方案与售后支持

服务内容包含标准检测设备、非标自动化检测设备、视觉检测软件定制、产线自动检测升级改造、热线服务、远程技术支持和客户现场服务。

CM

综合能力矩阵:从业务场景到工程交付

公司视觉检测能力由业务场景、项目经验、技术平台和交付体系共同构成。业务场景明确服务范围,项目经验沉淀行业方法,技术平台支撑检测闭环,交付体系保障方案在产线稳定运行。

业务能力

玻璃外观缺陷在线检测、尺寸测量、定位识别、OCR、读码、颜色识别

覆盖标准检测设备、非标自动化检测设备、视觉检测软件定制和产线自动检测升级改造,可面向不同制造场景提供检测与测量方案。

项目案例支撑

玻璃、板材、铜材、医疗管材、投影/曲率、3D 测量、液冷散热等方向

围绕玻璃、新材料、汽车、医疗、电子、半导体等行业形成场景积累,便于针对不同产品形态和质量标准快速组织方案。

代码技术证据

ONNXRuntime GPU、OpenCVSharp、HALCON、相机 SDK、PLC 通讯、MySQL、Topshelf 守护

支撑图像采集、模型推理、规则复核、结果判定、PLC 联动、数据保存、质量追溯和异常恢复等关键环节。

交付管理能力

项目流程、实施日报、问题跟踪、成像确认、PLC 点位确认、出厂测试和现场验收

通过项目流程、实施记录、问题跟踪、出厂测试和现场验收,把检测方案转化为可实施、可验收、可维护的产线系统。

一句话理解

让缺陷被稳定看到、被准确判断、被现场执行、被长期追溯。

相机和光源解决“看得见”;算法和规则解决“判得准”;PLC 和 IO 解决“能动作”;数据库和图片解决“查得回”;守护服务和日志解决“跑得稳”。

最小闭环

任何关键环节缺失,都会影响系统交付质量。

模型效果依赖稳定成像,产线动作依赖 PLC 时序,客户复盘依赖数据追溯,现场连续运行依赖守护服务和日志。系统交付需要从单点算法能力扩展到完整工程闭环。

1. 产品进入设备

传感器或 PLC 告诉软件:有产品来了。系统记录产品编号、批次、当前工位状态。

2. 相机按节拍拍图

相机在正确时刻采集明场、暗场或线扫图像。光源、镜头、曝光决定缺陷是否清楚。

3. 软件组织图像

多相机、多帧图像被合并成一块产品的数据,进入算法队列,避免采集和推理互相阻塞。

4. AI 定位候选缺陷

大模型定位疑似缺陷区域,小模型对候选区域进行复核分类。

5. 传统视觉复核

OpenCV/HALCON 把缺陷变成面积、长度、宽度、边界距离等可解释数值。

6. 参数判断 OK/NG

系统根据客户标准、缺陷阈值、置信度、位置和优先级做最终判定。

7. PLC 执行动作

NG 结果触发报警、打标、喷墨、剔除或其他后道动作。

8. 数据保存追溯

缺陷图片、坐标、类型、相机号、置信度和批次写入数据库,后续可复盘。

看网站前先认识这些词

明场让表面整体明亮,适合看露底、亮点、污渍、颜色差异等。
暗场用低角度或特殊光路突出划伤、压痕、边缘反光等微弱缺陷。
线扫产品运动时一行一行拼成图,适合长条或大幅面产品。
面阵一次拍一张二维图,适合固定区域或工位拍照。
大模型先在大图或切片上定位候选缺陷区域,解决缺陷位置问题。
小模型对候选缺陷小图做复核分类,解决缺陷类别问题。
后处理用二值化、轮廓、边界、距离变换等规则把缺陷变成可解释数值。
PLC产线电控大脑,负责传感器、运动、报警、打标、剔除等现场动作。
阈值客户标准在软件里的表达,例如最小面积、最小长度、置信度、优先级。
追溯把检测结果、图片、坐标、批次和参数保存下来,后续能查证。

常见认知偏差

认知偏差 1:将视觉检测等同于 AI 模型训练

实际项目里,模型只是其中一环。稳定成像、触发同步、阈值标准、PLC 闭环和追溯体系共同决定项目是否具备交付条件。

认知偏差 2:将误检漏检完全归因于置信度设置

置信度调整只是参数优化的一部分。合理顺序是先检查原图,再检查光源和样本,再检查模型候选、后处理和区域过滤,最后再调整阈值。

认知偏差 3:将现场异常单一归因于软件问题

现场异常可能来自相机掉线、光源衰减、镜头脏污、产品偏移、PLC 时序、磁盘写入、数据库连接或 GPU 环境。排查需要按层级进行。

认知偏差 4:业务沟通只关注效果图

业务人员需要理解能力边界:最小缺陷是否可稳定成像、客户标准是否明确、样本是否覆盖、现场是否需要打标、剔除和追溯。

05 / Project Case Library

项目案例

本节汇集已沉淀的检测项目目录与典型缺陷类型、判定说明,便于对外展示能力与对内统一缺陷口径;标准交付模板与验收证据链在「项目流程」一节中给出。

公司案例方向与检测项目沉淀的对应关系

公司行业案例覆盖玻璃、新材料、汽车制造、医疗耗材、电子、半导体、液冷散热等方向。当前代码和项目目录中已有玻璃丝印、玻璃深加工、板材、铜材、医疗管材、投影/曲率、3D 测量和工业通讯能力,可与公司案例方向形成统一展示。

玻璃行业汽车玻璃、家电玻璃、建筑/大尺寸玻璃

对应当前玻璃丝印检测、玻璃缺陷分析、明暗场检测、崩边/划伤/气泡/亮点分析等能力。

新材料行业铜铝复合带、碳纤维板材、镜面膜

对应板材外观检测、铜材检测、膜材表面缺陷识别和线扫/明暗场方案沉淀。

汽车制造刹车盘段差、孔距、槽宽和汽车玻璃丝印

对应 3D 测量、曲率检测、几何量测、视觉定位和产线集成能力。

医疗耗材医疗导管表面缺陷与尺寸测量

对应医疗管材检测、多工位采集、串口通讯、缺陷过滤和过程数据保存能力。

电子 / 半导体光纤外观、微米级检测、精密部件外观

对应高分辨率成像、AI 分类、传统视觉复核、尺寸量化和缺陷追溯。

液冷散热铲齿散热器、服务器散热片灰尘检测

对应多角度成像、异物/灰尘检测、尺寸及数量统计、报警和数据记录。

TensorRT 光检

光检机程序 TensorRT

在 ONNXRuntime GPU 基础上引入 TensorRT 思路,强调固定 batch、engine cache、GPU 预热和推理耗时统计,适合高节拍光学检测。

板材外观

碳纤维板材外观检测设备

覆盖暗线、白点、分层、崩边、倒角坏、孔坏、毛边、色差、污渍、皱纹等复合材料表面缺陷。

铜材检测

铜材检测项目

复用玻璃检测主框架,包含相机采集、缺陷列表、报警策略、PLC 状态控制、数据库记录和参数配置。

医疗管材

医疗管材检测项目

面向管材外观质量控制,具备多工位采集、串口通讯、缺陷过滤和过程数据保存能力。

投影 / 曲率

投影设备检测系统

包含投影检测、玻璃曲率智能检测、海康相机 SDK、伺服 SDK、信捷 PLC 示例、Modbus 文档和 Halcon/OpenCV 示例。

玻璃深加工

玻璃深加工检测项目

包含玻璃缺陷分析软件、明暗场检测、崩边/划伤/气泡/亮点分析、3D 视觉调试、DALSA/海康/度申相机接入、报表导出和参数管理。

设备底座

相机、串口、PLC 与守护服务

沉淀了相机触发、图像采集、串口 IO、S7/Modbus、UDP 心跳和进程自动拉起等设备层能力。

HALCON / 传统视觉

印刷与投影检测脚本

投影设备检测系统中包含 HALCON 变化模型、形状匹配、仿射对齐、ROI 和统计异常检测,适合解释传统视觉与 AI 的组合路线。

3D / 曲率

3D 智能光检与曲率测量

包含 3D 部署程序、玻璃曲率智能检测和基于参考点的倾斜平面修正,展示从表面缺陷到几何形貌测量的扩展能力。

缺陷类型与判定示例

下列卡片说明缺陷形态、成像特征、模型角色、后处理方式和判定指标,可与上方项目目录对照理解。

丝印区暗点

深色污染、局部发暗、油墨异常

常见于丝印区域墨层异常、脏污或暗色杂质。模型先定位疑似暗点,后处理再对裁剪图执行反向二值化,统计暗色区域有效面积。

模型角色
候选定位 + 暗点分类
判定指标
暗色面积、置信度、所在区域
丝印区亮点

露底、亮点、针孔类异常

常见于油墨覆盖不足、针孔、局部露底。使用 Otsu 自动阈值提取亮色区域,按白色像素数量量化,比单纯使用外接框面积更接近真实缺陷。

后处理
亮区二值化、有效像素统计
过滤
候选框、分类置信度、面积阈值
划伤

细长线状缺陷

划伤通常呈细长线状,外接框面积难以准确反映严重程度。系统按缺陷框斜边、轮廓长边或长度类指标计算缺陷值。

判定指标
长度、宽度、方向、置信度
适用对象
玻璃划伤、暗线、压痕
崩边 / 白边

边缘破损、边缘缺墨、白边异常

边缘类缺陷必须结合玻璃真实边界判断。系统通过边界 mask、轮廓、凸包和边缘交点估算缺陷宽度或面积,避免玻璃外背景干扰。

后处理
边界分割、轮廓合并、凸包分析
核心问题
缺陷是否属于有效玻璃区域
漏印 / 锯齿

丝印图案缺失、边缘毛刺

漏印属于缺失类问题,锯齿属于边缘形态问题。除 AI 标签外,丝印标准图对比、距离变换和局部基线可以帮助解释多印/缺印原因。

专项逻辑
Extra 多余 / Missing 缺失
输出
坐标、截图、面积、缺陷类别
水渍 / 污渍 / 异物

面状低对比度异常

这类缺陷形态不固定、对比度低,容易与背景纹理混淆。适合使用 AI 提取候选,再通过面积、区域和置信度联合过滤误报。

判定指标
面积、置信度、优先级
调试重点
光源稳定性、背景纹理、阈值
碳纤维板材缺陷

暗线、白点、分层、色差、皱纹

复合材料纹理复杂,缺陷与正常纹理相近。系统将缺陷细分为暗线、白点、崩边、分层、色差、污渍、皱纹等,便于针对不同质量标准设置独立阈值。

训练重点
纹理背景、缺陷边界、样本均衡
策略
按缺陷类型独立阈值
玻璃气泡 / 亮点

明暗场下的点状、气泡、亮点异常

玻璃深加工检测项目中沉淀了灰度、面积、尺寸范围等检出参数,可用于说明传统视觉如何对点状缺陷做可解释判定。

指标
灰度、面积、长短径、周长
场景
玻璃深加工 / 明暗场
印刷变化检测

参考图对齐后的差异异常

HALCON 线使用形状匹配、仿射对齐和变化模型,适合规则印刷件、投影件、标准图对比类场景。

方法
模板匹配 + ROI + 变化模型
价值
强解释性、适合标准件
曲率 / 3D 测量

从二维缺陷到三维形貌

曲率检测项目通过参考点修正倾斜平面并计算 Z 值变化,说明团队具备几何测量和 3D 光检扩展能力。

指标
Z 值、平面修正、曲率趋势
场景
曲面玻璃 / 3D 光检
结果追溯

图像、坐标、类别、置信度入库

每块产品保存缺陷列表、坐标、尺寸、相机编号、图片文件名和置信度,支持后续复盘和质量分析。

数据
MySQL / 图片目录
联动
报警、打标、PLC 写入

06 / Project Process

项目流程

现场产线存在差异,但项目流程应保持一致。每个阶段都要明确输入、输出、责任人和验收物,减少临时决策、重复返工和交付延期。

01

售前评估

收集产品图、缺陷标准、节拍、安装空间、剔除方式、PLC 条件和客户验收口径,判断是否具备视觉检测可行性。

输出:《需求评估表》《样品/缺陷清单》
02

成像打样

用候选相机、镜头、光源组合做试拍,验证缺陷是否能稳定成像,优先解决“看得见”再进入算法。

输出:《成像方案确认表》《OK/NG 样张》
03

方案设计

确定相机数量、视野、精度、光源角度、结构安装、电气接口、节拍预算、数据保存和现场动作。

输出:《技术方案》《硬件 BOM》《PLC 点位草案》
04

开发与训练

建立项目配置、采图流程、标注规则、模型训练、缺陷判定、数据库字段、UI 展示和日志输出。

输出:《模型版本》《参数版本》《缺陷字典》
05

出厂测试

在公司内部完成采图、推理、PLC 模拟、保存、报警、连续运行和异常恢复测试,减少现场返工。

输出:《FAT 出厂测试记录》《问题关闭表》
06

现场实施

按安装、电气、通讯、成像、算法、节拍、连续跑线、客户验收顺序推进,不允许跳步验收。

输出:《实施日报》《SAT 现场验收记录》
07

验收交接

确认漏检、误检、节拍、保存、追溯、报警、剔除和操作培训,锁定软件、模型、参数和备份。

输出:《验收报告》《交付包》《运维手册》
08

售后与复盘

将现场问题、误检漏检样本、参数变更和客户新增需求纳入复盘,沉淀为下一套项目的标准资产。

输出:《项目复盘》《样本库更新》《版本变更记录》

从项目制走向产品化,需要把报价和交付拆开

前期评估费看样、试拍、可行性验证和风险判断,建议作为独立阶段进行投入评估。
方案设计费结构方案、相机光源选型、节拍评估、检测精度评估、PLC 接口方案。
设备硬件费相机、镜头、光源、工控机、机架、电气、传感器、安装件和质保成本。
软件算法费平台授权、项目配置、模型训练、缺陷判定逻辑、数据库、报表和日志。
现场实施费安装、调试、联调、验收、差旅,按阶段、天数和交付物进行边界管理。
售后维护费换型、增加缺陷、模型重训、远程诊断、年度维护和质保期外服务。

标准交付模板与证据链

现场推进与验收需要统一交付物作为进度与边界依据。下列清单可作为项目进度、验收边界、责任划分与变更管理的模板,减少口头扯皮与重复返工。

《成像方案确认表》相机/镜头/光源型号、角度、距离、曝光/增益/频闪参数、遮光结构、标准 OK/NG 样张、最小缺陷可见性结论。任何算法讨论之前必须先完成这一表。
《缺陷标准确认表》缺陷名称、定义边界、等级/优先级、OK/NG 口径、边界样本包、误检/漏检容忍边界与验收数据统计方式,避免“现场临时口径变化”。
《PLC 点位表》触发、心跳、互锁、复位、NG 输出、报警灯、打标/剔除、手自动切换的地址、方向、类型与时序要求。作为软件与电气联调的唯一基线。
《时序图》传感器 → 触发 → 采图 → 推理 → 输出 → 动作 → 复位的先后关系,包含延时、脉宽、PLC 扫描周期、推理耗时上限与节拍预算。
《FAT 出厂测试记录》相机采图/断线重连、PLC 模拟、写盘与写库、报警与动作、连续运行、异常恢复与备份恢复。FAT 通过后才允许去现场。
《SAT 现场验收记录》成像复核、节拍/连续跑线、误检漏检统计、动作对位验证、追溯查询、参数/模型/版本锁定、培训交接。SAT 输出必须可复盘。
《变更单》新增缺陷/换型/提速/增相机/改结构/改动作必须走变更:影响范围、交付周期、验收口径、费用边界与版本记录,避免无限扩展。
《交付包清单》安装包、驱动与 SDK、模型与标签字典、参数与配置、数据库脚本、运维手册、备份镜像、点位表、时序图、测试样本包与版本变更记录。
对外可解释

把“效果”转为可验收的证据链

  • 缺陷必须有:原图、缺陷框、裁剪图、尺寸/缺陷值、判定原因。
  • 精度必须有:像素密度、标定系数版本、中心/边缘误差口径。
  • 节拍必须有:单张推理耗时、队列深度、峰值时的保护策略。
对内可管控

项目进度以交付物为准

  • 成像未确认,不进入模型讨论;点位未确认,不进入动作联调。
  • 没有 FAT 记录,不允许现场试错式调参。
  • 新增需求先出变更单,再进入开发排期。
对后续可复用

每个项目都要留下可复制资产

  • 样张包、样本包、缺陷字典、阈值版本、模型版本。
  • 光学方案记录、结构基准与安装照片、时序图。
  • 问题关闭表与复盘结论,进入下一项目模板库。

07 / Acceptance Metrics

指标体系

指标体系把“能不能用、能不能验收、能不能长期稳定运行”转成可量化口径,并与硬件标准化选型、光学电气验收合并呈现:指标侧回答“验什么”,硬件侧回答“靠什么稳定成像与动作”。指标须覆盖质量(误检/漏检)、效率(节拍/吞吐)、稳定性(掉线/恢复)、追溯(证据完整)与现场动作(PLC/打标/剔除)。

质量指标检出率/漏检率/过杀率按缺陷类型统计;必须区分“硬性 NG 缺陷”和“提示类缺陷”;边界样本单独统计,避免用平均值掩盖风险。
节拍指标单件总耗时 = 采集 + 预处理 + 推理 + 后处理 + 合并 + 写盘/写库;需记录 P50/P95 与队列峰值,并给出“最大可支持产线速度”。
稳定性指标相机掉线重连成功率、PLC 心跳稳定率、程序自动恢复时间、连续运行时长、磁盘满/写慢告警提前量;明确“无人值守可恢复”边界。
追溯完整率工件 ID → 图片 → 缺陷列表 → 版本号(程序/模型/字典/阈值)→ PLC 动作记录必须闭环可查;追溯缺失率必须可统计并可定位原因。

验收统计口径(必须写入验收文档)

  • OK/NG 定义:以客户缺陷标准为准,所有“策略降级/阈值临时修改”必须显式记录。
  • 误检/漏检样本集:样本来源、数量、批次、光学条件、速度必须可复现。
  • 统计周期:按班/日/批次,输出按缺陷类型、相机编号、产品型号的分布。
  • 验收边界:哪些缺陷属于“提示不 NG”、哪些属于“必须 NG”,必须写清。

常用阈值(把工程经验固化为门槛)

  • 节拍:推理/后处理超时阈值、队列深度阈值、磁盘写入速度阈值。
  • 稳定:相机丢帧率阈值、掉线次数阈值、数据库失败率阈值。
  • 追溯:图片保存失败率、写库失败率、版本号缺失率。
  • 动作:PLC 写入失败率、动作延时偏差阈值(与速度补偿相关)。

对交付的作用

  • 把“感觉差不多”变成“可签字指标”,降低反复扯皮。
  • 把现场问题归类到质量/节拍/稳定/追溯/动作,不再混为一谈。
  • 把改动纳入版本治理:每次上线必须提交指标前后对比。

硬件标准化与模组选型

每家客户产线的空间、节拍、产品姿态和 PLC 条件都不同,硬件无法完全统一。真正要标准化的是选型方法、结构模块、接线规范、调试流程、验收表、备件体系和风险边界。

现场变化项 产品尺寸、安装空间、相机距离、光源角度、传送速度、PLC 地址、剔除动作、样本分布。
公司统一项 选型计算、结构接口、相机 SDK 封装、光源控制、线缆规范、配置模板、验收清单、备件清单。
H01

面阵检测模组

适合固定工位、局部区域、尺寸较小或节拍可控的产品,重点标准化视野、分辨率、工作距离和触发时序。

H02

线扫检测模组

适合玻璃、板材、卷材、长条产品,重点标准化编码器、行频、拼接、幅宽覆盖和缺陷地图。

H03

多角度打光模组

适合划伤、凹坑、崩边、透明反光材质,重点沉淀明场、暗场、背光、同轴、低角度光组合。

H04

封闭光箱模组

适合环境光干扰大、反光强或检测标准严的场景,重点控制遮光、防尘、维护开口和调节机构。

H05

3D / 曲率检测模组

适合高度、曲率、凹凸、平整度等二维图像难判断的场景,重点标准化标定、参考面和点云处理。

H06

PLC / IO 通讯模组

适合报警、打标、剔除、扫码、传感器和运动控制,重点统一点位表、心跳、异常状态和联调记录。

H07

工控机 / GPU 推理模组

适合 AI 模型推理和多相机任务,重点统一显卡、驱动、CUDA、ONNXRuntime、TensorRT 和备份镜像。

H08

打标 / 剔除 / 报警模组

适合 NG 结果闭环,重点标准化动作延时、位置补偿、误动作保护、手自动切换和异常恢复。

光学验证方法(让缺陷“可见且可复现”)

光学验证不是主观“看起来清楚”,而是对分辨率、畸变、重复性与漂移做可量化验收。建议把验证结果作为交付包附件,后续任何现场异常先对照这份基线。

MTF / 分辨率验证用分辨率板/USAF/标准线对比图验证系统分辨能力;结合像素当量(mm/px)确认“最小可检缺陷尺寸”与边界;不同相机位需分别记录。
畸变与标定方法用棋盘格/圆点板做畸变校正与标定,输出标定误差(如重投影误差)与有效视野范围;需要尺寸测量时必须有标定版本与校准周期。
重复定位 / 漂移验证同一标准件重复拍摄(建议 ≥30 次)统计坐标/尺寸抖动;高节拍线扫需验证编码器同步下的拼接漂移;明确允许的漂移上限与报警策略。
光源衰减与更换周期记录光源电流/亮度/曝光与灰度基线,建立衰减曲线与更换周期;关键工位建议每班/每周做“OK 样张一致性”抽检,防止误检漏检长期漂移。

电气与抗干扰验收清单(把 EMC 变成可检查)

工业现场的“偶发掉帧/乱码/掉线/重启”常与接地、屏蔽和走线有关。建议把电气与 EMC 验收清单纳入 FAT/SAT,现场按表逐项签字。

接地与屏蔽

  • 单点接地策略明确:机柜、相机、光源、电机/变频器分区接地,避免多点地环路。
  • 网线/相机线/编码器线使用屏蔽线并规范接屏蔽层(两端/单端按设计),并记录接法。
  • 模拟量/弱电信号与强电走线物理隔离,必要时金属线槽分仓。

走线与隔离

  • 频闪电源、伺服、电机、变频器与相机/采集卡保持距离,交叉走线需 90°。
  • 触发/IO 信号建议光耦隔离;长距离 IO 建议差分/隔离模块,防止毛刺触发。
  • 机柜内部风扇/继电器干扰源需评估,关键线束固定与抗拉保护到位。

供电与滤波

  • 相机/光源/工控机供电分路,关键电源加 EMI 滤波与浪涌保护,标注额定余量。
  • UPS/稳压策略明确:掉电时如何安全停机、数据如何落盘、恢复后如何自动回到运行态。
  • 接线端子与线号、点位表一致,避免“现场临时飞线”成为隐患。

验收与复现

  • 用“干扰工况”验收:频闪全开、电机启停、变频器加速、焊机/大功率设备旁路等,观察掉帧/掉线/异常日志。
  • 异常必须可复现:记录当时速度、工况、触发频率、日志、相机状态与接地照片。
  • 输出交付附件:机柜接线图、线缆清单、接地示意、点位表与 FAT/SAT 记录。

08 / Implementation & Operations

实施运维

本节将现场安装联调的管控与确认项、上线后的运维与数据闭环、以及按证据分流的故障排查顺序合并在一处,便于从进场到稳定运行统一查阅。

日报机制

每天固定提交 8 项内容

  • 今日完成事项、未完成事项、阻塞原因。
  • 需要客户、机械、电气、软件或算法谁配合。
  • 明日计划、现场照片/视频、测试数据、风险等级。
问题管理

所有阻塞项进入问题跟踪表

  • 问题描述、责任人、影响范围、预计解决时间。
  • 由客户条件引起的等待事项,需要形成客户确认记录。
  • 超过 24 小时未解决的问题自动升级给项目负责人。
验收边界

验收状态以数据和记录为准

  • 相机采图、光源固定、PLC 触发、OK/NG 输出逐项确认。
  • 漏检率、误检率、节拍、连续运行时间必须有数据。
  • 新增需求进入变更流程,明确影响范围、交付周期和费用边界。
安装确认相机位置、光源角度、支架稳定性、防尘、防反光、产品经过位置,必须拍照留档。
通讯确认PLC、IO、传感器、编码器、网络、相机 IP、工控机 IP、触发和 NG 输出逐项测试。
成像确认每个相机保存标准 OK 图、典型 NG 图、曝光、增益、工作距离、视野范围和光源参数。
算法确认固定测试样本包,记录漏检、误检、节拍、缺陷尺寸、置信度、阈值版本和模型版本。
连续跑线按约定时间或数量跑线,记录 NG 数量、误检数量、漏检数量、停机原因和异常恢复结果。
交接备份交付软件包、模型、参数、数据库脚本、运维说明、恢复流程和客户签字记录。

运维与数据闭环

上线后能否长期稳定运行,取决于远程是否可判断状态、异常是否可定位、误检漏检是否回流为样本资产、指标是否可管理质量与效率。

质量指标

误检/漏检必须可统计、可复盘

按缺陷类型、产品型号、相机编号统计误检/漏检;边界样本单独统计;每次参数/模型变更必须记录前后对比与结论。

节拍指标

推理耗时与队列深度必须可见

记录采集耗时、推理耗时、后处理耗时、写盘写库耗时与队列峰值;达到阈值时触发降级策略(限保存、限截图、报警提示)。

稳定性指标

异常可恢复、可定位、可追溯

相机掉线重连、PLC 心跳、磁盘满/写慢、数据库断连、GPU 初始化失败必须有明确告警与恢复流程,保证无人值守可恢复。

追溯指标

工件 ID → 图片 → 缺陷 → 动作闭环

每个 NG 必须能查到:哪台相机、哪一帧、哪种缺陷、用的哪个模型/阈值版本、输出给 PLC 的哪一路动作,以及对应的图片与数据库记录。

远程证据规范每天/每次问题必须上传:现场照片、关键界面截图、日志片段、样本包、配置包、点位表/时序图(如涉及通讯)。远程判断以证据为准。
日志与健康检查关键链路必须输出:相机/PLC 状态、队列深度、耗时、写盘写库结果、异常堆栈与恢复动作。建议增加“健康状态页”一屏看全。
样本闭环误检/漏检样本必须归档:原图、裁剪图、复判结果、原因分类、版本号。每次训练/阈值优化都能追溯样本来源与效果变化。
版本治理程序版本、模型版本、参数版本必须绑定并可回退;现场禁止直接改配置不留记录;交付包与变更单形成可审计链路。

故障分流树

现场排查必须先分流再深入:先判断“有没有图/图像是否稳定”,再判断“模型是否召回”,再看“后处理与阈值”,最后再看“PLC 动作与追溯”。每一步都要明确必须采集的证据,避免远程沟通反复试错。

分流 1:无图 / 图像卡住

优先检查相机连接、触发信号、回调线程、队列积压、SDK DLL/驱动、网卡与相机 IP。无图时不要讨论模型与阈值。

  • 证据:相机状态截图、触发点位状态、队列深度、日志报错时间点。

分流 2:有图但成像不稳定

曝光/增益/频闪/光源衰减/镜头脏污/产品偏移会导致误检漏检。先恢复“标准 OK 图”一致性,再谈模型。

  • 证据:标准 OK/NG 样张对比、光源参数、频闪时序、安装照片。

分流 3:大模型无候选(召回不足)

优先回到样本覆盖与训练数据;再检查预处理(resize/归一化)、大模型置信度阈值与切片区域。小模型与后处理此时无意义。

  • 证据:输入切片保存、模型版本、置信度分布、边界样本包。

分流 4:有候选但类别不准(小模型/映射问题)

检查标签顺序、标签映射、裁剪大小、候选框坐标还原与小模型置信度。类别错往往不是阈值能解决的。

  • 证据:候选框截图、小模型输入裁剪图、标签字典版本。

分流 5:类别正确但 NG/OK 错(后处理/阈值)

检查 `defectValue` 计算是否符合缺陷含义(面积/长度/宽度/灰度),再看阈值版本与区域过滤。禁止无依据降低阈值。

  • 证据:缺陷值、阈值版本、区域 mask、中间图(轮廓/二值图)。

分流 6:软件 OK/NG 正确但动作不准(PLC/对位)

检查点位表、时序、延时补偿、PLC 扫描周期、通信延时与产线速度。动作问题通常不是算法问题。

  • 证据:PLC 点位表、时序图、动作窗口测试记录、速度/延时参数。

分流 7:追溯查不到 / 数据不一致

检查工件 ID 绑定、图片保存路径、写库字段、断线重连与权限;追溯问题必须按“ID→图片→缺陷→动作”逐项对齐。

  • 证据:数据库记录、图片目录、工件 ID、版本号与时间戳。

分流 8:节拍达不到 / 偶发掉帧

检查 GPU/CPU 占用、推理耗时、写盘耗时、队列峰值、网口带宽与磁盘速度;先用日志定位瓶颈,再决定是否降级策略或升级硬件。

  • 证据:耗时日志、队列深度曲线、磁盘写入速度、GPU 信息。

一条铁律

现场排查必须先保证成像稳定,再验证模型召回,再验证后处理与阈值,最后验证 PLC 动作与追溯。任何跳步都会把问题从源头转移到现场,导致反复试错与交付延期。

09 / System Architecture

系统架构

产品开发需要先理解:缺陷检测不是单一算法函数,而是一条实时数据流。每一帧图像从相机进入系统后,要经过采集同步、缓存排队、模型推理、规则复核、结果合并、产线决策和数据归档。

01

成像与触发层

负责让缺陷“可见”。包括线扫/面阵相机、明场/暗场光源、触发信号、曝光、增益、ROI、相机编号和图像保存策略。现场效果首先取决于成像质量,算法只是后续放大和判定。

  • 相机 SDK:DVP、海康 MvCamCtrl、DALSA Sapera 等。
  • 触发方式:PLC/IO 外触发、软触发、连续采集、传感器状态判断。
  • 关键风险:曝光不稳定、光源衰减、相机丢帧、产品位置漂移。
02

采集与队列层

负责把多相机、多帧图像组织成一块产品的完整检测输入。系统通过玻璃编号、frameId、camId、splitId 等信息保持图像和产品的对应关系。

  • 多相机图像合并为 `AllCamOneFrame` 类似的数据结构。
  • 算法线程从等待队列取图,避免相机采集被推理耗时阻塞。
  • 图片保存单独排队,降低磁盘 IO 抖动对检测节拍的影响。
03

AI 检测层

负责发现候选缺陷并做缺陷类别复核。大模型面向整图或切片定位缺陷区域,小模型面向裁剪后的缺陷图确认缺陷类别。

  • 大模型:固定 batch,输出候选框、置信度、类别索引。
  • 小模型:320x320 输入,缺陷裁剪后批量分类。
  • 加速:ONNXRuntime GPU、TensorRT engine 预热、固定 shape 缓存。
04

传统视觉复核层

负责把 AI 输出变成可解释的工艺指标。不同缺陷采用不同计算逻辑:点状看面积,划伤看长度,崩边看边缘宽度,丝印亮点/暗点看二值区域像素数。

  • OpenCV:阈值、轮廓、凸包、最小外接矩形、距离变换。
  • HALCON:形状匹配、仿射对齐、变化模型、ROI 统计。
  • 边界复核:判断缺陷是否真正落在玻璃或有效检测区内。
05

规则判定层

负责把候选缺陷转成 OK/NG 决策。判定依据不是单一置信度,而是置信度、最小面积、最大面积、长度、宽度、优先级、缺陷位置、产品型号和客户标准的组合规则。

  • 配置项:`min`、`max`、`conf`、`prio`、`DefectRangeName`。
  • 产品适配:按客户、机型、型号切换配置文件和检测策略。
  • 输出内容:缺陷类型、坐标、尺寸、相机编号、截图、置信度。
06

产线闭环层

负责把检测结果变成现场动作。系统将 NG 结果、缺陷位置、报警信号、打标指令、喷墨位置、设备状态写入 PLC/IO 或数据库。

  • PLC/IO:S7、Modbus、信捷 PLC、GPIO/TCP、串口。
  • 追溯:MySQL 保存产品、缺陷、截图、批次和相机信息。
  • 运维:UDP 心跳、进程守护、异常日志、自动重启。

10 / Algorithm Pipeline

算法链路

开发人员要重点区分“模型输出”和“最终判定”。模型只给候选信息,最终 NG 需要经过坐标还原、缺陷裁剪、二次分类、尺寸计算、区域复核、阈值过滤和策略合并。

A

图像预处理

不同项目会把相机原图拆分成若干检测切片。切片会 resize 到模型输入尺寸,并保留原图宽高,用于后续把模型坐标映射回原始图。

  1. 读取相机图像或一组相机帧。
  2. 按产品区域、相机位置、明暗场类型拆分切片。
  3. resize 到大模型输入尺寸,记录缩放比例。
  4. 按 batch 填充输入,保证 GPU 推理吞吐。
B

大模型候选定位

大模型在整图或切片上找到疑似缺陷框。这里更重视召回率,允许先保留更多候选,再交给小模型和规则层过滤。

  1. 执行 ONNXRuntime GPU 或 TensorRT 推理。
  2. 解析输出框:batchId、left、top、width、height、score。
  3. 按大模型置信度做第一层过滤,例如低于预设阈值不进入小模型。
  4. 把框坐标从模型尺寸映射回原图切片尺寸。
C

小模型分类复核

对每个候选框裁剪原图局部,再统一缩放到 320x320 给小模型分类。这样可以降低大模型类别混淆,也便于对细小缺陷做二次确认。

  1. 根据候选框从原始切片中裁剪缺陷图。
  2. 缺陷图进入小模型固定最大 batch。
  3. 小模型输出类别索引和分类置信度。
  4. 通过标签表映射为业务缺陷类型。
D

丝印专项差异检测

丝印缺陷不仅依赖 AI,还可以使用标准图与检测图对齐后的差异分析。Extra 表示多印、毛刺、溢墨;Missing 表示漏印、断墨、图案缺失。

  1. 标准图与检测图做定位和对齐。
  2. 对墨区、背景区或边缘带建立参考关系。
  3. 通过距离变换和局部基线判断多余/缺失。
  4. 用面积、窄边、突起阈值过滤小噪声。
E

缺陷尺寸量化

最终展示给客户或写入数据库的是业务可理解的缺陷值,而不是模型框本身。不同缺陷类型需要采用不同测量逻辑。

  1. 亮点:Otsu 二值化后统计白色像素面积。
  2. 暗点/水渍:反向二值化后统计暗色区域面积。
  3. 划伤:按外接框斜边、长边或轮廓长度计算。
  4. 崩边:结合边界轮廓、凸包、边缘交点估算宽度或面积。
F

结果合并与判定

多个相机、多个切片、多个模型来源的结果最终需要统一到同一块产品上。系统按缺陷优先级、相机位置、产品编号和阈值配置生成最终 OK/NG。

  1. 补偿相机/切片偏移,得到整图坐标。
  2. 判断缺陷属于哪一块玻璃或哪个检测区域。
  3. 按缺陷类型读取 min/max/conf/prio。
  4. 保存缺陷截图并写入数据库或 PLC 状态。

开发原则

AI 模型不应作为唯一判定依据。工业检测需要“模型召回 + 规则复核 + 参数阈值 + 现场节拍 + 数据闭环”。模型负责感知,规则负责解释,配置负责适配,PLC 和数据库负责落地。

11 / Parameter Capability

参数体系

参数设计决定系统对不同产品和客户标准的适配能力。产品开发需要先理解每个参数的业务含义、作用位置和风险边界,避免仅把 JSON 视为普通配置表。

缺陷阈值参数

缺陷阈值用于最终 OK/NG 判定,不应直接等同于模型置信度。一个缺陷通常要同时满足类型、尺寸、置信度和区域条件。

type缺陷业务类型,如 huashang、shuizi、siyin-andian
min / max缺陷值上下限,可表示面积、长度、宽度或像素当量
conf模型或复核置信度门槛,避免低可信候选进入判定
prio缺陷优先级,用于多缺陷合并、报警和显示排序
used是否启用该类缺陷,适合试产阶段按客户标准开关

模型配置参数

模型配置决定系统使用哪套模型、如何组织 batch、明暗场是否分离、标签索引如何映射到业务缺陷。

YoloOnnxPath玻璃/通用缺陷大模型路径
YoloSmallOnnxPath玻璃/通用缺陷小模型路径
ScreenYoloOnnxPath丝印专项大模型路径
SmallModelLabels小模型类别索引到业务标签的映射表
BigModelBatchSize大模型一次推理切片数量,影响吞吐和显存
SmallModelMaxBatch小模型候选缺陷复核数量,固定 shape 利于缓存

视觉测量参数

传统视觉参数用于把图像现象变成可解释数值。它们通常与像素分辨率、镜头倍率、光源方向和产品工艺强相关。

SizeFactor像素到物理尺寸的换算系数
Otsu Threshold亮点/暗点二值化时的自适应阈值
minArea过滤小噪点,避免灰尘/纹理误判
spikeThresh丝印边缘突起阈值,用于识别多印/毛刺
r / Distance缺失容忍距离,用于漏印和断墨判断
Detect Zone检测区域 mask,限制算法只在有效区域工作

产线运行参数

产线参数解决的是节拍、通讯、保存和现场动作问题。它们与检测准确率同样重要,因为工业系统最终要稳定连续运行。

runspeed产线速度,用于节拍和打标时序换算
runtime运行节拍/时序参数,影响采图和处理窗口
PLCIP现场 PLC 地址,控制启停、报警、打标等动作
savebr / savedk明场/暗场图片保存策略,平衡追溯和磁盘压力
brsaveday图片保留周期,避免长期运行磁盘爆满
UDP Heartbeat守护服务健康检查,异常时重启主程序

12 / Industrial Integration

工业集成

通过工业相机 SDK、PLC/IO、串口、数据库、守护服务、图片保存队列、明暗场模型等能力,系统可以把检测算法接入真实产线。理解这些能力时要按现场系统拆开:先让缺陷被稳定拍到,再让图像被准时处理,最后让结果驱动现场动作并可追溯。开篇的 M01–M12 硬件/产线模块与后文闭环拆解、工程模块映射逐项对照。

HW

硬件与产线工程映射:把“能跑起来”拆成可交付模块

外观缺陷检测不是纯软件问题。结构、相机位置、打光角度、触发时序、PLC 点位、频闪、编码器、线缆与电气设计都会直接决定成像稳定性与可验收性。下面按常见现场工作拆成 M01–M12 模块,便于规划交付物、责任边界和问题定位顺序。

M01

结构与安装基准

根据产线节拍、空间、维护开口设计支架与安装面,建立相机/光源/产品运动的基准坐标,要求可重复装调、可锁紧、防震与防偏移。

M02

相机位置与视野覆盖

确定相机数量、安装高度、倾角、视野边界与安全余量。明确“相机编号 = 物理位置 = UI 显示 = 保存命名 = 追溯字段”的一致性。

M03

镜头选型与景深

按最小缺陷尺寸倒推分辨率与像素密度,确定焦距、工作距离、景深与畸变控制。对反光/曲面/高度差场景预留景深与遮光空间。

M04

打光角度与光学方案

把缺陷“制造反差”。常见组合包括明场/暗场/低角度/背光/同轴/偏振。输出《打光角度记录》《电流/亮度档位》《对比样张》作为验收依据。

M05

频闪与曝光同步

高速或抗环境光场景通常需要频闪。需要明确频闪触发源(PLC/编码器/相机)、触发沿、延时、脉宽、曝光与增益联动,并固化到点位表与配置。

M06

触发链路与节拍闭环

明确传感器、触发信号、采图回调、推理耗时、结果输出、复位信号的先后关系。输出《时序图》《节拍测试表》,避免现场“偶发错帧/漏帧”。

M07

编码器 / 解码器与线扫

线扫/高速输送场景需要编码器闭环(行频随速度)。需确认编码器脉冲、A/B 相、分频、方向、丢脉冲处理,以及与采集卡/相机/PLC 的接线与屏蔽规范。

M08

PLC 点位表与互锁

把动作做到可控可验收:触发、NG 输出、报警灯、打标/剔除、急停、安全门、手自动切换、复位、心跳。所有点位必须编号、含义、方向、数据类型一致。

M09

扫码/读码与工件 ID

定义条码/二维码/读码器接口(串口/TCP/IO),明确“工件 ID 与图像帧编号”的绑定策略,避免追溯时出现 ID 错配、漏绑或重复绑。

M10

定制 IO / 电路板与扩展

遇到多路频闪、隔离 IO、特殊传感器或高速计数,常需要定制板卡或扩展模块。要求电气隔离、抗干扰、状态指示、可替换,并提供接线图与故障定位方法。

M11

线缆、接地与 EMC 抗干扰

工业现场常见问题来自干扰:频闪、电机、变频器、焊机。需要规范屏蔽、单点接地、走线分离、光电隔离、网口抗干扰与机柜布局。

M12

封闭光箱与安全维护

对强反光、透明、粉尘场景建议封闭光箱。需要兼顾遮光、防尘、散热、维护开门、清洁、更换光源与安全互锁,输出《维护 SOP》《备件清单》。

01

成像对象与缺陷定义

先确认产品类型、缺陷位置和客户 NG 判定标准。玻璃丝印关注暗点、亮点、漏印、白边;板材关注暗线、白点、分层、色差;曲率项目关注形貌变化。

  • 业务人员要把缺陷标准整理成图片、文字和判定阈值。
  • 实施人员要确认缺陷在现场光源下是否稳定可见。
  • 开发人员要把缺陷标准转成标签、阈值和后处理逻辑。
02

工业相机选型与接入

现有项目中接入过度申 DVP、海康 MvCamCtrl、DALSA Sapera 等工业相机。相机层重点不仅是设备连接,还包括稳定取图、按触发取图、识别掉线、清空缓存和多相机同步。

  • 面阵相机适合拍单帧区域,线扫相机适合长条产品连续成像。
  • 关注分辨率、帧率、曝光时间、接口带宽、SDK 稳定性。
  • 软件需支持枚举、打开、启动、停止、回调、状态检查、重连。
03

镜头、视野与分辨率

镜头决定一个像素代表多少实际尺寸。缺陷如果只有 0.1 mm,而成像后只有 1-2 个像素,算法再强也难以稳定判断。

  • 先确定最小缺陷尺寸,再反推像素分辨率和视野。
  • 关注畸变、景深、工作距离、边缘清晰度和安装空间。
  • `SizeFactor` 等参数应来自标定结果,避免凭经验填写。
04

光源与成像方案

明场、暗场、背光、同轴光、条形光、环形光、低角度光适合不同缺陷。项目中明暗场模型分离,说明缺陷在不同光路下呈现形态不同。

  • 亮点、露底、白边常需要让反差更明显。
  • 划伤、压痕、暗线常依赖低角度或暗场增强。
  • 水渍、污渍、色差要控制反光、纹理和背景波动。
05

机械安装与防干扰

相机、镜头、光源和产品位置必须机械稳定。图像漂移、震动、反光、脏污、遮挡都会变成算法误检或漏检。

  • 相机支架要防震,光源角度要可调且锁紧。
  • 线扫项目要保证速度稳定,避免图像拉伸或压缩。
  • 现场要预留维护空间,方便擦镜头、换光源、调焦。
06

触发同步与节拍

视觉系统必须和产线节拍一致。代码中的 `runspeed`、`runtime`、传感器状态、相机控制和队列处理,都是为了保证“该拍的时候拍,该处理的时候处理”。

  • 触发来源可能是 PLC、光电传感器、相机硬触发或软件触发。
  • 要定义产品进入、开始采图、结束采图、结果输出的时序。
  • 调试时重点看触发延迟、队列积压、丢帧和重复帧。
07

PLC / IO / 运动控制

现有系统支持 S7、Modbus、信捷 PLC、GPIO/TCP 8888、串口 IO 等。PLC 负责现场动作,视觉软件负责把判定结果转成 PLC 能理解的地址和指令。

  • 输入:有无料、线扫传感器、打标位、运动到位、急停状态。
  • 输出:相机启停、报警灯、NG 信号、打标、喷墨、滑台位置。
  • 必须定义地址表、数据类型、读写周期、心跳和异常状态。
08

网络、工控机与部署

工业现场部署不仅是程序复制。相机网卡、PLC 网段、数据库、本地磁盘、GPU 驱动、SDK DLL、管理员权限都会影响运行。

  • 相机和 PLC 建议使用固定 IP 和独立网段规划。
  • GPU 项目要确认 CUDA/驱动/ONNXRuntime/TensorRT 版本匹配。
  • 发布包要包含模型、配置、DLL、日志目录和服务安装脚本。
09

数据追溯与质量闭环

MySQL、缺陷截图、坐标、置信度、相机编号、批次信息是质量复盘基础。系统需要能够追溯产品、位置、缺陷类别、图片路径和当时参数。

  • OK/NG 结果要和产品编号、二维码或批次绑定。
  • 缺陷图和原图保存策略要平衡追溯价值与磁盘压力。
  • 字段设计要方便按缺陷类型、相机、时间、批次统计。

相机接入开发检查表

枚举能列出设备、区分用户 ID/友好名/IP/序列号。
打开失败时要提示 SDK、权限、占用、网络或驱动问题。
采集支持 start/stop、回调取帧、软触发/硬触发、缓存清理。
状态掉线、超时、丢帧、帧号异常要能记录日志。
保存保存原图用于复盘,同时需要避免阻塞采集线程。

光学实施检查表

视野覆盖检测区域,边缘留安全余量。
分辨率最小缺陷至少要有足够像素表达。
光源缺陷反差稳定,正常纹理不过度增强。
遮光避免环境光、玻璃反射和人员走动影响。
标定建立像素到毫米换算,记录标定板、距离、镜头状态。

PLC 联调检查表

地址表明确每个输入/输出点位含义、类型、方向。
心跳软件和 PLC 双方都能判断对方是否在线。
时序定义触发、采图、推理、输出、复位的先后关系。
互锁急停、手动/自动、安全门等状态要避免误动作。
异常通讯中断、PLC 复位、重复触发要有保护逻辑。

完整闭环理解

视觉系统的最终目标是完成质量检测闭环:缺陷在光学上可见,相机按节拍稳定采集,算法准时输出可解释结果,PLC/IO 执行报警或打标,数据库和图片能追溯,服务异常后能恢复。项目团队应围绕这条闭环理解系统能力、交付边界和现场风险。

工程模块映射(代码职责)

平台以统一的工程职责组织检测流程,将现场设备、图像采集、算法推理、结果判定、数据追溯和运行守护解耦,便于在不同产品线中复用和扩展。

主流程 MainProcess

负责启动检测、初始化算法与设备、创建队列、拉起线程、读取配置、连接数据库、与 PLC 状态交互,是整套系统的调度中心。

策略 DealStrategy

负责不同客户、机型、工艺差异的隔离。相机数量、切图方式、PLC 读写方式、报警策略和产品配置应优先放在策略层处理。

算法 AlgorithmAI

负责模型初始化、图像预处理、推理、候选过滤、缺陷裁剪、小模型复核和结果组装。算法层应保持职责清晰,避免直接耦合 PLC 动作。

结果 AlgorithmResult

负责统一缺陷字段:真实标签、归一类型、中文名、坐标、宽高、置信度、缺陷值、相机编号、玻璃编号和缺陷截图。

相机 Cameras

负责相机初始化、启动、关闭、状态检查、清空缓存、取帧和多相机帧组合。设备 SDK 细节应封装在这一层。

PLC GlassStatusControler

负责 PLC/IO 的统一接口,包括传感器状态、相机控制、报警灯、打标动作、移动机构和布尔地址写入。

数据库 MySqlClient

负责产品和缺陷明细入库。写入字段要能支撑质量追溯:产品编号、缺陷类型、坐标、尺寸、图片路径、相机号、置信度。

守护 Topshelf Service

负责进程级运维。通过进程检查和 UDP 心跳判断主程序是否健康,异常时自动拉起,避免现场无人值守时长期停机。

精度体系:当前程序能实现的精度能力与约束

精度不是“写在软件里”的常数,而是由成像分辨率、光学畸变、结构稳定性、触发时序与标定换算共同决定。现有程序侧已经具备轮廓/外接矩形等几何测量与标定系数管理能力,可把缺陷从“像素”转换为“可验收的尺寸与位置”。建议所有精度口径优先以像素量级定义,再通过标定系数换算为毫米。

最小缺陷检出程序侧能按二值/轮廓/面积等指标做缺陷尺寸量化;实际最小可检出尺寸取决于视野与像素密度。工程经验上应保证关键缺陷在图上有稳定的像素表达,并在样张上验证最小可检出边界。
相机精度(像素密度)把“精度”先落到像素:视野越大、分辨率越低,单像素代表的毫米越大,尺寸与定位的下限越受限。建议在方案阶段明确每个检测面最关键缺陷的目标像素覆盖,并把像素密度写入《成像方案确认表》。
2D 尺寸测量已具备基于轮廓、外接矩形(如 `MinAreaRect`)、边界 mask 与像素统计的测量链路;软件侧误差通常体现为“几个像素量级”,换算为毫米依赖标定系数与畸变控制。
镜头畸变与边缘误差同一块玻璃/板材在视野中心与边缘测量可能出现差异,常见来源是镜头畸变、安装倾角与工作距离变化。程序侧可通过标定系数、固定安装基准与 ROI 限制减小误差;验收时必须明确测量区域与误差口径。
位置定位与坐标还原程序中存在 ROI/切片、坐标还原与相机编号绑定的数据流;只要相机编号与物理位置保持一致,定位重复性可做到像素级稳定。对打标/剔除需叠加速度与延时补偿。
重复性与漂移工业现场的“精度”更关注重复性:结构震动、温漂、光源衰减、相机固定件松动会导致位置/尺寸慢漂。建议把《标准 OK 图》《标定图》《对比样张》作为日常巡检基准,出现漂移先回到成像与安装检查。
标定与像素↔毫米项目中存在尺规/标定界面与标定系数缓存逻辑(如 `RulerMeasureDetails`)。建议输出《标定板/距离/镜头状态记录》《标定系数版本》,并在更换镜头/距离/ROI 后强制复标。
线扫长度精度线扫长度与位置精度由编码器脉冲、行频与速度闭环决定;误差主要来自丢脉冲、打滑、分频设置与速度波动。软件侧要固化编码器参数与异常策略,现场用米数对齐验证。
3D 高度/曲率精度若使用 3D 轮廓/测量(如 KEYENCE LJ-X 等),高度精度主要由传感器规格、安装角度、参考面与标定决定。软件侧重点在点云/轮廓数据的采集一致性、坐标系统一与异常过滤。
触发时序精度触发沿、延时、曝光/频闪脉宽决定“拍到哪一瞬间”。建议输出《时序图》并记录触发源、延时、曝光、频闪参数;否则会出现尺寸/位置漂移但算法看似正常的情况。
动作对位精度打标/剔除是“检测 → 输出 → 机构动作”的综合精度。需要把推理耗时、PLC 扫描周期、通信延时与产线速度纳入补偿模型,形成可验收的对位误差口径与测试样本。

本地运行与控制机箱配置建议:把程序稳定跑起来需要的配套

视觉检测软件的稳定运行依赖:工业相机 SDK + GPU 推理环境 + 可靠存储 + 稳定网络 + 机柜电气与散热。下面给出可执行的配置清单,便于研发自测、出厂交付与现场快速复现环境。

操作系统与权限Windows 10/11 或 Windows Server(按项目兼容性确定);需要管理员权限安装相机/采集卡驱动、GPU 驱动、运行库与服务。建议禁用自动更新对运行环境的不可控影响。
CPU / 内存多相机 + 多线程队列建议 8 核以上;内存建议 32GB 起步,图片缓存/离线回放/多模型时建议 64GB。CPU 不决定模型精度,但决定数据搬运、UI 与队列稳定性。
GPU / 显卡AI 推理建议 NVIDIA 显卡(与 ONNXRuntime GPU/TensorRT/CUDA 生态匹配)。按相机数量、分辨率与节拍选择显存:常见建议 8GB 起步,多相机/高分辨率建议 12–24GB,并保留驱动/CUDA 版本记录。
存储与写盘系统盘建议 NVMe SSD;缺陷图与原图保存建议独立数据盘(NVMe/企业级 SSD),并按保存策略做容量预估与留余量。写盘过慢会造成队列积压与掉帧风险。
网卡与相机网络GigE 相机建议使用稳定的 Intel 网卡并独立网段;多相机时建议多口网卡或独立交换机。固定 IP、MTU、带宽与抓包工具要作为交付基线。
采集卡 / 专用接口若使用 CoaXPress/CameraLink/线扫采集卡,需要匹配对应采集卡驱动与 SDK;编码器输入、触发 IO 可能需要专用板卡或隔离模块,接线与屏蔽必须标准化。
运行库与 SDK相机 SDK(DVP/海康 MVS/DALSA 等)、VC++ 运行库、.NET 运行时、MySQL 驱动、CUDA/TensorRT(如使用)必须形成《环境清单》,并随交付包一起归档。
机柜配套控制机箱需满足:24V/电源冗余、UPS(按现场要求)、散热与防尘、接地与屏蔽、隔离 IO、端子标识、线缆管理。建议输出《电气接线图》《端子表》《备件清单》。

13 / Developer Playbook

开发手册

这一部分按产品开发路径组织:先明确开发语言和技术基础,再建立必备技能体系,然后理解整体开发思路,最后进入相机、采集、算法、参数、PLC、数据库、部署和现场联调等模块开发。每次改动都需要放回完整产线闭环中验证,确保算法结果、现场动作和质量追溯保持一致。

01

开发语言与工程技术栈

当前视觉检测项目以 Windows 工业现场软件为主,核心开发语言是 C#,主程序多为 WinForms 桌面程序,算法和图像处理大量依赖 OpenCVSharp、ONNXRuntime、相机 SDK、PLC 通讯库和 MySQL 数据库。

C# / .NET / WinForms

需要掌握窗体事件、线程、队列、文件读写、JSON 配置、异常处理、日志、定时器和跨线程 UI 更新。主程序通常从 `Program.cs` 进入,再由主窗体创建 `MainProcess` 组织检测流程。

OpenCVSharp / HALCON 思路

需要理解 `Mat`、ROI、二值化、轮廓、形态学、尺寸换算、坐标还原、边界 mask 和中间图保存。传统视觉负责把缺陷变成可解释数值,是验收沟通的重要依据。

AI 推理与模型工程

需要掌握 ONNX 模型、输入尺寸、归一化、batch、GPU 推理、标签顺序、置信度、NMS、坐标缩放和模型预热。模型文件上线前必须配套标签、阈值和效果记录。

工业相机 SDK

需要理解 DVP、海康 MvCamCtrl、DALSA 等 SDK 的枚举、打开、参数设置、触发、回调取图、断线恢复和图像格式转换。相机不是普通摄像头,而是产线节拍的一部分。

PLC / IO / 串口通讯

需要掌握 S7、Modbus、GPIO、串口等基础通讯方式,理解点位表、寄存器、线圈、心跳、互锁、复位、延时和异常恢复。视觉结果最终要通过通讯转化为现场动作。

MySQL / 日志 / 守护服务

需要掌握数据库连接、事务、缺陷记录、图片路径、历史查询、日志定位和 Topshelf 守护服务。工业现场软件必须可追溯、可诊断、可恢复。

02

产品开发人员需要掌握的能力

视觉检测开发不是单纯写界面或调模型,需要同时理解产品、光学、算法、自动化、软件工程和现场交付。开发人员至少要具备以下能力,才能独立处理需求变更和现场问题。

理解检测对象

  • 能看懂产品形态、检测面、缺陷位置、OK/NG 标准和客户验收口径。
  • 能判断缺陷是靠明场、暗场、背光、同轴光还是 3D 才能稳定呈现。
  • 能区分“缺陷看不见”“模型没学到”“阈值不合理”“现场动作不准”四类问题。

理解系统数据流

  • 能说明图像从相机进入系统后,如何进入队列、切片、推理、复核、判定和保存。
  • 能追踪一个 `AlgorithmResult` 来自哪台相机、哪一帧、哪个切片、哪个模型和哪个阈值。
  • 能定位队列积压、图像错位、坐标偏移和结果绑定错误。

理解配置和版本

  • 能区分系统配置、缺陷阈值配置、模型版本、相机参数和 PLC 点位配置。
  • 能为不同产品规格建立独立配置,并保留修改记录和回退方案。
  • 能避免把客户差异写死在代码中,优先沉淀为配置、策略和模板。

理解现场验证

  • 能用固定样本包验证误检、漏检、节拍和边界样本。
  • 能与实施人员共同确认相机、光源、触发、PLC、数据库和保存路径。
  • 能输出版本说明、参数说明、测试记录和问题关闭记录。
03

整体开发思路:按产线闭环开发,而不是按单个功能开发

视觉检测系统的开发主线是“看得见、采得稳、算得准、判得清、动得对、存得住、跑得稳”。开发任何模块,都要明确它在这条闭环中的位置和上下游影响。

Step 1

定义检测目标

明确产品、缺陷、检测区域、最小缺陷尺寸、节拍、误检漏检要求和现场动作。

Step 2

设计成像方案

确定相机、镜头、光源、安装角度、触发方式、ROI、明暗场和样图标准。

Step 3

接入采集链路

完成相机枚举、参数设置、触发取图、图像编号、多相机同步和队列缓存。

Step 4

开发算法链路

完成切图、模型推理、传统视觉复核、坐标还原、尺寸计算和缺陷归一。

Step 5

形成判定闭环

根据阈值、区域、优先级和客户标准输出 OK/NG,并联动 PLC、UI、数据库和图片保存。

Step 6

验证稳定运行

通过离线回放、模拟 PLC、连续跑线、异常恢复和现场验收确认系统可交付。

04

流程模块开发总览:每个模块的输入、处理和输出

开发时要先画出模块边界。每个模块都要说清楚输入是什么、处理什么、输出给谁、异常怎么处理、如何验证。下面是视觉检测软件的主流程开发拆分。

需求与标准模块输入客户样品、缺陷标准、节拍和现场动作;输出缺陷字典、检测区域、验收指标和风险清单。
成像采集模块输入相机、镜头、光源、触发信号和产品位置;输出稳定原图、相机编号、帧编号和标准样图。
算法推理模块输入原图或切片;输出候选框、类别、置信度、裁剪图和中间结果。
规则判定模块输入模型结果和视觉测量值;输出最终缺陷类型、尺寸值、OK/NG、优先级和判定原因。
参数配置模块输入产品规格、缺陷阈值、模型路径、相机参数和 PLC 点位;输出可保存、可切换、可追溯的配置版本。
现场通讯模块输入检测结果、产品状态和节拍;输出 PLC/IO 动作、报警、打标、剔除、复位和心跳。
数据追溯模块输入产品结果、缺陷明细、图片路径和批次;输出数据库记录、图片归档、质量查询和统计分析。
部署运维模块输入发布包、驱动、模型、配置和守护服务;输出可启动、可恢复、可诊断、可备份的现场系统。
05

缺陷字典与阈值治理:把“缺陷定义”做成可复用资产

缺陷字典用于统一“模型标签—中文显示—缺陷值含义—阈值字段—优先级—是否参与 NG—追溯字段”。把字典合入手册,是为了让新增缺陷、换模型、现场调参和验收复盘都能按同一套步骤执行,避免配置与代码分散导致不可复现。

统一命名英文标签(稳定不变)+ 中文名(与客户缺陷标准一致)+ 业务归类(丝印/玻璃/卷材/管材/3D)。避免出现无法解释的标签扩散。
缺陷值定义明确 `defectValue` 的工艺含义:点状用面积/像素数,划伤用长度,崩边用边缘宽度,污渍用面积+对比度,3D 用高度/曲率/平面残差。验收沟通以缺陷值为核心证据。
阈值字段统一阈值字段(如 `min/max/conf/prio/used`)与“产品阈值/客户阈值/临时阈值”的边界。阈值修改必须记录版本、修改人、修改原因与效果对比。
优先级与合并定义同一工件多缺陷的合并规则:优先级、同类合并、区域过滤、黑白名单区域,避免“缺陷多但 NG/OK 输出不稳定”。
参与 NG 规则区分“提示类缺陷”和“致命缺陷”。提示类可记录但不 NG;致命缺陷触发 NG/打标/剔除。把业务策略固化到字典,而不是散落在代码判断里。
追溯字段每个缺陷必须可追溯:`camId/frameId/splitId`、坐标(原图与还原坐标)、置信度、缺陷值、模型版本、阈值版本、图片路径、工件 ID。

字典最小字段集(建议固化)

  • 英文标签(model_label)/ 中文名(cn_name)/ 业务归类(domain)。
  • 缺陷值类型(value_type:area/length/width/gray/z 等)。
  • 阈值字段(min/max/conf/prio/used)与默认值范围。
  • 是否参与 NG(affect_ng)与动作策略(alarm/mark/reject)。
  • 追溯字段清单与保存策略(原图/裁剪图/中间图)。

治理规则(避免失控)

  • 新增缺陷必须同时更新:标签映射、中文显示、缺陷值计算、阈值配置、UI 展示、数据库字段。
  • 任何“现场临时阈值”必须有期限与回收机制,避免长期污染默认配置。
  • 每次模型替换必须绑定同一版字典与阈值版本,支持回退。
  • 不同项目可有不同阈值,但字典字段与含义必须一致。

交付价值

  • 对外沟通:缺陷可解释、阈值可说明、验收可量化。
  • 对内交付:新人接手更快,跨项目复用更容易。
  • 对后续产品化:可做缺陷统计报表、质量趋势与工艺反哺。
06

阅读顺序与入口确认

工业检测项目牵涉相机、PLC、模型、配置和数据库。建议先建立全局架构认知,再进入具体算法文件和业务代码。

第一步:确认项目类型

  • 先看顶层目录名称:家电玻璃、丝印、铜材、医疗管材、碳纤维、光检机、投影/曲率。
  • 找到对应 `.sln` 和主程序项目,通常主线叫 `GlassDefect`。
  • 确认目标框架:新主线多为 `.NET 8 WinForms`,部分早期玻璃检测和投影测量项目存在 `.NET Framework 4.x`。
  • 确认是否包含守护服务、串口程序、PLC 示例、SDK 软件包。

第二步:确认启动入口

  • 从 `Program.cs` 找到 WinForms 启动窗体。
  • 从主窗体找到开始检测、停止检测、设置界面、显示缺陷列表的入口。
  • 找到 `MainProcess` 初始化位置,理解算法、相机、PLC、数据库何时创建。
  • 看异常提示语,确认 GPU、相机、PLC、数据库失败时系统如何反馈。

第三步:确认配置来源

  • 先看 `appconfig.json` 或 `appconfig/*.json`。
  • 再看 `settings/*valuerange/*.json`,确认缺陷阈值是否按客户/产品隔离。
  • 确认模型路径、相机裁切区、PLC 地址、保存策略、产线速度。
  • 客户现场参数应优先通过配置管理,避免写入固定代码逻辑。

第四步:确认运行链路

  • 相机是否初始化成功,是否开始采集。
  • PLC 或 IO 是否连接,传感器状态是否能读到。
  • 算法线程是否在消费队列,队列是否积压。
  • 结果是否显示、保存图片、写库、报警或打标。
07

核心数据流:一张图怎么变成一个 NG 结果

理解数据结构比记文件名更重要。开发调试时需要能够回答:当前缺陷来自哪台相机、哪一帧、哪个切片、哪个模型、哪个阈值。

Camera Frame

相机原始图

来自线扫或面阵相机,包含相机编号、产品触发时刻、明场/暗场来源。调试时应先确认原图质量,再分析模型表现。

AllCamOneFrame

多相机一帧

把同一产品在多个相机或多个分区下的图像组织起来,带有 `glassID`、`frameId` 和不同相机的图像数组。

Split Mat

检测切片

根据产品区域、相机位置和模型输入尺寸进行切图。每个切片需要保留 `camId`、`splitId`、原图尺寸和缩放比例。

Detection Box

模型候选框

大模型输出的候选框通常还不是最终缺陷,需要经过置信度过滤、坐标还原、裁剪和小模型复核。

AlgorithmResult

统一缺陷对象

保存真实类别、归一类别、坐标、宽高、缺陷值、置信度、相机编号、玻璃编号和缺陷裁剪图。

Final Decision

最终判定

根据阈值、优先级、缺陷区域、客户标准合并为 OK/NG,并写入 UI、数据库、PLC 或打标动作。

08

新增一个缺陷类型:从标签到数据库的完整步骤

新增缺陷需要覆盖完整链路,不应仅修改模型标签。相关内容包括模型标签、类型归一、中文显示、尺寸计算、阈值配置、UI 显示、数据库保存和现场动作。

1. 定义缺陷业务名确定英文标识和中文名,例如 `siyin-liangdian` / 丝印区亮点。英文名要稳定,后续配置、数据库和模型标签都依赖它。
2. 更新模型标签映射如果来自小模型分类,检查 `SmallModelLabelsBright` 或 `SmallModelLabelsDark`,确保类别顺序与模型导出顺序一致。
3. 更新类型归一逻辑在结果对象中把真实模型标签映射为通用缺陷类型,避免 `xxx-dark`、`huashang1`、`huashang2` 等细标签直接散落到业务层。
4. 增加中文显示补充中文名称,用于 UI 列表、缺陷卡片、报表和客户验收沟通。中文名必须和客户缺陷标准一致。
5. 实现尺寸计算判断该缺陷应使用面积、长度、宽度、灰度、像素数量还是边界距离作为 `defectValue`。该项是验收沟通中的重点内容。
6. 增加阈值配置在对应 `valuerange` 或 `appconfig` 中增加 `min`、`max`、`conf`、`prio`、`used`。除默认配置外,也需要同步客户或产品专用配置。
7. 检查 UI 和颜色缺陷列表、画框颜色、详情描述、截图保存命名都要确认,避免客户看到“未知”或颜色不一致。
8. 检查数据库字段确认 `defecttype`、坐标、尺寸、图片路径、相机编号、置信度能正确保存,后续追溯才能查到。
9. 做回放验证用已标注的 OK/NG 图片回放,统计漏检、误检和阈值边界。现场参数调整前应尽量完成离线回放验证。
09

接入一套新模型:开发检查清单

模型成功运行只是第一步。上线前需要确认输入尺寸、通道数、标签顺序、batch、推理设备、坐标缩放和性能。

模型文件

确认 ONNX 文件路径、文件名、版本号、明场/暗场、大模型/小模型用途。交付模型应使用可追溯命名,避免长期使用 `best.onnx` 这类临时名称。

输入规格

确认输入尺寸、灰度/彩色、归一化方式、通道顺序、padding 颜色、是否固定 batch。训练和推理预处理必须一致。

输出解析

确认输出张量结构、类别索引、置信度含义、NMS 是否已在模型内完成。解析错误会导致坐标错位或类别错乱。

标签顺序

小模型标签必须与模型导出顺序完全一致。标签顺序错误会导致 UI 显示与实际缺陷类别不一致。

性能验证

记录大模型填充耗时、推理耗时、解析耗时、小模型推理耗时和总耗时,判断是否满足产线节拍。

首次预热

GPU/TensorRT 首次运行可能触发 engine 构建或缓存生成,需要在启动阶段预热,降低首件产品推理超时风险。

10

参数调试方法:按顺序定位问题

现场调参要有顺序。先确认图像,再看模型,再看后处理,最后调阈值。无依据降低阈值会把误检转移到客户现场。

先看原图

检查曝光、清晰度、产品位置、光源稳定性、背景干扰和是否有脏污。原图不可用时,模型和参数都不可靠。

再看模型候选

确认缺陷是否被大模型框到。如果大模型没有候选,调小模型和后处理没有意义,应回到样本、训练或大模型阈值。

再看小模型分类

如果候选框正确但类别错误,重点检查标签顺序、训练样本、裁剪尺寸和小模型置信度。

再看缺陷值

如果类别正确但 NG/OK 错误,需要检查 `defectValue` 是否符合工艺含义:面积、长度、宽度应按缺陷类型区分使用。

再看区域过滤

如果玻璃外、丝印外或无效区误报,优先检查检测区域 mask、边界分割和坐标偏移,再评估置信度调整。

最后改阈值

阈值要基于样本统计修改,记录修改前后误检/漏检变化,并同步客户配置文件。

11

相机与成像接入:从 SDK 到稳定采图

系统已具备 DVP、海康、DALSA 等工业相机 SDK 接入基础。新增相机或更换相机时,开发重点不是“能打开相机”,而是保证枚举、参数、触发、取图、断线恢复和图像编号都稳定。

1. 确认相机 SDK先确认使用 DVP、海康 MvCamCtrl、DALSA Sapera 还是其他 SDK。检查 DLL、运行库、网卡驱动、相机 IP、授权文件和目标平台 x64 是否一致。
2. 确认相机顺序相机数量、相机名称、安装位置和 `DealStrategy` 中的相机数组必须一致。多相机项目要固定“相机编号 = 物理位置 = UI 显示 = 保存文件名”的对应关系。
3. 确认 ROI 和视野ROI 不只是截小图片,还会影响后续坐标还原、缺陷位置、打标偏移和数据库坐标。修改 ROI 后必须同步验证缺陷框位置和 PLC 动作位置。
4. 确认触发模式区分软触发、硬触发、连续采集和线扫编码器触发。现场联调时要记录触发源、触发沿、曝光时间、增益、行频、产品速度和 PLC 信号时序。
5. 确认图像编号每帧图像要能对应 `glassID`、`frameId`、`camID`。如果编号错乱,算法结果即使正确,也可能绑定到错误产品或错误相机位置。
6. 保存标准样图每个相机至少保存标准 OK 图、典型 NG 图、空跑图、边界图和过曝/欠曝对比图,作为后续模型训练、参数调试和现场复盘依据。
7. 做断线测试拔网线、断电、重启相机、重启软件,确认系统能提示异常、重新枚举或人工恢复,避免现场运行后出现无图但系统仍显示正常。
12

客户项目配置:把差异放进配置和策略

系统通过 `m_machinetype`、`DealStrategy`、`appconfig` 和 `settings/*valuerange` 区分不同设备、产品和客户标准。开发新项目时,应优先复用平台能力,把客户差异沉淀为配置、策略和模板。

项目模式

  • 确认当前项目使用哪个 `m_machinetype` 或项目模式编号。
  • 检查 `MainProcess` 初始化时是否创建了正确的 `DealStrategy`。
  • 确认项目模式不要只改一个位置,窗体、参数页、PLC、算法分支都要同步检查。

策略类

  • 策略类负责相机数量、明暗场、切片宽度、边界处理、单料/混料、出料方向等差异。
  • 新增项目时先判断能否复用已有策略,再决定是否新建策略类。
  • 策略类中涉及物理尺寸和现场动作的参数,要和机械、电气、光学确认后再固化。

系统配置

  • `AppConfigEntityBase` 中包含相机位置、数据库、PLC IP、运行速度、保存策略、模型路径、batch、标签和尺寸系数。
  • 修改配置字段后,要同步配置界面、默认 JSON、读取逻辑和保存逻辑。
  • 现场配置要留版本记录,避免调试人员无法判断当前参数是谁改的、为什么改。

阈值配置

  • `valuerange` 类型配置用于控制缺陷阈值、启用状态、优先级、区域和客户判定标准。
  • 新增产品规格时建议新增配置文件,不建议直接覆盖旧配置。
  • 每个阈值修改都要用固定样本包验证误检、漏检、边界样本和节拍变化。
13

PLC / IO 联动:从检测结果到现场动作

视觉软件最终要驱动现场动作。系统支持 S7、Modbus、GPIO、串口等通讯方式,开发时要把通讯协议、点位地址、动作时序、心跳和异常保护作为一个整体处理。

1. 建立点位表明确每个输入、输出、线圈、寄存器或 DB 地址的含义,例如到料、拍照完成、检测完成、OK、NG、报警、复位、心跳。
2. 定义时序用时序图确认“产品到位 → 触发拍照 → 图像采集 → 算法完成 → 结果输出 → 现场动作 → 复位”的先后顺序和最大等待时间。
3. 区分动作类型报警、剔除、打标、喷墨、停线、分拣的动作风险不同。高风险动作必须增加互锁、延时、位置补偿和手自动状态判断。
4. 增加心跳机制软件和 PLC 双方都要能判断对方是否在线。软件无心跳时 PLC 不应继续执行旧结果;PLC 无响应时软件应提示并停止自动动作。
5. 做模拟测试没有现场设备时,先用 PLC Demo、Modbus 工具或模拟程序测试读写、异常断开、重连和地址映射,减少到现场后排查通讯基础问题。
6. 做现场联测现场必须验证连续 OK、连续 NG、OK/NG 交替、漏触发、重复触发、急停、手动模式、网络断开和软件重启后的状态恢复。
7. 固化验收记录最终保留 PLC 点位表、时序图、联调视频、异常恢复记录和客户确认记录,作为售后排查依据。
14

数据库与图片追溯:让每个 NG 可复盘

项目中通过 MySQL 保存产品记录和缺陷记录,并通过图片目录保存原图、明场、暗场和缺陷裁剪图。开发时要保证数据库记录、图片路径、相机编号和缺陷坐标能够互相对应。

产品主记录

保存批号、产品编号、检测时间、缺陷数量、图片路径、检测类型和当前缺陷标准。主记录用于按批次、时间和产品查询质量情况。

缺陷明细

保存缺陷类型、x/y/w/h、相机编号、置信度和裁剪图文件名。缺陷明细必须能还原到原图位置,便于客户复判。

图片目录

按日期、批次和图片类型保存,常见目录包括 `all`、`br`、`dk`、`defects`。目录结构要稳定,数据库路径不能依赖临时调试目录。

保存策略

根据现场磁盘容量决定 OK 图、NG 图、原图、裁剪图保存周期。保存策略必须和售后追溯需求平衡,不能只为节省磁盘而丢失关键证据。

异常处理

数据库断开、字段超长、路径为空、磁盘满、权限不足都要有日志和提示。保存失败不能静默吞掉,否则现场以为检测正常,实际无法追溯。

统计复盘

数据库不仅用于查询缺陷,还应支持按时间、批次、缺陷类型、相机和产品规格统计,为后续模型优化和工艺分析提供依据。

15

发布部署与守护服务:让系统长期运行

工业现场的软件不能只保证“启动一次能运行”,还要保证异常后能定位、能恢复、能重启。项目中的 Topshelf 守护服务通过进程检测和 UDP 心跳监控主程序,是稳定运行的重要组成部分。

1. 发布包检查发布包应包含主程序、模型文件、配置文件、相机 SDK DLL、PLC/通讯 DLL、数据库脚本、日志配置、守护服务和安装/卸载脚本。
2. 环境检查确认 Windows 权限、显卡驱动、CUDA/TensorRT/ONNXRuntime、相机驱动、网卡 IP、数据库服务、端口和防火墙。
3. 配置检查确认模型路径、图片保存路径、数据库连接、PLC IP、相机 IP、保存周期、当前缺陷标准和项目模式编号。
4. 心跳检查主程序应定时发送 `ALIVE` 类心跳,守护服务监听心跳;长时间无心跳时,守护服务可杀掉卡死进程并重新启动。
5. 重启检查测试主程序崩溃、算法卡死、数据库断开、相机断线、电脑重启后,软件是否能恢复到可操作状态。
6. 日志检查上线前确认日志能记录启动、配置读取、相机连接、PLC 通讯、模型加载、推理耗时、数据库写入和异常堆栈。
7. 备份检查交付前备份软件包、模型、配置、数据库脚本、安装说明和当前可运行版本,避免现场修改后无法回退。
16

开发验证标准:每次改动都要闭环验证

视觉检测项目的风险在于,一个小改动可能同时影响模型、坐标、阈值、PLC 和追溯。每次开发完成后,需要按“离线验证、联调验证、连续运行、交付记录”四个层级确认。

改相机验证枚举顺序、曝光、触发、ROI、原图保存、坐标还原、断线恢复和多相机同步。
改模型验证标签顺序、输入尺寸、预处理、推理耗时、召回率、误检率、坐标缩放和 GPU 首次预热。
改缺陷验证真实类型、归一类型、中文显示、缺陷值、阈值、优先级、UI 颜色、数据库字段和报表展示。
改参数验证默认值、配置保存、配置切换、权限控制、历史版本和客户现场配置是否同步。
改 PLC验证点位地址、时序、心跳、手自动、急停、复位、重复触发、断线重连和异常保护。
改数据库验证建表脚本、字段长度、事务、断线重连、图片路径、历史查询和统计报表。
改部署验证发布包完整性、相机 DLL、模型路径、守护服务、开机启动、权限、日志和回退方案。
最终交付输出版本号、配置备份、模型说明、样本验证结果、连续运行记录、问题关闭表和现场验收记录。
17

现场联调与故障排查:最后按层级定位问题

现场联调应放在开发、离线验证、配置确认和发布检查之后。到现场后不应直接修改代码或无依据调整阈值,应先按“硬件成像 → 采集触发 → 算法推理 → 参数判定 → PLC 动作 → 数据追溯 → 稳定运行”的顺序定位。

相机无图检查相机枚举、IP/驱动、触发模式、曝光、采集状态、SDK DLL、网卡配置、供电和是否被其他程序占用。
图像错位检查传感器触发时机、产品速度、frameId、glassID、相机顺序、切片偏移、线扫缓存和多相机同步。
缺陷看不清先检查光源角度、亮度、曝光、焦距、工作距离、背景反光和产品姿态,再判断是否需要更换光学方案或补充样本。
检测延迟检查模型 batch、GPU 是否启用、首次预热、推理耗时、图片保存队列、磁盘写入、数据库写入和日志频率。
误检突然变多检查光源衰减、镜头污染、产品批次变化、背景变化、配置是否被覆盖、模型版本是否被替换。
漏检无法接受确认缺陷在原图中是否稳定可见,再检查模型候选、小模型分类、区域过滤、缺陷值计算和阈值设置。
PLC 无响应检查 IP、端口、DB 地址、线圈地址、读写权限、心跳、手自动状态、安全互锁、急停和 PLC 程序是否处于运行状态。
现场动作不准检查产品速度、动作延时、打标/剔除位置补偿、左右出料方向、相机坐标到产线坐标的转换关系。
数据库无数据检查连接字符串、数据库服务、表结构、事务异常、字段长度、图片路径、磁盘权限和保存队列是否异常。
服务自动重启检查主程序是否发送 UDP 心跳、是否卡死在推理/保存/数据库、守护服务路径是否正确、日志是否记录异常堆栈。
客户复判不一致检查缺陷值计算方式是否与客户标准一致,必要时输出原图、裁剪图、二值图、轮廓图、测量值和判定阈值。
问题无法复现保留现场视频、日志、原图、配置、模型版本、PLC 状态和操作步骤,用同一批样本做离线回放验证。

14 / Development Summary

开发总结

工业外观缺陷检测的交付模式通常介于标准设备和非标项目之间。产品、工艺、产线节拍和验收标准会带来必要适配,但长期竞争力取决于平台复用、行业模板、硬件配置包、样本数据闭环和标准化实施能力。

MODE

行业交付模式:标准平台 + 场景适配

成熟厂商通常不会按单个客户重新开发一套系统,而是先沉淀通用平台,再基于行业场景进行有限适配。看样、试拍、模型训练、产线集成和现场调试仍然存在,但这些工作会被纳入标准流程、标准模块和标准交付物中管理。

现实情况

每个客户仍然会有差异

产线空间、产品材质、缺陷标准、速度、剔除方式、PLC 品牌、现场光照和验收口径都不同,所以完全不定制并不现实。样本采集、缺陷训练、光学验证和现场联调仍然是行业常态。

成熟做法

不是从零定制,而是标准组合

成熟厂商通常把相机、镜头、光源、结构、电气、算法、UI、数据库、PLC、日志、守护服务做成标准模块。客户项目只是在模块组合、参数、模型和工装结构上做适配。

商业关键

利润来自复用率和交付控制

如果每套设备都重新开发、重新画结构、重新接 PLC、重新做界面和报表,项目成本很难下降。规模化企业的核心能力,是把非标需求转化为可报价、可计划、可复用、可验收的交付单元。

技术趋势

从单机检测走向平台和数据闭环

后续竞争不只是模型准确率,而是样本库、模型版本、参数版本、缺陷字典、远程诊断、质量统计和持续迭代能力。谁能沉淀数据,谁就能越做越快、越做越稳。

OPT

结合当前代码的更优优化方案

当前代码已经具备多项目落地能力,但还偏项目复制式开发。更优方案不是推翻重做,而是把已有 `MainProcess`、`DealStrategy`、`AppConfigEntityBase`、`AlgorithmResult`、相机 SDK、PLC、MySQL 和 Topshelf 守护服务逐步抽象成稳定平台。

平台层

建立视觉检测平台内核

把设备接入、采集队列、算法推理、规则判定、数据保存、PLC 通讯、日志和守护服务拆成清晰模块,减少每个项目复制 `GlassDefect` 后再局部修改的方式。

配置层

用配置替代客户硬编码

将客户差异沉淀为项目配置、缺陷阈值、模型路径、相机 ROI、PLC 点位、保存策略和权限配置。`DealStrategy` 只保留真正的工艺差异,通用参数进入配置中心。

模板层

形成行业方案模板

围绕玻璃、板材、管材、3D 测量、丝印、卷材等方向建立模板:标准光学方案、相机数量、典型缺陷、模型标签、验收样本、PLC 点位和报表字段。

数据层

建立样本和模型闭环

把 OK/NG 原图、裁剪图、误检、漏检、人工复判、模型版本和参数版本统一归档。后续每次训练都能追溯样本来源和效果变化,避免模型越换越不可控。

工具层

强化离线回放和自动验证

建立离线回放工具,用同一批图片验证模型、阈值、坐标还原和数据库保存。新模型上线前先离线对比,再出厂联调,最后现场验证,减少现场试错。

交付层

把现场实施做成标准流程

每个项目必须输出成像确认表、缺陷标准表、PLC 点位表、FAT 出厂测试、SAT 现场验收、问题关闭表和交付备份。现场进度用交付物管控,不只靠口头沟通。

阶段 1

理解业务和产线

先看产品如何流过设备、相机拍摄位置、PLC 触发时机,以及 NG 后执行报警、打标或剔除的动作。理解产线动作后,才能判断软件输出是否符合现场要求。

阶段 2

理解成像和样本

学习明场、暗场、线扫、面阵、曝光、ROI、缺陷样本和正常样本。部分误检来源于成像稳定性不足或样本定义不清,需要先从成像和样本层面排查。

阶段 3

理解 AI 推理链路

掌握大模型定位、小模型分类、batch、坐标还原、候选过滤、标签映射和模型预热。调模型时要同时看召回率、误检率和推理耗时。

阶段 4

理解传统视觉复核

掌握二值化、轮廓、凸包、最小外接矩形、距离变换、边界 mask 和尺寸换算。工业检测中,可解释后处理往往决定项目能否验收。

阶段 5

理解参数和策略

学会区分模型阈值、缺陷阈值、产品阈值、客户阈值和现场临时阈值。参数修改要有记录,避免试产阶段改出不可追溯的问题。

阶段 6

理解现场稳定性

掌握相机重连、PLC 心跳、队列积压、磁盘保存、数据库异常、守护服务和日志定位。现场系统要优先保证可恢复、可定位、可追溯。

UP

后续优化发展方向

从现有工程看,项目已经具备多行业落地经验、AI + 传统视觉结合、PLC/相机/数据库集成能力。下一阶段的重点应从功能扩展转向平台化沉淀,让开发效率、交付稳定性、数据可用性和客户理解成本同步优化。

方向 1

平台化架构升级

当前多个项目存在相似的 `GlassDefect` 结构,说明底层能力可复用。建议逐步抽象为平台内核:设备层、采集层、算法层、规则层、数据层、UI 层分离,减少项目复制式开发。

  • 统一相机接口,屏蔽 DVP、海康、DALSA 等 SDK 差异。
  • 统一 PLC/IO 接口,按点位表配置读写地址。
  • 统一算法输入输出协议,让不同模型输出都转为标准缺陷对象。
  • 统一日志、异常、配置和版本管理,便于跨项目维护。
方向 2

算法工程化与模型管理

竞品成熟方案通常不仅交付模型文件,还具备模型版本、数据集版本、阈值版本和效果评估记录。建议建立模型全生命周期管理,避免模型、标签和配置脱节。

  • 模型命名包含项目、产品、明暗场、大小模型、版本号和日期。
  • 建立标签字典,统一英文标签、中文名、业务归类和判定指标。
  • 每次模型替换必须记录召回率、误检率、节拍和适用产品。
  • 保留离线回放工具,用同一批图片对比不同模型和参数效果。
方向 3

数据闭环与持续学习

真正的壁垒来自现场数据闭环。系统应能沉淀 OK/NG 图片、误检、漏检、复判结果和客户反馈,形成持续迭代的数据资产。

  • 建立缺陷图库:原图、裁剪图、二值图、轮廓图、判定结果统一归档。
  • 增加复判字段:人工确认 OK/NG、误检原因、漏检原因、处理人。
  • 按产品、批次、相机、缺陷类型统计质量趋势。
  • 让现场数据反哺模型训练和阈值优化。
方向 4

配置中心与低代码化调试

现有配置项已经较多,后续要避免配置分散、名称不统一、现场手改难追溯。建议建设配置中心或标准配置界面,让实施人员可控地调整参数。

  • 将模型路径、缺陷阈值、相机 ROI、PLC 点位、保存策略分组管理。
  • 每次参数修改保存版本、修改人、修改时间和备注。
  • 关键参数提供范围限制和说明,避免现场误改。
  • 支持一键导入/导出客户产品配置,方便复制产线。
方向 5

现场实施标准化

竞品强项往往在交付标准化:相机标定表、光源记录表、PLC 点位表、验收样本包、故障排查表。建议把实施经验文档化,减少对个人经验依赖。

  • 项目启动前输出《成像方案确认表》和《缺陷标准确认表》。
  • 联调阶段输出《PLC 点位表》《节拍测试表》《误检漏检统计表》。
  • 验收阶段保留测试样本、参数版本、模型版本和验收报告。
  • 交付阶段提供运维手册、备份策略和恢复流程。
方向 6

软件质量与可维护性提升

现有代码能支撑项目落地,但后续要提升可维护性和团队协作效率。建议减少大类堆积、强化模块边界、补充自动化测试和诊断工具。

  • 拆分超大流程类,明确采集、推理、判定、保存、通讯职责。
  • 为算法后处理、坐标转换、阈值判定增加单元测试或回放测试。
  • 统一异常处理和日志格式,关键链路输出耗时和状态。
  • 建立代码规范、发布清单和版本变更记录。

建议阶段目标

短期

把现有项目梳理清楚

统一文档、配置说明、模型说明、缺陷字典和项目结构说明,让新开发人员能快速接手,现场问题能快速定位。

中期

沉淀通用检测平台

抽象相机、PLC、模型、结果、数据库和 UI 组件,减少重复复制项目,提高新行业落地速度。

长期

形成数据驱动的视觉产品

建立样本闭环、模型迭代、质量统计、远程诊断和标准化实施体系,让系统从项目交付升级为产品能力。

15 / Resources

资料入口

用于选型、SDK 下载、技术文档查询与对标学习。基于现有项目代码关键词统计,DVP/大恒与海康 MVS 相关调用出现更集中,其次是 DALSA Sapera(线扫/高速)与 KEYENCE LJ-X(3D 轮廓/测量)。

MK

行业生态参考:国内外代表性企业

以下名单按行业影响力、产品完整度、市场可见度、技术积累和应用覆盖综合整理,作为学习竞品和对标方向参考,不作为严格财务排名。外观缺陷检测行业的竞争不只来自软件算法公司,也来自相机、光源、镜头、视觉平台、AOI 设备、半导体检测和系统集成企业。

国际代表企业 25 家

01 Cognex 康耐视机器视觉、读码、AI 视觉系统,全球视觉龙头之一。
02 KEYENCE 基恩士视觉系统、传感器、测量仪器,易用性和销售网络极强。
03 OMRON 欧姆龙自动化控制与视觉检测系统,PLC、传感和视觉联动能力强。
04 Basler 巴斯勒工业相机、视觉软件和边缘 AI 方案,机器视觉核心部件代表。
05 Teledyne DALSA / FLIR高端相机、线扫、红外、采集卡和工业成像方案。
06 SICK 西克传感器、读码、3D 视觉、工业自动化检测。
07 Baumer 堡盟工业相机、传感器、测量与自动化组件。
08 MVTecHALCON、MERLIC 等机器视觉软件平台,传统视觉算法标杆。
09 ISRA VISION表面检测、印刷检测、玻璃/薄膜/金属等在线 AOI。
10 STEMMER IMAGING机器视觉系统集成、视觉部件分销和软件服务。
11 Allied Vision工业相机,覆盖科研、工业检测和嵌入式视觉。
12 JAI工业相机、多光谱/线扫/高性能成像。
13 LMI Technologies3D 传感器、激光轮廓、尺寸测量和表面检测。
14 Zebra / Matrox Imaging工业读码、机器视觉软件和图像采集生态。
15 Datalogic工业读码、视觉传感器和自动识别系统。
16 Banner Engineering传感器、视觉传感器、工业自动化检测组件。
17 IDS Imaging工业相机、嵌入式视觉和 AI 相机。
18 KLA半导体检测与量测设备,晶圆/芯片缺陷检测龙头。
19 Applied Materials半导体制造与检测设备,先进制程质量控制能力强。
20 Nikon Metrology / Hexagon工业测量、3D 计量、自动化质量检测。
21 LUCID Vision Labs工业 GigE Vision 相机生态,偏高速/高带宽与集成场景。
22 Sony Semiconductor Solutions图像传感器与边缘 AI 传感平台,产业链上游关键生态。
23 ZEISS 蔡司工业质量工业计量与质量检测体系,覆盖 3D 扫描与测量软件生态。
24 Photoneo工业 3D 视觉与机器人方案,PhoXi/MotionCam-3D 等产品线。
25 Mikrotron高速工业相机与运动成像,适用于高速缺陷捕获与过程分析。

国内代表企业 25 家

01 海康机器人 HIKROBOT工业相机、智能读码、2D/3D 视觉和视觉软件平台。
02 凌云光 LUSTER视觉核心部件、可配置视觉系统、智能视觉装备。
03 奥普特 OPT光源、镜头、相机、视觉平台和深度学习检测。
04 天准科技 TZTEK视觉测量、检测装备、制程装备和智能检测平台。
05 精测电子显示、半导体、新能源检测设备和 AOI 系统。
06 华睿科技 Huaray工业相机、智能相机、3D 相机和视觉组件。
07 大恒图像 Daheng Imaging工业相机、采集卡、图像软件和机器视觉部件。
08 美亚光电色选、食品/农产品检测、医疗影像和光电识别。
09 矩子科技 JutzeAOI/SPI、电子制造检测和机器视觉设备。
10 超音速新能源、3C、半导体等视觉检测装备与系统。
11 赛腾股份消费电子和新能源智能装备,含视觉检测与自动化。
12 劲拓股份电子制造装备、视觉检测和自动化制程设备。
13 华汉伟业锂电视觉检测、极片/极耳/焊接外观缺陷检测。
14 中科慧远AI 视觉检测、工业质检和缺陷识别平台。
15 维视智造机器视觉系统、视觉软件、工业检测解决方案。
16 霍克视觉材料表面缺陷检测、光伏半导体和机器视觉集成。
17 创科视觉 / 创视智能类企业深度学习质检、工业 AI 视觉和定制化检测系统。
18 先导智能锂电设备龙头,产线装备中集成大量视觉检测能力。
19 联赢激光新能源焊接装备与视觉定位/焊接质量检测。
20 机器视觉集成商群体大量区域型视觉公司深耕玻璃、膜材、五金、包装等细分场景。
21 大族激光激光与智能制造装备,焊接/打标等工艺场景与视觉检测深度耦合。
22 华兴源创检测与自动化测试设备、整线系统解决方案,覆盖显示/半导体/汽车电子。
23 奥比中光 Orbbec3D 视觉与机器人视觉生态,深度/双目/ToF 等产品线。
24 长光辰芯 Gpixel高性能 CMOS 图像传感器,上游芯片生态与工业成像应用覆盖广。
25 大华股份 Dahua工业视觉与智能感知生态,覆盖相机、算法与行业方案能力。