您当前的位置: 首页 > 

基于传统方法的单目深度估计

发布时间:2021-12-24 07:00:00 ,浏览量:2

如果想要深入学习单目深度估计方面的知识,可以关注我们工坊推出的课程:

单目深度估计方法:算法梳理与代码实现

单目深度估计一直以来都是计算机视觉领域中的一项非常具有挑战的难题。随着计算机技术、数字图像处理算法和深度学习等技术的发展,常用的单目深度估计算法大概可以分为以下几类:基于线索的和机器学习的传统方法、基于有监督的深度学习方法和基于无监督的深度学习方法。

今天和大家重点介绍一下三个传统方法的基本原理,包括:马尔科夫随机场(Markov random field, MRF)、运动恢复结构(Structure from motion, SFM)、阴影恢复形状(Shape from Shading)。

1、马尔可夫随机场

445f8a4636308687e12db46c3e69ff13.png

在基于有监督学习的图像深度估计算法中,通常以图像中单个像素或者区域作为深度估计的基本单元,并且某一个像素或区域的深度与相邻像素或区域的深度存在关联。对这种上下文相关的约束关系, 一般使用马尔可夫随机场(Markov random field, MRF) 或条件随机场(conditional random field, CRF)来建模,描述一个像素或区域的深度与其相邻像素或区域深度间的关系。

4294feb0c1bc3dc728db3d4adc9b1ae3.png

在进行深度估计时,每个像素或区域的位置上存在随机场中的一个随机变量,它可以从深度值的集合中进行取值,所以,深度估计问题的本质就是找到最可能符合真实场景深度的一个深度值的配置。

2、运功恢复结构(SFM)

SFM,全称structure from motion,是通过相机的移动来确定目标的空间和几何关系的方法,通俗的说法就是利用视频中不同帧之间的二维特征点的对应关系同时恢复三维结构和相机的内外参,是三维重建中的一种常见方法,也是深度学习之前深度估计的经典方法。

881d72c6bbb04587b920ead9af37a8d8.png

SFM首先挑选合适的无序图片,从这些图像中提取出相机的焦距信息,然后采用SIFT等算法对图像进行特征提取,并计算两张图像特征点之间的欧氏距离进行特征点匹配,从而找到达到要求的图像对。

939116f868c0d30dff4170ec37c97a91.png

对于每一个图像匹配对,通过计算对极几何,估计F矩阵并通过ransac算法优化改善匹配对。如果有特征点可以在这样的匹配对中链式地传递下去,一直被检测到,就可以形成特征轨迹。

297ee649b0f839f064d796b16aadb15a.png

SFM关键在于Bundle Adjustment(BA)过程。首先对初始化选择的两幅图片进行第一次BA,而后循环添加新的图片进行BA,直到没有可以继续添加的图片,BA结束。得到相机估计参数和场景几何信息,即稀疏的3D点云。

3、阴影恢复形状(SFS)

Shape From Shading是一种从单幅图像中计算一个表面三维形状的方法。与大多数其他三维重建问题(例如立体和光度立体)相反,在Shape From Shading问题中,我们只使用单个图像。

SFS根据一张物体表面的黑白图像的亮度来计算该表面的三维形状,如下图所示。

3eba839e99faa5c327514bf49a9b890d.png

众所周知Shape From Shading是病态(ill-posed)问题。下图展示了一种凹凸歧义性,这里的歧义是由于照明参数的估计发生了变化。我们可以看到两个陨石坑,一小一大,但如果我们想象光源在图片的底部而不是顶部,我们可以将这些陨石坑变成火山。

549e44a66d0d84c6b8a5cc7ae1247501.png

考虑到这些困难,我们因此在这里假设光源、表面反射率和相机的所有参数都是已知的。我们利用灰度图片的亮度信息和亮度生成原理,求出每个像素在3D空间中的表面法向量,再根据法向量求得深度信息。

17ef42641e3f51843da3527fc65d5c22.png

最后的结果如下图所示,

cb2e406fc6126d877e29310a6ba6ce4d.png

efb1f965760589d1f455b264be93dac3.png

备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区

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

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码) 3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进 4.国内首个面向工业级实战的点云处理课程 5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解 6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦 7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化 8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

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

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

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

6ed21579eaf812c08433c7fd090db2c9.png

▲长按加微信群或投稿

1c8659f2ea94c2f039f6d5ca79de5c76.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

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

ba0a9335e9abdc416567ad1899722945.png

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

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

关注
打赏
1688896170
查看更多评论

暂无认证

  • 2浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.2238s