梯形校正的训练样本数据获取系统和方法与流程

文档序号:18633444发布日期:2019-09-11 21:55阅读:309来源:国知局
梯形校正的训练样本数据获取系统和方法与流程

本发明涉及梯形校正技术领域,尤其是一种梯形校正的训练样本数据获取系统和方法。



背景技术:

目前在投影仪的梯形校正技术中,主要是以双目校正为主,然而双目校正需要用到距离传感器等部件,对于投影仪来说会增加硬件成本。随着神经网络技术的发展,通过单个摄像头来实现梯形校正成为了可能。厂家们可以通过经过训练的神经网络来实现在单个摄像头的条件下的梯形校正。

然而,在对神经网络进行训练时,需要大量的训练样本数据,过去这些训练样本数据需要通过人工进行处理或者获取,效率极低,且浪费人力物力。



技术实现要素:

为解决上述技术问题,本发明的目的在于:提供一种梯形校正的训练样本数据获取系统和方法,以增加训练样本数据的获取效率,同时节省人力成本。

本发明实施例的第一方面提供了:

一种梯形校正的训练样本数据获取系统,包括机械臂、投影仪、全景摄像头和处理器,所述投影仪包括摄像头模块和投影模块,所述机械臂用于根据处理器的指令调整投影仪的姿态,所述投影模块用于投影设有多个特征角点的预设图案,所述摄像头模块以及全景摄像头模块用于根据处理器的指令在每次调整投影仪的姿态后分别拍摄图像;

其中,处理器用于获取预设图案的特征角点以及系统的标定参数,然后在摄像头模块以及全景摄像头模块拍摄图像后,从全景摄像头拍摄和摄像头模块拍摄的图像中分别提取特征角点,匹配预设图案和摄像头模块所拍摄的图像中的特征角点的点对,接着根据标定参数以及所述点对,计算投影墙面的法向量;并且根据全景摄像头所拍摄的图像中的特征角点计算出投影仪的角点校正参数,将所述角点校正参数和投影墙面的法向量作为一组训练样本数据进行输出。

进一步,所述处理器还用于读取训练样本需求数量,根据训练样本需求数量在投影仪的姿态调整范围内随机生成若干组姿态参数,根据所述若干组姿态参数控制机械臂调整投影仪的姿态。

进一步,所述机械臂包括若干个关节,所述机械臂根据处理器的指令控制投影仪平移或者旋转。

进一步,从摄像头模块以及全景摄像头模块拍摄的图像中识别特征角点时,采用surf算法。

进一步,采用蛮力算法对预设图案和摄像头模块所拍摄的图像中的特征角点的点对进行匹配,然后通过ransac算法过滤掉无效的特征角点的点对。

本发明实施例的第二方面提供了:

一种梯形校正的训练样本数据获取方法,包括以下步骤:

获取系统的标定参数以及预设图案的特征角点;

控制投影仪投影设有多个特征角点的预设图案;

多次控制机械臂调整投影仪的姿态,在每次调整投影仪的姿态后,控制全景摄像头以及投影仪的摄像头模块分别拍摄图像,并根据所述全景摄像头和投影仪的摄像头模块每次所分别拍摄的图像,得到一组训练样本数据;

所述根据所述全景摄像头和投影仪的摄像头模块每次所分别拍摄的图像,得到一组训练样本数据,其具体包括:

从全景摄像头拍摄和摄像头模块拍摄的图像中分别提取特征角点;

匹配预设图案和摄像头模块所拍摄的图像中的特征角点的点对;

根据标定参数以及所述点对,计算投影墙面的法向量;

根据全景摄像头所拍摄的图像中的特征角点计算出投影仪的角点校正参数;

将所述角点校正参数和投影墙面的法向量作为一组训练样本数据进行输出。

进一步,多次控制机械臂调整投影仪的姿态,其具体包括:

读取训练样本需求数量;

根据训练样本需求数量在投影仪的姿态调整范围内随机生成若干组姿态参数;

根据所述若干组姿态参数控制机械臂调整投影仪的姿态。

进一步,在控制机械臂调整投影仪的姿态时,使投影仪平移和/或改变角度。

进一步,从摄像头模块以及全景摄像头模块拍摄的图像中识别特征角点时,采用surf算法。

进一步,采用蛮力算法对预设图案和摄像头模块所拍摄的图像中的特征角点的点对进行匹配,然后通过ransac算法过滤掉无效的特征角点的点对。

本发明的有益效果是:本发明通过机械臂调整投影仪的姿态,并在每次调整投影仪的姿态以后,通过摄像头模块和全景摄像头分别拍摄投影模块投影到投影墙面上的预设图案,然后通过识别摄像头模块所拍摄的图像中的特征角点来测定墙面的法向量,接着根据全景摄像头中特征角点的位置计算角点校正参数,并将法向量和角点校正参数作为一组训练样本参数,本发明无需人工参与,能够自动获取多组训练样本参数,效率高,人工成本低。

附图说明

图1为本发明一种具体实施例中特征角点的深度测量原理示意图;

图2为本发明一种具体实施例中梯形校正的原理示意图;

图3为本发明一种具体实施例的梯形校正的训练样本数据获取系统的模块框图;

图4为本发明一种具体实施例的机械臂的结构示意图;

图5为本发明一种具体实施例的梯形校正的训练样本数据获取方法的流程图。

具体实施方式

下面结合说明书附图和具体的实施例对本发明进行进一步的说明。

首先,本实施例对采用神经网络来实现单摄像头的梯形校正的原理进行说明,本实施例首先搭建一个rbf神经网络(一种三层的径向基神经网络),其中该神经网络的输入参数是投影墙面与投影仪之间的法向量,即投影墙面在投影仪的坐标系中的法向量,后称作投影墙面法向量。然后该神经网络输出的是梯形校正的校正焦点偏移量,通常以四个角点的调整参数作为表示,输出的结果为(dx0,dy0,dx1,dy1,dx2,dy2,dx3,dy3),投影仪根据该输出结果,调整投影仪的投影画面。使得投射到投影墙面的画面变得与原画面比例相同。

基于大量的训练样本的训练,上述神经网络是可以实现投影仪的梯形校正的。

下面讨论如何通过投影仪和一个摄像头获得投影墙面法向量,参照图1,以点o1表示投影仪的摄像头模块,以点or表示投影仪的投影模块,实际上,投影模块在这里可以看作一个逆向的摄像头,而在图1中,x1和xr分别表示的是特征角点p分别在摄像头模块拍摄的图像和投影模块所投射的图像中的位置,在摄像头模块拍摄的图像中特征角点p以p1表示,而在投影模块所投射的图像中特征角点p以pr表示,这里p1和pr被称作一个点对,其实质上是一个相同的特征角点在两个图像中的显示。假定摄像头模块和投影仪模块的焦距均为f,两者的实际物理距离为t,那么可以通过以下公式计算出点p的深度z。

其中,z=(t*f)/d;d=x1-xr。

那么当求算出多个位置不同的特征角点的深度后,就可以得到摄像头模块拍摄的图像中的特征角点的三维坐标,根据一般的三维几何知识,就可以得出投影墙面的法向量了。

也就是说,通过单摄像头测量投影墙面的法向量是具备可行性的。

而关于角点校正参数的获取,在获取训练样本数据的时候,可以借助一个全景摄像头,将全景摄像头安装在投影墙面正对的位置,且全景摄像头拍摄方向与投影墙面垂直,那么意味着全景摄像头所拍摄到的图像,是没有畸变的。因此,投影仪投影到投影墙面上的图案如果发生了畸变,是可以从全景摄像头拍摄的图像中直接得出畸变的情况的。也就是说,根据全景摄像头的图像中的特征角点的位置,可以反推出应该如何对投影图像进行调整。如图2所示,假设投影仪所投影的预设图案200a,在到达投影墙面100后,畸变成一个梯形200b,在本实施例中可以通过识别预设图案中的4个特征角点201a、201b、201c和201d来确定畸变情况。那么在实现角点校正参数时,只需要按照预设图案200a原来的比例调整投影仪的输出长宽比例即可,当然调整比例时,可以以特征角点的调整参数作为表示。如图2所示,经过比例调整后的图案200c,在重新投影到投影墙面100后图案变成与预设图案200a比例相同的图案200d。

在过去,如果要获取大量的样本数据,只能通过人工实现,其耗费大量的人力物力,并且效率很低。

参照图3,本实施例提供一种梯形校正的训练样本数据的获取系统,以提高训练样本数据的获取效率,减少人力成本。

本实施例的系统包括机械臂、投影仪、全景摄像头和处理器,所述投影仪包括摄像头模块和投影模块,所述机械臂用于根据处理器的指令调整投影仪的姿态,所述投影模块用于投影设有多个特征角点的预设图案,所述摄像头模块以及全景摄像头模块用于根据处理器的指令在每次调整投影仪的姿态后分别拍摄图像。

具体地,在本实施例的机械臂可以采用多种机械臂结构实现,其目的是能够让投影仪可以实现平移和角度旋转。例如,所述机械臂可以包括多个臂段和多个关节,然后机械臂固定安装在室内,通过调整机械臂的关节来实现对投影仪的平移和角度旋转。所述机械臂也可以是可以移动的机械臂,例如,将机械臂安装在导轨上,通过机械臂与导轨的相对运动来实现对投影仪的移动,而机械臂本身只需要需要实现对投影仪的角度调整即可。

所述投影仪其安装有摄像头和普通投影仪所具备的投影模块,其完全可以通过普通投影仪来实现。而至于处理器,其可以是独立于投影仪的计算设备,如一个服务器,其也可以是内置于所述投影仪的处理器。在本实施例中,处理器并不一定只有一个,其可以是一个抽象的概念,例如,处理器可以由一台独立于投影仪的服务器配合投影仪内部的芯片来构成。处理器可以将数据输出到别的计算机或者输出到如硬盘或者存储器之类的部件之中。

对于全景摄像头,其就是一个普通的摄像头,当然,为了提升识别效果,该全景摄像头的分辨率是越高越好的。至于该全景摄像头,它一般正对投影墙面安装。如果全景摄像头不正对投影墙面安装,那么它所拍摄的图像在用作参考图像之前,需要根据其与投影墙面之间的几何关系进行修正。

所述投影仪的姿态包括投影仪在空间中的角度和位置。

其中,处理器用于获取预设图案的特征角点以及系统的标定参数,然后在摄像头模块以及全景摄像头模块拍摄图像后,从全景摄像头拍摄和摄像头模块拍摄的图像中分别提取特征角点,匹配预设图案和摄像头模块所拍摄的图像中的特征角点的点对,接着根据标定参数以及所述点对,计算投影墙面的法向量;并且根据全景摄像头所拍摄的图像中的特征角点计算出投影仪的角点校正参数,将所述角点校正参数和投影墙面的法向量作为一组训练样本数据进行输出。

在开始工作之前,需要对系统进行标定,其中标定的内容包括摄像头模块的内参数、投影模块的内参数以及摄像头模块和投影模块之间的位置关系(包括相对位置和相对角度)。由于这里的投影仪模块可以被看作一个逆向的摄像头,可以使用针孔模型表示。内参数只与自身有关,对于摄像头模块和投影仪模块的内参数均包括参数矩阵(fx,fy,cx,cy)和畸变系数(三个径向k1,k2,k3;两个切向p1和p2)。

根据结合图1和图2对测量原理的论述,在本实施例的系统中,由于摄像头模块和投影模块之间的距离是预先标定好的,因此,通过比较预设图案和摄像头模块所拍摄的图像中,特征角点的位置关系,即特征角点的点对的位置关系,可以确定特征角点的在投影仪的坐标系中的深度,通过多个特征角点的深度,以及这些特征角点在投影仪的坐标系中的横纵坐标,可以用最小二乘法拟合出投影墙面所在的平面,从而得到投影墙面的法向量。

至于在特征角点的识别和匹配上,可以采用多种识别算法。

例如,在实现特征角点的识别上,可以采用surf算法;而在做特征角点匹配时,可以采用bf算法和ransac算法配合实现,首先通过bf算法匹配出一些特征角点的点对,然后利用ransac算法对这些通过蛮力匹配出来的点对进行过滤,除去无效的点对。对于surf算法,其也可以用其他sift算法来替代。

bf是bruteforce的缩写,bf算法即暴风算法,是普通的模式匹配算法,bf算法的思想就是将目标串s的第一个字符与模式串t的第一个字符进行匹配,若相等,则继续比较s的第二个字符和t的第二个字符;若不相等,则比较s的第二个字符和t的第一个字符,依次比较下去,直到得出最后的匹配结果。bf算法是一种蛮力算法。

surf是speededuprobustfeatures的缩写,它是一种针对sift算法改进的算法。

sift是scale-invariantfeaturetransform的缩写,它是用于图像处理领域的一种描述。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。

ransac是randomsampleconsensus的缩写,它是根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法。

在本实施例中,投影模块在全程所投影的图像可以是不变的,即从头到尾预设图案只有一个;当然,在每次移动时,更换预设图案也是可以,也就是说,在一些实施例中,预设图案的数量可以是多个。

关于预设图案上的特征角点,最好在四个以上,特征角点越多,越能够减少个别特征角点被识别错后对法向量的计算产生的影响,因此适当提升特征角点的数量,可以提高识别的准确性。而不同的特征角点的特征应该是不同的,例如,形状不同或者图案不同。而特征角点应该在抗灰度、彩色等环境下具备足够的可识别度。

作为优选的实施例,所述处理器还用于读取训练样本需求数量,根据训练样本需求数量在投影仪的姿态调整范围内随机生成若干组姿态参数,根据所述若干组姿态参数控制机械臂调整投影仪的姿态。

由于训练样本数据离散性越高,训练效果理论上更好,因而本实施例通过随机生成的方式,可以保证所采集的训练样本数据的离散性,提升训练样本数据的质量。此外,本实施例可以让用户设置需要采集的样本数量,用户可以根据实际需要灵活设置。

作为优选的实施例,所述机械臂包括若干个关节,所述机械臂根据处理器的指令控制投影仪平移或者旋转。

本实施例的机械臂如图4所示,该机械臂包括一个普通臂段401a、两个可伸缩臂段401b、三个用于调节俯仰角度的第一关节402a和一个用于调整水平角度的第二关节402b。所述机械臂通过普通臂段401a固定在墙面上,然后通过调整各关节和可伸缩臂段来实现投影仪400的平移和角度变换。本实施例能够使投影仪实现大范围的平移和角度调整。

作为优选的实施例,从摄像头模块以及全景摄像头模块拍摄的图像中识别特征角点时,采用surf算法。surf算法比sift算法要快数倍,并且其在不同图像变换方面比sift更加稳健。因而本实施例采用surf算法有助于提高系统性能。

作为优选的实施例,采用蛮力算法对预设图案和摄像头模块所拍摄的图像中的特征角点的点对进行匹配,然后通过ransac算法过滤掉无效的特征角点的点对。本实施例能够提升特征角点的点对的匹配准确度。

参照图5,本实施例公开了一种梯形校正的训练样本数据获取方法,其用于上述系统实施例的处理器之中,其包括以下步骤:

s501、获取系统的标定参数以及预设图案的特征角点;

s502、控制投影仪投影设有多个特征角点的预设图案;

s503、多次控制机械臂调整投影仪的姿态,在每次调整投影仪的姿态后,控制全景摄像头以及投影仪的摄像头模块分别拍摄图像,并根据所述全景摄像头和投影仪的摄像头模块每次所分别拍摄的图像,得到一组训练样本数据;

所述根据所述全景摄像头和投影仪的摄像头模块每次所分别拍摄的图像,得到一组训练样本数据,其具体包括:

从全景摄像头拍摄和摄像头模块拍摄的图像中分别提取特征角点;

匹配预设图案和摄像头模块所拍摄的图像中的特征角点的点对;

根据标定参数以及所述点对,计算投影墙面的法向量;

根据全景摄像头所拍摄的图像中的特征角点计算出投影仪的角点校正参数;

将所述角点校正参数和投影墙面的法向量作为一组训练样本数据进行输出。

作为优选的实施例,多次控制机械臂调整投影仪的姿态,其具体包括:

读取训练样本需求数量;

根据训练样本需求数量在投影仪的姿态调整范围内随机生成若干组姿态参数;

根据所述若干组姿态参数控制机械臂调整投影仪的姿态。

作为优选的实施例,在控制机械臂调整投影仪的姿态时,使投影仪平移和/或改变角度。

作为优选的实施例,从摄像头模块以及全景摄像头模块拍摄的图像中识别特征角点时,采用surf算法。

作为优选的实施例,采用蛮力算法对预设图案和摄像头模块所拍摄的图像中的特征角点的点对进行匹配,然后通过ransac算法过滤掉无效的特征角点的点对。

上述方法实施例中与上述系统实施例中对应或者相同的特征能够实现相同的技术效果。

对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1