CN113436272B - 水下立体视觉***球面折射矫正方法、电子设备 - Google Patents
水下立体视觉***球面折射矫正方法、电子设备 Download PDFInfo
- Publication number
- CN113436272B CN113436272B CN202110710534.3A CN202110710534A CN113436272B CN 113436272 B CN113436272 B CN 113436272B CN 202110710534 A CN202110710534 A CN 202110710534A CN 113436272 B CN113436272 B CN 113436272B
- Authority
- CN
- China
- Prior art keywords
- underwater
- refraction
- spherical
- checkerboard
- vision system
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012937 correction Methods 0.000 title claims abstract description 39
- 238000005457 optimization Methods 0.000 claims abstract description 50
- 238000003384 imaging method Methods 0.000 claims abstract description 32
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 19
- 230000003287 optical effect Effects 0.000 claims description 41
- 239000013598 vector Substances 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 8
- 108090000623 proteins and genes Proteins 0.000 claims description 8
- 239000000126 substance Substances 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 3
- 238000005259 measurement Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000002068 genetic effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000000149 argon plasma sintering Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004392 development of vision Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
- G06T2207/30208—Marker matrix
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Genetics & Genomics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physiology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本发明属于计算机视觉技术领域,具体涉及一种水下立体视觉***球面折射矫正方法、电子设备,旨在解决现有技术中的水下视觉测量不精确的问题,方法包括使用待标定的立体视觉***在水下采集标准棋盘格的图像;基于采集的水下棋盘格图像结合折射参数标定算法获得球面折射参数;从水下立体视觉***采集的图像选择目标,获得目标在左右成像平面的坐标;基于目标在左右成像平面的坐标以及球面折射参数,通过求解逆光路球面折射模型获得目标在左相机坐标系下的空间位置坐标;本发明针对水下双目立体视觉***中球面折射矫正问题,通过搭建逆光路球面折射模型,结合优化算法求解折射参数,实现水下视觉精确测量任务。
Description
技术领域
本发明属于计算机视觉技术领域,具体涉及一种水下立体视觉***球面折射矫正方法、电子设备。
背景技术
近年来,水下视觉***被广泛应用于水下建图、导航和监测等领域。相比于声纳、结构光等其它水下传感器,视觉传感器具有体积小、能耗低、收集信息丰富等诸多优势。通过装备水下视觉***,水下航行器等水下作业设备可以有效提高自身环境感知能力和作业能力。但是水下视觉***通常会受到光的散射和折射带来的不良影响,其中光在防水舱窗口表面产生的折射会严重影响水下视觉***的测量精度。而广泛应用于水下机器人的球面防水窗口导致的测量误差尤为严重,且没有得到妥善解决。
随着视觉传感器的发展和水下视觉***的广泛应用,水下折射矫正已成为水下视觉测量领域的研究热点。通过对水下折射进行有效的矫正从而获得精确的水下测量结果能够进一步提高水下作业设备的环境感知能力,为水下自主作业的研究和发展奠定坚实的基础。目前,已有的水下折射矫正方法根据实现原理可以分为三大类:畸变矫正方法、几何矫正方法和透视中心偏移法。其中畸变矫正的方法通过直接标定折射导致的图像畸变对水下折射进行矫正,但是其已经被证明不能完全消除折射造成的测量误差;几何矫正方法则通过对折射模型进行几何建模实现目标位置的求解,理论上可以获得更好的矫正结果,但是其严重依赖于精确的折射参数;透视中心偏移法是几何校正方法的一种变体,同样会受到折射参数设定的严重影响。在水下折射矫正相关研究中,Sedlazeck和Koch在已知折射参数的情况下提出了一种实用的平面折射矫正方法,并将其用于水下三维作业。针对折射参数标定问题,Agrawal等人基于单一轴向相机模型提出了一种折射参数的估计方法。Kong等人在平面折射模型的基础上将折射参数的标定问题转化为多目标优化问题,并取得了稳定的效果。
随着水下自主作业航行器的迅速发展,双目立体视觉***被广泛应用,但是该场景下的球面折射矫正问题并没有得到妥善解决。
发明内容
为了解决上述问题,即为了解决现有技术中的水下视觉测量不精确的问题,本发明提供了一种水下立体视觉***球面折射矫正方法、电子设备。
本发明的第一方面提供了一种水下立体视觉***球面折射矫正方法,该方法包括以下步骤:步骤S100,使用待标定的立体视觉***在水下采集标准棋盘格的图像;
步骤S200,基于采集的所述水下棋盘格图像结合折射参数标定算法获得球面折射参数;
步骤S300,从水下立体视觉***采集的图像选择目标,获得目标在左右成像平面的坐标;
步骤S400,基于目标在左右成像平面的坐标以及球面折射参数,通过求解逆光路球面折射模型获得目标图像中预设点对应的从相机光心到目标之间完整的逆向光路,求解左右相机对应光路的交点位置获得目标在空间中的精确坐标。
在一些优选实施例中,步骤S200中的所述折射参数标定算法具体包括以下步骤:步骤S10,应用张氏标定法对使用的双目相机进行标定,获得相机内参数矩阵和相机外参数矩阵;
步骤S30,设置折射参数Os、R、d为待优化变量,设置N个种群个体作为父代种群P,并为每个种群个体进行待优化变量的随机初始化;其中,Os={xs,ys,zs}为折射面球心在左相机坐标系下的位置、R为内球面半径、d为透明壳体的厚度;
步骤S40,进行迭代优化,设置起始代数n=1,设置最大迭代次数nGen;
步骤S50,对父代种群进行交叉变异操作,得到规模为N子代种群R,并将父代种群P和子代种群R合并为规模为2N的新种群Q;
依次将种群Q内2N个个体的基因作为折射参数,通过球面折射模型求解方法计算棋盘格上所有角点对应的空间位置,此时种群中的所有个体将得到对应的一组坐标;
步骤S60,针对每个种群个体,根据棋盘格角点空间不变性计算预设优化目标;
步骤S70,根据每个个体计算得到的目标函数值,对种群进行非支配排序并计算相同非支配等级中个体的拥挤度;
步骤S80,依据非支配等级由高到低选择N个各自作为新的父代种群;
步骤S90,计算n=n+1,如果所有个体的目标函数值均小于预设阈值或者n>nGen,则跳出迭代循环,将最终种群个体的基因作为待优化参数值;否则重复执行步骤S40至步骤S90。
w为棋盘格宽度;Ci,j为第i行第j列的棋盘格角点坐标;U为棋盘格中角点行数,V为列数。
在一些优选实施例中,第一预设优化目标F1的优化条件为:棋盘格中相邻角点之间的距离为定值,经过折射模型矫正的棋盘格角点坐标满足原始距离条件。
在一些优选实施例中,第二预设优化目标F2的优化条件为:棋盘格中任意一角点与其行方向和列方向上的相邻角点的连线存在严格的垂直关系。
在一些优选实施例中,第三预设优化目标F3的优化条件为:棋盘格中任意角点与其行方向或者列方向上的相邻角点的连线与棋盘格的X轴或者Y轴平行。
在一些优选实施例中,第四预设优化目标F4的优化条件为:处于棋盘格同行或者同列的角点位于同一条直线。
球面折射模型求解方法具体包括以下步骤:
步骤A10,获得源自左相机光心的第一段光路获得源自右相机光心的第一段光路其中,目标在左右成像平面的坐标X,X=[X0,l,X0,r],X0,l和X0,r表示左右相机成像平面上的目标点,Ol、Or分别为左右相机的光心;
本发明的第二方面提供了一种电子设备,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上面所述的水下立体视觉***球面折射矫正方法。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上面任一项所述的水下立体视觉***球面折射矫正方法。
本发明第一方面公开的水下立体视觉***球面折射矫正方法,针对水下双目立体视觉***中球面折射矫正问题,通过搭建逆光路球面折射模型,结合优化算法求解折射参数,实现水下视觉精确测量任务。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明中的水下立体视觉***球面折射矫正方法的流程部;
图2是Snell定律示意图和本发明中逆光路球面折射模型示意图;
图3是本发明中棋盘格角点的空间不变性示意图;
图4是本发明中水下视觉测量实验视频截图;
图5是用于实现本申请方法、***、设备实施例的服务器的计算机***的结构示意图。
具体实施方式
为使本发明的实施例、技术方案和优点更加明显,下面将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所述的实施例是本发明的一部分实施例,而不是全部实施例。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
本发明的第一方面提供了一种水下立体视觉***球面折射矫正方法,该方法包括以下步骤:步骤S100,使用待标定的立体视觉***在水下采集标准棋盘格的图像;步骤S200,基于采集的水下棋盘格图像结合折射参数标定算法获得球面折射参数;步骤S300,从水下立体视觉***采集的图像选择目标,获得目标在左右成像平面的坐标;步骤S400,基于目标在左右成像平面的坐标以及球面折射参数,通过求解逆光路球面折射模型获得目标图像中预设点对应的从相机光心到目标之间完整的逆向光路,求解左右相机对应光路的交点位置获得目标在空间中的精确坐标。
利用本发明提出的立体视觉***下球面折射矫正算法,自主研制的水下微型云台相机***可以实现精确的水下视觉测量,图4为实验验证过程中的部分实验记录。本发明提出一种应用于双目立体视觉***的水下球面折射矫正方法,包括逆光路球面折射模型和基于多目标优化算法的折射参数估计算法。所述逆光路折射模型,基于Snell折射定律和立体几何理论构建,根据双目相机捕捉的目标图像,反向推演得到目标图像中一点对应的从相机光心到目标之间完整的逆向光路,通过求解左右相机对应光路的交点位置得到目标在空间中的精确坐标。所述基于多目标优化算法的折参数估计算法用于估计上述折射模型应用所需的折射参数,主要包括左相机坐标系下球形折射面的球心位置、内球面半径和透明壳体厚度,利用棋盘格标定板中隐含的角点位置的空间不变性,将折射模型中涉及的参数求解问题转化为多目标优化问题,并应用非支配排序遗传算法对其进行优化求解,最终获得实用的球面折射参数。本发明在自主研制的微型线驱动云台相机***中进行了实验验证,实现了高精度的水下视觉测量,并在动光轴情境下表现出了出色的通用性和稳定性,为基于水下视觉的自主作业相关研究奠定了基础。
以下参照附图结合具体实施例进一步说明本发明。
参照附图1至附图4,本发明的第一方面提供了一种水下立体视觉***球面折射矫正方法,该方法包括以下步骤:步骤S100,使用待标定的立体视觉***在水下采集标准棋盘格的图像;步骤S200,基于采集的水下棋盘格图像结合折射参数标定算法获得球面折射参数;步骤S300,从水下立体视觉***采集的图像选择目标,获得目标在左右成像平面的坐标;步骤S400,基于目标在左右成像平面的坐标以及球面折射参数,通过求解逆光路球面折射模型获得目标图像中预设点对应的从相机光心到目标之间完整的逆向光路,求解左右相机对应光路的交点位置获得目标在空间中的精确坐标。
其中,折射参数标定算法具体可用以下伪代码(基于非支配排序遗传算法的折射参数标定)表示;
输入:受球面折射影响的棋盘格图像,棋盘格参数w;输出:球面折射参数Os、R、d。
步骤S10,应用张氏标定法对使用的双目相机进行标定,获得相机内参数和相机外参数矩阵Rt;
步骤S30,设置折射参数Os、R、d为待优化变量,设置N个种群个体作为父代种群P,并为每个种群个体进行待优化变量的随机初始化;其中,Os为折射面球心位置、R为内球面半径、d为透明壳体的厚度;
步骤S40,For n=1:nGen,nGen为设置的最大迭代次数;即在本步骤中开始迭代优化,设置起始代数n=1,设置最大迭代次数nGen;
步骤S50,对父代种群进行交叉变异操作,得到规模为N子代种群R,并将父代种群P和子代种群R合并为规模为2N的新种群Q;
依次将种群Q内2N个个体的基因作为折射参数,通过伪代码“球面折射模型求解”所示的求解过程(即球面折射模型求解方法)计算棋盘格上所有角点对应的空间位置Ci,j,此时种群中的所有个体将得到对应的一组Ci,j;
步骤S60,针对每个种群个体,根据Ci,j以及公式(8)—(10)计算四个预设优化目标;
步骤S70,根据每个个体计算得到的目标函数值,对种群进行非支配排序并计算相同非支配等级中个体的拥挤度;
步骤S80,依据非支配等级由高到低选择N个各自作为新的父代种群;
步骤S90,计算n=n+1,如果所有个体的目标函数值均小于预设阈值或者n>nGen,则跳出迭代循环,将最终种群个体的基因作为待优化参数值;否则重复步骤S40;
步骤S100,End For;
步骤S110,从最终的种群中选择选择一个个体基因作为折射参数的最终估计值。
进一步地,在本发明中,第一部分为逆光路球面折射模型的构建;要实现精确的球面折射矫正,建立完备的几何模型是必要的。为便于理解,在正式进行折射模型的计算步骤归纳前,下文给出了图中涉及的参数的含义、求解所需的基础知识以及对应的计算公式。在一般情况下,可以用理想平面表示折射面,平面两侧介质具有不同的折射率,此处用n1和n2表示。另外用r1和r2表示平面两侧的入射光线和出射光线,和表示入射光线和出射光线对应的方向向量。根据Snell定律,一般折射情况下出射光线的方向向量可以表示为入射光线的方向向量和入射点处平面法向量的线性组合。
其中
sgn(n1-n2)为符号函数。在球面折射模型中,通过重新计算折射点处的法向量即可将一般情况下的折射计算扩展到球面折射模型中。
在此基础上可以将光的折射的一般性定理用于构建球面折射模型。如图1所示的球面折射模型中,球形透明壳体被表示为两个同心且半径不同的球面,Os表示折射面的球心位置,空气、透明壳体和水的折射率表示为n1、n2和n3,Ol和Or为左右相机的光心,X0,l和X0,r表示左右相机成像平面上的目标点,模型中所有位置坐标均统一表示在左相机坐标系下。另外内折射球面半径用R表示,透明折射壳体的厚度用d表示。上述参数中Os、R、d无法通过测量得到,因此在本发明中同时提出了通过优化方法对以上参数进行标定的方法。从目标反射的光线将在水-壳体和壳体-空气两个球面上发生两次折射。根据相机成像原理,相机的入射光线可以由相机光心和像平面上对应的目标点唯一确定。由于光的传播逆向可循,利用折射定律反演得到从相机光心到目标的逆向光路是可行的。
为了更清晰地对折射模型进行描述,对其中涉及的光路进行如下表示:所有的有向光路均用出射点和对应的方向向量表示,通过添加下标“l”和“r”用于区分源于左相机光心和右相机光心的元素,从相机光心出发,每段光路按前后顺序计数区分,用i表示。以源自左相机光心的第i段光路为例,其出射点表示为Xi,l={xi,l,yi,l,zi,l},其的方向向量表示为整个光路用ri,l表示,记为为了简易表示,在下文中将使用符号“*”统一表示下标符号“l”和“r”。
在折射模型的求解中主要涉及两个部分的计算在以下折射模型的折射点的求解和出射光线的求解。在图1所示的场景中,折射点的求解可以抽象为空间中直线与球面交点的求解。同样以源自左相机光心的第i段光路为例。
交点的计算方式如下:
如果mi,l≠0
如果mi,l=0并且ni,l≠0
因为入射点为球面上一点,因此入射点的法向量可以用球心与该点连线的方向向量表示,表示如下:
因此,完整的球面折射模型求解过程即为上面所述的球面折射模型求解方法。
其中,预设优化目标为F1、F2、F3、F4;
w为棋盘格宽度;Ci,j为第i行第j列的棋盘格角点坐标;U为棋盘格中角点行数,V为列数。
其中,第一预设优化目标F1的优化条件为:棋盘格中相邻角点之间的距离为定值,经过折射模型矫正的棋盘格角点坐标满足原始距离条件。
第二预设优化目标F2的优化条件为:棋盘格中任意一角点与其行方向和列方向上的相邻角点的连线存在严格的垂直关系,这一垂直关系可以通过向量之间的点乘进行描述。
第三预设优化目标F3的优化条件为:棋盘格中任意角点与其行方向或者列方向上的相邻角点的连线与棋盘格的X轴或者Y轴平行。
第四预设优化目标F4的优化条件为:处于棋盘格同行或者同列的角点位于同一条直线,该标准可以通过所有测量的角点坐标与边缘点所构成直线的垂直距离之和进行描述,其中棋盘格X轴和Y轴通过附图2示的边缘角点确定,这一平行关系可以通过向量之间的叉乘进行描述。
进一步地,在本发明中,依据棋盘格中已知且固定的角点相对位置提出将折射参数求解问题转化为优化问题。该优化问题将折射面球心位置Os、内球面半径R和透明壳体的厚度d作为待优化变量,并根据如图2所示的棋盘格角点空间不变性设立以下四个优化目标,当待优化变量不存在误差时,四个优化目标都将趋于零值。其中计算得到的第i行第j列的棋盘格角点坐标记为Ci,j,棋盘格宽度记为w且为已知,将棋盘格中角点行数记为U,列数即为V。
进一步地,步骤S40中涉及的球面折射模型求解方法具体包括以下步骤:步骤A10,获得源自左相机光心的第一段光路获得源自右相机光心的第一段光路其中,目标在左右成像平面的坐标X,X=[X0,l,X0,r],X0,l和X0,r表示左右相机成像平面上的目标点,Ol、Or分别为左右相机的光心;
步骤A60,根据预设公式(3)-(5)计算r2,l与第一层球面折射面的交点X2,l;
步骤A70,根据预设公式(3)-(5)计算r2,r与第一层球面折射面的交点X2,r;
另外需要对优化变量设置初始取值范围。最终使用非支配排序遗传算法对上述优化问题进行优化求解。非支配排序优化算法是遗传算法的一种,将待优化变量作为种群个体的基因,通过种群个体之间的交叉变异对种群进行更新,通过非支配遗传排序和同非支配等级内种群个体的拥挤度计算对种群个体进行选择,经过多代迭代最终得到多目标优化的帕累托解集;另外在上述确定的待优化变量和优化目标的条件下,其它多目标优化方法同样适用于球面折射参数的求解。
在本实施例中的双目标定具体为:根据小孔成像原理对双目相机进行水下离线标定,计算左右相机的内参矩阵,外参矩阵,畸变系数以及左右相机之间的旋转和平移矩阵。
本发明第三实施例的一种电子设备,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现所述的所述的水下立体视觉***球面折射矫正方法。
本发明第四实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现所述的所述的水下立体视觉***球面折射矫正方法。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
下面参考图5,其示出了用于实现本申请方法、***、设备实施例的服务器的计算机***的结构示意图。图5示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机***包括中央处理单元(CPU,Central Processing Unit)601,其可以根据存储在只读存储器(ROM,Read Only Memory)602中的程序或者从存储部分608加载到随机访问存储器(RAM,Random Access Memory)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有***操作所需的各种程序和数据。CPU 601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O,Input/Output)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN(局域网,Local AreaNetwork)卡、调制解调器等的网络接口卡的通讯部分609。通讯部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通讯部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
需要说明的是,在本发明的描述中,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (9)
1.一种水下立体视觉***球面折射矫正方法,其特征在于,该方法包括以下步骤:
步骤S100,使用待标定的立体视觉***在水下采集标准棋盘格的图像;
步骤S200,基于采集的水下棋盘格图像结合折射参数标定算法获得球面折射参数;具体包括:步骤S10,应用张氏标定法对使用的双目相机进行标定,获得相机内参数矩阵和相机外参数矩阵;步骤S20,对标准棋盘格的图像进行角点检测,获得角点在左右成像平面的坐标步骤S30,设置折射参数Os、R、d为待优化变量,设置N个种群个体作为父代种群P,并为每个种群个体进行待优化变量的随机初始化;其中,Os为折射面球心位置、R为内球面半径、d为透明壳体的厚度;步骤S40,进行迭代优化,设置起始代数n=1,设置最大迭代次数nGen;步骤S50,对父代种群进行交叉变异操作,得到规模为N子代种群R,并将父代种群P和子代种群R合并为规模为2N的新种群Q;依次将种群Q内2N个个体的基因作为折射参数,通过球面折射模型求解方法计算棋盘格上所有角点对应的空间位置,此时种群中的所有个体将得到对应的一组坐标;步骤S60,针对每个种群个体,根据棋盘格角点空间不变性计算预设优化目标;步骤S70,根据每个个体计算得到的目标函数值,对种群进行非支配排序并计算相同非支配等级中个体的拥挤度;步骤S80,依据非支配等级由高到低选择N个各自作为新的父代种群;步骤S90,计算n=n+1,如果所有个体的目标函数值均小于预设阈值或者n>nGen,则跳出迭代循环,将最终种群个体的基因作为待优化参数值;否则返回执行步骤S40;
步骤S300,从水下立体视觉***采集的图像选择目标,获得目标在左右成像平面的坐标;
步骤S400,基于目标在左右成像平面的坐标以及球面折射参数,通过求解逆光路球面折射模型获得目标图像中预设点对应的从相机光心到目标之间完整的逆向光路,求解左右相机对应光路的交点位置获得目标在空间中的精确坐标。
3.根据权利要求2所述的水下立体视觉***球面折射矫正方法,其特征在于,第一预设优化目标F1的优化条件为:棋盘格中相邻角点之间的距离为定值,经过折射模型矫正的棋盘格角点坐标满足原始距离条件。
4.根据权利要求2所述的水下立体视觉***球面折射矫正方法,其特征在于,第二预设优化目标F2的优化条件为:棋盘格中任意一角点与其行方向和列方向上的相邻角点的连线存在严格的垂直关系。
5.根据权利要求2所述的水下立体视觉***球面折射矫正方法,其特征在于,第三预设优化目标F3的优化条件为:棋盘格中任意角点与其行方向或者列方向上的相邻角点的连线与棋盘格的X轴或者Y轴平行。
6.根据权利要求2所述的水下立体视觉***球面折射矫正方法,其特征在于,第四预设优化目标F4的优化条件为:处于棋盘格同行或者同列的角点位于同一条直线。
7.根据权利要求1所述的水下立体视觉***球面折射矫正方法,其特征在于,球面折射模型求解方法具体包括以下步骤:
步骤A10,获得源自左相机光心的第一段光路获得源自右相机光心的第一段光路其中,目标在左右成像平面的坐标X,X=[X0,l,X0,r],X0,l和X0,r表示左右相机成像平面上的目标点,Ol、Or分别为左右相机的光心;
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求1-7任一项所述的水下立体视觉***球面折射矫正方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求1-7任一项所述的水下立体视觉***球面折射矫正方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021105587479 | 2021-05-21 | ||
CN202110558747 | 2021-05-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113436272A CN113436272A (zh) | 2021-09-24 |
CN113436272B true CN113436272B (zh) | 2021-12-21 |
Family
ID=77754382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110710534.3A Active CN113436272B (zh) | 2021-05-21 | 2021-06-25 | 水下立体视觉***球面折射矫正方法、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113436272B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883516B (zh) * | 2023-09-07 | 2023-11-24 | 西南科技大学 | 相机参数标定方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105698767A (zh) * | 2015-12-30 | 2016-06-22 | 哈尔滨工业大学深圳研究生院 | 一种基于视觉的水下测量方法 |
CN106920263A (zh) * | 2017-03-10 | 2017-07-04 | 大连理工大学 | 基于Kinect的无畸变集成成像三维显示方法 |
CN109242908A (zh) * | 2018-07-12 | 2019-01-18 | 中国科学院自动化研究所 | 用于水下双目视觉测量***的标定方法 |
CN110197466A (zh) * | 2019-05-30 | 2019-09-03 | 河海大学常州校区 | 一种广角鱼眼图像矫正方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10782311B2 (en) * | 2017-02-28 | 2020-09-22 | King Abdullah University Of Science And Technology | Rainbow particle imaging velocimetry for dense 3D fluid velocity imaging |
US11195321B2 (en) * | 2019-04-24 | 2021-12-07 | Canon Kabushiki Kaisha | Information processing apparatus, information processing system, information processing method, and storage medium |
CN110490940A (zh) * | 2019-08-15 | 2019-11-22 | 北京迈格威科技有限公司 | 基于棋盘格单幅图像的相机标定方法和装置 |
CN110458898B (zh) * | 2019-08-15 | 2022-03-22 | 北京迈格威科技有限公司 | 相机标定板、标定数据采集方法、畸变校正方法及装置 |
CN110969158B (zh) * | 2019-11-06 | 2023-07-25 | 中国科学院自动化研究所 | 基于水下作业机器人视觉的目标检测方法、***、装置 |
-
2021
- 2021-06-25 CN CN202110710534.3A patent/CN113436272B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105698767A (zh) * | 2015-12-30 | 2016-06-22 | 哈尔滨工业大学深圳研究生院 | 一种基于视觉的水下测量方法 |
CN106920263A (zh) * | 2017-03-10 | 2017-07-04 | 大连理工大学 | 基于Kinect的无畸变集成成像三维显示方法 |
CN109242908A (zh) * | 2018-07-12 | 2019-01-18 | 中国科学院自动化研究所 | 用于水下双目视觉测量***的标定方法 |
CN110197466A (zh) * | 2019-05-30 | 2019-09-03 | 河海大学常州校区 | 一种广角鱼眼图像矫正方法 |
Non-Patent Citations (2)
Title |
---|
"A NSGA-II-Based Calibration Algorithm for Underwater Binocular Vision Measurement System";Shihan Kong et al.;《IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT》;20200331;第69卷(第3期);第794-803页 * |
"一种用于水下激光成像的光学***设计";王四林 等;《湖南农机》;20121130;第39卷(第11期);第99-102页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113436272A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109489620B (zh) | 一种单目视觉测距方法 | |
CN109242908B (zh) | 用于水下双目视觉测量***的标定方法 | |
CN101019096B (zh) | 用于相对于触摸面检测指示器的装置和方法 | |
CN102278946B (zh) | 摄像装置以及长度测量方法 | |
Huang et al. | A novel multi-planar LIDAR and computer vision calibration procedure using 2D patterns for automated navigation | |
CN114200430A (zh) | 激光雷达与相机的标定方法、***、设备及存储介质 | |
CN111709985B (zh) | 一种基于双目视觉的水下目标测距方法 | |
CN112465877B (zh) | 一种基于运动状态估计的卡尔曼滤波视觉追踪稳定方法 | |
Kawahara et al. | A pixel-wise varifocal camera model for efficient forward projection and linear extrinsic calibration of underwater cameras with flat housings | |
CN111915678B (zh) | 一种基于深度学习的水下单目视觉目标深度定位融合估计方法 | |
CN112444246B (zh) | 高精度的数字孪生场景中的激光融合定位方法 | |
Guo et al. | An analytical least-squares solution to the line scan lidar-camera extrinsic calibration problem | |
CN112825190A (zh) | 一种精度评估方法、***、电子设备和存储介质 | |
CN113436272B (zh) | 水下立体视觉***球面折射矫正方法、电子设备 | |
CN113763478B (zh) | 无人车相机标定方法、装置、设备、存储介质及*** | |
KR20220025028A (ko) | 시각적 비콘 기반의 비콘 맵 구축 방법, 장치 | |
Hagemann et al. | Inferring bias and uncertainty in camera calibration | |
Yoon et al. | Depth estimation from stereo cameras through a curved transparent medium | |
Yang et al. | A precise calibration method for the underwater binocular camera with unknown refractive index | |
Bhateja et al. | Depth analysis of kinect v2 sensor in different mediums | |
CN114049401A (zh) | 双目相机标定方法、装置、设备及介质 | |
CN110567486B (zh) | 校准3d旋转差异的数学模型构建方法、校准方法及其装置 | |
Ozendi et al. | A generic point error model for TLS derived point clouds | |
Dolereit et al. | Underwater stereo calibration utilizing virtual object points | |
Olague | Autonomous photogrammetric network design using genetic algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |