一种基于水下斯涅尔窗口边缘辨识的水平姿态确定方法与流程

文档序号:24073452发布日期:2021-02-26 16:16阅读:87来源:国知局
一种基于水下斯涅尔窗口边缘辨识的水平姿态确定方法与流程

[0001]
本发明涉及一种基于水下斯涅尔窗口边缘辨识的水平姿态确定方法,该方法利用水下对天空的成像,通过改进的霍夫变换提取图像中斯涅尔窗口中心来获取载体水平姿态,属水下光学导航领域。


背景技术:

[0002]
海洋蕴藏着丰富的生物资源、矿产能源和空间资源,具有巨大的开发潜力,因此各国都将海洋作为发展战略中的重要部分。水下无人潜航器在海洋的开发中起到了不可替代的作用。在民用上可用于海底地形地貌探测、海洋工程建设、海洋监测、海洋救险与打捞等,在国防上又可应用于水下监视、侦察、猎雷、反潜警戒、通信中继等军事任务,同时其造价低廉、生存率高、可避免人员伤亡,具有极大的发展前景。水下无人潜航器的自主导航技术是制约自主无人潜航器的一大瓶颈问题。自主导航系统作为无人潜器的“耳目”,保证了潜器水下任务的顺利执行和安全返回,是水下无人系统中的关键技术。
[0003]
目前的水下导航方式中水下声学定位和卫星导航应用较为广泛,如中国专利cn201410073287.0、中国专利cn 201510944118.4及中国专利cn 201610351400.6中利用了水下声学定位系统;中国专利cn 201010559044.x、中国专利cn 201210332022.9、中国专利cn 201810046278.0及中国专利cn 201410032817.7中利用了卫星导航方式。但此两种导航方式非自主式导航,其中水下声学定位需要预置水下应答器,在远海陌生环境中无法适用;而卫星导航方式只能在水下潜航器上浮至水面才可接收卫星信号,影响了潜航器作业的连续性,尤其是在军事应用中,两种导航方式严重影响了潜航器的隐蔽性。中国专利cn 109443379 a及中国专利cn 109141475a中将惯导与多普勒里程仪进行组合来确定载体初始姿态,然而多普勒里程仪对潜器与海床的距离有一定的要求,且其输出速度信息质量受海水温度、盐度等影响较大,因此应用场景与性能受到了一定的限制。


技术实现要素:

[0004]
本发明技术解决问题:克服现有技术的不足,提供一种基于水下斯涅尔窗口边缘辨识的水平姿态确定方法,能够实现水下环境中无累积误差的水平姿态角全自主确定。
[0005]
本发明通过对外界光学信息的获取来为载体自主提供俯仰角与横滚角。斯涅尔窗口是水下对空成像时由于折射作用在水-空交界面形成的高亮圆形区域。在成像系统中此圆形圆心的观测矢量垂直于水面向上,即导航坐标系下的天向。又由于斯涅尔窗口内部光线是天空光经折射形成,相对于外部具有更高的亮度,因此在在平静水面条件下对空成像中的斯涅尔窗口具有较为明显的边缘,便于利用图像处理方法提取窗口边缘进而得到斯涅尔窗口圆心。综合上述两点,本发明提出通过提取对空成像中斯涅尔窗口圆心解算载体水平姿态的方法。
[0006]
图像中的圆形检测通常是利用霍夫圆变换,然而由于成像系统中的镜头存在畸变,当水下载体倾斜放置时,图像中的斯涅尔窗口并不是规则圆形,因此常规的霍夫圆变换
将不再适用。针对这一问题,本发明在霍夫圆变换的基础上进行了改进,加入了相机镜头模型,使得相机镜头畸变下的斯涅尔窗口及圆心可以被准确提取出来。
[0007]
本发明解决上述技术问题采用的技术方案为:一种基于水下斯涅尔窗口边缘辨识的水平姿态确定方法,其实现步骤如下:
[0008]
步骤(1)、对获取的图像进行噪声滤波和二值化处理,根据图像中光强信息得到边缘图像,提取边缘图像中非零点像素p在像素坐标系中的坐标[m,n]。其中任意一点非零像素表示为p
i
,其坐标为[m
i
,n
i
],其中i=1,2,

,s,s为非零像素点的个数;
[0009]
步骤(2)、计算的夹角半径r取值集合,其中r是斯涅尔窗口视角半径可能的取值,并建立三维霍夫空间h(m,n,r),将此空间内所有元素置零;
[0010]
步骤(3)、利用步骤(1)中二值化处理的边缘图像,将其中每一个非零像素p
i
通过相机镜头模型θ反演出其对应的世界坐标系即w系下的观测矢量,并以此观测矢量为z轴建立像元局部坐标系即l
i
系,解算此非零像素p
i
对应的l
i
系与w系之间的坐标转换矩阵
[0011]
步骤(4)、以一个非零像素p
i
的观测矢量为轴,利用步骤(2)计算的夹角半径r、冗余半径δα及半径步进δ来确定圆锥集,将圆锥集的所有母线向量g
i
还原至像素坐标系上,在每一个母线向量g
iq
相对应的像素坐标的三维霍夫空间h(m,n,r)内进行投票,其中得到以非零像素点p
i
为圆心的三维霍夫空间;
[0012]
步骤(5)、将所有的非零像素进行步骤(3)及步骤(4)的操作,三维霍夫空间h(m,n,r)中得票数最高的像素点为斯涅尔窗口圆心,解算由此圆心像素坐标在世界坐标系下的观测矢量,反演水平姿态。
[0013]
进一步地,所述步骤(2)计算的夹角半径r取值集合,其中r是斯涅尔窗口视角半径可能的取值,并建立三维霍夫空间h(m,n,r),将此空间内所有元素置零,具体实现如下:
[0014]
根据斯涅尔折射定律与镜头模型确定窗口边缘与中心之间的角度,将此作为霍夫圆变换中的夹角半径,并确定夹角半径冗余范围与半径步进;大气、水体的折射率分别为n
a
和n
w
,则斯涅尔窗口边缘与中心之间的角度α满足:
[0015][0016]
考虑到实际应用中相机及介质折射率等误差,斯涅尔窗口成像大小并不能严格符合上式理论模型,因此根据实际水体环境与镜头模型设置冗余半径δα,则夹角半径r取值范围为[α-δα,α+δα]。再设置夹角半径步进为δ,夹角半径r取值集合为:
[0017]
r∈{α-δα,α-δα+δ,α-δα+2δ,

,α-δα+kδ}(α-δα+kδ≤α+δα,k∈n+)
[0018]
进而建立三维霍夫空间h(m,n,r),其中(m,n)为像素坐标,三维霍夫空间初值均设为0。
[0019]
进一步地,所述步骤(3)利用步骤(1)中二值化处理的边缘图像,将其中每一个非零像素p
i
通过相机镜头模型θ反演出其对应的世界坐标系即w系下的观测矢量,并以此观测矢量为z轴建立像元局部坐标系即l
i
系,解算此非零像素p
i
对应的l
i
系与w系之间的坐标转换矩阵具体实现如下:
[0020]
在像素坐标系中,任意一点非零像素p
i
的坐标为[m
i
,n
i
],通过相机镜头标定,能够
标定出相机镜头模型θ(p),则像素点p
i
对应的w系下的入射光线传播矢量κ
i
表达为:
[0021]
κ
i
=θ(p
i
)
ꢀꢀ
(16)
[0022]
κ
i
为单位向量,该方向上的观测矢量v
i
在w系表示为令则有:
[0023]
[a
i b
i c
i
]
t
=-θ(p
i
)
ꢀꢀ
(17)
[0024]
以v
i
为z轴建立像元局部坐标系,即l
i
系,定义w系与l
i
系之间转换过程中,绕x轴与y轴的旋转角度分别为ω
xi
,绕z轴的旋转角度为0,得到l
i
系向w系的坐标转换矩阵为:
[0025][0026]
由于观测矢量v
i
在l
i
系下表示为因此得:
[0027][0028]
结合式(17),ω
xi
与ω
yi
的三角函数形式能够表示如下:
[0029][0030]
由此能够得到,以图像上任意一个非零像素点p
i
对应的观测向量v
i
为z轴的像元局部坐标系l
i
存在一个与相机的世界坐标系的坐标转换矩阵为:
[0031][0032]
进一步地,所述步骤(4)以一个非零像素p
i
的观测矢量为轴,利用步骤(2)计算的夹角半径r、冗余半径δα及半径步进δ来确定圆锥集,将圆锥集的所有母线向量g
i
还原至像素坐标系上,在每一个母线向量g
iq
相对应的像素坐标的三维霍夫空间h(m,n,r)内进行投票,其中得到以非零像素点p
i
为圆心的三维霍夫空间,具体实现如下:
[0033]
建立以任意非零像素点p
i
对应的观测向量v
i
为轴,以夹角半径r为圆锥角半角的圆锥,圆周步进为τ,该圆锥的其中一条母线向量g
iq
在l
i
系下表示为:
[0034][0035]
其中则母线向量g
iq
在w系下能够由下式计算:
[0036][0037]
随后利用相机镜头模型,计算出方向上入射光线在图像上的成像像素坐标:
[0038]
[m
iq
,n
iq
]=round(θ-1
(-g
iw
))
ꢀꢀ
(24)
[0039]
其中round()表示对()所有元素四舍五入取整,此时在对应的三维霍夫空间h(m,n,r)中点(m
iq
,n
iq
,r)处投票一次,即该点值累加1,遍历q及r,获得以非零像素点p
i
为圆心的三维霍夫空间。
[0040]
进一步地,所述步骤(5)将所有的非零像素进行步骤(3)及步骤(4)的操作,三维霍夫空间h(m,n,r)中得票数最高的像素点为斯涅尔窗口圆心,解算由此圆心像素坐标在世界坐标系下的观测矢量,反演水平姿态,具体实现如下:
[0041]
将二值化边缘图像中所有非零像素点进行步骤(3)及步骤(4)操作,均在同一三维霍夫空间h(m,n,r)中投票累加,从三维霍夫空间h(m,n,r)中选取最大值对应的点(m0,n0,r0),即(m0,n0,r0)=argmaxh(m,n,r),则[m0,n0]为斯涅尔窗口中心在像素坐标系中的坐标,r0为斯涅尔窗口夹角半径,即斯涅尔边缘与窗口中心的实际夹角;
[0042]
斯涅尔窗口中心像素对应的w系的观测矢量ζ
w
由相机镜头模型计算得到:
[0043]
ζ
w
=θ([m0,n0])
ꢀꢀ
(25)
[0044]
设载体的水平姿态是由横滚角γ与俯仰角θ来确定的,在不考虑航向角的情况下,载体坐标系即b系,导航坐标系即n系与的坐标转换矩阵为:
[0045][0046]
由于相机的世界坐标系即w系与载体坐标系即b系完全重合,因此ζ
w
=ζ
b
,又由于斯涅尔窗口中心在n系下为竖直向上,则ζ
n
=[0 0 1]
t
,根据坐标转换关系有:
[0047][0048]
由上式解算得到:ζ
w
=[-cosθsinγ sinθ cosθcosγ]
t
,由此能够计算得载体俯仰角θ与横滚角γ分别为:
[0049][0050]
其中,ζ
w
(*)表示向量ζ
w
中第*个元素。如此,即得确定水平姿态。
[0051]
与现有的技术相比,本发明具有以下的优点:现有的水下载体姿态确定多基于惯导与或其与其他导航方式的组合方式,具有误差累积或非自主等不足。本发明提出和基于斯涅尔窗口的水平姿态确定方法是一种通过对自然界中光学信息的解算空间信息的方法,可全自主实时获取载体水平姿态绝对信息,不存在误差积累,为水下自主导航提出了一种新的思路。
附图说明
[0052]
图1为本发明一种基于水下斯涅尔窗口边缘辨识的水平姿态确定方法的流程图;
[0053]
图2为斯涅尔窗口示意图;
[0054]
图3为本发明涉及到的各坐标系空间转换关系示意图。
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0056]
如图1所示,本发明的一种基于水下斯涅尔窗口边缘辨识的水平姿态确定方法具体实现步骤为:
[0057]
步骤1、对获取的图像进行噪声滤波和二值化处理,根据图像中光强信息得到边缘图像,提取边缘图像中非零点像素p在像素坐标系中的坐标[m,n]。其中任意一点非零像素表示为p
i
,其坐标为[m
i
,n
i
],其中i=1,2,

,s,s为非零像素点的个数。
[0058]
步骤2、计算的夹角半径r取值集合,其中r是斯涅尔窗口视角半径可能的取值,并建立三维霍夫空间h(m,n,r),将此空间内所有元素置零。其中夹角半径r的初始化如下:
[0059]
如图2所示,大气中全天域视角内近似为一个天球,天球内图像在水面折射作用下被压缩到以水下观测者为顶点的倒圆锥形视角内,圆锥的底是水面上的圆形区域。水下观测者对空观测图像中,该圆形区域相对于圆形以外具有更高的亮度。根据斯涅尔折射定律与镜头模型确定窗口边缘与中心之间的角度,将此作为霍夫圆变换中的夹角半径,并确定夹角半径冗余范围与半径步进。大气、水体的折射率分别为n
a
和n
w
,则斯涅尔窗口边缘与中心之间的角度α满足:
[0060][0061]
考虑到实际应用中相机及介质折射率等误差,斯涅尔窗口成像大小并不能严格符合上式理论模型,因此根据实际水体环境与镜头模型设置冗余半径δα,则夹角半径r取值范围为[α-δα,α+δα]。再设置夹角半径步进为δ,夹角半径r取值集合为:
[0062]
r∈{α-δα,α-δα+δ,α-δα+2δ,

,α-δα+kδ}(α-δα+kδ≤α+δα,k∈n+)
[0063]
进而建立三维霍夫空间h(m,n,r),其中(m,n)为像素坐标,三维霍夫空间初值均设为0。
[0064]
步骤3、利用步骤(1)中二值化处理的边缘图像,将其中每一个非零像素p
i
通过相机镜头模型θ反演出其对应的世界坐标系即w系下的观测矢量,并以此观测矢量为z轴建立像元局部坐标系即l
i
系,解算此非零像素p
i
对应的l
i
系与w系之间的坐标转换矩阵具体实现如下:
[0065]
如图3所示,在像素坐标系中,非零像素点p
i
的坐标为[m
i
,n
i
]。通过相机镜头标定,可以标定出相机镜头模型θ(p)。则像素点p
i
对应的w系下的入射光线传播矢量κ
i
可以表达为:
[0066]
κ
i
=θ(p
i
)
ꢀꢀ
(30)
[0067]
κ
i
为单位向量,该方向上的观测矢量v
i
在w系表示为令则有:
[0068]
[a
i b
i c
i
]
t
=-θ(p
i
)
ꢀꢀ
(31)
[0069]
以v
i
为z轴建立像元局部坐标系,即l
i
系,定义w系与l
i
系之间转换过程中,绕x轴与y轴的旋转角度分别为ω
xi
,绕z轴的旋转角度为0,那么w系与该像素对应的l
i
系之间的坐标转换矩阵可用3-1-2欧拉角表示为:
[0070][0071]
那么能够得到l
i
系向w系的坐标转换矩阵为:
[0072][0073]
由于观测矢量v
i
在l
i
系下表示为因此得:
[0074][0075]
结合式(31),ω
xi
与ω
yi
的三角函数形式能够表示如下:
[0076][0077]
由此能够得到,以图像上任意一个非零像素点p
i
对应的观测向量v
i
为z轴的像元局
部坐标系l
i
存在一个与相机的世界坐标系的坐标转换矩阵为:
[0078][0079]
步骤4、以一个非零像素p
i
的观测矢量为轴,利用步骤(2)计算的夹角半径r、冗余半径δα及半径步进δ来确定圆锥集,将圆锥集的所有母线向量g
i
还原至像素坐标系上,在每一个母线向量g
iq
相对应的像素坐标的三维霍夫空间h(m,n,r)内进行投票,其中得到以非零像素点p
i
为圆心的三维霍夫空间,具体实现如下:
[0080]
建立以非零像素点p
i
对应的观测向量v
i
为轴,以夹角半径r为圆锥角半角的圆锥。圆周步进为τ。该圆锥的其中一条母线向量g
iq
在l
i
系下表示为:
[0081][0082]
其中则母线向量g
iq
在w系下能够由下式计算:
[0083][0084]
随后利用相机镜头模型,计算出方向上入射光线在图像上的成像像素坐标:
[0085]
[m
iq
,n
iq
]=round(θ-1
(-g
iw
))
ꢀꢀ
(39)
[0086]
其中round()表示对()所有元素四舍五入取整。此时在对应的三维霍夫空间h(m,n,r)中点(m
iq
,n
iq
,r)处投票一次,即该点值累加1。遍历q及r,获得以非零像素点p
i
为圆心的三维霍夫空间。
[0087]
步骤5、将所有的非零像素进行步骤3及步骤4的操作,三维霍夫空间h(m,n,r)中得票数最高的像素点为斯涅尔窗口圆心,解算由此圆心像素坐标在世界坐标系下的观测矢量,反演水平姿态。具体实现如下:
[0088]
将二值化边缘图像中所有非零像素点进行步骤3及步骤4操作,均在同一三维霍夫空间h(m,n,r)中投票累加。那么以斯涅尔窗口边缘非零像素点为圆心的圆将在斯涅尔窗口中心相交,即斯涅尔窗口中心坐标在三维霍夫空间得票最多。因此从三维霍夫空间h(m,n,r)中选取最大值对应的点(m0,n0,r0),即(m0,n0,r0)=argmaxh(m,n,r)。那么[m0,n0]为斯涅尔窗口中心在像素坐标系中的坐标,r0为斯涅尔窗口夹角半径,即斯涅尔边缘与窗口中心
的实际夹角。
[0089]
斯涅尔窗口中心像素对应的w系的观测矢量ζ
w
可由相机镜头模型计算得到:
[0090]
ζ
w
=θ([m0,n0])
ꢀꢀ
(40)
[0091]
设载体的水平姿态是由横滚角γ与俯仰角θ来确定的。在不考虑航向角的情况下,载体坐标系(b系)导航坐标系(n系)与的坐标转换矩阵为:
[0092][0093]
由于相机的世界坐标系(w系)与载体坐标系(b系)完全重合,因此ζ
w
=ζ
b
。又由于斯涅尔窗口中心在n系下为竖直向上,则ζ
n
=[0 0 1]
t
,根据坐标转换关系有:
[0094][0095]
由上式解算得到:ζ
w
=[-cosθsinγ sinθ cosθcosγ]
t
.由此能够计算得载体俯仰角θ与横滚角γ分别为:
[0096][0097]
其中,ζ
w
(*)表示向量ζ
w
中第*个元素。如此,即得确定水平姿态。
[0098]
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1