CN103871068A - 一种基于遗传算法的高精度标定方法 - Google Patents
一种基于遗传算法的高精度标定方法 Download PDFInfo
- Publication number
- CN103871068A CN103871068A CN201410127522.8A CN201410127522A CN103871068A CN 103871068 A CN103871068 A CN 103871068A CN 201410127522 A CN201410127522 A CN 201410127522A CN 103871068 A CN103871068 A CN 103871068A
- Authority
- CN
- China
- Prior art keywords
- variation
- genetic algorithm
- genetic
- prime
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明涉及一种基于遗传算法的高精度标定方法,利用遗传算法的优化进行摄像机建模问题,使用二进制编码和实数编码结合的方式对遗传算法进行优化。本发明二进制代码快速得到最优解,然后利用实数编码一步提高最优解的精度;此外,为了提高算法的收敛速度,将双目视觉两个摄像机分开进行算参数标定。利用遗传算法得到世界坐标与图像之间的映射关系,实验结果表明所提出的方法有效。
Description
技术领域
本发明涉及机器视觉图像处理技术领域,尤其是一种基于遗传算法的高精度标定方法。
背景技术
机器视觉中摄像机标定是指建立摄像机图像像素位置与场景点位置之间的关系,其途径是根据摄像机模型,由已知特征点的图像坐标和世界坐标求解摄像机的模型参数。摄像机需要标定的模型参数分为内部参数和外部参数。国内外许多学者提出了摄像机标定的多种方法,并得到了广泛应用。但存在处理速度和精度上的缺陷。
双目视觉检测技术,具有检测速度快效率高等特点,具有很大的研究和实际应用价值。摄像机标定是双目视觉检测的重要步骤,以及标定的精度将会直接影响工件的检验。现有的标定方法主要包括Tsai的方法,张正友的方法,神经网络方法,和基于遗传算法的方法。Tsai的方法和张正友的方法对建立的数学模型的近似解计算速度快,但在数值求解过程中产生校准误差。基于神经网络的方法不需要建立数学模型,无模型误差。然而,它需要大量的控制点进行神经网络训练。
发明内容
本发明要解决的技术问题是:为了提高算法的速度及精度,提供一种基于遗传算法的高精度标定方法。
本发明所采用的技术方案为:一种基于遗传算法的高精度标定方法,其特征在于包括以下步骤:
1)采用摄像机成像原理建立摄像机的数学模型,将双目视觉系统参数化:即提取左右图像中同一控制点分别在两幅图像中的像素坐标;
2)利用由控制点的世界坐标经摄像机模型计算出来的图像像素坐标和实际检测到控制点像素坐标的平均距离作为目标函数;
3)二进制编码:将二进制编码中的变量进行编码长度设置,并按顺序连接为一个二进制数;所述的二进制数代表遗传操作中的一个个体;
4)实数编码与交叉:将摄像机的24个参数按顺序组成一个数组;设定每组需要交叉的个体C1,C2,先在1到24之间随机生成一个数t,对于交叉生成新个体C1`,C2`,第1到t个变量保持不变,第t+1到24个变量交换位置;
5)对每一组个体的每一个位置进行变异判断是否需要基因交叉和基因变异;
6)采用杰出者选择算法在末代遗传操作产生新的种群后,计算出种群的适应度,然后按适应度将种群中的个体进行排序,取适应度高的个体组成新的准群。
进一步的说,本发明所述的步骤2)中的目标函数为:
其中θ1,θ2分别包含了两个摄像机的所有参数:左摄像机α1,β1,γ1,Tx1,Ty1,Tz1,u01,v01,Nx1,Ny1,f1,k1;右摄像机α2,β2,γ2,Tx2,Ty2,Tz2,u02,v02,Nx2,Ny2,f2,k2。该目标函数的优势在于可以将两个摄像机单独进行标定,减少了单次遗传算法优化参数的数量,使得迭代次数有所减少,在矫正算法精度的同时,极大的提高了算法的速度。
采用了二进制编码和实数编码相结合的编码方式。其中二进制编码可以快速解锁定到正解附近,实数编码相对于二进制编码,可以在遗传操作中实现变量的连续变化,克服了二进制编码的必然误差,可以进行高精度局部搜索,同时实数编码不需要编码和解码,因此在实现时可以省去繁琐的编码和解码工作,大幅的减少了算法计算时间,
本发明所述的步骤5)中,对每一组个体的每一个位置进行变异判断,如果该位置需要基因交叉则有:
其中C1,C2为父代中该位置的参数,C1',C2'为子代该位置的参数,τ1,τ2,τ3,τ4为0到1间的随机变量,并且满足τ1+τ2=1,τ3+τ4=1;
对每个个体的每一个位置进行判断,如需要进行基因变异,假设该位置变量为M,则在预先设好的变异范围[-b,b]内随机生成一个变量T,则变异后新的个体为M',有
M'=M+T
其中范围b的设定与遗传代数有关:
在变异过程中,对变异后的结果做的限定,如果参数超出了初始参数范围,将重新执行变异操作,直到变异后的结果在初始范围内,变异才结束。
本发明首先将二进制编码和实数编码相结合,二进制编码将可行解快速锁定到最优解附近,实数编码进一步提高遗传算法的精度;其次采用从世界坐标到图像坐标的前向映射关系作为目标函数,将两个摄像机参数分离,提高算法的收敛速度。
本发明的有益效果是:首先建立一个数学模型,然后在一定范围内求解最优的相机参数,通过全局搜索的强大功能,消除了近似计算的误差。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明遗传算法摄像机标定的流程图;
图2是本发明的编码流程图;
具体实施方式
现在结合附图和优选实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
如图1所示,采用摄像机成像原理建立摄像机的数学模型,相机的成像过程是利用中间摄像机坐标和图像平面坐标变换进行世界坐标和像素坐标之间的变换。从世界坐标到相机坐标,需要的旋转和平移变换,本发明使用欧拉角旋转变换。图像平面坐标和图像的像素坐标之间的关系是一个尺度变换。图像平面坐标和摄像机坐标系之间的变换可以简化为前投影模型和镜头畸变。因此,双目视觉模型可以通过建立两个摄像机的变换方程共同获得:
[Xw,Yw,Zw]T=(MTM)-1MTD.
其中M和D包括两个摄像机24个内外参数。
遗传算法操作是一群编码化的可行解,被称为种群,其中每个编码的可行解是一个个体。它通过种群的更新和迭代来搜索全局最优解。种群的迭代更新是通过选择,交叉和变异等具有生物学意义的遗传操作来实现。遗传算法的主要特点是:算法直接对结构对象的操作,对求导与函数的连续性是没有限定。具有内在的隐并行性和更好的全局寻优能力。该算法可以自动获取和指导优化搜的索空间,自适应地调整搜索方向没有任何既定的规则。遗传算法的核心内容包括以下几个部分:编码方案,目标函数,选择机制、交叉和变异机制。
双目视觉系统的数学模型具有参数多,函数关系复杂,标定精度要求较高等特点,因此标准遗传算法很难达满足我们的需求,甚至很容易因陷入局部极值而无法完成标定。为了使遗传算法对本文系统达到较好的优化效果,本文采用了改进的遗传算法,并引入了实数编码,如图2所示。
在评估个体适应度时,需要用到目标函数。本文使用的目标函数是控制点的平均误差,即控制点的理论值与通过摄像机参数求解值的距离的平均值:
其中θ包含了两个摄像机的所有参数:左摄像机α1,β1,γ1,Tx1,Ty1,Tz1,u01,v01,Nx1,Ny1,f1,k1;右摄像机α2,β2,γ2,Tx2,Ty2,Tz2,u02,v02,Nx2,Ny2,f2,k2;N为种群中个体个数。本文去目标函数值为适应度值,目标函数值越小,即平均距离越小,个体的适应度越高。
初始化是遗传算法的前期准备,一般初始化中包含了遗传操作参数初始化,种群初始化和摄像机参数初始化。
遗传操作初始化主要是确定遗传操作中变异和交叉的概率,这个概率直接影响了遗传算法的收敛速度。
种群初始化需要确定种群的数量和大小,标准遗传算法是采用单种群,个体数量一般在60到100之间;还有随机生成种群个体。
摄像机参数初始化:这个过程中本文根据实验中的双目视觉系统,初略的估计出24个摄像机参数的大概范围。为了兼顾算法收敛速度和参数标定的精度,本文的遗传算法分为两个阶段。第一阶段采用二进制编码进行遗传操作,可以快速的将摄像机参数锁定在一个较小的范围内;第二阶段采用实数编码进行遗传操作,由于实数编码中参数变化较为连续,能连续的搜索解空间,所以求解的参数精度较高。
第一阶段,二进制编码:
本阶段采用二进制编码,编码长度设置如下表
将这些变量按上述长度编码后按照α1,β1,γ1,Tx1,Ty1,Tz1,u01,v01,Nx1,Ny1,f1,k1,α2,β2,γ2,Tx2,Ty2,Tz2,u02,v02,Nx2,Ny2,f2,k2的顺序联接为一个长度为204的二进制数,那么一个这样的二进制数就代表了遗传操作中的一个个体。
交叉和变异同普通二进制编码。
选择:本阶段采用了杰出者选择算法。该选择算法是在末代遗传操作产生新的种群后,计算出种群的适应度,然后按适应度将种群中的个体进行排序,取适应度高的个体组成新的准群。
第二阶段,实数编码;
本阶段采用实数编码,每个个体是由α1,β1,γ1,Tx1,Ty1,Tz1,u01,v01,Nx1,Ny1,f1,k1,α2,β2,γ2,Tx2,Ty2,Tz2,u02,v02,Nx224个摄像机参数按顺序组成的一个数组。
实数编码在遗传算法中存在一些争议,其批评者认为,实数编码不具备基因的外在表现形式,在交叉和变异过程中未能体现基因交换和基因突变的细节特征,与遗传算法建立在生物进化论思想上这一基础相背离。实数编码的支持者对这这一点的解释是:生物进化论只是遗传算法的思想基础而非必须遵守的准则;工程优化问题考虑的是优化问题本身,只要优化问题能够得到求解,遗传算法在形式上与生物进化论有所背离是可以接受的。
实数编码相对于二进制编码,可以在遗传操作中实现变量的连续变化,克服了二进制编码的必然误差;实数编码不需要编码和解码,因此在实现时可以省去繁琐的编码和解码工作,大幅的减少了算法计算时间。这一点在后续的实验中得到了证明。
交叉:交叉过程如下表,对每组需要交叉的个体C1,C2,本文先在1到24之间随机生成一个数t,对于交叉生成新个体C1`,C2`,第1到t个变量保持不变,第t+1到24个变量交换位置:
这里交叉过程可以理解为染色体交叉,在这个过程中不会产生新的基因。
变异:本文中变异分两个过程,首先是基因的交叉,然后是基因变异。
基因交叉(参数交叉):对每一组个体,本文会对他的每一个位置进行变异判断,如果该位置需要基因交叉则有:
其中C1,C2为父代中该位置的参数,C1`,C2`为子代该位置的参数,切τ1τ2τ3τ4为0到1间的随机变量,并且满足τ1+τ2=1,τ3+τ4=1。
基因变异:同基因交叉,对每个个体,本文会对他的每一个位置进行判断,如需要进行基因变异,假设该位置变量为M,则在预先设好的变异范围[-b,b]内随机生成一个变量T,则变异后新的个体为M`,有
M`=M+T
其中范围b的设定于遗传代数有关:
在变异过程中,本为对变异后的结果做的限定,如果参数超出了初始参数范围,将重新执行变异操作,直到变异后的结果在初始范围内,变异才结束。
对于圆点标定板,以圆点的重心为控制点,在图像中检测容易,而且可以检测重心是利用的像素较多,可以将像素误差均匀化,因此相对于棋盘格角点,检测到的重心较为准确,实验也表明圆点重心的检测具有较高的精度。
具有较高的标定精度点标定板进行选择,和控制点是从点的中心提取。图像的畸变点的投影变换,当图像产生不规则变形,很难直接判断点的比重。为了解决这个问题,首先对图像进行二值化,和点的重力是由区域生长法检测均匀像素误差,使检测精度高,控制点。以21幅不同深度的实验,三种解决方案有不同的控制点的选择是通过测试所提出的校准方法:解决方案1:选择一个图像的30个控制点;解决方案2:在一个图像中选取99个点;解决方案3:在不同图像中选择30个控制点
三种解决方案的校准结果列于下表。
其中标定误差是指参与标定的控制点所对应世界坐标的计算值和理论值的平均误差(两点间的距离),平均误差是指实验所采集的21个平面中所有控制点的平均误差,最大误差是指21组平面中平均误差最大一组的平均误差,最小误差表示21组平面中平均误差最小一组的平均误差。
由方案1和方案2中标定结果明显出现了错误,当控制点仅在一个平面时,标定对该平面上的校正效果较好,当深度改变是,标定就会出现错误。也就是一个平面的数控制点无法完全校正摄像机参数。而增加标定点数量仅仅可以改善标定的效果.
经综合考虑,本文选自方案三。
对于解决方案3,两组图像被用于校准并从每个图像选择30个控制点,然后对在21幅图像中其他所有点进行检测。对提出的算法基于MATLAB7.1编程,详细结果如下:对于左摄像机标定,二进制编码阶段运行400代和实数编码1701代。对右摄像机标定,二进制编码阶段运行400代和实数编码阶段运行2757代。
以上说明书中描述的只是本发明的具体实施方式,各种举例说明不对本发明的实质内容构成限制,所属技术领域的普通技术人员在阅读了说明书后可以对以前所述的具体实施方式做修改或变形,而不背离发明的实质和范围。
Claims (3)
1.一种基于遗传算法的高精度标定方法,其特征在于包括以下步骤:
1)采用摄像机成像原理建立摄像机的数学模型,将双目视觉系统参数化:即提取左右图像中同一控制点分别在两幅图像中的像素坐标;
2)利用由控制点的世界坐标经摄像机模型计算出来的图像像素坐标和实际检测到控制点像素坐标的平均距离作为目标函数;
3)二进制编码:将二进制编码中的变量进行编码长度设置,并按顺序连接为一个二进制数;所述的二进制数代表遗传操作中的一个个体;
4)实数编码与交叉:将摄像机的24个参数按顺序组成一个数组;设定每组需要交叉的个体C1,C2,先在1到24之间随机生成一个数t,对于交叉生成新个体C1`,C2`,第1到t个变量保持不变,第t+1到24个变量交换位置;
5)对每一组个体的每一个位置进行变异判断是否需要基因交叉和基因变异;
6)采用杰出者选择算法在末代遗传操作产生新的种群后,计算出种群的适应度,然后按适应度将种群中的个体进行排序,取适应度高的个体组成新的准群。
2.如权利要求1所述的一种基于遗传算法的高精度标定方法,其特征在于:所述的步骤2)中的目标函数为:
其中θ1,θ2分别包含了两个摄像机的所有参数:左摄像机α1,β1,γ1,Tx1,Ty1,Tz1,u01,v01,Nx1,Ny1,f1,k1;右摄像机α2,β2,γ2,Tx2,Ty2,Tz2,u02,v02,Nx2,Ny2,f2,k2。
3.如权利要求1所述的一种基于遗传算法的高精度标定方法,其特征在于:所述的步骤5)中,对每一组个体的每一个位置进行变异判断,如果该位置需要基因交叉则有:
其中C1,C2为父代中该位置的参数,C1',C2'为子代该位置的参数,τ1,τ2,τ3,τ4为0到1间的随机变量,并且满足τ1+τ2=1,τ3+τ4=1;
对每个个体的每一个位置进行判断,如需要进行基因变异,假设该位置变量为M,则在预先设好的变异范围[-b,b]内随机生成一个变量T,则变异后新的个体为M',有
M'=M+T
其中范围b的设定与遗传代数有关:
在变异过程中,对变异后的结果做的限定,如果参数超出了初始参数范围,将重新执行变异操作,直到变异后的结果在初始范围内,变异才结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410127522.8A CN103871068B (zh) | 2014-03-31 | 2014-03-31 | 一种基于遗传算法的高精度标定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410127522.8A CN103871068B (zh) | 2014-03-31 | 2014-03-31 | 一种基于遗传算法的高精度标定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103871068A true CN103871068A (zh) | 2014-06-18 |
CN103871068B CN103871068B (zh) | 2016-08-17 |
Family
ID=50909573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410127522.8A Expired - Fee Related CN103871068B (zh) | 2014-03-31 | 2014-03-31 | 一种基于遗传算法的高精度标定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103871068B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037289A (zh) * | 2020-09-16 | 2020-12-04 | 安徽意欧斯物流机器人有限公司 | 一种基于遗传算法的离线参数标定方法 |
CN112102414A (zh) * | 2020-08-27 | 2020-12-18 | 江苏师范大学 | 基于改进遗传算法和神经网络的双目远心镜头标定方法 |
CN113160325A (zh) * | 2021-04-01 | 2021-07-23 | 长春博立电子科技有限公司 | 基于进化算法的多摄像机高精度自动标定方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750704A (zh) * | 2012-06-29 | 2012-10-24 | 吉林大学 | 一种摄像机分步自标定方法 |
CN203149664U (zh) * | 2013-03-27 | 2013-08-21 | 黑龙江科技学院 | 双目视觉摄像机标定板 |
US20130250068A1 (en) * | 2012-03-21 | 2013-09-26 | Ricoh Company, Ltd. | Calibration device, range-finding system including the calibration device and stereo camera, and vehicle mounting the range-finding system |
CN103473771A (zh) * | 2013-09-05 | 2013-12-25 | 上海理工大学 | 一种摄相机标定方法 |
-
2014
- 2014-03-31 CN CN201410127522.8A patent/CN103871068B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130250068A1 (en) * | 2012-03-21 | 2013-09-26 | Ricoh Company, Ltd. | Calibration device, range-finding system including the calibration device and stereo camera, and vehicle mounting the range-finding system |
CN102750704A (zh) * | 2012-06-29 | 2012-10-24 | 吉林大学 | 一种摄像机分步自标定方法 |
CN203149664U (zh) * | 2013-03-27 | 2013-08-21 | 黑龙江科技学院 | 双目视觉摄像机标定板 |
CN103473771A (zh) * | 2013-09-05 | 2013-12-25 | 上海理工大学 | 一种摄相机标定方法 |
Non-Patent Citations (2)
Title |
---|
刘俏: "基于改进遗传算法的摄像机标定技术的研究", 《中国优秀硕士学位论文库》 * |
苏晋: "摄像机标定方法研究", 《中国优秀硕士学位论文库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112102414A (zh) * | 2020-08-27 | 2020-12-18 | 江苏师范大学 | 基于改进遗传算法和神经网络的双目远心镜头标定方法 |
CN112037289A (zh) * | 2020-09-16 | 2020-12-04 | 安徽意欧斯物流机器人有限公司 | 一种基于遗传算法的离线参数标定方法 |
CN113160325A (zh) * | 2021-04-01 | 2021-07-23 | 长春博立电子科技有限公司 | 基于进化算法的多摄像机高精度自动标定方法 |
CN113160325B (zh) * | 2021-04-01 | 2022-10-11 | 长春博立电子科技有限公司 | 基于进化算法的多摄像机高精度自动标定方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103871068B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110220493B (zh) | 一种双目测距方法及其装置 | |
CN104484648B (zh) | 基于轮廓识别的机器人可变视角障碍物检测方法 | |
CN106940704A (zh) | 一种基于栅格地图的定位方法及装置 | |
CN106600639A (zh) | 遗传算法结合自适应阈值约束的icp位姿定位技术 | |
CN104506838A (zh) | 一种符号阵列面结构光的深度感知方法、装置及系统 | |
CN102982334B (zh) | 基于目标边缘特征与灰度相似性的稀疏视差获取方法 | |
CN109493384B (zh) | 相机位姿估计方法、系统、设备及存储介质 | |
CN103295239A (zh) | 一种基于平面基准影像的激光点云数据的自动配准方法 | |
CN111998862B (zh) | 一种基于bnn的稠密双目slam方法 | |
CN108171249B (zh) | 一种基于rgbd数据的局部描述子学习方法 | |
CN105913435A (zh) | 一种适用于大区域的多尺度遥感影像匹配方法及系统 | |
CN113393524B (zh) | 一种结合深度学习和轮廓点云重建的目标位姿估计方法 | |
CN114581887B (zh) | 车道线的检测方法、装置、设备和计算机可读存储介质 | |
CN113267761B (zh) | 激光雷达目标检测识别方法、系统及计算机可读存储介质 | |
CN109871829A (zh) | 一种基于深度学习的检测模型训练方法和装置 | |
CN106355608A (zh) | 基于可变权重代价计算与S‑census变换的立体匹配方法 | |
CN103954280A (zh) | 一种快速和高鲁棒性自主恒星识别方法 | |
CN112767546B (zh) | 移动机器人基于双目图像的视觉地图生成方法 | |
CN103871068A (zh) | 一种基于遗传算法的高精度标定方法 | |
CN105046691A (zh) | 一种基于正交消失点的相机自标定方法 | |
CN102354399B (zh) | 一种摄像机外部参数自定标方法及装置 | |
CN104463896B (zh) | 基于核相似区分布特性的图像角点检测方法及系统 | |
CN116071491A (zh) | 一种多视角三维点云重建方法及装置 | |
CN115908491A (zh) | 一种双目序列图像中圆形非编码标志点在线实时跟踪与匹配方法 | |
Song et al. | CNN-based object detection and distance prediction for autonomous driving using stereo images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160817 Termination date: 20200331 |