一种立木视差图生成方法及装置

文档序号:27126732发布日期:2021-10-27 20:15阅读:108来源:国知局
一种立木视差图生成方法及装置

1.本发明涉及图像处理技术领域,具体涉及一种立木视差图生成方法及装置。


背景技术:

2.视差图是深度图获取和三维重建的基础,其广泛应用于多视觉图像的结构恢复、三维图像表面数据采集、数字表面模型及数字高程模型制作等,在航天航空、农林业、移动机器人等领域亦广泛应用。受真实场景下光照不稳定、纹理结构相似等因素影响,视差图容易出现误匹配问题,严重制约其应用范围。因此,提高真实场景下视差图的生成质量是立体匹配研究的一个热点,现有的视差图获取方式可分为传统方法和深度学习的方法。
3.传统方法是通过改进经典的立体匹配算法提高视差图质量,近年来,深度学习发展迅猛,深受国内外学者的青睐,利用卷积神经网络(cnn)进行立体匹配的取得了不错的效果。
4.真实场景下采集的图像受自然光照、噪声等影响较大,生成视差图较为复杂和困难。而立木生长环境更为复杂,受光照、遮挡、纹理等众多因素影响,获取立木视差图富有挑战性。立木视差图包含立木对象与相对深度信息,可为立木因子测量、三维重建等提供参考。传统方法误匹配率较高,制约着后续应用的范围。深度学习的方法通过大量学习耗时较长,可获得较高质量的视差图,但在立木视差图方面缺少大量的先验知识,使得训练学习的方法不适用于复杂立木结构。


技术实现要素:

5.针对现有技术中的缺陷,本发明提供一种立木视差图生成方法及装置,以解决现有方法无法处理实际应用以及立木生长环境复杂、遮挡较严重的问题。
6.第一方面,本发明提供的一种立木视差图生成方法,包括:
7.通过双目相机获取立木图像,并对所述立木图像进行标定和预处理,得到待处理图像;
8.根据所述待处理图像,获取census窗口的中心像素点的灰度值替换值以及初始匹配代价值;
9.结合待处理图像分割,基于所述初始匹配代价值获取总路径代价值,确定目标视差。
10.由上述技术方案可知,本发明提供的一种立木视差图生成方法,通过计算八邻域的中值替代census窗口的中心像素点,避免了传统census窗口过于依赖中心像素点的问题,由于传统census窗口通过比较中心像素点和邻域像素点的大小进行取值,导致误差较大。在纹理弱或是光照充足时损失了一部分立木的特征信息。而通过求解中值的方法具有较强的抗干扰能力。同时获取到的图像轮廓更清晰,并且能包括更多的细节。
11.可选地,所述获取census窗口的中心像素点的灰度值替换值以及初始匹配代价值,包括:
12.获取census窗口中心像素点的八邻域像素点灰度值;
13.计算所述census窗口中心像素点的八邻域像素点的灰度中值;
14.将八邻域像素点的灰度值中值替换所述census窗口中心像素点的灰度值;
15.基于汉明距离获取初始匹配代价值。
16.可选地,所述结合待处理图像分割,基于所述初始匹配代价值获取总路径代价值,确定目标视差,包括:
17.对所述待处理图像进行聚类分割,使所述待处理图像被划分为若干区域;
18.根据划分的区域,基于所述初始匹配代价值获取中心像素点的单路径聚合代价值;
19.根据所述单路径聚合代价值获取总路径代价值,并根据所述总路径代价值确定目标视差。
20.可选地,所述方法还包括:
21.基于所述目标视差及关联所述目标视差的关联视差形成拟合曲线并确定子像素视差值;
22.根据所述子像素视差值获取所述视差图中的无效点,基于预设判定条件确定所述无效点的无效类型;
23.根据所述无效类型,对所述无效点进行分类填充视差值。
24.可选地,所述根据所述无效类型,对所述无效点进行分类填充,包括:
25.若所述无效点为失真点,以所述失真点为中心,将所述失真点的视差值与所述失真点八邻域像素点的视差值进行比较,基于八邻域像素点的视差值填充所述失真点的视差值;
26.若所述失真点的视差值小于等于八邻域像素点中的最小视差值,以所述最小视差值填充所述失真点的视差值;
27.若所述失真点的视差值大于等于八邻域像素点中的最大视差值,以所述最大视差值填充所述失真点的视差值;
28.若所述失真点的视差值大于八邻域像素点中的最小视差值且小于八邻域像素点中的最大视差值,以所述平均视差值填充所述失真点的视差值;其中,所述平均视差值由所述最小视差值和所述最大视差值确定。
29.可选地,若所述无效点为失真点,所述填充视差值其中,y为所述失真点,m
min
为最小视差值,m
max
为最大视差值,m
avg
为平均视差值,z为所述失真点八邻域视差值的集合。
30.可选地,所述根据所述无效类型,对所述无效点进行分类填充,还包括:
31.若所述无效点为孔洞点,以孔洞点y的坐标为起点,分别向x方向和y方向遍历寻找第一个非零像素点,形成自适应窗口矩阵,根据所述自适应窗口矩阵内的元素确定视差填充值。
32.可选地,若所述无效点为孔洞点,以所述孔洞点为起点,从x方向和y方向分别遍历视差值确定视差值不为0对应的像素点,形成自适应窗口矩阵n,其中,y为所述孔洞点的坐标,y
y
为y沿y轴方向的第一个视差非零像素点的坐标,y
x
为y沿x方向的第一个视差非零像素点的坐标,(x

,y

)为y
y
平行于y方向的延长线和y
x
平行于x方向的延长线交点的坐标。
33.可选地,基于所述自适应窗口矩阵n,所述填充视差值可选地,基于所述自适应窗口矩阵n,所述填充视差值其中,为所述自适应窗口矩阵n内元素的视差值之和;为所述自适应窗口矩阵n内非零元素个数。
34.第二方面,本发明提供的立木视差图生成装置,包括:
35.图像获取模块,用于通过双目相机获取立木图像,并对所述立木图像进行标定和预处理,得到待处理图像;
36.计算模块,用于根据所述待处理图像,获取census窗口的中心像素点的灰度值替换值以及初始匹配代价值;
37.输出模块,用于结合待处理图像分割,基于所述初始匹配代价值获取总路径代价值,确定目标视差。
38.可选地,所述计算模块,具体用于:
39.获取census窗口中心像素点的八邻域像素点灰度值;
40.计算所述census窗口中心像素点的八邻域像素点的灰度中值;
41.将八邻域像素点的灰度值中值替换所述census窗口中心像素点的灰度值;
42.基于汉明距离获取初始匹配代价值。
43.可选地,所述输出模块,具体用于:
44.对所述待处理图像进行聚类分割,使所述待处理图像被划分为若干区域;
45.根据划分的区域,基于所述初始匹配代价值获取中心像素点的单路径聚合代价值;
46.根据所述单路径聚合代价值获取总路径代价值,并根据所述总路径代价值确定目标视差。
47.可选地,所述装置还包括优化模块,具体用于:
48.基于所述目标视差及关联所述目标视差的关联视差形成拟合曲线并确定子像素视差值;
49.根据所述子像素视差值获取所述视差图中的无效点,基于预设判定条件确定所述无效点的无效类型;
50.根据所述无效类型,对所述无效点进行分类填充视差值。
51.可选地,所述优化模块,具体还用于:
52.若所述无效点为失真点,以所述失真点为中心,将所述失真点的视差值与所述失真点八邻域像素点的视差值进行比较,基于八邻域像素点的视差值填充所述失真点的视差
值;
53.若所述失真点的视差值小于等于八邻域像素点中的最小视差值,以所述最小视差值填充所述失真点的视差值;
54.若所述失真点的视差值大于等于八邻域像素点中的最大视差值,以所述最大视差值填充所述失真点的视差值;
55.若所述失真点的视差值大于八邻域像素点中的最小视差值且小于八邻域像素点中的最大视差值,以所述平均视差值填充所述失真点的视差值;其中,所述平均视差值由所述最小视差值和所述最大视差值确定。
56.可选地,所述优化模块,具体还用于:
57.若所述无效点为失真点,所述填充视差值其中,y为所述失真点,m
min
为最小视差值,m
max
为最大视差值,m
avg
为平均视差值,z为所述失真点八邻域视差值的集合。
58.可选地,所述优化模块,具体还用于:
59.若所述无效点为孔洞点,以孔洞点y的坐标为起点,分别向x方向和y方向遍历寻找第一个非零像素点,形成自适应窗口矩阵,根据所述自适应窗口矩阵内的元素确定视差填充值。
60.可选地,所述优化模块,具体还用于:
61.若所述无效点为孔洞点,以所述孔洞点为起点,从x方向和y方向分别遍历视差值确定视差值不为0对应的像素点,形成自适应窗口矩阵n,其中,y为所述孔洞点的坐标,y
y
为y沿y轴方向的第一个视差非零像素点的坐标,y
x
为y沿x轴方向的第一个视差非零像素点的坐标,(x

,y

)为y
y
平行于y轴的延长线和y
x
平行于x轴的延长线交点的坐标。
62.可选地,所述优化模块中,基于所述自适应窗口矩阵n,所述填充视差值其中,为所述自适应窗口矩阵n内元素的视差值之和;为所述自适应窗口矩阵n内非零元素个数。
63.第三方面,本发明一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
64.第四方面,本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机
程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
65.基于上述技术方案,本技术具有如下有益效果:
66.1)通过计算八邻域的中值替代census窗口的中心像素点,避免了传统census窗口过于依赖中心像素点的问题,由于传统census窗口通过比较中心像素点和邻域像素点的大小进行取值,导致误差较大。在纹理弱或是光照充足时损失了一部分立木的特征信息。而通过求解中值的方法具有较强的抗干扰能力。同时获取到的图像轮廓更清晰,并且能包括更多的细节。
67.2)本技术通过改进的census进行代价计算,结合图像分割进行代价聚合可获得更多有效信息,在复杂背景下仍可获得精细的立木视差图。在若干区域和相同区域内采用不同的惩罚系数,可有效降低代价聚合过程在弱纹理、遮挡区域的误匹配率。
68.3)本技术通过针对于无效点类型,可针对性的对无效点进行填充,相比于传统sgm算法,对于视差图中的无效点进行优化,提高了图像质量,且在弱纹理、遮挡以及边缘区域具有普适性。
附图说明
69.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
70.图1示出了本发明一实施例提供的一种立木视差图获取方法的流程图;
71.图2a示出了本发明一实施例提供的矫正前的立木图像示意图;
72.图2b示出了本发明一实施例提供的矫正后的立木图像示意图;
73.图3示出了本发明一实施例提供的census中心像素点的中值替换示意图;
74.图4示出了本发明一实施例提供的一种立木视差图获取方法的流程图;
75.图5示出了本发明一实施例提供的一种立木视差图获取方法的流程图;
76.图6示出了本发明一实施例提供的8路径聚合的示意图;
77.图7示出了本发明一实施例提供的一种立木视差图获取方法的流程图;
78.图8示出了本发明一实施例提供的自适应窗口矩阵n的孔洞点填充模型的示意图;
79.图9示出了本发明一实施例提供的一种立木视差图获取方法与gsm算法的效果对比图;
80.图10示出了本发明一实施例提供的一种立木视差图生成装置的结构框图;
81.图11示出了本发明一实施例提供的电子设备的结构框图。
具体实施方式
82.下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
83.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
84.立木视差图是立木因子测量、三维重建的基础。真实场景下采集的图像受自然光
照、噪声等影响较大,生成视差图较为复杂和困难。目前对于视差图生成通常采用sgm算法,本技术就是基于sgm算法进行改进,从而提高视差图的生成效果,增加生成视差图的有效信息。
85.参见图1,本发明实施例提供了一种立木视差图获取方法,包括:
86.s101、通过双目相机获取立木图像,并对立木图像进行标定和预处理,得到待处理图像。
87.本步骤中,立木图像使用便携式usb3.0双目视觉相机拍摄,共采集五种不同品种的立木,且为便于研究,图像分辨率统一设置为1280
×
720像素。所拍摄的立木树种为园林树木、丝兰、卫矛、木槿等,树高为1

3m。因品种不同,高矮存在差异,故拍摄距离为1.5

3m,以保证拍摄目标立木位于中心位置且完整。所采集的立木图像具有以下特征:(1)包含背景立木、土壤、草丛、道路等噪声;(2)存在立木被遮挡,纹理强弱不同和高度不一致等情况;(3)均在晴天非均匀光照下(有较强的光照干扰)拍摄。
88.同时,在立体匹配中还需要进行必不可少的一个步骤,就是双目标定。标定是通过计算内在参数(相机焦距fx、fy,光心位置坐标和畸变系数)和外在参数(相机相对于3d世界原点的旋转r和平移t)纠正镜头畸变,参见图2a和图2b,图2a为矫正前的立木图像示意图,图2b为矫正后的立木图像示意图。本实施例采用张氏经典棋盘格标定法,选取12
×
9格、3cm
×
3cm的专业标定板以消除标定板反光现象以及表面粗糙所造成标定精度的影响。在具体实施时,将双目相机固定于标定板的正前方,同时在拍摄过程中始终保持标定板为于图像的中心。另外,对获取的立木图像还需进行噪声消除和图像颜色均衡的预处理。
89.s102、根据待处理图像,获取census窗口的中心像素点的灰度值替换值以及初始匹配代价值。
90.本步骤中不同于传统的census算法,而是先针对census窗口的中心像素点确定相对于中心像素点的八邻域像素点,再对八邻域像素点进行灰度值排序,根据排序确定八邻域像素点的灰度中值;之后将获取到的灰度中值替换census窗口的中心像素点。
91.s103、结合待处理图像分割,基于初始匹配代价值获取总路径代价值,确定目标视差。
92.具体地,基于均值偏移(mean shift)算法,通过反复迭代实现立木图像的分割,对立木图像进行区域划分。在本步骤中,为界定是否为相同区域,引入惩罚系数μ,获取到的单路径代价值受惩罚系数μ影响,即在相同区域或在若干区域,惩罚系数不同。基于此,对立木图像进行代价聚合,参见图6,本步骤可以根据所要处理的图像采取8路径聚合。在根据立木图像生成的所有视差值中,依据wta方法确定最小与最小匹配代价值对应的视差值即为目标视差,可根据目标视差获取视差图。
93.本发明实施例的一种立木视差图生成方法,通过计算八邻域的中值替代census窗口的中心像素点,避免了传统census窗口过于依赖中心像素点的问题,由于传统census窗口通过比较中心像素点和邻域像素点的大小进行取值,导致误差较大。在纹理弱或是光照充足时损失了一部分立木的特征信息。而通过求解中值的方法具有较强的抗干扰能力。同时,在步骤s103中,区别于原有的sgm(semi

global matching,半全局匹配)算法获取单路径代价值的聚合,引入了惩罚系数,针对像素点及邻域像素点处于若干区域和相同区域的两种情况进行分情况处理。
94.可选地,参见图4,为了获取初始匹配的代价值从而确定待处理图像中左图像和右图像的匹配效果,步骤s102具体还包括以下步骤:
95.s1021、获取census窗口中心像素点的八邻域像素点灰度值。
96.s1022、计算census窗口中心像素点的八邻域像素点的灰度中值。
97.s1023、将八邻域像素点的灰度值中值替换census窗口中心像素点的灰度值。
98.在一个可能的实施方式中,参见图3,将八邻域像素点进行排序,分别记为x1、x2、
……
、x9,其中并不包含x5,x5用于标记census窗口的中心像素点。具体灰度值的排序以图2为例,按照从小到大的顺序依次排列为x1、x4、x3、x7、x9、x8、x2、x6,故将x7和x9作为用于计算灰度中值的像素点,故灰度中值x5=(x7+x9)/2。当x5为整数时,即为中心像素点的替换值,若x5不为整数,则对x5计算得到的值四舍五入得到中心像素点的替换值。
99.s1024、基于汉明距离获取初始匹配代价值。
100.具体地,census变换是将像素点p与以其为中心的窗口映射成一个比特流,用该比特流作为中心像素点的census变换码。传统的census变换的映射关系如下:
[0101][0102]
上式中i(p)、i(q)为像素点p、q的灰度值。由该映射关系得到对应的比特流,其定义如下:
[0103][0104]
上式中str(x,y)为中心像素点的census变换码;(x,y)表示中心像素点的坐标;i(x,y)为中心像素点的灰度值;i(x+i,y+j)表示坐标为(x+i,y+j)的像素点的灰度值;l为窗口宽度的一半,r为窗口高度的一半;为位串联符。由上式的定义就可以得到左、右两幅图的censu变换码。在census变换码的基础上,利用汉明距离相似性测度得到匹配代价,其定义如下:
[0105]
c(x,y,d)=hamming(str
l
(x,y),str
r
(x

d,y))
[0106]
上式中,c(x,y,d)代表左右图像两个字符位串中不同位的个数,str
l
(x,y)为左图像像素点(x,y)的census变换码,str
l
(x

d,y)为左图像与右图像相差距离为d的census变换码。式中c(x,y,d)即为初始匹配代价值,汉明距离为获取str
l
(x,y)和str
l
(x

d,y)之间为两个比特串对应位相异的个数和,当c(x,y,d)值越小时,表示匹配效果越好。
[0107]
传统的census算法过于依赖中心像素,对光照不敏感、受噪声影响较大,仅仅依据邻接像素与中心像素比较的大小进行取值,误差较大,虽然鲁棒性较强,但是在纹理弱、光照充足时损失了一定的立木细节信息。而为了获取更多的细节信息,本实施例中通过获取中心像素点的八邻域灰度中值替换中心像素的灰度值,提高了抗干扰能力,使计算结果更准确,并使图像可以包括更多的细节信息。
[0108]
可选地,参见图5,在步骤s103中,具体还包括以下步骤:
[0109]
s1031、对待处理图像进行聚类分割,使待处理图像被划分为若干区域。
[0110]
具体地,均值偏移算法将复杂的背景粗略化进而提取整体信息,通过反复迭代实现立木图像分割,从而实现若干区域的划分,具有容易实现、计算量小、分割准确等显著优
点。通过判定立木的颜色和纹理区域是否相同,以此作为立木分割的依据,故分割为同一区域的图像具有相同的颜色和纹理。基于颜色和纹理的分割,使分割后的立木图像保留了更多的边缘细节信息。
[0111]
需要说明的是,本实施例中为基于相同的分割标准,分割阈值均设置为30。
[0112]
s1032、根据划分的区域,基于初始匹配代价值获取中心像素点的单路径聚合代价值。
[0113]
具体地,目前sgm算法都是通过采用相同的惩罚系数,进而获取能量函数,使获得的能量函数无法包括具体的立木细节,从而在弱纹理或是遮挡区域存在一定的误匹配。本步骤中,通过区分相同区域和若干区域,引入惩罚系数μ,使能量函数基于区域划分,获取到的更多细节特征。
[0114]
进一步地,单路径聚合代价值通过下述公式计算:
[0115][0116]
其中,p为像素点,r为单条路径,c(p,d)为初始匹配代价值,l为单路径聚合代价值。在左右路径的情况下,就是p左侧(从左到右聚合)或者右侧(从右到左聚合)的相邻像素。l
r
(p

r,d)为路径内上一个像素视差为d时的聚合代价值,l
r
(p

r,d

1)为路径内上一个像素视差为d

1时的聚合代价值,l
r
(p

r,d+1)表示路径内上一个像素视差为d+1时的聚合代价值,min
i
l
r
(p

r,i)表示路径内上一个像素所有代价值的最小值;p1和p2都为惩罚系数,适用于像素p相邻像素中视差值与p的视差值相差为1的像素点,p2适用于像素p相邻像素中视差值与p的视差值相差大于1的像素点。
[0117]
s1033、根据单路径聚合代价值获取总路径代价值,并根据总路径代价值确定目标视差。
[0118]
如图6所示,本步骤中采用8路径聚合,具体单条路径参见下述公式:
[0119]
总路径代价值s计算公式为:
[0120][0121]
根据赢家通吃(winner

takes

all,wta)算法进行视差计算,即在根据立木图像生成的所有视差值中,获取最小匹配代价对应的视差值,即为目标视差。
[0122]
通过根据区域划分确定能量函数,保留了更多的细节信息,提高了代价聚合过程中弱纹理和遮挡区域匹配率。
[0123]
可选地,在确定目标视差之后,还需对得到的目标视差进行优化,参见图7,故方法还包括如下步骤:
[0124]
s201、基于目标视差及关联目标视差的关联视差形成拟合曲线并确定子像素视差值。
[0125]
具体地,根据目标视差和目标视差图关联的关联视差,确定拟合曲线。
[0126]
在一个可能的实施方式中,根据目标视差d及其前视差值d

1和后视差值d+1拟合
出一条抛物线,抛物线的最低点作为子像素视差值。
[0127]
由于步骤s1033中采用的赢家通吃算法局限于计算立木图像整体的像素精度,忽略了子像素精度,为保证立木视差图更接近真实场景下的立木特征,故在本步骤中通过抛物线拟合提高视差图精度。
[0128]
s202、根据子像素视差值获取所述视差图中的无效点,基于预设判定条件确定无效点的无效类型。
[0129]
具体地,为解决立木视差图因遮挡导致误匹配率高的问题,本实施例通过左右一致性检验(left

right check)无效点。无效点类型的预设判定条件具体为如下公式:
[0130]
d
l
(x,y)=d
r
(x

d
l
(x,y),y)
[0131]
若上述公式不成立且视差不为0,则判定为失真点;反之,则判定为孔洞点。其中d
l
(x,y)表示左视差图某点视差值,d
r
(x,y)表示右视差图某点视差值。
[0132]
s203、根据无效类型,对无效点进行分类填充视差值。
[0133]
可选地,所述根据所述无效类型,对所述无效点进行分类填充,包括:
[0134]
若所述无效点为失真点,以所述失真点为中心,将所述失真点的视差值与所述失真点八邻域像素点的视差值进行比较,基于八邻域像素点的视差值填充所述失真点的视差值;
[0135]
若所述失真点的视差值小于等于八邻域像素点中的最小视差值,以所述最小视差值填充所述失真点的视差值;
[0136]
若所述失真点的视差值大于等于八邻域像素点中的最大视差值,以所述最大视差值填充所述失真点的视差值;
[0137]
若所述失真点的视差值大于八邻域像素点中的最小视差值且小于八邻域像素点中的最大视差值,以所述平均视差值填充所述失真点的视差值;其中,所述平均视差值由所述最小视差值和所述最大视差值确定。
[0138]
可选地,步骤s203具体包括:
[0139]
若无效点为失真点,填充视差值其中,y为失真点,m
min
为最小视差值,m
max
为最大视差值,m
avg
为平均视差值,z为失真点八邻域视差值的集合。
[0140]
具体地,若无效点通过步骤s202判定为失真点,若d
l
(y)<m
min
,则失真点视差以最小值填充;若m
min
<d
l
(y)<m
max
,失真点视差以平均值填充;若d
l
(y)>m
max
,则失真点视差以最大值填充。
[0141]
可选地,根据所述无效类型,对所述无效点进行分类填充,还包括:
[0142]
若所述无效点为孔洞点,以孔洞点y的坐标为起点,分别向x方向和y方向遍历寻找第一个非零像素点,形成自适应窗口矩阵,根据所述自适应窗口矩阵内的元素确定视差填充值。
[0143]
可选地,无效点的无效类型还包括孔洞点,故步骤s203还包括针对于孔洞点进行填充,具体如下:
[0144]
若无效点为孔洞点,以孔洞点为起点,从x方向和y方向分别遍历视差值确定视差值不为0对应的像素点,形成自适应窗口矩阵n,其中,y为孔洞点的坐标,y
y
为y沿y方向的第一个视差非零像素点的坐标,y
x
为y沿x方向的第一个视差非零像素点的坐标,(x

,y

)为y
y
平行于y方向的延长线和y
x
平行于x方向的延长线交点的坐标。
[0145]
具体地,参见图8,图8为本步骤中为对应自适应窗口矩阵n的孔洞点填充模型,分别从x方向和y方向进行遍历,像素点y与y
y
的距离为d
y
,像素点y与y
x
的距离为d
x
,基于此,生成对应的自适应窗口矩阵n,以自适应窗口矩阵n为基础,对视差图中的满足孔洞点条件的像素点进行填充。在y到y
y
以及y到y
x
之间,像素点根据生成视差图的具体情况,之间视差值为0的像素点数量并不为定值。居于此,矩阵n实现自适应的特性,对待处理图像中的孔洞点自适应的获取局域自适应矩阵n进行视差值填充。
[0146]
可选地,基于自适应窗口矩阵n,填充视差值其中,为所述自适应窗口矩阵n内元素的视差值之和;为所述自适应窗口矩阵n内非零元素个数。
[0147]
具体地,获取自适应窗口矩阵n内的所有元素的视差值之和s,并计算矩阵n内的非零元素的个数n,基于上述获取的s和n计算视差平均值,并用视差平均值替换孔洞点y的视差值。通过上述方法,实现了孔洞点的填充,避免了图像中由于孔洞点的存在导致的图像质量低的问题,实现了平滑图像的作用。
[0148]
参见图9,图9为sgm算法与本技术提供的立木视差图生成方法的效果对比图,左列为sgm算法生成的视差图,右列为本技术生成的视差图。从图中可见,传统sgm算法生成的视差图中仍存在过多的无效点,本技术中使用的无效点填充方法,针对于无效点类型,可针对性的对无效点进行填充,提高了图像质量,且在弱纹理、遮挡以及边缘区域具有普适性,使图像的质量提高。
[0149]
在一个实施例中,提供了一种立木视差图生成装置30,参见图10,包括:
[0150]
图像获取模块301,用于通过双目相机获取立木图像,并对所述立木图像进行标定和预处理,得到待处理图像;
[0151]
计算模块302,用于根据所述待处理图像,获取census窗口的中心像素点的灰度值替换值以及初始匹配代价值;
[0152]
输出模块303,用于结合待处理图像分割,基于所述初始匹配代价值获取总路径代价值,确定目标视差。
[0153]
可选地,所述计算模块,具体用于:
[0154]
获取census窗口中心像素点的八邻域像素点灰度值;
[0155]
计算所述census窗口中心像素点的八邻域像素点的灰度中值;
[0156]
将八邻域像素点的灰度值中值替换所述census窗口中心像素点的灰度值;
[0157]
基于汉明距离获取初始匹配代价值。
[0158]
可选地,所述输出模块,具体用于:
[0159]
对所述待处理图像进行聚类分割,使所述待处理图像被划分为若干区域;
[0160]
根据划分的区域,基于所述初始匹配代价值获取中心像素点的单路径聚合代价值;
[0161]
根据所述单路径聚合代价值获取总路径代价值,并根据所述总路径代价值确定目标视差。
[0162]
可选地,装置还包括优化模块,具体用于:
[0163]
基于目标视差及关联目标视差的关联视差形成拟合曲线并确定子像素视差值;
[0164]
根据所述子像素视差值获取所述视差图中的无效点,基于预设判定条件确定所述无效点的无效类型;
[0165]
根据无效类型,对无效点进行分类填充视差值。
[0166]
可选地,所述优化模块,具体还用于:
[0167]
若所述无效点为失真点,以所述失真点为中心,将所述失真点的视差值与所述失真点八邻域像素点的视差值进行比较,基于八邻域像素点的视差值填充所述失真点的视差值;
[0168]
若所述失真点的视差值小于等于八邻域像素点中的最小视差值,以所述最小视差值填充所述失真点的视差值;
[0169]
若所述失真点的视差值大于等于八邻域像素点中的最大视差值,以所述最大视差值填充所述失真点的视差值;
[0170]
若所述失真点的视差值大于八邻域像素点中的最小视差值且小于八邻域像素点中的最大视差值,以所述平均视差值填充所述失真点的视差值;其中,所述平均视差值由所述最小视差值和所述最大视差值确定。
[0171]
可选地,优化模块,具体还用于:
[0172]
若无效点为失真点,填充视差值其中,y为失真点,m
min
为最小视差值,m
max
为最大视差值,m
avg
为平均视差值,z为失真点八邻域视差值的集合。
[0173]
可选地,所述优化模块,具体还用于:
[0174]
若所述无效点为孔洞点,以孔洞点y的坐标为起点,分别向x方向和y方向遍历寻找第一个非零像素点,形成自适应窗口矩阵,根据所述自适应窗口矩阵内的元素确定视差填充值。
[0175]
可选地,所述优化模块,具体还用于:
[0176]
若无效点为孔洞点,以孔洞点y的坐标为起点,从x方向和y方向分别遍历视差值确
定视差值不为0对应的像素点,形成自适应窗口矩阵n,其中,y为孔洞点的坐标,y
y
为y沿y轴方向的第一个视差非零像素点的坐标,y
x
为y沿x轴方向的第一个视差非零像素点的坐标,(x

,y

)为y
y
平行于y轴的延长线和y
x
平行于x轴的延长线交点的坐标。
[0177]
可选地,优化模块中,基于自适应窗口矩阵n,填充视差值可选地,优化模块中,基于自适应窗口矩阵n,填充视差值其中,为所述自适应窗口矩阵n内元素的视差值之和;为所述自适应窗口矩阵n内非零元素个数。
[0178]
本技术实施例提供的立木视差图生成装置30与上述立木视差图生成方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
[0179]
基于与上述立木视差图生成方法相同的发明构思,本技术实施例还提供了一种电子设备40,如图11所示,该电子设备40可以包括处理器401和存储器402。
[0180]
处理器401可以是通用处理器,例如中央处理器(cpu)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0181]
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read

only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0182]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于:移动存储设备、随机存取存储器(ram,random access memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器
(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等各种可以存储程序代码的介质。
[0183]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、随机存取存储器(ram,random access memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等各种可以存储程序代码的介质。
[0184]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1