一种用于水下机器人的多目视觉三维测量方法

未命名 07-12 阅读:64 评论:0


1.本发明涉及机器视觉技术领域,具体而言,尤其一种用于水下机器人的多目视觉三维测量方法。


背景技术:

2.由于水下环境和海洋杂质对光线的折射、散射与吸收等因素的影响,水下目标三维位置测量问题通常不使用激光雷达等方式,而使用视觉的方式解决。具体到水下海产品捕捞,通常使用以下几种方法:使用单目摄像机与低自由度抓取臂的固定位置捕捞,此种捕捞技术假定所有待捕捞产品都位于较为平缓的海底,首先提前预估好抓取臂放下时,可抓取到物体在单目摄像机视野中的位置,当机器人贴地巡航时如果视野对应位置出现可抓取目标,则控制抓取臂进行设定好的抓取动作。使用双目摄像机与高自由度抓取臂的灵活位置捕捞。此种捕捞技术使用双目摄像机实时计算目标深度信息并换算成相对于抓取臂的坐标。使用泵吸式吸取器捕捞,此种捕捞技术使用吸水泵将目标物吸入捕捞箱。
3.然而对于使用低自由度抓取臂与单目摄像机的固定位置捕捞技术,由于能够进行抓取的位置是固定的,且水下机器人自身也有相当的体积,因此能够顺畅进行抓取的场景较少。对于使用高自由度抓取臂与双目摄像机的灵活位置捕捞技术,由于进行双目测量所需的计算时间较大而且抓取过程中经常出现机械臂遮挡双目视野导致匹配失效的问题,因此也需要进行改进。对于使用泵吸式吸取器的捕捞方式,虽然工作效率很高,但是极易对海床造成不可逆的伤害;而且由于大部分海产品柔软的特性,此种方法容易对海产品的质量造成损害。同时,在吸取海产品时,较大的吸力同时也会将泥沙碎石等一同吸入,他们之间的撞击会使机器受到损伤,也容易对海产品造成二次伤害。


技术实现要素:

4.根据上述提出一种用于水下机器人的多目视觉三维测量方法,该方法可以解决水下自主捕捞机器人抓取目标物体时使用单目视觉时捕捞环境受限的缺陷,以及使用双目视觉时由于水下环境的特征信息缺失等带来的立体匹配准确率低、速度慢以及抓取过程中双目视觉被遮挡的问题;本发明采用的技术手段包括如下步骤:
5.分别对单目摄像机和双目摄像机进行标定和畸变校正获得摄像机参数信息,基于摄像机参数信息获取矫正后的水下图像的每帧影像;
6.对矫正后的水下图像进行预处理获得水下清晰图像;
7.将双目摄像机的左摄像机作为主摄像机,将主摄像机获取的水下清晰图像输入目标检测程序,得到在像素坐标系中的检测框位置;
8.采用双目摄像机对目标海产品进行距离测量,获得该目标海产品相对于以主摄像机为坐标原点的三维坐标;
9.基于上述三维坐标导航auv到目标海产品位置附近,利用双目摄像机对目标海产品的精确位置以及尺寸进行测算;
10.根据获得的目标海产品位置控制机械臂运动,在机械臂运动的同时利用眼在手上的单目摄像机与目标海产品尺寸进行目标位置估计,并将得到的新三维坐标更新为机械臂运动终点,当机械臂运动到终点时抓取目标海产品。
11.设置最大视差值,将像素坐标系中的检测框位置向左扩展该最大视差值个像素,作为在双目摄像机右摄像机成像面上寻找同名点的范围;
12.在上述范围内应用ad-census立体匹配方法进行立体匹配,得到该范围内每一像素点对应的视差值并组成视差图;
13.根据标定得到的双目摄像机的基线距离计算所述视差图中每一像素点对应的以主摄像机为坐标原点的三维坐标:
[0014][0015]
其中,d为某一方向上的实际距离,f为摄像机像素单位的焦距,disp为该点视差值,b为基线距离;
[0016]
采用garbcut算法将检测框位置作为算法的输入,分割出目标海产品的真实轮廓和所占像素点,并以掩膜的方式表示;
[0017]
根据轮廓信息找到包围目标海产品的最小矩形区域,并得到该区域的四个角点的坐标从而获得最小外接矩形;
[0018]
计算最小外接矩形四边的中点坐标并获得对应的世界坐标,获得目标海产品的尺寸大小,其中最小外接矩形与像素坐标的x轴的夹角即为目标海产品的姿态。
[0019]
根据获得的目标海产品的三维坐标控制机械臂进行运动;
[0020]
在机械臂运动的同时,利用眼在手上的单目摄像机与获得的目标海产品的长度信息,利用公式实时计算目标物的位置:
[0021][0022]
其中d1,d2,l1,l2分别为目标物体两端点距离摄像机光心的垂直距离与水平距离,yaw,pitch分别为摄像机的俯仰角与偏航角,h1,h2分别为物体两端点摄像机内成像点与光心的垂直距离,h为摄像机距地面的高度,f为摄像机的焦距,len为目标物的真实长度。
[0023]
本发明提供的一种用于水下机器人的多目视觉三维测量方法,该方法在增加抓取臂灵活度的同时使用目标物的先验知识,通过计算规模更小的单目测距来对特定形状的水
下目标进行位置测算,最终使水下海产品自主抓取能在精度和速度上取得平衡。
附图说明
[0024]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025]
图1为本发明中公开的方法的总流程图;
[0026]
图2为本发明中双目视觉系统测量目标物大小方法的流程图;
[0027]
图3为本发明中双目视觉系统测量目标物大小方法中目标识别的示意图;
[0028]
图4为本发明中双目视觉系统测量目标物大小方法中grabcut算法目标分割的示意图;
[0029]
图5为本发明中双目视觉系统测量目标物大小方法中最小外接矩形的示意图;
[0030]
图6为本发明中双目视觉系统测量目标物大小方法中测量点计算的示意图;
[0031]
图7为本发明中单目测距模型的简化立体示意图;
[0032]
图8为本发明中单目测距模型的俯视示意图。
具体实施方式
[0033]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0034]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0035]
如图1所示,本发明提供了一种用于水下机器人的多目视觉三维测量方法,具体包括如下步骤:
[0036]
s1:分别对眼在抓取臂上的单目摄像机(以下简称单目摄像机)和眼在手外的双目摄像机(以下简称双目摄像机)进行标定与畸变校正,得到摄像机参数,并通过摄像机参数计算校正后的每帧影像;
[0037]
s2:对校正后的图像进行图像预处理,得到较为清晰的水下清晰图像,方便后续处理;
[0038]
s3:将双目摄像机的左摄像机作为主摄像机,将主摄像机获取的帧送入标海产品检测程序,得到目标海产品在像素坐标系中的检测框位置;
[0039]
s4:利用双目摄像机对检测到的标海产品进行距离测量,获得该标海产品相对于以主摄像机为坐标原点的三维坐标;
[0040]
s5:根据得到的三维坐标导航auv到标海产品位置附近;
[0041]
s6:利用双目摄像机对标海产品的位置以及大小进行测算;
[0042]
s7:根据获得目标海产品位置,控制机械臂进行运动,在机械臂运动的同时利用眼在手上的单目摄像机与s6中获得的目标海产品大小进行目标位置估计,并将估计得到的新的三维坐标更新为机械臂运动终点,当机械臂运动到终点时,进行抓取。
[0043]
s1中具体采用如下方式:
[0044]
s11:准备一个平面、具有已知尺寸的棋盘格标定板;
[0045]
s12:分别从不同角度拍摄多张标定图像,尽可能保证标定板在图像中出现的位置、角度、大小、曝光等条件尽量多样化;
[0046]
s13:将单目摄像机和双目摄像机拍摄的标定图像分别导入matlab中的camera calibrator toolbox和stereo camera calibrator toolbox中,并设定好棋盘格的边长;
[0047]
s14:导入成功后,点击calibrate按钮,得到标定结果,选取标定误差小于0.4的部分,分别导出单目摄像机和双目摄像机的摄像机参数;
[0048]
s15:使用opencv中的stereorectify函数计算出左右摄像机的矫正映射,用于将原始图像矫正成新的视角下的图像;
[0049]
s16:使用opencv中的initundistortrectifymap函数计算摄像机畸变矫正和立体矫正时需要的映射表,将原始图像中的像素坐标映射到新的矫正后的图像中的像素坐标;
[0050]
s17:使用opencv中的remap函数将原始图像应用矫正映射,得到新的矫正后的图像。
[0051]
s2中具体采用如下方式:
[0052]
s21:使用中值滤波,有效地减少图像中的噪声,特别是椒盐噪声状的漂浮物;
[0053]
s22:使用直方图均衡化的方式通过重新分配图像的灰度级,将图像中原来的低对比度区域扩展到整个灰度级范围内,改善水下图像的对比度,使水下图像更加清晰、明亮;
[0054]
s23:使用同态滤波,去除在水下由于使用人工光源而造成的阴影和反射,并增强图像的细节信息,去除图像噪声,保留图像的色彩信息。
[0055]
s3中具体采用如下方式:
[0056]
s31:加载训练好能够识别海产品的权重文件;
[0057]
s32:将双目摄像机的左摄像机获取的帧送入目标海产品检测程序,得到海产品检测框在像素坐标系中的位置,使用检测框左上角点的坐标(x1,y1)和右下角点的坐标(x2,y2)可以表示该检测框的位置;
[0058]
s4中具体采用如下方式:
[0059]
s41:根据预设的最大视差maxdisp,将成像面上的检测框向左扩展maxdisp个像素,作为在双目摄像机右摄像机成像面上寻找同名点的范围;
[0060]
s42:在s41所述范围内应用ad-census立体匹配方法进行立体匹配,得到该范围内每一像素点对应的视差值,组成视差图;
[0061]
s43:根据s2中标定得到的双目摄像机的基线距离,计算s42所属视差图中每一像素点对应的以主摄像机为坐标原点的三维坐标。
[0062][0063]
其中,d为某一方向上的实际距离,f为摄像机像素单位的焦距,disp为该点视差值,b为基线距离。
[0064]
s6中具体采用如下方式,如图2所示:
[0065]
s61:采用grabcut算法,将s4中得到的检测框位置作为算法的输入,如图3所示,分割出目标海产品的真实轮廓与所占像素点,以掩膜的方式表示,如图4所示;
[0066]
s62:根据s61中得到的掩膜信息,使用opencv中的findcontours函数检测轮廓信息;
[0067]
s63:根据s62中的到的轮廓信息,使用opencv中的minarearect找到包围目标海产品的最小矩形区域,并使用boxpoints得到该区域的四个角点的坐标,如图5所示;
[0068]
s64:计算s63中的最小外接矩形四边的中点坐标,如图6所示,依据s5的方法计算得到这些点对应的世界坐标,并由此计算目标海产品的长与宽即为目标海产品大小,s63中minarearect返回信息中包含最小外接矩形与像素坐标的x轴的夹角即为目标海产品的姿态。
[0069]
s7中具体采用如下方式:
[0070]
s71:根据s5获得的目标海产品三维坐标,控制机械臂进行运动;
[0071]
s72:在机械臂运动的同时,利用眼在手上的单目摄像机与s6中获得的目标海产品的长度信息,如图7,图8所示,利用公式实时计算目标海产品的位置;
[0072][0073]
其中,d1,d2,l1,l2分别为目标海产品两端点距离摄像机光心的垂直距离与水平距离,yaw,pitch分别为摄像机的俯仰角与偏航角,h1,h2分别为物体两端点摄像机内成像点与光心的垂直距离,h为摄像机距地面的高度,f为摄像机的焦距,len为目标海产品的真实长度。
[0074]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的范围。

技术特征:
1.一种用于水下机器人的多目视觉三维测量方法,其特征在于,包括:分别对单目摄像机和双目摄像机进行标定和畸变校正获得摄像机参数信息,基于摄像机参数信息获取矫正后的水下图像的每帧影像;对矫正后的水下图像进行预处理获得水下清晰图像;将双目摄像机的左摄像机作为主摄像机,将主摄像机获取的水下清晰图像输入目标检测程序,得到在像素坐标系中的检测框位置;采用双目摄像机对目标海产品进行距离测量,获得该目标海产品相对于以主摄像机为坐标原点的三维坐标;基于上述三维坐标导航auv到目标海产品位置附近,利用双目摄像机对目标海产品的精确位置以及尺寸进行测算;根据获得的目标海产品位置控制机械臂运动,在机械臂运动的同时利用眼在手上的单目摄像机与目标海产品尺寸进行目标位置估计,并将得到的新三维坐标更新为机械臂运动终点,当机械臂运动到终点时抓取目标海产品。2.根据权利要求1所述的用于水下机器人的多目视觉三维测量方法,其特征在于:设置最大视差值,将像素坐标系中的检测框位置向左扩展该最大视差值个像素,作为在双目摄像机右摄像机成像面上寻找同名点的范围;在上述范围内应用ad-census立体匹配方法进行立体匹配,得到该范围内每一像素点对应的视差值并组成视差图;根据标定得到的双目摄像机的基线距离计算所述视差图中每一像素点对应的以主摄像机为坐标原点的三维坐标:其中,d为某一方向上的实际距离,f为摄像机像素单位的焦距,disp为该点视差值,b为基线距离。3.根据权利要求2所述的用于水下机器人的多目视觉三维测量方法,其特征在于:采用garbcut算法将检测框位置作为算法的输入,分割出目标海产品的真实轮廓和所占像素点,并以掩膜的方式表示;根据轮廓信息找到包围目标海产品的最小矩形区域,并得到该区域的四个角点的坐标从而获得最小外接矩形;计算最小外接矩形四边的中点坐标并获得对应的世界坐标,获得目标海产品的尺寸大小,其中最小外接矩形与像素坐标的x轴的夹角即为目标海产品的姿态。4.根据权利要求3所述的用于水下机器人的多目视觉三维测量方法,其特征在于:根据获得的目标海产品的三维坐标控制机械臂进行运动;在机械臂运动的同时,利用眼在手上的单目摄像机与获得的目标海产品的长度信息,利用公式实时计算目标物的位置:
其中d1,d2,l1,l2分别为目标物体两端点距离摄像机光心的垂直距离与水平距离,yaw,pitch分别为摄像机的俯仰角与偏航角,h1,h2分别为物体两端点摄像机内成像点与光心的垂直距离,h为摄像机距地面的高度,f为摄像机的焦距,len为目标物的真实长度。

技术总结
本发明提供一种用于水下机器人的多目视觉三维测量方法包括:分别对单目摄像机和双目摄像机进行标定和畸变校正获得摄像机参数信息以及水下图像的每帧影像;获得水下清晰图像;将双目摄像机的左摄像机作为主摄像机,将主摄像机获取的帧输入目标海产品检测程序,得到目标海产品在像素坐标系中的位置;获得该目标海产品相对于以主摄像机为坐标原点的三维坐标;基于上述三维坐标导航AUV到目标海产品位置附近,对目标海产品的位置以及尺寸进行测算;根据获得的目标海产品位置控制机械臂运动,在机械臂运动的同时利用眼在手上的单目摄像机与目标海产品尺寸进行目标位置估计,并将得到的新三维坐标更新为机械臂运动终点,当机械臂运动到终点时抓取目标海产品。械臂运动到终点时抓取目标海产品。械臂运动到终点时抓取目标海产品。


技术研发人员:毕胜 游锦春 付先平 刘晓凯 金国华
受保护的技术使用者:大连海事大学
技术研发日:2023.03.14
技术公布日:2023/7/11
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐