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

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

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

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

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

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

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

object capture pineapple

Realcat的视频

· 5 播放

放出几张mesh细节图:

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

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

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

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

接着讲,在降低了技术门槛的同时,也极有可能会推动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项目之中。

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

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

WWDC 2021 Object Capture

Realcat的视频

· 4 播放

参考

  • 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. Reddit Augmented Reality, https://www.reddit.com/r/augmentedreality/comments/fjc11i/whats_the_difference_or_relationship_between
  • 8. https://developer.apple.com/documentation/realitykit

本文首发自我的公主号,定期分享SLAM定位建图技术(特征匹配、位姿估计、图优化等)、深度感知(双目视觉、TOF、结构光等)以及XR(VR、AR、MR等)领域干货,探讨以上领域在学术界与产业界研究与应用前景。

资讯 | 一部手机+几行代码搞定三维重建相关推荐

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

    点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 最近一位来自@Shopify的3D AR/VR开发工程师@MikkoH [1]在推上公开了他使用Ap ...

  2. 量化交易-利用同花顺量化平台supermind 5行代码搞定多条件选股并微信实时收消息-保姆级教程

    利用supermind 5行代码搞定多条件选股并在微信实时收消息-保姆级教程 前言 对大部分炒股的朋友来说,日常最耗时的就是盯着选股条件然后不停的选股,我经常苦恼于有无程序能自动化实现选股,然后选中之 ...

  3. resnet50代码_13、SOTA论文实践-学习ResNet(80行代码搞定残差backbone网络)

    0.论文 Camera Distance-aware Top-down Approach for 3D Multi-person Pose Estimation from a Single RGB I ...

  4. python做事件研究法_35行代码搞定事件研究法(上)

    作者简介: 祝小宇,个人公众号:大猫的R语言课堂 这期大猫课堂将会教大家如何用35行R代码写出最有效率的事件研究法. 注意,本代码主要使用data.table完成,关于data.table包的相应知识 ...

  5. 35行代码搞定事件研究法(下)

    作者简介: 祝小宇,个人公众号:大猫的R语言课堂 前文推送: 35行代码搞定事件研究法(上) Hello亲爱的小伙伴们,上期已经讲到如何对单一事件日计算超额收益,本期将会教大家如何针对多个股票多个事件 ...

  6. 国外stripe支付,超简单几行代码搞定

    国外stripe支付,超简单几行代码搞定 海外的项目 需要stripe支付 很简单 几行代码 先加入依赖: compile 'com.stripe:stripe-android:6.1.2' 总共两种 ...

  7. java微信支付代码_10行代码搞定微信支付(Java版)

    原标题:10行代码搞定微信支付(Java版) 微信支付痛点 对于大多数同学来说,要开发微信支付可不简单.附上微信支付官方文档网页链接 从文档上可以看出,你需要解决很多问题,我就随便挑几个吧. xml与 ...

  8. 万万想不到 10行代码搞定一个决策树

    01决策树模拟实验 文章目录 01决策树模拟实验 要求 决策树简单介绍 搭建环境 产生数据集 划分训练集和测试集 生成决策树 Cross-Validation法 可视化决策树 10行代码搞定决策树 要 ...

  9. 35行代码搞定事件研究法(上)

    作者简介: 祝小宇,个人公众号:大猫的R语言课堂 这期大猫课堂将会教大家如何用35行R代码写出最有效率的事件研究法. 注意,本代码主要使用data.table完成,关于data.table包的相应知识 ...

最新文章

  1. [转]VirtualBox下RedHat 5.4 使用DVD光盘作为yum源
  2. python操作string类型的key的代码
  3. 设计一个程序实现两个任意长的整数的求和运算_深入 Python (7) Karatsuba 实现长整数乘法...
  4. Mybatis-jar-lib
  5. js怎么动态加载js文件(JavaScript性能优化篇)
  6. jupyter新建文件_初学jupyter,运行,下载,上传导入文件
  7. linux文件重定向用什么命令实现,Linux基础:文件描述符与重定向
  8. Pycharm官网下载安装
  9. java gui 数独_数独-GUI开发
  10. JS base64编码和解码
  11. Update批量更新
  12. 手把手教你开发列举网自动发帖软件!神器哈
  13. 【CSS】css 给盒子添加四周阴影
  14. FPGA基本开发设计流程
  15. 【BZOJ 3653】谈笑风生
  16. sed编辑器之修改行
  17. PHP生成(支持多模板)二维码海报代码
  18. opengl与显卡驱动的关系
  19. 集成ci jenkins_使用jenkins fastlane第1 2部分将ci cd集成到多个环境中
  20. 从“挖土豆”到全场景营销,纷享销客CRM如何助力噢易云可持续增长?

热门文章

  1. MCE | 动物实验溶剂大讨论
  2. 保存文件时提示‘拒绝访问’
  3. (转载)Excel文档保存的时候,提示“文档未保存”
  4. python--uiautomator2安装使用教程
  5. PostgreSQL 并发控制 -- 锁体系(spinlock,lwlock,regular lock)实现原理
  6. mysql 双主问题_MySQL 双主问题集
  7. 机器人--避障技术盘点
  8. 风格迁移 Style transfer
  9. TS16949五大工具及相互关系
  10. C++设计模式:职责链-代码实例以及其他代替方案