
过去几年AI 圈默认一条训练铁律数据越多模型越强。于是大家把互联网上能爬的文本几乎爬了一遍把能标注的图片视频也标了一遍直到 Scaling Law 开始出现边际收益递减的争论。李飞飞在最新访谈里说了一句很值得琢磨的话——人也不全靠现实数据学习啊。这句话表面上是认识论讨论背后藏的其实是 AI 技术路线的一次转向从“堆互联网静态数据”转向让机器在三维空间里感知、推理、行动。这篇博客不打算停留在访谈观点复述而是把“空间智能”这个关键词拆开讲清楚它对算法工程师、数据工程师和 AI 应用开发者到底意味着什么再给出一条可以跑通的最小实践链路。读完你会明白为什么大模型“看”了很多图却仍然不知道物体背后长什么样以及接下来 AI 的关键瓶颈可能不在参数量而在空间感知能力。我先把核心判断放在这里李飞飞这句话不是否定数据而是在重新定义数据。人的学习之所以高效是因为我们不仅从“静态观察”中学习更从“空间交互”中学习——我们推过杯子、绕过桌子、判断过距离这些动作反馈构成了对三维世界的先验理解。如果 AI 要走到具身智能和世界模型时代训练信号就不能只来自“看过的图片”而必须包含空间结构、交互反馈和世界动态。1. 为什么这句话值得技术人关注李飞飞是 ImageNet 的推动者也是过去推动深度学习从“数据集监督学习”走向规模化的人。现在她公开表达“人不全靠现实数据学习”分量和非共识程度都远高于普通技术讨论。如果你只把这句话当哲学表达那就漏掉了它背后的工程含义。我们可以从三个层次理解这句话。第一层互联网数据是真实世界的高损压缩。文本是对客观世界的一种符号化描述图片是对三维场景的二维投影。大模型在这类数据上训练本质上是在学习“被压缩过的世界”而不是直接学习世界本身。它能生成一篇流畅的文章但无法从一张桌子图片中推算出桌子的深度、厚度、背面的结构以及手伸过去应该用多大力气。这些信息在二维图像里被丢掉了模型再大也补不回来。第二层人类的认知恰恰建立在空间交互之上。婴儿在学会语言之前已经通过抓握、移动、转身理解远近、大小、遮挡和因果。这种学习不是“输入数据—输出标签”的监督学习而是通过身体和环境持续互动在大脑里构建了一个可预测、可模拟的“世界模型”。李飞飞强调这一点的目的是提醒我们空间智能不是数据量的副产品而是另一条独立的能力维度。第三层AI 完全可以用“想象空间”和“仿真空间”来补充训练数据。人脑可以在没看到实物的情况下想象物体的背面、抛物线的轨迹、可乐罐被推倒后的状态。今天的仿真器和生成式世界模型正在给 AI 提供类似的能力——用合成出来的空间交互数据代替真实世界中海量的试错反馈。用一句话概括大模型正在逼近“文本智能”的天花板而下一个十年拼的是“空间智能”。这篇文章接下来的内容都是围绕这个判断展开的。2. 空间智能是什么概念、层次与常见误区“空间智能”Spatial Intelligence不是李飞飞发明的词。认知心理学早就把空间能力列为人类智力的重要组成部分但她把这个概念明确迁移到 AI 领域并赋予了工程定义在三维空间中感知、理解、推理并行动的能力。拆开看空间智能至少包含四个层次。感知层能识别物体、边界、深度和纹理。这是传统计算机视觉已经做得比较好的部分。几何层能理解物体的三维结构、相对位置、遮挡关系和尺度。比如 3D 重建、深度估计、SLAM 都属于这一层。推理层能在空间关系之上做推断。比如“杯子在桌子的右侧机械臂从左上方往下抓不会被挡住吗”“这个箱子能不能放进那个货架”。这类问题需要几何推理而不是简单的模式匹配。行动层把推理结果转化为具体动作序列。机器人抓取、无人机避障、自动驾驶变道都属于空间智能的行动层。这里给一张对比表能更直观地看出传统视觉和空间智能的差异。维度传统图像识别空间智能输入单张图片为主图像、视频、深度、多传感器、交互反馈输出类别、边界框、分割掩码3D 结构、空间关系、未来状态、动作序列数据依赖互联网图片 标注空间数据 时序数据 交互数据代表任务分类、检测、caption3D重建、导航、抓取、世界模型推理评价指标准确率、mAP几何一致性、物理合理性、任务成功率理解这个层次之后你会发现三个很常见的误区。误区一空间智能等于 3D 重建。实际上3D 重建只完成了“几何层”的一部分。重建出一个桌子点云不代表模型知道“推倒杯子会流出来液体”这个物理结果。空间智能的核心在推理和行动重建只是地基。误区二视频数据就是空间数据。视频确实比单帧图像多了时间信息但普通 RGB 视频缺少深度、材质、物理反应和交互反馈。一个模型看了几百小时视频依然不知道把一个球扔到墙上会以什么角度弹回。真正的空间数据应该包含三维几何信息或者交互结果。误区三大模型能看图就等于理解空间。多模态大模型可以把图片转成文字描述但实验里经常出现“把图片翻转 90 度模型回答完全变了”的问题。原因是模型在文本与图像对齐时学到的更多是视觉-语义关联而不是几何结构。能用语言描述“桌子上有个杯子”和能够推算出杯子的抓取点是两个完全不同的任务。所以空间智能不是一个单一技术而是一条完整的“感知—几何—推理—行动”能力栈。理解这个栈你才能判断 World Labs 以及整个 AI 行业正在做什么。3. 从静态数据到世界模型技术范式变化先看当前主流多模态模型的一个共性缺陷它们处理的是静态数据。你给模型一张“人推倒积木”的图它可以识别出积木、手、桌子但它无法预测积木倒下后会往哪个方向滚也无法证明这个场景在三维空间中真实存在。它只是把图像像素映射到语言空间做了一次漂亮的“翻译”。李飞飞联合创办的 World Labs方向是做“生成式世界模型”。这里的关键不是“生成一段视频”而是生成一个可交互、符合空间一致性、允许你改变视角并观察因果关系的三维场景。你进入这个场景后可以向左走一步再看同一堆物体物体之间的遮挡关系会正确变化你推动其中一个物体其他物体会根据物理规则做出响应。这种思路和 Sora 这类视频生成模型看起来相似底层逻辑不一样。视频生成模型的目标是“生成看起来连贯的像素”而世界模型的目标是“生成一段连贯的三维规则”。前者可能在某个时刻出现物体数量变化、遮挡矛盾因为它的约束来自像素统计后者必须在潜在的三维空间表示上保持一致因为它的约束来自几何和物理。从技术实现看当前走向生成式世界模型主要有三条路线而且它们经常被组合使用。第一条是围绕 3D 表示结构展开。以 NeRF 和 3D Gaussian Splatting 为代表把场景建模成显式或隐式的三维结构。这类方法能让模型在任意新视角下渲染图像是空间智能和世界模型的基础组件。第二条是在视频扩散模型中加入几何约束。让模型不只优化像素重建损失还优化深度一致性、相机位姿一致性、表面法向一致性。这样生成的结果在二维上美观在三维上更可信。第三条是接入物理仿真引擎。仿真器可以生成海量“空间交互数据”——比如机器人推动物体、物体坠落、装配过程这些数据天然带有深度、力反馈和因果标签。李飞飞强调“人也不全靠现实数据学习”对应到工程上就是AI 可以在仿真环境中生成海量“想象经验”而不必全部来自互联网抓取。世界模型之所以重要是因为它给了 AI 一个“脑内模拟器”。人类在没有数据的情况下能想象“如果我把杯子往右推它会掉下桌子”这是因为大脑内置了一个近似物理引擎。世界模型就是要在机器里复制这件事。它一旦成立机器人训练就不再需要每次都在真实世界试错而是可以先在模型生成的场景里预演千万次。4. 对 AI 开发者意味着什么很多读者看到这里会想空间智能听起来是学术前沿和我有什么关系实际上它已经在改变数据、模型、评估和应用四条技术线。数据层面互联网文本和图像在空间任务中越来越不够用。接下来的关键数据资源是多视角图像、深度图、点云、3D 扫描、仿真器生成的交互轨迹、机械臂遥操作数据。如果你现在负责数据平台建设应该开始把 3D 数据和仿真数据纳入长期规划而不是继续只清洗文本。模型层面架构正在从“只看不懂”走向“看了能动手”。过去两年我们熟悉的是视觉语言模型 VLM输入图像和文本输出文本。现在出现的是视觉语言动作模型 VLA输入图像、文本和机器人状态输出动作指令。这类模型需要把空间表征显式地引入网络结构深度图、点云和 3D 特征不再是可选项而是核心输入。评估层面静态指标的权威性在下降。过去评价一个视觉模型看 mAP、准确率、CLIP Score 就够了空间智能时代还要测试视角一致性同一场景换角度后结论是否一致、空间关系正确性物体 A 是否真在物体 B 左侧、物理合理性推一个物体后是否按预期运动。这意味着测试集设计和评测工具链都要往前迭代。应用层面最先受益的是机器人、自动驾驶、AR/VR、数字孪生、智能仓储、无人机巡检。这些场景的共同特点是模型必须处理真实三维环境并对动作负责。普通的内容生成应用也会受益但受益最深的一定是“和物理世界打交道”的系统。一句话总结空间智能不是给 CV 研究员颁奖的学术奖项而是给整个 AI 基础设施重新排序的工程变量。你现在掌握的文本数据方法论只是完整世界模型训练中的一部分。5. 最小实践用空间感知打通一条完整链路如果只看访谈你很难体会到空间数据和文本数据的差异。下面我们用一个可以运行的最小实践把“从一张普通图片到三维结构”的链路走一遍。完整的链路是输入一张 RGB 图片 → 用单目深度估计模型预测深度 → 把深度图转成三维点云 → 用点云库做可视化和几何分析。这是空间智能应用中最基础、也最能说明问题的一条流水线。5.1 环境准备建议使用 Python 3.9 以上版本并创建独立的虚拟环境。需要安装 PyTorch、TorchVision、OpenCV、NumPy 和 Open3D。版本以你本机的 CUDA 环境和 Python 版本为准不要直接复制网上某个固定版本号。python -m venv spatial_demo_env source spatial_demo_env/bin/activate # Windows 使用 spatial_demo_env\Scripts\activate pip install torch torchvision opencv-python numpy open3d如果你没有 GPU所有示例都能在 CPU 上运行只是速度会慢一些。为了节省时间建议找一张尺寸适中的普通室内照片作为测试输入而不是 4K 大图。5.2 步骤一单目深度估计第一步用一个预训练的单目深度估计模型从普通图片中恢复深度图。这里以公开的 MiDaS 小模型为例它可以直接通过 torch.hub 加载适合快速验证。# spatial_demo/depth_estimation.py import numpy as np import torch import torchvision.transforms as transforms from PIL import Image # 加载 MiDaS 小模型首次运行会从网络下载权重 model torch.hub.load(intel-isl/MiDaS, MiDaS_small) model.eval() # 根据模型输入要求做预处理不同模型均值方差可能不同 transform transforms.Compose([ transforms.Resize((256, 256)), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]), ]) img Image.open(input.jpg).convert(RGB) input_tensor transform(img).unsqueeze(0) with torch.no_grad(): depth model(input_tensor) # 插值回原图尺寸 depth torch.nn.functional.interpolate( depth.unsqueeze(1), size(img.height, img.width), modebicubic, align_cornersFalse, ).squeeze() depth_np depth.numpy() np.save(depth.npy, depth_np) print(depth shape:, depth_np.shape)这段代码的核心是把图片缩放到模型输入尺寸推理后把结果插值回原图分辨率最后保存为 npy 文件。MiDaS 这类模型的输出通常是逆深度/视差值越大代表离相机越近后续转换时需要先做逆变换。5.3 步骤二深度图转 3D 点云第二步把深度图映射到三维空间。这个过程需要相机内参包括焦距 fx、fy 和光心位置 cx、cy。下面代码中的 500 是一个假定的焦距实际项目中必须用相机标定结果替换。# spatial_demo/depth_to_pointcloud.py import numpy as np import cv2 def depth_to_pointcloud(depth, image, fx500.0, fy500.0): h, w depth.shape cx w / 2.0 cy h / 2.0 # 生成像素坐标网格 ys, xs np.meshgrid(np.arange(h), np.arange(w), indexingij) # 单目深度估计结果是相对深度用 1/d 做经验性转换 # 真实项目应使用深度传感器数据并配合标定外参 z 1.0 / (depth 1e-6) z (z - z.min()) / (z.max() - z.min() 1e-6) x (xs - cx) * z / fx y (ys - cy) * z / fy points np.stack([x, y, z], axis-1).reshape(-1, 3) colors image.reshape(-1, 3).astype(np.float32) / 255.0 return points, colors depth np.load(depth.npy) image cv2.cvtColor(cv2.imread(input.jpg), cv2.COLOR_BGR2RGB) points, colors depth_to_pointcloud(depth, image) np.savez(pointcloud.npz, pointspoints, colorscolors) print(point count:, points.shape[0])这里要特别提醒单目深度估计只能给出相对远近关系不能给出真实世界的绝对尺度。把 z 归一化到 0 到 1 区间只是为了演示点云结构。如果要真正用于机器人定位或抓取必须换成深度相机、激光雷达或通过多视角恢复绝对尺度。5.4 步骤三点云可视化和几何分析第三步用 Open3D 加载点云做降采样、可视化和简单的空间范围分析。这一步帮助你直观感受“从平面图像到三维空间”的跨越。# spatial_demo/pointcloud_analysis.py import open3d as o3d import numpy as np data np.load(pointcloud.npz) pcd o3d.geometry.PointCloud() pcd.points o3d.utility.Vector3dVector(data[points]) pcd.colors o3d.utility.Vector3dVector(data[colors]) # 体素降采样减少点数量 downsampled pcd.voxel_down_sample(voxel_size0.01) o3d.io.write_point_cloud(output.ply, downsampled) # 打印三维空间范围 min_bound downsampled.get_min_bound() max_bound downsampled.get_max_bound() print(min_bound:, min_bound) print(max_bound:, max_bound) # 可视化无图形界面环境可注释掉这一行 o3d.visualization.draw_geometries([downsampled])到这里我们就完成了一条“单张图片 → 深度图 → 点云 → 三维几何分析”的最小空间智能链路。你会明显感觉到三维点云比二维图像多表达了一个维度的信息物体不再只是像素颜色而是具有空间位置和尺度。6. 运行结果与效果验证依次运行以下命令python spatial_demo/depth_estimation.py python spatial_demo/depth_to_pointcloud.py python spatial_demo/pointcloud_analysis.py预期输出类似下面这样。具体数值会随输入图片变化但结构是一致的。depth shape: (720, 1280) point count: 921600 min_bound: [-0.85 -0.52 0.02] max_bound: [ 1.20 1.05 2.31]如果一切正常Open3D 会弹出一个可交互的三维窗口你可以用鼠标旋转视角观察物体的前后遮挡。这个窗口本身就是一次“空间智能”的直观体验同一张图片现在可以从不同角度看了。验证成功的标志有三个第一点云数量约等于图片像素数说明深度图尺寸是正确的。第二点击旋转视角后能看到物体前后层次感而不是一团乱点。这说明深度预测基本合理。第三min_bound 和 max_bound 比较接近真实场景的相对比例。如果两个值差得离谱比如 z 轴范围远大于 x/y 轴说明深度转换时的尺度处理有问题。如果运行失败优先检查三个位置输入图片路径是否存在图片是否过小。torch.hub 是否能正常联网下载模型权重。Open3D 是否安装成功是否有图形界面依赖缺失。这套链路跑通后你才能理解空间智能为什么不是“多加点文本数据”能解决的——深度和几何信息需要另一种数据通道来提供。7. 常见问题与排查思路单目深度估计和点云处理在实际执行中会有不少坑。下面是几个高频问题。问题现象可能原因排查方式解决方案深度图全是噪点或黑色图片光照不均或分辨率过低查看原图像素分布做亮度归一化使用更清晰的输入图点云形状扭曲严重相机内参是拍脑袋填的对比不同焦距的效果用真实相机标定参数替换 fx/fy点云 z 轴范围与场景不匹配单目深度是相对深度无法恢复绝对尺度打印深度图分布使用深度相机或加入尺度先验生成点云数量非常多程序卡死原图分辨率过高查看图片尺寸先压缩到 720p 左右再处理Open3D 可视化窗口打不开无图形界面环境检查系统环境变量用 offscreen 渲染或保存 png 截图输入图像包含多人面部等敏感信息没有做脱敏处理查看数据来源提前做模糊或裁剪保护隐私除了这些问题更要清楚空间智能当前的能力边界。单目深度估计只能给出相对深度不能完全替代硬件传感器静态点云重建无法预测物理动态更像是一张“三维照片”生成式世界模型生成的结果不一定满足真实物理规律距离真正可用还有很长的验证过程。把边界想清楚你才不会在项目选型时踩坑。8. 工程建议与最佳实践如果你所在团队准备进入空间智能方向下面几条建议可以直接用。第一数据策略走“仿真真实”混合路径。单纯依赖真实 3D 扫描成本极高单纯依赖仿真数据又有 sim-to-real 鸿沟。比较好的做法是先在仿真器里生成大规模交互数据再用小批量真实扫描和抓取数据进行微调。第二模型选型从“已有预训练”开始不要一上来就训练大模型。先用 MiDaS、Depth Anything 这类公开模型打通流程的深度估计环节再用 NeRF 或 3D Gaussian Splatting 做场景重建。等这些小模块的精度满足要求再考虑训练统一的 VLA 大模型。第三评估体系要提前搭建。空间智能任务的评估不能只看分类准确率。建议增加三类指标视角一致性把输入图片旋转或换视角后模型的空间判断不能发生矛盾几何一致性点云重建结果应该符合真实场景比例物理合理性对世界模型生成的结果要检查物体运动是否符合基本物理直觉。第四算力规划要克制。3D Gaussian Splatting 和视频扩散模型都很吃显存一个大型场景训练可能占掉 80GB 以上。建议先在小场景跑通确认算法方向正确再扩大规模。如果只是做方案验证使用云 GPU 按需申请比本地囤卡更划算。第五注意隐私和合规边界。空间数据往往涉及真实场景扫描比如办公室、厂房、甚至公共区域。采集前必须做好知情授权数据上传云端时要脱敏。涉及安全、权限和敏感区域的系统更要坚持最小权限原则在测试环境验证后再进入生产。第六团队协作要跨工种。空间智能项目很少是单一算法团队能独立完成的。它需要计算机视觉工程师处理几何算法需要后端工程师建设数据管道需要仿真工程师搭建交互环境也需要机器人或硬件工程师提供真实反馈。团队能力配比比选哪个模型重要得多。9. 总结与下一步学习方向李飞飞那句话的本质是把 AI 的训练素材从“关于世界的描述”扩展到“世界本身”。文本和图片是世界的投影三维结构、空间关系、物理交互才是世界本体的信息。当前大模型在文本智能上已经足够惊艳但距离理解真实物理世界还有一段关键距离这段距离恰恰需要空间数据和世界模型来填补。如果你愿意往下深挖建议按这条路线推进。第一步跑通今天文章里的最小链路直观理解深度图和点云。这是空间智能的“hello world”。第二步学习 NeRF 和 3D Gaussian Splatting理解如何从多视角图像恢复三维场景。不需要啃完所有论文但至少要能回答“为什么多视角能恢复三维结构”。第三步研究 Diffuser 类世界模型和 Sora 等技术重点看它们如何在生成过程中加入几何约束和因果约束。第四步关注 VLA 模型和具身智能基准。如果你能动手买一台低成本机械臂做抓取实验会远比看论文更能建立空间直觉。最后提醒一句不要被“世界模型”“空间智能”这些大词吓住它们背后是一系列具体工程问题的重新组合。与其继续等下一个更大的文本数据集不如现在就开始积累空间感最强的那部分数据。毕竟人类学习从不是只靠刷题AI 也是一样。