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

散斑投射器的质量检测方法、系统、电子设备和存储介质与流程

2023-01-06 03:21:34 来源:中国专利 TAG:


1.本技术实施例涉及机器视觉技术领域,特别涉及一种散斑投射器的质量检测方法、系统、电子设备和存储介质。


背景技术:

2.机器视觉技术领域中最具活力的技术分支当属深度感知技术,而散斑结构光技术则是深度感知技术中的重要组成部分,应用散斑结构光技术的深度相机一般会搭载散斑投射器和红外镜头这两个核心组件,散斑投射器可以将预先调制好的散斑图案投射至待测物体上,而红外镜头则可以拍摄散斑图案在待测物体上的投影从而捕捉获得散斑图,基于该散斑图进行深度恢复、3d解算,从而对获得待测物体的深度信息。
3.通常散斑投射器和红外镜头在深度相机中是横向排列组装的,如果散斑投射器在组装时存在一定的倾斜或偏移,就会导致红外镜头捕捉得到的散斑图过偏或存在无效区域,组装上的失误是可以返修的,但如果散斑投射器本身在生产、设计中出现严重失误,即散斑投射器本身质量不佳,也可能会导致红外镜头捕捉得到的散斑图过偏或存在无效区域,从而导致深度相机的深度恢复精度过低、甚至深度恢复失败,严重影响了深度相机的出厂质量。


技术实现要素:

4.本技术实施例的目的在于提供一种散斑投射器的质量检测方法、系统、电子设备和存储介质,可以快速、准确地对生产出的散斑投射器进行质量检测,严格把控组装深度相机的散斑投射器的质量,从而提升深度相机的出厂质量。
5.为解决上述技术问题,本技术的实施例提供了一种散斑投射器的质量检测方法,包括以下步骤:根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定第二束腰中线;其中,所述测试散斑图时基于目标散斑投射器、预设的投影平面和预设的红外相机获得的;根据所述gt散斑图的第一外轮廓线,在所述测试散斑图上确定第二外轮廓线;根据所述第二束腰中线和所述第二外轮廓线,确定所述测试散斑图的内接矩形;根据所述内接矩形和所述gt散斑图,确定所述目标散斑投射器对应的姿态角;若所述姿态角不符合预设检测标准,则确定所述目标散斑投射器的质量不合格。
6.本技术的实施例还提供了一种散斑投射器的质量检测系统,所述系统包括目标散斑投射器、投影平面、红外相机和质量检测装置,所述质量检测装置包括束腰中线定位模块、外轮廓线定位模块、姿态检测模块和判定模块;所述目标散斑投射器用于向所述投影平面投射预设的散斑图案;所述红外相机用于拍摄所述散斑图案在所述投影平面上的投影,得到测试散斑图;所述束腰中线定位模块用于根据预设的gt散斑图的第一束腰中线,在所述测试散斑图上确定第二束腰中线;所述外轮廓线定位模块用于根据所述gt散斑图的第一外轮廓线,在所述测试散斑图上确定第二外轮廓线;所述姿态检测模块用于根据所述第二束腰中线和所述第二外轮廓线,确定所述测试散斑图的内接矩形,并根据所述内接矩形和
所述gt散斑图,确定所述目标散斑投射器对应的姿态角;所述判定模块用于在所述姿态角不符合预设检测标准的情况下,确定所述目标散斑投射器的质量不合格。
7.本技术的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的散斑投射器的质量检测方法。
8.本技术的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的散斑投射器的质量检测方法。
9.本技术的实施例提供的散斑投射器的质量检测方法、系统、电子设备和存储介质,先基于目标散斑投射器获得测试散斑图,根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定测试散斑图的第二束腰中线,再根据gt散斑图的第一外轮廓线,在测试散斑图上确定测试散斑图的第二外轮廓线,随即根据第二束腰中线和第二外轮廓线确定测试散斑图的内接矩形,并根据测试散斑图的内接矩形和gt散斑图,确定目标散斑投射器对应的姿态角,若目标散斑投射器对应的姿态角不符合预设检测标准,则确定目标散斑投射器的质量不合格,考虑到在对散斑投射器进行质量测试时,投影平面和红外相机都是固定的,而目标散斑投射器则是测试过程中的唯一变量,如果散斑投射器本身质量不佳,那么红外相机捕捉得到的散斑图相较于gt散斑图就会过偏,本技术的实施例通过计算测试散斑图相较于gt散斑图的姿态角,即目标散斑投射器对应的姿态角的方式来衡量测试散斑图是否过偏,以目标散斑投射器对应的姿态角为质量检测的依据,判定目标散斑图投射器的质量是否合格,从而快速、准确地对生产出的散斑投射器进行质量检测,严格把控组装深度相机的散斑投射器的质量,提升深度相机的出厂质量。
10.另外,所述第二束腰中线包括第二横向束腰中线和第二纵向束腰中线,所述第二横向束腰中线与所述第二纵向束腰中线之间的交点为基准点,所述第二横向束腰中线与所述第二纵向束腰中线之间的夹角为第一夹角,所述第二外轮廓线包括第二左外轮廓线、第二右外轮廓线,第二上外轮廓线和第二下外轮廓线,所述根据所述第二束腰中线和所述第二外轮廓线,确定所述测试散斑图的内接矩形,包括:遍历所述第二左外轮廓线上的各第二左外轮廓点,确定当前第二左外轮廓点与所述第二右外轮廓线的距离的最小值为第一长度,并将所述各第二左外轮廓点对应的第一长度中的最小值确定为第二长度;遍历所述第二上外轮廓线上的各第二上外轮廓点,确定当前第二上外轮廓点与所述第二下外轮廓线的距离的最小值为第三长度,并将所述各第二上外轮廓点对应的第三长度中的最小值确定为第四长度;根据所述第一夹角和所述第二横向束腰中线与所述第二纵向束腰中线的长度比例,分别对所述第二横向束腰中线和所述第二纵向束腰中线进行旋转,依次得到第一线段和第二线段;其中,所述第一线段与所述第二线段交于所述基准点,所述第一线段垂直于所述第二线段;根据所述第二长度更新所述第一线段得到第三线段,根据所述第四长度更新所述第二线段得到第四线段,并基于所述基准点、所述第三线段和所述第四线段确定所述测试散斑图的内接矩形,对于gt散斑图来说,基于中心点、第一横向束腰中线和第二纵向束腰中线即可确定gt散斑图的内切矩形,而测试散斑图中则存在偏移、畸变,直接根据中心点、第二横向束腰中线和第二纵向束腰中线无法科学、准确地确定测试散斑图的内切矩形,本技术从角度和长度两个方面对第二横向束腰中线和第二纵向束腰中线进行调整,基于基
准点和最终调整后的第二横向束腰中线和第二纵向束腰中线,也就是基于基准点、第三线段和第四线段,即可科学、准确地确定测试散斑图的内切矩形,从而准确地计算目标散斑投射器对应的姿态角,更准确地对目标散斑投射器的质量进行评判。
11.另外,所述姿态角包括第一姿态角、第二姿态角和第三姿态角,所述根据所述内接矩形和所述gt散斑图,确定所述目标散斑投射器对应的姿态角,包括:计算所述基准点与所述gt散斑图的中心点之间的横坐标差和纵坐标差;根据所述目标散斑投射器与所述投影平面之间的距离、所述横坐标差、以及所述纵坐标差,确定所述第一姿态角和所述第二姿态角;根据所述第三线段与所述测试散斑图的横轴之间的第二夹角,确定所述第三姿态角,本技术通过第一姿态角、第二姿态角和第三姿态角三个方面来衡量测试散斑图与gt散斑图之间的姿态差异,从而可以更科学、准确、全面地对目标散斑投射器的质量进行评判。
12.另外,所述预设检测标准包括第一预设阈值、第二预设阈值和第三预设阈值,所述若所述姿态角不符合预设检测标准,则确定所述目标散斑投射器的质量不合格,包括:分别判断所述第一姿态角是否大于所述第一预设阈值、所述第二姿态角是否大于所述第二预设阈值、以及所述第三姿态角是否大于第三预设阈值;若所述第一姿态角大于所述第一预设阈值、所述第二姿态角大于所述第二预设阈值、所述第三姿态角大于所述第三预设阈值中至少有一项成立,则确定所述目标散斑投射器的质量不合格;若所述第一姿态角小于或等于所述第一预设阈值、所述第二姿态角小于或等于所述第二预设阈值、所述第三姿态角小于或等于第三预设阈值均成立,则确定所述目标散斑投射器的质量合格,只有目标散斑投射器的三个姿态角都小于或等于对应的预设阈值时,本技术才会判定目标散斑图投射器的质量合格,从而更加严格地把控组装深度相机的散斑投射器的质量,进一步提升深度相机的出厂质量。
13.另外,所述第二束腰中线包括第二横向束腰中线,所述根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定第二束腰中线,包括:遍历所述gt散斑图的各横向束腰级次,选取当前横向束腰级次中各散斑的中心点为第一匹配点,并根据预设的匹配算法,在所述测试散斑图中确定所述第一匹配点的同名点;根据所述第一匹配点和所述第一匹配点的同名点,确定所述当前横向束腰级次对应的单应性变换矩阵;将所述当前横向束腰级次的横向束腰中线上的各点作为第一变换点,根据所述当前横向束腰级次对应的单应性变换矩阵和所述第一变换点,得到变换后的第一变换点;对各所述横向束腰级次的所述变换后的第一变换点进行最小二乘拟合,得到所述测试散斑图的第二横向束腰中线,考虑到测试散斑图并非全图都存在偏差,直接计算gt散斑图与测试散斑图之间的单应性变化矩阵并不准确、合理,因此本技术遍历每个横向束腰级次,分别计算每个横向束腰级次对应的单应性变换矩阵,即分段变换横向束腰中线,最后再最小二乘拟合,得到测试散斑图的完、准确、合理的第二横向束腰中线。
14.另外,所述根据所述gt散斑图的第一外轮廓线,在所述测试散斑图上确定第二外轮廓线,包括:遍历所述gt散斑图的各边界级次,选取当前边界级次中各散斑的中心点为第三匹配点,并根据预设的匹配算法,在所述测试散斑图中确定所述第三匹配点的同名点;根据所述第三匹配点和所述第三匹配点的同名点,确定所述当前边界级次对应的单应性变换矩阵;将所述当前边界级次的各外边界点作为第三变换点,根据所述当前边界级次对应的单应性变换矩阵和所述第三变换点,得到变换后的第三变换点;根据各所述边界级次的所
述变换后的第三变换点,得到所述测试散斑图的第二外轮廓线,考虑到测试散斑图并非全图都存在偏差,直接计算gt散斑图与测试散斑图之间的单应性变化矩阵并不准确、合理,因此本技术遍历每个边界级次,将gt散斑图的外轮廓线分段、分块地映射到测试散斑图上,得到准确、合理的测试散斑图的第二外轮廓线。
附图说明
15.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
16.图1是本技术的一个实施例提供的散斑投射器的质量检测方法的流程图;图2是本技术的一个实施例中,根据第二束腰中线和第二外轮廓线,确定测试散斑图的内接矩形的流程图;图3是本技术的一个实施例中,根据内接矩形和gt散斑图,确定目标散斑投射器对应的姿态角的流程图;图4是本技术的一个实施例中,根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定第二束腰中线的流程图一;图5是本技术的一个实施例中,根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定第二束腰中线的流程图二;图6是本技术的一个实施例中,根据gt散斑图的第一外轮廓线,在测试散斑图上确定第二外轮廓线的流程图;图7是本技术的另一个实施例提供的散斑投射器的质量检测系统的示意图;图8是本技术的另一个实施例提供的电子设备的结构示意图。
具体实施方式
17.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本技术各实施例中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本技术的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
18.为了方便理解本技术的实施例,首先在此介绍散斑投射器的视场与红外镜头的视场的相关内容。
19.在结构光深度相机中,散斑投射器和红外镜头通常是横向排列组装的,散斑投射器可以将预先调制好的散斑图案投射至待测物体上,而红外镜头则可以拍摄散斑图案在待测物体上的投影从而捕捉获得散斑图,基于该散斑图进行深度恢复、3d解算,从而对获得待测物体的深度信息。但如果在组装时散斑投射器存在一定的倾角或者偏移,那么就可能会导致红外镜头捕捉到的散斑图过偏甚至存在无散斑区域,也就是散斑投射器的视场角无法覆覆盖红外镜头的视场角,因此制造商在生产散斑投射器时,会涉及散斑投射器的视场角略大于红外镜头的视场角,以对组装过程中的失误进行容错。
20.然而,这种容错的容错率有限,如果散斑投射器本身在生产、设计中出现严重失
误,即散斑投射器本身质量不佳,散斑投射器本身的视场角就出现严重问题,那势必会导致红外镜头捕捉得到的散斑图过偏或存在无效区域,从而导致深度相机的深度恢复精度过低、甚至深度恢复失败,严重影响了深度相机的出厂质量。
21.为了解决上述散斑投射器本身质量不佳,导致深度相机的深度恢复精度过低、甚至深度恢复失败,严重影响了深度相机的出厂质量的问题,本技术的一个实施例提出了一种散斑投射器的质量检测方法,应用于电子设备,其中,电子设备可以为终端或服务器,本实施例以及以下各个实施例中电子设备以服务器为例进行说明。下面对本实施例的散斑投射器的质量检测方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
22.本实施例的散斑投射器的质量检测方法的具体流程可以如图1所示,包括:步骤101,根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定第二束腰中线。
23.具体而言,gt散斑图是预设的一张标准的散斑图,gt散斑图可以是技术人员在进行该批次的散斑投射器的质量检测之前基于散斑投射器的特性合成的,测试散斑图则是基于目标散斑投射器、预设的投影平面和预设的红外相机获得的,其中,预设的投影平面和预设的红外相机均可以由本领域的技术人员根据实际需要进行选择。
24.在一个例子中,目标散斑投射器固定在治具上,治具的正前方放置有投影平面,而红外相机(可选择高精度的工业级红外相机)放置在投影平面的另一侧,也正对投影平面,治具的法线、投影平面的法线、以及红外相机的光轴是平行的,因此在质量测试时,质量不佳的目标散斑投射器的投射方向是存在偏移的,这种偏移可以相应地体现在测试散斑图上。
25.在具体实现中,服务器获取到gt散斑图和测试散斑图后,先在gt散斑图中确定第一束腰中线,再根据该第一束腰中线,在测试散斑图中确定第二束腰中线。
26.在一个例子中,第一束腰中线包括第一横向束腰中线和第一竖向束腰中线,第一横向束腰中线由gt散斑图的中心点所在行上的各点组成,第一纵向束腰中线由gt散斑图的中心点所在列上的各点组成,相应地,第二束腰中线也包括第二横向束腰中线和第二纵向束腰中线,服务器可以根据第一横向束腰中线在测试散斑图上确定第二横向束腰中线,并根据第一纵向束腰中线在测试散斑图上确定第二纵向束腰中线。
27.在一个例子中,服务器可以在gt散斑图中选取若干目标点,并根据预设的匹配算法在测试散斑图上确定各目标点的同名点,服务器基于各目标点和各目标点的同名点,建立gt散斑图与测试散斑图之间的变换矩阵,随后根据第一束腰中线和gt散斑图与测试散斑图之间的变换矩阵,在测试散斑图上确定第二束腰中线。
28.在一个例子中,预设的匹配算法可以选择绝对差之和匹配算法(sum of absolute differences,简称:sad)或零均值归一化互相关匹配算法(zero-normalized cross-correlation,简称:zncc)等。
29.步骤102,根据gt散斑图的第一外轮廓线,在测试散斑图上确定第二外轮廓线。
30.具体而言,服务器在获取到gt散斑图和测试散斑图后,可以先在gt散斑图中确定第一外轮廓线,再根据该第一外轮廓线,在测试散斑图中确定第二外轮廓线。
31.在一个例子中,gt散斑图的第一外轮廓线包括第一左外轮廓线、第一右外轮廓线、
第一上外轮廓线和第一下外轮廓线,相应地,测试散斑图的第二外轮廓线就包括第二左外轮廓线、第二右外轮廓线、第二上外轮廓线和第二下外轮廓线,服务器可以根据第一左外轮廓线在测试散斑图上确定第二左外轮廓线、根据第一右外轮廓线在测试散斑图上确定第二右外轮廓线、根据第一上外轮廓线在测试散斑图上确定第二上外轮廓线、根据第一下外轮廓线在测试散斑图上确定第二下外轮廓线。
32.在一个例子中,服务器可以在gt散斑图中选取若干目标点,并根据预设的匹配算法在测试散斑图上确定各目标点的同名点,服务器基于各目标点和各目标点的同名点,建立gt散斑图与测试散斑图之间的变换矩阵,随后根据第一外轮廓线和gt散斑图与测试散斑图之间的变换矩阵,在测试散斑图上确定第二外轮廓线。
33.在具体实现中,服务器可以先执行步骤101再执行步骤102,也可以先执行步骤102再执行步骤101,还可以同时执行步骤101和步骤102。
34.步骤103,根据第二束腰中线和第二外轮廓线,确定测试散斑图的内接矩形。
35.在具体实现中,服务器在确定测试散斑图的第二束腰中线和第二外轮廓线后,可以根据第二束腰中线和第二外轮廓线,确定测试散斑图的内接矩形。
36.在一个例子中,第二束腰中线包括第二横向束腰中线和第二纵向束腰中线,第二外轮廓线包括第二左外轮廓线、第二右外轮廓线、第二上外轮廓线和第二下外轮廓线,设第二横向束腰中线所在的直线为第一直线,第二纵向束腰中线所在的直线为第二直线,服务器上下平移第一直线,确定切于第二上外轮廓线的第三直线和切于第二下外轮廓线的第四直线,同时服务器左右平移第二直线,确定切于第二左外轮廓线的第五直线和切于第二右外轮廓线的第六直线,服务器基于第三直线、第四直线、第五直线和第六直线,确定测试散斑图的内接矩形。
37.步骤104,根据内接矩形和gt散斑图,确定目标散斑投射器对应的姿态角。
38.具体而言,服务器确定测试散斑图的内接矩形后,可以根据测试散斑图的内接矩形和gt散斑图,确定目标散斑投射器对应的姿态角。
39.在一个例子中,服务器可以根据测试散斑图的内接矩形和gt散斑图的内接矩形,确定目标散斑投射器对应的姿态角,gt散斑图的内接矩形基于第一横向束腰中线和第一纵向束腰中线即可确定。
40.在一个例子中,服务器可以将测试散斑图的内接矩形与gt散斑图的内接矩形之间的倾角作为目标散斑投射器对应的姿态角。
41.步骤105,若目标散斑投射器对应的姿态角不符合预设检测标准,则确定目标散斑投射器的质量不合格。
42.在具体实现中,服务器在确定目标散斑投射器对应的姿态角后,可以判断目标散斑投射器对应的姿态角是否符合预设检测标准,如果目标散斑投射器对应的姿态角符合预设检测标准,说明目标散斑投射器的视场没有问题,服务器确定目标散斑投射器的质量合格;如果目标散斑投射器对应的姿态角不符合预设检测标准,说明目标散斑投射器的视场过偏,服务器确定目标散斑投射器的质量不合格,其中,预设检测标准可以由本领域的技术人员根据实际需要进行设置。
43.在一个例子中,服务器将测试散斑图的内接矩形与gt散斑图的内接矩形之间的倾角作为目标散斑投射器对应的姿态角,预设检测标准为预设倾角阈值,如果该倾角大于预
设倾角阈值,则服务器确定目标散斑投射器的质量不合格;如果该倾角小于或等于预设倾角阈值,则服务器确定目标散斑投射器的质量合格。
44.本实施例,服务器先基于目标散斑投射器获得测试散斑图,根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定测试散斑图的第二束腰中线,再根据gt散斑图的第一外轮廓线,在测试散斑图上确定测试散斑图的第二外轮廓线,随即根据第二束腰中线和第二外轮廓线确定测试散斑图的内接矩形,并根据测试散斑图的内接矩形和gt散斑图,确定目标散斑投射器对应的姿态角,若目标散斑投射器对应的姿态角不符合预设检测标准,则确定目标散斑投射器的质量不合格,考虑到在对散斑投射器进行质量测试时,投影平面和红外相机都是固定的,而目标散斑投射器则是测试过程中的唯一变量,如果散斑投射器本身质量不佳,那么红外相机捕捉得到的散斑图相较于gt散斑图就会过偏,本技术的实施例通过计算测试散斑图相较于gt散斑图的姿态角,即目标散斑投射器对应的姿态角的方式来衡量测试散斑图是否过偏,以目标散斑投射器对应的姿态角为质量检测的依据,判定目标散斑图投射器的质量是否合格,从而快速、准确地对生产出的散斑投射器进行质量检测,严格把控组装深度相机的散斑投射器的质量,提升深度相机的出厂质量。
45.在一个实施例中,第二束腰中线包括第二横向束腰中线和第二纵向束腰中线,第二横向束腰中线与第二纵向束腰中线之间的交点为基准点,第二横向束腰中线与第二纵向束腰中线之间的夹角为第一夹角,第二外轮廓线包括第二左外轮廓线、第二右外轮廓线,第二上外轮廓线和第二下外轮廓线,服务器根据第二束腰中线和第二外轮廓线,确定测试散斑图的内接矩形,可以通过如图2所示的各步骤实现:步骤201,遍历第二左外轮廓线上的各第二左外轮廓点,确定当前第二左外轮廓点与第二右外轮廓线的距离的最小值为第一长度,并将各第二左外轮廓点对应的第一长度中的最小值确定为第二长度。
46.在具体实现中,服务器在确定第二外轮廓线后,可以遍历第二左外轮廓线上的各第二左外轮廓点,确定当前第二左外轮廓点到第二右外轮廓线的最短距离,将当前第二左外轮廓点到第二右外轮廓线的最短距离确定为第一长度,当各第二左外轮廓点遍历完成后,服务器可以确定出各第二左外轮廓点对应的第一长度中的最小值,将该最小值作为第二长度。
47.步骤202,遍历第二上外轮廓线上的各第二上外轮廓点,确定当前第二上外轮廓点与第二下外轮廓线的距离的最小值为第三长度,并将各第二上外轮廓点对应的第三长度中的最小值确定为第四长度。
48.在具体实现中,服务器在确定第二外轮廓线后,可以遍历第二上外轮廓线上的各第二上外轮廓点,确定当前第二上外轮廓点到第二下外轮廓线的最短距离,将当前第二上外轮廓点到第二下外轮廓线的最短距离确定为第三长度,当各第二上外轮廓点遍历完成后,服务器可以确定出各第二上外轮廓点对应的第三长度中的最小值,将该最小值作为第四长度。
49.步骤203,根据第一夹角和第二横向束腰中线与第二纵向束腰中线的长度比例,分别对第二横向束腰中线和第二纵向束腰中线进行旋转,依次得到第一线段和第二线段。
50.具体而言,第一线段与第二线段仍交于基准点,第一线段垂直于第二线段。
51.在具体实现中,服务器在测试散斑图上确定出第二横向束腰中线和第二纵向束腰
中线的同时,还要确定第二横向束腰中线的长度和第二纵向束腰中线的长度,并确定第二横向束腰中线与第二纵向束腰中线的长度比例,服务器根据第一夹角和第二横向束腰中线与第二纵向束腰中线的长度比例,将第一角度减去90
°
再按该比例分配给第二横向束腰中线和第二纵向束腰中线,服务器按照按比例分得的角度分别按照垂直的方向对第二横向束腰中线和第二纵向束腰中线进行旋转,依次得到第一线段和第二线段。
52.在一个例子中,第二横向束腰中线与第二纵向束腰中线的长度比例为3比2,第一夹角为91
°
,相较于垂直关系多出1
°
,按照比例关系,第二横向束腰中线分得0.6
°
,第二纵向束腰中线分得0.4
°
,服务器逆时针将第二横向束腰中线旋转0.6
°
,得到第一线段,再逆时针将第一纵向束腰中线旋转0.4
°
,得到第二线段,此时第一线段与第二线段仍交于基准点,并且第一线段与第二线段互相垂直。
53.步骤204,根据第二长度更新第一线段得到第三线段,根据第四长度更新第二线段得到第四线段,并基于基准点、第三线段和第四线段确定测试散斑图的内接矩形。
54.在具体实现中,服务器确定第一线段和第二线段后,可以将用第二长度更新第一线段的长度,实际就得到了第三线段,服务器还用第四长度更新第二线段的长度,实际就得到了第四线段,第三线段与第四线段交于基准点,第三线段与第四线段互相垂直,第三线段实际上就是测试散斑图的内接矩形两个竖边的中点的连线,而第四线段实际上就是测试散斑图的内接矩形两个横边的中点的连线,因此服务器基于基准点、第三线段和第四线段即可确定测试散斑图的内接矩形。
55.本实施例,对于gt散斑图来说,基于中心点、第一横向束腰中线和第二纵向束腰中线即可确定gt散斑图的内切矩形,而测试散斑图中则存在偏移、畸变,直接根据中心点、第二横向束腰中线和第二纵向束腰中线无法科学、准确地确定测试散斑图的内切矩形,本技术从角度和长度两个方面对第二横向束腰中线和第二纵向束腰中线进行调整,基于基准点和最终调整后的第二横向束腰中线和第二纵向束腰中线,也就是基于基准点、第三线段和第四线段,即可科学、准确地确定测试散斑图的内切矩形,从而准确地计算目标散斑投射器对应的姿态角,更准确地对目标散斑投射器的质量进行评判。
56.在一个实施例中,目标散斑投射器对应的姿态角包括第一姿态角、第二姿态角和第三姿态角,服务器根据内接矩形和gt散斑图,确定目标散斑投射器对应的姿态角,可以通过如图3所示的各步骤实现,具体包括:步骤301,计算基准点与gt散斑图的中心点之间的横坐标差和纵坐标差。
57.在具体实现中,服务器确定测试散斑图的内接矩形后,可以获取基准点的坐标,并在gt散斑图中找到gt散斑图的中心点,获取gt散斑图的中心点的坐标,随后根据基准点的坐标和gt散斑图的中心点的坐标,计算出基准点与gt散斑图的中心点之间的横坐标差和纵坐标差,基准点与gt散斑图的中心点之间的横坐标差可以记为δx,基准点与gt散斑图的中心点之间的纵坐标差可以记为δy。
58.步骤302,根据目标散斑投射器与投影平面之间的距离、所述横坐标差、以及所述纵坐标差,确定第一姿态角和第二姿态角。
59.在具体实现中,服务器计算得到基准点与gt散斑图的中心点之间的横坐标差和纵坐标差后,可以根据目标散斑投射器与投影平面之间的距离和基准点与gt散斑图的中心点之间的横坐标差,确定目标散斑投射器的第一姿态角,并且根据目标散斑投射器与投影平
面之间的距离和基准点与gt散斑图的中心点之间的纵坐标差,确定目标散斑投射器的第二姿态角。
60.在一个例子中,服务器可以通过以下公式,根据目标散斑投射器与投影平面之间的距离、所述横坐标差、以及所述纵坐标差,确定第一姿态角和第二姿态角:tiltx=atan(δx/d),tilty=atan(δy/d),式中,d为目标散斑投射器与投影平面之间的距离,δx为所述横坐标差,δy为所述纵坐标差,tiltx为第一姿态角,tilty为第二姿态角。
61.步骤303,根据第三线段与测试散斑图的横轴之间的第二夹角,确定第三姿态角。
62.在具体实现中,服务器可以根据第三线段与测试散斑图的横轴之间的第二夹角,将该第二夹角作为目标散斑投射器对应的第三姿态角,第三姿态角可以记为rotation。
63.本实施例,通过第一姿态角、第二姿态角和第三姿态角三个方面来衡量测试散斑图与gt散斑图之间的姿态差异,从而可以更科学、准确、全面地对目标散斑投射器的质量进行评判。
64.在一个实施例中,预设检测标准包括第一预设阈值、第二预设阈值和第三预设阈值,服务器在对目标散斑投射器的质量进行检测时,可以分别判断第一姿态角是否大于第一预设阈值、第二姿态角是否大于第二预设阈值、以及第三姿态角是否大于第三预设阈值,若第一姿态角大于第一预设阈值、第二姿态角大于第二预设阈值、第三姿态角大于第三预设阈值中至少有一项成立,服务器则确定目标散斑投射器的质量不合格;若第一姿态角小于或等于第一预设阈值、第二姿态角小于或等于第二预设阈值、第三姿态角小于或等于第三预设阈值均成立,服务器则确定目标散斑投射器的质量合格。
65.本实施例,只有目标散斑投射器的三个姿态角都小于或等于对应的预设阈值时,本技术才会判定目标散斑图投射器的质量合格,从而更加严格地把控组装深度相机的散斑投射器的质量,进一步提升深度相机的出厂质量。
66.在一个实施例中,测试散斑图的第二束腰中线包括第二横向束腰中线,服务器根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定第二束腰中线,可以通过如图4所示的各步骤实现,具体包括:步骤401,遍历gt散斑图的各横向束腰级次,选取当前横向束腰级次中各散斑的中心点为第一匹配点,并根据预设的匹配算法,在测试散斑图中确定第一匹配点的同名点。
67.具体而言,gt散斑图的各横向束腰级次,即gt散斑图的零衍射级次所在行的各衍射级次(包括零衍射级次)。
68.在一个例子中,某一gt散斑图共有7
×
11个衍射级次,即7行11列,则从上往下数第4行的各衍射级次即该gt散斑图的横向束腰级次。
69.在具体实现中,服务器可以遍历gt散斑图的各横向束腰级次,确定当前横向束腰级次中的各散斑,选取当前横向束腰级次中的各散斑的中心点为第一匹配点,并根据预设的匹配算法,在测试散斑图中确定第一匹配点的同名点。
70.在一个例子中,预设的匹配算法可以选择sad算法或zncc算法等。
71.步骤402,根据第一匹配点和第一匹配点的同名点,确定当前横向束腰级次对应的单应性变换矩阵。
72.在具体实现中,服务器确定出当前横向束腰级次中的各第一匹配点的同名点后,可以根据第一匹配点和第一匹配点的同名点,确定当前横向束腰级次对应的单应性变换矩
阵。
73.在一个例子中,服务器在确定单应性变换矩阵时可以采用随机抽样一致算法(random sample consensus,简称:ransac)或最小中位数平方算法(least median of squares,简称:lmeds)等。
74.步骤403,将当前横向束腰级次的横向束腰中线上的各点作为第一变换点,根据当前横向束腰级次对应的单应性变换矩阵和第一变换点,得到变换后的第一变换点。
75.在具体实现中,服务器在确定当前横向束腰级次对应的单应性变换矩阵后,可以将当前横向束腰级次的横向束腰中线上的各点作为第一变换点,根据当前横向束腰级次对应的单应性变换矩阵对第一变换点的坐标进行变换,得到变换后的第一变换点。
76.步骤404,对各横向束腰级次的变换后的第一变换点进行最小二乘拟合,得到测试散斑图的第二横向束腰中线。
77.在具体实现中,服务器在完成对各横向束腰级次的第一变换点完成变换后,可以对各横向束腰级次的变换后的第一变换点进行最小二乘拟合,得到测试散斑图的第二横向束腰中线。
78.本实施例,考虑到测试散斑图并非全图都存在偏差,直接计算gt散斑图与测试散斑图之间的单应性变化矩阵并不准确、合理,因此服务器遍历每个横向束腰级次,分别计算每个横向束腰级次对应的单应性变换矩阵,即分段变换横向束腰中线,最后再最小二乘拟合,得到测试散斑图的完、准确、合理的第二横向束腰中线。
79.在一个实施例中,测试散斑图的第二束腰中线包括第二纵向束腰中线,服务器根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定第二束腰中线,可以通过如图5所示的各步骤实现,具体包括:步骤501,遍历gt散斑图的各纵向束腰级次,选取当前纵向束腰级次中各散斑的中心点为第二匹配点,并根据预设的匹配算法,在测试散斑图中确定第二匹配点的同名点。
80.具体而言,gt散斑图的各纵向束腰级次,即gt散斑图的零衍射级次所在列的各衍射级次(包括零衍射级次)。
81.在一个例子中,某一gt散斑图共有7
×
11个衍射级次,即7行11列,则从左往右数第6列的各衍射级次即该gt散斑图的纵向束腰级次。
82.在具体实现中,服务器可以遍历gt散斑图的各纵向束腰级次,确定当前纵向束腰级次中的各散斑,选取当前纵向束腰级次中各散斑的中心点为第二匹配点,并根据预设的匹配算法,在测试散斑图中确定第二匹配点的同名点。
83.在一个例子中,预设的匹配算法可以选择sad算法或zncc算法等。
84.步骤502,根据第二匹配点和第二匹配点的同名点,确定当前纵向束腰级次对应的单应性变换矩阵。
85.在具体实现中,服务器确定出当前纵向束腰级次中的各第二匹配点的同名点后,可以根据第二匹配点和第二匹配点的同名点,确定当前纵向束腰级次对应的单应性变换矩阵。
86.在一个例子中,服务器在确定单应性变换矩阵时可以使用ransac算法、lmeds算法等。
87.步骤503,将当前纵向束腰级次的纵向束腰中线上的各点作为第二变换点,根据当
前纵向束腰级次对应的单应性变换矩阵和第二变换点,得到变换后的第二变换点。
88.在具体实现中,服务器在确定当前纵向束腰级次对应的单应性变换矩阵后,可以将当前纵向束腰级次的纵向束腰中线上的各点作为第二变换点,根据当前纵向束腰级次对应的单应性变换矩阵对第二变换点的坐标进行变换,得到变换后的第二变换点。
89.步骤504,对各纵向束腰级次的变换后的第二变换点进行最小二乘拟合,得到测试散斑图的第二纵向束腰中线。
90.在具体实现中,服务器在完成对各纵向束腰级次的第二变换点完成变换后,可以对各纵向束腰级次的变换后的第二变换点进行最小二乘拟合,得到测试散斑图的第二纵向束腰中线。
91.本实施例,考虑到测试散斑图并非全图都存在偏差,直接计算gt散斑图与测试散斑图之间的单应性变化矩阵并不准确、合理,因此服务器遍历每个横向束腰级次,分别计算每个横向束腰级次对应的单应性变换矩阵,即分段变换横向束腰中线,最后再最小二乘拟合,得到测试散斑图的完、准确、合理的第二横向束腰中线。
92.在一个实施例中,服务器根据gt散斑图的第一外轮廓线,在测试散斑图上确定第二外轮廓线,可以通过如图6所示的各步骤实现,具体包括:步骤601,遍历gt散斑图的各边界级次,选取当前边界级次中各散斑的中心点为第三匹配点,并根据预设的匹配算法,在测试散斑图中确定第三匹配点的同名点。
93.具体而言,gt散斑图的最外围的衍射级次即gt散斑图的边界级次。
94.在一个例子中,某一gt散斑图共有7
×
11个衍射级次,即7行11列,则第1行的各衍射级次、第7行的各衍射级次、第1列的各衍射级次、以及第11列的各衍射级次为该gt散斑图的边界级次。
95.在具体实现中,服务器可以遍历gt散斑图的各边界级次,在当前边界级次中确定当前边界级次的各散斑,选取当前边界级次中的各散斑的中心点为第三匹配点,并根据预设的匹配算法,在测试散斑图中确定第三匹配点的同名点。
96.在一个例子中,预设的匹配算法可以选择sad算法或zncc算法等。
97.步骤602,根据第三匹配点和第三匹配点的同名点,确定当前边界级次对应的单应性变换矩阵。
98.在具体实现中,服务器确定出当前边界级次中的各第三匹配点的同名点后,可以根据第三匹配点和第三匹配点的同名点,确定当前边界级次对应的单应性变换矩阵。
99.在一个例子中,服务器在确定单应性变换矩阵时可以使用ransac算法、lmeds算法等。
100.步骤603,将当前边界级次的各外边界点作为第三变换点,根据当前边界级次对应的单应性变换矩阵和第三变换点,得到变换后的第三变换点。
101.在具体实现中,服务器在计算得到当前边界级次对应的单应性变换矩阵后,可以将当前边界级次的各外边界点作为第三变换点,根据当前边界级次对应的单应性变换矩阵对第三变换点的坐标进行变换,得到变换后的第三变换点。
102.在一个例子中,某一gt散斑图共有7
×
11个衍射级次,即7行11列,则第1行的各衍射级次、第7行的各衍射级次、第1列的各衍射级次、以及第11列的各衍射级次为该gt散斑图的边界级次,对于第1行第1列的边界级次来说,该级次的左边缘上的各点和上边缘上的各
点为该边界级次的各外边界点;对于第1行第5列的边界级次来说,该级次的上边缘上的各点为该边界级次的各外边界点;对于第3行第11列的边界级次来说,该级次的右边缘上的各点为该边界级次的各外边界点。
103.步骤604,根据各边界级次的变换后的第三变换点,得到测试散斑图的第二外轮廓线。
104.在具体实现中,服务器在完成对各边界级次的第三变换点完成变换后,可以根据各边界级次的变换后的第三变换点,得到测试散斑图的第二外轮廓线。
105.本实施例,考虑到测试散斑图并非全图都存在偏差,直接计算gt散斑图与测试散斑图之间的单应性变化矩阵并不准确、合理,因此服务器遍历每个边界级次,将gt散斑图的外轮廓线分段、分块地映射到测试散斑图上,可以得到准确、合理的测试散斑图的第二外轮廓线。
106.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
107.本技术的另一个实施例涉及一种散斑投射器的质量检测系统,下面对本实施例的散斑投射器的质量检测系统的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,本实施例的散斑投射器的质量检测系统的示意图可以如图7所示,该系统包括目标散斑投射器701、投影平面702、红外相机703和质量检测装置704,质量检测装置704包括束腰中线定位模块7041、外轮廓线定位模块7042、姿态检测模块7043和判定模块7044。
108.目标散斑投射器701用于向投影平面702投射预设的散斑图案。
109.红外相机703用于拍摄散斑图案在投影平面702上的投影,得到测试散斑图。
110.束腰中线定位模块7041用于根据预设的gt散斑图的第一束腰中线,在测试散斑图上确定第二束腰中线。
111.外轮廓线定位模块7042用于根据gt散斑图的第一外轮廓线,在测试散斑图上确定第二外轮廓线。
112.姿态检测模块7043用于根据第二束腰中线和第二外轮廓线,确定测试散斑图的内接矩形,并根据内接矩形和gt散斑图,确定目标散斑投射器对应的姿态角。
113.判定模块7044用于在目标散斑投射器对应的姿态角不符合预设检测标准的情况下,确定目标散斑投射器的质量不合格。
114.值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本技术的创新部分,本实施例中并没有将与解决本技术所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
115.本技术另一个实施例涉及一种电子设备,如图8所示,包括:至少一个处理器801;以及,与所述至少一个处理器801通信连接的存储器802;其中,所述存储器802存储有可被所述至少一个处理器801执行的指令,所述指令被所述至少一个处理器801执行,以使所述至少一个处理器801能够执行上述各实施例中的散斑投射器的质量检测方法。
116.其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
117.处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
118.本技术另一个实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
119.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory ,简称:rom)、随机存取存储器(random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
120.本领域的普通技术人员可以理解,上述各实施例是实现本技术的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献