一种基于深度学习从单幅照片恢复出场景基本三维结构的方法与流程

文档序号:12964807阅读:4753来源:国知局
一种基于深度学习从单幅照片恢复出场景基本三维结构的方法与流程

本发明属于虚拟现实领域,具体涉及一种基于深度学习从单幅照片恢复出场景基本三维结构的方法,其为通过对单幅图像进行图像语义分割、目标去除、图像修复及图像翻折等一系列操作,实现三维场景重建的方法。



背景技术:

三维场景重建是机器视觉的核心任务之一,也是人工智能研究领域中的一个重要研究方向。随着数字城市、智慧城市的发展,场景重建技术已成为近年来广大学者研究的热点。

在本发明前,已经有人对场景重建技术做了相关研究。基于图片的三维场景重建方法分为双目视觉三维重建方法和单目视觉三维重建方法。双目视觉三维重建方法使用两台摄像机从两个视点(左右平行或上下平行)观测同一物体,获取在物体不同视角下的感知图像,通过三角测量的方法将匹配点的视差信息转换为深度信息。该种方法大致可以分为图像获取、摄像机标定、特征提取与匹配、摄像机校正、立体匹配和三维建模六个步骤。双目视觉三维重建方法的优点是方法成熟,能够稳定地获得较好的重建结果;不足是运算量很大,且在基线距离较大的情况下重建效果明显降低。

鉴于双目视觉三维重建方法的不足,以及时下深度学习突飞猛进的发展,本发明将深度学习与单目视觉三维重建方法相结合,提出一种基于单幅图像进行场景重建的方法。

目前,基于单幅图像的场景重建最广泛和最实用的方法利用几何投影的原理进行重建。每一幅图像中含有的大量平行线、平行面、垂直线、垂直面、消失点、消失线等多种几何属性的约束,利用图像的这些几何约束进行摄像机标定或平面标定。进而估算出摄像机的内部各种参数、摄像机的焦距;然后通过测量目标的几何形状或计算目标高度来估算出必需的深度信息;最后利用几何投影知识等对图像进行数字化的表述,构建数字化的三维模型,将得到的模型绘制出来,这就是整个的基于单幅图像的传统三维重建过程。但这个过程自动化程度有待提高,步骤较为繁琐。例如,在进行摄像机标定和平面标定过程中,很容易由于标定误差而对最终效果产生影响。

近几年来,随着深度学习技术的发展,计算机对图像的语义处理能力逐步增强。利用基于深度学习的图像语义分割技术可以快速地对图像进行语义化分割,把图像中不同位置具有相同语义的像素点聚类成一个分类,并以不同颜色进行标记。随着图像语义分割技术的发展,其分割准确率与效率逐年提高。利用这种技术,可以快速得到图像中的前景、背景等语义信息。

图像修复技术即是利用破损区域周围的已知信息,按照一定的规则,来修补图像中遗失或者损坏的部分,以恢复图像的完整性。其方法主要分为两类:基于pde的图像修复方法和基于样本的纹理合成方法。基于pde的图像修复技术的主要思想是,利用待修补区域的边缘信息,从区域边界各向异性地向边界内扩散。该方法对小尺度破损处理的效果非常好;基于纹理的图像修复技术借鉴了纹理合成方法中的思想来寻找样本进行匹配复制,它主要分为基于图像分解修复算法,如bertalmio等人在2003年提出的一种将图像分解成结构和纹理两部分同时进行修复的方法,和基于样本的纹理合成算法。其中criminisi等人提出的算法以其实现简单和准确得到了广泛的应用。该算法充分利用了基于结构修复方法中的扩散方式来定义修复块的优先级,使得边缘附近(具有较多结构信息)的修复块具有较高的优先级,从而在修复纹理信息的同时对结构信息由一定的保持。本发明在该方法的基础上,与图像语义分割技术相结合,使修复技术快速且完善。

pop-up技术将二维图像中的地面与立面的交线作为折线,通过坐标转换技术实现将立面向上翻折,达到将二维图片构建成三维场景的目的。



技术实现要素:

本发明的目的是:提供了一种基于单幅图像实现三维场景重建的方法。在图像语义分割过程中,对输入图片进行图像的语义分割,根据图像本身的一些特征,比如色彩、纹理等,把图像中不同位置具有相同语义的像素点打上同类标签,得到语义分割图。在目标去除过程中,以原图和前后景二值图作为输入,利用数学运算中的“与”运算,原图中的前景部分则被去除,由此得到一张待修复图。在图像修复过程中,基于criminisi等人提出的算法,结合待修复像素块附近的语义信息,选取最佳补丁,复制到待修复像素块处。在图像翻折过程中,将立面部分像素点的二维坐标,经转换得到三维坐标系的坐标,从而确定像素点在三维坐标系中应处的位置,由此构建一个与地面垂直的立面,实现立面的翻折操作。

本发明采用的技术方案为:一种基于深度学习从单幅照片恢复出场景基本三维结构的方法,包括如下步骤:

步骤一、利用深度卷积神经网络对图片进行处理,具体步骤为:

(ft1)对输入图进行卷积、池化及非线性变换等操作,得到图片的特征图;

(ft2)在完成适当次数的步骤(ft1)操作后,对最后一张输出图进行逐像素分类,得到每个像素的类别,并为每个像素打上语义标签;

(ft3)对步骤(ft2)的输出进行反卷积等处理,提高其分辨率,从而得到更多细节信息,作为输出结果图,记为m1;

步骤二、目标去除是利用图像语义分割的输出结果图,扣除原图中前景的操作,其步骤为:

(cm1)将图像语义分割的结果图转化为二值图,二值图中,属于前景部分的像素值为0;

(cm2)以原图和步骤(cm1)得到的二值图作为输入,两张图中,坐标值相同的像素进行按位相与操作,得到的结果图即为去除了前景的待修复图,记为g2;

步骤三、图像修复是根据目标去除操作的输出结果图中的背景部分,修复输出结果图中被去除部分的操作,其步骤为:

(xt1)确定原图中地面、立面交线;

(xt2)确定待修补像素的优先级;

(xt3)根据待修复像素可能属于的类别,在步骤(cm2)得到的输出结果图g2中寻找最佳匹配块,将该最佳匹配块复制到待修补位置处;

(xt4)判断全图是否修补完毕,若未完毕,则根据优先级顺序,确定下一块待修补像素,执行(xt3)操作;若修补完毕,则图像修复工作完成;

步骤四、图像翻折是根据地面、立面mask图,对图像修复阶段得到的修复结果图的立面进行翻折,得到立面翻折图的过程,其步骤为:

(zt1)根据原图的地面、立面交线,将原图分为地面、立面两部分,由此构建一张地面、立面的二值化mask图,其中,立面部分像素为0;

(zt2)根据步骤(zt1)得到的二值化mask图,对图像修复阶段得到的修复结果图的立面进行翻折,得到立面翻折图。

本发明的原理在于:首先通过图像语义分割的方法将前景与背景信息提取出来,得到语义分割图。在该语义分割图基础上,做二值化处理,分别得到前景、背景mask图,地面、立面mask图。利用原图与前景、背景二值mask图,得到去除了前景的待修复图,将该待修复图利用图像修复技术进行修复,得到一张只含有背景信息的图片。将该图片与地面、立面mask图作为输入,经pop-up操作,实现基于单幅图像进行三维场景重建的目的。

本发明与现有技术相比的优点在于:

(1)本发明在进行图像修复时,结合了被修复点的语义分割信息,可以有效提升修复准确度;

(2)本发明在进行地面、立面翻折前,首先利用语义分割和目标去除、图像修复技术复原出场景基本三维结构,可以有效提升翻折效果,避免了前景信息的干扰。

附图说明

图1为本发明的一种基于深度学习从单幅照片恢复出场景基本三维结构的方法的流程图示意图;

图2为本发明的图像语义分割流程示意图;

图3为本发明的图像修复技术中待修复像素优先级选取示意图;

图4为本发明的最佳匹配块选取及填充示意图。

具体实施方式

下面结合附图对本发明做进一步详细描述。在介绍本发明的具体实施方法之前,首先对一些基本概念进行说明:

(1)图像语义分割:根据图像本身的一些特征,比如色彩、纹理等,把图像中不同位置具有相同语义的像素点打上同类标签的操作;

(2)图像修复:利用破损区域周围的已知信息,按照一定的规则,来修补图像中遗失或者损坏的部分,以恢复图像的完整性;

(3)图像翻折:根据一条指定的折线或直线,将原来平面的一部分翻折起来,得到一张具有空间感的三维图像;

(4)基于pde的图像修复:pde即偏微分方程,利用偏微分方程可以准确对图像建模,基于pde的图像修复即将图像处理转化为对偏微分方程的处理。

本发明一种基于深度学习从单幅照片恢复出场景基本三维结构的方法,包括如下步骤:

步骤一、利用深度卷积神经网络对图片进行处理,具体步骤为:

(ft1)对输入图进行卷积、池化及非线性变换等操作,得到图片的特征图;

(ft2)在完成适当次数的步骤(ft1)操作后,对最后一张输出图进行逐像素分类,得到每个像素的类别,并为每个像素打上语义标签;

(ft3)对步骤(ft2)的输出进行反卷积等处理,提高其分辨率,从而得到更多细节信息,作为输出结果图,记为m1;

步骤二、目标去除是利用图像语义分割的输出结果图,扣除原图中前景的操作,其步骤为:

(cm1)将图像语义分割的结果图转化为二值图,二值图中,属于前景部分的像素值为0;

(cm2)以原图和步骤(cm1)得到的二值图作为输入,两张图中,坐标值相同的像素进行按位相与操作,得到的结果图即为去除了前景的待修复图,记为g2;

步骤三、图像修复是根据目标去除操作的输出结果图中的背景部分,修复输出结果图中被去除部分的操作,其步骤为:

(xt1)确定原图中地面、立面交线;

(xt2)确定待修补像素的优先级;

(xt3)根据待修复像素可能属于的类别,在步骤(cm2)得到的输出结果图g2中寻找最佳匹配块,将该最佳匹配块复制到待修补位置处;

(xt4)判断全图是否修补完毕,若未完毕,则根据优先级顺序,确定下一块待修补像素,执行(xt3)操作;若修补完毕,则图像修复工作完成;

步骤四、图像翻折是根据地面、立面mask图,对图像修复阶段得到的修复结果图的立面进行翻折,得到立面翻折图的过程,其步骤为:

(zt1)根据原图的地面、立面交线,将原图分为地面、立面两部分,由此构建一张地面、立面的二值化mask图,其中,立面部分像素为0;

(zt2)根据步骤(zt1)得到的二值化mask图,对图像修复阶段得到的修复结果图的立面进行翻折,得到立面翻折图。

所述步骤(cm1)包括步骤如下:

(cm1.1)在步骤(ft4)得到的图像语义分割图中,对于每个像素点,不同的标签表示该像素有不同的语义。为方便可视化,将每种语义对应一种颜色,由此可以得到一张经着色处理的语义分割图。设所有属于前景类别的像素经着色处理后的颜色值为f={fc1,fc2,...,fcn},所有属于背景类别的像素经着色处理后的颜色值为b={bc1,bc2,...,bcn}。对于某一个像素点p,设该点的像素值为x;

(cm1.2)若x∈f,则将p点的像素值设为0;若x∈b,则将p点的像素值设为255;

(cm1.3)遍历步骤(ft4)得到的图像语义分割图m1,对每一个像素点按照步骤(cm1.2)执行判断和赋值操作;

(cm1.4)得到一张二值图,记为m2。

所述步骤(cm2)包括步骤如下:

(cm2.1)设在原图中某点坐标值为(x,y),该点处颜色值为v,在m2中,点(x,y)处的颜色值为v';

(cm2.2)以原图和m2为输入,对二图中的每一个像素点,执行vv'操作,操作为向量的按位相与;

(cm2.3)得到一张去除了所有前景的待修复图,记为g2。

所述步骤(xt1)包括步骤如下:

(xt1.1)将原图利用高斯滤波器进行平滑处理,再进行灰度化处理,利用sobel算子对灰度化处理的结果进行边缘提取,得到边缘检测图;

(xt1.2)对步骤(xt1.1)得到的结果图进行霍夫变换处理,找到图中的直线l={l1,l2,l3,...,li,...};

(xt1.3)对l={l1,l2,l3,...,li,...}中的每一条直线进行判断,若在m1中直线li两侧分别属于地面、立面,则li为地面与立面的其中一条交线;

(xt1.4)记l'={l1,l2,l3,...,li,...}为地面与立面交线的集合,设集合l'中直线与直线间的交点组成的集合为p',将p'中相邻点之间用线段连接,所组成的折线,即为地面与立面交线,记为h;

所述步骤(xt2)包括步骤如下:

(xt2.1)对于g2中所有被去除的像素,计算其优先权值。如图3所示,以目标区域边缘点p为中心的块ψp的优先级计算公式如下:

其中c(p)为置信度项,d(p)为数据项,定义如下:

|ψp|为块ψp的面积,α为图像标准化因子(如uint8图像α=255),np为目标区域边缘上点p处的单位法向量,为点p的“isophote”(等照度线与梯度垂直)。初始阶段c(p)=0,p∈ω,c(p)=1,p∈i-ω。

(xt2.2)将待修复的像素点按优先级进行排序;

(xt2.3)逐次选取优先级高的点进行移除;

所述步骤(xt3)包括步骤如下:

(xt3.1)当前权值最高的待修补块记为l。根据l中心点坐标(x,y),结合h判断l所处的语义环境;

(xt3.2)如图4所示,将图像分为已知区域(sourceregion)和待填充区域(targetregion),targetregion即g2中被去除的部分。修复从targetregion的边界开始,以边界点p为中心,设置块的大小(默认边长s为15像素)。

(xt3.3)判断以边界点p为中心的待修复块中是否有地面-立面交线穿过:

若否,则结合l所处语义环境及对原图的语义分割结果m1,在相应语义环境中选取最佳patch进行填充,patch的大小等于步骤(xt3.2)中设置的块大小。如图4-c所示,在以q'及q”为中心的两个块中,选取最佳匹配块,填充到以p为中心的待填充块中;

若是,则执行步骤(xt3.4);

(xt3.4)若以边界点p为中心的待修复块中有地面-立面交线穿过,即则在地面-立面交线上选取最佳patch。其中li∈l,l为地面-立面交线的集合。

所述步骤(zt1)包括步骤如下:

(zt1.1)根据步骤(xt1.4)所得到的h,以h为界;

(zt1.2)h以上的部分为立面部分,h以下的部分为地面部分,构建一张只包含地面、立面语义的与原图尺寸等大小的二值化mask图,记为m3;

所述步骤(zt2)包括步骤如下:

(zt2.1)设水平面为π=(nt,d)t∈r4,其中n,d分别为法向量和到原点的距离;

(zt2.2)设点p在三维空间中,且其坐标为p=(x,y,z)t,则p满足方程ntp+d=0;

(zt2.3)p在原图中的坐标值为p=(x,y,1)t,且满足p=λk-1p,其中k为正交阵,λ为参数;

(zt2.4)假设原图中π=(0,1,0,1),可以根据立面在二维图像中的坐标p和地面π,求得p为:

本发明的总体示意图如图1所示,首先通过图像语义分割的方法将前景与背景信息提取出来,得到语义分割图。在该语义分割图基础上,做二值化处理,分别得到前景、背景mask图,地面、立面mask图。利用原图与前景、背景二值mask图,得到去除了前景的待修复图,将该待修复图利用图像修复技术进行修复,得到一张只含有背景信息的图片。将该图片与地面、立面mask图作为输入,经pop-up操作,实现基于单幅图像进行三维场景重建的目的。

本发明中未详细阐述的部分属于本领域技术人员的公知技术。

最后所应说明的是,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明在基于视频纹理质量的视频评估方法评价视点质量和基于所构建的道路图自动生成漫游路径的方法下,还可以做出若干改进或等同变换,这些改进和等同变换也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1