点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

本文转自泡泡机器人,已授权

标题:Mobile3DRecon: Real-time Monocular 3D Reconstruction on a Mobile Phone

作者:Xingbin Yang, Liyang Zhou, Hanqing Jiang, Zhongliang Tang, Yuanbo Wang, Hujun Bao, Member, IEEE, and Guofeng Zhang, Member, IEEE

机构:浙江大学;商汤科技

来源:ISMAR 2020

编译 : 张海晗

审核:管培育

本文下载链接,请在后台回复:单目重建

摘要

大家好,今天为大家带来的文章是Mobile3DRecon: Real-time Monocular 3D Reconstruction on a Mobile Phone。在手机上实现实时的单眼3D重建

这是一篇由浙江大学和商汤合作完成,在ISMAR2020 上获得BestPaper的研究。

本文展示了在手机上实现实时单眼3D重建的系统,称为Mobile3DRecon。该系统使用嵌入式单眼相机,在后端提供了在线网格生成功能,并在前端提供了实时6DoF姿势跟踪,以供用户在手机上实现具有真实感的AR效果。与大多数现有的仅使用基于点云的3D模型在线生成技术或离线的表面网格生成技术不同,本文提供了一种全新的在线增量网格生成方法来实现快速的在线密集表面网格重建,以满足实时的AR应用需求。对于6DoF跟踪的每个关键帧,本文使用多视图半全局匹配(SGM)的方法进行的单眼深度估计,然后进行深度细化处理。生成模块将每个估计的关键帧深度图融合到在线密集表面网格上,这对于实现逼真的AR效果(例如碰撞和遮挡等)。本文在两个中距离移动平台上验证了实时重建的结果,通过定量和定性评估的实验证明了所提出的单眼3D重建系统的有效性。该系统可以处理虚拟物体与真实物体之间的遮挡和碰撞场景以实现逼真的AR效果。

背景与贡献

(1)本文提出了以中多视图关键帧深度估计方法,该方法即使在具有一定姿态误差的无纹理区域中也可以鲁棒地估计密集深度,消除由姿势误差或无纹理区域引起的不可靠深度,并通过深度神经网络进一步优化了噪声深度。

(2)本文提出了以中有效的增量网格生成方法,该方法可以融合估计的关键帧深度图以在线重建场景的表面网格,并逐步更新局部网格三角。这种增量网格方法不仅可以为前端的AR效果提供在线密集的3D表面重建,还可以确保将网格生成在后端CPU模块上的实时性能。这对于以前的在线3D重建系统来说是有难度的。

(3)本文提出了带有单眼相机的实时密集表面网格重建管线,在手机上实现了单眼关键帧深度估计和增量网格更新的执行速度不超过后端的125ms/关键帧,在跟踪前端6DoF上快速到足以超过每秒25帧(FPS)。

算法流程

图1. 系统简图

整个系统的处理图如图1所示,当用户使用手机上的单眼相机导航到他的环境时,本文提供的管道会使用基于关键帧的视觉惯性SLAM系统跟踪手机的6DoF姿势,该系统跟踪前端的6DoF的同时,也可以保证关键帧后端具有全局优化模块,以优化所有关键帧的姿势,并将其反馈给前端跟踪。本文在管道中使用了SenseAR SLAM进行姿势跟踪,并且任何基于关键帧的VIO或SLAM系统(例如谷歌的ARCore)目前都是适用的。

在前端正常初始化6DoF姿势跟踪之后,对于具有全局优化姿势的关键帧池中的最新传入关键帧,其密集深度图是通过多视图SGM在线估计的,其中先前的关键帧的一部分会被作为参考帧。卷积神经网络和多视图SGM被用来细化深度噪声,然后通过融合细化的关键帧深度图以生成周围环境的密集表面网格。这里的管道是用来执行增量在线网格生成,这更适合于手机平台上AR应用程序对实时3D重建的要求,深度估计和增量网格划分都作为后端模块进行。随着密集网格逐渐在后端被重建出来,高级别的AR应用程序可以使用这种实时的密集网格和6DoF SLAM的姿势为前端用户提供逼真的AR效果,比如遮挡和碰撞等。

1.单眼深度估计

单眼深度估计首先利用本文提出的多视图SGM方法进行立体匹配,然后基于置信图对深度信息进行滤波,最后利用深度学习细化深度信息。

立体匹配部分, 本文对深度空间的逆进行均匀采样,然后利用人口普查变换(CT)作为特征值描述子来计算补丁相似度(patch similarity)。这里通过查找表来计算两个人口普查位串之间的汉明距离,遍历每个带有标签I的切片的像素,来计算立体匹配的成本。之后,会得到的大小为W * H * L尺寸的成本量,其中W和H是框架的宽度和高度。然后汇总成本量,采用Winner-Take-All的策略获得初始深度图。

本文通过惩罚像素邻域的深度标记变化添加了额外的正则化来支持平滑度。对于带有标签l的图像像素x,成本的汇总是通过递归计算相邻方向的成本来完成的。

基于置信度的深度滤波利用SGM中的不确定度测量来计算置信度,同时也考虑了局部深度一致性。

深度信息的细化是基于深度神经网络的,这是由一个两阶段的细化神经网络来组成。第一阶段是图像引导子网络CNNG,它将滤波后的深度与相应的关键帧上的灰度图像相结合得到粗细化的结果Dct,其中,灰度图像充当深度优化的引导,用以提供CNNG的物体边缘和语义信息的先验。第二阶段是残差U-Net CNNR,它可以进一步细化之前粗细化后的噪声结果得到最终的精细化深度信息。U-Net结构主要有助于使学习过程更加稳定并克服特征退化的问题。这里的训练集是采用Demon数据集进行训练。

3.渐进式网格生成

去除动态物体后,利用TSDF对体素进行融合。每一个估算出来的深度图都被集成到TSDF体素上,然后通过链接生成和更新的体素来重建3D物体,生成渐进式网格。

实时的网格更新是将渐进式移动的立方体块在单个CPU线程上集成,每一个关键帧只更新一部分立方体块。除此之外,本文为每一个体素定义了一个状态变量,用来判断更新,添加,通用和删除。更新和提取的三角网格只来自于添加和更新的立方体块。最后,再利用深度细化神经网络来提高平面网格的质量。

主要结果

图2.我们的单眼深度估计是根据序列“室内楼梯”和“沙发”的两个代表性关键帧得出的:(a)原关键帧图像及其两个选定的参考关键帧图像;“室内楼梯”参考帧中的两个代表性像素及其极线绘制出从前端的6DoF跟踪来证明某些相机姿态误差的数据。(b)通过反投影进行的多视图SGM和相应点云的深度估计结果。(c)基于置信度的深度滤波后的结果及其对应的结果(d)在基于DNN的参考及其相应的点云之后的最终深度估计结果。

图3. OPPO R17 Pro捕获的四个实验序列“室内楼梯”,“沙发”,“桌面”和“内阁”的表面网格生成结果(A)显示了每个序列的一些代表性关键帧。没有基于DNN的深度细化的每个序列的生成的全局表面网格(C)我们的基于DNN的深度细化的生成的全局表面网格。

表1:我们报告了我们的Mobile3DRecon和[11,27,40]的深度和表面网格结果的RMSE和MAE,这些结果是由我们的五个实验序列(由OPPO R17 Pro捕获的,ToF深度测量为GT)进行深度评估的,仅像素在GT和估计深度图中都有有效深度的情况下,将参与误差计算;对于通用深度评估,所有方法和GT中只有具有有效深度相同的像素才参与评估;请注意,对于REMODE,我们仅考虑计算对于REMODE,由于深度小于35 cm,我们无法获得深度融合结果;对于网格评估,我们使用CloudCompare 2通过将每种方法的深度融合到GT网格(通过融合ToF深度)来比较网格结果。对于REMODE,由于深度误差严重,我们无法获得深度融合结果。

表2:我们在所有子步骤中报告Mobile3DRecon的详细每关键帧时间消耗(以毫秒为单位),时间统计信息在两个移动平台上给出:带SDM710的OPPO R17 Pro和带SDM845的MI8。

本文下载链接,请在后台回复:单目重建

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

在手机上实现实时的单目3D重建相关推荐

  1. 首个实时单目3D目标检测算法:RTM3D,代码将开源

    o 点击我爱计算机视觉标星,更快获取CVML新技术 基于单目图像的3D目标检测是在输入RGB图像的情况下估计目标的3D包围框,在自动驾驶领域非常有用. 今天来自中科院沈阳自动化所等单位的学者公布论文提 ...

  2. AutoShape:实时形状感知的单目3D目标检测(ICCV2021)

    作者丨柒柒@知乎 来源丨https://zhuanlan.zhihu.com/p/404683961 编辑丨3D视觉工坊 论文标题:AutoShape: Real-Time Shape-Aware M ...

  3. AutoShape:实时单目3D检测网络(ICCV2021)

    作者丨柒柒@知乎 来源丨https://zhuanlan.zhihu.com/p/404683961 编辑丨3D视觉工坊 论文标题:AutoShape: Real-Time Shape-Aware M ...

  4. 探究位置误差对单目3D目标检测影响

    标题:Delving into Localization Errors for Monocular 3D Object Detection 作者:Xinzhu Ma1, Yinmin Zhang3, ...

  5. 【单目3D目标检测】MonoFlex论文精读与代码解析

    文章目录 Preface Abstract Contributions Pipeline Problem Definition Decoupled Representations of Objects ...

  6. DID-M3D | 用于单目3D目标检测的解耦实例深度(ECCV2022)

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[多模态综述]获取论文! 后台回复[ECCV2022]获取ECCV2022所有自动驾驶方向论文! 后台 ...

  7. 最新发布!SMOKE 单目3D目标检测,代码开源!

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者| 黎国溥 编辑| 3D视觉开发者社区 SMOKE是一个one-stage的单目视觉障碍物检测模型 ...

  8. 万字长文概述单目3D目标检测算法

    一,理论基础-相机与图像 相机将三维世界中的坐标点(单位为米)映射到二维图像平面(单位为像素)的过程能够用一个几何模型进行描述,这个模型有很多种,其中最简单的称为针孔相机模型.相机的成像过程是也一个射 ...

  9. MonoCon:使用辅助学习的单目3D目标检测框架(AAAI 2022)

    作者丨慕弋云子@知乎 来源丨https://zhuanlan.zhihu.com/p/455897310 编辑丨3D视觉工坊 本文已被收录在单目3D目标检测的综述文章中.如果你对单目3D目标检测的相关 ...

  10. DD3D:基于预训练的单目3D目标检测

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨CV研习社 作者丨元气满满的打工人 文章导读 导读:3D目标检测的主要应用场景就是自动驾驶,虽然 ...

最新文章

  1. CAD绘图软件中如何查询图纸的版本是多少
  2. golang copy函数
  3. 动态编译真有用武之地?
  4. 502 Bad Gateway nginx 解决
  5. 7开启uasp协议_【环海解读】新版通关无纸化协议签约amp;报关代理委托发起和确认操作流程...
  6. TomCat JDK环境变量
  7. 操作系统之文件管理:5、文件物理结构(连续分配、链式(显式、隐式)分配、索引分配(链接、多层索引、混合索引))
  8. 电影AI修复,让重温经典有了新的可能
  9. sc.textFile()默认读取本地系统文件还是HDFS系统文件?
  10. java+selenium报异常org.openqa.selenium.StaleElementReferenceException的解决方案
  11. 添加文字 高德地图_教您,如何在高德和腾讯定位自己的店铺位置
  12. linux 命令之df持续更新中~
  13. MATLAB函数或变量无法识别
  14. 关于过去分词做形容词、any后接单复数、带疑问词的不定式作后置定语
  15. 苏格拉底和柏拉图甩手的故事
  16. 详解色彩模型、色域以及颜色空间转换
  17. 《 Python List列表全实例详解系列(三)》——列表添加元素(4种方法)
  18. linux下chmod命令
  19. Bochs编程环境安装
  20. 豆瓣读书top250爬取

热门文章

  1. oracle 分区表详解
  2. winform 项目获取app.config 中appSettings节点数据
  3. Linux下如何查找nginx配置文件的位置
  4. centos7查看设置IP地址
  5. IOS14微信小程序scroll-view 不滚动
  6. 35. 第一个只出现一次的字符(C++版本)
  7. Spring之切入点表达式
  8. windows 安装metis_Win10 VS2013 suitesparse-metis-for-windows 1.3.1
  9. http://maven.apache.org/POM/4.0.0 报红
  10. org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state wo