一种基于图像分类的深度信息提取方法
【专利说明】
【技术领域】
[0001]本发明涉及计算机视觉与数字图像处理领域,特别是涉及一种基于图像分类的深度ig息提取方法。
【【背景技术】】
[0002]深度图像常被用于三维重建、自由视点编码等诸多领域。现有的深度信息提取主要集中于多视点图像的提取。对于单目图像深度信息的提取,由于单目图像的信息量少,深度信息提取复杂,因此其提取效率低,提取的质量也较差,常常需要人的手动操作等。
[0003]为了提高单目图像的深度图像质量,目前针对其深度图像的成像缺陷提出了一系列的改进方法。其中具有代表性的方法有两种:一种是,首先利用时域信息重建背景,然后提取背景的深度图,并分割出运动物体;最后根据运动物体在场景中的位置和背景深度图为运动物体分配深度值,并将这些深度值融入深度背景图中。该方法需要先后输入两帧图像,对于单帧单目图像的处理有所限制,而且处理速度较慢。另一种是利用边缘信息给图像进行区域分割后,给每一块区域分配一个相对的深度值,就可以得到整幅图像的深度图。这种方法处理得到的深度图准确度较低。这是因为:由于不同的图像受到例如颜色、光照强渡的影响,使得分割后的图像按块赋值较为复杂,而且赋值准确度不高,降低了对图像处理的效率。
【
【发明内容】
】
[0004]本发明所要解决的技术问题是:弥补上述现有技术的不足,提出一种基于图像分类的深度信息提取方法,获取的深度图较为准确,且计算复杂度较低。
[0005]本发明的技术问题通过以下的技术方案予以解决:
[0006]—种基于图像分类的深度信息提取方法,包括以下步骤:I)检测图像的类型,判断图像的类型是远景图像、左视图像、右视图像、普通图像四种类型中的哪一种;如果是远景图像,则进入步骤2);如果是左视图像,则进入步骤3);如果是右视图像,则进入步骤4);如果是普通图像,则进入步骤5) ;2)对图像采用Mean shift分割方法进行分割,再对分割后的不同块进行深度赋值,所赋深度值由块内的像素点的垂直方向的坐标确定得到;3)对图像采用Mean shift分割方法进行分割,再对分割后的不同块进行深度赋值,所赋深度值由块内的像素点的水平方向的坐标确定得到;4)对图像采用Mean shift分割方法进行分割,再对分割后的不同块进行深度赋值,所赋深度值由块内的像素点的水平方向的坐标确定得至lj;5)对图像采用KMeans分割方法进行分割,分割出前景部分和背景部分,然后根据背景部分是否属于远景图像、左视图像、右视图像三种类型的判断结果,对背景部分和前景部分分别赋值。
[0007]本发明与现有技术对比的有益效果是:
[0008]本发明的深度信息提取方法,检测输入的单目深度图像的类型,将图像类型划分成四种类型,即普通视图、远景视图、左视视图、右视视图,四种基本类型几乎涵盖所有种类的图像。通过分类处理,提高了图像深度赋值的效率。基于分类结果,对不同的图像类型采用不同的深度赋值方法。对相应的图像分别采用Meanshift和KMeans图像分割方法,将图像分割为对应的块,通过对块进行深度赋值,提高了深度图像各部分间匹配的准确性,从而提高了深度图的准确性。处理过程中,涉及的计算量仅判断分类、分割算法等,计算量小,极大地降低计算复杂度。
【【附图说明】】
[0009]图1是本发明【具体实施方式】的基于图像分类的深度信息提取方法的流程图;
[0010]图2a是本发明【具体实施方式】的深度信息提取方法处理时输入的第一幅图像;
[0011]图2b是本发明【具体实施方式】的深度信息提取方法处理第一幅图像得到的深度图;
[0012]图2c是采用传统的直接赋深度值处理第一幅图像得到的深度图;
[0013]图3a是本发明【具体实施方式】的深度信息提取方法处理时输入的第二幅图像;
[0014]图3b是本发明【具体实施方式】的深度信息提取方法处理第二幅图像得到的深度图;
[0015]图3c是采用传统的直接赋深度值处理第二幅图像得到的深度图;
[0016]图4a是本发明【具体实施方式】的深度信息提取方法处理时输入的第三幅图像;
[0017]图4b是本发明【具体实施方式】的深度信息提取方法处理第三幅图像得到的深度图;
[0018]图4c是采用传统的直接赋深度值处理第三幅图像得到的深度图;
[0019]图5a是本发明【具体实施方式】的深度信息提取方法处理时输入的第四幅图像;
[0020]图5b是本发明【具体实施方式】的深度信息提取方法处理第四幅图像得到的深度图;
[0021]图5c是采用传统的直接赋深度值处理第四幅图像得到的深度图。
【【具体实施方式】】
[0022]下面结合【具体实施方式】并对照附图对本发明做进一步详细说明。
[0023]如图1所示,为本【具体实施方式】的基于图像分类的深度信息提取方法的流程图,提取方法包括以下步骤:
[0024]Al:输入一帧待处理的2D单目图像,将图像进行滤波处理。输入的单目深度图像,可由照相机采集或网上下载所得。对所输入图像进行滤波处理,例如,进行双边滤波处理。
[0025]A2:检测图像的类型,判断图像的类型是远景图像、左视图像、右视图像、普通图像四种类型中的哪一种;如果是远景图像,则进入步骤2);如果是左视图像,则进入步骤3);如果是右视图像,则进入步骤4);如果是普通图像,则进入步骤5)。
[0026]该步骤进行图像分类,具体检测时,可将待处理的图像从RGB色彩空间转换到HIS色彩空间,根据图像中像素点的H、S、I值判断图像的类型是否属于远景图像。
[0027]具体地,由以下式子判断是否满足远景视图:设在图像中坐标(x,y)处的像素点的
11、5、1的值分别为!1(1,7),3(^7),1(^7),同时定义像素点的是否归为天空类像素的属性参数Sky(x,y),以及是否归为地面类像素的属性参数GroUnd(X,y),则:
[0028]若100〈H(x,y)〈180且100〈I(x,y)〈255,贝lJSky(x,y)= 1;否则,Sky(x,y) = 0。其中,31^(^50 = 1表示像素点(1,50归类为天空的像素点。
[0029]若50〈H(x,y)〈100且100〈S(x,y)〈255,则Ground(x,y)= I ;否则,Ground(x,y) = 0。其中,Ground(x,y) = l表示像素点(x,y)归类为地面的像素点。
[0030]统计图像中像素点归类为天空或者地面的像素点的个数Amount,也即可首先将所有像素点的Sky (X,y)的值与Ground (x,y)的值进行或运算,然后将各像素点或运算后的结果加和。由上述内容可知,Sky (x,y)和Ground(x,y)的值只会为I或者O。若Sky (x,y)和Ground(X,y)其中有一个为1,则或的结果为I。将或运算结果相加得到的总和即为像素点归类为天空或者地面的像素点的总个数Amount。将Amount与设定的阈值相比较,如果总个数Amount大于阈值,则图像属于远景图像类型,按照如下所述的步骤A3进行深度赋值。否则,属于非远景图像类型。
[0031]当图像为非远景图像类型时,可继续判断图像属于其余三种类型中的哪一种。
[0032]具体地,可先检测图像的边缘,然后检测边缘直线,最后计算检测的边缘直线的斜率值,根据斜率值判断图像为左视图像、右视图像和普通图像中的哪一种。用于图像边缘检测的方法算子有多种,其中canny算子检测比较准确,运行速度也较合理。因此,本【具体实施方式】中,利用Canny算子计算出图像的边缘。检测出边缘后,再利用Hough变换进行边缘直线检测,最后计算所检测的直线的斜率值。根据斜率值将图像分为左视图像、右视图像和普通图像。若每一条斜率不为零的直线的斜率都大于零,则图像为左视视图图像,按如下所述的步骤A4进行深度赋值;若每一条斜率不为零的直线的斜率都小于零,则图像为右视视图图像,按如下所述的步骤A5进行深度赋值;其他情况归为普通视图图像,按照如下所述的步骤A6进行深度赋值。
[0033]A3)对图像采用Mean shift分割方法进行分割,再对分割后的不同块进行深度赋值,所赋深度值由块内的像素点的垂直方向的坐标确定得到。
[0034]具体地,对于远景视图图像,其同一水平值的深度相近,因此块的深度赋值与块内像素点的垂直坐标有关。具体如何由块内像素点的垂直坐标设置像素点的深度值,有多种方法。例如,根据块内的垂直方向的坐标值最小的像素点垂直方向的坐标确定得到相应块的深度值,具体确定时根据y-50设置相应块的深度值,其中,y表示块内的垂直方向的坐标值最小的像素点垂直方向的坐标。该种设置方式是一种简单较为快速的方式,其余较为精细化的设置公式也可用于此处的深度赋值,只是计算量可能稍大。具体如何根据垂直坐标对深度进行赋值可由用户根据深度提取的精确度以及计算复杂度的要求综合设定。
[0035]A4)对图像采用Mean shift分割方法进行分割,再对分割后的不同块进行深度赋值,所赋深度值由块内的像素点的水平方向的坐标确定得到。
[0036]具体地,对于左视视图图像,块的深度赋值与块内像素点的水平坐标有关。例如,根据块内的水平方向的坐标值最小的像素点水平方向的坐标确定得到相应块的深度值。优选地,根据