基于单张彩色图输入的平面提取综述

2020-09-18 03:16:18朱尊杰徐浙峰任小元孙垚棋颜成钢
关键词:单张像素点平面

朱尊杰,徐浙峰,任小元,侯 佳,孙垚棋,颜成钢

(1.杭州电子科技大学自动化学院,浙江 杭州 310018;2.中国电子学会,北京 100036)

0 引 言

计算机视觉是一门高度交叉和复杂的学科,发展迅猛,并且广泛应用于安保、交通、医疗等领域,与人们的生活息息相关。单目相机是目前计算机视觉中图片数据的主要来源,具有结构简单、成本较低等特点。得益于智能手机的快速发展及普及,可以轻易获取单张高分辨率、高质量的彩色图片。相比灰度图,彩色图的颜色提供了更多的视觉信息。因此,大量关于计算机视觉的研究均以单张彩色图片为输入。计算机视觉的研究目标是让计算机代替人类完成诸如目标检测、图像描述、人脸识别等任务。在人类感知的尺度上,平面是人类社会环境中最常见的结构之一,并且具有强大的约束能力,约束着大量的点/线及其所携带的信息。各种曲面都可以用平面进行近似,根据精度要求选择拟合的平面数量。实际应用中,许多计算机视觉任务都需要平面信息,比如:机器人领域中,识别地面、墙面等平面可用于路径规划、视觉导航,识别桌面、书架等平面可辅助机械手抓取和放置物品;增强现实、混合现实中,利用平面信息放置物品,或者更换桌面、地板、墙面的纹理可以进行快速展示;三维场景重建中,用平面而非点云可以实现对一个城市大规模、简洁的重建。因此,高效准确地从单张彩色图中提取平面信息对以上各类任务具有重要意义。本文针对基于单张彩色图输入的平面提取方法展开研究,介绍这类方法的基本概念,整理和归纳其相关工作,分析相关方案的优缺点,进一步讨论其发展方向。

1 平面提取的基本概念

1.1 定 义

假设输入单张图像I,平面提取的目标是寻求一种目标算法H,能准确分割出图像I中的平面区域P并估算平面的三维信息D:

H∶I→{P,D}

(1)

由该定义可知,经算法输出的平面信息包括两部分:像素层面的平面分割结果和其在真实世界中的平面三维信息。平面分割结果具体指将图像中的平面区域打上标签,并进一步区分各个平面实例。常用的标记方法分为两种:一种是以像素为单位,通过将图像中的像素点聚合从而形成平面;另一种是将图像中平面区域看成一个整体,通过在图像中构造亚像素级的线条围成平面。平面三维信息具体指平面在三维空间中的坐标信息,可以定义为三维x-y-z坐标系中一个方程的集合:

ax+by+cz+d=0,

f1(y,z)≤x≤g1(y,z),f2(x,z)≤y≤g2(x,z),f3(x,y)≤z≤g3(x,y)

(2)

式中,a,b,c,d为实数,且a,b,c不全为0;P=(x,y,z)T表示空间平面上某一点的三维坐标;fi(·)和gi(·)(i=1,2,3)为空间平面/曲面方程,分别表示x,y,z取值范围的下/上限。平面也可以使用三维法向量n的形式表示[1]:

(3)

(4)

式中,Q为图像中一点的三维坐标,nT为平面A的平面向量。

值得注意的是,平面分割与平面三维信息并不是独立的两部分,平面分割的结果可提高计算平面三维信息的准确度。反之,平面三维信息可以优化分割出的平面边缘信息。

1.2 困 难

作为目标算法的输入,单张彩色图片由单目相机采集,本质上是将现实中的三维场景投影在相机的二维成像平面上。显然,投影过程中,在一定程度上会丢失场景的深度(或距离)维度,导致用肉眼观察二维图片易产生错觉,如图1(a)中的“巨人”与“侏儒”。因此,如何从单张彩色图片中准确估计平面的深度信息成为平面提取的一个难点。虽然深度的维度已经丢失,但人类肉眼观察照片时都会有一个直观的空间感,因为图片中的视觉线索包含了相应的深度信息,比如近大远小、物体的遮挡、平行线的汇聚、熟知物体的大小关系等。除此之外,物体的纹理也可用于深度的估计,比如物体的亮度、影子、颜色、清晰度等。然而,纹理有时不能用于深度估计,甚至可能产生误导,比如白墙缺少纹理,而绘制在地上的3D画则可能让人误以为地上出现了一个悬浮在空中的殿宇,如图1(b)所示。此外,物体的语义信息也有助于平面提取,比如墙面几乎都是平面,而大部分的篮球则不是平面。

图1 单目相机成像示例

2 基于单张彩色图输入的平面提取方法现状

基于单张彩色图输入的平面提取首先是从图片中提取特征。传统方法关注的是几何基元的提取,比如点、线段等;也会使用纹理信息,比如颜色、形状等。神经网络强大的特征提取能力可以从像素点中提取信息,然后聚合成平面;也有研究是用神经网络提取图片中点、线之类的几何基元来构成平面。本文将基于单张彩色图输入的平面提取研究工作分为两类:几何方法提取平面、神经网络提取平面。

2.1 几何方法提取平面

几何方法提取平面使用一种自下而上的方法,即先寻找单张彩色图片中的几何基元(geometric primitive)来恢复三维信息,从而进一步提取平面,图2展示了几何方法算法流程。为了提高平面提取精度,大部分几何方法使用了一定的场景约束,最常用的是曼哈顿世界假设(Manhattan-world assumption)[2]。曼哈顿世界假设是指场景中不同朝向的平面应相互正交,即分别对应三维笛卡尔坐标系中的xy面、xz面和yz面。文献[3]的应用场景为满足曼哈顿世界假设的室内环境。文献[4]的目标为水平地面,因此对环境的约束为无悬挂在空中的物体。文献[5]使用最严格的场景约束,除了满足曼哈顿世界假设的室内环境,还要求场景中出现一个地板和一个天花板。文献[6]则没有任何场景约束。表格1总结了现有方法使用的特征、是否区分平面/非平面、深度估计和平面分割的方法以及处理的场景类别,图3展示了实验效果图。

图2 几何方法算法流程

表1 几何方法对比

注:第一行为输入图,第二行为各方法输出的平面分割效果图。

基于几何的方法包含以下几类关键特征:

(1)线段。共面的线段是构成平面的重要形式,线段分为直线、曲线。几何方法中使用的都是直线段,可进一步用于提取灭点。线段提取算法有Canny算子[7]、Sobel算子[8]、相位一致性[9]等。

(2)灭点。在三维空间中,平行的两条直线投影到相机的二维成像平面后,两条线会趋于一点,该点称为灭点。若两条直线平行于相机成像平面,则灭点位于无穷远处,否则,灭点的位置可以被唯一确定。通过检测一个平面中的多对平行线的灭点,可以唯一确定该平面的法线方向[10]。灭点检测算法有霍夫变换[11]、RANSAC[12]等。

(3)超像素。图片中具有相似颜色、纹理等特性的相邻像素点更可能位于同一平面上,这些像素点聚合成的大小不一的图像块就是超像素。使用超像素作为算法的输入,可以大大降低输入数据的维度和后续算法的复杂度,并剔除图片中的异常像素点。超像素算法有graph-based方法[13]、SLIC方法[14]等。

(4)特征点。特征点指图片中含有丰富局部信息的点,比图像中的其他区域更有价值。特征点需包含纹理、颜色等可用于平面判断的信息,并且对光照的变化具有鲁棒性,特征点提取算法有SIFT[15]、SUFT[16]等。ORB[17]之类的算法只能对灰度图提取特征点,丢失了彩色信息,因此不能用于平面信息提取。

大部分几何方法使用马尔可夫随机场(Markov Random Field, MRF)估计深度信息。MRF也称为概率无向图模型,其中的某个随机变量只与其相邻的随机变量有关,与不相邻的随机变量无关。这与图像的性质相符,即图像中每个点与周围点的关系跟距离成反比。文献[3]使用MRF从线段和超像素特征中估计深度信息,并使用拉普拉斯概率分布来优化结果。文献[4]使用MRF从纹理和雾霾信息中估计深度信息。文献[6]先利用相关向量机(Relevance Vector Machine, RVM)[18]估计每个特征点的深度信息,然后通过MRF计算出平面方向。文献[5]没有使用MRF,而是利用灭点和线段的几何关系推断得到深度图。

不同的几何方法在分割平面时亦考虑了不同的处理方式。文献[3]在使用MRF估计深度的同时完成平面分割,并且使用动态贝叶斯网络(Dynamic Bayesian Network, DBN)专门分割地面,因为地板与很多平面(比如墙面)相连接,高质量的地板分割有助于其他平面的提取。文献[4]从图片中分割出超像素,然后结合深度图,利用广度优先搜索(Breadth-First Search,BFS)找出方向相似且相邻的超像素融合成水平地面。文献[5]将线段的连接情况与事先规定的12种情况对比,可以获得三维结构假设,穷举所有可能的12种假设,保留深度图中的每个区域中匹配度最高的假设作为平面,最终得到完整的平面提取。文献[6]先根据RVM提取出的每个特征点位于平面的概率,用MRF将平面区域与非平面区域分割开,然后结合深度信息再次利用MRF从平面区域中分割出平面实例。对于SIFT算法无法从马路等缺少纹理的区域提取特征点的情况,文献[6]提出可以用间距相等的网格代替特征点。

在传统的几何方法中,虽然人们已经可以成功提取诸如点、线这样简单的几何基元,但是如何进一步从中提取高质量的平面一直是个困难。现有的几何方法无法对图片中的几何线索有效建模。大部分几何方法使用曼哈顿世界假设之类的约束,但同时它们的应用场景也受到了极大得约束。部分几何方法还使用了一个约束——平面的边缘由直线构成,这导致它们无法提取边缘为曲线的平面或只能提取其中的一部分。现有的研究中,有些领域与本文研究的几何方法相关,比如矩形检测[19-20]、场景理解[21]、恢复场景三维结构[22-23]、表面布局恢复[24]等。

2.2 神经网络提取平面

神经网络的本质是特征提取器,其中著名的卷积神经网络(Convolutional Neural Networks,CNN)的强大之处在于它的多层结构能自动学习特征,并且可以学习到多个层次的特征。神经网络提取平面的主要流程是利用现有的网络作为编码器对图片信息进行提取,然后通过几个分支将这些信息解码成平面/非平面掩膜、平面实例分割掩膜和深度图,最终整合为完整的3D平面模型,图4展示了神经网络提取平面的主要框架。表2总结了现有方法的提取平面思路、网络主干、识别的平面数量和使用的数据集,图5展示了实验效果图。

图4 神经网络算法流程

表2 神经网络方法对比

注:(1)第一行为输入图,第二行为各方法输出的平面分割效果图。(2)文献[32]中输入图上的标注为实验对比时添加,作为网络输入时无任何标注。

大部分文献通过聚合像素点来提取平面,主要思路是将平面提取问题转化为语义分割问题或实例分割问题。其中,PlaneNet和PlaneRecover将平面提取问题转化为语义分割问题。PlaneNet的网络主干为DRNs网络(Dilated Residual Networks)[33-34],它分别用3个分支分别预测平面方向、平面分割掩膜和非平面区域深度图。PlaneRecover使用的全卷积网络(Fully Convolutional Network,FCN)[35]。FCN网络将普通CNN[36-37]中最后的全连接层替换为卷积,从而可以一步预测图片中的所有像素点的类别。PlaneRecover利用图片中物体的语义信息,从FCN网络的输出同时得到平面/非平面分割和平面实例分割,然后在FCN网络中间维度最高的特征处连接1个分支以获得平面实例的三维信息。但是PlaneNet和PlaneRecover只能预测固定数量的平面(前者10个后者5个),在复杂情况中可能表现糟糕。

Plane R-CNN和文献[30]则使用实例分割方法提取平面。Plane R-CNN使用Mask R-CNN[38]获取图片的深度图和其中的平面实例,并使用U-Net[39]专门优化平面实例的边界。它将平面面积的下限定为图片大小的1%,因此平面数量没有限制。文献[30]基于ResNet-101-FPN[40],将平面/非平面分割当作二分类问题,并使用嵌入式联接(Associative Embedding)[41]来分割平面实例。嵌入式联接的核心思想是在检测环节给每个像素点分配一个编码矢量,即实例标签,通过均值漂移算法将距离近的单元划分为同一实例,因此也没有限制平面数量。

文献[32]的方法与上述文献不同,在曼哈顿世界假设下,提取图片中的3D线框(wireframe)然后提取平面。它的网络主干为堆叠式沙漏网络(Stacked Hourglass Network)[42],负责预测图片中的线段、连接点、深度图和灭点,最终输出三维的线框模型。此方法用直线和连接点组成平面,因此提取出的平面边缘整齐平滑,而聚合像素的方法提取出的平面边缘相对粗糙。

对于神经网络,数据集是极其重要的一部分,优质数据集有助于神经网络的性能提升。由表2可知,所有文献使用的数据集都不是专门用于平面提取,是在现有数据集中通过特定的算法给数据打上所需类型的标签。一种思路是利用colorD数据集中的深度信息,通过聚类算法拟合出平面,但是任何聚类算法都需要选定一个阈值,无论阈值怎么选择,拟合出结果都会存在一定误差,而且从现实世界中采集的数据集因为硬件缺陷不可避免带有一定的噪声。为了克服这个问题,以PlaneRecover为例,其主要使用来自人造环境的SYNTHIA数据集,利用损失函数和数据集中的语义标注整合平面信息,即

(5)

式中,q为图片中的一个像素点,若q属于“平面”类别(比如建筑、马路、围墙等)则z(q)=1,若q属于“非平面”类别(比如天空,汽车,行人等)则z(q)=0,pplane(q)为q位于平面的概率。

比较神经网络和几何方法的实验效果图(图3和图5),神经网络在平面分割和深度估计上的表现都优于几何方法。但是神经网络也存在一定问题,比如容易过拟合、需要大量算力和数据集等。并且在所有神经网络方法都使用GPU加速的情况下,只有PlaneRecover和文献[30]能达到实时计算。关于影响神经网络预测深度信息的因素,文献[43]使用在KITTI数据集[44]上训练过的MonoDepth网络[45]进行实验,表明拍照时相机的姿态、图片中物体的纹理和纵坐标对深度估计都有一定的影响。有一个研究领域与本小节的神经网络研究相关,即室内房间布局的估计[46],其中研究的几何结构就是包含地板、墙面、天花板的简单盒子模型。

3 拓展研究

从基于单张彩色图输入的平面提取研究现状可知,近三年的研究工作大部分都使用神经网络来提取平面,而之前的工作通常传统的几何方法。神经网络的提取效果优于几何方法,但提取速度受到一定限制。无论是何种方法,提取的平面边缘都存在一定问题:使用像素点聚合提取的平面边缘粗糙不平滑,而通过直线段构成平面的方法对边缘为曲线的平面提取效果较差。

基于单张彩色图输入的平面提取的未来工作主要是进一步提升平面分割和深度估计的精度。除此之外,还有很多拓展研究,比如:

(1)平面边缘的优化。如果平面由像素点构成,可对平面边缘进行平滑处理,或使用直线/曲线拟合,或从图片中提取边缘信息后与平面的边缘结合。如果平面由线条构成,可以针对性地使用直线/曲线构成平面。

(2)遮挡推理。单张彩色图包含的信息有限,从中提取的平面会因遮挡而部分缺失,比如被桌子遮挡的墙面。使用图片中已有的纹理对平面缺失处进行填充,可极大提高平面重建的完整性和观赏性。文献[29]和文献[32]对此略有涉及。

(3)绝对深度。由于缺失深度的维度,根据单张图片重建出的三维模型与真实世界相差一个因子,即尺度。可以通过图片内特定物体的尺寸来确定绝对深度。

(4)几何方法和神经网络方法的结合。两类方法各有优缺点,后续工作可通过取长补短的方式结合两类方法,有以下两种思路可供参考:一是,传统方法难以有效建模图像中的不规则线段等几何信息,因此通过神经网络预测图像中的灭点、线段的位置等[32]能更有效的提取图片中的几何信息,进而用传统几何方法根据已知的几何结构实现更高效的平面提取;二是,利用神经网络提取的特征点(例如SuperPoint[47])替代传统人工特征点,提取更具有描述性和重复性的特征,进行平面位置以及平面边缘的定位。

4 结束语

从单张彩色图和平面结构的特点出发,本文综述了基于单张彩色图输入的平面提取问题。本文将现有的研究方法划分为几何方法和神经网络两类,分析了两类方法的算法流程和优缺点,并以表格形式对比各类方法,最后展示了所有方法的实验效果图。然而,现实环境往往复杂多样,导致现有的基于单张彩色图输入的平面提取工作无法应用到多种场景中,有些方法使用强烈的场景约束,从而限制了其应用范围。在提高平面提取精度的基础上,未来工作可以进一步针对平面边缘的优化、遮挡推理、绝对深度的恢复,以及几何方法和神经网络方法的结合等展开进一步研究。

猜你喜欢
单张像素点平面
观片
影像视觉(2020年4期)2020-05-09 09:51:27
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
全球单张纸印刷机销售量持续下降
参考答案
单张纸胶印机维护保养及性能评估两项行业标准工作会议顺利召开
关于有限域上的平面映射
“中国梦·镇江的故事”微系列文艺作品征集活动获奖作品揭晓
金山(2015年11期)2015-11-16 11:01:26
基于Node-Cell结构的HEVC帧内编码
电视技术(2014年11期)2014-12-02 02:43:28
参考答案