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

一种基于动态长基线的多目相机船舶高度测量方法

2022-12-31 15:46:47 来源:中国专利 TAG:


1.本发明涉及船舶高度的测量领域,特别是公开了一种基于动态长基线的多目相机船舶高度测量方法。


背景技术:

2.随着我国内陆航运事业的飞速发展,我国各个坝区的船舶通航量呈逐年递增的趋势,在航运事业飞速发展的同时,在通航船舶的河道上不断新修的桥梁也日益增多,但是,修建坝区船舶通航闸口并没有关于未来航运通航等多方面的考虑,因此导致现有一些大型船只在通过时,由于船舶高度超出坝区船舶通航闸口最高限度,往往会导致船舶与坝区船舶通航闸口发生碰撞,不仅严重危害船舶自身的航运安全,同时对周围人员以及船员造成难以估计的危险,其危害巨大。
3.但目前国内船舶测高技术的发展相对落后,现有比较成熟的船舶测高的技术中,大部分的研究是以基于激光的超高检测方案为主,但是该方法的核心是过高预警,而不是具体的船舶高度测量,同时,由于激光设备的安装维护费用昂贵,在航运周围环境相对潮湿的地方开展,也会加速设备的老化。应用效果并不理想。还有一种方法是通过利用双目相机进行立体视觉测高也是一种较为普遍的解决船舶测高问题的方法,它是一种利用相机代替人眼,通过相机参数标定得到近似于人眼的视差距离结合图像匹配算法在机器上得到真实世界坐标转换而来的平面二维成像坐标从而测得船舶的高度。但是该传统解决方案存在一定的缺陷性,首先,传统方案在通过提前标定相机自身的参数之后,相机的相对位置是不能够移动的,此时,测量双目相机标定自身参数时模拟的船舶到相机之间距离的船舶高度时会得到准确的高度数据,但是,采用一组固定的标定数据测量来向不同间距的船舶的高度信息,会导致已固定相对位置的双目相机自身的预标定参数不能实时调整适应相机与船舶之间的距离,导致测量船舶的高度数据发生偏差,且无法修正。


技术实现要素:

4.根据现有技术存在的问题,本发明公开了一种基于动态长基线的多目相机船舶高度测量方法,包括如下步骤:
5.s1:根据船舶在河道行驶中与闸口的偏离程度、将河道划分为三个等宽度区域;
6.s2:根据划分的等宽度区域的距离,将三台并排的相机中不同基线值下的两台相机组成双目拍摄系统,在三个等宽度区域内进行拍摄,获得三组不同的左视图图像和右视图图像;
7.s3:获取每个河道下双目拍摄系统预标定参数阈值范围和对应基线值下的船舶到拍摄系统之间的距离阈值范围;
8.s4:对目相机系统对航行船舶进行拍摄测量,将测量的距离数据与预标定距离阈值范围进行比较,从而动态调整拍摄系统的组合情况;
9.s5:在多目相机系统中动态调整不同基线距离下与该距离值相符合的两台相机组
合成的拍摄系统,对航行船舶进行拍摄获得图像数据,并进行图像数据的预处理;
10.s6:将双目拍摄系统得到的图像数据进行二值化处理,并进行像素点匹配,求取视差值和所有像素点视差图,结合景深与视场角的几何关系得到距离船舶高度。
11.进一步的,所述预标定参数阈值范围采用如下方式获取:将左视图图像和右视图图像由世界坐标系经刚体变换得到相机坐标系,再由相机坐标系转换为图像坐标系,最后经过二次转换得到二维平面中的像素坐标;将像素坐标系和图像坐标系之间的转换矩阵与相机坐标系之间的转换矩阵相乘获得双目相机拍摄系统的内参矩阵,世界坐标系到相机坐标系之间转换的矩阵为双目相机拍摄系统的外参矩阵,根据内外参数矩阵得到对应的双目相机拍摄系统的预标定参数阈值范围。
12.进一步的,在对拍摄系统的组合情况进行动态调整时:当过往船舶经过时,最先拍摄到船舶的相机与邻近相机组成的双目相机拍摄系统首先拍摄并进行测量,将拍摄到的数据与预标定参数进行对比,如果所测得船舶数据不在该预标定参数阈值范围内时,则多目相机系统自动切换不同基线值下的双目相机拍摄系统进行拍摄测量,如果测量数据符合预标定参数阈值范围,则对左视图图像和右视图图像进行极线约束和算法处理,从而对左右相机拍摄的图像数据进行校正获得矫正图像。
13.进一步的,对矫正图像上的每一行像素点进行对应点像素匹配,计算对应点在左右两个图像上形成的视差值,该视差值为像素点在右相机图像上的匹配点的列坐标减去该对应点在左相机图像上匹配点的列坐标,对所有像素点均求取视差值,最终得到所有像素点组成的视差图,并对视差图进行优化。
14.进一步的,将双目拍摄系统中每组相机拍摄的每一帧船舶图像进行灰度二值化处理并与相机拍摄的前一帧图像进行对比,得到移动中的船舶轮廓区域,遍历移动区域最高点,得到最高点坐标数据。
15.进一步的,根据景深与视场角以及空间的几何关系,先求解双目相机与船舶的水平距离,根据平面二维像素坐标系逆推回三维世界坐标系坐标,进行二维图像数据到三维现实图像数据的转换,最终求得船舶实际高度,基于三角测距原理计算船舶到相机的距离,得到水平距离坐标,将视差图、预标定参数阈值范围以及船舶轮廓区域的二维像素点坐标相结合,将图像中的二维点坐标重投影为三维真实世界坐标,将最高点坐标数据带入重投影真实世界坐标中,求得船舶实际高度和距离值。
16.由于采用了上述技术方案,本发明提供的一种基于动态长基线的多目相机船舶高度测量方法,该方法通过利用多目相机系统根据对于河道的距离划分,进行河道的全域覆盖,并对均等划分的三个河道区域,多目相机系统的三台相机分别来两两组合,选取合适的基线值组成的双目拍摄系统进行拍摄获取预标定参数阈值范围,为后续船舶通航测量提供标准测量依据,当船舶经过时,最先被并排的三台相机中的其中一台所捕获的相机和其邻近相机组成双目拍摄系统进行数据测量,若该基线值下测量的距离数据不符合预先获取的预标定参数阈值范围,则自动切换不同基线值的双目拍摄系统从新进行拍摄测量,重复该步骤,直至获取合适的基线值组成的双目拍摄系统,此时拍摄系统进行图像数据获取,经后续算法处理,在电脑终端显示船舶实际高度距离值。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是河道距离划分原理框图。
19.图2是双目摄像头标定时世界坐标系和相机坐标系转换图。
20.图3是双目摄像头标定时像素坐标系和图像坐标系转换图。
21.图4是双目摄像头标定时相机坐标系到图像坐标系转换图。
22.图5是多目相机测船舶高度流程图。
23.图6是双目相机标定时世界坐标系坐标系到相机坐标系的三个空间分量转换关系图。
24.图7双目相机成像原理视差图。
25.图8相机坐标系中三维坐标与在图像坐标系中成像关系图。
26.图9是多目相机安装、测量示意图。
27.图10是双目摄像头标定时旋转矩阵原理图。
具体实施方式
28.为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
29.如图1所示的一种基于动态长基线的多目相机船舶高度测量方法,具体包括如下步骤:
30.s1:根据船舶在河道行驶中与闸口的偏离程度、将河道划分为三个等宽度区域;
31.s11:参照船舶自远处驶向或驶离坝区闸口时距离闸口的偏离程度,将河道整体划分为三个等宽河距区域。
32.s12:根据划分得到的不同河道区域与双目相机拍摄点两者之间的距离,分别在这三个划分区域距离测量点的最远距离位置,中间距离位置以及最近距离位置分别进行拍摄测量。
33.s2:根据划分的等宽度区域的距离,将三台并排的相机中不同基线值下的两台相机组成双目拍摄系统,在三个等宽度区域内进行拍摄,获得三组不同的左视图图像和右视图图像。
34.s3:获取每个河道下双目拍摄系统预标定参数阈值范围和对应基线值下的船舶到拍摄系统之间的距离阈值范围。
35.s31:依据三个等宽度河道区域所划分的距离测量点的最远、中间和最近的距离,多目相机系统中任意两台相机分别两两组合,分别进行拍摄多组左右相机图像数据。
36.s32:对拍摄的三组图像数据进行坐标转换,经世界坐标系((xw,yw,zw)由刚体变换得到相机坐标系(xc,yc,zc),
[0037][0038]
再由相机坐标系转换到图像坐标系(x,y),
[0039][0040]
最后图像坐标系经过二次转换得到在二维平面中的像素坐标数据(u,v)
[0041][0042]
用矩阵形式表示为:
[0043][0044]
s33:由像素坐标系和图像坐标系之间的转换矩阵与相机坐标系之间的转换矩阵相乘得到的矩阵即为双目相机拍摄系统的内参矩阵,
[0045][0046]
世界坐标系到相机坐标系之间转换的矩阵即为双目相机拍摄系统的外参矩阵,也就是两坐标系转换所需要的旋转和平移矩阵,旋转矩阵如下:
[0047][0048]
因其受x,y,z三个方向上的分量共同控制,所以具有三个自由度且我们分别
[0049]
将其绕x轴,y轴,z轴旋转得到其各自的分部的旋转矩阵r1,r2,r3[0050]
绕x轴旋转得r1:
[0051]
绕y轴旋转得r2:
[0052]
绕z轴旋转得r3:
[0053]
平移矩阵t为
[0054][0055]
所以可得旋转矩阵r=r1r2r3,为3*3矩阵,平移矩阵t为3*1矩阵。因此相机标定后的外参矩阵为:
[0056][0057]
三维场景中某物点p在世界坐标系下的坐标(xw,yw,zw)与其在相机成像平面上的投影点pu的坐标(u,v)之间的关系如下:
[0058][0059]
其中m是投影矩阵,f为摄像机的焦距,f
x
为摄像机在x方向的焦距,fy为摄像机在y方向上的焦距,(u0,v0)为摄像机的主点,m1完全由f
x
,fy,u0,v0决定,称为摄像机的内部参数;m2由旋转矩阵和平移向量t决定,称为摄像机的外部参数,xw为空间点在世界坐标系下的齐次坐标。由此得到对应的双目相机拍摄系统的预标定参数阈值范围。
[0060]
s34:三个距离测量点不同的河道所对应的双目拍摄系统的基线距离不同,对不同距离远的河道,求取对应基线值下的双目拍摄系统到被拍摄船舶的预标定距离阈值范围。
[0061]
s35:对三个河道的最远、最近和中间三个临界距离点进行标定,得到三组预标定参数阈值范围。
[0062]
s36:对三组预标定参数阈值范围、距离阈值范围和对应基线值一一对应,作为以后测量判断依据。
[0063]
采用双目拍摄系统对航行船舶进行距离测量,将测量的距离数据与预标定参数阈值范围进行比较,从而动态调整拍摄系统的组合情况;
[0064]
s41船舶经过,多目相机首先根据船舶驶向或驶离闸口的行驶方向中最先拍摄到船舶的相机与邻近相机组成的双目相机拍摄系统首先拍摄进行测量
[0065]
s42该基线距离下拍摄系统拍摄测量的船舶距离数据同该基线距离下所预先测得的船舶距离阈值范围进行对比,若所测得船舶数据小于或者超出该阈值范围,则说明此基
线下的双目系统不能准确测量该船舶高度信息,多目相机系统自动切换不同基线值下的两台相机组成双目相机拍摄系统进行拍摄测量,重复进行分析,直至获得准确相机拍摄组合。
[0066]
s5:在多目相机系统中动态调整不同基线距离下与该距离值相符合的两台相机组合成的拍摄系统,对航行船舶进行拍摄获得图像数据,并进行图像数据的预处理。
[0067]
s51:如果测量数据符合预标定距离阈值范围,该基线值下的双目拍摄系统进行左视图图像和右视图图像的数据获取,
[0068]
s52:对获取的左右视图图像数据进行极线约束,从成像图左上角第一个点开始从左至右,从上到下依次进行遍历,使左右两幅图像位于同一平面且相互平行,完成校正,实现左右成像。
[0069]
s6:将双目拍摄系统得到的图像数据进行二值化处理,并进行像素点匹配,求取视差值和所有像素点视差图,结合景深与视场角的几何关系得到距离船舶高度。
[0070]
s61:对于左右成像上的每一行像素点进行对应目标点的像素匹配,两个相机的投影中心的连线的距离为b,三维空间任意一点p在左相机的成像点为p
l
,在右相机的成像点为pr,根据光的直线传播的原理,三维空间点p就是两个相机的投影中心点与成像点连线的交点。线段p
l
和pr分别是左右相机成像点到左成像面的距离,则点p在左右相机的视差可以定义如下
[0071]
d=|x
l-xr|
[0072]
由此计算对应点在左右两个图像上形成的视差值,
[0073]
s62:通过对每一个像点都进行视差计算,因而可以得到以原图一样大小的视差图,也间接代表了图像的匹配关系,最后对得到的视差图进行优化,就得到处理之后的视差数据
[0074]
s63:将当前每一帧图像与事先存储或实时获取的背景图像相减,当差值超过设定阈值的区域视为运动目标区域,利用这种背景差分算法实现对运动船舶对象的目标检测,划分出运动目标的区域,接着将相机摄入的每一帧图像转换为二值图,运动的船舶目标灰度为1,图像成像显示为白色,静止的背景区域灰度值为0,图像显示为黑色,对二值化的图像依次遍历图像中的每个像素点,将第一个像素值为1的点看作是船舶成像的最高点的像素点
[0075]
s64:视差图结合预标定参数阈值和船舶轮廓区域的二维像素点坐标,平面二维像素坐标系逆推回三维世界坐标系坐标,实现二维图像数据到三维现实图像数据的转换
[0076]
s65:根据景深与视场角以及空间的几何关系,基于三角测距原理两个成像点p
l
和pr之间的距离为:
[0077][0078]
根据相似三角形理论可以得出:
[0079][0080]
则可以得到点p到投影中心平面的距离z
[0081]
[0082]
当点p在三维空间上移动时,点p在左右相机上的成像位置也会改变,从而视差也会发生相应变化,由上式可知,视差与三维空间上的点到投影中心平面的距离成反比。因而,只要知道某点的视差,就可以知道该点的深度信息。根据相似三角形原理,有以下关系:
[0083][0084]
获取三维空间上任意一点的在不同图像上的视差,再根据相机拍摄系统的预标定参数阈值范围,就可以知道该点的三维坐标。实现二维像素点坐标求得真实世界坐标中的深度坐标z以及高度坐标y。也就得到了船舶距离以及高度信息。
[0085]
实施例:
[0086]
该方法具体实施过程中包括如下方式:
[0087]
在河道的一侧利用三台型号完全相同的相机,安置在支架上,按照光轴互相平行,分别确定三台相机的焦距,三台相机中符合我们预先划分的三条河道距离由近到远且分别对应的其中的两台相机所构成的双目系统之间的基线距离d1,d2,d3(即基线长度),并且任意两台相机所组成的双目系统的视场范围重叠,相机距离地面的垂直高度h。确保经过船舶能够被双目相机完全拍摄在内,使之能够完成成像,同时在河道没有船舶经过的时候,在河道一侧与水面交接处安装水位测量仪实时检测水位升降情况,并得到相应的分析数据。同时分别建立图像坐标系,世界坐标系,像素坐标系及相机坐标系,通过相机标定,计算出每个摄像机的内外参数,如图4所示,相机坐标系与图像坐标系的关系如下三角形daoc相似于oicoc,,三角形baoc相似于pcoc,再根据相似三角形的对应关系可以知道:
[0088][0089]
从而推导出
[0090][0091][0092][0093]
写成矩阵的形式,我们就得到了相机坐标系与图像坐标系之间的对应关系:
[0094]
转换求得:
[0095][0096]
如图3所示,假设图像中心像素坐标是(u0,v0),相机中感光器件每个像素的物理尺寸是dx*dy,那么,图像坐标系的坐标(x,y)与像素坐标系的坐标(u,v)之间的关系可以表示为:
[0097][0098]
写成矩阵的形式为:
[0099][0100]
改写为齐次坐标的形式为:
[0101][0102]
用另一种矩阵形式表示为:
[0103][0104]
综上,将上述两个矩阵相乘就得到相机的内参矩阵:
[0105][0106]
因为世界坐标系和相机坐标系都是右手坐标系,所以其不会发生形变,如图10所示。求解相机的外参矩阵,需要求解两坐标系转换所需要的旋转矩阵和平移矩阵,对于旋转矩阵的求解如下所示
[0107][0108]
矩阵表示为:
[0109][0110]
因其受x,y,z三个方向上的分量共同控制,所以具有三个自由度且我们分别将其绕x轴,y轴,z轴旋转得到其各自的分部的旋转矩阵r1,r2,r3如图6中的a,b,c所示分别为:
[0111]
绕x轴旋转得r1:
[0112]
绕y轴旋转得r2:
[0113]
绕z轴旋转得r3:
[0114]
且平移矩阵
[0115]
所以可得旋转矩阵r=r1r2r3,为3*3矩阵,平移矩阵t为3*1矩阵。
[0116]
因此,相机标定后的外参矩阵为:此时结合上面的式子,我们可以得到三维场景中某物点p在世界坐标系下的坐标(xw,yw,zw)与其在摄像机成像平面上的投影点pu的坐标(u,v)之间的关系如下:
[0117][0118]
其中m是投影矩阵,f为摄像机的焦距,f
x
为摄像机在x方向的焦距,fy为摄像机在y方向上的焦距,(u0,v0)为摄像机的主点,m1完全由f
x
,fy,u0,v0决定,称为摄像机的内部参数;m2由旋转矩阵和平移向量t决定,称为摄像机的外部参数,xw为空间点在世界坐标系下的齐次坐标。在完成相机标定之后,通过多目相机中其中两台相机对船舶进行进行拍摄抓取,
实现对船舶信息的采集,要实现船舶信息的采集应该启动位于支架上的多目相机中哪两台已预标定相机参数的双目系统启动,需要我们提前通过将船舶的距离大致划分为三个区间阈值,如图1所示根据此三等宽距分别确定支架上多目相机中任意的两台相机以及它们的基线距离所构成的该双目系统对应该距离下的相机标定的准确参数以及通过该准确参数得到的测量准确的船舶距离信息的一个阈值范围,重复上面的步骤分别测量多次,即在该三档宽距下的最远距离,中间距离以及最近距离的临界值位置通过对应的多目相机中符合要求的不同基线下的两台相机所构成的双目系统进行参数标定,此时就得到了预先划定的三档距离都满足的相机标定准确参数以及分别对应该三档宽距下最远距离下的相机标定参数,由此测得该基线下船舶距离的阈值范围,后续根据此阈值范围来判断该基线下的双目系统能否准确测量船舶高度数据,此时,当河道中来向船舶经过测高点驶向或驶离闸口时,多目相机系统启动,并通过某一侧的双目相机系统的测量结果与该双目系统的基线下预先测得的船舶距离阈值范围进行对比判断是否能够在该基线距离下测得准确的船舶数据,如果测量结果小于或者超出该阈值范围,则说明该基线距离下的双目系统无法准确测量该船舶高度数据,因此,多目相机系统会自动切换不同基线下的相机再次构成双目系统,即启动另外一组基线下的双目相机系统进行测量,以此类推,最终得到准确的船舶高度数据以实现动态长基线测量船舶高度的目的。
[0119]
构建船舶高度计算模块
[0120]
通过测量模块我们得到船舶的基本轮廓信息,获取到轮廓及轮廓内部二维图像像素点坐标,同时通过对双目相机预处理得到的左右船舶成像进行极线约束,使左右两幅图像位于同一平面且相互平行,具体而言是,从成像图左上角第一个点开始从左至右,从上到下依次进行遍历,实现左右船舶成像的校正。同时,对于左右成像上的每一行像点进行对应目标点的像素匹配,最后计算目标点在左右两个图像上形成的视差。通过得到的该基线距离下的双目相机所成像的视差就可以通过半全局立体匹配算法,利用代价匹配计算待匹配点与后匹配点之间的相似度的衡量,两个点之间的相似度越高,为对应的匹配点的概率越大,同时为了解决代价匹配中计算范围局限于局部窗口的问题,采用全局能量最优策略,通过设置全局能量函数,通过对其进行不断优化,使该函数主见取到最小值,从而保证每个像点是最优匹配,最后,对于视差的计算,对于每个像点来说,其代表的最优视差为最小代价聚合值,通过对每一个像点都进行时差计算,因而可以得到以原图一样大小的视差图,也间接代表了图像的匹配关系,最后对得到的视差图进行优化,就得到处理之后的视差数据,从而使计算机能够感知三维世界,这样就达到我们通过二维像素点坐标求得真实世界坐标中的深度以及高度坐标。如图7所示两个相机的投影中心的连线的距离为b,三维空间任意一点p在左相机的成像点为p
l
,在右相机的成像点为pr。根据光的直线传播的原理可知,三维空间点p就是两个相机的投影中心点与成像点连线的交点。线段p
l
和pr分别是左右相机成像点到左成像面的距离,则点p在左右相机的视差可以定义如下:
[0121]
d=|x
l-xr|
[0122]
两个成像点pl和pr之间的距离为:
[0123][0124]
根据相似三角形理论可以得出:
[0125][0126]
则可以得到点p到投影中心平面的距离z
[0127][0128]
当点p在三维空间上移动时,点p在左右相机上的成像位置也会改变,从而视差也会发生相应变化,由上式可知,视差与三维空间上的点到投影中心平面的距离成反比。因而,只要知道某点的视差,就可以知道该点的深度信息。三维空间点p在相机的成像图由图8可以看出,根据相似三角形原理,有以下关系:
[0129][0130]
因此,当已知三维空间上任意一点的在不同图像上的视差,再根据相机的参数,就可以知道该点的三维坐标。而使计算机能够感知三维世界,这样就达到我们通过二维像素点坐标求得真实世界坐标中的深度坐标z以及高度坐标y。也就得到了船舶距离以及高度信息。该方法克服传统双目相机拍摄系统获得固定距离的预标定参数阈值范围之后,测量不同间距的船舶高度数据时不够灵活,超出或小于该固定间距范围的船舶的测量数据不够准确,船舶的高度数据发生偏差,且无法修正。本方法利用多目相机系统即三台相机组成拍摄系统,对河道进行全覆盖测量,并依据多目相机系统中不同基线值组合的双目拍摄系统对不同间距值的船舶进行准确测量,不会出现拍摄数据出现较大偏差不符合实际的问题出现。同时,该测量方法全程自动运行,由算法驱动计算测量,节省人工成本且不会因为人为自身因素导致测量数据出现偏差,不受环境等因素的影响,在船舶通航过程中,能够及时起到高效的预警效果,能够切实保护人民生命安全以及通航安全。
[0131]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
再多了解一些

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

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

相关文献