Skip to content

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

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions