三维重建(2):基础简介之多视角立体视觉技术(中)

在上篇文章里,我简单地介绍了多视角立体视觉的流程。

说的通俗点,就是先拍照片,接着计算每张照片的相机参数,然后从这些照片和参数里重构出照片里场景的三维几何结构,最后需要微调一下重构得到的结果。

在这篇文章里,我介绍前两部分:1. 如何获得图像;2.相机投影模型。

1. 如何获得图像

多视角立体视觉(multi-view stereo, MVS)的场景里,我们一般在三种情形中获得照片:

1. 实验室环境下(可控制);

2. 室外小规模的场景(部分可控制);

3. 大规模场景(极少可控制)。

一般的技术都是先在实验室里面玩一玩(原因是实验室里的光照条件完全可控),然后到户外小规模地试一把,最后再在大规模的数据上测试。这也符合一般的科学认识和探索过程。早期的MVS技术也是这样变迁的。

这些技术从实验室的小把戏到成为实际可用,主要得益于两点:1. 硬件上的提升;2. “运动到结构”算法的改进。

硬件上的提升

这里“运动到结构”是我的直译,比较简单粗暴,英文原文是Sturcture from Motion,缩写为SfM。

我先说说第一点,也就是硬件上的提升。其实这点对于大家来说是有目共睹的,现在的内存已经轻松达到128G,cpu很多都是6核而且每核都是双线程,硬盘基本都是4T或者以上。再说说手机和相机吧,手机在这10年简直就是天翻地覆,10年前还是用的诺基亚6120C,现在已经基本用的是iphone最新版,这差距就不用我说了吧。相机在这方面的提升也是很大的,首先是传感器质量的提升所带来的像素大小上的提升,此外因为储存卡的容量上的提升导致存储更加便捷。其实这些硬件上的提升相比较于显卡上的提升来说,简直就是小菜一碟。从12年开始,英伟达公司对于显卡上的提升既满足了深度学习热潮的需要,也为深度学习热潮添砖加瓦了不少。怪不得英伟达的老总(就是那个台湾人,和我老板的一个朋友关系很好)每次在计算机视觉的顶会上都是笑嘻嘻的看着我们这群人,估计从心底里认为我们也是为英伟达带来红利的卖力还不拿钱的销售员吧。

硬件上的这些提升使得SfM技术、MVS技术可以轻松处理上百万张的图像,从而做到城市集群规模,甚至是国家规模,全球规模的三维重建。

“运动到结构”算法的改进

在三维重构技术的这个方面,研究人员辛苦奋斗了很多年,但是直到最近才能将这项实用的技术用于大规模的工业领域。这得益于两个技术的发展,一个是SfM技术,另一个就是非常实用的同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)技术。SLAM技术可用的范围太广泛了,比如扫地机器人就是用的SLAM技术。

2. 相机投影模型

最原始的相机模型是针孔相机,维基百科对针孔相机的介绍是这样的:

针孔相机(Pinhole camera)是一种没有镜头的相机,取代镜头的是一个小孔,称为针孔。利用针孔成像原理,产生倒立的影像。针孔相机的结构相对简单,由不透光的容器、感光材料和针孔片组成。其中,感光材料可以是底片,也可以是相纸。为了控制曝光,还要有快门结构,通常是简单的活门。

我们如果要深入学习针孔相机模型,需要明白几个关键的坐标系统:世界坐标系统W,相机坐标系统C,图像坐标系统I,传感器坐标系统S。这四个坐标系统是不同但又可以转换的。实际物体处于世界坐标系统W中,假设这个物体上有一个点x-W,那么这个点x-W在相机坐标系统C上的位置x-C可以经过一个W到C的变换得到。类似的,我们还可以得到x-W在图像坐标系统I 上的位置x-I和在传感器坐标系统S上的位置x-S。

下图是一个简要的针孔相机模型。

对于单个相机的成像系统,我们一般认为世界坐标系统W和相机坐标系统C是一样的,也就是在这两个系统中,物体上的点x在W上和在C上的位置是一样的,即x-W=x-C。但是对于多个相机的成像系统,我们认为W和每个Ci (Ci是第一个相机成像系统)都是不一样的。

当然,对于广角相机,世界坐标系统和相机坐标系统也是不一样的。比如下图:

对于上图中的左上角图,因为广角相机看到的范围很大,导致图像的每个局部都会有扭曲现象,比如中间部分被放大,四周部分被缩小。那么我们在还原的时候就会把中间部分按比例缩小,同时把四周放大,从而得到图像中场景的正常视角,也就是非广角相机拍摄到的画面。

相机的另一个问题rolling shutter effects(中文翻译是“卷帘效果”)与快门速度和相机传感器存储方式有关,一般的传感器都是一行一行地存储入射光里所包含的场景信息,但是如果快门过快,那么上一行像素和下一行像素所存储的信息就会不匹配,比如在你微笑的那一瞬间,上一行像素存储的是你的嘴唇,但是下一行像素拍摄到你微笑露出来的牙齿。如果对这个现象不是特别直观,可以观看这个链接里的动图:https://petapixel.com/2017/06/30/rolling-shutter-effect-works/


PS. 从这篇文章开始,我已经换了一本书学习三维重建了,这本《Multi-view Stereo:A tutorial》写的有点乱,我经过一个朋友推荐,学习Christian Wöhler写的《3D Computer Vision:Efficient Methods and Applications》这本书。希望把这本书用浅显易懂的语言解释给大家。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容