← 全部指南
指南 · 7 分钟

怎样 3D 扫描一个房间:LiDAR App、照片还是视频

3D 扫描房间的三种实用方法:用 LiDAR 扫描 App 得到户型图和尺寸,用摄影测量得到网格,或把视频变成真实感的高斯场景。附拍摄路线和常见问题。

01

扫描房间之前,先想清楚要什么

想 3D 扫描房间的人,通常要的是两样东西之一,而这两样并不相同。有人要数字:墙有多长、一张户型图、能交给施工方或导入设计软件的文件。有人要的是一个可以走进去看的画面:房间真实的样子,包括光线、杂物和材质,用来留存或给别人看。

没有哪一种方法两样都做得好。目前扫描房间有三种实用办法:

  • 手机或平板上的 LiDAR 扫描 App,用于户型图和尺寸。
  • 摄影测量,得到可以编辑的带贴图网格。
  • 视频转高斯泼溅,得到可以环绕查看的真实感画面。

这篇指南分别说明每种方法怎样扫描一个房间、会得到什么文件,以及在房间里怎么走才能拍成功。

02

方法一:用 LiDAR 扫描 App 得到户型图和尺寸

在 Apple 设备上,房间扫描大多从 RoomPlan 开始。它是 Apple 随 iOS 16 推出的 Swift API,由开发者集成到各自的 App 里。按 Apple 的说法,它利用 iPhone 和 iPad 上的相机和 LiDAR 扫描仪生成房间的 3D 户型图,包括尺寸和家具类型。

根据 Apple 的文档,RoomPlan 能识别墙、窗、开口和门,也能识别家具和电器,比如壁炉、床或冰箱。结果是参数化数据:一个个带尺寸的独立部件,而不是一整块三角面。它可以导出为 USD 或 USDZ,并在兼容 USDZ 的工具里调整;Apple 提到了 Cinema 4D、Shapr3D 和 AutoCAD。

Apple 也说明了限制。在介绍 RoomPlan 的开发者讲座里,它提到这个 API:

  • 最适合单个住宅房间,最大约 30 × 30 英尺,也就是 9 × 9 米。
  • 需要光线,建议 50 勒克斯以上。
  • 支持带 LiDAR 的 iPhone 和 iPad Pro 机型。
  • 单次扫描最好控制在 5 分钟以内,以免耗电和设备发热。

第三方 App 里,Polycam 提供使用 LiDAR 的 3D 房间扫描功能。Polycam 表示,家具和电器会被自动识别,可以根据扫描生成带尺寸的户型图,常规室内扫描的误差在 0.5 英寸以内。导出格式和户型图功能取决于你购买的套餐,正式用之前先确认。

这条路线的结果整齐、可测量,同时也是简化过的。RoomPlan 这类模型会在沙发的位置放一个方块,但不会显示你的沙发本身。

03

方法二:用摄影测量得到带贴图的网格

摄影测量用互相重叠的照片重建几何,给你一个带贴图的网格。如果想在 Blender 里编辑房间,或者放进游戏引擎,这很有用。我们核对过的选择包括:Epic Games 的 RealityScan,它用照片和激光扫描数据创建三维模型,年总收入低于 100 万美元的个人和小型企业可以免费使用;以及 Meshroom,一个采用 MPLv2 许可证的开源项目,预编译版本面向 Windows 和 Linux,基于 CUDA 构建。

对摄影测量来说,房间比物体更难。这种方法依赖在多张照片里找到相同的视觉细节,而室内到处是没有细节的表面。COLMAP 是一个广泛使用的运动恢复结构工具,它的文档要求避免完全没有纹理的画面,举的例子就是白墙和空桌面;如果场景本身纹理不够,它建议放一些海报之类的背景物。刷了漆的墙和天花板常常凹凸不平,或者干脆缺失。

只靠照片的重建也没有内置的真实尺寸。Apple 的摄影测量文档提到,照片带有深度数据时可以算出真实大小,否则可能需要自己缩放结果。如果需要尺寸,用卷尺量一面墙,再把模型缩放到一致。

04

方法三:把视频变成真实感的高斯泼溅

高斯泼溅用的输入一样,是照片或视频,但得到的东西不同。场景不是网格,而是用大量三维高斯(带颜色的柔和小团)来表示,起点是推算相机位置时得到的稀疏点。这种方法出自 Kerbl、Kopanas、Leimkühler 和 Drettakis 在 SIGGRAPH 2023 发表的论文。

对一个房间来说,实际得到的是一个可以环绕、可以在里面移动的画面,看起来就像原始素材,包括户型图会略去的那些柔软、杂乱的东西:布料、植物、书,还有光落在地板上的样子。

它给不了你的是可测量的模型。里面没有作为对象的墙,没有尺寸,也没有户型图。把它当作房间的真实记录,而不是测绘结果。

有好几种工具可以生成高斯场景。Niantic Spatial 的 Scaniverse 直接在手机上生成高斯泼溅和网格。在电脑上,SplatLoom 这类桌面应用可以处理你已经拍好的照片或视频。

05

先把房间准备好

花十分钟准备,可以省掉一次重拍。

  • 把灯打开。Apple 建议 RoomPlan 至少要有 50 勒克斯,并说这大约是家庭客厅夜间的亮度。对照片和视频方法来说,也是越亮越好。
  • 做 LiDAR 扫描时把窗帘拉开。Apple 提到这样可以让更多自然光进来,并减少对窗户的遮挡。
  • 用照片和视频方法时,从头到尾保持光线一致。COLMAP 的指南要求各张图像的光照相近,并提醒避开高动态范围的场景,比如对着太阳拍,或者透过门窗拍。
  • 让会动的东西停下来。请宠物和人先出去,关掉吊扇和电视。
  • 把地面清理到可以沿着墙走完一整圈而不用低头看路。
06

拍摄路线:在房间里怎么走

最常见的错误是站在房间中间原地转一圈。这样做很自然,但几乎没给软件留下可用的信息。COLMAP 的文档说得很直接:不要站在同一个位置只转动相机来拍,每拍一张要走几步。深度是从不同视点之间的差异里算出来的,所以相机必须移动位置。

适合照片或视频的走法:

  • 沿着墙走一圈,背靠近墙,镜头朝向房间对面。
  • 走得慢而稳。模糊的画面等于白拍。
  • 换一个高度再走一圈,比如先在胸口高度,再举过头顶并略微朝下。
  • 走进每个墙角,边移动边让镜头扫过它,让两面墙和它们的交线都出现在好几帧里。
  • 重叠要足。COLMAP 的指南是每样东西至少出现在三张图像里,越多越好。
  • 回到起点结束,让第一帧和最后一帧拍到房间的同一部分。

用 LiDAR 扫描 App 时规则更简单:跟着屏幕上的提示走。RoomPlan 自带的界面会把扫描进度叠在真实的墙面上,需要你换个动作或角度时也会提示。

07

镜子、窗户和白墙

每种方法都会在同样几类表面上遇到麻烦。

镜子和玻璃。Apple 说,落地镜和玻璃对 LiDAR 传感器是个难题。基于照片的方法同样吃力:COLMAP 的指南要求避开光亮表面上的高光反射。镜子里是一个并不存在的第二个房间,高斯场景或网格可能会试着把它建出来。能遮的大镜子尽量遮住,否则就接受这块区域事后需要清理。

窗户。窗外的日光比室内亮得多,这正是 COLMAP 提醒的高动态范围情况。在室外光线柔和的时候拍,或者按室内曝光,让窗户过曝。

白墙和深色表面。纯白的墙让照片方法无从匹配。按 Apple 的说法,很深的黑色表面可能让 LiDAR 难以扫描,过高的天花板可能超出传感器的测距范围。

这些都不代表房间没法扫。它们告诉你,结果出现破洞或重影时该先看哪里。

08

哪种方法适合哪种用途

按你需要的结果来选工具。

  • 尺寸、户型图、家具布局、给 CAD 或室内设计软件用的文件:基于 RoomPlan 或类似系统的 LiDAR 扫描 App。得到的是简化的、带尺寸的模型。
  • 给 Blender 或游戏引擎用的可编辑带贴图模型:摄影测量。得到的是网格,尺寸要自己定。
  • 房间看起来是什么样的真实画面,用于装修前留档、房源展示、纪念一个地方,或者做场景参考:视频转高斯泼溅。得到的是高斯场景,没有尺寸。

这些方法可以搭配使用。用 LiDAR 户型图拿到数字,用高斯场景留下样子,在同一个房间里走两遍就行。

09

SplatLoom 适合哪一种

SplatLoom 只对应第三条路线。它是一款 Mac 和 Windows 桌面应用,在你自己的电脑上把互相重叠的照片或手机视频变成高斯场景,不上传,不需要账号。你可以裁掉多余的部分,然后导出高斯 PLY、PNG 静帧、MP4 环绕视频,或者一个可离线打开的独立 HTML 查看器发给别人。

它不测量,不画户型图,也不导出网格。需要尺寸请用 LiDAR 扫描 App。结果也取决于拍摄:镜子、玻璃和会动的东西对它来说很难,对这种方法本身也是如此。

如果你要的是房间看起来的样子,并且留在自己的电脑上,它是一次性 19.90 美元买断,没有订阅。

常见问题

扫描房间一定要有 LiDAR 吗?

只有要尺寸的那条路线需要。Apple 的 RoomPlan 要求带 LiDAR 的 iPhone 或 iPad Pro。摄影测量和高斯泼溅用任何相机拍的普通照片或视频就可以,但它们本身不能给出可靠的尺寸。

LiDAR 扫描 App 有多准?

取决于 App 和房间。Polycam 给出的说法是常规室内扫描误差在 0.5 英寸以内。Apple 提到镜子、玻璃、很深的黑色表面和过高的天花板会降低质量。关键尺寸请用卷尺复核。

为什么我站在房间中间拍,结果失败了?

原地转圈没有给软件提供视点的变化,它就算不出深度。请沿着墙走一圈,让相机在空间里移动。COLMAP 的指南明确说不要在同一个位置只转动相机来拍。

高斯泼溅能给我户型图吗?

不能。高斯场景是为真实感查看而生成的,里面没有墙、尺寸或平面图。要户型图请用 LiDAR 扫描 App;想看房间真实的样子时再用高斯泼溅。

多大的房间可以扫描?

Apple 说 RoomPlan 最适合单个住宅房间,最大约 30 × 30 英尺,即 9 × 9 米。照片和视频方法没有固定上限,但空间越大,需要的素材越多,重叠也要更仔细。

参考资料:https://developer.apple.com/augmented-reality/roomplan/ · https://developer.apple.com/documentation/roomplan · https://developer.apple.com/videos/play/wwdc2022/10127/ · https://poly.cam/tools/3d-room-scanner · https://poly.cam/pricing/basic-plan · https://www.realityscan.com/en-US · https://github.com/alicevision/Meshroom · https://github.com/alicevision/Meshroom/releases · https://colmap.github.io/tutorial.html · https://developer.apple.com/documentation/realitykit/capturing-photographs-for-realitykit-object-capture · https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/ · https://www.nianticspatial.com/products/capture

在 SplatLoom 中试试