基于改进的黏菌算法的水下相机标定优化方法

文档序号:30376531发布日期:2022-06-11 02:12阅读:289来源:国知局
基于改进的黏菌算法的水下相机标定优化方法

1.本发明属于机器视觉技术领域,特别涉及一种基于改进的黏菌算法的水下相机标定优化方法。


背景技术:

2.随着陆上资源开发逐渐饱和,广袤的海洋资源成为世界各国竞相追逐发展的对象,海洋经济的发展是当前世界经济发展的重要一环,因此实现科技强海战略对于各国的发展十分重要。近些年来水下机器人逐渐代替人类探寻发掘水下资源,水下雷达、水下相机成为人类通过机器人了解水下世界的重要方式,相比于昂贵的水下雷达,便宜的水下相机成为水下机器人主要的传感器之一。相机的标定精度对实现水下目标的精准定位跟踪尤为重要,准确的相机标定是实现水下目标精确定位的前提,也是推动科技强海战略实施的关键技术之一。
3.不同于在空气中标定,水下成像模型的变化,对相机标定产生了重要的影响,近些年来,国外的研究人员提出了一些更为合适的标定方法。如2012年anne jordt-sedlazeck等人在“refractive calibration of underwater cameras(computer vision

eccv 2012:pp.846-859.)”中提出的相机标定方法标定了相机的内参、外参和防水设备参数,该方法适用于单目、双目标定,但过程较复杂,且耗时较长。2021年兰荣富在“基于视觉的水下目标检测和水下相机标定方法研究(哈尔滨工业大学,2021)”中利用张氏标定法标定相机的内外参,并建立误差模型,利用粒子群优化算法优化求解防水设备参数,但算法易陷入局部最优,标定精度不高。


技术实现要素:

4.本发明的目的在于提供一种基于改进黏菌算法的水下相机标定优化方法,对基于传统张正有标定法的相机标定的内部参数和畸变系数的优化,从而提高水下相机的标定精度。
5.实现本发明目的的技术解决方案为:一种基于改进的黏菌算法的相机标定优化的方法,包括以下步骤:
6.步骤1、获取不同角度的标定板图像,对图像预处理并提取角点特征;
7.步骤2、求解内部参数和畸变系数初值;
8.步骤3、初始化sma算法的相关参数,初始化种群的最初位置,初始化onp和obl的相关参数;
9.步骤4、计算每个黏菌个体的适应度,选出当前最优适应度和其所对应的位置;
10.步骤5、利用最优邻域扰动策略进行全局位置更新,利用反向学习策略产生反向解;并采用贪婪机制判生成的邻域位置是否保存下来;保留适应度更高的解并更新其位置。
11.步骤6、判断最优个体适应度的值是否满足预设精度或者是否达到最大迭代次数,如果没有就返回到步骤4,否则保留最优个体的位置,该个体对应的参数即为相机标定的结
果。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于改进的黏菌算法的水下相机标定优化方法。
13.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述基于改进的黏菌算法的水下相机标定优化方法。
14.本发明与现有技术相比,其显著优点为:1)本发明比传统方法的重投影误差更小,标定精度更高;2)本发明鲁棒性强,可重复使用,能较好的改善黏菌算法的收敛速度慢和局部收敛的问题,得到更好结果;3)本发明对水下相机的内部参数优化有着良好的准确性和可行性;4)本发明提出的算法可以与实际工程案例结合,能准确、有效地用于多维非线性问题优化求解。
附图说明
15.图1为本发明的基于改进的黏菌算法的水下相机标定优化方法流程图。
16.图2为部分标定图片。
17.图3为soa、pso、sma和orsma迭代500次目标函数曲线图。
18.图4为soa、pso、sma和orsma迭代1000次目标函数曲线图。
具体实施方式
19.黏菌优化算法(smile mould algorithm,sma)是李世民、mirjalili等人在2020年提出的群智能算法,sma模拟了黏菌的扩散行为和觅食行为,形成的食物最优连接路径有较好的探索能力。
20.最优邻域扰动算法(optimal neighborhood perturbation,onp)可以把最优位置附近的区域随机搜索一遍,发现一个更好的全局值,这样能够提高收敛速度,也能避免出现“早熟”现象。
21.反向学习(opposition-based learning,obl)是一种新型的智能优化机制,反向学习这一概念是由tizhoosh在2005年提出的,反向学习的思想是同时考虑正向解和反向解,选择其中的最优解作初始的种群,利用反向学习初始化种群能够扩大种群的搜索范围,并且提高算法寻找最优解的速度和效率。反向学习被提出后不久,rahnamayan等人就用数学推导的方法证明了反向学习策略的寻优速度更快,学习能力更强,并用实验验证了这一结果。
22.本发明以黏菌优化算法为基础,融合最优邻域扰动和反向学习策略对相机参数进行优化,利用最优邻域扰动和反向学习策略降低黏菌算法陷入局部最优的可能性,提高种群的多样性,提高算法的收敛速度,进而保证算法的全局求解精度和效率,从而降低相机的重投影误差。
23.如图1所示,本发明的一种基于改进的黏菌算法的水下相机标定优化的方法,包括以下步骤:
24.步骤1、获取待标定相机对标定板在不同方向的图像,图像的数量应大于6张。对获得图像进行灰度化处理,并对图像中棋盘格的角点提取。
25.步骤2、根据相机成像关系和相机内部关系f
x
=f
c1
/d
x
,fy=f
c2
/dy,得到f
x
,fy,u0,v0的初值。其中f
c1
和f
c2
是相机焦距;d
x
和dy是像素的物理长度;u0和v0是相机光轴和图像平面交点。
26.相机成像关系式为:
[0027][0028]
其中,zc为物距,xd、yd为像素坐标系,xw、yw、zw为世界坐标系,r、t为图像旋转平移矩阵。
[0029]
由于该初值是在理想条件下求得,需要引入畸变系数k1,k2,k3,p1,p2加以校正。
[0030]
利用径向畸变数学模型
[0031][0032]
其中,[xu,yu]图像归一化平面任一点p的坐标,s为点p与坐标系原点之间的距离。
[0033]
和切向畸变数学模型
[0034][0035]
以及联立得到
[0036][0037]
求得畸变下的初值。
[0038]
利用张正有标定法对相机标定,得到优化前的参数值。
[0039]
步骤3、初始化sma算法的相关参数,初始化种群的最初位置,初始化onp和obl的相关参数过程为:包括种群的数量n,搜索空间维度d、最大迭代次数max_t、初始值上下界ub和lb,在搜索范围内随机选取n个个体的初始位置。
[0040]
步骤4、计算每个黏菌个体的适应度,选出当前最优适应度和其所对应的位置为:
[0041]
建立相机标定问题的目标函数:
[0042][0043]
其中,n是角点个数,p
ij
为图像的匹配点,p为p
ij
对应的重投影点。
[0044]
根据目标函数获得适应度函数以求得迭代最优个体适应度值,定义适应度函数为:
[0045][0046]
其中(x,y)即通过角点提取算法得到的实际像素坐标点;(u,v)是通过相机成像关系计算得到的像素坐标点;m为角点总数。
[0047]
步骤5、在每次迭代的过程中,黏菌位置的更新公式如下:
[0048][0049]
其中,是黏菌更新后的位置,是范围[-a,a]中的一个参数,是从1线性减少到0的参数,t表示当前的迭代次数,表示当前适应度最高的个体所处的位置,表示黏菌的位置,和代表黏菌中两个随机选择个体的位置,代表黏菌的权重系数,p是控制参数,lb和ub表示搜索范围的上下界,rand和r表示[0,1]中的随机值。z是自定义参数,设z为0.03。
[0050]
参数a的公式如下:
[0051][0052]
控制参数p的公式如下:
[0053]
p=thnh|s(i)-df|,i∈1,2,3,......,n
ꢀꢀꢀ
(9)
[0054]
其中,s(i)代表的适应度,df表示在所有迭代中获得的最佳适应度。
[0055]
权重系数的公式如下:
[0056][0057]
smellindex=sort(s)
ꢀꢀꢀ
(11)
[0058]
其中,r是区间[0,1]内的随机值,bf表示当前迭代过程中获得的最优适应度,wf表示当前迭代过程中获得的最差适应度值,condition代表黏菌种群中适应度值排在的个体,others表示黏菌种群中剩下的个体,smellindex表示适应度值的序列排序(求极小值问题是递增序列)。
[0059]
利用最优邻域扰动策略进行全局位置更新,其中对最优位置进行随机扰动操作的公式如下:
[0060][0061]
式中,x
*
(t)是公式(7)中得到的最优位置,是对x
*
(t)进行随机扰动得到的新位置,rand1和rand2是区间[0,1]内均匀产生的随机数;x(t)是新生成的位置。
[0062]
利用反向学习策略生成反向解,若种群中的个体xi可以用下列公式表示:
[0063]
xi=[x
i,1
,x
i,2
,

x
i,j
,x
i,d
]
ꢀꢀꢀ
(13)
[0064]
则它的反向解可以表示为:
[0065]
xi'=[x
i,1
',x
i,2
',

x
i,j
',x
i,d
']
ꢀꢀꢀ
(14)
[0066]
式中,i=1,2,3,

,n,j=1,2,3,

,d,并且反向解和正向解还需要满足下列关
系:
[0067]
x
i,j
'=k(aj+bj)-x
i,j
ꢀꢀꢀ
(15)
[0068]
式中,k是在[0,1]之间均匀分布的随机数,是一个一般反向因子,aj和bj是第j个动态决策变量的下界和上界。
[0069]
采用贪婪策略判生成的邻域位置是否保存下来,公式如下:
[0070][0071]
式中,f(x)是位于x位置的适应度值。
[0072]
步骤6、最优个体适应度的值是否满足预设精度或者是否达到最大迭代次数,如果没有就返回到步骤4,否则保留最优个体的位置,该个体对应的参数即为相机标定的结果。
[0073]
为检验所提出的基于orsma算法在机器视觉的相机标定领域的可行性和有效性,选择一组获取的标定板图像作为相机标定素材,对拍摄该组图像的相机进行标定,图2为部分标定图片示例,张正有标定法结果如表1所示:
[0074]
表1
[0075][0076]
soa算法、pso算法、sma算法和orsma算法迭代500次的相机内参和畸变系数标定结果如表2所示:
[0077]
表2
[0078][0079]
soa算法、pso算法、sma算法和orsma算法迭代1000的相机内参和畸变系数标定结
果如表3:
[0080]
表3
[0081][0082]
计算优化后的重投影误差如表4所示:
[0083]
表4
[0084][0085]
综合表1、表2、表3和表4可知,soa算法和pso算法的重投影误差都比张正友标定法大,而sma算法和orsma算法的重投影误差都比张正友标定法小,且orsma算法的重投影误差更小,标定精度更高。
[0086]
结合图3、图4可知,soa算法在前期收敛速度最慢,并且非常容易陷入局部最优;pso算法收敛速度最快,较易陷入局部最优;sma算法和orsma算法前期收敛曲线频繁交叉,它们都没有陷入局部最优,但是随着迭代次数的增加orsma算法的收敛速度和精度明显高于sma算法,orsma算法提高了算法的整体性能。由表可知,soa算法不能优化张定友标定法的结果,而pso算法、sma算法和orsma算法都能对张定友标定法的结果实现良好的优化,且它们优化的效果依次递增,orsma算法效果普遍优于pso算法和sma算法,它能较好的改善普通sma算法的局部收敛的问题,得到更好结果。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1