CN109798877A - 一种仿生水下机器鱼双目立体测距方法 - Google Patents
一种仿生水下机器鱼双目立体测距方法 Download PDFInfo
- Publication number
- CN109798877A CN109798877A CN201910126386.3A CN201910126386A CN109798877A CN 109798877 A CN109798877 A CN 109798877A CN 201910126386 A CN201910126386 A CN 201910126386A CN 109798877 A CN109798877 A CN 109798877A
- Authority
- CN
- China
- Prior art keywords
- pixel
- binocular
- value
- disparity
- ranging
- 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
Landscapes
- Measurement Of Optical Distance (AREA)
Abstract
本发明公开一种仿生水下机器鱼双目立体测距方法,通过SGBM的匹配算法不仅可以获取更多有效深度点,而且在计算速度上也优于SIFT特征提取匹配的算法;同时,在水下场景光线衰减严重的情况下,采用近距离精度更高的图像双目测距,结合远距离声呐探测的方式;不仅弥补声呐近距离流场干扰不足,又能减少远距离双目受光线不足的影响,实现高精度的水下避障探测。
Description
技术领域
本发明涉及机器人视觉检测相关技术领域,具体来说,涉及一种仿生水下机器鱼双目立体测距方法。
背景技术
仿生机器鱼用于完成水下探测任务,一般采用声呐的方式进行障碍物的探测,但在水下场景光线衰减严重的情况下,声呐近距离流场干扰不足,无法进行及时有效的判断;其次,也有仿生机器鱼在水下运动过程中通过双目机器视觉的方式对前方阻碍物进行判断,而现有双目测距过程中采用如SIFT特征提取匹配的方式,不仅获取的有效深度点较少,而且算法复杂度高,无法满足本体在运动过程中对于障碍物体判断躲避的实时性。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的上述技术问题,本发明提出一种仿生水下机器鱼双目立体测距方法,包括以下步骤:
S1相机标定:对双目相机进行标定;在标定过程中,参考相机畸变状态修正理想投影模型;
S2立体匹配:通过极线约束的方式进行匹配,具体的,使用SGBM算法在左右两相机已经行对齐的图像中的同一行上寻找最相似点;
S3双目测距:采用相似三角形原理,基于双目相机视差进行测距;和
S4声呐测距:采用单波束声呐进行测距;
S5:采用无迹kalman滤波融合将S3中双目测距数据和S4中声呐测距数据;得到最终测量数据。
进一步的,在S1相机标定中,具体包括:原始视图、消除畸变、双目校正和图像裁剪。
进一步的,在S1中,消除畸变中参考相机畸变状态具体包括:径向畸变和切向畸变。
进一步的,在S2中,使用SGBM算法具体包括:通过选取两行对齐的图像中每个像素点的disparity,组成一个disparity map,通过将一和disparity map相关的全局能量函数E(D)最小化,求解每个像素p最优disparity;能量函数E(D)为:
其中:D为disparity map;p,q分别代表图像中的两不同像素;Np为像素p的相邻像素点;C(p,Dp)为当前像素点disparity为Dp时,该像素点的cost;P1为第一惩罚系数,它适用于像素p相邻像素中dsparity值与p的dsparity值相差1的那些像素;P2为第二惩罚系数,它适用于像素p相邻像素中dsparity值与p的dsparity值相差大于1的那些像素。
进一步的,在S2中,求解每个像素p最优disparity过程包括分别求解像素p各个方向上的最小cost值;
其中:r为某个指向当前像素p的方向;Lr(p,d)表示沿着当前方向,当目前像素p的disparity取值为d时,其最小cost值。
进一步的,在S2中,将各个方向上的cost值累加,选取累加cost值最小的disparity值作为该像素的最终disparity值。
进一步的,在S3中,基于双目相机视差进行测距中采用下式进行计算:
其中,d为步骤S2中得到的最终disparity值;fTx为步骤S1中相机标定得到的标定结果。
本发明的有益效果:通过SGBM的匹配算法不仅可以获取更多有效深度点,而且在计算速度上也优于SIFT特征提取匹配的算法;同时,在水下场景光线衰减严重的情况下,采用近距离精度更高的图像双目测距,结合远距离声呐探测的方式;不仅弥补声呐近距离流场干扰不足,又能减少远距离双目受光线不足的影响,实现高精度的水下避障探测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的一种仿生水下机器鱼双目立体测距方法中声呐测距的结构示意图;
图2是根据本发明实施例所述的一种仿生水下机器鱼双目立体测距方法中相机标定的流程图;
图3是根据本发明实施例所述的一种仿生水下机器鱼双目立体测距方法中径向畸变的示意图;
图4是根据本发明实施例所述的一种仿生水下机器鱼双目立体测距方法中切向畸变的示意图;
图5是根据本发明实施例所述的一种仿生水下机器鱼双目立体测距方法中相机标定方法示意图;
图6是根据本发明实施例所述的一种仿生水下机器鱼双目立体测距方法中两相机坐标系匹配变换的示意图;
图7是根据本发明实施例所述的一种仿生水下机器鱼双目立体测距方法中左右两相机采集到的图像匹配示意图;
图8是根据本发明实施例所述的一种仿生水下机器鱼双目立体测距方法原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1-8所示,根据本发明实施例所述的一种仿生水下机器鱼双目立体测距方法,包括以下步骤:
S1相机标定:对双目相机进行标定;在标定过程中,参考相机畸变状态修正理想投影模型;
S2立体匹配:通过极线约束的方式进行匹配,具体的,使用SGBM算法在左右两相机已经行对齐的图像中的同一行上寻找最相似点;
S3双目测距:采用相似三角形原理,基于双目相机视差进行测距;和
S4声呐测距:采用单波束声呐进行测距;
S5:采用无迹kalman滤波融合将S3中双目测距数据和S4中声呐测距数据;得到最终测量数据。
如图1所示,本实施例中,在仿生水下机器鱼的主体上三个标号分别为1、2、3的单波束声呐,并且图中A、B、C分别表示各对应声呐的收发波束角;其中单波束声呐1位于仿生水下机器鱼主体前端双目相机之间;仿生水下机器鱼主体根据每个传感器获得的距离参数进行实时观测,再反推出主体周围的障碍物大体轮廓,根据障碍物大体轮廓,进行转向和游速判断,进行避障;
如图2所示,本实施例中,在S1相机标定中,具体包括:原始视图、消除畸变、双目校正和图像裁剪;消除畸变中参考相机畸变状态具体包括:径向畸变和切向畸变;理想的摄像机模型是针孔模型,但是实际的镜头不符合这种假设。另外,相机的构造以及制造、安装、工艺等因素也会造成误差,导致相机通常会存在多种非线性畸变,使得上面介绍的针孔相机模型并不能准确地描述最终的成像关系。所以,为了使相机标定结果更加准确,在进行相机标定时应该将相机的非线性畸变考虑进来,修正理想投影模型。
如图3所示,径向畸变产生的主要原因是镜头径向曲率的不规则变化,它会导致图像的扭曲变形,例如,空间中的一条直线成像到图像平面后发生弯曲,变形成一条曲线。这种畸变的特点是以主点为中心,沿径向移动,离的距离越远,产生的变形量就越大。径向畸变是导致图像畸变的主要因素。如图3所示,一个矩形的严重径向失真被较正成理想线性镜头的图像;径向畸变有桶形畸变和枕形畸变两种;径向畸变模型在opencv中被描述为:
xcorrected=x(1+k1r2+k2r4+k3r6)ycorrected=y(1+k1r2+k2r4+k3r6)
xcorrected=x(1+k1r2+k2r4+k3r6)ycorrected=y(1+k1r2+k2r4+k3r6)
如图4所示,由于透镜不是完美地平行于图像平面,所以存在切向畸变;这种畸变使得一些区域看上去比预期的近;畸变模型为:
xcorrected=x+[2p1xy+p2(r2+2x2)]ycorrected=y+[p1(r2+2y2)+2p2xy]
xcorrected=x+[2p1xy+p2(r2+2x2)]ycorrected=y+[p1(r2+2y2)+2p2xy]
本实施例中,用以下5个参数描述摄像机畸变,即:
Distortion coefficients=(k1,k2,p1,p2,k3)
如图5所示,本实施例,在具体标定过程中,固定双目相机位置,棋盘格摆放不同角度拍摄,N个角点的K张图片需要满足:
2·N·K≥6·K+4
即可解得超定线性方程组,得出相机内参(Fx,Fy,Cx,Cy)以及五个畸变参数(k1,k2,p1,p2,k3);拍摄两组标定图像,分别标定矫正之后,将右边相机放射变换,使左右相机像素行对其,方便匹配计算,最后裁剪出有效区域以计算。
如图6所示,三维世界的一个点在两个相机的成像,我们可以相信,这两个在各自相机的相对位置基本不可能是一样的,而这种位置的差别,也正是我们眼睛区别3D和2D的关键,将右边的摄像机投影到左边,因为他的坐标和左边相机的左边相距Tx(标定测出来的外参数),所以它相当于在左边的相机对三维世界内的(x-tx,y,z)进行投影,即可得相似三角,这里视差就是d=x-x‘;图6中,根据双目相机中两相机坐标系间的关系,可以得到:
其中,xl代表左边相机坐标系中X方向的距离值,xr代表右边相机坐标系中X方向的距离值;d为步骤S2中得到的最终disparity值;fTx为步骤S1中相机标定得到的标定结果。
如图7所示,本实施例中,在S2中,使用SGBM算法具体包括:通过选取两行对齐的图像中每个像素点的disparity,组成一个disparity map,通过将一和disparity map相关的全局能量函数E(D)最小化,求解每个像素p最优disparity;能量函数E(D)为:
其中:D为disparity map;p,q分别代表图像中的两不同像素;Np为像素p的相邻像素点;C(p,Dp)为当前像素点disparity为Dp时,该像素点的cost;P1为第一惩罚系数,它适用于像素p相邻像素中dsparity值与p的dsparity值相差1的那些像素;P2为第二惩罚系数,它适用于像素p相邻像素中dsparity值与p的dsparity值相差大于1的那些像素。
利用上述函数在一个二维图像中寻找最优解是一个NP-complete问题,耗时过于巨大,因此该问题被近似分解为多个一维问题,即线性问题。而且每个一维问题都可以用动态规划来解决。因为1个像素有8个相邻像素,因此一般分解为8个一维问题。本实施例中,从左到右这一方向为例,如图7所示,在S2中,求解每个像素p最优disparity过程包括分别求解像素p各个方向上的最小cost值;
其中:r为某个指向当前像素p的方向;Lr(p,d)表示沿着当前方向,当目前像素p的disparity取值为d时,其最小cost值;
因为Lr(p,d)是会随着当前像素的右移不停增长的,为了防止数值溢出,所以要让它维持在一个较小的数值。
C(p,d)的计算通过如下两个公式计算:
C(p,d)=min(d(p,p-d,IL,IR),d(p-d,p,IR,IL))
即,当前像素p和移动d之后的像素q之间,经过半个像素插值后,寻找两个像素点灰度或者RGB差值的最小值,作为C(p,d)的值。
具体来说:设像素p的灰度/RGB值为I(p),先从I(p),(I(p)+I(p-1))/2,(I(p)+I(p+1))/2三个值中选择出和I(q)差值最小的,即d(p,p-d);然后再从I(q),(I(q)+I(q-1))/2,(I(q)+I(q+1))/2三个值中选择出和I(p)差值最小的,即d(p-d,p);最后从两个值中选取最小值,就是C(p,d);
以上是从一个方向(从左至右)计算出的像素在取值为某一disparity值时的最小cost值。一个像素有8个邻域,所以一共要从8个方向计算(左右,右左,上下,下上,左上右下,右下左上,右上左下,左下右上)这个cost值;其它方向的cost值在此不再赘述;
如图8所示,本实施例中,在S2中,将各个方向上的cost值累加,选取累加cost值最小的disparity值作为该像素的最终disparity值;对于每个像素进行该操作后,就形成了整个图像的disparity map。公式表达如下:
SGBM算法遍历每个像素,针对每个像素的操作和disparity的范围有关,故时间复杂度为:O(w·h·n)。
综上,借助于本发明的上述技术方案,通过SGBM的匹配算法不仅可以获取更多有效深度点,而且在计算速度上也优于SIFT特征提取匹配的算法;同时,在水下场景光线衰减严重的情况下,采用近距离精度更高的图像双目测距,结合远距离声呐探测的方式;不仅弥补声呐近距离流场干扰不足,又能减少远距离双目受光线不足的影响,实现高精度的水下避障探测。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种仿生水下双目机器鱼测距避障方法,其特征在于,包括以下步骤:
S1相机标定:对双目相机进行标定;在标定过程中,参考相机畸变状态修正理想投影模型;
S2立体匹配:通过极线约束的方式进行匹配,具体的,使用SGBM算法在左右两相机已经行对齐的图像中的同一行上寻找最相似点;
S3双目测距:采用相似三角形原理,基于双目相机视差进行测距;和
S4声呐测距:采用单波束声呐进行测距;
S5:采用无迹kalman滤波融合将S3中双目测距数据和S4中声呐测距数据;得到最终测量数据。
2.根据权利要求1所述的一种仿生水下机器鱼双目立体测距方法,其特征在于,在S1相机标定中,具体包括:原始视图、消除畸变、双目校正和图像裁剪。
3.根据权利要求2所述的一种仿生水下机器鱼双目立体测距方法,其特征在于,在S1中,消除畸变中参考相机畸变状态具体包括:径向畸变和切向畸变。
4.根据权利要求3所述的一种仿生水下机器鱼双目立体测距方法,其特征在于,在S2中,使用SGBM算法具体包括:通过选取两行对齐的图像中每个像素点的disparity,组成一个disparity map,通过将一和disparity map相关的全局能量函数E(D)最小化,求解每个像素p最优disparity;能量函数E(D)为:
其中:D为disparity map;p,q分别代表图像中的两不同像素;Np为像素p的相邻像素点;C(p,Dp)为当前像素点disparity为Dp时,该像素点的cost;P1为第一惩罚系数,它适用于像素p相邻像素中dsparity值与p的dsparity值相差1的那些像素;P2为第二惩罚系数,它适用于像素p相邻像素中dsparity值与p的dsparity值相差大于1的那些像素。
5.根据权利要求4所述的一种仿生水下机器鱼双目立体测距方法,其特征在于,在S2中,求解每个像素p最优disparity过程包括分别求解像素p各个方向上的最小cost值;
其中:r为某个指向当前像素p的方向;Lr(p,d)表示沿着当前方向,当目前像素p的disparity取值为d时,其最小cost值。
6.根据权利要求5所述的一种仿生水下机器鱼双目立体测距方法,其特征在于,在S2中,将各个方向上的cost值累加,选取累加cost值最小的disparity值作为该像素的最终disparity值。
7.根据权利要求6所述的一种仿生水下机器鱼双目立体测距方法,其特征在于,在S3中,基于双目相机视差进行测距中采用下式进行计算:
其中,d为步骤S2中得到的最终disparity值;fTx为步骤S1中相机标定得到的标定结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126386.3A CN109798877B (zh) | 2019-02-20 | 2019-02-20 | 一种仿生水下机器鱼双目立体测距方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126386.3A CN109798877B (zh) | 2019-02-20 | 2019-02-20 | 一种仿生水下机器鱼双目立体测距方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109798877A true CN109798877A (zh) | 2019-05-24 |
CN109798877B CN109798877B (zh) | 2021-08-06 |
Family
ID=66562108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910126386.3A Active CN109798877B (zh) | 2019-02-20 | 2019-02-20 | 一种仿生水下机器鱼双目立体测距方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109798877B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516601A (zh) * | 2019-08-28 | 2019-11-29 | 杭州律橙电子科技有限公司 | 一种基于双目相机和深度学习技术的公交客流计数方法 |
CN110702066A (zh) * | 2019-10-15 | 2020-01-17 | 哈尔滨工程大学 | 一种水下双目相机视觉定位方法 |
CN111709985A (zh) * | 2020-06-10 | 2020-09-25 | 大连海事大学 | 一种基于双目视觉的水下目标测距方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102384744A (zh) * | 2011-11-16 | 2012-03-21 | 山推楚天工程机械有限公司 | 基于机器视觉的工程机械远距离测量的方法及设备 |
CN108629812A (zh) * | 2018-04-11 | 2018-10-09 | 深圳市逗映科技有限公司 | 一种基于双目相机的测距方法 |
CN108681337A (zh) * | 2018-05-21 | 2018-10-19 | 河北艺海机器人科技有限公司 | 一种涵洞或桥梁专用巡查无人机及无人机巡查方法 |
CN108693535A (zh) * | 2018-04-03 | 2018-10-23 | 中信重工开诚智能装备有限公司 | 一种用于水下机器人的障碍物探测***和探测方法 |
CN109059895A (zh) * | 2018-03-28 | 2018-12-21 | 南京航空航天大学 | 一种基于手机摄像头和传感器的多模态室内测距及定位方法 |
-
2019
- 2019-02-20 CN CN201910126386.3A patent/CN109798877B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102384744A (zh) * | 2011-11-16 | 2012-03-21 | 山推楚天工程机械有限公司 | 基于机器视觉的工程机械远距离测量的方法及设备 |
CN109059895A (zh) * | 2018-03-28 | 2018-12-21 | 南京航空航天大学 | 一种基于手机摄像头和传感器的多模态室内测距及定位方法 |
CN108693535A (zh) * | 2018-04-03 | 2018-10-23 | 中信重工开诚智能装备有限公司 | 一种用于水下机器人的障碍物探测***和探测方法 |
CN108629812A (zh) * | 2018-04-11 | 2018-10-09 | 深圳市逗映科技有限公司 | 一种基于双目相机的测距方法 |
CN108681337A (zh) * | 2018-05-21 | 2018-10-19 | 河北艺海机器人科技有限公司 | 一种涵洞或桥梁专用巡查无人机及无人机巡查方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516601A (zh) * | 2019-08-28 | 2019-11-29 | 杭州律橙电子科技有限公司 | 一种基于双目相机和深度学习技术的公交客流计数方法 |
CN110702066A (zh) * | 2019-10-15 | 2020-01-17 | 哈尔滨工程大学 | 一种水下双目相机视觉定位方法 |
CN110702066B (zh) * | 2019-10-15 | 2022-03-18 | 哈尔滨工程大学 | 一种水下双目相机视觉定位方法 |
CN111709985A (zh) * | 2020-06-10 | 2020-09-25 | 大连海事大学 | 一种基于双目视觉的水下目标测距方法 |
CN111709985B (zh) * | 2020-06-10 | 2023-07-07 | 大连海事大学 | 一种基于双目视觉的水下目标测距方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109798877B (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544860B2 (en) | Combined point cloud generation using a stationary laser scanner and a mobile scanner | |
Sedlazeck et al. | Perspective and non-perspective camera models in underwater imaging–overview and error analysis | |
CN101887589B (zh) | 一种基于立体视觉的实拍低纹理图像重建方法 | |
CN112785702A (zh) | 一种基于2d激光雷达和双目相机紧耦合的slam方法 | |
CN108489496A (zh) | 基于多源信息融合的非合作目标相对导航运动估计方法及*** | |
EP3032818B1 (en) | Image processing device | |
CN110044300A (zh) | 基于激光器的两栖三维视觉探测装置及探测方法 | |
CN102509348B (zh) | 一种共享增强现实场景的真实物体多方位表示方法 | |
CN109798877A (zh) | 一种仿生水下机器鱼双目立体测距方法 | |
CN111435081B (zh) | 海面测量***、海面测量方法以及存储介质 | |
CN105335699B (zh) | 读写场景中读写元素三维坐标的智能认定方法及其应用 | |
CN109141240A (zh) | 一种自适应3d测量及信息获取装置 | |
CN109410234A (zh) | 一种基于双目视觉避障的控制方法及控制*** | |
Servos et al. | Underwater stereo SLAM with refraction correction | |
CN112669354A (zh) | 一种基于车辆非完整约束的多相机运动状态估计方法 | |
CN114359406A (zh) | 自动对焦双目摄像头的标定、3d视觉及深度点云计算方法 | |
Nedevschi | Online cross-calibration of camera and lidar | |
CN105354828B (zh) | 读写场景中读物三维坐标的智能认定方法及其应用 | |
CN117406234A (zh) | 基于单线激光雷达与视觉融合的目标测距和追踪的方法 | |
CN116500595A (zh) | 激光雷达、相机和惯性传感器相互约束的外参标定方法 | |
CN107341764A (zh) | 基于鱼眼镜头立体视觉的虚拟空间定位方法及*** | |
CN116804537A (zh) | 一种双目测距***及方法 | |
JP5147055B2 (ja) | 距離計測装置及び距離計測方法 | |
CN113554714B (zh) | 车载双目立体相机自校正方法及其***、fpga芯片 | |
CN102542563A (zh) | 一种移动机器人前向单目视觉的建模方法 |
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 |