基于EOBL-SSA算法的多相机标定优化方法与流程

文档序号:28703223发布日期:2022-01-29 13:21阅读:431来源:国知局
基于EOBL-SSA算法的多相机标定优化方法与流程
基于eobl-ssa算法的多相机标定优化方法
技术领域
1.本发明属于机器视觉技术领域,特别涉及一种基于eobl-ssa算法的多相机标定优化方法。


背景技术:

2.相机广泛应用到工业领域的各个方面,包括无人汽车、移动机器人、工业机器人等,为生产制造提供视觉辅助。相比于昂贵的激光雷达,视觉相机在目标识别检测领域的影响力越来越大。目标的位姿精确获得是目标识别检测的关键,而相机参数的标定是实现这一目标的基础和关键技术。相机内部参数和外部参数的标定的可靠性,直接影响到目标位姿的测量的精度和稳定性。因此,提高相机标定的精度对工业生产制造有着十分重要的意义。
3.反向学习是由tizhoosh[15]提出的一种新颖的智能计算方法,并广泛地应用于提高各种优化算法的性能。基于反向学习策略的有效性,wang等人对反向学习策略进行了改进,在反向学习的基础上引入了一个一般化的反向因子,提出一般反向学习策略,并进行了一系列的比较实验。实验结果表明,一般反向学习策略比反向学习策略具有更优越的性能。随后,汪慎文等人在一般反向学习策略的基础上引入精英学习的思想,提出精英反向学习策略,在一系列函数优化测试问题上的比较实验结果表明,精英反向学习策略能够在很大程度上增强一般反向学习策略的性能。


技术实现要素:

[0004]
本发明的目的在于提供一种基于eobl-ssa算法的多相机标定优化方法,对基于传统张正有标定法的相机标定的内参和畸变系数的优化,从而提高机器人视觉相机标定的精度。
[0005]
实现本发明目的的技术解决方案为:一种基于eobl-ssa算法的多相机标定优化方法,包括以下步骤:
[0006]
步骤1、获取不同角度的标定板图像,对图片预处理并提取角点特征;
[0007]
步骤2、求解内参数和畸变系数初值;
[0008]
步骤3、初始化ssa算法的相关参数以及对eobl的参数;
[0009]
步骤4、更新麻雀中的发现者、加入者和警戒者的位置;
[0010]
步骤5、利用精英反向策略对优秀个体进行反向求解,保留优秀个体,与上一次迭代的麻雀位置比较并替换,更新这一组麻雀的位置;
[0011]
步骤6、判断最优个体适应度的值是否满足预设精度或者是否达到最大迭代次数,如果没有就返回到步骤4,否则保留最优个体的位置,该个体对应的参数即为相机标定的结果。
[0012]
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述相机标定优化方法的步骤。
[0013]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述相机标定优化方法的步骤。
[0014]
本发明与现有技术相比,其显著优点为:1)本发明比传统方法的重投影误差更小,标定精度更高。2)本发明鲁棒性强,可重复使用,能较好的改善麻雀算法的局部收敛的问题,得到更好结果。3)本发明对相机内参优化有着良好的准确性和可行性。4)本发明提出的算法可以与实际工程案例结合,能准确、有效地用于多维非线性问题优化求解。
附图说明
[0015]
图1为本发明的流程图。
[0016]
图2为部分标定图片。
[0017]
图3为ssa迭代500次、1000次目标函数曲线图。
[0018]
图4为eobl-ssa迭代500次、1000次目标函数曲线图。
具体实施方式
[0019]
麻雀搜索算法(sparrow search algorithm,ssa)是于2020年提出来的一种新型的元启发式智能优化算法。ssa的产生主要是受到麻雀觅食行为和反捕食行为的启发,不断更新发现者、加入者、警戒者。具有寻优能力强,收敛速度快的优点。
[0020]
本发明以麻雀算法为基础,结合精英反向策略对相机参数进行优化,利用精英反向策略降低麻雀算法陷入局部最优的可能性,提高种群的多样性,提高算法的收敛速度,进而保证算法的全局求解精度和效率,从而降低相机的重投影误差。
[0021]
本发明提出一种基于改进麻雀算法在机器人可视化定位中相机标定的应用,采用融合模型优化技术,针对机器人在可视化定位中视觉相机标定精度的问题进行研究。根据当前新型智能算法的优缺点的问题,提出基于精英反向学习算法(eobl)和麻雀搜索算法(ssa)融合的机器人视觉相机标定优化算法,并将麻雀搜索算法与本发明所提出的eobl-ssa优化方法进行对比分析。
[0022]
下面结合附图对本发明的技术方案进行详细说明。
[0023]
一种基于eobl-ssa算法的多相机标定优化方法,包括以下步骤:
[0024]
步骤1、获取不同角度的标定板图像,对图片预处理并提取角点特征;
[0025]
步骤2、求解内参数f
x
,fy,u0,v0和畸变系数k1,k2,k3,p1,p2初值;
[0026]
步骤3、初始化ssa算法的相关参数以及对eobl的参数;
[0027]
步骤4、更新麻雀中的发现者、加入者和警戒者的位置;
[0028]
步骤5、利用精英反向策略对前10%优秀个体进行反向求解,保留优秀个体,与上一次迭代的麻雀位置比较并替换,更新这一组麻雀的位置。
[0029]
步骤6、判断最优个体适应度的值是否满足预设精度或者是否达到最大迭代次数,如果没有就返回到步骤4,否则保留最优个体的位置,该个体对应的参数即为相机标定的结果。
[0030]
进一步的,步骤1中获取待标定相机对标定板在不同方向的图像,图像的数量应为6张以上;对获得图像进行灰度化处理,并对图像中棋盘格的角点提取。
[0031]
进一步的,步骤2具体为:
[0032]
根据相机成像关系和相机内部关系f
x
=f
c1
/d
x
,fy=f
c2
/dy,得到f
x
,fy,u0,v0的初值;其中f
c1
和f
c2
是相机焦距;d
x
和dy是像素的物理长度;u0和v0是相机光轴和图像平面交点;
[0033]
相机成像关系式为:
[0034][0035]
其中,zc为物距,xd,yd为像素坐标系,xw、yw、zw为世界坐标系,r、t为图像旋转平移矩阵;
[0036]
由于该初值是在理想条件下求得,需要引入畸变系数k1,k2,k3,p1,p2加以校正,其中k1,k2,k3为径向畸变系数,p1,p2为切向畸变系数;
[0037]
利用径向畸变数学模型
[0038][0039]
和切向畸变数学模型
[0040][0041]
以及联立得到
[0042][0043]
求得畸变下的初值。
[0044]
利用张正有标定法对相机标定,得到优化前的参数值。
[0045]
其中,[xu,yu]图像归一化平面任一点p的坐标,r为点p与坐标系原点之间的距离。
[0046]
进一步的,步骤3中初始化ssa算法和eobl算法的相关参数过程为:
[0047]
包括种群的数量n,搜索空间的范围,迭代次数iter
max
;随机选取n个个体初始位置找出当前种群中最优个体的位置,并计算其适应度,其中d为种群个体的维数;
[0048]
建立相机标定问题的目标函数:
[0049][0050]
其中p
ij
为图像的匹配点,p为p
ij
对应的重投影的点;
[0051]
根据目标函数获得适应度函数以求得迭代最优个体适应度值,定义适应度函数为:
[0052][0053]
其中(x,y)即通过角点提取算法得到的实际像素坐标点;(u,v)是通过相机成像关系计算得到的像素坐标点;m为角点总数。
[0054]
进一步的,步骤4具体为:
[0055]
在每次迭代的过程中,发现者的位置更新描述如下:
[0056][0057]
其中,t代表当前迭代数,j=1,2,3...,d;
[0058]
iter
max
是一个常数,表示最大的迭代次数;x
i,j
表示第i个麻雀在第j维中的位置信息;α∈(0,1]是一个随机数;r2和st分别表示预警值和安全值,r2∈[0,1],st∈[0.5,1];q是服从正态分布的随机数;l表示一个1
×
d的矩阵,其中该矩阵内每一个元素全为1;
[0059]
加入者的位置更新描述如下:
[0060][0061]
其中,x
p
是目前发现者所占据的最优位置,x
worst
则表示当前全局最差的位置;a表示一个1
×
d的矩阵,其中每个元素随即赋值维1或-1,并且a
+
=a
t
(aa
t
)-1

[0062][0063]
其中x
best
是当前的全局最优位置;β作为步长控制参数,是服从均值为0,方差为1的正态分布的随机数;k∈[-1,1]是一个随机数,fi是当前麻雀个体的适应度值;fg和f
ω
分别是当前全局最佳和最差的适应度值;ε为常数,以避免分母出现零;当fi>fg表示此时的麻雀正处于种群的边缘,极其容易受到捕食者的攻击;x
best
表示这个位置的麻雀是种群中最好的位置也是十分安全的;fi=fg时,这表明处于种群重减的麻雀意识到危险,需要靠近其它的麻雀以此尽量减少它们被捕食的风险;k表示麻雀移动的方向同时也是步长控制参数。
[0064]
进一步的,步骤5具体如下:
[0065]
取麻雀适应度排名10%作为精英解,同时获取精英麻雀的动态边界,利用反向学习策略求解反向解,对比更新前后麻雀,如果更优则替代之前的麻雀;
[0066][0067]
为麻雀种群中适应度排名前10%的个体;
[0068]
其反向解表示为:
[0069][0070]
其中,k1是(0,1)上的动态系数;αj=min(x
i,j
),βj=max(x
i,j
),αj,βj是动态边界;若动态边界操作使得越过边界成为不可行解,重置
[0071]
为检验所提出的基于eobl-ssa算法在机器视觉的相机标定领域的可行性和有效性,如图2所示,选择一组获取的标定板图像作为相机标定素材,对拍摄该组图像的相机进行标定,张正有标定法结果如下表所示:
[0072][0073][0074]
ssa算法和eobl-ssa算法迭代500次的相机内参和畸变系数标定结果如下:
[0075][0076]
ssa算法和eobl-ssa算法迭代1000次的相机内参标定结果如下表所示:
[0077][0078]
计算优化后的重投影误差如下表所示:
[0079]
[0080]
结合图3、图4可知,ssa算法收敛速度快,但是易陷入局部最优,eobl-ssa可以在ssa算法的基础上提高算法的收敛速度和收敛精度,提高算法的整体性能。由表可知,ssa算法和eobl-ssa算法都能对张定友标定法的结果实现良好的优化,eobl-ssa算法效果普遍优于soa算法,它鲁棒性强,可重复使用,能较好的改善普通ssa算法的局部收敛的问题,得到更好结果。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1