计算机视觉方向简介(一)| 从全景图恢复三维结构

版权声明:本文为博主原创文章,未经博主允许不得转载。违者必究。 https://blog.csdn.net/electech6/article/details/79098707

有什么用?

2017年初,整个全景相机产业经历了一轮小爆发。除了像Insta 360、德图等几家创业公司外,小米、努比亚等几家传统手机厂商在2017年4月份也相继发布了自己的消费级全景相机,紧接着,Facebook、Google互联网巨头也相继发布了自己的第2代专业级全景相机。详情参考《全景相机哪家强?》。到目前为止,市面上已有几十种消费级全景相机产品。全景相机的价格也逐渐趋向平民化。

全景相机硬件在快速发展,但是拍摄的全景图除了传统的自拍、VR影视制作外,还缺乏更多实用的应用场景。本文介绍的就是全景图在室内三维结构方面的应用:用单张室内全景图来对室内场景进行三维结构恢复。

什么原理?

输入:一张水平方向360°(不要求垂直方向180°)的全景室内图片。

输出:无需人工交互,自动输出室内的三维结构(由线段和超像素面片组成)。

算法流程示意图如下所示:

(a) 是输入的室内全景图。可以从互联网上下载或者自己使用全景相机拍摄。
(b) 从全景图中提取的线段。红绿蓝不同颜色线段表示该线段属于不同的三维空间坐标轴方向。
(c) 全景图经过超像素过分割的结果。图中纯红色部分表示水平方向的平面,如地面或者天花板;条纹状的红色区域表示垂直的平面,如墙壁。
(d) 根据以上信息自动推断出的全景图对应的深度图。
(e) 由线段(黑色线条)和超像素面片重建的室内三维结构(两个不同视角)。

这里写图片描述
算法流程示意图

算法的核心是构建一个约束图结构,图的顶点由不同自由度的有向线段和超像素构成,而它们之间的几何关系构成约束图的边。通过迭代优化约束图结构可以推断出全景图对应的深度图,然后根据深度图信息将线段和超像素面进行空间重建从而得到室内的三维结构。

效果怎么样?

从视觉效果来看,该算法在室内环境简单(如曼哈顿结构、障碍物少,墙壁边界明显)的场景下效果还不错,如下:

这里写图片描述
较好的效果示例

但是在某些复杂室内环境下,很容易受到室内物体的误导,比如长沙发大面积遮挡住了墙壁和地面的分界线,比如墙壁和地面颜色接近导致分界线不明显,比如室内墙壁的大幅的挂画会被误认为是门外场景。部分恢复失败的例子如下图所示:

这里写图片描述
失败案例

运行速度:

作者提供了C++代码,在配置为Intel Core i5 CPU (3.1/3.3GHz)的电脑上,一张全景图推断出室内三维结构(不包括预处理步骤)时间需要1分钟。

有什么参考资料?

论文:
Yang H, Zhang H. Efficient 3D Room Shape Recovery from a Single Panorama[C]// Computer Vision and Pattern Recognition. IEEE, 2016:5422-5430.

项目主页:
包含源码、数据集、论文等资料。地址:http://cgcad.thss.tsinghua.edu.cn/yanghao/3droom/

注:本文首发于微信公众号:计算机视觉life。原创不易,转载请注明来源,侵权必究。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页