最近一位来自@Shopify的3D AR/VR开发工程师@MikkoH [1]在推上公开了他使用​​Apple RealityKit Object Capture​​做的实体3D扫描重建模型,效果感觉非常不错。

一部手机+几行代码搞定三维重建_3d

这是模型建好之后的样子:


随后作者公开了更多的制作细节:作者使用了iPhone 12 Pro Max拍摄了93张RAW格式的图像(为了更好的光照环境,作者特意选择在他孩子的房间中进行拍摄)

一部手机+几行代码搞定三维重建_微信_02

一部手机+几行代码搞定三维重建_3d_03

随后使用​​Object Capture​​​提供的​​HelloPhotogrammetry​​例程[4]自动地完成了后续的重建工作,得到的mesh长这个样子

一部手机+几行代码搞定三维重建_公众号_04

一部手机+几行代码搞定三维重建_微信_05

一部手机+几行代码搞定三维重建_微信_06


建模到底好不好呢?作者找了一遍发现只有一个“小洞洞”,不过整体来说这样的效果已经非常不错了。


一部手机+几行代码搞定三维重建_微信_07

当然,到这里还没有结束,作者又找来一个菠萝进行重建[2],相较于之前的运动鞋,菠萝表面更加复杂,顶端的叶子形状各异且遮挡较多,重建的难度是比较大的。

一部手机+几行代码搞定三维重建_3d_08

一部手机+几行代码搞定三维重建_公众号_09

重建好的菠萝模型长这个样子:


放出几张mesh细节图:

一部手机+几行代码搞定三维重建_3d_10

一部手机+几行代码搞定三维重建_公众号_11

一部手机+几行代码搞定三维重建_公众号_12

以上便是@MikkoH使用苹果 Object Capture 进行开发的结果。


一部手机+几行代码搞定三维重建_3d_13


有网友留言问到“Apple 的 ​​Object Capture​​ 与Agisoft 有何不同?更快、更容易?”,作者回复“更容易上手,快不快没有做过对比测试不确定”。


(笔者:作者并没有使用配备M1芯片的Mac,若配合M1重建速度势必飞起!)


不得不佩服苹果给开发者带来的​​RealityKit​​,原本只有专业人员用专业设备花费数小时才能完成的重建,借助这套工具普通人用手机摄像头和几行代码花几分钟也可以轻松上手,这极大的降低了成本和上手难度。另外,值得注意的是,用iPhone拍摄好的图像,“无缝地”在Mac上处理,这是苹果生态生产力的重要一环。


一部手机+几行代码搞定三维重建_公众号_14


接着讲,在降低了技术门槛的同时,也极有可能会推动AR走向落地的脚步,如虚拟试鞋,ARKit[7-8]负责定位和注册,而RealityKit负责渲染出逼真的鞋,用户只要拿起手机对准自己的脚,新鞋就“穿”上了。作为用户,对塑料感太强的模型容忍度几乎为零,RealityKit能够渲染出高精度的模型,这势必会受到用户的青睐。

其实,上面举的例子本身并不新,像AR落地“试验田”——国内的电商平台如淘宝buy+/京东天工等也在进行类似的研发,二者的区别在于苹果提供了底层技术(定位技术与面向AR的渲染技术等),偏算法研究;后者进行二次开发(搭积木),偏算法应用;前者构想出N多种可能性,后者将这种可能性变为现实或离现实更近一点。不只是电商领域,在不远的未来这项技术预期会在艺术创作,生物技术,医疗卫生[5-6]等领域发挥更大优势。

补充

在WWDC 2021开发者大会上,苹果正式发布了RealityKit2,带来Object Capture(对象捕捉)等新功能的发布。对于对象捕捉,利用macOS的Object Capture API,用户可以将iPhone或iPad的照片转化为高质量的3D模型,并可在数分钟内实现AR优化。Object Capture使用摄影测量将在iPhone或iPad拍摄的一系列照片转换成3D模型,同时允许用户在AR Quick Look中即时查看,或集成到Xcode项目之中。

一部手机+几行代码搞定三维重建_公众号_15

RealityKit框架专门为增强现实量身定制,能够提供逼真的图像渲染、相机特效、动画、物理特效等等。借助原生Swift API,ARKit集成、基于物理的超逼真渲染、变换和骨骼动画、空间音频和刚体物理,RealityKit可让你比以往更加快速轻松地进行增强现实开发。

这是WWDC 2021上关于​​RealityKit​[3]使用介绍:



参考

  • 1: 运动鞋重建,https://twitter.com/MikkoH/status/1402114761538605062
  • 2: 菠萝重建,https://twitter.com/MikkoH/status/1402136906587070469
  • 3: Create 3D models with Object Capture: https://developer.apple.com/videos/play/wwdc2021/10076/
  • 4: Object Capture例程,https://developer.apple.com/documentation/realitykit/capturing_photographs_for_realitykit_object_capture
  • 5. https://artsandculture.google.com/project/ar
  • 6. https://aabme.asme.org/posts/novel-augmented-reality-technology-to-revolutionize-the-health-care-industry
  • 7. https://www.reddit.com/r/augmentedreality/comments/fjc11i/whats_the_difference_or_relationship_between
  • 8. https://developer.apple.com/documentation/realitykit


一部手机+几行代码搞定三维重建_微信_16