3. In-Sight深度学习工具与界面导航

In-Sight ViDi 是康耐视在 In-Sight 视觉系统上提供的深度学习工具集,它把深度学习检测能力封装成几个可组合的“工具”,并嵌入到 In-Sight 软件(In-Sight Vision Suite / In-Sight Explorer 的 ViDi 环境)中。要真正用起来,第一步不是急着调参数,而是先弄清工具集的分工、界面各区域的作用,以及一个任务从图像采集到工具调用的完整创建流程。

一、ViDi 工具集:四类工具的分工

ViDi 工具集围绕“定位—分类—检测—读取”四类典型任务组织,每个工具解决一类问题,输入输出接口彼此衔接:

  • ViDi Blue – Locate(定位):在图像中找出目标的位置与角度,输出目标的坐标、角度和匹配分数。它通常作为整条任务链的“入口”,为后续工具提供对齐后的区域。
  • ViDi Blue – Analyze(分析/分类):对已定位区域进行特征分析,判断其类别或状态,例如区分良品/不良品、判断有无缺陷类型。输出类别标签与置信度。
  • ViDi Red – Analyze(缺陷检测):面向无固定形态的缺陷(划痕、脏污、缺料等),通过训练正常样本学习“正常长什么样”,再对异常区域给出缺陷分数与热力图。
  • ViDi Green – Read(读取):针对字符、文本、OCR 类任务,在定位后的区域内读取字符内容,输出字符串与字符级置信度。

四类工具不是必须全部使用,而是按任务需要组合。例如一个典型外观检测任务可以是:Locate 找到产品 → Red Analyze 判断表面缺陷 → Green Read 读取产品上的批号。工具之间通过“区域(Region)”和“图像”传递数据,前一个工具的输出区域会成为后一个工具的输入区域。

二、界面布局:四个关键区域

ViDi 环境的主界面可以按功能划分为四个区域,理解它们的位置关系能显著减少操作时的来回切换:

  • 图像显示区(中央):显示当前图像、已定义的区域框、工具输出的热力图或标注结果。所有区域定义、工具结果的可视化都在这里完成。
  • 工具/任务树(左侧):以树状结构列出当前任务中的图像源、区域和工具,反映任务的层级与调用顺序。选中某个节点,右侧参数面板会切换到对应工具的配置项。
  • 参数与训练面板(右侧):显示所选工具的参数、训练样本列表、训练按钮和结果指标(如分数、置信度、混淆情况)。
  • 图像列表/样本管理区(底部或侧边):管理已采集或导入的图像,区分训练集与验证集,支持标注和样本增删。
建议在开始配置前先确认图像源已连接、相机能正常取流,否则后续所有区域和工具都建立在无效图像上。

三、任务创建流程:从图像到工具调用

一个 ViDi 任务的创建通常遵循“采集图像 → 定义区域 → 调用工具 → 训练/验证 → 输出结果”的顺序。下面以“金属零件表面缺陷检测”为例,给出可参考的示例流程与参数(示例参数为合理假设,实际需按现场调整):

  1. 图像采集:连接相机或加载图像文件夹,采集至少 30~50 张正常样本和若干缺陷样本。示例中分辨率设为 1280×1024,曝光时间 8 ms,增益 1.0,确保零件表面亮度均匀、无过曝。
  2. 定义区域:在图像显示区用矩形或环形工具框出零件所在区域,命名为 Part_ROI。若零件位置有波动,可先用 Locate 工具定位,再把 Part_ROI 绑定到 Locate 的输出坐标系上,使区域随零件移动。
  3. 调用工具:在任务树中依次添加 Locate、Red Analyze、Green Read。Locate 的输入为整幅图像,输出为零件位姿;Red Analyze 的输入为 Part_ROI,输出为缺陷分数;Green Read 的输入为批号区域,输出为字符串。
  4. 训练与验证:Red Analyze 用正常样本训练“正常模型”,再用缺陷样本验证。示例中训练 40 张正常图,验证 10 张缺陷图,观察缺陷分数是否明显高于正常样本的分数阈值(示例阈值设为 0.65)。
  5. 结果输出:将各工具的判定结果组合成最终 OK/NG 信号,通过 In-Sight 的通信接口(如 TCP/IP、PLC)输出,或在界面中直接查看热力图与分数。

整个流程中,区域定义和工具调用顺序是最容易出错的两步:区域没对齐会导致后续工具“看错地方”,工具顺序颠倒则会让输入区域缺失。建议每添加一个工具就立即用一张样本图验证其输出是否合理,再继续下一步。

四、图像采集、区域定义与工具调用的关键操作

图像采集方面,除了相机实时取流,ViDi 也支持从文件夹批量导入图像。导入时注意图像命名规范,便于区分正常/缺陷样本。若使用实时相机,建议先固定曝光和增益,避免训练与生产时图像亮度不一致。

区域定义方面,区域可以是矩形、圆形、环形或多边形。定义时遵循“紧贴目标、留少量余量”的原则:区域过大引入背景干扰,区域过小可能裁掉缺陷。对于位置波动的目标,优先使用 Locate 输出的动态区域,而不是固定坐标区域。

工具调用方面,在任务树中右键添加工具后,需要显式指定其输入区域。例如 Red Analyze 的输入应选择 Part_ROI,而不是整幅图像。工具的参数面板中,训练相关参数(如样本数量、迭代次数)和判定参数(如分数阈值)应分开设置,先训练后调阈值。

In-Sight ViDi 任务创建与工具调用关系 图像采集 相机 / 文件夹导入 曝光 8ms · 增益 1.0 区域定义 Part_ROI 矩形/环形 绑定 Locate 动态坐标 工具调用 Locate → Red Analyze → Green Read 训练验证 正常/缺陷样本 阈值 0.65 工具链数据流(示例:金属零件表面检测) ViDi Blue Locate 输出:坐标/角度/分数 ViDi Red Analyze 输出:缺陷分数/热力图 ViDi Green Read 输出:字符串/置信度 结果输出 OK / NG 区域 区域 结果 ViDi 界面布局示意 工具/任务树 图像源·区域·工具 图像显示区 区域框·热力图·标注 参数/训练面板 阈值·样本·指标 样本管理区 训练集/验证集

五、常见问题与判断依据

在任务创建过程中,几个典型问题值得提前注意:

  • 区域未随目标移动:如果零件位置有波动但区域是固定坐标,缺陷可能落在区域外。判断方法是查看多张样本图中区域框是否始终覆盖目标;若不是,应改用 Locate 动态区域。
  • 训练样本不足或分布不均:正常样本过少会导致模型把正常波动误判为缺陷。示例中建议正常样本不少于 30 张,且覆盖不同光照和位置变化。
  • 阈值设置过高或过低:阈值过高会漏检缺陷,过低会误报。判断依据是观察验证集上缺陷分数与正常分数的分布是否分离;若重叠明显,需要补充样本或调整区域。
  • 工具输入区域选错:例如 Red Analyze 误选了整幅图像而非 Part_ROI,会把背景变化也当作缺陷。检查方法是查看工具的热力图是否集中在目标区域。