一种基于计算机视觉的望远镜位姿监测方法

未命名 10-09 阅读:92 评论:0


1.本发明涉及一种望远镜姿态的监测方法,特别涉及一种基于计算机视觉的望远镜位姿监测方法。


背景技术:

2.在天文望远镜正常运行情况下,望远镜的姿态与望远镜两轴的旋转角读数一一对应,但在一些异常情况下,读数不能够正确地反映望远镜姿态,例如当望远镜旋转角反馈器件未初始化、望远镜旋转角反馈器件异常、数据采集器件异常时等。若由于人为疏忽或系统故障而未能及时发现异常,则可能发生严重的事故。
3.通常,在望远镜运行中,一个直观判断望远镜两轴旋转角读数是否异常的方法是:观测人员通过监控画面中的望远镜姿态,大致判断望远镜两轴的旋转角读数,并与当前读数进行比对,进而判断是否异常;但人力无法做到不间断监测。本发明即是用计算机技术代替人工,即用计算机视觉的方法,采集图像,识别图像中望远镜姿态对应的旋转角读数区间,与当前读数进行比对,如果两者不能对应,则望远镜旋转角读数异常的可能性大,及时报告异常,将事故终止于早期,对于提高望远镜运行的可靠性具有重要的意义。


技术实现要素:

4.针对现有技术中存在的上述问题,本发明提供一种基于计算机视觉的望远镜位姿监测方法。
5.为实现上述目的,本发明提供如下技术方案:
6.一种基于计算机视觉的望远镜位姿监测方法,包括如下步骤:
7.1)部署相机,采集不同姿态下望远镜图像,获取原始图像数据;
8.2)对部署的相机进行标定,获得相机的内参;
9.通过建立相机成像模型以及图像像素坐标系与世界坐标系之间的关系,获得内参的表达式;同时考虑相机的切向畸变与径向畸变,建立相机的畸变模型;根据图像计算内参的表达式;
10.3)利用数据集建立望远镜姿态的深度学习模型;该模型使用yolo算法,将人工标记图像中的关键点坐标和相机编号作为输入,预测的关键点坐标和相机编号作为输出;
11.4)使用epnp算法根据望远镜的关键点二维坐标,计算望远镜的旋转矩阵;
12.5)姿态优化;
13.得到初始结果后,采用基于最小投影误差的lm算法对其进行优化;
14.6)将旋转矩阵转换为旋转向量,提取两轴的旋转角。
15.进一步的,所述步骤1)中,采用多台相机从不同角度对望远镜进行监测,当某台相机拍摄望远镜某些姿态时,发生关键点被遮挡的情况,则用其他角度相机的图像进行信息的补充。
16.进一步的,所述步骤2)具体包括:
17.2.1)建立相机成像模型;
18.根据针孔成像模型,提出四种参考坐标系:世界坐标系、摄像机坐标系、图像物理坐标系、图像像素坐标系;
19.2.2)求解相机参数;
20.利用张氏标定法求解单应性矩阵;采用3张标定图求解方程式;当标定图超过3张时,也可使用最小二乘法求解对应的超定方程;
21.2.3)求解相机畸变参数。
22.进一步的,所述步骤2.3)具体包括:
23.2.3.1)对于每个像素的坐标(x,y),将其转换为归一化坐标系下的坐标即和其中(c
x
,cy)是内参矩阵中心点的坐标;
24.2.3.2)计算径向畸变校正的参数k1、k2和切向畸变参数p1、p2;根据相机模型,径向畸变项表示为:
25.δxk=x(1+k1r2+k2r4)
26.δx
p
=x+2p1xy+p2(r2+2x2)
27.其中δxk、δx
p
是经过径向畸变与切向畸变校正后的归一化坐标系下的x方向偏移量,r是归一化坐标系下的径向距离;
28.2.3.3)对于每个像素,根据计算得到畸变参数k1、k2、p1、p2,结合归一化坐标和径向距离r,进行畸变校正计算:
[0029][0030]
2.3.4)将校正后的归一化坐标转换回像素坐标系下的坐标(x

,y

):
[0031]
x'=xf
x
+c
x
[0032]
y'=yfy+cy。
[0033]
进一步的,所述步骤3)具体包括:
[0034]
3.1)对于制作数据集,主要分为采集图像和为图像打标签;使用开源软件labelme进行标注,标注内容为望远镜的边界框,以及目标关键点的像素坐标;
[0035]
3.2)对于模型的建立与训练,在网络的配置文件中将yolov8的关键点数量修改为标记的关键点数,同时将图像的种类数目改为监控相机的台数,代表来自不同相机的拍摄;
[0036]
3.3)对于网络的训练,设置网络的迭代次数,指定网络的数据集的位置,将图像与图像的标签一一对应;设置合理的batchsize,对多张图片进行训练,加快训练的速度;同时将数据集划分为训练集、验证集以及测试集;
[0037]
3.4)对于评价指标,引入ap衡量训练结果的准确率。
[0038]
进一步的,所述步骤3.2)中,模型的主要构成有4个部分:输入端、主干网络、neck模块、输出端;
[0039]
所述输入端,网络的输入端采用数据增强的方法增加数据集的丰富度、网络的鲁棒性,步骤如下:
[0040]
(1)从数据集中取出一个batch,用于网络的训练;再从batch中取出img0,img1,img2,img3,用于剪切与拼接,每张图片尺寸为h*w;
[0041]
(2)随机产生一个中心坐标(cut_x,cut_y),该坐标为增强后图片左上角的宽与高;
[0042]
(3)根据这个随机位置对该四张图像进行裁剪,拼接成新的图像;
[0043]
(4)对新拼接成的图像加入高斯噪声,用于模拟圆顶内光线复杂变化;
[0044]
(5)重复batchsize次以上流程,得到增强后的数据集;
[0045]
所述主干网络,包括cbs模块、c2f模块和sppf模块;
[0046]
其中,cbs模块通过卷积提取图像中的空间信息,并通过bn层进行批量归一化,最后通过激活函数进行非线性激活,从而实现对输入图像进行特征的转换和提取;c2f模块是yolov8的残差特征学习的模块,通过将cbs模块的输出的特征图进行分支跨层连接,即将特征图进行不同层的切割与特征融合,丰富模型的梯度流,形成一个具有更强特征表示能力的神经网络模块;sppf模块是主干网络的池化模块,将不同大小的感受野应用于同一张图像;
[0047]
所述neck模块,采用pan特征融合结构,通过先下采样,然后再上采样,上采样和下采样的这两个分支之间还有两个跨层融合连接,用于加强网络对不同缩放尺度对象特征融合的能力,使得网络对望远镜转动监测更加敏感;
[0048]
所述输出端,用于将分类和检测、关键点位置预测进行解耦,包括损失计算和目标检测框筛选。
[0049]
进一步的,所述步骤3)中加入se注意力机制;在主干网络的第九层加入se注意力机制,注意力机制的建立步骤如下:
[0050]
(1)将第八层卷积得到一个维度为c’*w’*h’的特征图,对空间维度进行压缩f
sq
(.),输出维度为1*1*c大小的特征图;
[0051]
(2)对压缩后的特征图进行学习,通过全连接网络f
ex
(.)预测c个通道之间的相关性,用权重w来表示结果;
[0052]
(3)最后将输出看作是经过特征选择后的每个通道的重要性,通过乘法加权的方式乘到先前的特征上,用以提升重要特征,抑制不重要特征。
[0053]
进一步的,所述方法中包含关键点位置损失和边界框损失,采用oks方法来评价关键点的拟合结果,采用ciou方法来评价边界框的拟合结果。
[0054]
进一步的,所述步骤5)具体步骤如下:
[0055]
5.1)计算初始的望远镜的姿态,使用epnp算法来估计相机的旋转矩阵和平移向量,得到初始的望远镜的姿态估计;
[0056]
5.2)定义重投影误差,计算所有三维点投影到二维平面上的重投影点;再计算投影点与实际观测点之间的差值;
[0057]
5.3)定义优化目标函数,使用重投影误差作为优化目标函数;
[0058]
5.4)计算雅可比矩阵,在每次迭代中,计算目标函数关于旋转矩阵和平移向量的梯度的偏导数;将这些偏导数顺序排列,形成雅可比矩阵;根据雅可比矩阵调整投影误差的优化的方向;
[0059]
5.5)使用levenberg-marquardt算法优化目标函数;
[0060]
5.6)收敛判据,定义收敛判据;
[0061]
5.7)更新相机姿态,根据levenberg-marquardt算法优化得到的新的旋转矩阵和
平移向量,更新望远镜的姿态;
[0062]
5.8)重复优化,如果未达到收敛条件,则重复步骤5.4)至步骤5.7),直到优化收敛。
[0063]
进一步的,所述步骤6),使用opencv的cv2.rodrigues函数,输入为优化后的旋转矩阵,输出为两轴的旋转角度。
[0064]
与现有技术相比,本发明的有益效果是:
[0065]
本发明旨在通过计算机视觉实现望远镜姿态监测。在特征提取上采用基于yolo深度学习来提取关键点的方式,在复杂环境下具备良好的表现。通过部署多台相机,通过多个单目相机同时对望远镜进行姿态监测,实现信息的补充和盲区的减少。使用epnp算法完成姿态估计,使用重投影的最小误差优化,提高结果的准确性。
附图说明
[0066]
图1是本发明的方法流程图;
[0067]
图2是黑白方格图;
[0068]
图3是sppf流程图;
[0069]
图4是se注意力机制结构图。
具体实施方式
[0070]
下面结合附图对本发明作进一步详细说明。
[0071]
本发明是一种基于计算机视觉的望远镜位姿监测方法,该方法旨在通过计算机视觉实现望远镜姿态监测。在特征提取上采用基于yolo深度学习来提取关键点的方式,在复杂环境下具备良好的表现。通过部署多台相机,通过多个单目相机同时对望远镜进行姿态监测,实现信息的补充和盲区的减少。使用epnp算法完成姿态估计,使用重投影的最小误差优化,提高结果的准确性。该方法的流程如图1所示,包括如下步骤:
[0072]
1)部署相机采集不同姿态下望远镜图像,获取原始图像数据。其中,采用多台相机从不同角度对望远镜进行监测;当某台相机拍摄望远镜某些姿态时,发生关键点被遮挡的情况,则用其他角度相机的图像进行信息的补充。
[0073]
2)对部署的相机进行标定,获得相机的内参。
[0074]
3)利用数据集建立望远镜姿态的深度学习模型;该模型使用yolo(you only look once)算法,将人工标记图像中的关键点坐标和相机编号作为输入层,预测的关键点坐标和相机编号作为输出。其中,中模型的输入采用目标检测框与关键点像素坐标结合,关键点坐标选取大于等于10对;其中,模型选取基于yolov8的关键点模型,且在网络的第九层中加入se注意力机制。
[0075]
4)使用epnp算法根据望远镜的关键点二维坐标,计算望远镜的旋转矩阵。其中,加入了基于最小投影误差的lm(levenberg-marquardt)算法,对结果进行优化。
[0076]
5)将旋转矩阵转换为旋转向量,提取两轴的旋转角。
[0077]
本实施例一种基于计算机视觉的望远镜位姿监测方法的具体步骤如下:
[0078]
步骤1、在望远镜的圆顶中部署多台相机,部署位置位于圆顶的边缘,且离地位置约x左右,使得望远镜完全位于图像内。相机之间的间隔角度约30
°
,有利于多角度的监测。
[0079]
步骤2、对相机进行标定,本设计采用张氏标定法,获取相机的内参。通过建立相机成像模型,以及图像像素坐标系与世界坐标系之间的关系,获得内参的表达式。其次建立相机的畸变模型,同时考虑相机的切向畸变与径向畸变,增加结果的准确性,最后根据图像计算出内参的表达式。具体过程如下:
[0080]
2.1、建立相机成像模型
[0081]
根据针孔成像模型,提出四种参考坐标系:世界坐标系、摄像机坐标系、图像物理坐标系、图像像素坐标系。具体参数之间关系可以用下式表示:
[0082][0083]
其中u,v分别表示在素坐标系中位置,u0,v0分别表示在素坐标系中距离像素原点的偏移量,f
x
,fy表示u,v方向上尺度因子与相机焦距f之比与相机本身的结构有关,r、t表示旋转矩阵、平移矩阵,xw、yw、zw表示世界坐标系坐标。
[0084]
2.2求解相机参数
[0085]
建立模型后需要求解出相机的内参完成相机的标定,相机内参的求解步骤如下:
[0086]
(1)利用张氏方法求解单应性矩阵;
[0087]
(2)在张氏平面模板法中,每个标定图都能够给出一个约束关系(对应一个单应性矩阵),构建的每个方程都会提供两个约束关系,标定图样式如图2黑白方格图所示。方程本身就含有六个未知元素,所以在理论上,用三张标定图就能够求解出方程式。当标定图超过3张时,也可以使用最小二乘法求解对应的超定方程。求解出内参如下所示:
[0088][0089]
其中b
ij
为对称性矩阵可由单应性矩阵获得,u0,v0分别表示在素坐标系中距离像素原点的偏移量,f
x
、fy表示u、v方向上尺度因子与相机焦距f之比,γ表示畸变参数,λ为单应性矩阵尺度因子。
[0090]
2.3、求解相机畸变参数
[0091]
在实际使用过程中,由于一些光学透镜以及一些制造误差,造成畸变。因此需要建立模型计算误差,畸变主要有切向畸变和径向畸变。目前大部分研究的标定方法中往往仅考虑二阶径向畸变,但实际上如果忽略切向畸变系数,则势必大大降低了标定准确性。所以,本设计将二阶径向畸变和切向畸变都包含进来,具体步骤如下:
[0092]
(1)对于每个像素的坐标(x,y),将其转换为归一化坐标系下的坐标即和其中(c
x
,cy)是内参矩阵中心点的坐标。
[0093]
(2)计算径向畸变校正的参数k1、k2和切向畸变参数p1、p2。根据相机模型,径向畸变项可以表示为
[0094]
δxk=x(1+k1r2+k2r4)
[0095]
δx
p
=x+2p1xy+p2(r2+2x2)
[0096]
其中δxk、δx
p
是经过径向畸变与切向畸变校正后的归一化坐标系下的x方向偏移量,r是归一化坐标系下的径向距离。
[0097]
(3)对于每个像素,根据计算得到畸变参数k1、k2、p1、p2,结合归一化坐标和径向距离r,进行畸变校正计算:
[0098][0099]
(4)将校正后的归一化坐标转换回像素坐标系下的坐标(x

,y

):
[0100]
x'=xf
x
+c
x
[0101]
y'=yfy+cy[0102]
步骤3、对于制作数据集,主要分为采集图像和为图像打标签。使用开源软件labelme进行标注。标注内容为望远镜的边界框,以及目标关键点的像素坐标。本发明选取了n个关键点具体格式如下表:
[0103]
class图像类型w边界框的宽度h边界框的高x边界框中心点的横坐标y边界框中心点的纵坐标(x1,y1)关键点1坐标(x2,y2)关键点2坐标(x3,y3)关键点3坐标(x4,y4)关键点4坐标(x5,y5)关键点5坐标(x6,y6)关键点6坐标
……ꢀ
(xn,yn)关键点n坐标
[0104]
class表示图像的来源,h,w,x,y分别表示图像中望远镜边界框的宽和高,以及中心点的位置,其中为了数据更容易收敛对数据整体进行了归一化。关键点1~n表示关键点在图像上的像素坐标。
[0105]
步骤4、对于模型的建立与训练,需要在网络的配置文件中将yolov8的关键点数量修改为标记的关键点数,同时将图像的种类数目改为监控相机的台数,代表来自不同相机的拍摄。模型的主要构成有4个部分:输入端、主干网(back-bone)、neck模块、输出端。
[0106]
4.1、对于输入端,网络的输入端采用数据增强的方法增加数据集的丰富度、网络
的鲁棒性。这里本设计采用mosaic增强与高斯噪声结合的方式,既增加数据的丰富度,又模拟望远镜现场的复杂光照与强风带来的相机抖动增加网络的鲁棒性。步骤如下:
[0107]
(1)从数据集中取出一个batch,如16、32等,用于网络的训练。再从batch中取出img0,img1,img2,img3,用于剪切与拼接,每张图片尺寸为h*w;
[0108]
(2)随机产生一个中心坐标(cut_x,cut_y),该坐标为增强后图片左上角的宽与高;
[0109]
(3)根据这个随机位置对该四张图像进行裁剪,拼接成新的图像;
[0110]
(4)对新拼接成的图像加入高斯噪声,用于模拟圆顶内光线复杂变化;
[0111]
(5)重复batchsize次以上流程,得到增强后的数据集。
[0112]
4.2、对于主干网络,主要是由cbs模块和c2f模块构成。其中,cbs模块主要通过卷积提取图像中的空间信息,并通过bn层进行批量归一化,最后通过激活函数进行非线性激活,从而实现对输入图像进行特征的转换和提取。c2f模块是yolov8的残差特征学习的模块,通过将cbs模块的输出的特征图进行分支跨层连接,即将特征图进行不同层的切割与特征融合,丰富了模型的梯度流,可形成一个具有更强特征表示能力的神经网络模块。
[0113]
sppf是主干网络的池化模块,将不同大小的感受野应用于同一张图像。如图3所示,将经过cbs卷积的特征图与分别进行1,2,3次的maxpool(最大池化)融合,既完成了信息过滤又最大程度保留了信息。
[0114]
4.3、neck模块采用pan特征融合结构,通过先下采样,然后再上采样,上采样和下采样的这两个分支之间还有两个跨层融合连接,可加强网络对不同缩放尺度对象特征融合的能力,使得网络对望远镜转动监测更加敏感。
[0115]
4.4、输出端。将分类和检测、关键点位置预测进行解耦,主要包括损失计算和目标检测框筛选。
[0116]
4.5、加入se注意力机制
[0117]
在主干网络的第九层加入se注意力机制,提高输出结果的准确率。注意力机制结构图如图4所示,建立步骤如下:
[0118]
(1)将第八层卷积得到一个维度为c’*w’*h’的特征图,对空间维度进行压缩f
sq
(.),输出维度为1*1*c大小的特征图;
[0119]
(2)对压缩后的特征图进行学习,通过全连接网络f
ex
(.)预测c个通道之间的相关性,用权重w来表示结果;
[0120]
(3)最后将输出看作是经过特征选择后的每个通道的重要性,通过乘法加权的方式乘到先前的特征上,用以提升重要特征,抑制不重要特征。
[0121]
4.6、对于损失函数,本设计中的损失主要包括置信度损失、分类损失、关键点位置损失、边界框损失。其中关键点位置损失和边界框损失分别使用了oks(object keypoint similarity)和ciou,来评价关键点和边界框的拟合结果,它综合了关键点的实际点与预测点之间的欧式距离以及边界框的面积作为评价标准,可以实现更好的拟合效果,其中oks的计算方法如下:
[0122]
[0123]
其中,dn表示当前检测的一组关键点与实际关键点的欧式距离。s表示尺度因子,其值为望远镜标注框面积的平方根。σi表示关键点归一化因子。
[0124]
边界框的损失函数,用ciou损失用于边界框的监督。对于一个给定的真实边界框它与第k个anchor即其尺度为s,那么,他们之间的损失可以定义为:
[0125][0126]
因此总的损失函数为,其中损失函数前的常数为该损失函数的权重:
[0127][0128]
步骤5、对于网络的训练,设置网络的迭代次数,指定网络的数据集的位置,将图像与图像的标签一一对应。设置合理的batchsize,对多张图片进行训练,加快训练的速度。同时将数据集划分为训练集、验证集以及测试集。
[0129]
步骤6、对于评价指标,引入了ap(average precision)衡量训练结果的准确率。
[0130]
具体计算方法如下公式所示,t为设定的阈值,本设计设置为0.90。
[0131][0132]
步骤7、对于姿态估计,采用opencv中solvepnp函数,计算图像中望远镜的旋转矩阵。输入为图像中望远镜n个关键点在像素坐标系中的位置、已经标定得到的相机的内参、以及关键点的三维坐标位置。通过pca(主成分分析法)选取4个控制点,将望远镜的三维模型坐标与相机坐标系中的坐标通过控制点表示,使用svd(非奇异分解)的方法计算两个坐标系之间的旋转矩阵。
[0133]
步骤8、对于姿态优化,得到初始结果后,为了得到更精确的结果需要对其进行优化。本发明采用lm(levenberg-marquardt)算法。具体步骤如下:
[0134]
8.1、计算初始的望远镜的姿态,使用epnp算法来估计相机的旋转矩阵r和平移向量t,得到初始的望远镜的姿态估计。
[0135]
8.2、定义重投影误差,计算所有三维点xi投影到二维平面上的重投影点p(xi)。再计算投影点p(xi)与实际观测点xi之间差值。
[0136]ei
=p(xi)-xi[0137]
8.3、定义优化目标函数,使用重投影误差ei作为优化目标函数。目标是最小化重投影误差的平方和。
[0138][0139]
8.4、计算雅可比矩阵,在每次迭代中,计算目标函数关于旋转矩阵r和平移向量t的梯度的偏导数。将这些偏导数顺序排列,形成雅可比矩阵。根据雅可比矩阵调整投影误差的优化的方向。
[0140]
8.5、使用levenberg-marquardt算法来优化目标函数,该算法是一种非线性最小二乘优化算法,它在每次迭代中通过调整步长来更新相机姿态参数。
[0141]
[r t]
new
=[r t]
old-(j
t
j+λi)-1jte[0142]
其中,[r t]
old
是旧的参数向量,[r t]
new
是新的参数向量,λ是lm算法的参数,用于控制步长调整的幅度。
[0143]
8.6、收敛判据,定义收敛判据,例如目标函数的变化小于某个阈值或达到最大迭代次数。
[0144]
8.7、更新相机姿态,根据levenberg-marquardt算法优化得到的新的旋转矩阵r和平移向量t,更新望远镜的姿态。
[0145]
8.8、重复优化,如果未达到收敛条件,则重复步骤8.4至步骤8.7,直到优化收敛
[0146]
步骤9、计算旋转角度,使用opencv的cv2.rodrigues函数,输入为优化后的3*3的旋转矩阵,输出为两轴的旋转角度。
[0147]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种基于计算机视觉的望远镜位姿监测方法,其特征在于,包括如下步骤:1)部署相机,采集不同姿态下望远镜图像,获取原始图像数据;2)对部署的相机进行标定,获得相机的内参;通过建立相机成像模型以及图像像素坐标系与世界坐标系之间的关系,获得内参的表达式;同时考虑相机的切向畸变与径向畸变,建立相机的畸变模型;根据图像计算内参的表达式;3)利用数据集建立望远镜姿态的深度学习模型;该模型使用yolo算法,将人工标记图像中的关键点坐标和相机编号作为输入,预测的关键点坐标和相机编号作为输出;4)使用epnp算法根据望远镜的关键点二维坐标,计算望远镜的旋转矩阵;5)姿态优化;得到初始结果后,采用基于最小投影误差的lm算法对其进行优化;6)将旋转矩阵转换为旋转向量,提取两轴的旋转角。2.根据权利要求1所述的一种基于计算机视觉的望远镜位姿监测方法,其特征在于,所述步骤1)中,采用多台相机从不同角度对望远镜进行监测,当某台相机拍摄望远镜某些姿态时,发生关键点被遮挡的情况,则用其他角度相机的图像进行信息的补充。3.根据权利要求1所述的一种基于计算机视觉的望远镜位姿监测方法,其特征在于,所述步骤2)具体包括:2.1)建立相机成像模型;根据针孔成像模型,提出四种参考坐标系:世界坐标系、摄像机坐标系、图像物理坐标系、图像像素坐标系;2.2)求解相机参数;利用张氏标定法求解单应性矩阵;采用3张标定图求解方程式;当标定图超过3张时,也可使用最小二乘法求解对应的超定方程;2.3)求解相机畸变参数。4.根据权利要求3所述的一种基于计算机视觉的望远镜位姿监测方法,其特征在于,所述步骤2.3)具体包括:2.3.1)对于每个像素的坐标(x,y),将其转换为归一化坐标系下的坐标即和其中(c
x
,c
y
)是内参矩阵中心点的坐标;2.3.2)计算径向畸变校正的参数k1、k2和切向畸变参数p1、p2;根据相机模型,径向畸变项表示为:δx
k
=x(1+k1r2+k2r4)δx
p
=x+2p1xy+p2(r2+2x2)其中δx
k
、δx
p
是经过径向畸变与切向畸变校正后的归一化坐标系下的x方向偏移量,r是归一化坐标系下的径向距离;2.3.3)对于每个像素,根据计算得到畸变参数k1、k2、p1、p2,结合归一化坐标和径向距离r,进行畸变校正计算:
2.3.4)将校正后的归一化坐标转换回像素坐标系下的坐标(x

,y

):x'=xf
x
+c
x
y'=yf
y
+c
y
。5.根据权利要求1所述的一种基于计算机视觉的望远镜位姿监测方法,其特征在于,所述步骤3)具体包括:3.1)对于制作数据集,主要分为采集图像和为图像打标签;使用开源软件labelme进行标注,标注内容为望远镜的边界框,以及目标关键点的像素坐标;3.2)对于模型的建立与训练,在网络的配置文件中将yolov8的关键点数量修改为标记的关键点数,同时将图像的种类数目改为监控相机的台数,代表来自不同相机的拍摄;3.3)对于网络的训练,设置网络的迭代次数,指定网络的数据集的位置,将图像与图像的标签一一对应;设置合理的batchsize,对多张图片进行训练,加快训练的速度;同时将数据集划分为训练集、验证集以及测试集;3.4)对于评价指标,引入ap衡量训练结果的准确率。6.根据权利要求5所述的一种基于计算机视觉的望远镜位姿监测方法,其特征在于,所述步骤3.2)中,模型的主要构成有4个部分:输入端、主干网络、neck模块、输出端;所述输入端,网络的输入端采用数据增强的方法增加数据集的丰富度、网络的鲁棒性,步骤如下:(1)从数据集中取出一个batch,用于网络的训练;再从batch中取出img0,img1,img2,img3,用于剪切与拼接,每张图片尺寸为h*w;(2)随机产生一个中心坐标(cut_x,cut_y),该坐标为增强后图片左上角的宽与高;(3)根据这个随机位置对该四张图像进行裁剪,拼接成新的图像;(4)对新拼接成的图像加入高斯噪声,用于模拟圆顶内光线复杂变化;(5)重复batchsize次以上流程,得到增强后的数据集;所述主干网络,包括cbs模块、c2f模块和sppf模块;其中,cbs模块通过卷积提取图像中的空间信息,并通过bn层进行批量归一化,最后通过激活函数进行非线性激活,从而实现对输入图像进行特征的转换和提取;c2f模块是yolov8的残差特征学习的模块,通过将cbs模块的输出的特征图进行分支跨层连接,即将特征图进行不同层的切割与特征融合,丰富模型的梯度流,形成一个具有更强特征表示能力的神经网络模块;sppf模块是主干网络的池化模块,将不同大小的感受野应用于同一张图像;所述neck模块,采用pan特征融合结构,通过先下采样,然后再上采样,上采样和下采样的这两个分支之间还有两个跨层融合连接,用于加强网络对不同缩放尺度对象特征融合的能力,使得网络对望远镜转动监测更加敏感;所述输出端,用于将分类和检测、关键点位置预测进行解耦,包括损失计算和目标检测框筛选。7.根据权利要求6所述的一种基于计算机视觉的望远镜位姿监测方法,其特征在于,所述步骤3)中加入se注意力机制;在主干网络的第九层加入se注意力机制,注意力机制的建立步骤如下:
(1)将第八层卷积得到一个维度为c’*w’*h’的特征图,对空间维度进行压缩f
sq
(.),输出维度为1*1*c大小的特征图;(2)对压缩后的特征图进行学习,通过全连接网络f
ex
(.)预测c个通道之间的相关性,用权重w来表示结果;(3)最后将输出看作是经过特征选择后的每个通道的重要性,通过乘法加权的方式乘到先前的特征上,用以提升重要特征,抑制不重要特征。8.根据权利要求6所述的一种基于计算机视觉的望远镜位姿监测方法,其特征在于,所述方法中包含关键点位置损失和边界框损失,采用oks方法来评价关键点的拟合结果,采用ciou方法来评价边界框的拟合结果。9.根据权利要求1所述的一种基于计算机视觉的望远镜位姿监测方法,其特征在于,所述步骤5)具体步骤如下:5.1)计算初始的望远镜的姿态,使用epnp算法来估计相机的旋转矩阵和平移向量,得到初始的望远镜的姿态估计;5.2)定义重投影误差,计算所有三维点投影到二维平面上的重投影点;再计算投影点与实际观测点之间的差值;5.3)定义优化目标函数,使用重投影误差作为优化目标函数;5.4)计算雅可比矩阵,在每次迭代中,计算目标函数关于旋转矩阵和平移向量的梯度的偏导数;将这些偏导数顺序排列,形成雅可比矩阵;根据雅可比矩阵调整投影误差的优化的方向;5.5)使用levenberg-marquardt算法优化目标函数;5.6)收敛判据,定义收敛判据;5.7)更新相机姿态,根据levenberg-marquardt算法优化得到的新的旋转矩阵和平移向量,更新望远镜的姿态;5.8)重复优化,如果未达到收敛条件,则重复步骤5.4)至步骤5.7),直到优化收敛。10.根据权利要求1所述的一种基于计算机视觉的望远镜位姿监测方法,其特征在于,所述步骤6),使用opencv的cv2.rodrigues函数,输入为优化后的旋转矩阵,输出为两轴的旋转角度。

技术总结
本发明公开了一种基于计算机视觉的望远镜位姿监测方法,其步骤包括:部署相机采集不同姿态下望远镜图像,获取原始图像数据;对部署的相机进行标定,获得相机的内参;利用数据集建立望远镜姿态的深度学习模型;使用Epnp算法根据望远镜的关键点二维坐标,计算望远镜的旋转矩阵;将旋转矩阵转换为旋转向量,提取两轴的旋转角。本发明在特征提取上采用基于yolo深度学习来提取关键点的方式,在复杂环境下具备良好的表现。通过部署多台相机,通过多个单目相机同时对望远镜进行姿态监测,实现信息的补充和盲区的减少。使用Epnp算法完成姿态估计,使用重投影的最小误差优化,提高结果的准确性。确性。确性。


技术研发人员:李晓燕 刘世伟
受保护的技术使用者:中国科学院南京天文光学技术研究所
技术研发日:2023.08.15
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐