一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

单目散斑结构光图像匹配方法、电子设备及存储介质与流程

2022-02-22 22:37:43 来源:中国专利 TAG:


1.本发明涉及图像处理领域,特别涉及一种单目散斑结构光图像匹配方法、电子设备及存储介质。


背景技术:

2.机器视觉是获取自然界场景的深度信息的重要方法。常见的方案主要包括双目深度相机、结构光相机和时间飞行法(time of flight,tof)深度相机三个方向。其中,双目深度相机深度恢复时间长,且体积大无法满足实时性;tof的成本较高、且准确性与其标定的材料种类有关;结构光相机由于其抗干扰性强、成本低,所以得到了更多的应用。
3.结构光相机方案是一种主动双目视觉技术。每个结构光相机包括两个基本组件:一个红外激光投射器和一个红外摄像头。其基本思路是将已知的结构化图案投射到被观测物体上,这些结构化图案将根据物体的几何形状和拍摄距离而发生相应的形变。红外摄像头从另一个角度进行观测,通过分析观测图案(物体散斑图)与原始图案(参考散斑图)之间发生的形变,可以得到图案上各像素的视差,再根据相机的内外参数恢复出深度。
4.由于单目散斑结构光是通过向被摄物体投射随机不规则散斑,此时散斑的梯度信息过于敏感;且常用的结构光匹配算法仅考虑了物体散斑图和参考散斑图的相互对应关系,其缺陷是各像素间的视差值是相互独立的,并且不满足视差一致性假设:即在一个自然的分割区域中视差值的分布应一致或相似。


技术实现要素:

5.本发明实施方式的目的在于提供一种单目散斑结构光图像匹配方法、电子设备及存储介质,通过引入与结构光散斑图像的同源红外图像对每个视差层进行代价聚合,使得在一个自然的分割区域中视差值的分布一致或相似,从而获得更加准确的视差估计。
6.为解决上述技术问题,本发明的实施方式提供了一种单目散斑结构光图像匹配方法,包括:
7.获取结构光相机的物体散斑图、同源红外图像和参考散斑图;
8.对所述物体散斑图和所述参考散斑图上对应的像素点进行代价矩阵计算,得到三维代价矩阵;
9.构建所述同源红外图像上各像素点的十字交叉域;
10.根据所述同源红外图的十字交叉域对所述三维代价矩阵进行代价聚合,得到所述物体散斑图中各像素点的聚合代价值;
11.将所述各像素点的聚合代价值中的最大值对应的视差值作为相应像素点的视差值。
12.本发明的实施方式还提供了一种电子设备,包括:
13.至少一个处理器;以及,
14.与所述至少一个处理器通信连接的存储器;其中,
15.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的单目散斑结构光图像匹配方法。
16.本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的单目散斑结构光图像匹配方法。
17.本发明实施方式相对于现有技术而言,通过获取结构光相机的物体散斑图、同源红外图像和参考散斑图;对物体散斑图和参考散斑图上对应的像素点进行代价矩阵计算,得到三维代价矩阵;构建同源红外图像上各像素点的十字交叉域;根据同源红外图的十字交叉域对所述三维代价矩阵进行代价聚合,得到物体散斑图中各像素点的聚合代价值;将各像素点的聚合代价值中的最大值对应的视差值作为相应像素点的视差值。本方案通过引入与结构光散斑图像的同源红外图像对每个视差层进行代价聚合,使得在一个自然的分割区域中视差值的分布一致或相似,从而获得更加准确的视差估计。
附图说明
18.图1是根据本发明实施方式的单目散斑结构光图像匹配方法的具体流程图一;
19.图2是根据本发明实施方式的单目散斑结构光图像匹配方法的具体流程图二;
20.图3是根据本发明实施方式的单目散斑结构光图像匹配方法的具体流程图三;
21.图4是根据本发明实施方式的单目散斑结构光图像匹配方法的具体流程图四;
22.图5是根据本发明实施方式的单目散斑结构光图像匹配方法的具体流程图五;
23.图6是根据本发明实施方式的单目散斑结构光图像匹配方法的具体流程图六;
24.图7是根据本发明实施方式的电子设备的结构示意图。
具体实施方式
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。
26.本发明的一实施方式涉及一种单目散斑结构光图像匹配方法,如图1所示,本实施例提供的单目散斑结构光图像匹配方法,包括如下步骤。
27.步骤101:获取结构光相机的物体散斑图、同源红外图像和参考散斑图。
28.具体地,通过结构光相机(简称“相机”)拍摄目标物体的散斑图,作为物体散斑图;参考散斑图为已知距离的平面散斑图。同时,在拍摄物体散斑图的同时,利用同源的红外镜头拍摄目标物体的同源红外图像。
29.步骤102:对物体散斑图和参考散斑图上对应的像素点进行代价矩阵计算,得到三维代价矩阵。
30.其中,可以初步设置物体散斑图上的一个像素点可以和参考散斑图上的多个像素点相对应,即初步设置物体散斑图和参考散斑上像素点的视差搜索区间。
31.具体地,针对物体散斑图和参考散斑图上对应的像素点进行代价矩阵计算时,可分别计算物体散斑图上每一像素点与对应参考散斑图上多个像素点之间的多个代价值,将
物体散斑图上所有像素点中每个像素点对应的所有代价值叠放在一起,从而得到三维代价矩阵其中,第三维为平面代价矩阵的数量维度,该数量维度的值即为物体散斑图上每个像素点所对应的代价值的数量。在计算每两个像素点之间的代价值时,可采用但不局限于差的绝对值之和(sum of absolute differences,sad)算法实现。sad算法是一种图像匹配算法。本实施例中,针对待计算代价矩阵的两个像素点,直接采用sad算法对两像素点所在的图像块进行匹配,即将两个图像块中对应像素点的数值之差的绝对值求和,据此评估两个图像块的相似度。最后,根据图像块的相似度确定物体散斑图和参考散斑图上相应像素点的代价值,形成所有像素点对应的代价矩阵,进而构建三维代价矩阵。
32.步骤103:构建同源红外图像上各像素点的十字交叉域。
33.其中,十字的含义是每个像素点都会有一个十字臂,臂上的所有像素点的颜色(亮度)值和该像素点的颜色(亮度)值相近。相邻位置上颜色相近的两个像素有相似的视差值。使用同源红外图,构建红外图像的十字交叉域。
34.步骤104:根据同源红外图的十字交叉域对三维代价矩阵进行代价聚合,得到物体散斑图中各像素点的聚合代价值。
35.具体地,基于同源红外图中每个像素点对应十字交叉域,可对三维代价矩阵中,每个二维代价矩阵对应十字交叉域上的代价值进行代价聚合,从而将聚合后的代价值作为物体散斑图中与同源红外图中像素点对应的像素点的聚合代价值。由于每个视差d值下,均对应不同的二维代价矩阵,因此,基于各二维代价矩阵对应十字交叉域上的代价值进行代价聚合后,可以得到物体散斑图中每个像素点对应的多个聚合代价值,即每个聚合代价值对应一个d值。
36.步骤105:将各像素点的聚合代价值中的最大值对应的视差值作为相应像素点的视差值。
37.具体地,由于每个d值下,均对应不同的二维代价矩阵,因此,基于各二维代价矩阵对应十字交叉域上的代价值进行代价聚合后,每个像素点可以得到多个聚合代价值,即每个聚合代价值对应一个d值。在此基础上,可将各像素点的聚合代价值中的最大值对应的视差值d作为相应像素点的视差值。
38.与相关技术相比,本实施例通过获取结构光相机的物体散斑图、同源红外图像和参考散斑图;对物体散斑图和参考散斑图上对应的像素点进行代价矩阵计算,得到三维代价矩阵;构建同源红外图像上各像素点的十字交叉域;根据同源红外图的十字交叉域对所述三维代价矩阵进行代价聚合,得到物体散斑图中各像素点的聚合代价值;将各像素点的聚合代价值中的最大值对应的视差值作为相应像素点的视差值。本方案通过引入与结构光散斑图像的同源红外图像对每个视差层进行代价聚合,使得在一个自然的分割区域中视差值的分布一致或相似,从而获得更加准确的视差估计。
39.本发明的另一实施方式涉及一种单目散斑结构光图像匹配方法,如图2所示,该单目散斑结构光图像匹配方法是对图1所示方法步骤的改进,改进之处在于,对三维代价矩阵的计算过程进行细化。如图2所示,上述步骤102包括如下子步骤。
40.子步骤1021:确定物体散斑图上任一点坐标(x,y)和对应的参考散斑图上的坐标(x d,y);其中d为预设数值区间内的多个数值。
41.其中,由于d为预设数值区间内的多个数值(多个预设视差值),因此,物体散斑图
上任一点坐标(x,y)和不同的d所对应的参考散斑图上的坐标(x d,y)相对应,形成一对多的关系。
42.子步骤1022:利用邻域窗口,采用如下公式计算三维代价矩阵sad(x,y,d):
[0043][0044]
其中,邻域大小为(2n 1)*(2m 1),iw为物体散斑图,ic为参考散斑图,iw(x i,y j)为物体散斑图上坐标位置的灰度,ic(x i d,y j)为参考散斑图上坐标位置的灰度,d为估算的视差值。
[0045]
具体地,针对每一个d,都存在一个参考散斑图上像素点(x d,y)与物体散斑图上的像素点(x,y)相对应;分别以这两个像素点为中心,邻域大小为(2n 1)*(2m 1)的邻域窗口内构建邻域,其中n、m均为大于0的整数;针对两个邻域内对应的像素点,即物体散斑图上像素点(x i,y j)和参考散斑图上像素点(x i d,y j)采用公式(1)计算两像素点之间的代价值(两像素点所在邻域之间的块匹配值,用sad值代替)。最后将根据物体散斑图中所有像素点在所有d值上对应的代价值进行组合,形成物体散斑图的三维代价矩阵。
[0046]
与相关技术相比,本实施例通过确定物体散斑图上任一点坐标(x,y)和对应的参考散斑图上的坐标(x d,y);其中d为预设数值区间内的多个数值;利用邻域窗口,采用差的绝对值之和算法,计算三维代价矩阵sad(x,y,d),以提供一种计算三维代价矩阵的实现方式。
[0047]
本发明的另一实施方式涉及一种单目散斑结构光图像匹配方法,如图3所示,该单目散斑结构光图像匹配方法是对图1所示方法步骤的改进,改进之处在于,增加了物体散斑图和参考散斑图进行图像局部对比度归一化(local contrast normalization,lcn)处理。如图3所示,在执行步骤102之前,还包括如下步骤。
[0048]
步骤106:对物体散斑图和参考散斑图进行图像局部对比度归一化处理。
[0049]
具体地,为了消除亮度对匹配算法的影响,在执行步骤102之前,可先对物体散斑图和参考散斑图进行lcn处理,以增强散斑图的对比度。
[0050]
在一个例子中,图像局部对比度归一化处理可包括如下步骤。
[0051]
步骤1:以图像中任一像素点位置为中心,计算局部二维窗口内所有像素点的灰度的平均值μ和标准差σ。
[0052]
具体地,针对图像中的像素点i,以该像素点i位置为中心点,计算二维小窗口内所有像素点的灰度的平均值μ(公式2)和标准差σ(公式3)。
[0053][0054][0055]
其中,n代表小窗口内总像素个数,ii为图像中第i个像素点的灰度。
[0056]
步骤2:采用如下公式(4)计算像素点的图像局部对比度归一化值i
lcn

[0057][0058]
其中,i为像素点的灰度,k为常量值。
[0059]
在此基础上,步骤102可具体如下子步骤。
[0060]
子步骤1023时,对图像局部对比度归一化(lcn)处理后的物体散斑图和参考散斑图上对应的像素点进行初始代价矩阵计算,得到三维代价矩阵,从而消除亮度对匹配算法的影响。
[0061]
与相关技术相比,本实施例通过对物体散斑图和参考散斑图进行图像局部对比度归一化处理,并对图像局部对比度归一化处理后的物体散斑图和参考散斑图上对应的像素点进行初始代价矩阵计算,从而可以消除亮度对匹配算法的影响。
[0062]
本发明的另一实施方式涉及一种单目散斑结构光图像匹配方法,如图4所示,该单目散斑结构光图像匹配方法是对图1所示方法步骤的改进,改进之处在于,对构建同源红外图像上各像素点的十字交叉域的过程进行细化。如图4所示,步骤103包括如下子步骤。
[0063]
子步骤1031:基于预设的颜色差异阈值和空间长度阈值,构建同源红外图像上各像素点的十字臂。
[0064]
具体地,以左臂的延伸为例(右臂、上臂、下臂的延伸规则和左臂一样),规则如下:
[0065]
dc(p
l
,p)《τ
………………………
(5)
[0066]
dc(p
l
,p)为像素点p
l
和p之间的颜色差异,τ是设定的颜色差异阈值。
[0067]ds
(p
l
,p)《l
………………………
(6)
[0068]ds
(p
l
,p)为像素点p
l
和p之间的空间距离,l是设定的空间长度阈值。
[0069]
其中,空间长度阈值的定义为:
[0070]ds
(p
l
,p)=|p
l-p|
………………………
(7)
[0071]
子步骤1032:基于各像素点的十字臂构建各像素点的支持区域作为十字交叉域。
[0072]
具体地,按照上述规则,构建同源红外图像中每个像素点的十字臂。之后,根据每个像素点的十字臂就可以构建像素点的支持区域(support region),即某一像素点p的支持区域是合并其垂直臂上的所有像素点的水平臂所对应的像素点区域。
[0073]
与相关技术相比,本实施例基于预设的颜色差异阈值和空间长度阈值,构建同源红外图像上各像素点的十字臂;之后,基于各像素点的十字臂构建各像素点的支持区域作为十字交叉域,从而保证同一划分区域内的像素点的颜色保持一致,且区域大小适中。
[0074]
本发明的另一实施方式涉及一种单目散斑结构光图像匹配方法,如图5所示,该单目散斑结构光图像匹配方法是对图1所示方法步骤的改进,改进之处在于,对根据同源红外图的十字交叉域对三维代价矩阵进行代价聚合,得到物体散斑图中各像素点的聚合代价值的过程进行细化。如图5所示,步骤104包括如下子步骤。
[0075]
子步骤1041:针对各像素点,将该像素点的十字交叉域内水平臂上的像素代价值相加,并存储为临时值。
[0076]
具体地,根据同源红外图的十字交叉域对三维代价矩阵进行代价聚合,即对三维代价矩阵sad(x,y,d),利用同源红外图的十字交叉域进行两步法代价聚合。
[0077]
首先对所有像素点,将其水平臂上的像素点的代价值相加,存储为临时值。
[0078]
子步骤1042:将该像素点的十字交叉域内竖直臂上的像素对应存储的临时值相加,得到该像素的聚合代价值。
[0079]
具体地,对所有像素点,在得到上述水平臂上的像素点的临时值后,将其竖直臂上的像素点在步骤1中存储的临时值相加,得到该像素点最终的聚合代价值。
[0080]
此外,为了让每个像素点的聚合代价值范围位于一个较小的可控范围内,在本步骤,即得到该像素的聚合代价值之后,还包括:将该像素的聚合代价值除以该像素的十字交叉域中包含的总像素数,得到该像素最终的聚合代价值。
[0081]
与相关技术相比,本实施例通过两步法代价聚合,得到物体散斑图上任一像素点的聚合代价值,并且将每个像素的聚合代价值除以该像素的十字交叉域中包含的总像素数,得到该像素最终的聚合代价值,使每个像素点的聚合代价值范围位于一个较小的可控范围内,方便后续计算。
[0082]
本发明的另一实施方式涉及一种单目散斑结构光图像匹配方法,如图6所示,该单目散斑结构光图像匹配方法是对图1所示方法步骤的改进,改进之处在于,在得到物体散斑图上每个像素点的视差值之后,增加对视差值优化操作。如图6所示,在步骤105之后,还包括如下步骤。
[0083]
步骤107:对视差值采用如下公式计算,得到亚像素级别的视差值作为最终的视差值。
[0084][0085]
其中,d*为亚像素级别的视差值,d为视差值,sad(x,y,d)为像素点(x,y)的代价值。
[0086]
具体地,视差计算采用赢家通吃(wta)算法,每个像素点选择最大聚合代价值所对应的视差值作为整数视差d,视差计算的结果是和物体散斑图相同尺寸的视差图,存储每个像素的视差值。
[0087]
然后进行子像素插值,获得亚像素级别的视差,即使用一元二次拟合,公式如(8)得到最终的视差d*。
[0088]
在获得物体散斑图与参考散斑图上对应像素点的视差值后,利用结构光相机的参数和三角测量原理,即可得到深度图。
[0089]
与相关技术相比,本实施例通过对视差值采用子像素插值进行计算,得到亚像素级别的视差值作为最终的视差值,从而保证视差值整体的平滑性。
[0090]
本发明的另一实施方式涉及一种电子设备,如图7所示,包括至少一个处理器302;以及,与至少一个处理器302通信连接的存储器;其中,存储器301存储有可被至少一个处理器302执行的指令,指令被至少一个处理器302执行,以使至少一个处理器302能够执行上述任一方法实施例。
[0091]
其中,存储器301和处理器302采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器302和存储器301的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器302处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器302。
[0092]
处理器302负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器301可以被用于存储处理器302在执行
操作时所使用的数据。
[0093]
本发明的另一实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例。
[0094]
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0095]
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献