在数字孪生中测试 AI
简介
训练 AI 模型后,下一个(可选)步骤是在数字孪生环境中测试模型。此步骤涉及使用 AI 模型实时执行对象检测,以评估其在识别对象或模式方面的准确性和性能。测试可以在全面的数字孪生环境中进行,该环境模拟各种工业和自动化组件,包括 PLC 接口、机器人、驱动、传感器等。
在提供的乐高示例中,AI 检测系统用于跟踪乐高砖块并将其分拣到指定箱子中。测试过程从 AI 执行对象检测开始,识别场景中的乐高砖块,识别其位置并分类其类型或颜色。然后,系统持续在帧之间跟踪检测到的砖块,维护有关其位置和身份的信息。
在数字孪生环境中进行测试提供了多项好处。它提供了一个安全的模拟空间,在真实部署之前测试 AI 算法,确保训练好的模型按预期执行。它还允许进行集成测试,验证 AI 系统与 PLC、机器人和传感器等其他组件的无缝协作。此外,它还提供了在实际部署之前微调 AI 模型和系统参数以优化性能的机会。

Object Detection
Object Detection 脚本负责使用训练好的 AI 模型识别数字孪生环境中的对象。此组件的配置属性包括:
- Model:
用于检测的训练好的 AI 模型资源。在此示例中,模型设置为 lego-demo-n,该模型之前已在 AI 训练中训练。

- Labels:
与模型关联的标签定义,例如 LegoLabels。这些标签指定模型可以识别的类别(例如不同类型的对象或组件)以及检测预览中使用的类别颜色。
- Backend:
指定用于运行检测的计算后端。可以设置为 CPU 或 GPU,取决于可用的硬件和性能要求。
请注意,GPU 需要安装 CUDA
- Confidence:
检测对象的置信度阈值。AI 只会识别置信度分数等于或高于此值的对象。例如,如果设置为 0.25,则只有置信度至少为 25% 的检测才会被视为有效。
- Margin:
定义检测区域的额外边距设置:
- X: 水平边距。
- Y: 垂直边距。
这些边距可以调整以扩大或缩小用于检测的区域。Margin 为 0.1 意味着相机边长的 10%。
- Detections:
指示检测到的对象数量。您可以打开表格查看有关检测的更多信息。
Object Tracker
Object Tracker 脚本管理跨多个帧的检测对象跟踪,随时间保持其身份。配置设置包括:
- Tracking Parameters:
几个参数控制跟踪算法:
- Required Frames: 对象必须被检测到的最少帧数才能被视为有效的跟踪对象。
- Max Missing Frames: 对象未被检测到的最大帧数,超过后被认为丢失。
- Max Distance X / Max Distance Y: 对象在帧之间可以移动的最大距离(X 和 Y 方向),才能仍被视为同一对象。
- Box Loss Weight: 跟踪算法中边界框尺寸使用的权重因子。
- Horizontal Loss Weight / Vertical Loss Weight: 分别用于优先考虑水平和垂直方向跟踪精度的权重因子。
- Tracked Objects:
显示当前跟踪对象的信息,包括:
- Time Stamp: 仿真中的当前时间帧或步骤。
- Ids: 分配给跟踪对象的唯一标识符。
- Centers: 跟踪对象在场景中的中心位置。
- Sizes: 每个检测到的对象的边界框尺寸。
- Labels: 每个检测到的对象的类别标签。
AI Tracking PLC Interface
AI Tracking PLC Interface 脚本将基于 AI 的跟踪与可编程逻辑控制器 (PLC) 集成,以实现基于视觉数据的实时自动化控制。
- Active:
指示 AI Tracking PLC Interface 何时激活。在此情况下,它设置为 Always,意味着接口持续监控和发送跟踪信息。
- Signal Tracking:
指定用于跟踪目的的 PLC 输入或信号。例如,DemoSignalTrackingToPLC 表示将对象跟踪数据通信到 PLC 的信号。在示例中,所有跟踪数据作为 JSON 发送到 PLCInputText 信号。
- Debug Mode:
启用或禁用调试日志。启用后,会记录有关跟踪和 PLC 接口的附加信息,这有助于故障排除。