基于R-FCN_ResNet 的深海冷泉区生物的识别与分布研究
2020-10-09李海菊管利聪李超伦栾振东
李海菊, 连 超 , 管利聪, 李超伦 , 栾振东
(1. 青岛科技大学 自动化与电子工程学院, 山东 青岛 266061; 2. 中国科学院海洋地质与环境重点实验室,山东 青岛 266071; 3. 中国科学院海洋研究所深海中心, 山东 青岛 266071; 4. 中国科学院海洋生态与环境科学重点实验室, 山东 青岛 266071; 5. 中国科学院大学, 北京 100049; 6. 中国科学院海洋大学科研究中心,山东 青岛 266071)
冷泉流体是海底沉积界面下溢出的由天然气水合物分解后产生的一些富含甲烷、硫化氢和二氧化碳等组分的流体[1-3]。深海冷泉区活跃着大量化能自养菌, 其驱动形成了繁茂的深海无脊椎生物群落[4], 主要包括以潜铠虾(Shinkaia crosnieriBaba & Williams,1998)为主的甲壳类和以深海偏顶蛤(Bathymodiolus platifrons)为主的贻贝。研究深海冷泉区生物的种类、数量、分布等情况是认知冷泉生态系统的必然要求,对寻找天然气水合物有重要参考价值, 同时也是后续评价资源开发、环境影响的重要依据[5]。然而, 从深海底采集获得的超大数据量冷泉生物图像给生物学家在数据处理与分析方面的工作增加了难度。如何快速准确地识别生物种类和数取生物数量, 并且清晰直观地复现海域生物分布情况, 是本文的研究方向和目的。
基于深度学习的图像目标识别是当前较为前沿的解决这类问题的方法。该方法利用深度神经网络自动提取目标物体的特征, 通过人工标注数据集并进行训练, 训练后导出的模型用于目标物体的识别[6]。总体来说, 主要包括两个部分: 第一部分是特征提取网络, 用于提取不同层次、不同分辨率的语义特征。目前较为流行的有: AlexNet[7]、VGGNet[8]、ResNet[9]、MobileNet[10]等。第二部分是定位和分类网络, 通过学习第一部分提取出的图像特征, 来找寻目标物体的位置并指出目标物体的类别, 这是图像目标识别方法的核心。
自2013 年以来, 基于卷积神经网络(convolution neural networks, CNNs)的定位和分类网络已然成为目标检测任务的主要算法之一, 它通过从低级特征构建高级特征来学习特征层次结构, 以此实现对图像中的目标定位和分类[11]。目前主要分为两大类: 一类是以Faster R-CNN[12]为代表的两步检测(Regionbased/Two-stage detector)算法; 另一类是以SSD(Single shot multibox detector)[13]为代表的单步检测(Regionfree/One-stage detector)算法。
基于神经网络的深度学习算法发展迅速, 多用于小样本的迁移学习, 在海洋生物领域也有涉及[14]。Lu 等[15]提出一种过滤深层卷积网络(Filtering deep convolutional network, FDCNet)对深海生物进行分类, 其分类准确率分别比目前较为先进的分类方法AlexNet、GooLeNet[16]、ResNet50 和ResNet101 高1.8%, 2.9%, 2.0%和1.0%。Zhou 等[17]提出了3 种专门用于水下成像的数据增强方法, 结合更快的基于区域的卷积神经网络(Faster region-based convolutional neural network, Faster R-CNN)验证了该方法对海洋生物检测和识别的有效性。用3 种数据增强方式得到的海洋生物增广数据集, 相较于原始数据集,大大提高了Faster R-CNN 模型的效率。Liu 等[18]提出一种基于BP 神经网络(Back Propagation Neural Networks, BPNN)的三维海洋生物入侵预警模型。通过BP 神经网络检测不同流速下海洋生物与入侵生物的密度, 以此估计它们之间的关系, 并建立预警模型。实验结果表明, 该预警模型能够有效地描述入侵强度和预警等级。以上文献为本文深海冷泉生物的识别提供了思路。
本文改进识别准确度较高的深度学习模型——R-FCN_ResNet, 以此研究复杂背景下深海冷泉生物的识别。首先, 本文使用中国科学院海洋研究所(IOCAS)提供的中国台西南冷泉区的图像, 建立了深海冷泉生物数据库。然后, 使用基于区域的全卷积网络(Region-based fully convolutional networks,R-FCN)来学习数据库的参数, 并进行识别和分类。最后复现了该片海域主要的生物分布情况。
1 R-FCN_ResNet 算法
1.1 R-FCN 检测框架
基于区域的全卷积网络属于两步检测算法[19],其网络结构见图1。所谓两步检测, 第一步就是从一系列特征图中提取目标物体特征, 生成分类独立的区域建议网络(Region proposal network, RPN)[20]和位置敏感得分图, 即找到图像中含有目标物体的候选框, 并且给出每个候选框的对应得分。该部分实现了区域建议网络与分类网络之间的权值共享, 提升了网络检测的速度和性能。第二步就是利用非极大值抑制(Non-maximum suppression, NMS), 对具体类概率和位置回归的综合得分进行去重和投票, 以此达到定位和分类目标物体的目的。该部分是R-FCN 框架的关键部分。
图1 R-FCN 网络结构Fig. 1 R-FCN network structure
1.2 ResNet 特征提取网络
2015 年, 在 ImageNet 挑战赛上, 残差网络(Residual networks, ResNet)在图像分类任务上取得了很高的准确率, 在众多网络中脱颖而出[21-22]。图2展示了ResNet 模型的基础结构: 残差学习块。其中,X表示恒等映射,F(X)表示残差映射, ReLU(Rectified linear unit)表示激活函数。
图2 残差学习块Fig. 2 Residual learning block
残差学习块并不是通过一个层或者多个层直接拟合所需的映射, 而是将恒等映射和残差映射同时拟合进所需的映射中, 以此提取到从浅层到深层的特征。因此, ResNet 利用残差学习块, 解决了深度卷积神经网络模型训练速度慢和容易出现梯度爆炸或梯度消失的问题。
1.3 算法改进
在提取更细微和更深层次的目标物体特征时,R-FCN 算法达不到很好的效果。特别是在对本文研究对象——潜铠虾和贻贝这种小目标物体进行检测时, 往往会发生错检和漏检的情况。而ResNet 利用其独特的残差注意力机制提取从浅层到深层的图像特征, 使不同层次的特征图能够捕捉图像中的多种响应结果。因此本文将ResNet 作为目标检测的基础网络, 用于特征提取。 改进后的网络结构R-FCN_ResNet 见图3。
图3 R-FCN_ResNet 网络结构Fig. 3 R-FCN_ResNet network structure
另外, 对于小目标物体检测, 在提取候选框时,如果anchor[13]过大, 会导致许多重要信息丢失。因此为了提取到更多有用的信息, 本文设置了更小尺寸的anchor。
2 数据集制作与模型训练
本文主要对深海冷泉生物图像进行识别研究,并复现某片海域的生物分布情况。图4 是本文的研究流程图。研究步骤包括: 数据集制作、模型训练、模型评估。其中, 数据集制作包括图像获取、图像切割、图像标注和图像格式转换等步骤; 模型训练是整个研究的重心部分, 包括框架搭建、参数设定、参数整定等内容; 模型评估主要从多个方面对比单步检测网络和两步检测网络对本文数据集的适用性。
图4 研究流程Fig. 4 Research process
2.1 数据集制作
本文原始数据集的来自中国科学院海洋研究所。利用深海三维激光影像扫描技术在台西南冷泉区获取原始图像, 然后利用航空摄影矫正技术将以上大量原始图像拼接成一张大小为13.4 GB 的深海冷泉生物图片(见图5a)。根据单位换算, 知其面积约为150 m×200 m。将拼接图片等分切割成6 400 份, 每份大小约为410 kB, 面积约为2.7 m×2.9 m(见图5b)。分辨率宽约为1 368 像素, 高约为1 382 像素。并将这些张图片按6∶2∶2 的比例随机划分为训练集、验证集和测试集。然后, 对训练集和验证集图片中目标生物进行大量的人工标注。标注时要注意将生物的各种形态都包括进去, 这是衡量模型好坏的关键。标注的目标生物包括: 贻贝(见图5d)1 类初级消费者, 潜铠虾(见图5c)、螃蟹、鱼和螺4 类次级消费者, 共5 类。其中贻贝9 153 个, 占比66.03%,潜铠虾2 684 个, 占比16.91%。初步判断, 此片海域中的螃蟹、鱼等次级消费者数量极少, 这对探究深海冷泉生物密集度和海底冷泉活跃度以及寻找天然气水合物的影响极小。
图5 深海冷泉生物图像样本集Fig. 5 Sample set of deep-sea cold-spring biological images
2.2 模型训练
模型的训练就是预学习生物的形态特征, 在不断学习生物特征的同时, 也不断地矫正生物特征向量的权值。模型训练和测试所用的中央处理器(Central processing unit, CPU)为Intel Core i5-8400, 图形处理器(Graphics Processing Unit, GPU)为GeForce GTX 1060,内存为6GB。深度学习框架是TensorFlow(https://github.com/tensorflow/tensorflow), 该框架对输入图片尺寸没有限制, 因此不再需要对图片的尺寸进行归一化处理。
在模型训练前, 需要对一些参数进行设置, 以期达到好的训练效果。将训练迭代步数设置为25 万步,学习率设置为0.004。将先验框的最大尺寸设置为0.95,最小尺寸设置为0.35。先验框的最小尺寸比原文[13]中设置的较大些, 这是因为潜铠虾和贻贝的体积都较小,为了检测出较多的小目标生物, 应尽可能将6 种不同尺度的特征图控制在较大的范围内。最后经过不断的细微调整, 得到适用于深海冷泉区生物识别的模型。
图6 中展示了整个训练过程中定位损失和分类损失之和[13]的变化情况, 在2 000 步迭代步数前, 总损失便急速下降2.77, 在0.2 万~12 万步迭代步数期间, 总损失逐渐缓慢下降至0.98, 在0.2 万~12 万步迭代步数期间, 总损失基本上逐趋近于0, 由此可以看出R-FCN_ResNet 模型达到了很好的训练效果。
图6 R-FCN_ResNet 模型训练总损失Fig. 6 Total training loss of R-FCN_ResNet model
3 实验与分析
各个模型训练结束后, 将测试集图片输入至训练好的导出模型中进行生物识别测试, 以此来评估R-FCN_ResNet 算法用于深海冷泉生物识别的准确性, 并且将此作为探寻深海活跃冷泉的重要依据。本文只检测和识别海床表面的贻贝和潜铠虾, 对于重叠和埋于沉积物或其他生物下的无法用肉眼分清和估计的生物不做考虑。
3.1 目标检测与算法对比
目标检测算法的好坏很难被衡量, 因为除了算法本身的框架思路之外, 还有许多因素影响它的速度和精度, 比如训练时候的不同参数设置、不同的损失函数的定义方法以及不同的特征提取网络如VGGNet[8]、ResNet[9]、MobileNet[10]等。因此为了对比不同算法各自的优势, 本文统一在TensorFlow 框架中训练模型和检测生物, 并且设置相同的训练迭代步数、学习率、先验框尺寸和特征图大小等参数。然后, 不考虑算法本身的内部结构, 直接将测试集中的图片输入至训练好的模型中进行目标识别。最后, 对比3 种模型的识别效果, 权衡速度和精度两方面后确认适用于本文数据集的算法[23]。
在表1 中, 训练耗损时间表示迭代步数为15 万步时, 训练模型所花费的时间。平均检测速度是每检测一张图片所需的平均时间。平均置信度是5 个目标生物的类条件概率与IOU 的乘积[13]的平均值。具体类置信度被归一化在[0, 1]之间, 阈值设为0.5。从横向分析, 3 种算法的平均检测时间都在1sec/per image以上, 无法与毫秒级的检测速度相比, 这是由GPU的自身性能决定的。训练耗损时间都超过1 d。平均置信度得分都大于0.8。
从纵向分析, R-FCN_ResNet 算法训练耗损时间比Faster R-CNN 算法短了大概32 h, 大大地节省了时间和资源。另一方面, R-FCN_ResNet 算法的平均置信度只比Faster R-CNN 算法低0.011 8, 由此说明两个算法的检测精度相差无几, 但是其平均检测速度却比Faster R-CNN 算法快了大约3 s, 说明就检测速度一项而言, R-FCN_ResNet 算法更优。另外,SSD_MobileNet 算法虽然在训练耗损时间和平均检测速度方面表现突出, 但是对于潜铠虾和贻贝这种小目标来说, 检测效果却是最差的。其平均置信度比R-FCN_ResNet 低0.406, 比Faster R-CNN 低0.524。因此从训练耗损时间、平均检测速度、平均置信度方面综合考虑之后, 确认R-FCN_ResNet 算法为适用于深海密集生物检测和识别的算法。
表1 三种算法的性能对比Tab. 1 Performance comparison of three algorithms
图7 R-FCN_ResNet 模型的识别效果Fig. 7 Recognition effect of R-FCN_ResNet model
3.2 R-FCN_ResNet 算法准确性评估
图7 展示了R-FCN_ResNet 模型的识别效果图。可以看出, 该模型能很好的检测出深海冷泉区的潜铠虾和贻贝。图中绿色框圈出的是潜铠虾, 蓝色框圈出的是贻贝, 每个框图上方都标有目标生物的种类名称和确认为该类目标生物的置信度。在确认检测到潜铠虾和贻贝任意一种小目标生物的前提下, 给出的预测框基本上准确圈出了目标物体。由此可以得出, 该模型具有定位误差小, 对背景的误判率小的优点。但是, 从图7b 中可以看出, 仍然有极少量的贻贝没有被检测和识别出来。因此, 为了更进一步分析R-FCN_ResNet 算法对本文数据集的适用性以及评估此算法识别生物数量的准确性, 本文分别用R-FCN_ResNet 算法和人工识别方法去检测测试区的共900 张图片的生物数量, 并且计算各生物数量矩阵的相关系数, 以此来说明此算法自动识别生物数量和人工数取生物数量的符合度。
测试区遍布着较多的生物, 设定生物数量在0~80范围内的区域称为稀疏区, 在80~200范围内的区域称为密集区。图8、图9 分别展示了R-FCN_ResNet算法和人工识别方法检测潜铠虾和贻贝的数量曲线。从中可以看出两条曲线的趋势基本一致, 且计算得知潜铠虾和贻贝的两个数量矩阵的相关系数分别是0.982 4 和0.976 9, 由此说明利用此算法识别深海冷泉生物的准确度较高, 即R-FCN_ResNet 算法自动识别的生物数量和人工数取的生物数量基本一致。另外, 稀疏区的生物数量符合度比密集区高, 这说明R-FCN_ResNet 算法在稀疏区的识别准确度高于密集区的识别准确度。
图8 R-FCN_ResNet 算法和人工识别方法检测潜铠虾数量的曲线Fig. 8 Curve of R-FCN_ResNet algorithm and artificial recognition method for detecting Shinkaia crosnieri quantity
图9 R-FCN_ResNet 算法和人工识别方法检测贻贝数量的曲线Fig. 9 Curve of R-FCN_ResNet algorithm and artificial recognition method for detecting Bathymodiolus platifrons quantity
3.3 生物分布情况的复现
通过研究深海冷泉区生物的种类、数量、分布等情况, 可以辅助生物学家快速准确地寻找到富含天然气水合物溢流的区域, 即活跃冷泉区。根据冷泉生态系统的群落结构特征可知, 生物越密集的地方富含甲烷的可能性和相对浓度越高。另一方面, 目标检测算法对比实验表明, 改进后的R-FCN_ResNet 算法结合本文数据集可以高效准确地检测出深海冷泉区的潜铠虾和贻贝。因此, 基于此算法检测出该片海域潜铠虾和贻贝的数量, 然后复现其分布情况, 以此作为探寻活跃冷泉的重要依据。
图10、图11 分别展示了该片海域潜铠虾和贻贝的数量分布情况。可以看出, 该片海域边界区的生物较少, 中心区(测试区)生物数量较多, 因此可以判断中心区天然气水合物溢流的可能性和相对浓度都较高。另外, 根据该区域潜铠虾和贻贝的时空变化特征,可以协助探究环境中甲烷浓度的变化, 进而推测天然气水合物释放量的变化情况。
图10、图11 给出的信息不仅可以用以探究和分析深海冷泉天然气水合物的溢流情况和含量。而且,根据两图中潜铠虾和贻贝密集度的不同, 结合生物习性、生物外形特征等进一步探究海洋生物在深海冷泉生态系统中的重要作用; 根据本文训练出的模型实时地监测该片海域不同时期的潜铠虾和贻贝的分布情况, 以此为研究深海冷泉生态系统与生命过程对环境变化的影响机制, 为制定和更改深海冷泉环境保护计划, 为维护深海冷泉生态平衡提供数据支撑。
4 结论
本文利用残差学习块改进了基于区域的全卷积网络, 提出了深海冷泉生物的自动识别方法, 复现了潜铠虾和贻贝的分布情况。实验结果表明, 本文提出的自动识别和检测深海冷泉生物的方法准确度和速度都较高, 并且利用此方法协助探寻活跃冷泉的位置是可行且具有现实价值的。但是, 目前在对高密度、低特征和大范围的深海冷泉小目标生物进行检测时, 仍然存在漏检的情况。因此, 如何改进和创新目标识别与检测方法, 提高小目标生物检测精度,是下一步研究的主要方向。
图10 潜铠虾分布情况复现图Fig. 10 Reproduction of Shinkaia crosnieri distribution
图11 贻贝分布情况复现图Fig. 11 Reproduction of Bathymodiolus platifrons distribution