找出出问题的证据层
在改动设置之前,先判断故障出在采集、可见零件证据、空间判定,还是下游的事件关联上。要保留最初的参考状态和原始结果。在完全可观察的区域里漏掉了所需零件、被截断的观察被送去复核(Review),以及一个正确的结果被用到了另一个装配件上,这是三种不同的故障。它们需要不同的对照,在报告中也必须能区分开来。不要用后来出现的一张“通过”截图,去覆盖最初的症状。诊断从一个可复现的失败案例和声明的证据边界开始,而不是从一个更宽的区间开始——选更宽的区间,只是为了减少屏幕上能看到的红色指示。
重放出问题的那张原图
用产生该症状的确切源图像、裁切变换、节点图版本和参考类别进行重放。凡是相关之处,都要查看实际安装的节点和模型标识,而不是只信节点图上显示的名称。如果完全相同的冻结材料得到了不同的输出,就要先排查预处理、依赖项,或请求与结果的对应关系,再去怪治具。如果重放结果稳定、新图像却出错,接下来就比较光学和采集条件。要保留完整的原始帧,免得局部预览掩盖原因。重放成功可以缩小排查范围,但并不能证明出错的那一帧来自预期的装配事件。
区分被截断的证据与真实缺失
把声明的区域叠加在完整的源图像上,检查所需零件、它的观察余量以及任何遮挡的工具。部件跨过区域边界,并不一定表示装配件上缺了它。在光学条件和参考类别保持固定的前提下,比较同一个已标识的装配件在基线姿态和某个允许的改变后姿态下的情况。如果歧义是截断造成的,就先通过采集或几何来恢复观察,再去改动缺失判定的规则。扩大区域可能把相邻治具上的特征带进来,它随后会冒充缺失的零件。要把恢复的可见性和新增的证据风险都记录下来,而不是只接受一个看上去更干净的局部裁切。
截断不同于观察到的缺失
在解读局部候选缺失之前,先检查完整的装配件和声明的区域。
- 完整的原始装配视图
- 声明的部件观察区
- 跨过区域边缘的可见零件
- 排除相邻治具的证据
先解释重复候选,再做过滤
当某个所需标签出现不止一次时,检查原始的前景连通域或检测器候选。判断这些候选是各自独立的真实特征、一处反光造成的分裂、混入的治具部分,还是所选模型路径产生的重复检测。保留原始证据和声明的标签映射。不要挑选“恰好让空间规则通过”的那个候选。固定区域前景方法与训练过的检测器,需要不同的对照;去重过滤并不能证明零件识别正确。对任何拟议的掩膜或抑制改动,都要在同样的缺件和错位参考件上比较,确认这样的修正不会抹掉真实的缺陷,也不会悄悄把不同的物体合并。
diagnostic_record = {
'assembly_id': assembly_id,
'image_id': image_id,
'graph_revision': graph_revision,
'raw_detections': raw_detections,
'detection_validity': detection_validity,
'raw_rule': raw_rule,
'execution_status': execution_status,
'event_identity': event_identity,
}
# Record the failure without converting Review, unknown states or execution errors into Pass.核对关系的符号与坐标系
在质疑机械参考之前,先核对第一个和第二个标签、它们的中心定义、裁切变换以及所选的关系。带符号的水平差在标签对调后会变号,而欧氏距离无法表示同样的方向性条件。经审阅的受限关系包含区间端点,并且要求在评估之前标签唯一且有效。要查看实际的规则配置和原生原因,不能只看画出来的箭头。没有经过验证的几何,就不要用物理公差去替代图像局部的区间。符号或坐标的修正,必须同时在预期的关系和对调后的关系上得到证明,而不能因为现在某一个正常的装配件通过了就接受。
追踪装配事件
分别追踪采集命令或事件、源帧、装配件标识、节点图版本、原始判定和接收端动作。重复出现的旧图像,会让处理看上去很稳定,而当前装配件其实从未被检测。要在隔离环境中测试延迟、缺失和被取消的结果,并确认它们按明确的非合格方式处理。检查队列或缓存是否用上一个装配件迟到的答复,覆盖了当前的结果。要保留原始的复核(Review)结果和执行错误,而不是把它们映射成一个方便的可见零件计数。时序和控制器的行为,需要有各自经过验证的工位约定;仅凭离线处理日志,并不能认定集成已经通过。
保留诊断工作表
为每个失败案例在工作表中写一行,记录它的原始图像、独立参考、样件和事件标识、裁切坐标、节点图与运行时版本、原始零件证据、有效性、规则以及疑似成因。再补上鉴别对照,以及能推翻该解释的观察。候选结果要与基线放在一起保留,包括尚未解决的案例。该表把可见性、重复、关系和事件这几类排查分开,并不规定某种通用的过滤方法。复核和执行失败要保留在计划分母之内。这样,另一位工程师就能区分:哪些是有依据的修正,哪些只是挑出了变得方便处理的样本之后才拼凑出来的、貌似合理的说法。
| 故障特征 | 鉴别对照 | 须留存的证据 |
|---|---|---|
| 所需零件跨过观察边界 | 同一样件在声明的各姿态下 | 完整帧、区域坐标与有效性 |
| 所需标签有多个候选 | 检查原始连通域或模型候选 | 原始掩膜或检测结果,附标签映射 |
| 零件可见,关系判定却反了 | 核对标签顺序和带符号坐标规则 | 实际中心、变换与冻结的规则 |
| 当前装配件显示的是更早的结果 | 在隔离环境中注入延迟或缺失的结果 | 装配件、图像、请求和动作的标识 |
验证修正,且不掩盖失败
先在冻结的开发样本组上验证拟议的修正,再在独立的验收装配件上验证,所用的限度须在运行之前约定好。要确认可见缺陷仍然能被检出,并且没有哪个原有的失败只是变成了未上报的复核、过时的帧,或者被重新贴了标签的参考。把改动后的节点图和采集配置,连同最初的基线一起冻结。如果所需的机械特性是隐藏的,或者零件识别仍未得到证实,就保留这条边界,并要求采用另一种观察或测试。Deyi Vision 可以支持对受支持工作流的诊断,但本文的流程并不能为当前的软件包、真实的相机安装或量产装配性能提供认证。
修正需要一个鉴别对照
保留失败的证据,在不挑选方便的候选的前提下,验证拟议的解释。
- 冻结失败案例与参考
- 列出相互竞争的成因
- 进行受控对比
- 验证修正,或保留未解决的范围
来源与技术参考资料
这些资料说明了本教程所用方法的依据与适用范围。文中的检查示例仅供参考;量产验收需要用你自己的样品取得证据。
- Contours: Getting StartedOpenCV核查于
- Morphological TransformationsOpenCV核查于
- Triggered Image AcquisitionBasler核查于
部件与选型参考
- machine vision software · 英文参考资料
- 机器视觉验收测试清单
- 自动化外观检测
- 机器视觉系统
- 电池极耳焊接高度检测
- 巴鲁夫 Balluff 视觉传感器替代方案
- 得利捷 Datalogic 读码器替代方案
- Banner Vision Sensor Alternative · 英文参考资料
- EAN-13 追溯:重复与漏读
- 可见液位检测的相机设置
- 可见液面边界的照明与 ROI
- 排查可见液位判定不稳定的问题
- 用混淆矩阵设定检测阈值
- 检查激光轮廓基准与缺失数据的处理行为
- OCR 标签核对:不可读文本与错误文本
- 为未封口包装的完整性检测设置相机
- 为未封口包装的内容物选择照明与 ROI
- 排查包装完整性的误判
- 密封与胶条外观:断口诊断
- SKU 颜色分选:通道与漂移诊断
- 表面缺陷检测:误报诊断

