Skip to content

[Question]: 关于 sys2 训练用的 pixel goal 生成脚本和 goal.{setting} 标注 #351

@Steven-Chen-ECNU

Description

@Steven-Chen-ECNU

Question

您好,DualVLN 作者们,

感谢你们开源这项非常优秀的工作。我目前正在研究 dual-system with NavDP 设定,并尝试进行一些分析实验,其中一个非常重要的子步骤是:从世界坐标系下的 waypoint 转换为用于 System 2 训练的 pixel-goal。

在论文中,System 2 通过 pixel-goal grounding task 进行训练,其中会将 3D trajectory (我理解可能是来自episode中的reference_path字段,或者是pose也就是lerobot parquet中的demo traj字段?) 投影到 2D 第一视角观测中,并通过基于深度的可见性过滤来生成监督信号。在公开的训练代码里,我注意到 NavPixelGoalDataset 会读取如下字段:

- pose.{setting}
- goal.{setting}
- relative_goal_frame_id.{setting}

这些字段来自 LeRobot parquet 文件。我的理解是,goal.{setting} 就是用于训练 System 2 的 GT pixel-goal supervision。

请问你们是否可以分享(或指出)用于从 VLN-CE trajectories / reference_path 生成这些 pixel-goal annotations 的脚本?

如果预处理脚本暂时还不方便公开,是否可以简单描述一下用于生成 goal.{setting} 和 relative_goal_frame_id.{setting} 的标注规则(包括转换脚本的一些核心思想和细节)?具体来说,我们想要确认以下几点:

  1. 对于每一当前帧,您搜索/投影哪一系列候选未来点以生成 goal.{setting}:是未来的 reference_path 点、未来的 pose.{setting} 帧,还是另一条重采样/平滑后的轨迹?
  2. 对于每个候选未来点,被投影的具体 3D 点是什么:agent/base 位置、camera 位置,还是地面层 waypoint?
  3. 从 trajectory/world 坐标系到第一视角 camera 坐标系,使用了什么坐标变换?
  4. 在 goal.{setting} 中,坐标顺序和图像尺度具体是什么:(x, y) 还是 (row, col),原始 640×480 图像坐标、resize 后的 384×384 坐标,还是其他约定?
  5. relative_goal_frame_id.{setting} 的具体含义是什么?它是否表示“当前帧到所选未来帧/waypoint 的相对偏移”?
  6. 基于深度的 visibility/occlusion check 是如何实现的?例如,是否会将投影点深度与该像素处的 depth image 做比较?是否存在容差阈值或 neighborhood check?
  7. 当多个未来点同时可见时,目标是如何选择的?例如,是否会选择轨迹中“最远的可见未来点”?
  8. 当没有任何未来点可见时,view-adjust labels 是如何生成的?以及此时 relative_goal_frame_id.{setting} 是否会被设置为 -1?

这些信息将极大帮助我们复现 pixel-goal grounding 数据,并开展相应分析实验

再次感谢你们出色的工作!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions