APP下载

基于水下机器人的海产品智能检测与自主抓取系统

2020-01-02徐凤强董鹏王辉兵付先平

北京航空航天大学学报 2019年12期
关键词:海产品基线坐标系

徐凤强,董鹏,王辉兵,付先平

(大连海事大学 信息科学技术学院,大连116026)

利用水下机器人智能检测和自主抓取海产品成为当前海产养殖业的迫切需要,这是建立现代化海洋牧场的重要途径。目前,海参、扇贝等海产品的捕捞主要依靠潜水员和拖网船2种方式。潜水员不能在水下持续作业,并且受水下压强影响,常年从事水下捕捞工作的渔民容易得潜水病。大面积养殖的贝类主要依靠拖网船捕捞,但是这种拖网捕捞方式容易破坏水下生态环境。而水下敏捷机器人能够克服这些问题,因此,利用水下机器人进行海产品的捕捞成为当下研究的热点。

目前,水下敏捷机器人的研究大多集中在水下观测和水下探测等方面,而水下抓捕机器人的研究成果却很少。仅有的水下抓捕机器人也仍然停留在依靠人工操控进行抓取作业的层面,而自主抓取机器人更加难以实现。造成这种研究困境的原因为:①复杂的水下环境对机器人部件的防水性和气密性等要求极高,市场缺乏成熟的适用于水下机器人的各种配件;②缺乏服务于水下机器人的智能检测与自主抓取系统。

因此,本文提出了一种智能检测与自主抓取系统,用来与机器人协同作业,引导机器人在脱离人工操控的情况下,实现对海产品的智能检测及自主抓取操作。该系统主要解决水下目标的检测问题和机器人的水下运动问题,这是实现机器人自主抓取目标必须解决的2个关键问题。

针对水下目标检测问题,将目前比较流行的深度学习算法引入到水下识别场景中,来提高水下目标检测效果。由于光在水下的折射及散射作用,导致相机拍摄的图像呈现模糊、偏色、光线偏暗等现象。传统的图像检测方法对于水下图像的处理效果并不理想。鉴于深度学习在各个领域的应用都取得了非常好的效果,本文将目前效果比较好的DSOD(Deeply Supervised Object Detector)[1]应用到水下目标检测任务,利用标注的水下图像数据集训练网络模型,检测海参、扇贝、海胆等水下目标。

对于机器人的水下运动问题,本文提出了基于反馈机制的多信号分析方法,通过获取海产品位置信息、机器人定位信息、机器人深度等信号进行分析,得出机器人下一步的运动方案并反馈给机器人,从而引导其在水下寻找海产品并抓取目标。为了定位机器人在水下的位置,搭建了短基线定位系统[2]。利用声波信号在接收器和定位器之间的传播,计算机器人在定位系统中的位置。通过分析相机成像坐标系与定位系统坐标系之间的关系,提出了一种坐标转换方法,将海产品的检测位置坐标转换到定位系统坐标系,进而控制机器人向目标位置移动。机器人的深度信息在机器人下潜运动中起到重要作用。

为了验证本文系统的有效性,搭建了一个水下抓捕机器人,将本文算法应用到机器人上,引导其在水下完成海产品的智能检测及自主抓取工作。

本文的主要贡献如下:①将DSOD检测算法应用到水下场景,解决水下目标检测问题;②提出了一种坐标转换方法,可以将检测目标的位置坐标转换到定位系统坐标系;③设计了一种基于反馈机制的多信号分析方法,引导机器人自动检测目标并完成自主抓取操作。

1 相关工作

1.1 基于深度学习的目标检测

目标检测是计算机视觉领域的一个研究热点,其不仅需要区分目标的种类,还要精确地定位到目标的包围框。与传统的目标检测算法相比,基于深度学习的目标检测算法显著提高了目标检测的准确率。依据是否需要提取候选区域,可以将基于卷积神经网络(CNN)的目标检测算法分为2类:基于候选区域的目标检测算法和基于回归的目标检测算法[1]。

基于候选区域的目标检测算法先从整幅图像提取候选区域,再利用候选区域进行分类和回归,得到检测结果。Girshick等[3]提出了候选区域与卷积神经网络相结合的方法R-CNN,检测效果提升明显,但是存在大量的重复计算。因此,Girshick[4]提出了一个更加高效的深度卷积网络Fast R-CNN,提高了检测效率。Ren等[5]进一步提出了RPN(Region Proposal Network),实现卷积特征的共享,降低网络训练的资源消耗。在以上算法基础上改进的网络,如Mask R-CNN[6]、R-FCN[7]等也取得了很好的检测效果。

基于回归的目标检测算法摒弃了候选区域提取操作,是一种端到端的目标检测算法,如YOLO[8]、SSD[9]、DSSD[10]、DSOD[1]等。这类算法把目标检测看成一个回归问题,直接利用神经网络从整幅图上检测并定位目标,检测速度较快,但是检测效果稍逊一筹。

当前主流目标检测算法主要集中解决陆地场景问题[11],本文将基于卷积神经网络的目标检测算法引入水下场景进行水下目标检测。综合考虑算法的检测速度和准确率,选择DSOD作为检测网络。

1.2 水下机器人定位

目前,比较成熟的定位技术主要基于无线电波和声波传输实现。无线电波在水下传输时,由于衰减迅速,导致定位不准确。而水声定位技术可以克服这一缺点,实现水下稳定传输。近年来,基于水声定位的水下机器人定位技术引起了广泛的研究。根据声学基线之间的距离,可以把声学定位系统分为3类:长基线定位(LBL,基线长度100~6 000 m,甚至有时超过6 000 m)、短基线定位(SBL,基线长度20~50 m)和超短基线定位(USBL,基线长度小于10 cm)[2]。杨放琼等[12]利用传统的长基线定位系统,实现了深海采矿ROV的精确定位。佛罗里达大西洋大学海洋工程系和海军研究所在AUV上装备了短基线定位系统,用来在侦察任务中进行导航[13]。Mandic'等[14]描述了利用超短基线定位与声呐图像测量追踪水下目标的技术发展。由于长基线定位系统复杂且昂贵,超短基线定位系统校准困难,本文采用短基线定位搭建机器人的水下定位系统。

1.3 水下目标定位

常用的水下目标定位方法有3种:基于单目的目标定位、基于双目或者多目的目标定位及基于多传感器融合的目标定位[15-18]。Marani等[15]通过曲线拟合得到球体目标的圆形轮廓,结合已知的球形半径信息就可以进行目标的三维定位。Zannatha等[16]利用Canny边缘检测算子提取目标的边缘,利用相似三角形原理完成了机器人的目标定位。Lee等[17]为ROV的2个机械手开发了双目定位视觉系统,采用2个摄像机对目标进行三维定位,协助2台机械手协同工作。Zhang等[18]研究了利用激光传感器与摄像机相结合的三维定位方法,通过相机的焦距等参数,完成水下球体目标的三维定位。本文采用多传感器融合的目标定位方式,利用声呐获取到机器人距离地面的参数,配合相机获取目标物三维坐标。

2 基于卷积神经网络的水下目标检测

水下机器人的目标检测任务描述为:水下机器人潜入水中航行,并通过搭载的水下相机实时捕捉视频图像;利用检测算法对生成的图像进行实时检测,得到图像中目标的类别及其在图像中的包围框坐标信息;检测结果反馈给机器人。

由于光在水下的折射和散射作用,导致水下成像存在偏色、模糊等问题,这些问题直接影响水下图像特征提取的丰富程度,导致目标检测精度降低。而卷积神经网络在图像特征提取方面优势明显,因此,本文将卷积神经网络引入到水下场景来解决水下目标检测问题。通过对比当下主流的目标检测算法,本文采用检测速度相对较快且检测效果最好的DSOD检测算法进行水下目标检测。

DSOD是一个端到端的多尺度检测模型,其不需要提取候选框,也不需要预训练过程,能够从头开始训练模型,并达到很好的检测效果。DSOD的网络结构主要分为2部分:用于特征提取的主干网络和多尺度预测网络。

主干网络是DenseNet网络的一个变体,其由1个主干网络、4个密集块、2个转换层和2个转换池化层组成。主干网络包括3个3×3卷积层和1个2×2最大池化层,这种结构可以减少原始输入图像的信息丢失。密集块中所有前面的层都会连接到当前层,其优势是后面的层可以接受前面网络层的监督信息。每个转换层都包含一个池化操作,用于对特征图进行下采样。而转换池化层可以在不降低特征图分辨率的情况下增加密集块的数量。

预测网络利用精细的密集结构来融合多尺度的预测响应。输入图像经过DSOD网络可以提取出6个不同尺度的特征图做预测。从第2个特征图到第6个特征图,每一个特征图有一半的特征是从上一个特征图学到,而剩下的一半特征是对连续的高分辨率特征图进行下采样得到。这种预测结构可以用较少的参数产生更精确的结果,甚至对图像中的小目标也能产生很好的检测效果。

DSOD网络结构及模型训练过程如图1所示。先利用水下图像数据集从头开始训练DSOD模型,经过反复迭代训练,可以得到一个效果比较好的网络模型,该模型能够产生稳定的参数,满足目标检测的性能要求。训练好的网络模型集成到水下机器人的检测算法中,利用机器人实时检测水下目标,并产生目标类别信息及包围框位置坐标,这些检测信息将进一步影响机器人的水下运动情况。

图1 卷积神经网络模型的训练和水下目标实时检测Fig.1 CNN model training and real-time marine object detection

3 水下目标定位方法

水下目标定位是一个非常复杂的工作。首先,利用检测算法通过相机检测目标;然后,利用短基线定位系统定位机器人;最后,将目标坐标从相机成像坐标系转换到机器人世界坐标系,再从机器人世界坐标系转换到短基线定位系统的坐标系。通过分析不同坐标系之间的关系,本文提出了一种坐标转换方法来计算目标物在定位系统中的实际位置坐标。

3.1 水下定位系统的原理及搭建

短基线定位系统是一种经典的水下定位技术,其采集各个阵元接收到发射器发射信号的时间延迟,通过数学方程获取发射器相对于基阵坐标系的三维坐标。

如图2所示,4个阵元分别位于A、B、C、O,目标P与各阵元之间的距离为

式中:Ri为各阵元与发射器之间的距离;(xi,yi,zi)为短基线阵元i的位置坐标;(x,y,z)为搭载发射器的水下机器人的坐标。

目标P与各阵元之间通过水声传播的距离表达式为

式中:c为声音在水中的传播速度;t为短基线定位系统地面站发送询问信号的时刻;ti为短基线定位系统各阵元接收到信号的时刻;Δt为短基线定位系统内的延时时间。

图2 水声定位几何原理Fig.2 Geometric principle of underwater sound positioning

联立式(1)和式(2)得到

将目标P与阵元坐标代入式(3)可以得到一个方程组,该方程组有4个未知量,因此,利用4个方程可以得到位置(x,y,z)和时延Δt。

本文搭建的短基线定位系统如图3所示。图中:zo为机器人相对于地面的高度。将发射器集成到水下机器人上,作为发出信号的信标。在水面附近,放置4个短基线阵元,短基线阵元作为接收器监听发射器发出的信号。定位系统通过计算发射器发出信号到每个短基线阵元接收到信号的时间差来计算携带发射器的机器人的位置。

图3 机器人与目标在定位系统中的位置关系Fig.3 Relative location of robot and target in positioning system

3.2 坐标转换方法

水下定位系统搭建成功后,通过分析相机成像坐标系与机器人世界坐标系之间的关系,以及机器人世界坐标系与定位系统坐标系之间的关系,可以将目标坐标从相机成像坐标系经由机器人世界坐标系转换到定位系统坐标系,具体计算过程如下:

1)利用DSOD检测算法检测水下目标在相机成像坐标系中的坐标(u,v)。

2)通过声呐获取机器人距离地面的高度zo。

3)通过相机内参矩阵及高度zo将目标从相机成像坐标系转换为机器人世界坐标系,进而计算出物体在机器人世界坐标系中的实际位置。

相机的内参矩阵定义为

式中:f为相机的焦距;d x、d y为像元尺寸;(u0,v0)为图像中心像素坐标;(xo,yo,zo)为目标在机器人世界坐标系的实际位置。由此计算出(xo,yo,zo),即

4)通过短基线定位系统获取机器人在定位系统坐标系中的坐标F(x,y,z)。

5)根据机器人世界坐标系与定位系统坐标系之间的关系,将目标坐标转换到定位系统坐标系。如图4所示,XOY表示短基线定位系统坐标系,MFN表示机器人世界坐标系,α为2个坐标系之间的夹角。F为机器人在短基线定位系统坐标系中的坐标,T为目标在机器人世界坐标系中的坐标。

根据2个坐标系之间的角度关系,可以得出坐标转换表达式为

图4 机器人世界坐标系和定位系统坐标系的关系Fig.4 Relation between robot world coordinate system and positioning system coordinate system

式中:(x,y,z)为机器人的坐标;(xf,yf,zf)为目标物体T在定位系统中的坐标。

4 基于反馈机制的多信号分析方法

水下机器人的自主运动是实现自主抓取的前提和关键,其目的在于检测并接近水下目标,最终进行抓取。机器人需要综合考虑当前所处环境,做出合理的运动选择。水下环境的不确定性和复杂性给机器人自主运动问题带来了巨大挑战。

机器人利用水下定位系统探测目标的运动轨迹,如图5所示。利用水下定位系统规划机器人的运动区域,运动区域的边界附近代表警示区域。机器人从出发区开始,寻找水下目标。机器人的水平运动有3种策略:左转、右转和直行,不同的轨迹颜色表示从起点出发的不同运动策略。当机器人进入警示区域时,需要调整运动路线,远离警示区域并继续移动,直到检测到目标为止。当机器人检测到目标时,需要控制机器人继续靠近目标方向,直到到达机械手可操作的行程范围,利用机械手抓取水下目标。

根据以上分析,本文提出了一种基于反馈机制的多信号分析方法,如图6所示。该方法通过收集机器人的定位信息、深度信息,以及利用目标检测结果信息,对机器人的运动状态进行综合分析,得出最终的移动方案,并将最终决策信号反馈给水下机器人,引导机器人继续运动。

图5 水下机器人在限制区域内的运动轨迹Fig.5 Trajectory of underwater robot moving within constrained area

图6 基于反馈机制的多信号分析方法Fig.6 Multi-signal analysis method based on feedback mechanism

图7 多信号分析方法流程Fig.7 Flowchart of multi-signal analysis method

多信号分析方法的决策流程如图7所示。首先,通过短基线定位系统获得机器人的位置信息,并判断机器人是否驶入运动区域的限制区域。如果机器人已经进入限制区域,则控制机器人向左前方运动,直到远离限制区域。然后,获取目标检测算法对当前机器人视觉区域的目标检测结果,如果当前视觉区域没有目标,则控制机器人向正前方运动;否则,根据检测结果的目标分布情况,判断机器人应该向正前方、左前方或右前方运动。根据目标定位算法可以进一步计算出目标在水下定位系统中的位置,从而精确机器人的移动方向。最后,利用机器人搭载的声呐向海底发射脉冲信号,根据响应时间计算距离海底的深度信息,判断机器人能否继续下潜。如果可以继续下潜,则机器人除了水平方向的运动之外还应该伴随下潜运动,即机器人应该向正前下、左前下或右前下的方向运动。多信号分析方法的决策结果会及时反馈给机器人并控制机器人的下一步运动,而机器人完成一次运动操作后会继续利用多信号分析方法获取下一次移动方案。

目标检测结果除了用来计算目标在水下定位系统中的位置坐标之外,本文还定义了一种通信协议,用来帮助机器人理解目标在当前视野中的分布情况。如图8所示,将图像分为9个区域。根据检测结果,可以分别统计每个区域内各个类别的目标数目,并将统计结果按照顺序拼接成检测信号发送给机器人,该检测信号可以帮助机器人分析朝哪个方向运动更接近目标。

图8 检测模块和机器人之间的通信协议Fig.8 Communication protocol between detection module and robot

5 实验与结果

为了验证本文算法,设计和开发了一款水下抓取机器人,将算法应用到机器人上,实现机器人的智能检测和自主抓取。

5.1 水下机器人设计

图9 水下机器人组成结构Fig.9 Underwater robot composition structure

水下敏捷机器人的自主抓取研发需要解决许多水下运行环境所带来的问题。如图9所示,本文设计的机器人是一款6推进器的ROV,其搭载了3个亚克力舱室作为电子部件的防水处理,1个作为主舱保护树莓派、Pixhawk控制板等核心电子器件,2个作为电池仓放置电压供电模块。由于海水腐蚀性很强,选择具有防腐蚀性的工业铝搭建机器人主体框架。

Pixhawk控制板主要用来收集并处理机器人各部件发出的信号,树莓派是机器人的通信中心。6个推进器协调工作实现机器人的上浮、下潜、左右滑动及转向控制。由于水下能见度低,为了提高图像采集的质量,选用4 K高清水下相机,并搭载亮度可调的水下光源作为补充。

水下机器人在水下作业需要克服重力影响,本文机器人通过亚克力舱室及浮力块提供的浮力来维持自身平衡,与水面供电及信号通信的电缆都选用零浮力线缆。

水下定位系统的4个接收器搭建在水面,发射器搭载到机器人上,发射器与接收器之间通过发射脉冲信号通信。声呐安装在机器人的底部中心位置,竖直向下发射声波信号。

为了抓取海产品,设计了一款二自由度的机械手,搭载在机器人的前方。机械手一组完整的抓取动作如图10所示。

本文设计的机器人经过反复水下实验,已经能够在真实海洋环境中实现海产品的自主抓取。

5.2 海产品检测

对于基于卷积神经网络的目标检测任务,数据集的选取非常重要。Imagenet、COCO、Pascal VOC等公共数据集,体积庞大,虽然种类丰富,但是扇贝、海参、海胆等海产品的图片数量并不充足。因此,笔者标注了水下图像数据集用于训练检测网络,数据集包含海参、海胆、扇贝3类海产品共29 500张图片。

本文目标检测算法在caffe框架上实现,实验环境使用Nvidia Geforce GTX 1080 TI GPU、Cudnn v5.1及Intel Core i7-6700k@4.00 GHz。初始学习率设置为0.1,每迭代20 000次学习率降低10%,迭代100 000次停止训练。经过多次训练,本文目标检测算法可以在水下图像数据集上获得81.2%的准确率。

目前,比较主流的检测算法在水下图像数据集上的检测效果对比如表1所示。SSD300[9]、YoLov3[19]、DSOD[1]的 检 测 速 度 都 能 够 达 到10帧/s以 上,其 中 YoLov3[19]检 测 速 度 最 快,DSOD[1]的检测效果最好。

图10 机器人完整的抓取动作Fig.10 Robot's complete capture action

表1 水下图像数据集检测结果对比Table 1 Comparison of detection results on underwater image dataset

对于现阶段的水下自主抓取机器人,10帧/s以上的处理速度已经能够满足实际作业要求,为了追求更高的目标检测准确率,选择DSOD作为本文系统的检测算法。DSOD目标检测的部分效果如图11所示,图中不同颜色的标签代表不同类别,每个标签显示了检测算法判定该目标所属的类别及属于该类别的概率。

图11 水下目标检测结果Fig.11 Detection results of marine object

5.3 系统性能分析

本文设计的海产品智能检测与自主抓取系统经过深入实际调研,考虑了机器人实际作业的场景,能够在真实海洋环境中实时检测目标,并引导机器人进行海产品的自主抓取作业。但是在实际抓取效率方面,搭载该系统的水下机器人尚未达到人工捕捞的效率。原因主要有:①水下环境异常复杂,机器人在实际作业时容易受到暗流、洋流、礁石等因素的干扰;②系统及机器人还存在进一步改进和完善的空间。

6 结 论

本文提出一种智能检测和自主抓取系统,用来协助机器人解决水下目标的智能检测问题并引导机器人自主抓取海产品。

1)针对水下目标检测问题,将DSOD算法应用到水下场景,利用标注的水下图像数据集训练检测模型来检测海参、海胆、扇贝等海产品。

2)为了计算海产品的实际位置,搭建了短基线定位系统来定位水下机器人,并通过分析相机成像坐标系与水下定位系统坐标系之间的关系,提出一种计算海产品实际位置的坐标变换方法。

3)针对水下机器人的自主运动问题,设计了一种基于反馈机制的多信号分析方法,用来引导机器人在水下移动并抓捕海产品。为了验证本文算法的有效性,搭建了一款水下抓捕机器人,并成功将算法应用到机器人进行海产品的智能检测和自主抓取。

猜你喜欢

海产品基线坐标系
新时期海产品无机砷检测与含量控制策略
高度角对GNSS多系统组合短基线RTK影响
独立坐标系椭球变换与坐标换算
GNSS 静态相对定位精度分析与比较
极坐标系中的奇妙曲线
GAMIT10.71解算GNSS长基线精度分析
GAMIT用于GNSS长基线解算分析
三角函数的坐标系模型
求坐标系内三角形的面积
中国—东盟海产品交易所交易总额超3000亿元