admin管理员组

文章数量:1532330

2024年1月22日发(作者:)

小目标检测算法在水下清洁机器人的研究与应用

摘 要:随着深度学习等人工智能算法的蓬勃发展,深度学习在机器视觉领域得到了广泛应用,目标检测算法是机器视觉领域的核心基本问题,而小目标检测一直是目标检测领域的难点。本文在通过小目标检测算法DSSD在水下清洁机器人中的实际应用案例,说明了使用该算法能够增强水下清洁机器人对小目标的检测能力,使其具有更高的辨识精确度以及更快的辨识速率。

关键词:目标检测;深度学习;小目标检测;水下清洁机器人

1概述

随着基建行业的蓬勃发展,我国大型桥梁建设规模逐渐扩大,目前已成为世界第一桥梁大国。但水上桥梁因受不可变环境因素(藤壶、藻类等水下生物经常附着在桥墩结构表面,其分泌的酸性分泌物会加快桥墩结构的腐蚀)的作用,桥墩表层松散脱落,倘若遇到雨季或渔期,脱落侵蚀现象更为严重,从而使桥梁的日常维护以及桥梁的使用寿命受到严重影响。科研团队针对桥梁养护难、清理困难等问题,开发了一款智能化、便捷化、低成本的桥墩附着生物清理与养护型机器人,该水下清洁机器人对桥墩附着物进行的自动识别定位技术采用了小目标检测算法 DSSD。

2目标检测算法的选择

计算机视觉(Computer Vision)作为人类视觉领域的延伸,是指用摄影头和电脑代替人眼对目标进行识别、跟踪和分类,并通过做进一步的图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。

目标检测(Object-Detection)环节是计算机处理图像或视频的核心问题,该技术在人脸识别、机器人视觉、智能视频监控、无人驾驶(如道路检测、交通灯检测)、遥感影像分析、医学图像检测等领域被广泛应用,由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。

目标检测算法的原理发展主要分为传统目标检测算法和基于深度学习的目标检测算法两个阶段。

第一阶段在21世纪初期,即传统目标检测算法的发展期。该期间所提出的方法大多依赖于滑动窗口,具有特征提取的人工性,存在计算复杂度高以及复杂场景下鲁棒性差的缺陷。其代表性的成果包括Viola-Jones检测器,HOG行人检测器等。

第二阶段是从2014年至今,即基于深度学习的目标检测算法发展期。2014年R-CNN算法的提出为目标检测算法带来一丝曙光,这些算法利用深度学习技术自动抽取输入图像中隐藏特征的能力,对样本进行更高精度的分类和预测。在R-CNN之后,又涌现出Fast R-CNN、Faster R-CNN、SPPNet、YOLO系列等众多算法。图2-1为目标检测算法发展历程。

图2-1目标检测算法发展历程

2.1传统的目标检测算法

传统的目标检测主要依赖于传统的特征提取器来提取图像特征,并采用滑动窗口来生成大量目标候选区域。大致可分为三个步骤:区域选择 → 特征提取

→ 分类器。流程如图2-2所示。

图2-2 传统目标检测算法流程图

区域选择

第一步对目标的位置进行定位。首先设置不同尺度、长宽比的滑动窗口,再采用该窗口对整幅图像进行遍历。由于目标位置的随机性,大小、长宽比例的不确定性,这种穷举的策略必须包含目标所有可能出现的位置,所以缺点显而易见:步骤繁琐,窗口冗余问题严重,造成检测速度慢,精度低下。

特征提取

第二步需提取候选区域相关的视觉特征。特征分类方式需人工确定,一般包括:颜色、纹理、形状等元素。由于目标的形态多样性,光照变化多样性,背景多样性等因素,设计一个鲁棒的特征并不是一件易事。

分类器

第三步需用分类器对所提取特征进行识别分类。可采用启发式算法SVM等进行分类,分类的准确性是确定分类算法的依据之一。

常见的传统目标检测算法有:Viola-Jones(多用于人脸检测)、HOG+SVM(多用于行人检测)、DPM(多用于物体检测)、Sofe-NMS等

2.2基于深度学习的目标检测算法

基于深度学习的目标检测算法得益于卷积神经网络(CNN)的兴起,该算法的学习方式为:机算计利用多结构网络模型及其强大的训练算法来自适应地学习图像高级语义信息,使信息抽象化,高维化,这种高维特征具有强大的特征表达能力和泛化性,从而分类目标与确定的特征适配度提高。

基于深度学习的目标检测算法根据其流程特点大致可以分为两类:One-Stage目标检测算法和Two-Stage目标检测算法。

One-Stage目标检测算法的代表有SSD系列、YOLO系列和Anchor-Free系列,此类检测算法精度一般,但是检测速度很快,在工业界应用广泛。后续研发的DSSD,DSOD,FSSD等算法是对SSD的延伸,在不同程度上提高了对多元目标的检测精度。

Two-Stage目标检测算法的主要代表是R-CNN系列,此类检测算法检测精度较高,但是检测速度较慢。2014年Two-Stage目标检测算法R-CNN的提出,标志着目标检测算法正式进入深度学习时代,但是算法耗时严重,无法实际应用。通过对算法的深入理解和改进,SPP-Net、Fast R-CNN及Faster R-CNN等算法被相继提出,算法速度提升上百倍,基本达到应用需求。

2.3基于深度学习的小目标检测算法

卷积神经网络使得目标检测得到了长足的发展和进步,无论是对于检测速度或检测准确度,都得到了不小的提升。实际上,上述方法只对于大尺度或中等尺度的目标检测问题有较好的效果,在水下机器人清洁场景中,存在诸多小目标场景,由于此类待检测目标分辨率较低且信息量不足,导致上述方法检测效果较差,甚至造成小目标位置丢失等后果。

目前现有的小目标检测算法都是在主流目标检测算法的基础上进行优化改进而成。在增强水下小目标检测能力方面,使用较多的是基于多尺度的小目标检测方法和基于超分辨率的小目标检测方法。

基于多尺度的小目标检测方法的代表算法为SSD及其衍生改进算法,该算法首先利用CNN进行特征提取,后续在每一个尺度上采用直接回归的方式来获取当前检测框所需检测的位置以及相应的类别再进行预测,同时该算法使用特征金字塔的形式代替了复杂度高、效率低高的多尺度图像金字塔。

基于超分辨率的小目标检测方法所关注的重点是:利用多个低层特征来增加高层特征维度和信息量从而解决水下小目标在图像中所占像素较小、分辨率较低的问题。

经过查阅文献和对比数据集测试结果发现,在准确度和精确度方面,基于多尺度的小目标检测方法略胜一筹;但针对检测速度以及网络的计算量来说,基于超分辨率的小目标检测方法更受青睐。

通过以上对比,针对水下场景成像条件较复杂的问题,水下机器人为达到更好的桥墩清理效果,目标检测的算法应该准确性更高一些,且采用基于多尺度的小目标检测方法可以更好地达到要求。

现利用水下大型桥梁采集到的桥墩图制作检测的数据集,并采用以基于多尺度的小目标检测DSSD模型进行计算。

3DSSD算法

3.1SSD模型

SSD( single shot multibox detector)模型的核心是在不同尺度的特征图上采用卷积核来预测一系列DefaultBoundingBoxes的类别和坐标偏移量。该模型结合了YOLO中的回归思想和Faster-RCNN中的Anchor机制,使用全图各个位置的多尺度区域进行回归,既保持了YOLO速度快的特性,也保证了窗口预测的和Faster-RCNN同样精准。所以该目标检测模型兼顾速度与精度,达到了实时检测的效果。

SSD算法模型以VGG-16为基础,采用VGG的前五个卷积,后面增加从CONV6开始的5个卷积结构,输入图片尺寸要求为300*300,该算法结构如图3-1所示:

图3-1

SSD算法结构

3.2DSSD模型介绍

SSD算法无论是在准确性还是快速性上都达到了较高的水准,但仍存疑不足。首先,对小目标检测的鲁棒性较差,主要的原因是浅层feature map

的表征能力不够强,位置信息较弱;其次该算法对于小目标深层次学习和表达能力不够。为了解决上述SSD模型算法的不足,提高水下机器人小目标检测的鲁棒性,在SSD模型的基础上进行改造,即得到DSSD算法。DSSD中加入了上下文信息,采用了更好的基础网络ResNet101和Deconvoloution层,skip连接来给浅层feature map更好的表征能力。DSSD算法结构如图3-2所示:

图3-2 DSSD算法结构

3.2.1主干网络

对于DSSD的Backbone结构来说,为了提取更高的语义信息、更深层次的特征,DSSD采用网络更深的Resnet101,Resnet网络的一大亮点是采用一种全新的网络:残差网络,该网络通过identity mapping和residual mapping两种选择方式解决了随着网络的加深而准确率下降的问题。ResNet的网络设计其实是一条路线做单纯的加法,而这样组合起来的convolution layer方法能使得深层网络训练容易许多。而在迭代更深的网络时,ResNet设计了buildingblock,降低3*3convolution的宽度,大幅减少了所需的运算量。一个buildingblock可以表示为:

(1.)

式中是残差部分。

ResNet101的building block网络结构如图5所示,该网络首先吧第一个1x1的卷积通道从256维降到64维,然后通过1x1卷积再次进行升维,从而减少计算量和参数量,在残差网络中多次叠加信息损失较少的的关键是瓶颈结构,即通过1*1的卷积进行升维或者降维,压缩信息空隙,这样既可以减少计算量又不损失原来的信息。

图3-3 building block网络结构

3.2.2Deconvoluational Module

在SSD算法中,对每个feature map均进行预测,对于小目标来说特征是不足的,原因在于没有充分考虑上下文信息。为了获得更多检测目标的特征信息,将训练好的Deconvoluational Module引入DSSD,代替了之前双线性插值实现方法,该过程类似于将FPN的架构导入SSD。Deconvoluational Module结构如图3-4所示

图3-4

反卷积模块结构图

图3-4中DSSD深层特征的featuremap通过反卷积结合浅层特征的featuremap,不断去做回调,从而充分利用了浅层特征,高层语义信息和低层语义信息进行融合便使得小目标物体的侦测能有更好的效果。

3.2.3Prediction Module

Prediction Module是添加在回归分类任务和Deconvoluational Module之间的网络结构,如图3-5所示

图3-5

预测模块

图(a)是SSD用于回归分类的网络结构,该结构特点为在特征层上一个用来分类,另一个用来分类回归;图(b)是DSSD的回归网络结构,该结构是在SSD上添加一个残差单元的基础上,在残差旁路将特征图卷积核处理后进行元素点积和,最后再进行分类和分类回归。

3.2.4损失函数

DSSD中包含了以下两种损失函数:

(1)confidience loss:置信损失。

(2)localization loss:位置损失。

总体的目标损失用以上二者的加权之和来表示,通过改变二者的加权值可以提高优化速度和训练结果的稳定性。公式如下:

式中:α:置信损失和位置损失比例权重; c:分类置信度;N:与该类别的校准框匹配的正样本数量。

位置损失函数定义如下式所示:

式中:l为先验框的所对应边界框的位置预测值;g

ground truth

的位置参数。

置信损失函数采用softmax loss定义如下式:

其中Ci为激活函数p为

ground truth

的类别

权重系数α通过交叉验证设置为

1。

(2.)

(3.)

(4.)

3.2.5非极大值抑制

在进行softmax分类和位置回归之后要采用NMS算法。DSSD采用非极大值抑制的原因为:在水下目标检测的过程中对于同一目标位置上会产生大量的候选框,这些候选框之间会有重叠的可能性。使用NMS可以消除冗余的边界框从而找到最佳的目标边界框。其中我们主要需要优化的参数为IoU(intersection-over-union)

NMS具体的执行流程如图3-6所示。

图3-6NMS执行流程图

4应用分析

水下清洁机器人实时运行的场景为:机器人需要检测周围环境情况,然后计算出自身的行走路线,在确保达到最佳清洁效果的基础上实施对桥墩附着物的检测。由于桥墩外壁表面被海生物附着,清洗作业表面具有一定的曲率且凹凸不平,因此要设计一种往复机构,即在机器人工作时,使刷子可以跟随清洗机构在清洗机器人的爬升面上作上下往复运动,保证机器人不会因为清刷凸起的海生物而产生颠覆力矩,与此同时,考虑到水下光照以及机器人行走途中对桥墩所造成的表层影响,在获取图片之后通过设置一定的容错率进行一定的处理,然后接受模块将收集到的数据传递给处理模块,处理模块采用DSSD进行检测,最后打开机械臂毛刷进行桥墩清洁。

整个机器人的控制系统为:主要通过STM32单片机来进行控制,负责推进单元的控制,运动状态和环境状态的采集;利用IMU状态传感器获取运动趋势,通过控制推进单元进行PID反馈补偿,形成动态平衡并实现自主悬停;利用水位深度传感器使机器人在未接收到上浮下潜控制信号时保持深度。硬件框图如图4-1

所示。

图4-1 水下清洁机器人硬件框图

5结语

对基于深度学习的小目标检测算法在水下清洁机器人在桥墩附着物识别的应用场景进行分析,通过对比传统的目标检测算法和其他深度学习算法的优劣, 提出了DSSD

在水下清洁机器人中的具体应用方式,该算法能够满足水下小目标识别要求,并且具有识别速度快,准确率高,鲁棒性较好的特点,最后取得了不错的应用效果。

6参考文献

[1]谌雨章,黄逸姿,张钧涵.基于多速率空洞卷积的多尺度水下小目标检测[J/OL].计算机工程:1-9[2023-03-27].DOI:10.19678/.1000-3428.0064754.

[2]苏可,郭学俊,杨莹,陈泽华.改进型DSSD算法在道路损伤检测中的应用研究[J].电子技术应用,2021,47(12):64-68+:10.16157/.0258-7998.211684.

[3]何杰林,刘兴超,黄凌霄.基于改进SSD算法的小目标检测研究[J].电子产品世界,2021,28(10):33-36.

[4]刘洪江,王懋,刘丽华,吴继冰,黄宏斌.基于深度学习的小目标检测综述[J].计算机工程与科学,2021,43(08):1429-1442.

[5]员娇娇,胡永利,孙艳丰,尹宝才.基于深度学习的小目标检测方法综述[J].北京工业大学学报,2021,47(03):293-302.

[6]李兰,奚舒舒,张才宝,马鸿洋.基于DSSD模型的机械加工件表面缺陷检测研究[J].机电工程,2021,38(02):234-238+255.

[7]刘洋,战荫伟.基于深度学习的小目标检测算法综述[J].计算机工程与应用,2021,57(02):37-48.

本文标签: 检测目标算法进行特征