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

校正方法、单目结构光模组、电子设备和存储介质与流程

2022-09-03 03:03:30 来源:中国专利 TAG:


1.本技术实施例涉及机器视觉技术领域,特别涉及一种校正方法、单目结构光模组、电子设备和存储介质。


背景技术:

2.单目结构光技术已日趋成熟,关于单目结构光技术的新应用,单目结构光技术应用的新场景不断涌现,如三维建模、安防监控、智能家居机器人、移动支付、增强现实(augmented reality,简称:ar)、虚拟现实(virtual reality,简称:vr)等已成为人们生产生活中不可缺少的一部分。
3.单目结构光模组的核心由结构光投射器和相机组成,结构光投射器发射结构光图案,给予目标场景以图像特征,而相机可以将这些特征拍摄为图像信息,即场景图,单目结构光模组在出厂时已完成参考图和参数标定,因此单目结构光模组可以对场景图和参考图进行同名点匹配,从而计算出视差信息,再将视差信息转换为深度信息,实现3d解算。
4.然而,本技术的发明人发现,整个3d解算对单目结构光模组的参数标定的绝对精度要求非常高,用户在使用单目结构光模组时难免会出现磕碰、跌落、剐蹭等,且用户使用单目结构光模组的场景不断变化,有的场景温度过低或过高,湿度过干或过湿,这都会导致结构光投射器与相机之间的相对位置发生变化,单目结构光模组的参数标定的绝对精度会发生较大误差,而行业内仅通过设计硬件结构的方法来进行缓冲、减震,难以长时间保证绝对精度不产生误差,当绝对精度产生误差后,用户只能将单目结构光模组返厂重新标定,成本过高且耗时耗力。


技术实现要素:

5.本技术实施例的目的在于提供一种校正方法、单目结构光模组、电子设备和存储介质,可以实现单目结构光模组的绝对精度的自动校正,大幅提升单目结构光模组的稳定性、鲁棒性,降低用户和厂家的维护成本,提升用户的使用体验。
6.为解决上述技术问题,本技术的实施例提供了一种校正方法,应用于单目结构光模组,所述单目结构光模组设置有单点测距器,包括以下步骤:获取所述单目结构光模组对目标场景拍摄的单点图,并获取所述单点图对应的真实距离;其中,所述单点图为所述单点测距器发射的光束在所述目标场景上的投影点,所述真实距离是由所述单点测距器测量的所述单目结构光模组与所述投影点之间的距离;获取所述单目结构光模组对所述目标场景拍摄的场景图,并在所述场景图中确定与所述投影点同名的目标点;根据所述场景图和预设的参考图,确定所述目标点对应的视差值;根据所述目标点对应的视差值、所述参考图与所述单目结构光模组之间的标定距离和所述真实距离,校正所述单目结构光模组的绝对精度。
7.本技术的实施例还提供了一种单目结构光模组,所述模组包括:结构光投射器、单点测距器、相机和校正模块,所述结构光投射器、所述单点测距器和所述相机均设置于所述
单目结构光模组的同一表面;所述单点测距器用于向目标场景发射光束形成投影点,测量所述单目结构光模组与所述投影点之间的真实距离;所述相机用于拍摄所述投影点,得到单点图;所述结构光投射器用于向所述目标场景发射结构光图案形成结构光投影;所述相机还用于拍摄所述结构光投影,得到场景图;所述校正模块用于在所述场景图中确定与所述投影点同名的目标点,根据所述场景图和预设的参考图,确定所述目标点对应的视差值,并根据所述目标点对应的视差值、所述参考图与所述单目结构光模组之间的标定距离和所述真实距离,校正所述单目结构光模组的绝对精度。
8.本技术的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述校正方法。
9.本技术的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述校正方法。
10.本技术实施例提供的校正方法、单目结构光模组、电子设备和存储介质,在校正时先获取单目结构光模组对目标场景拍摄的单点图,以及该单点图对应的真实距离,单点图为单点测距器发射的光束在目标场景上的投影点,真实距离是由单点测距器测量的单目结构光模组与投影点之间的距离,随后获取单目结构光模组对同一目标场景拍摄的场景图,并在场景图中确定与投影点同名的目标点,根据场景图和预设的参考图,可以确定目标点对应的视差值,最后根据目标点对应的视差值、参考图与单目结构光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度,考虑到单目结构光模组中结构光投射器与相机之间的相对位置发生变化,会使绝对精度发生较大误差,绝对精度产生误差后,用户只能将单目结构光模组返厂重新标定,成本过高且耗时耗力,本技术的实施例在单目结构光模组中增加一个单点测距器,单点测距器比较稳定,测距性能不会轻易改变,测出的距离不会有很大的误差,基于单点测距器测出的距离和单目结构光模组3d解算出的深度值进行绝对精度的自动校正,可以大幅提升单目结构光模组的稳定性、鲁棒性,同时降低用户和厂家的维护成本,提升用户的使用体验。
11.另外,所述根据所述目标点对应的视差值、所述参考图与所述单目结构光模组之间的标定距离和所述真实距离,校正所述单目结构光模组的绝对精度,包括:根据所述目标点对应的视差值,确定所述目标点对应的深度值;计算所述目标点对应的深度值与所述真实距离之间的差值的绝对值,并判断所述绝对值是否大于预设的触发阈值;在所述绝对值大于预设的触发阈值的情况下,根据所述目标点对应的视差值、所述参考图与所述单目结构光模组之间的标定距离和所述真实距离,校正所述单目结构光模组的绝对精度,单目结构光模组的绝对精度发生较大误差后,最直观的表现就是3d解算出的深度值非常不准确,而单点测距器测出来的真实距离是非常准确的,因此本技术比较3d解算出的深度值和真实距离,当二者差异较大不可接受时,再触发绝对精度的校正,可以在节约校正资源的同时保证单目结构光模组始终工作在较佳状态。
12.另外,所述单点图包括所述单目结构光模组在不同位置处对目标场景拍摄的若干个单点图,所述真实距离包括各所述单点图对应的真实距离,所述场景图包括所述单目结构光模组在所述不同位置处对所述目标场景拍摄的若干个场景图,所述目标点为若干个;
所述根据所述目标点对应的视差值、所述参考图与所述单目结构光模组之间的标定距离和所述真实距离,校正所述单目结构光模组的绝对精度,包括:根据各所述目标点对应的视差值、所述参考图与所述单目结构光模组之间的标定距离和各所述真实距离,构建方程组;其中,所述方程组包括未知的第一校正参数和未知的第二校正参数,所述第一校正参数为所述单目结构光模组的真实基线长度与真实焦距的乘积,所述第二校正参数为视差方向的整体偏移误差;求解所述方程组,获得求解出的第一校正参数和求解出的第二校正参数;用所述求解出的第一校正参数替换所述单目结构光模组的标定基线长度与标定焦距的乘积,并用校正视差替换所述单目结构光模组的标定视差;其中,所述校正视差为所述单目结构光模组的标定视差与所述第二校正参数之和,考虑到影响单目结构光模组的绝对精度的因素有标定距离、标定基线长度、标定焦距、标定视差这几个因素,而在日常使用中,标定距离不会改变,但标定基线长度、标定焦距、标定视差会发生变化,考虑到标定基线长度和标定焦距在视差计算中是以乘积的形式共同发挥作用的,因此本技术设置了第一校正参数和第二校正参数,求解出这两个参数就可以实现对单目结构光模组的绝对精度的校正,同时,本技术通过构建方程组的形式求解这两个校正参数,可以进一步提升校正的科学性、准确性、可靠性。
13.另外,在所述获取所述单目结构光模组对目标场景拍摄的单点图,并获取所述单点图对应的真实距离之前,包括:设置所述单点测距器和所述单目结构光模组的结构光投射器分时投射,在所述单点测距器的工作脉冲时间内所述结构光投射器不工作,在所述结构光投射器的工作脉冲时间内所述单点测距器不工作;其中,所述单点测距器的帧率慢于所述结构光投射器的帧率,考虑到结构光投射器和单点测距器都是通过向目标场景发射特定的光束来工作的,因此二者会对彼此造成干扰、影响,本技术的实施例在使用单目结构光模组之前就设置单点测距器和结构光投射器分时投射,在实现弹幕结构光模组实时自动校正的同时防止单点测距器和结构光投射器对彼此造成干扰、影响,设置单点测距器的帧率慢于结构光投射器的帧率,可以优先保证单目结构光模组的3d解算的功能。
14.另外,在获取所述单目结构光模组对目标场景拍摄的单点图,并获取所述单点图对应的真实距离之前,包括:关闭所述单目结构光模组的结构光投射器,并开启所述单点测距器;在所述获取所述单点图对应的真实距离之后,在所述获取所述单目结构光模组对所述目标场景拍摄的场景图之前,还包括:关闭所述单点测距器,并开启所述结构光投射器,考虑到结构光投射器和单点测距器都是通过向目标场景发射特定的光束来工作的,因此二者会对彼此造成干扰、影响,本技术的实施例允许用户手动关闭单点测距器和结构光投射器,从而保证同一时刻二者只有一个处于工作状态,防止二者对彼此造成干扰、影响。
附图说明
15.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
16.图1是根据本技术的一个实施例的校正方法的流程图一;图2是根据本技术的一个实施例中提供的一种单目结构光模组的外观示意图;图3是根据本技术的一个实施例中提供的一种3d解算计算过程示意图;图4是根据本技术的一个实施例中,根据目标点对应的视差值、参考图与单目结构
光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度的流程图;图5是根据本技术的另一个实施例的校正方法的流程图二;图6是根据本技术的另一个实施例的校正方法的流程图三;图7是根据本技术的另一个实施例的单目结构光模组的示意图;图8是根据本技术的另一个实施例的电子设备的结构示意图。
具体实施方式
17.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本技术各实施例中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本技术的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
18.本技术的一个实施例涉及一种校正方法,应用于单目结构光模组中的电子设备,其中,电子设备可以为终端或服务器,本实施例以及以下各个实施例中电子设备以服务器为例进行说明,下面对本实施例的校正方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
19.本实施例的校正方法的具体流程可以如图1所示,包括:步骤101,获取单目结构光模组对目标场景拍摄的单点图,并获取单点图对应的真实距离,单点图为单点测距器发射的光束在目标场景上的投影点,真实距离是由单点测距器测量的单目结构光模组与投影点之间的距离。
20.具体而言,单目结构光模组设置有一个单点测距器,单点测距器可以向目标场景发射单点光束,根据光束传播的时间和速度测量出单目结构光模组到目标场景的距离,结构光投射器、单点测距器和相机都设置于单目结构光模组的同一表面上,相机可以拍摄到单点测距器发射的单点光束在目标场景上形成的投影点,也可以拍摄到结构光投射器发射的结构光图案在目标场景上形成的结构光投影。
21.在一个例子中,单目结构光模组的外观示意图可以如图2所示,单点测距器具设置于结构光投射器与相机之间,结构光投射器的中心与相机光心之间的距离就是单目结构光模组的基线长度l。
22.在具体实现中,服务器进行单目结构光模组的绝对精度的校正时,单点测距器向目标场景发射单点光束,在目标场景上形成投影点,相机此时可以拍摄目标场景上的投影点,服务器从相机处获取到单目结构光模组对目标场景拍摄的单点图,同时单点测距器完成测距任务,服务器从单点测距器处获得由单点测距器测量的单目结构光模组与投影点之间的真实距离,单点测距器成本低、稳定性好、不易受外界影响。
23.可以理解的是,服务器在获取到由单点测距器测量的单目结构光模组与投影点之间的真实距离后,可以将投影点的坐标记为(xp,yp),将该真实距离记为d
p
,并将d
p
作为单目结构光模组的绝对精度的校正基准。
24.步骤102,获取单目结构光模组对目标场景拍摄的场景图,并在场景图中确定与投
影点同名的目标点。
25.具体而言,服务器在获取到单目结构光模组对目标场景拍摄的单点图,以及单点图对应的真实距离后,可以继续获取单目结构光模组对目标场景拍摄的场景图,并在场景图中确定与投影点同名的目标点,即在场景图中找到与投影点坐标相同的点,将场景图中与投影点坐标相同的点作为与投影点同名的目标点。
26.在具体实现中,单点测距完成后,单目结构光模组的结构光投射器在同一位置处向同一目标场景发射结构光图案,在目标场景上形成结构光投影,相机拍摄该结构光投影即得到场景图。
27.可以理解的是,场景图中与投影点位置相同的点,即与投影点同名的目标点,投影点的坐标记为(xp,yp),那么目标点的坐标也为(xp,yp)。
28.步骤103,根据场景图和预设的参考图,确定目标点对应的视差值。
29.具体而言,根据3d解算原理,在标定基线长度、标定焦距等数据已知的情况下,服务器可以根据场景图和预设的参考图,对场景图进行3d解算,求出场景图中各像素点对应的视差值,即确定出了目标点对应的视差值,其中,预设的参考图可以由本领域的技术人员根据实际需要进行设置,本技术的实施例对此不做具体限定。
30.为了更清楚地阐述服务器根据场景图和预设的参考图,确定目标点对应的视差值,下面对单目结构光模组的成像后的3d解算进行介绍,计算过程如图3所示,单目结构光模组在出厂时就已完成参考图像的采集和相关参数的标定,如参考图与单目结构光模组之间的标定距离d0、单目结构光模组的标定基线长度l、单目结构光模组的标定焦距f等,用户在实际使用时,目标场景中的三维坐标点q在相机上成像为像素点q,服务器基于预设的匹配算法找到匹配点p,点p对应参考平面位置上的三维坐标点p,根据像素点q和像素点p即可计算出点q对应的视差值e,并且还可以根据通过以下公式根据标定距离d0、标定基线长度l、标定焦距f、视差值e等解算出三维坐标点q对应的深度值:d1=1/[(1/d0) (e/fl)]。
[0031]
步骤104,根据目标点对应的视差值、参考图与单目结构光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度。
[0032]
在具体实现中,服务器在确定出目标点对应的视差值后,可以根据目标点对应的视差值、参考图与单目结构光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度。
[0033]
在一个例子中,服务器可以根据目标点对应的视差值和参考图与单目结构光模组之间的标定距离,解算出目标点对应的深度值,根据目标点对应的深度值与单目结构光模组与投影点之间的真实距离,对单目结构光模组的绝对精度进行修正、校正。
[0034]
本实施例,单目结构光模组设置有单点测距器,服务器在校正时先获取单目结构光模组对目标场景拍摄的单点图,以及该单点图对应的真实距离,单点图为单点测距器发射的光束在目标场景上的投影点,真实距离是由单点测距器测量的单目结构光模组与投影点之间的距离,随后获取单目结构光模组对同一目标场景拍摄的场景图,并在场景图中确定与投影点同名的目标点,根据场景图和预设的参考图,可以确定目标点对应的视差值,最后根据目标点对应的视差值、参考图与单目结构光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度,考虑到单目结构光模组中结构光投射器与相机之间的相对位置发生变化,会使绝对精度发生较大误差,绝对精度产生
误差后,用户只能将单目结构光模组返厂重新标定,成本过高且耗时耗力,本技术的实施例在单目结构光模组中增加一个单点测距器,单点测距器比较稳定,测距性能不会轻易改变,测出的距离不会有很大的误差,基于单点测距器测出的距离和单目结构光模组3d解算出的深度值进行绝对精度的自动校正,可以大幅提升单目结构光模组的稳定性、鲁棒性,同时降低用户和厂家的维护成本,提升用户的使用体验。
[0035]
在一个实施例中,服务器根据目标点对应的视差值、参考图与单目结构光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度,可以通过如图4所示的各步骤实现,具体包括:步骤201,根据目标点对应的视差值,确定目标点对应的深度值。
[0036]
具体而言,服务器在根据场景图和预设的参考图,确定出目标点对应的视差值后,可以根据目标点对应的视差值进行3d解算,确定目标点对应的深度值。
[0037]
步骤202,计算目标点对应的深度值与真实距离之间的差值的绝对值,并判断该绝对值是否大于预设的触发阈值,如果是,则执行步骤203,否则,执行步骤204。
[0038]
步骤203,根据目标点对应的视差值、参考图与单目结构光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度。
[0039]
步骤204,退出校正。
[0040]
在具体实现中,单目结构光模组的绝对精度发生较大误差后,最直观的表现就是3d解算出的深度值非常不准确,而单点测距器测出的单目结构光模组与投影点之间的真实距离是真实的、准确的,因此比较目标点对应的深度值与真实距离即可确定结构光模组是否发生了较大的误差,服务器计算目标点对应的深度值与真实距离之间的差值并取该差值的绝对值,判断该绝对值是否大于预设的触发阈值,如果该绝对值大于预设的触发阈值,说明单目结构光模组的绝对精度发生了较大的误差,需要进行校正,服务器随即根据目标点对应的视差值、参考图与单目结构光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度,而如果该绝对值小于或等于预设的触发阈值,则说明单目结构光模组的绝对精度没有发生较大误差,不影响正常使用,无需较正,所以服务器退出校正流程。
[0041]
本实施例,考虑到单目结构光模组的绝对精度发生较大误差后,最直观的表现就是3d解算出的深度值非常不准确,而单点测距器测出来的真实距离是非常准确的,因此本技术比较3d解算出的深度值和真实距离,当二者差异较大不可接受时,再触发绝对精度的校正,可以在节约校正资源的同时保证单目结构光模组始终工作在较佳状态。
[0042]
本技术的另一个实施例涉及一种校正方法,下面对本实施例的校正方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,本实施例的校正方法的具体流程可以如图5所示,包括:步骤301,获取单目结构光模组在不同位置处对目标场景拍摄的若干个单点图,并获取各单点图对应的真实距离。
[0043]
步骤302,获取单目结构光模组在所述不同位置处对目标场景拍摄的若干个场景图,并在各场景图中确定与投影点同名的目标点。
[0044]
在具体实现中,服务器获取的单点图包括单目结构光模组在不同位置处对目标场景拍摄的若干个单点图,单点测距器测出的真实距离包括各单点图对应的真实距离,也就
是单点测距器在不同位置处测出的单目结构光模组与投影点之间的真实距离,同理服务器获取到的场景图包括单目结构光模组在上述不同位置处对目标场景拍摄的若干个场景图,服务器可以分别在各场景图中确定出与投影点同名的目标点。
[0045]
步骤303,根据各场景图和预设的参考图,确定各目标点对应的视差值。
[0046]
具体而言,服务器在获取到单目结构光模组在不同位置处对目标场景拍摄的若干个场景图,并在各场景图中确定出与投影点同名的目标点后,可以根据各场景图和预设的参考图,确定各目标点对应的视差值,其中,预设的参考图可以由本领域得到技术人员根据实际需要在单目结构光模组出厂时进行设置,本技术的实施例对此不做具体限定。
[0047]
步骤304,根据各目标点对应的视差值、参考图与单目结构光模组之间的标定距离和各真实距离,构建方程组。
[0048]
步骤305,求解所述方程组,获得求解出的第一校正参数和求解出的第二校正参数。
[0049]
具体而言,服务器在确定出各目标点对应的视差值后,可以根据各目标点对应的视差值、参考图与单目结构光模组之间的标定距离和各真实距离,构建方程组,方程组包括未知的第一校正参数和未知的第二校正参数,第一校正参数为单目结构光模组的真实基线长度与真实焦距的乘积,第二校正参数为视差方向的整体偏移误差,服务器对构建好的方程组进行最小二乘求解,获得求解出的第一校正参数和求解出的第二校正参数。
[0050]
在具体实现中,考虑到参考图与单目结构光模组之间的标定距离d0不会发生变化,日常使用中的磕碰、跌落、乱蹭都不会影响标定距离d0,但这些现象容易导致结构光投射器与相机之间的相对位置发生变化,也就是会导致单目结构光模组的标定基线长度l、标定焦距f发生变化,同时,由于基线长度发生变化,服务器计算出的视差值同样也不准确,而参考3d解算公式d1=1/[(1/d0) (e/fl)]可知,标定基线长度l和标定焦距f以乘积的形式共同发挥作用,因此本实施例设置了第一校正参数和第二校正参数,分别修正标定基线长度l与标定焦距f的乘积,和基于不准确的参数计算出的视差值。
[0051]
在一个例子中,服务器在根据各目标点对应的视差值、参考图与单目结构光模组之间的标定距离和各真实距离,构建方程组时,可以遍历各目标点,根据当前目标点对应的视差值、参考图与单目结构光模组之间的标定距离和当前目标点对应的真实距离,构建当前目标点对应的方程,最后根据各目标点对应的方程组成方程组,方程的数量至少为2个。
[0052]
在另一个例子中,服务器构建的方程的数量至少为3个,即服务器构建超定方程组,基于最小二乘法对该超定方程组求解,解出第一校正参数和第二校正参数,本技术要求解的未知参数共两个,即第一校正参数和第二校正参数,为了更精确、科学地解出第一校正参数和第二校正参数,因此本技术选择构建超定方程组,需要的方程的数量至少为3个,即目标点至少为3个,也就是至少要在3个不同位置处拍摄共3张单点图,每一张单点图对应超定方程组中的一个方程,从而求解出第一校正参数和第二校正参数。
[0053]
在一个例子中,服务器通过以下公式,根据当前目标点对应的视差值、参考图与单目结构光模组之间的标定距离和当前目标点对应的真实距离,构建当前目标点对应的方程:d
p
=1/{1/d0 [e
(xp,yp)
e0]/k},式中,d
p
为当前目标点对应的真实距离,d0为参考图与单目结构光模组之间的标定距离,e
(xp,yp)
为当前目标点对应的视差值,k为第一校正参数,e0为第二校正参数。
[0054]
在一个例子中,为了方便求解,服务器可以对方程进行化简,化简后的方程可以如下所示:[(1/d
p
)-(1/ d0)]k
‑ꢀ
e0= e
(xp,yp)

[0055]
步骤306,用求解出的第一校正参数替换单目结构光模组的标定基线长度与标定焦距的乘积,并用校正视差替换单目结构光模组的标定视差。
[0056]
在具体实现中,由于基线长度l和焦距f是以乘积的形式共同发挥作用的,因此本技术不再详细的对基线长度l和焦距f进行区分,而是直接用第一校正参数k替换单目结构光模组的标定基线长度与标定焦距的乘积l*f,再计算单目结构光模组的标定视差e与第二校正参数e0之和(e e0),将(e e0)作为校正视差以替换单目结构光模组的标定视差,从而完成对单目结构光模组的基线长度、焦距和视差的校正,也就是完成了对单目结构光模组的绝对精度的校正。
[0057]
本实施例,考虑到影响单目结构光模组的绝对精度的因素有标定距离、标定基线长度、标定焦距、标定视差这几个因素,而在日常使用中,标定距离不会改变,但标定基线长度、标定焦距、标定视差会发生变化,考虑到标定基线长度和标定焦距在视差计算中是以乘积的形式共同发挥作用的,因此本技术设置了第一校正参数和第二校正参数,求解出这两个参数就可以实现对单目结构光模组的绝对精度的校正,同时,本技术通过构建方程组的形式求解这两个校正参数,可以进一步提升校正的科学性、准确性、可靠性。
[0058]
在一个实施例中,服务器在获取单目结构光模组对目标场景拍摄的单点图,并获取单点图对应的真实距离之前,还可以设置单点测距器和单目结构光模组的结构光投射器分时投射,在单点测距器的工作脉冲时间内结构光投射器不工作,在结构光投射器的工作脉冲时间内单点测距器不工作,服务器还可以设置单点测距器的帧率慢于结构光投射器的帧率,考虑到结构光投射器和单点测距器都是通过向目标场景发射特定的光束来工作的,因此二者会对彼此造成干扰、影响,本技术的实施例在使用单目结构光模组之前就设置单点测距器和结构光投射器分时投射,在实现弹幕结构光模组实时自动校正的同时防止单点测距器和结构光投射器对彼此造成干扰、影响,设置单点测距器的帧率慢于结构光投射器的帧率,可以优先保证单目结构光模组的3d解算的功能。
[0059]
本技术的另一个实施例涉及一种校正方法,下面对本实施例的校正方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,本实施例的校正方法的具体流程可以如图6所示,包括:步骤401,关闭结构光投射器,并开启单点测距器。
[0060]
步骤402,获取单目结构光模组对目标场景拍摄的单点图,并获取单点图对应的真实距离,单点图为单点测距器发射的光束在目标场景上的投影点,真实距离是由单点测距器测量的单目结构光模组与投影点之间的距离。
[0061]
其中,步骤402与步骤101大致相同,此处不再赘述。
[0062]
步骤403,关闭单点测距器,并开启结构光投射器。
[0063]
步骤404,获取单目结构光模组对目标场景拍摄的场景图,并在场景图中确定与投影点同名的目标点。
[0064]
步骤405,根据场景图和预设的参考图,确定目标点对应的视差值。
[0065]
步骤406,根据目标点对应的视差值、参考图与单目结构光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度。
[0066]
其中,步骤404至步骤406与步骤102至步骤104大致相同,此处不再赘述。
[0067]
在具体实现中,考虑到结构光投射器和单点测距器都是通过向目标场景发射特定的光束来工作的,因此二者会对彼此造成干扰、影响,本技术的实施例允许用户手动关闭单点测距器和结构光投射器,从而保证同一时刻二者只有一个处于工作状态,防止二者对彼此造成干扰、影响。
[0068]
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0069]
本技术的另一个实施例涉及一种单目结构光模组,下面对本实施例的单目结构光模组的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,本实施例的单目结构光模组的示意图可以如图7所示,单目结构光模组包括结构光投射器501、单点测距器502、相机503和校正模块504,本实施例的单目结构光模组的外观示意图可以如图2所示,结构光投射器501、单点测距器502和相机503均设置于单目结构光模组的同一表面。
[0070]
单点测距器502用于向目标场景发射光束形成投影点,以测量单目结构光模组与投影点之间的真实距离。
[0071]
相机503用于拍摄所述投影点,得到单点图。
[0072]
结构光投射器501用于向目标场景发射结构光图案形成结构光投影。
[0073]
相机503还用于拍摄所述结构光投影,得到场景图。
[0074]
校正模块504用于在场景图中确定与投影点同名的目标点,根据场景图和预设的参考图,确定目标点对应的视差值,根据目标点对应的视差值、参考图与单目结构光模组之间的标定距离和单目结构光模组与投影点之间的真实距离,校正单目结构光模组的绝对精度。
[0075]
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本技术的创新部分,本实施例中并没有将与解决本技术所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
[0076]
本技术另一个实施例涉及一种电子设备,如图8所示,包括:至少一个处理器601;以及,与所述至少一个处理器601通信连接的存储器602;其中,所述存储器602存储有可被所述至少一个处理器601执行的指令,所述指令被所述至少一个处理器601执行,以使所述至少一个处理器601能够执行上述各实施例中的校正方法。
[0077]
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
[0078]
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
[0079]
本技术另一个实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
[0080]
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory ,简称:rom)、随机存取存储器(random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0081]
本领域的普通技术人员可以理解,上述各实施例是实现本技术的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
再多了解一些

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

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

相关文献