一种水天线检测方法及装置与流程

文档序号:18074047发布日期:2019-07-03 04:05阅读:448来源:国知局
一种水天线检测方法及装置与流程

本发明涉及图像处理技术领域,特别是涉及一种水天线检测方法及装置。



背景技术:

水天线是照相机或摄像机对水域进行拍摄得到的图像中水与天的分界线,对指导船舶安全航行具有重要意义。例如,水面图像中的水天线能够检测位于水面图像范围内的水面上的障碍物,并且,根据水天线在水面图像中的位置以及障碍物在水面图像中的位置,计算得到障碍物在空间坐标系中的三维坐标,以预警船舶提前避让。

目前,现有的水天线检测手段主要是基于单目图像进行水天线检测,其检测方法为:利用摄像机采集的水面图像中每个像素点的像素特征,对水面图像进行边缘提取,以提取出水面图像中存在物体的边缘线,然后,利用最小二乘法等拟合算法对提取出的边缘线进行直线拟合,得到至少一条拟合直线,最后,在至少一条拟合直线中确定一条拟合直线作为水天线。

但是实际应用中,当船舶航行在狭窄水域、摄像机的拍摄视野并不开阔时,或者,当远处的水天线被障碍物遮挡时,又或者,当船舶的远处都是陆地,摄像机采集的水面图像中可能并不存在真正的水天线时,利用现有水天线的检测方法无法准确、有效地检测到水天线;另外,当水面被雾笼罩时,现有水天线的检测方法会因为水天交汇处图像的对比度过低而导致检测失败,并且,在光照变化较大或水面颜色变化较大时,现有水天线的检测方法也无法准确地检测出水天线。



技术实现要素:

本发明实施例中提供了一种水天线检测方法及装置,以解决现有水天线的检测方法无法正确、准确地检测出水天线问题。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

一种水天线检测方法,所述方法包括:

分别获取间隔预设距离的第一相机和第二相机在同一时刻拍摄目标水域得到的图像,其中,所述第一相机拍摄的图像为第一图像,第二相机拍摄的图像为第二图像;

对所述第一图像和所述第二图像中的像素点进行立体匹配,得到所述第一图像中每一个像素点的视差值;

根据所述第一图像中每个像素点的图像坐标,以及,所述第一图像中每一个像素点的视差值,确定所述第一图像中每个像素点在所述预设三维坐标系中的三维坐标;

利用所述第一图像中多个像素点在所述预设三维坐标系中的三维坐标,确定所述目标水域的水平面在所述预设三维坐标系中的空间位置;

根据所述水平面在所述预设三维坐标系中的空间位置,获得所述水平面在所述第一图像中的投影线,并将所述投影线确定为所述目标水域在所述第一图像中的水天线。

可选地,所述对所述第一图像和所述第二图像中的像素点进行立体匹配,得到所述第一图像中每一个像素点的视差值,包括:

针对所述第一图像中的每一个像素点,确定所述像素点所在的行,在所述第二图像的相同行中查找与所述像素点相似性最大的像素点,作为所述第二图像中与所述像素点相对应的对应像素点;

计算所述像素点在所述第一图像中的列数与所述对应像素点在所述第二图像中的列数之差,作为所述像素点的视差值。

可选地,所述方法还包括:

在第一次获取所述第一相机和所述第二相机拍摄得到的图像之前,对所述第一相机和所述第二相机进行标定;

根据标定结果分别获得所述第一相机的光心在所述第一图像中投影的图像坐标,以及,所述第一相机与所述第二相机之间的所述预设距离;

利用所述第一相机的光心在所述第一图像中投影的图像坐标,以及,所述第一相机与所述第二相机之间的所述预设距离,建立所述第一相机的光心坐标系,并作为所述预设三维坐标系。

可选地,所述根据所述第一图像中每个像素点的图像坐标,以及,所述第一图像中每一个像素点的视差值,确定所述第一图像中每个像素点在所述预设三维坐标系中的三维坐标,包括:

针对所述第一图像中的每一个像素点,采用以下公式计算所述像素点在预设三维坐标系中的三维坐标:

其中,(u1,v1)为所述像素点在所述第一图像中的图像坐标,(u0,v0)是所述第一相机的光心在所述第一图像中投影的图像坐标,b为所述第一相机与所述第二相机之间的所述预设距离,f为所述第一相机的预设焦距,d为所述像素点相对于所述第二图像中对应像素点的视差值。

可选地,所述利用所述第一图像中多个像素点在预设三维坐标系中的三维坐标,确定所述目标水域的水平面在所述预设三维坐标系中的空间位置,包括:

在所述第一图像中选取多个像素点作为采样点,所有所述采样点组成一个样本集;

监测参考值的数量;

将所述参考值的数量与预设参考值数量进行比较;

当所述参考值的数量小于预设参考值数量时,在所述样本集中随机选取预设采样点数量个所述采样点,并利用选取的预设采样点数量个采样点在所述预设三维坐标系中的三维坐标,计算包括所述预设采样点数量个采样点的目标平面在所述预设三维坐标系中的空间位置;

计算所述样本集中每一个所述采样点与所述目标平面之间的距离,并计算所有所述距离的中值,将所述中值作为一个所述参考值,在所述参考值的数量上增加1,作为下一次监测得到的参考值的数量;

当所述参考值的数量等于预设参考值数量时,在所述预设参考值数量个所述参考值中,选取数值最小的参考值,并将所述数值最小的参考值对应的所述目标平面在所述预设三维坐标系中的空间位置,作为所述水平面在所述预设三维坐标系中的空间位置。

可选地,所述方法还包括:

查找所述样本集中的目标采样点,所述目标采样点与所述水平面在所述预设三维坐标系中的空间位置之间的距离小于预设阈值;

去除所述样本集中除所述目标采样点之外的采样点,并利用仅包括所述目标采样点的样本集重新获取所述水平面在所述预设三维坐标系中的空间位置。

可选地,所述根据所述水平面在所述预设三维坐标系中的空间位置,获得所述水平面在所述第一图像中的投影线,包括:

获取所述第一相机的光心在所述预设三维坐标系中的空间位置;

利用所述第一相机的光心在所述预设三维坐标系中的空间位置,以及,所述水平面在所述预设三维坐标系中的空间位置,计算包含所述第一相机的光心且与所述水平面平行的光心平面在所述预设三维坐标系中的空间位置;

利用所述光心平面在所述预设三维坐标系中的空间位置,以及所述第一相机的光心在所述第一图像中投影的图像坐标,计算得到所述光心平面在所述第一图像中的投影线,将所述光心平面在所述第一图像中的投影线确定为所述水平面在所述第一图像中的投影线。

可选地,所述方法还包括:

在获取所述第一图像以及所述第二图像之后,对所述第一图像和所述第二图像进行降噪处理。

一种水天线检测装置,所述装置包括:

图像获取单元,用于分别获取间隔预设距离的第一相机和第二相机在同一时刻拍摄目标水域得到的图像,其中,所述第一相机拍摄的图像为第一图像,第二相机拍摄的图像为第二图像;

视差值获取单元,用于对所述第一图像和所述第二图像中的像素点进行立体匹配,得到所述第一图像中每一个像素点的视差值;

像素点坐标确定单元,用于根据所述第一图像中每个像素点的图像坐标,以及,所述第一图像中每一个像素点的视差值,确定所述第一图像中每个像素点在所述预设三维坐标系中的三维坐标;

水平面确定单元,用于利用所述第一图像中多个像素点在预设三维坐标系中的三维坐标,确定所述目标水域的水平面在所述预设三维坐标系中的空间位置;

水天线确定单元,用于根据所述水平面在所述预设三维坐标系中的空间位置,获得所述水平面在所述第一图像中的投影线,并将所述投影线确定为所述目标水域在所述第一图像中的水天线。

可选地,所述视差值获取单元,包括:

对应像素点查找单元,用于针对所述第一图像中的每一个像素点,确定所述像素点所在的行,在所述第二图像的相同行中查找与所述像素点相似性最大的像素点,作为所述第二图像中与所述像素点相对应的对应像素点;

视差值计算单元,用于计算所述像素点在所述第一图像中的列数与所述对应像素点在所述第二图像中的列数之差,作为所述像素点的视差值。

可选地,所述装置还包括:

相机标定单元,用于在第一次获取所述第一相机和所述第二相机拍摄得到的图像之前,对所述第一相机和所述第二相机进行标定;

获取单元,用于根据标定结果分别获得所述第一相机的光心在所述第一图像中投影的图像坐标,以及,所述第一相机与所述第二相机之间的所述预设距离;

预设三维坐标系建立单元,用于利用所述第一相机的光心在所述第一图像中投影的图像坐标,以及,所述第一相机与所述第二相机之间的所述预设距离,建立所述第一相机的光心坐标系,并作为所述预设三维坐标系。

可选地,所述像素点坐标确定单元,包括:

像素点坐标计算单元,用于针对所述第一图像中的每一个像素点,采用以下公式计算所述像素点在预设三维坐标系中的三维坐标:

其中,(u1,v1)为所述像素点在所述第一图像中的图像坐标,(u0,v0)是所述第一相机的光心在所述第一图像中投影的图像坐标,b为所述第一相机与所述第二相机之间的所述预设距离,f为所述第一相机的预设焦距,d为所述像素点相对于所述第二图像中对应像素点的视差值。

可选地,所述水平面确定单元,包括:

样本集组成单元,用于在所述第一图像中选取多个像素点作为采样点,所有所述采样点组成一个样本集;

参考值数量监测单元,用于监测参考值的数量;

参考值数量比较单元,用于将所述参考值的数量与预设参考值数量进行比较;

目标平面计算单元,用于在所述参考值的数量小于预设参考值数量时,在所述样本集中随机选取预设采样点数量个所述采样点,并利用选取的预设采样点数量个采样点在所述预设三维坐标系中的三维坐标,计算包括所述预设采样点数量个采样点的目标平面在所述预设三维坐标系中的空间位置;

参考值获取单元,用于计算所述样本集中每一个所述采样点与所述目标平面之间的距离,并计算所有所述距离的中值,将所述中值作为一个所述参考值,并在所述参考值的数量上增加1,作为下一次监测得到的参考值的数量;

水平面确定子单元,用于当所述参考值的数量等于预设参考值数量时,在所述预设参考值数量个所述参考值中,选取数值最小的参考值,并将所述数值最小的参考值对应的所述目标平面在所述预设三维坐标系中的空间位置,作为所述水平面在所述预设三维坐标系中的空间位置。

可选地,所述装置还包括:

目标采样点查找单元,用于查找所述样本集中的目标采样点,所述目标采样点与所述水平面在所述预设三维坐标系中的空间位置之间的距离小于预设阈值;

水平面重新获取单元,用于去除所述样本集中除所述目标采样点之外的采样点,并利用仅包括所述目标采样点的样本集重新获取所述水平面在所述预设三维坐标系中的空间位置。

可选地,所述水天线确定单元,包括:

光心位置获取单元,用于获取所述第一相机的光心在所述预设三维坐标系中的空间位置;

光心平面计算单元,用于利用所述第一相机的光心在所述预设三维坐标系中的空间位置,以及,所述水平面在所述预设三维坐标系中的空间位置,计算包含所述第一相机的光心且与所述水平面平行的光心平面在所述预设三维坐标系中的空间位置;

投影线获取单元,用于利用所述光心平面在所述预设三维坐标系中的空间位置,以及所述第一相机的光心在所述第一图像中投影的图像坐标,计算得到所述光心平面在所述第一图像中的投影线,将所述光心平面在所述第一图像中的投影线确定为所述水平面在所述第一图像中的投影线。

可选地,所述装置还包括:

降噪单元,用于在获取所述第一图像以及所述第二图像之后,对所述第一图像和所述第二图像进行降噪处理。

由以上技术方案可见,本发明实施例提供的一种水天线检测方法及装置,基于第一相机和第二相机在同一时刻拍摄目标水域得到的图像,获得目标水域的水平面在预设三维坐标系中的空间位置,进而,利用水平面的空间位置,获取水平面在图像中的投影线,并将该投影线确定为目标水域的水天线。

由于在本公开实施例中,以双目图像为基础,不需要依赖图像中像素点的像素特征,因此,不会在目标水域的水面颜色纹理发生变化,或光照发生变化时,出现无法准确、有效地检测到水天线的情况。并且,本公开的实施例中,只需要图像中拍摄到目标水域的水平面,即可通过确定水平面在预设三维坐标系中的空间位置,获得水天线在图像中的位置,因此,在拍摄的图像中不存在真正的水天线,或者水天线被遮挡时,都能够正确地检测到水天线在图像中的位置,有效提高检测方法及检测装置的适应性。

另外,在本公开的一个实施例中,去除样本集中与水平面相距过远的采样点,利用样本集中剩余的目标采样点重新计算水平面在预设三维坐标系中的空间位置,增强检测方法的鲁棒性,进而,提高最终所确定的水天线的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种水天线检测方法的流程示意图;

图2为本发明实施例提供的一种图1中步骤S102的流程示意图;

图3为本发明实施例提供的另一种水天线检测方法的流程示意图;

图4为本发明实施例提供的一种图1中步骤S103的流程示意图;

图5为本发明实施例提供的一种图1中步骤S104的流程示意图;

图6为本发明实施例提供的一种图1中步骤S105的流程示意图;

图7为本发明实施例提供的确定水平面在第一图像中投影线的示意图;

图8为本发明实施例提供的一种水天线检测结果的示意图;

图9为本发明实施例提供的另一种水天线检测结果的示意图;

图10为本发明实施例提供的一种水天线检测装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

图1为本公开实施例提供的一种水天线检测方法的流程示意图,该方法实现的前提是,两台相机同时对目标水域拍摄图像,将两台相机分别称为第一相机和第二相机。如图1所示,该方法包括以下步骤。

在步骤S101中,分别获取间隔预设距离的第一相机和第二相机在同一时刻拍摄目标水域得到的图像,其中,第一相机拍摄的图像为第一图像,第二相机拍摄的图像为第二图像。

第一相机和第二相机被设置为同时拍摄目标水域的图像,目标水域为水平面中一块面积较小的水域,相机的拍摄范围能够包含该目标水域,其中,每个相机均可相隔预设时间段拍摄一次目标水域的图像。以第一相机为例,在第一相机拍摄一幅图像之后,等待5秒钟,继续拍摄下一幅图像。

第一相机和第二相机之间相隔预设距离,该预设距离可根据第一相机和第二相机的最佳安装位置而设定,一般情况下,预设距离设置为0.2米至0.8米。并且,第一相机的拍摄范围与第二相机的拍摄范围重叠,因此,第一相机和第二相机对同一片目标水域进行拍摄,第一相机拍摄的第一图像与第二相机拍摄的第二图像中,存在较多相同的物体。例如,第一图像与第二图像中均存在同一艘船,或,第一图像与第二图像中均存在岸边的同一间房屋等。

分别获取第一相机和第二相机在同一时刻拍摄目标水域得到的图像的方式,可以为:分别获得第一相机和第二相机在当前时刻拍摄目标水域的图像,经过5秒钟之后,第一相机和第二相机再次同时拍摄目标水域,进而再次分别获得第一相机和第二相机同一时刻拍摄目标水域的图像。并且,针对每次获取到的第一相机和第二相机在同一时刻拍摄目标水域得到的图像,都执行后续的所有步骤,以根据每次获取到的第一图像和第二图像,持续检测图像中的水天线。

在本公开的一个实施例中,在获取第一图像和第二图像之后,对第一图像和第二图像进行降噪处理,其中,降噪处理的方式可采用现有去噪技术,例如,中值滤波或高斯平滑滤波等。

在步骤S102中,对第一图像和第二图像中的像素点进行立体匹配,得到第一图像中每一个像素点的视差值。

利用现有的立体匹配算法,对第一图像中的所有像素点和第二图像中的像素点进行立体匹配,可以得到任意一幅图像中每一个像素点的视差值。在本公开实施例中,均以第一图像为例,在本步骤中,立体匹配之后得到第一图像中每一个像素点的视差值。

在本公开的一个实施例中,如图2所示,对第一图像和第二图像进行立体匹配,得到第一图像中每一个像素点的视差值的方式可以包括以下步骤。

在步骤S201中,针对第一图像中的每一个像素点,确定像素点所在的行,在第二图像的相同行中查找与像素点相似性最大的像素点,作为第二图像中与像素点相对应的对应像素点。

第一图像中的每一个像素点在第一图像中都具有图像坐标,同样,第二图像中的每一个像素点在第二图像中也都具有图像坐标,若第一图像中某像素点的横坐标与第二图像中另一像素点的横坐标相同,说明这两个的像素点处于相同的行。

以第一图像中的一个像素点为例,根据该像素点的横坐标确定该像素点所在的行,在第二图像中的相同行中查找与该像素点相似性最大的像素点,作为第二图像中与该像素点相对应的对应像素点。并且,按照上述方式,针对第一图像中的每一个像素点,分别在第二图像中找到相似性最大的像素点,作为对应像素点。

在本公开的一个具体实施例中,像素间的相似性可通过以下方式获得:

利用MNCC(Moravec归一化交叉相关度量)来评价像素点之间的相似性。计算第一图像中的某像素点与第二图像中的另一像素点之间的相似性,可参见如下公式:

其中,式中CMNCC(p,d)为像素间的相似性值;d为第一图像中A像素点的纵坐标与第二图像中B像素点的纵坐标的差值,即第一图像中A像素点相对于第二图像中B像素点的视差值;Wp为第一图像中A像素点的邻域,例如,图像中以A像素点为中心的一个7*7个像素点范围内的区域;Il(u,v)和Ir(u,v)分别为第一图像中像素点(u,v)的灰度值和第二图像中像素点(u,v)的灰度值;和分别为第一图像中A像素点的邻域内所有像素点的灰度平均值,和第二图像中B像素点的邻域内所有像素点的灰度平均值,第二图像中B像素点的邻域的设置方式与第一图像中A像素点的邻域的设置方式相同。

在本实施例中,图像中像素点的坐标为(u,v),其中,u代表像素点所在的行数,是像素点的横坐标,v代表像素点所在的列数,是像素点的纵坐标。利用上述公式,从第二图像中坐标为(1,1)的像素点开始,依次计算第二图像中横坐标为1的像素点与第一图像中坐标为(1,1)的像素点的相似性,即,依次计算第二图像中位于第一行的像素点与第一图像中坐标为(1,1)的像素点的相似性。并且,在第二图像中横坐标为1的像素点中查找出与第一图像中坐标为(1,1)的像素点相似性最大的像素点,作为第二图像中与第一图像中坐标为(1,1)的像素点相似性最大的对应像素点。然后,按照上述方式在第二图像中依次查找与第一图像中剩余像素点相对应的对应像素点。

在步骤S202中,计算像素点在第一图像中的列数与对应像素点在第二图像中的列数之差,作为像素点的视差值。

计算像素点在第一图像中的列数与像素点对应的对应像素点在第二图像中的列数之差,将计算得到的差值作为该像素点的视差值。例如,某像素点在第一图像中的纵坐标为15,与该像素点对应的对应像素点在第二图像中的纵坐标为10,计算得到该像素点的视差值为5,按照上述方式获得第一图像中每一个像素点的视差值。

在步骤S103中,根据第一图像中每个像素点的图像坐标,以及,第一图像中每一个像素点的视差值,确定第一图像中每个像素点在预设三维坐标系中的三维坐标。

在按照上述步骤S102获取第一图像中每一个像素点的视差值之后,根据第一图像中每个像素点的图像坐标,以及,第一图像中每一个像素点的视差值,按照下述方式确定第一图像中每个像素点在预设三维坐标系中的三维坐标。

在本公开的一个实施例中,如图3所示,预设三维坐标系可由下述步骤获得:

在步骤S301中,在第一次获取第一相机和第二相机拍摄得到的图像之前,对第一相机和第二相机进行标定。

利用现有相机标定技术对第一相机和第二相机进行标定,其中,标定的内容可以包括两个相机各自的内部参数、外部参数以及两个相机之间的距离等,其中,相机的内部参数包括相机的焦距、畸变参数以及相机的光心在相机所拍摄图像中投影的图像坐标等,外参数包括相机的图像坐标系与空间坐标系之间的旋转矩阵和平移向量等。

在步骤S302中,根据标定结果分别获得第一相机的光心在第一图像中投影的图像坐标,以及,第一相机与第二相机之间的预设距离。

在完成上述步骤S301之后,获得两个相机的各个标定参数,从而,能够获得第一相机的光心在第一图像中投影的图像坐标,以及,第一相机与第二相机之间的预设距离。

在步骤S303中,利用第一相机的光心在第一图像中投影的图像坐标,以及,第一相机与第二相机之间的预设距离,建立第一相机的光心坐标系,并作为预设三维坐标系。

在本公开实施例中,预设三维坐标系可以定义为第一相机的光心坐标系,如图7所示,该坐标系以第一相机的光心为坐标原点,以垂直于第一相机的拍摄方向且平行于水平面的方向为X轴,以垂直于水平面的方向为Y轴,以第一相机的拍摄方向为Z轴。该第一相机的光心坐标系中的任意一个点均应满足下述公式。

(u1,v1)为像素点在第一图像中的图像坐标,(u0,v0)是第一相机的光心在第一图像中投影的图像坐标,b为第一相机与第二相机之间的预设距离,f为第一相机的预设焦距,d为像素点相对于第二图像中对应像素点的视差值。

因此,可按照上述公式,根据第一图像中每个像素点的图像坐标,以及,第一图像中每一个像素点的视差值,确定第一图像中每个像素点在预设三维坐标系中的三维坐标。

在步骤S104中,利用第一图像中多个像素点在预设三维坐标系中的三维坐标,确定目标水域的水平面在预设三维坐标系中的空间位置。

平面的方程可以用一般的平面方程公式表示,如下式:

ax+by+cz+d=0

其中,(x,y,z,1)′可以表达点在公式中的坐标,a、b、c、d为平面方程中的系数。

某个点P=(x,y,z,1)′属于某个平面φ=(a,b,c,d)′,则必然满足平面方程,假如有n个三维点同时属于这个平面,则它们满足的方程组为:

令上述的方程组可表示为Aφ′=0。

利用上述方程组可以获得平面拟合的结果,求解该方程组可以使用很多现有方法,包括最小二乘法,RANSAC算法(RANdom SAmple Consensus,随机抽样一致算法)和最小中值法等。

空间中某个点P=(x,y,z,1)′与平面φ=(a,b,c,d)′之间的距离可以由下述公式计算得到:

平面拟合的第一个思想是最小化下式:

即,使空间中多个点与平面之间的距离最小化,例如,第一图像中所包含的主要内容为目标水域,因此,第一图像中表示水平面的像素点数量较多,如果存在某一个平面,能够使第一图像中每一个像素点所代表物体的位置与该平面之间的距离的总和最小,该平面是水平面的可能性很大。

因此,基于上述思想,如图4所示,采用下述步骤确定目标水域的水平面在预设三维坐标系中的空间位置。

在步骤S401中,在第一图像中选取多个像素点作为采样点,所有采样点组成一个样本集。

例如,在第一图像中每5*5个像素点所在的区域内选择一个像素点,或者,在第一图像中,每间隔5个像素点,选取一个像素点,无论是哪种像素点的选取方式,主要目的都在于从第一图像中挑选出部分能够反映第一图像中所包含物体的像素点,从而利用这些选取出的像素点进行后续的计算,以避免采用第一图像中所有像素点进行后续计算,发生严重影响计算速率的情况。

在本公开的一个实施例中,选取采样点之前还需要对第一图像中的像素点进行筛选,获取第一图像中每个像素点与第二图像中的对应像素点之间的相似性,滤除第一图像中与对应像素点之间相似性低于预设阈值的像素点,即,滤除第一图像中与第二图像立体匹配效果较差的像素点,在第一图像剩余的像素点中选取采样点。

将按照上述方式选取出的像素点作为采样点,并且,将所有采样点组成一个样本集。

在步骤S402中,监测参考值的数量。

参考值是样本集中所有采样点与拟合的平面之间距离的反映,能够判断拟合平面的结果是否合适,即,拟合平面的结果是否能够代表水平面。关于参考值将在后续步骤中详细说明。

在步骤S403中,将参考值的数量与预设参考值数量进行比较。

该预设参考值数量可以是预设的一个数值,也可以通过预设的计算公式计算得到,关于该计算公式将在后续步骤中详细说明。

在参考值的数量小于预设参考值数量时,则继续执行步骤S404;如果参考值的数量等于预设参考值数量,则继续执行步骤S406。

当参考值的数量小于预设参考值数量时,在步骤S404中,在样本集中随机选取预设采样点数量个采样点,并利用选取的预设采样点数量个采样点在预设三维坐标系中的三维坐标,计算包括预设采样点数量个采样点的目标平面在预设三维坐标系中的空间位置。

在样本集中随机选取预设采样点数量个采样点时,预设采样点数量小于样本集中采样点的总数量,在本公开实施例中,预设采样点数量设置为3,即,在样本集中随机选取3个采样点。按照上述步骤S103获取选取出的3个采样点在预设三维坐标系中的三维坐标,并且,按照上述获取拟合平面的方法,利用选取出的3个采样点在预设三维坐标系中的三维坐标,利用最小二乘法计算出包括这3个采样点的目标平面在预设三维坐标系中的空间位置,即,拟合出一个平面在预设三维坐标系中的平面方程ax+by+cz+d=0。

在步骤S405中,计算样本集中每一个采样点与目标平面之间的距离,并计算所有距离的中值,将中值作为一个参考值,并在参考值的数量上增加1,作为下一次监测得到的参考值的数量。

获取样本集中每一个采样点在预设三维坐标系中的三维坐标,并且,采用前述说明中的公式计算样本集中每一个采样点到该拟合出的目标平面之间的距离。在获取样本集中所有采样点到目标平面之间的距离之后,计算这些距离的中值Mj,Mj的计算公式如下所示:

将计算得到的中值作为一个参考值,同时,获取参考值的数量,并且在参考值的数量上增加1。例如,按照前述方法,已经获得10个拟合平面的结果,并且,对于每个拟合平面,都计算得到一个中值作为参考值,因此,参考值的数量为10。在本次计算拟合平面之后,获得一个新的参考值,在参考值的数量上增加1,参考值的数量变化为11,将11作为下一次监测得到的参考值的数量。如此往复,直到参考值的数量等于预设参考值数量。

当参考值的数量等于预设参考值数量时,在步骤S406中,在预设参考值数量个参考值中,选取数值最小的参考值,并将数值最小的参考值对应的目标平面在预设三维坐标系中的空间位置,作为水平面在预设三维坐标系中的空间位置。

预设参考值数量可以由下述公式计算得到:

P=1-[1-(1-ε)p]m

其中ε表示样本集中匹配不正确的采样点所占的比例,即,样本集中与第二图像中对应像素点匹配结果不正确的像素点所占的比例,ε为一个预先设定好的数值;p代表采样点的预设采样点数量,在本公开实施例中为3;m为预设参考值数量。按照上述公式计算得到的P表示在随机采样m次并获得m个参考值之后,得到一个正确解的概率,一般将P设为0.9,即在对样本集进行m次采样后,90%的概率能够得到一个代表水平面的目标平面。

在上述步骤中得到的预设参考值数量个参考值中,选择一个数值最小的参考值,并且,将该数值最小的参考值对应的目标平面在预设三维坐标系中的空间位置,作为水平面在预设三维坐标系中的空间位置,即,将计算得到该数值最小的参考值时采用的目标平面在预设三维坐标系中的平面方程式,作为水平面在预设三维坐标系中的平面方程式。

在参考值的数量等于预设参考值数量时,利用预设参考值数量个参考值计算得到水平面在预设三维坐标系中的空间位置。在目标水域的水平面的空间位置已经确定之后,不需要继续获得参考值,而是进行后续获得水天线的步骤,因此,参考值的数量不会出现大于预设参考值数量的情况。

第一相机与第二相机的拍摄范围重叠,一般仅仅为部分重叠,并没有完全重叠,因此,第一图像和第二图像中很可能会存在不同的物体,例如,第一图像中包含岸边的一栋房屋,而第二图像中没有包含该房屋。因此,第一图像中很可能会存在与第二图像中任何一个像素点都不相似的像素点,但第一图像中的每一个像素点在第二图像中都有一个对应像素点,因此,第一图像中的像素点与其在第二图像中的对应像素点的对应关系,很有可能是错误的。

因此,为增强水平面在预设三维坐标系的空间位置的正确性,在本公开的一个实施例中,首先利用随机采样的方法去除样本集中明显匹配不正确的采样点,然后利用最小二乘法对剩下的采样点进行平面拟合。

在获取目标水域的水平面在预设三维坐标系中的空间位置之后,如图5所示,还通过以下步骤进一步修正该水平面的空间位置。

在步骤S501中,查找样本集中的目标采样点,目标采样点与水平面在预设三维坐标系中的空间位置之间的距离小于预设阈值。

目标采样点为样本集中与第二图像中的对应像素点的对应关系正确的采样点,可利用下述方式获得。

首先,利用公式计算阈值,其中,n为样本集中的采样点的总个数,MJ为前述步骤中获取目标水域的水平面在预设三维坐标系中空间位置时所采用的参考值,即数值最小的中值,p为预设采样点数量。

然后,基于阈值,根据下述公式确定样本集中的目标采样点。

其中,

ri=d2(p,φ)

p为采样点在预设三维坐标系中的坐标(x,y,z,1)′,φ=(a,b,c,d)′为前述步骤中获得的目标水域的水天线在预设三维坐标系中的空间位置,即水平面的平面方程,d2表示采样点p到水平面平面之间距离的平方。在某采样点根据上述公式计算得到的Wi为1时,确定该采样点为目标采样点。

在步骤S502中,去除样本集中除目标采样点之外的采样点,并利用仅包括目标采样点的样本集,利用最小二乘法重新获取水平面在预设三维坐标系中的空间位置。

去除样本集中除目标采样点之外的采样点,并且,利用样本集中剩下的目标采样点按照上述步骤S401至步骤S405,重新获取目标水域的水平面在预设三维坐标系中的空间位置。

在步骤S105中,根据水平面在预设三维坐标系中的空间位置,获得水平面在第一图像中的投影线,并将投影线确定为目标水域在第一图像中的水天线。

在获得水平面在预设三维坐标系中的空间位置之后,确定水平面在第一图像中的投影线,该投影线即为图像中的水平面与图像中的天空的界线,将这一界线确定为目标水域在第一图像中的水天线。

其中,根据水平面在预设三维坐标系中的空间位置,获得水平面在第一图像中的投影线的方法,如图6所示,可包括以下步骤。

在步骤S601中,获取第一相机的光心在预设三维坐标系中的空间位置,在本公开实施例中,预设三维坐标系为第一相机的光心坐标系,该光心坐标系的原点即为第一相机的光心。

在步骤S602中,利用第一相机的光心在预设三维坐标系中的空间位置,即第一相机的光心在光心坐标系中的空间位置,以及,水平面在预设三维坐标系中的空间位置,计算包含第一相机的光心且与水平面平行的光心平面在预设三维坐标系中的空间位置。

如图7所示,图中O为摄像机的光心,坐标系OXYZ为第一相机的光心坐标系,该第一相机的光心坐标系以第一相机的光心为原点,φ为水平面,φf为焦平面,光心平面OAB为过光心O并且与平面φ平行的平面。平面φ的水天线就是φ的无穷远处在焦平面上的投影,而相互平行的平面在焦平面上投影的投影线是同一直线,所以光心平面OAB与平面φ在图像上的投影线是一样的,光心平面OAB与平面φ在焦平面上的投影线就是平面φ在第一图像中的投影线,将该投影线确定为目标水域在第一图像中的水天线。

假设平面φ的方程为ax+by+cz+d=0,则过光心O的光心平面OAB的方程为ax+by+cz=0。

在步骤S603中,利用光心平面在预设三维坐标系中的空间位置,以及第一相机的光心在第一图像中投影的图像坐标,计算得到光心平面在第一图像中的投影线,将光心平面在第一图像中的投影线确定为水平面在第一图像中的投影线。

焦平面φf的方程为z=f,f为第一相机的焦距,因此,得到光心平面OAB在焦平面上的投影线直线AB的方程为:

ax+by+cf=0

第一相机的光心坐标系与第一相机的图像坐标系之间的转换公式为:

式中(u0,v0)为第一相机的光心在第一图像中的投影。从而可以得到直线AB在第一相机的图像坐标系中的投影方程为:

a(u-u0)+b(v-v0)+cF=0

其中,F为第一相机的焦距,dp为第一图像中一个像素点在第一相机的光心坐标系中的物理尺寸。

将光心平面OAB在第一图像中的投影线确定为水平面在第一图像中的投影线,进而得到水天线在第一相机的图像坐标系中的方程。采用本公开上述实施例中的方式,检测到的第一图像中的水天线如图8和图9所示。

由于在第一图像中检测水天线的方式同样适用于在第二图像中检测水天线,因此,在本公开实施例中不再赘述。

图10为本公开实施例提供的一种水天线检测装置的结构示意图,如图10所示,该装置包括:

图像获取单元11,用于分别获取间隔预设距离的第一相机和第二相机在同一时刻拍摄目标水域得到的图像,其中,第一相机拍摄的图像为第一图像;

视差值获取单元12,用于对第一图像和第二图像中的像素点进行立体匹配,得到第一图像中每一个像素点的视差值;

像素点坐标确定单元13,用于根据第一图像中每个像素点的图像坐标,以及,第一图像中每一个像素点的视差值,确定第一图像中每个像素点在预设三维坐标系中的三维坐标;

水平面确定单元14,用于利用第一图像中多个像素点在预设三维坐标系中的三维坐标,确定目标水域的水平面在预设三维坐标系中的空间位置;

水天线确定单元15,用于根据水平面在预设三维坐标系中的空间位置,获得水平面在第一图像中的投影线,并将投影线确定为目标水域在第一图像中的水天线。

在本公开的一个实施例中,前述实施例中的视差值获取单元12,包括:

对应像素点查找单元,用于针对第一图像中的每一个像素点,确定像素点所在的行,在第二图像的相同行中查找与像素点相似性最大的像素点,作为第二图像中与像素点相对应的对应像素点;

视差值计算单元,用于计算像素点在第一图像中的列数与对应像素点在第二图像中的列数之差,作为像素点的视差值。

在本公开的另一个实施例中,前述实施例中的装置还包括:

相机标定单元,用于在第一次获取第一相机和第二相机拍摄得到的图像之前,对第一相机和第二相机进行标定;

获取单元,用于根据标定结果分别获得第一相机的光心在第一图像中投影的图像坐标,以及,第一相机与第二相机之间的预设距离;

预设三维坐标系建立单元,用于利用第一相机的光心在第一图像中投影的图像坐标,以及,第一相机与第二相机之间的预设距离,建立第一相机的光心坐标系,并作为预设三维坐标系。

在本公开的另一个实施例中,前述实施例中的像素点坐标确定单元13,包括:

像素点坐标计算单元,用于针对第一图像中的每一个像素点,采用以下公式计算像素点在预设三维坐标系中的三维坐标:

其中,(u1,v1)为像素点在第一图像中的图像坐标,(u0,v0)是第一相机的光心在第一图像中投影的图像坐标,b为第一相机与第二相机之间的预设距离,f为第一相机的预设焦距,d为像素点相对于第二图像中对应像素点的视差值。

在本公开的另一个实施例中,前述实施例中的水平面确定单元14,包括:

样本集组成单元,用于在第一图像中选取多个像素点作为采样点,所有采样点组成一个样本集;

参考值数量监测单元,用于监测参考值的数量;

参考值数量比较单元,用于将参考值的数量与预设参考值数量进行比较;

目标平面计算单元,用于在参考值的数量小于预设参考值数量时,在样本集中随机选取预设采样点数量个采样点,并利用选取的预设采样点数量个采样点在预设三维坐标系中的三维坐标,计算包括预设采样点数量个采样点的目标平面在预设三维坐标系中的空间位置;

参考值获取单元,用于计算样本集中每一个采样点与目标平面之间的距离,并计算所有距离的中值,将中值作为一个参考值,并在参考值的数量上增加1,作为下一次监测得到的参考值的数量;

水平面确定子单元,用于当参考值的数量等于预设参考值数量时,在预设参考值数量个参考值中,选取数值最小的参考值,并将数值最小的参考值对应的目标平面在预设三维坐标系中的空间位置,作为水平面在预设三维坐标系中的空间位置。

在本公开的另一个实施例中,前述实施例中的装置还包括:

目标采样点查找单元,用于查找样本集中的目标采样点,目标采样点与水平面在预设三维坐标系中的空间位置之间的距离小于预设阈值;

水平面重新获取单元,用于去除样本集中除目标采样点之外的采样点,并利用仅包括目标采样点的样本集重新获取水平面在预设三维坐标系中的空间位置。

在本公开的另一个实施例中,前述实施例中的水天线确定单元15,包括:

光心位置获取单元,用于获取第一相机的光心在预设三维坐标系中的空间位置;

光心平面计算单元,用于利用第一相机的光心在预设三维坐标系中的空间位置,以及,水平面在预设三维坐标系中的空间位置,计算包含第一相机的光心且与水平面平行的光心平面在预设三维坐标系中的空间位置;

投影线获取单元,用于利用光心平面在预设三维坐标系中的空间位置,以及第一相机的光心在第一图像中投影的图像坐标,计算得到光心平面在第一图像中的投影线,将光心平面在第一图像中的投影线确定为水平面在第一图像中的投影线。

在本公开的另一个实施例中,前述实施例中的装置还包括:

降噪单元,用于在获取第一图像以及第二图像之后,对第一图像和第二图像进行降噪处理。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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