了解步骤数据流

您正在查看最新版本(V2.2.0)的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持

本节将介绍Mech-Vision工程中的数据流,以及数据类型、数据维度、框架循环与常见问题排查方法。

关于数据流

在Mech-Vision中,每个步骤都可视为一个算法处理单元:接收输入、执行计算、输出结果。多个步骤通过端口连接后,数据会沿连线方向逐步传递,形成完整的数据流。

连接端口时,建议重点关注两个要素:数据类型数据维度

数据流用于传递处理数据;控制流用于决定步骤是否运行。如需了解控制流,可参考了解步骤控制流

数据类型

数据类型描述端口上传输的数据形式,例如图像、点云、位姿、数值等。

建立数据流时,输入端口与输出端口的数据类型必须兼容,否则无法创建连接。关于连接操作,可参考创建和删除步骤之间的连接

调试工程时,可结合运行步骤并查看可视化输出结果确认上游步骤输出的数据类型与下游步骤预期是否一致。

数据维度

数据维度表示数据的结构层级。

  • 端口声明维度

    表示端口期望接收或输出的数据维度。通常在数据类型后通过[]表示维度层级。

    例如:

  • Pose:零维数据;

  • Pose []:一维数据;

  • Pose [][]:二维数据。

  • 实际输入/输出数据维度

    表示步骤运行时端口上实际传输的数据维度。实际维度可能大于、等于或小于端口声明维度。

框架循环

当实际输入数据维度大于端口声明维度时,步骤会按层循环处理输入数据,这一过程称为框架循环。

当步骤存在多个输入端口时,需要保证各端口在运行时的循环层级可以对齐,否则步骤可能无法按预期运行。

循环深度

循环深度表示步骤处理某端口数据时需要循环的层数,可理解为:

循环深度 = 实际输入数据维度 - 端口声明维度

当步骤多个输入端口的循环深度不一致时,通常需要通过调整维度或启用复用输入来对齐。

升维和降维

当端口间循环深度不一致时,可在数据连线上进行升维或降维操作,调整数据结构,使输入更容易对齐。

  • 切片升维:将数据提升一个维度。

  • 合并降维:将数据降低一个维度。

具体可用性取决于当前数据是否为列表结构以及步骤本身的处理能力。若无法通过升维或降维解决,可结合复用输入处理。

复用输入

当某个端口数据无法或不适合进行升维、降维时,可启用复用输入,在步骤循环运行时重复使用维度较低或数量较少的输入数据,从而帮助步骤继续运行。

该参数入口位于步骤参数选项卡的运行标志分组,详细说明可参考了解步骤通用参数

自动升维

当实际输入数据维度小于端口声明维度时,系统会尝试自动升维,使输入满足步骤对维度的基本要求。

自动升维属于系统在运行阶段的自动处理,与手动的切片升维在触发方式和处理逻辑上不同。

顶层维度

部分步骤的输入端口没有固定声明维度,可直接继承上游输入数据的维度作为当前端口处理依据。这种情况可理解为顶层维度输入。

在工程调试时,若某端口维度表现与预期不一致,可优先检查其上游输出结构以及该端口是否属于此类输入方式。

错误排查

数据循环深度不一致

问题现象:

运行步骤或工程时,提示多个输入端口循环层级不一致。

解决方案:

  • 检查各输入端口的实际数据结构,确认上游输出是否符合预期。

  • 尝试在数据连线上进行切片升维合并降维,使端口循环深度对齐。

  • 视场景启用步骤的复用输入,帮助对齐输入。

端口数据个数不一致

问题现象:

运行步骤或工程时,提示多个输入端口的数据个数不一致。

解决方案:

  • 检查上游步骤输出的数据个数与组织方式。

  • 对数据个数较少的端口,尝试启用复用输入

  • 若有必要,可先通过维度调整再配合复用输入进行处理。

无法通过切片操作增加维度

问题现象:

为数据连线启用切片升维后,运行步骤或工程仍提示无法升维。

可能原因:

  • 当前输入数据不是可切片的列表结构。

  • 升维后超出当前步骤可处理的数据结构范围。

解决方案:

  • 取消切片升维并检查上游输出结构。

  • 改用复用输入或调整上游步骤输出组织方式。

无法通过合并操作降低维度

问题现象:

为数据连线启用合并降维后,运行步骤或工程仍提示无法降维。

可能原因:

  • 当前输入已为零维数据,无法继续降维。

  • 当前输入数据不是可合并的列表结构。

解决方案:

  • 取消合并降维并检查上游输出结构。

  • 改用复用输入或调整上游步骤输出组织方式。

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。