双目标定方法及装置、设备和存储介质与流程

文档序号:26396205发布日期:2021-08-24 16:06阅读:100来源:国知局
双目标定方法及装置、设备和存储介质与流程

本申请涉及图像处理技术,特别涉及一种双目标定方法、双目标定装置、双目设备和计算机可读存储介质。



背景技术:

双目相机成像系统在实际使用中,首要必须要进行标定,但是双目相机的标定目的与单目不同,主要是为了保证左右相机达到极线对齐的状态,进而为后续的其他处理步骤提供便捷的数据支持。然而,相关技术中,双目标定算法需要采用棋盘格或圆点图标定板等额外辅助材料来检测图像存在特征点,从而得到准确的标定参数,花费成本较大。



技术实现要素:

本申请提供了一种双目标定方法,所述标定方法包括:

获取第一图像传感器和第二图像传感器的第一原始图像和第二原始图像;

根据预设标定参数对所述第一原始图像和第二原始图像进行校正和匹配处理得到第一处理图像和第二处理图像,以在极线方向初步对齐所述第一处理图像和所述第二处理图像;

分别对所述第一处理图像和所述第二处理图像进行特征点提取并匹配以得到多个匹配点;

计算所述匹配点的视差以根据所述匹配点的视差进行聚类得到聚类结果;

根据所述聚类结果对所述匹配点筛选得到目标匹配点;和

根据所述目标匹配点的坐标和视差计算得到目标标定参数。

本申请还提供了一种双目标定装置,包括:

获取模块,用于获取第一图像传感器和第二图像传感器的第一原始图像和第二原始图像;

匹配模块,用于根据预设标定参数对所述第一原始图像和第二原始图像进行校正和匹配处理得到第一处理图像和第二处理图像,以在极线方向初步对齐所述第一处理图像和所述第二处理图像;

提取模块,用于分别对所述第一处理图像和所述第二处理图像进行特征点提取并匹配以得到多个匹配点;

处理模块,用于计算所述匹配点的视差以根据所述匹配点的视差进行聚类得到聚类结果,以及用于根据所述聚类结果对所述匹配点筛选得到目标匹配点;和

计算模块,用于根据所述目标匹配点的坐标和视差计算得到目标标定参数。

本申请还提供了一种双目设备,包括处理器和存储器,所述存储器存储有至少一个程序,并且,所述程序被所述处理器执行,所述程序包括用于执行所述标定方法的指令。所述标定方法包括:获取第一图像传感器和第二图像传感器的第一原始图像和第二原始图像,根据预设标定参数对所述第一原始图像和第二原始图像进行校正和匹配处理得到第一处理图像和第二处理图像,以在极线方向初步对齐所述第一处理图像和所述第二处理图像。分别对所述第一处理图像和所述第二处理图像进行特征点提取并匹配以得到多个匹配点。计算所述匹配点的视差以根据所述匹配点的视差进行聚类得到聚类结果,根据所述聚类结果对所述匹配点筛选得到目标匹配点,根据所述目标匹配点的坐标和视差计算得到目标标定参数。

本申请提供了一种包含计算机程序非易失性计算机可读存储介质,当所述计算机程序被处理器执行时,使得所述处理器执行所述标定方法。所述标定方法包括:获取第一图像传感器和第二图像传感器的第一原始图像和第二原始图像,根据预设标定参数对所述第一原始图像和第二原始图像进行校正和匹配处理得到第一处理图像和第二处理图像,以在极线方向初步对齐所述第一处理图像和所述第二处理图像,分别对所述第一处理图像和所述第二处理图像进行特征点提取并匹配以得到多个匹配点。计算所述匹配点的视差以根据所述匹配点的视差进行聚类得到聚类结果,根据所述聚类结果对所述匹配点筛选得到目标匹配点,根据所述目标匹配点的坐标和视差计算得到目标标定参数。

本申请实施方式的双目标定方法、双目标定装置、双目设备和计算机可读存储介质中,通过预设标定参数对第一原始图像和第二原始图像进行畸变校正和匹配处理,得到在极线方向初步对齐的第一处理图像和第二处理图像,然后从第一处理图像和第二处理图像分别提取特征点,并对特征点进行匹配以筛除不匹配的特征点,得到相互匹配的匹配点,再对匹配点的视差进行聚类,从而根据聚类结果筛选出目标匹配点,最后根据目标匹配点的视差和坐标计算得到准确的目标标定参数,如此,双目设备可以根据图像实现标定,避免了采用额外辅助材料来实现对双目设备的标定,降低了成本。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本申请某些实施方式的标定方法的一个流程示意图。

图2是本申请某些实施方式的双目标定装置的模块示意图。

图3是本申请某些实施方式的双目设备的模块示意图。

图4-5是本申请某些实施方式的标定方法的流程示意图。

图6本申请某些实施方式的标定方法的一个场景示意图。

图7是本申请某些实施方式的标定方法的视差直方图。

图8-9是本申请某些实施方式的标定方法的流程示意图。

图10是本申请某些实施方式的双目设备的模块示意图。

图11是本申请某些实施方式的处理器和计算机可读存储介质的连接示意图。

具体实施方式

下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。

请参阅图1,本申请实施方式提供一种双目标定方法,包括:

s11,获取第一图像传感器和第二图像传感器的第一原始图像和第二原始图像;

s12,根据预设标定参数对第一原始图像和第二原始图像进行校正和匹配处理得到第一处理图像和第二处理图像,以在极线方向初步对齐第一处理图像和第二处理图像;

s13,分别对第一处理图像和第二处理图像进行特征点提取并匹配以得到多个匹配点;

s14,根据匹配点的视差进行聚类得到聚类结果;

s15,根据聚类结果对匹配点筛选得到目标匹配点;和

s16,根据目标匹配点的坐标和视差计算得到目标标定参数。

请进一步参图2,本申请实施方式提供了一种双目标定装置10。双目标定装置10包括获取模块11、对齐模块12、匹配模块13、处理模块14和计算模块15。

s11可以由获取模块11实现,s12可以由对齐模块12实现,s13可以由匹配模块13实现,s14和s15可以由处理模块14实现,s16可以由计算模块实现。

获取模块11可以用于获取第一图像传感器和第二图像传感器的第一原始图像和第二原始图像。

对齐模块12可以用于根据预设标定参数对第一原始图像和第二原始图像进行校正和匹配处理得到第一处理图像和第二处理图像,以在极线方向初步对齐第一处理图像和第二处理图像。

匹配模块13可以用于分别对第一处理图像和第二处理图像进行特征点提取并匹配以得到多个匹配点。

处理模块14可以用于计算匹配点的视差以根据匹配点的视差进行聚类得到聚类结果。处理模块14还可以用于根据聚类结果对匹配点筛选得到目标匹配点。

计算模块15可以用于根据目标匹配点的坐标和视差计算得到目标标定参数。

请结合图3,本申请实施方式提供了一种双目设备100,包括处理器20和多个图像传感器30,多个传感器30包括第一图像传感器31和第二图像传感器32,上述标定方法可以由处理器20实现。

处理器20可以用于获取第一图像传感器31和第二图像传感器32的第一原始图像和第二原始图像;处理器20可以用于根据预设标定参数对第一原始图像和第二原始图像进行校正和匹配处理得到第一处理图像和第二处理图像,以在极线方向初步对齐第一处理图像和第二处理图像;处理器20还可以用于分别对第一处理图像和第二处理图像进行特征点提取并匹配以得到多个匹配点。处理器20还可用于计算匹配点的视差以根据匹配点的视差进行聚类得到聚类结果,以及根据聚类结果对匹配点筛选得到目标匹配点,处理器20还可用于根据目标匹配点的坐标和视差计算得到目标标定参数。

这些实施方式的标定方法、双目标定装置10和双目设备100中,根据预设标定参数对由第一图像传感器31和第二图像传感器32获取的第一原始图像和第二原始图像进行校正处理并匹配得到在极线方向初步对齐的第一处理图像和第二处理图像,然后从第一处理图像和第二处理图像分别提取特征点,并对特征点进行匹配得到匹配点,再对匹配点的视差进行聚类得到聚类结果,从而根据聚类结果进行筛选,去除视差值异常的匹配点,得到目标匹配点,最后根据目标匹配点的视差和坐标计算得到准确的目标标定参数,如此,双目设备100可以根据图像实现标定,避免了采用额外辅助材料来进行标定,降低了成本。

在一些实施方式中,双目设备100可以是手机、平板电脑、笔记本电脑、无人机、机器人、智能穿戴设备(智能头盔、智能眼镜等)、虚拟现实设备等电子设备。

需要说明的是,预设标定参数是指为预设在处理器20上的用于对第一图像传感器31和第二图像传感器32进行标定的参数,预设标定参数可以在双目设备出厂时预先设定好,也可以为上一次根据第一原始图像和第二原始图像所生成的目标标定参数。预设标定参数包括畸变参数和内外参数矩阵,畸变参数是指摄像头拍照过程中,物点在图像中实际对应像素位置与基于成像模型计算的理论投影点之间的偏差,该偏差一般由径向畸变参数k1、k2、k3及切向畸变参数p1、p2来描述。

内参数矩阵可以表示为:

其中f为摄像机的焦距,单位一般是mm,dx,dy为像元尺寸,u0,v0为图像中心。

外参数数矩阵可以是表达双目设备中,第一图像传感器和第二图像传感器的相对位置的矩阵,可以包括其中一个图像传感器相对于另一个图像传感器的偏移位置、旋转角度等,外参数矩阵可以表示为:

其中,r是一个3*3的旋转矩阵,t是一个3*1的平移矩阵。

处理器20可控制第一图像传感器31和第二图像传感器32对同一拍摄对象进行拍摄,拍摄对象可以是任意实体对象,例如,树木、花草、人物等。使得第一图像传感器31生成第一原始图像,第二图像传感器32生成第二原始图像。

进一步地,根据第一图像传感器31和第二图像传感器32的内参矩阵、外参数旋转矩阵及平移矩阵和畸变系数,使用opencv中stereorctify函数计算出第一原始图像和第二原始图像的旋转矩阵,根据内参数矩阵和外参数旋转矩阵分别在第一原始图像和第二原始图像上使用opencv中的initundistortrectifymap函数计算出x方向和y方向的映射矩阵,分别在第一原始图像和第二原始图像上根据得到的映射矩阵使用opencv中的remap函数得到校正后的第一原始图像和第二原始图像。校正后,通过外参数矩阵的旋转矩阵进行立体匹配,以使得实际中消除畸变后的非共面行对准的两幅图像,校正成共面行(极线方向)对准。(共面行对准:两摄像机图像平面在同一平面上,且同一点投影到两个摄像机图像平面时,两个像素坐标系的同一行),而后通过内参矩阵将相机坐标系转换成图像像素坐标系,得到在极线方向初步对齐第一处理图像和第二处理图像。

处理器20还包括预设特征点算法,预设特征点算法是指预先存储于双目标定装置10或双目设备100中的用于提取对图像中属于特征性的信息的算法。

预设特征点算法包括但不限于orb(orientedfastandrotatedbrief)、尺度不变特征变换(scale-invariantfeaturetransform,sift)或加速稳健特征(speededuprobustfeatures,surf)等特征提取算法等。

其中,orb特征提取算法是用来对图像中的关键点快速创建特征向量,这些特征向量可以用来识别图像中的对象。其中,fast和brief分别是特征检测算法和向量创建算法。surf特征提取算法是一种稳健的局部特征点检测和描述算法。与sift算法一样,surf算法的基本路程可以分为三大部分:局部特征点的提取、特征点的描述、特征点的匹配。sift是一种基于尺度空间的,对图像缩放、旋转、甚至仿射变换保持不变性的图像局部特征描述算子,sift特征提取算法有四步:1、尺度空间的极值检测,2、特征点定位,3.特征方向赋值,4、特征点描述。

在得到极线方向上初步对齐的第一处理图像和第二处理图像后,处理器20可根据预设特征点算法对第一处理图像和第二处理图像进行特征点提取,得到第一处理图像的多个第一特征点和第二处理图像的多个第二特征点。进而,基于预设匹配算法对第一特征点和第二特征点进行匹配,得到相互匹配的第一特征点和第二特征点并作为匹配点,并过滤误匹配的第一特征点和第二特征点。第一处理图像的匹配点和第二处理图像的匹配点一一对应。预设匹配算法可包括但不限于暴力匹配算法(bruteforce)、k近邻算法(k-nearestneighbor,knn)或穷举搜索算法等。

更进一步地,处理器20计算匹配点的视差,并对匹配点的视差进行聚类得到聚类结果。由于异常值大多偏离均值,因此,处理器20可根据最大视差类或最小视差类中匹配点的视差的数量对对应的匹配点进行进一步地筛选,以进一步地去除视差值异常的匹配点,得到目标匹配点,最后,根据目标匹配点的坐标以及视差计算目标标定参数。

需要说明的是,根据预设标定参数进行校正后,第一处理图像和第二处理图像在极线方向已初步对齐,在一些实施方式中,处理器20在匹配过程中,可缩小特征点的匹配范围,也即是,将特征点的匹配范围限定在第一处理图像中的某个区域,从而提升特征点的匹配精度。例如,特征点的匹配范围为第一处理图像的尺寸的10%。如此,即可以以避免出现匹配距离过大的异常点,提升特征点的匹配精度,同时,能够减少计算量,提升效率。

另外,在其它一些实施方式中,处理器20在进行特征点匹配过程中,为提升特征点匹配精度和效率,还可采用重复纹理检测,以检测出第一处理图像和第二处理图像的重复纹理区域,从而将检测到重复纹理区域内的特征点作为异常点去除,如此,可以避免干扰计算,从而进一步地提升特征点的匹配精度。

请结合图4,在某些实施方式中,标定方法还包括:

s17,根据目标标定参数对第一图像传感器和第二图像传感器进行标定。

在某些实施方式中,双目标定装置还包括标定模块16,s16可以由标定模块16实现,也即是,标定模块16可以用于根据目标标定参数对第一图像传感器和第二图像传感器进行标定。

在某些实施方式中,处理器20还用于根据目标标定参数对第一图像传感器和第二图像传感器进行标定。

需要说明的是,在根据目标标定参数对第一图像传感器31和第二图像传感器32进行标定时,实际是对第一图像传感器31和第二图像传感器32中的预设标定参数进行修正,使得预设标定参数等于或近似于目标标定参数,并在修正后,第一图像传感器31和第二图像传感器32根据目标标定参数处理生成的第一处理图像和第二处理图像中,其目标匹配点的坐标可以对齐。

如此,双目设备100可以根据获得的图像就能够实现准确标定,大大降低了双目设备100的标定成本。

请结合图5,在某些实施方式中,s14包括:

s141:确定匹配点的坐标以计算匹配点的视差;

s142:根据预设聚类算法对匹配点的视差进行聚类以得到聚类结果。

请进一步参阅图2,在某些实施方式中,s141和s142可以由处理模块14实现。也即是,处理模块14用于确定匹配点的坐标以计算匹配点的视差;

处理模块14用于根据预设聚类算法对匹配点的视差进行聚类以得到聚类结果。

在某些实施方式中,处理器20用于确定匹配点的坐标以计算匹配点的视差,处理器20还用于根据预设聚类算法对匹配点的视差进行聚类以得到聚类结果。

可以理解,实际成像过程中,目标距离越近,其视差越大,而在距离较远处,视差则趋近于零,且所有目标的视差值均为同符号的(都为非负或者都为非正)。例如,请参阅图6,图6是本申请中,第一处理图像和第二处理图像的示意图,也即是,本实施方式以图6作为实施例进行说明。其中,主图像为第一处理图像,副图像为第二处理图像,黑色三角代表近距离目标,灰色矩形代表中距离目标,斜线区域代表远距离目标,水平方向为y轴,即极线方向,竖直方向为y轴,为非极线方向。

具体地,确定第一处理图像和第二处理图像中每个匹配点的坐标(y,x),其中,y为匹配点在极线方向(水平方向)的值,x为匹配点在非极性方向(竖直方向)的值。并计算第一处理图像和第二处理图像中相互匹配的匹配点在非极线方向的差值,即得到匹配点的视差,进而,对基于预设聚类算法对匹配点的视差进行聚类,得到聚类结果。

预设聚类算法可以包括k均值聚类算法(k-meansclusteringalgorithm),k均值聚类算法是一种划分聚类算法,给定一个数据点集合和需要的聚类数目k,k由用户指定,k均值算法根据某个距离函数反复把数据分入k个聚类中。处理器20采用k均值聚类算法能够快速有效的将视差相近的匹配点聚类到同一类,并且分类效果好。

可以理解地,在特征点匹配过程中,在重复纹理、少纹理等区域极易出现误匹配情况,且多数情况下此类异常点的视差偏离平均视差极大,容易影响目标标定参数计算的准确性,因此,处理器20采用k均值聚类算法得到的聚类结果后,根据聚类结果对匹配点进行筛选,去除偏离平均视差大的匹配点,得到目标匹配点。进而根据目标匹配点的坐标和视差计算得到目标标定参数。

具体而言,(1)以匹配点的视差作为k均值聚类算法的聚类指标进行聚类,聚类的数目可以为3类、4类、5组类、6类、8类甚至更多类,在所有匹配点的视差内随机选取与聚类的数目相等的视差并作为初始聚类中心(初始种子),(2)设定聚类迭代终止调节(通常设置聚类迭代次数或者聚类中心的变化误差)。(3)根据距离准则将视差分配到距离最接近的类中。(4)将每一类的平均向量作为下次迭代的聚类中心。重复(3)和(4)步骤,使得满足(2)中的迭代终止条件时停止,得到聚类结果。聚类结果可以按视差均值由小达大依次排列,例如,在本实施方式中,聚类结果包括4类视差类,可以按视差均值由小到大依次将视差类分为1、2、3、4类,1类的视差最小,4类的视差值最大。

另外,请结合图7,为避免聚类算法迭代过度导致个别异常点划分为正常类,处理器20在计算出所有匹配点的视差后,还可先对匹配点的视差进行大小排序,由小到大依次采用0%、33%、66%、100%位置的视差作为4个类的初始聚类中心(初始种子),并严格控制聚类迭代次数。

请参阅图8,在某些实施方式中,s15包括:

s151:分别获取聚类结果中最大视差类的第一匹配点的数量和最小视差类的第二匹配点的数量,匹配点包括第一匹配点和第二匹配点;

s152:若第一匹配点的数量和第二匹配点的数量占匹配点的视差总数量的比例小于第一预设阈值,剔除第一匹配点和第二匹配点以得到目标匹配点;

s153:若第一匹配点和第二匹配点的均值偏离视差均值大于第二预设阈值,剔除第一匹配点和第二匹配点以得到目标匹配点。

在某些实施方式中,s151、s152和s153可以由处理模块14实现。

处理模块14可以用于分别获取聚类结果中最大视差类的第一匹配点的数量和最小视差类的第二匹配点的数量,匹配点包括第一匹配点和第二匹配点。

处理模块14可以用于若第一匹配点的数量和第二匹配点的数量占匹配点的视差总数量的比例小于第一预设阈值,剔除第一匹配点和第二匹配点以得到目标匹配点;

处理模块14还可以用于若第一匹配点和第二匹配点的视差均值偏离匹配点的视差均值大于第二预设阈值,剔除第一匹配点和第二匹配点以得到目标匹配点。

在某些实施方式中,处理器20可以用于分别获取聚类结果中最大视差类的第一匹配点的数量和最小视差类的第二匹配点的数量,匹配点包括第一匹配点和第二匹配点。处理器20可以用于若第一匹配点的数量和第二匹配点的数量占匹配点的视差总数量的比例小于第一预设阈值,剔除第一匹配点和第二匹配点以得到目标匹配点。处理器20还可以用于若第一匹配点和第二匹配点的均值偏离视差均值大于第二预设阈值,剔除第一匹配点和第二匹配点以得到目标匹配点。

第一预设阈值和第二预设阈值具体的数值不设限制,例如,在本申请中,第一预设阈值可以为6%,第二预设阈值可以为100,也即是,处理器20在计算出最大类视差和最小视差类中的第一匹配点和第二匹配点之和小于6%,则去除第一匹配点和第二匹配点以生成目标匹配点,或者,处理器20在计算出第一匹配点和第二匹配点的均值偏离视差均值大于100时,将匹配点中的第一匹配点和第二匹配点去除以生成目标匹配点。如此,处理器20根据目标匹配点计算出目标标定参数,可进一步地提升目标标定参数精度。

另外,若第一匹配点的数量和第二匹配点的数量占匹配点的视差总数量的比例大于或等于第一预设阈值,则将全部匹配点都作为目标匹配点。或者,若第一匹配点和第二匹配点的均值偏离视差均值小于等于第二预设阈值,则将全部匹配点都作为目标匹配点。

请结合图9,在某些实施方式中,s16包括:

s161:根据聚类结果确定正常视差范围;

s162:在第一匹配点的视差不属于正常视差范围的情况下,将第一匹配点的视差设为零以计算目标标定参数。

在某些实施方式中,s161和s162可以由计算模块15实现。

计算模块15可以用于根据聚类结果确定正常视差范围。

计算模块15还可以用于在第一匹配点的视差不属于正常视差范围的情况下,将第一匹配点的视差设为零以计算目标标定参数。

在某些实施方式中,处理器20可以用于根据聚类结果确定正常视差范围。处理器20还可以用于在第一匹配点不属于正常视差范围的情况下,将第一匹配点设为零以计算目标标定参数。

可以理解,由于目标标定参数是根据目标匹配点的坐标和视差计算得到的,目标匹配点的视差范围可能导致计算偏差,因此,在本实施方式中,还对目标匹配点得的视差进行约束,从而解决优化结果每一视差约束导致的计算偏差,有效提升目标标定算法的精度。

例如,在图7中,匹配点的视差大部分为正,而在最小类视差中,第一匹配点的视差为负,则可将第一匹配点的视差位置为零,进而再根据所以匹配点的视差计算得到目标标定参数。

另外,可以理解的是,若最大视差类的第二匹配点的视差不属于正常视差范围内,例如,正常视差范围为负,而最大视差类的第二匹配点的视差为正,则可以将第二匹配点的视差归零。

目标标定参数的计算公式为:

图像中的横坐标,m为视差为负的第一匹配点个数;lqy是匹配点q在主图像中的纵坐标,rqy是匹配点q在副图像中的纵坐标,n为总匹配点个数,abs指绝对值,m矩阵为双目成像中像素坐标的位置关系矩阵,与外参相关。计算公式的总优化目标为趋近于零,前半部分表示匹配点在极远处视差为零(x轴),后半部分表示匹配点在极线方向对齐(y轴)。处理器20可采用最小二乘法等优化方法可对此计算公式进行求解,得到目标标定参数。

请参阅图10,本申请提供了一种双目设备100,包括处理器20和存储器40;其中,存储器40存储有一个或多个程序42,并且被处理器20执行,程序42被处理器20执行上述任意一项标定方法的指令。

请结合图11,本申请提供了一种包含计算机程序的非易失性计算机可读存储介质50,当计算机程序50被处理器20执行时,使得处理器20执行上述双目标定方法。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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