news 2026/6/16 12:53:22

ASCENT:突破多楼层导航的零样本物体目标导航框架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ASCENT:突破多楼层导航的零样本物体目标导航框架

1. 引言

在现代智能机器人的应用场景中,服务型机器人和配送机器人正逐步走入多楼层建筑环境。设想这样一个场景:你向家用服务机器人发出指令"帮我找到电视机",但电视机位于楼上的客厅。对于人类而言,这是一个自然而直观的任务——我们会本能地上楼、探索房间、最终找到目标物体。然而,对于当前的机器人导航系统来说,这个看似简单的任务却充满了技术挑战,特别是在陌生环境中进行导航时。

物体目标导航(Object-Goal Navigation, OGN)是机器人领域的一个核心研究方向,其目标是让机器人在未知环境中自主寻找并到达指定的目标物体。近年来,随着深度学习和计算机视觉技术的发展,OGN系统在单楼层环境中已经取得了显著进展。然而,当我们将视野扩展到多楼层建筑时,现有系统普遍暴露出严重的局限性。这些局限性不仅限制了机器人的实际应用范围,也阻碍了服务机器人在家庭、办公楼、商场等真实场景中的广泛部署。

为了量化多楼层导航问题的重要性,研究团队对两个广泛使用的OGN基准数据集进行了深入分析:HM3D(Habitat-Matterport 3D)和MP3D(Matterport3D)。这两个数据集包含了大量真实世界的室内场景扫描数据,被学术界和工业界广泛用于评估导航算法的性能。

统计结果揭示了一个令人震惊的事实:在HM3D和MP3D数据集的验证集中,超过65%的场景涉及多楼层建筑结构。更重要的是,约28%的导航任务明确要求机器人进行跨楼层移动才能到达目标物体。这意味着,如果一个导航系统无法处理多楼层场景,它将在超过四分之一的实际任务中直接失败。

这些数据清晰地表明,多楼层导航不是一个边缘化的特殊场景,而是机器人在真实世界中必须面对的普遍挑战。然而,现有的大多数OGN方法在设计时都隐含地假设机器人只在单一楼层活动,这种假设与实际应用需求之间存在着巨大的鸿沟。

针对上述挑战,来自香港科技大学(广州)、香港科技大学、新加坡国立大学和清华大学的联合研究团队提出了ASCENT(Autonomous Stair-aware Cross-floor Exploration and Navigation Technology)框架。这是首个支持在线多楼层零样本物体导航的完整系统,能够在未知的多楼层建筑中自主探索并找到目标物体,无需预先构建地图或针对特定任务进行训练。相关代码已经在Github开源了。

2.核心技术架构

ASCENT采用模块化设计,由两个相互协作的核心模块组成:多楼层抽象模块(Multi-Floor Abstraction)和粗到精推理模块(Coarse-to-Fine Reasoning)。这种设计既保证了系统的灵活性,又确保了各模块之间的高效协同。

从系统输入输出的角度来看,ASCENT接收RGB-D相机的视觉输入,经过多楼层抽象模块构建分层的环境表示,再通过粗到精推理模块进行决策,最终输出导航动作指令。整个过程完全在线进行,机器人在探索过程中逐步建立对环境的理解,无需依赖预先构建的全局地图。

2.1 问题形式化与优化目标

在技术层面,ASCENT将物体目标导航问题形式化为一个双目标优化问题。系统需要在探索成本和目标到达成本之间寻找最优平衡:

τ ∗ = arg ⁡ min ⁡ ( λ expl ⋅ c expl ( τ ) + λ goal ⋅ c goal ( τ ) ) \tau^* = \arg\min(\lambda_{\text{expl}} \cdot c_{\text{expl}}(\tau) + \lambda_{\text{goal}} \cdot c_{\text{goal}}(\tau))τ=argmin(λexplcexpl(τ)+λgoalcgoal(τ))

其中,τ \tauτ表示导航轨迹,c expl c_{\text{expl}}cexpl表示探索成本(包括移动距离和时间),c goal c_{\text{goal}}cgoal表示到达目标的成本,λ expl \lambda_{\text{expl}}λexplλ goal \lambda_{\text{goal}}λgoal是权重系数。这个优化目标反映了导航任务的本质矛盾:机器人需要充分探索环境以找到目标,但又要避免无效的探索浪费时间和能量。

多楼层抽象模块主要负责降低c goal c_{\text{goal}}cgoal,通过构建准确的环境表示和楼层连接关系,确保机器人能够高效地到达目标所在区域。粗到精推理模块则主要负责降低c expl c_{\text{expl}}cexpl,通过智能的前沿点选择策略,避免在低价值区域浪费探索资源。

2.2 三大核心贡献

ASCENT的技术贡献可以总结为三个方面:

第一,提出了首个在线分层框架,支持在未知多楼层建筑中进行探索和导航。与需要预先构建地图的方法不同,ASCENT能够在探索过程中动态构建和更新环境表示,适应各种未知的建筑结构。

第二,设计了粗到精的前沿点推理策略,将LLM调用次数减少了90%以上。这一创新解决了基于LLM的规划方法的效率瓶颈,使得实时导航成为可能。具体而言,系统默认使用快速的VLM进行粗粒度评估,仅在必要时才调用LLM进行深度推理。

第三,在标准基准测试中取得了最先进的性能。在HM3D数据集上,ASCENT相比之前的最佳方法提升了7.1%的成功率(SR)和6.8%的路径长度加权成功率(SPL);在MP3D数据集上提升了3.4%的成功率。更重要的是,在跨楼层导航任务中,ASCENT的成功率达到33.3%,大幅超越现有方法。

3. 多楼层抽象模块:构建分层环境表示

多楼层抽象模块是ASCENT实现跨楼层导航的基础。该模块的核心思想是为每个楼层维护独立的鸟瞰图(Bird’s Eye View, BEV)表示,同时建模楼层之间的连接关系。这种设计避免了将多楼层数据合并导致的空间重叠问题,为后续的规划决策提供了清晰的环境认知。

3.1 BEV地图表示:双地图协同机制

ASCENT采用两种互补的BEV地图表示来支持高效的探索和导航:

3.1.1 探索价值地图(Exploration Value Map)

探索价值地图M val M_{\text{val}}Mval整合了语义相似度和空间可达性两个维度的信息。与之前的方法(如VLFM)仅考虑语义相似度不同,ASCENT引入了基于距离的探索成本,确保机器人优先探索既语义相关又空间可达的区域。

对于第i ii个前沿点F i F_iFi,其探索价值计算公式为:

defsort_waypoints(self,obstacle_map,value_map,frontiers:np.ndarray,env:int=0,)->Tuple[np.ndarray,List[float]]:# 获取初始排序后的前沿点和值raw_sorted_pts,raw_sorted_values=value_map[env].sort_waypoints(frontiers,0.5)# 过滤掉禁用的前沿点filtered_pairs=[]forpt,valinzip(raw_sorted_pts,raw_sorted_values):iftuple(pt)notinobstacle_map[env]._disabled_frontiers:filtered_pairs.append((pt,val))returnnp.array([pair[0]forpairinfiltered_pairs]),[pair[1]forpairinfiltered_pairs]

这个设计的直觉是:当存在多个语义相关的前沿点时,机器人应该优先探索距离较近的区域,充分利用局部信息后再进行远距离探索。这种策略在实验中被证明能够显著提高探索效率。

3.1.2 楼梯感知障碍地图(Stair-Aware Obstacle Map)

楼梯感知障碍地图M obs M_{\text{obs}}Mobs是一个二值占用栅格,记录环境中的可通行和不可通行区域。与传统方法的关键区别在于,ASCENT不将楼梯视为障碍物,而是通过语义分割和深度分析将其标记为可通行的特殊区域。

该地图维护两个重要的持久化记录:

  • 黑名单(Blacklist):记录已尝试但失败的楼梯位置,避免重复尝试
  • 缓存(Cache):记录成功通过的楼梯的起点和终点坐标,用于后续快速通行

这种设计为跨楼层导航提供了拓扑基础,使得机器人能够在多个楼层之间灵活切换。

3.2 楼梯检测:双模态识别机制

楼梯检测是实现多楼层导航的关键技术。ASCENT采用双模态方法,能够同时检测向上和向下的楼梯。

3.2.1 向上楼梯检测

向上楼梯的检测结合了物体检测和语义分割两种技术。系统首先使用物体检测器识别候选楼梯区域,然后通过语义分割验证楼梯像素的占比。只有同时满足检测置信度和像素占比两个条件的候选区域才被认定为有效楼梯:

实际实现:楼梯检测逻辑集成在ascent/mapping/obstacle_map.py中的ObstacleMap类。核心代码片段:

# ascent/mapping/obstacle_map.py:520-541 (向上楼梯检测)ifnp.any(stair_mask)>0andnp.sum(seg_mask==STAIR_CLASS_ID)>20:stair_map=(seg_mask==STAIR_CLASS_ID)fusion_stair_mask=stair_mask&stair_mapifnp.any(fusion_stair_mask)>0:stair_depth=np.full_like(depth,max_depth)scaled_depth_stair=scaled_depth.copy()stair_depth[fusion_stair_mask]=scaled_depth_stair[fusion_stair_mask]# 生成楼梯点云stair_cloud_camera_frame=get_point_cloud(stair_depth,fusion_stair_mask,fx,fy)stair_cloud_episodic_frame=transform_points(tf_camera_to_episodic,stair_cloud_camera_frame)stair_xy_points=stair_cloud_episodic_frame[:,:2]stair_pixel_points=self._xy_to_px(stair_xy_points)ifagent_pitch_angle>=0andclimb_stair_flag!=2:forx,yinstair_pixel_points:if0<=x<self._up_stair_map.shape[1]and0<=y<self._up_stair_map.shape[0]:self._up_stair_map[y,x]=1
3.2.2 向下楼梯检测:主动探索策略

向下楼梯的检测面临更大的挑战,因为从当前视角往往无法直接看到下方的楼梯结构。ASCENT采用了一种创新的主动探索策略来解决这个问题。

系统通过深度图识别深度值小于-0.2米的区域,这些区域可能是地面的下沉部分,暗示着向下楼梯的存在。当检测到这样的潜在区域时,机器人会执行以下步骤:

  1. 执行LOOK_DOWN动作:调整相机角度向下观察
  2. 主动接近:向潜在楼梯区域移动,获得更好的观察视角
  3. 验证确认:使用物体检测和语义分割验证是否为真实的向下楼梯
# ascent/mapping/obstacle_map.py:551-562 (向下楼梯检测)ifagent_pitch_angle<=0andreach_stair==False:filled_depth_for_stair=fill_small_holes(depth,self._hole_area_thresh)inverted_depth_for_stair=max_depth-filled_depth_for_stair*(max_depth-min_depth)inverted_mask=inverted_depth_for_stair<2# 检测深度下沉区域inverted_point_cloud_camera_frame=get_point_cloud(inverted_depth_for_stair,inverted_mask,fx,fy)inverted_point_cloud_episodic_frame=transform_points(tf_camera_to_episodic,inverted_point_cloud_camera_frame)below_ground_obstacle_cloud_0=filter_points_by_height_below_ground_0(inverted_point_cloud_episodic_frame)below_ground_xy_points=below_ground_obstacle_cloud_0[:,:2]below_ground_pixel_points=self._xy_to_px(below_ground_xy_points)self._down_stair_map[below_ground_pixel_points[:,1],below_ground_pixel_points[:,0]]=1

这种主动探索策略使得ASCENT能够实现真正的双向楼层探索,而不是像之前的方法那样只能单向通行。这是实现灵活多楼层导航的关键能力。

3.3 跨楼层转换:动态导航机制

当系统决定进行楼层切换时,跨楼层转换模块负责执行实际的上下楼操作。这个过程涉及多个精心设计的步骤。

3.3.1 楼梯前沿点生成

…详情请参照古月居

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 12:52:40

怎样使用智能字体管理插件解决AutoCAD字体缺失问题

怎样使用智能字体管理插件解决AutoCAD字体缺失问题 【免费下载链接】FontCenter AutoCAD自动管理字体插件 项目地址: https://gitcode.com/gh_mirrors/fo/FontCenter FontCenter是一个专为AutoCAD设计的智能字体管理插件&#xff0c;通过客户端-服务器架构实现AutoCAD字…

作者头像 李华
网站建设 2026/6/16 12:51:55

企业级大模型AI聚合 API 聚合平台哪家靠谱?2026 架构拆解与选型决策指南

2026 年&#xff0c;企业应用对大模型的依赖已从实验性调用转入生产级密集吞吐。日均数百亿 Token 的工程现实&#xff0c;倒逼架构决策的重心从“模型数量罗列”彻底转向“协议保真度、底层调度容错与管理合规闭环”。API 聚合平台作为统一接入面的核心网关&#xff0c;其可靠…

作者头像 李华
网站建设 2026/6/16 12:50:19

天气数据可视化:从时序分析到地理空间映射的工程实践

1. 这不是PPT配图&#xff0c;而是天气数据的“听诊器”你有没有盯着气象局App里那条上下跳动的温度曲线发过呆&#xff1f;或者在新闻里看到“今明两天气温骤降8℃”时&#xff0c;下意识想点开原始数据看个究竟&#xff1f;——这恰恰是Data Visualization: Weather Data最真…

作者头像 李华
网站建设 2026/6/16 12:48:02

怎样高效解码QQ音乐加密文件:qmcdump实用工具实战指南

怎样高效解码QQ音乐加密文件&#xff1a;qmcdump实用工具实战指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码&#xff08;qmcflac/qmc0/qmc3 转 flac/mp3&#xff09;&#xff0c;仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump qmcdu…

作者头像 李华
网站建设 2026/6/16 12:47:00

5分钟解锁Windows远程桌面多用户:RDP Wrapper终极指南

5分钟解锁Windows远程桌面多用户&#xff1a;RDP Wrapper终极指南 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap 还在为Windows家庭版无法使用远程桌面而烦恼吗&#xff1f;RDP Wrapper Library 这款免费开源工具…

作者头像 李华