基于图像的三维模型重建——稠密点云重建

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者:梦寐mayshine

链接:https://zhuanlan.zhihu.com/p/131590433

本文转载自知乎,作者已授权,未经许可请勿二次转载。

  • 稠密点云的获取方式

    • Lidar 扫描

    • Kinect

    • 结构光

    • 基于图像的方法-Multi-view Stereo

  • 基础知识

    • 极线条搜索

    • 光度一致性约束

    • 可视性约束

  • 多视角立体技术

    • 基于体素的方法

    • 基于空间patch 的方法

    • 深度图融合

一、稠密点云的获取方式

  • Lidar扫描:精度高(毫米级别),效率高,有效范围几米到几百米,价格昂贵;高反光,玻璃表面,吸收表面

  • Kinect:使用方便、价格适中、速度较快;精度较低、有效距离短

  • 结构光:高精度、高效率、近距离数据获取

  • 基于图像的方法:multi-view stereo,无源被动式、成本低、图像来源广、计算速度慢、精度较高

二、基础知识

1.极线搜索:参考图像中的一点对应另一幅图像中的一条线段

2.光度一致性假设 photo-consistency

  • 同一空间的点在不同视角的投影应当具有相同的光度,重建的核心在于恢复空间中具有光度一致性的点

  • 朗伯反射假设:

  • 常用的计算区域广度一致性的度量方式:

    • Sum of Squared Differences (SSD)  

    • Sum of Absolute Differences (SAD)

    • Normalized Cross Correlation(NCC)

3.可视性约束

  • 图像中出现的点不能被遮挡

  • 重建的点前面不能出现点

  • 不能出现在物体内部

三、多视角立体技术

1.基于体素的方法

  • 规则的划分[1]:等价于3D空间Voxel标记的问题

  • 不规则的划分[2]:等价于3D空间四面体标记的问题

  • 图像上的约束——剪影约束

  • 图像上的约束——光度一致性约束

  • 常用的优化模型[3]——典型的MRF离散优化问题

    • 参考图像上每个像素分配一个标签(内部或者外部)

    • 数据项-光度一致性假设

    • 平滑项-邻域假设

    • 可视项-可视性约束

  • 优缺点

    • 优点

      • 生成规则的点云

      • 便于提取物体的平面

    • 缺点

      • 精度受到空间划分分辨率的影响

      • 难以处理精度高、规模大的场景

2.    基于空间patch扩散的方法

  • 方法

    • 假设空间中的3D 矩形patch

    • 通过一定规则的扩张方法,使得patch覆盖物体表面

    • PMVS http://www.di.ens.fr/pmvs/

  • 流程

  • 初始3D patch的生成

  • patch扩张

  • patch滤波

  • 特性

3.基于深度图融合的方法[4]

  • 人的左右眼立体视觉和深度图

  • 基本流程

    • 1. 为每一幅图像选择邻域图像构成立体图像对

    • 2. 计算每一幅图像的深度图

    • 3. 进行深度图融合

  • 视角选择

  • 邻域的选择——全局视角选择

    • 1. 图像具有相同的内容、外观和尺度

    • 2.图像具有足够大的时差(宽基线)

  • 图像尺度的估计——用于衡量图像的分辨率

    • 图像上1个像素的宽度对应的三维空间中的物体尺寸

  • 相关视角的选择——局部视角选择

    • 1.NCC值确定候选视角

    • 2.实现要足够分散(不共面)

  • 区域生长法扩张

    • 重建的置信度建立优先级队列

    • 从初始的稀疏特征点开始深度估计

    • 对每个种子点进行非线性深度优化

    • 每次优化完后判断以下两种情况,将邻域像素添加到队列中: 1)邻域没有深度值 2) 当前像素的置信度值高于邻域像素一定范围

  • 深度值非线性优化

  • 深度值非线性优化

  • 非线性优化的数学模型

  • 颜色尺度的优化

最小二乘法

  • 的优化-梯度下降法

  • 深度值非线性优化——整体框架

    • 只进行深度h(s,t)的优化(迭代4次)

    • While (迭代次数< 20)

    • 每间隔5次迭代,进行 h(s,t), hs, ht的优化,否则仅优化深度

    • 优化完成后跟踪判断每个视角的置信度

    • 如果视角的置信度太小,或者超过迭代14次尚未收敛,则从局部视角中移除该视角,并重新进行视角选择

  • 深度估计结果

  • 深度融合

  • 深度融合——一致性约束

  • 深度融合——可视性约束

  • 总结:

    • 邻域视角选择使得深度估计准确度提升

    • 原理简单,只用到光度一致性约束和可视性约束,适用的场景广泛

参考

  1. S.M. Seitz and C.R. Dyer. Photorealistic scene reconstruction by voxel coloring. International Journal of Computer Vision, 35(2):1–23, November 1999.

  2. Sinha S N, Mordohai P, Pollefeys M. Multi-View Stereo via Graph Cuts on the Dual of an Adaptive Tetrahedral Mesh[C]// IEEE, International Conference on Computer Vision. IEEE, 2007:1-8.

  3. V. Kolmogorov and R. Zabih. Multi-camera scene reconstruction via graph cuts. In European Conference on Computer Vision (ECCV), 2002.

  4. M. Goesele, N. Snavely, B. Curless, H. Hoppe, and S. Seitz. Multi-view stereo for community photo collections. In IEEE International Conference on Computer Vision (ICCV),2007.

推荐阅读:

吐血整理|3D视觉系统化学习路线

那些精贵的3D视觉系统学习资源总结(附书籍、网址与视频教程)

超全的3D视觉数据集汇总

大盘点|6D姿态估计算法汇总(上)

大盘点|6D姿态估计算法汇总(下)

机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划

汇总|3D点云目标检测算法

汇总|3D人脸重建算法

那些年,我们一起刷过的计算机视觉比赛

总结|深度学习实现缺陷检测

深度学习在3-D环境重建中的应用

汇总|医学图像分析领域论文

大盘点|OCR算法汇总

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会(ICRA/IROS/ROBIO/CVPR/ICCV/ECCV等)、顶刊(IJCV/TPAMI/TIP等)、SCI、EI等写作与投稿事宜。

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

▲长按加微信群或投稿

▲长按关注公众号

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

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

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

  • 5
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
三维模型重建是将一组二维图像转化为具有逼真立体效果的三维模型的过程。Matlab是一种功能强大的编程语言和开发环境,提供了用于图像处理和计算机视觉的各种工具和函数。基于结构光扫描(SFM)算法的三维模型重建是一种常见的方法。 结构光扫描是一种利用投影器和相机进行三维测量的技术。它通过投影特定的光纹或光源模式到场景中,利用相机捕捉到的光纹或光源的变形信息来恢复场景中的三维结构。Matlab中的SFM算法可以通过分析相机的位置和姿态之间的关系来推断场景的三维结构。 在Matlab中实现基于SFM算法的三维模型重建,首先需要对输入图像进行预处理,包括去噪、图像校准和特征提取等。然后,根据图像特征的匹配和相机姿态的估计,可以计算三维点云的初始估计。 接下来,可以使用非线性优化方法对初始估计进行优化,以得到更准确的三维模型。在优化过程中,可以通过最小化重投影误差来提高三维点云的精度。最后,可以使用MeshLab等软件对三维点云进行三角化处理,生成光滑的三维模型。 Matlab提供了许多用于三维模型重建的工具和函数,如图像处理工具箱、计算机视觉工具箱和优化工具箱等。此外,Matlab还提供了丰富的文档和示例代码,帮助用户理解和实现基于SFM算法的三维模型重建。 总之,Matlab基于SFM算法的三维模型重建是一种有用的图像处理和计算机视觉技术,可以广泛应用于计算机图形学、虚拟现实、增强现实等领域。使用Matlab的强大功能和工具,可以实现高质量的三维模型重建,并为相关研究和应用提供支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值