关键词:基于图像的三维重建
单目视觉
极简原理
整体框架
做者:李二 日期:14/04/2020 - 16/04/2020node
本系列博客从这里开始,进入第二部分,也就是三维重建。
我以为不能一下就陷入到具体的步骤或者流程中去,讲东西最好先给你们一个总的轮廓以及其核心原理,这样由浅入深,由粗到精,更容易接受与吸取。web
本期博客仅仅介绍三维重建的核心原理,里面涉及的要素或模块,我将在后面的几期中逐个展开。算法
话很少说,仍是恢复讲故事模式。话说李二在家喜欢上了写博客,每天在阳台上码字,家里人越看他越不顺眼,由于感受他彷佛并无干什么正经事,因而就有了下面的对话。网络
李二的老婆Mme.Zhang问:我说咱每天地也不出去溜达溜达,看你都快废了。前几天看你在朋友圈里面发二维成像与三维重建,费劲巴力的写了这么长时间,想干点啥? 话说什么是三维重建?app
李二以为可贵老婆想了解本身作了点啥事,因而便高兴地说道:简单点说,三
维重建≈三维点云获取
。若是较起真来,三维重建=三维点云获取+几何结构恢复+场景绘制
。框架我讲的三维重建指的是
基于图像的三维重建
,直白点说,就是从一系列图像中恢复三维点云。编辑器
注意:点云构建以后的几何结构恢复(即三维格网化)和场景绘制(即纹理贴图),则不在本系列的scope以内。svg
Mme.Zhang:那三维重建有什么用处?优化
李二:太多了。根据重建到的三维物体,能够准确测量它的三维结构。spa
例1. 好比我们去巴黎的时候,很遗憾的没有参观巴黎圣母院,他 不是被火烧了嘛。这时咱们根据之前测量到的三维结构,就能够原汁原味的恢复它火烧以前的面貌。 例2. 再好比,如今虚拟现实、加强现实不是都很火嘛,关键就是把三维建出来。 例3. 还有关于个人近地面植被遥感工做,只有把树和做物的三维创建出来,才能更好地测量他们的一些参数,好比生物量、叶倾角之类的。 假如咱们只看图像,它缺失了距离信息,扭曲了物体之间的角度信息,咱们无法基于影像作一些准确的测量。
了解一下:计算机视觉包含两个基本方向,物体识别和三维重建。
图像识别
的突破性进展源自于2012年卷积神经网络的兴起(AlexNet)
三维重建
是将来的必然趋势,咱们生活在三维空间里,必须将虚拟世界恢复到三维,才能和环境进行交互。
Mme.Zhang突然以为李二天天也不是瞎胡闹了,却是有点用处了,因而便问起来:那用什么设备能获取三维信息呢?
李二见老婆挺上道,话匣子便打开了:刚才我说了,三维重建其实能够认为就是获取三维点云,那么点云获取的方式有三种:
激光雷达LiDAR,直接对三维进行测量, 直接获得三维点云
;深度相机,好比Kinect,也是直接获取三维信息,其实感受不能叫作三维,算是 2.5维
,获得深度图
;双目立体视觉,两个 标定好的相机
,经过同时拍照以及立体视差
获取三维信息,能够类比于人眼;摄影测量就是这么干的。单目视觉,也就是一个相机,经过 一系列照片
,根据某些算法,恢复三维。
(每一项的具体信息,不作展开了,各位看官请自行出门左转了解)
Mme.Zhang坚决的说:那还弄啥嘞,直接LiDAR上呀。
李二忽然一下不知道该咋解释了,便含糊的说道:
LiDAR不是贵嘛,目前通常人买不起,等到跟相机差很少钱了可能就好了。 深度相机的左右距离有限,只能最多 3-5米
的范围吧。双目立体视觉须要 两个位置、姿态标定好的相机
,弄起来比较费劲,万一你磕了碰了弄弯了,还得从新标定。单目视觉就很方便了,一个相机, 经过运动,就能够恢复三维,并且这个还有纹理与色彩信息,对于图像识别也是有好处的。
(我解释的可能不够,可是应该把主要问题包含了)
Mme.Zhang如有所思,忽然说道:其实单个相机也很差,由于这样大家男生能够只用一个手机,准确计算出女生的三围、身高、体重了。 李二:这..... 唉.....
Mme.Zhang终于开始问点关键的了:那你大体说说怎么样基于一个相机恢复三维点云呀,就是你前面说的
基于图像的三维重建
。不过我是文科生,你别讲太深了。
李二自信满满的说:别说你是文科生,你就是初中生,我都给你讲明白了。核心原理十分简单,确定能听懂。
(各位看官如果看不懂,评论区写差评)
李二开始了表演:
准备材料:咱们刚刚说到,必需要
一系列的图像
才行,并且图像之间要有重叠
,不能拍的东西彻底不一样,不然咋重建。不妨拿四张图像来解释一下三维重建。
极简思路:假如这四幅影像是在不一样视角拍摄的同一地物,由下图能够看出,这四幅影像同时看到了地物的一些相同的地方,好比咱们知道每幅影像的拍摄位置(或者
光心(焦点)
位置) 以及姿态 (嗨,看官们,其实就是外方位元素),它们在不一样视角都看到了点 ,那么就能够经过图像 的 、点 对应的像素位置
恢复出视线(line of sight)
,一共四条视线。由于全部的视线都应该交于点 ,所以构成了6个空间三角形。
其实一个空间三角形,就可以肯定点 的空间位置,就是 三角定位(triangulation)
。在极简思路中,你能够认为多出的空间三角形没用。(备注一下,是很是有用的,由于噪声的问题)。不必定在每幅图像中都必须出现点 ,理想状况下,两幅就够了,由于两幅图像的视线就能够构造一个空间三角形进行三角定位。(备注一下,事实上至少三四张,才能有理想结果)。 这四幅影像其实不止同时看到了点 ,他们可能同时也看到了其余不少点,这时就可以构成点云啦,也就恢复三维了
(若是仅仅想了解三维重建的核心原理的看官,看到这就够了。以后无非是怎么找特征点,肯定同名点,三角定位肯定三维点,由于偏差因此须要不断优化调整,获得最终的三维点以及相机的内外方位元素)
Mme.Zhang很高兴,她以为她已经已经理解了,便说:就这么点事呀,那你前段时间又买书又查资料的,又费劲巴力的写二维成像的博客。个人护肤化妆品钱都然你给造了。
李二梗着脖子,涨红了脸说道:哪有这么简单,实际中还有好多问题呢。好比我下面要讲这些,直到本世纪初,它们的技术才慢慢成形呢,2010年左右才正式到了应用层次。
Mme.Zhang拗不过我,便说:行行行,你本身玩耍吧,我去护肤化妆去了。
题外话:我一看见一桌子护肤品,就想到,相同的钱买点电子产品也好呀。我是人穷志气短呀!
李二看Mme.Zhang没有听下去的欲望,不知是为了代表这事情真不容易,仍是由于其余缘由,便自言自语地接着说了下去,在实际三维重建中咱们会发现几个问题:
上面说到四幅图像都看到空间点 ,对应在图像上的像素点分别为 ,这四个像素点是你人眼识别出来的,可是如今得让计算机识别出来,并且识别出这四个像素点都对应同一个空间点 ,这就有点难度了。
特征点检测:图像中会有不少像素点,一些比较有特征的点更容易识别和表达出来,好比灰度变化剧烈的点,这些点被称为 特征点
或者关键点
,所以咱们能够把每幅图像的这些特征点先提取出来,这就是特征点检测。
特征点匹配:每幅图像的特征点被检测出以后,咱们须要知道图像与图像之间,哪些特征点是对应的(好比 ),称之为 同名点
,这就须要对特征点进行匹配。
误匹配删除:实际匹配结果可能存在 偏差
,也就是不少错误匹配的点,所以须要经过某种方式对误匹配的点进行删除;
集束调整(或光束法平差):偏差或者噪声什么时候何地都是存在的,在构建三角几何关系时,也不例外。 实际状况中,不一样图像对于同一空间点的视线并不必定能保证交于这一点,所以须要经过某种方式对视线进行调整,使其交于一点。在此过程当中,基于成像模型,咱们也恢复了相机的位置与姿态等外方位元素,同时实现了点云的构建;
稠密重建:因为通常特征点数量并非特别多,所以重建出来的点云比较稀疏。可是有了相机位姿以后,每幅图像的每一个像元对应的视线咱们都知道了,这是就能够根据某种方式,创建稠密点云,造成比较完整的三维。 这就是基于图像的三维重建的各个模块,每一个模块中涉及了不少内容,没有那么简单。可是三维重建的核心东西就是这些。
其实全部的商业或开源三维重建软件的技术路线基本都是同样,可是一些技术细节不一样,形成结果的差别。说明具体的技术细节仍是十分重要吧!正如对于世界上绝大多数国家来讲,即便拿到DF-17的详细图纸,也不必定能造出来。
以上故事纯属虚构,若是Mme.Zhang看到,企盼理解,不要揍我。
接下来的几期博客,我可能不会讲的太细了,由于好多具体内容我本身也不了解,更不敢打肿脸充胖子给各位看官讲了。我我的认为:若是不是专门作这个的,仅知其大略或思路便可,没必要苛求过深,思路对于咱们的借鉴意义更大一些。