
136、3D场景理解与关系图:场景图生成与机器人推理深夜两点,我盯着屏幕上那个三维重建的点云,心里一万只羊驼跑过。场景里明明有一把椅子,模型愣是把它识别成了“可抓取物体”,而旁边的马克杯却被标成了“障碍物”。这不是第一次了——纯几何信息根本撑不起机器人对场景的理解。你要让机械臂去“把桌上的红杯子递给那个人”,它得知道哪个是桌子、哪个是杯子、哪个是人,还得知道杯子和桌子之间的支撑关系、人和杯子之间的归属关系。这就是3D场景理解里最硬核的那块骨头:场景图生成。先别急着上Transformer。我踩过最大的坑,是拿2D的检测框直接往3D点云上投影。你以为深度图对齐了就万事大吉?错。点云稀疏的地方,投影过去的2D框会歪到姥姥家,尤其是细长物体,比如笔、筷子,还有那些反光的金属表面——深度相机在黑色物体上基本就是瞎子。后来我学乖了,直接用3D检测器,比如GroupFree或者3DETR,直接在原始点云上出框,虽然慢一点,但至少框是准的。场景图是什么?说白了就是一张有向图,节点是物体,边是物体之间的关系。关系分两类:空间关系(“在……上面”“在……旁边”“在……里面”)和交互关系(“人拿着杯子”“椅子支撑着人”)。机器人推理的时候,光知道“桌子上有杯子”不够,它得知道杯子在桌子的哪个区域,是靠近边缘还是中心,这决定了抓取路径怎么规划。生成场景图,业界主流分两条路。一条是两阶段:先做3D物体检测,再对检测出的物体对做关系分类。另一条是一阶段:直接端到端,从点云里同时出物体和关系。两阶段的好处是稳,每个模块都能单独调优,坏处是误差会累积——检测框偏了,关系分类就跟着错。一阶段模型看着优雅,但训练起来极其痛苦,收敛慢,而且对数据量的要求是两阶段的十倍起。