APP下载

基于改进YOLOv7的毛虾捕捞渔船作业目标检测与计数方法

2023-08-08孙月莹陈俊霖张胜茂王书献

农业工程学报 2023年10期
关键词:渔船计数目标

孙月莹 ,陈俊霖 ,张胜茂 ,王书献 ,熊 瑛 ,樊 伟

(1.上海海洋大学信息学院,上海 201306;2.大连海洋大学航海与船舶工程学院,大连 116023;3.农业农村部渔业遥感重点试验室,中国水产科学研究院东海水产研究所,上海 200090;4.江苏省海洋水产研究所,南通 226007)

0 引 言

中国毛虾 (Acetes chinensis) 又称虾皮,隶属于樱虾科、毛虾属,为浮游性小型虾类,分布于中国渤海、黄海、东海及南海北部沿岸,是重要的海洋经济渔业资源[1]。长期以来,生物和环境学家十分重视对海洋生物多样性的保护[2],而非法的过度捕捞一直是海洋生物多样性的最大威胁之一[3],导致包括中国毛虾在内的许多渔获物的产量逐年下降。《中国渔业统计年鉴》显示,中国毛虾的捕捞产量自2006年达到72万t的峰值后,出现了急剧下降现象。2019年,中国毛虾捕捞产量为38.9万t,相较于2018年42.5万t的捕捞产量再次出现了高达8.46%的负增长。2020年,中国毛虾捕捞产量为36.7万t,相较于2019年38.9万t的捕捞产量达5.62%的负增长。为科学捕捞毛虾、保护海洋渔业资源,中国于2020年开始实行毛虾限额捕捞[1, 4- 5]。严格的限额捕捞依赖于精准的渔船捕捞作业数据[6],但是传统的渔捞日志存在记录完整度低、数据客观性差等缺点[7]。因此,可将近几年新兴的电子监控(electronic monitoring,EM)系统应用于中国毛虾限额捕捞渔船中,并以此数据来源开发出自动化的渔船作业信息记录系统,以规避传统渔捞日志的弊端。

近年来,国内外许多学者进行了相关捕捞作业研究。李国东等[8]以中国毛虾限额捕捞管理为例,提取毛虾网船在限额捕捞期间的北斗船位数据,对捕捞努力量等管控要素进行了分析研究,为解决中国单品种限额捕捞难点积累了经验。WANG等[7]以监控数据为数据来源提出了一种基于三维卷积神经网络的中国毛虾渔船状态识别方法,实现了对捕捞作业渔船船位状态的实时监控。KALAISELVIV等[9]基于VMS(vessel monitoring system,VMS)数据开发了用于预测船舶捕捞状态的模型,该模型可以用来监控非法的捕捞活动。以上研究大多侧重于捕捞行为,在渔业捕捞作业中目标检测和计数方面的研究较少。

深度学习中的卷积神经网络在文字、语音、图片和视频等领域应用广泛,近年来,正逐渐深入到海洋等研究领域中[10-12]。各种预训练卷积网络模型被用于提取图像特征,但由于缺少运动建模,基于图像的深度特征无法直接应用于视频[13-16]。基于深度学习的行为识别技术通常以视频流为数据源,综合考察一个时间序列的图像信息,继而实现一个完整的行为识别[17-18]。深度学习中的目标检测算法,具有自动提取特征,可并行化和检测精度高等优点,广泛应用于高精度测量领域[19]。目标检测算法主要分为两类:单阶段算法(one stage)和双阶段算法(two stage)。单阶段算法通过网络提取特征来预测物体的分类与位置,主要有YOLO系列算法、SSD算法。双阶段算法需先生成候选区域再通过卷积神经网络预测目标的分类与定位,主要有R-CNN系列算法[20-22]。一般认为,单阶段算法实时性较好但检测精度相比双阶段算法较差。但是,随着YOLO等单阶段目标检测算法的不断迭代,其快速、高效、准确的检测性能受到了广泛关注和应用,目前主流的目标检测算法精度已经达到了工业标准[23]。此外,YOLO系列算法还具有较强的泛化能力和适应性,能够适应不同尺度、姿态、遮挡等复杂情况下的目标检测任务,这对于海洋渔业领域的实际应用非常有意义。

传统的渔船捕捞作业研究主要基于VMS数据,但VMS数据相比于EM数据具有一定的局限性,在停泊状态下难以进一步细分捕捞行为。EM可采集丰富的数据源,其中包含多种渔业信息[24-26],结合深度学习技术,有助于分析捕鱼动态,在渔船监测领域有很好应用前景。本研究以中国毛虾限额捕捞渔船的EM数据为数据来源,对数据进行筛选、标记、划分,采用目标检测算法中的YOLOv7算法实现毛虾捕捞作业目标检测,结合实际数据特征,对算法做了进一步改进,以期提升算法在该领域的检测性能。基于目标检测的结果,使用SORT算法,以视频流为数据源,对检测到的目标进行追踪计数,实现中国毛虾捕捞渔船作业信息统计记录。

1 数据与方法

1.1 数据来源

本研究毛虾捕捞船长36.9 m、吨位160 t、主机功率220 kW,网具为张网(图1a)。本研究所采用的EM数据利用型号为DS-2CD7A47EWD-XZS(D)的海康威视高清摄像头拍摄,分辨率均为2 560×1 440像素,设置5个位置的拍摄(图1b)。

图1 毛虾捕捞渔船监控示意图Fig.1 Schematic diagram of the monitoring of fishing vessels for Acetes chinensis

前甲板铁杆上的摄像头1朝船尾方向拍摄,从正方向拍摄记录渔船工作区。前甲板驾驶舱上方的摄像头2和摄像头3互为补充的拍摄记录了收放网过程及铁锚的状态。安装在后甲板铁杆上的摄像头4朝船尾方向拍摄,用于拍摄记录船舶碰撞等安全状态。安装在前甲板驾驶舱左下方的摄像头5,用于拍摄记录捕捞的毛虾装筐的渔获过程。

1.2 数据预处理

捕捞渔船一般在白天作业,晚上偶尔作业。为确保数据的有效性,对2022年6月15日—2022年7月10日的中国毛虾限额捕捞EM数据进行筛选,剔除晚上无作业、视频模糊不清和断帧等无效视频段。选择使用摄像头2拍摄到的下网视频,对下网时抛出的锚(anchor)进行标注识别,进而对毛虾捕捞渔船下网数量实现计数。选择使用摄像头5拍摄到的毛虾装筐渔获过程视频,对装有毛虾的筐(basket)进行标注识别,并对捕捞的毛虾筐数进行计数,为实现毛虾单位捕捞努力量渔获量(catch per unit effort,CPUE)计算提供产量数据。经过以上筛选后,最终选择使用其中的80个有效视频段作为本次试验的数据。

在有效视频段中,随机选取部分视频使用PotPlayer工具截取目标检测模型所需的图片数据(图2),对图片进行筛选,并使用labelImg软件标注,同时生成对应包含标注类别和位置坐标的txt标签文件,共标注6 258张图片。标注分为两类,分别命名为basket和anchor,依次代表装有毛虾的渔筐和下网时抛出的锚,其中含有basket目标的图片共3 364张,含有anchor目标的图片共2 894张。将两类目标图片及其txt标签文件分别按照8∶1∶1分为训练集、验证集和测试集,然后再将两类目标的对应数据集合并,形成标准的coco格式数据集。

图2 预训练图片Fig.2 Pre-training images

1.3 研究方法

本研究旨在利用深度学习方法通过中国毛虾渔船EM视频数据实现毛虾捕捞作业目标检测与计数,本研究的技术路线如图3所示。

图3 技术路线图Fig.3 Technical routes graph

1)图像获取:在实施中国毛虾限额捕捞的渔船上安装EM系统,获取毛虾捕捞过程的视频数据。通过通讯基站或移动硬盘等设备将数据传输到服务器上。

2)数据集构建:筛选有效视频片段,提取视频中关键的毛虾捕捞作业图像,对图像进行分类标注后构建目标检测数据集、目标跟踪计数数据集。

3)毛虾捕捞作业目标检测网络构建:将构建的目标检测数据集输入到YOLOv7网络模型中进行训练,结合数据集的特征和实际需求对原始模型进行改进,以得到目标检测性能更高的模型作为毛虾捕捞作业跟踪计数的检测器。

4)毛虾捕捞作业目标识别和计数实现:将采集筛选出的毛虾捕捞作业视频,使用改进后的SORT算法进行目标检测与计数试验。

5)结果分析:对毛虾捕捞作业目标检测和计数结果进行评估,将模型输出的结果与人工核验的结果进行对比分析,验证方法的可行性。

1.3.1 YOLOv7网络模型

YOLOv7整体的网络架构如图4所示,主要由输入端Input、主干网络Backbone和网络输出端Head3个部分组成。输入端Input部分对输入的图片预处理,经过Mosaic数据增强、自适应图像填充、自适应锚框后得到640×640大小的RGB图片,输入到Backbone中。Backbone为网络的主干,用于提取特征,由若干CBS模块、MP1及ELAN结构组成,其中CBS模块由Conv+BN+SiLU构成,MP1主要是由Maxpool和CBS构成,ELAN是由多个CBS构成的结构,实现对同一特征图不同尺寸的特征提取。输出端Head部分是一个PAFPN结构,与YOLOv5的head结构基本一致,区别在于将YOLOv5中的CSP模块换成了ELAN-P模块,ELAN-P与backbone部分ELAN的组成结构基本一致,不同之处是CAT数量不同。网络Head部分最终完成类别预测和目标边界框锚定,输出3个不同尺寸的预测结果,实现对多目标的多尺度预测。

图4 YOLOv7网络结构Fig.4 YOLOv7 network structure

1.3.2 YOLOv7模型改进

为了提高网络性能,本文引入了MobileOne结构,提出了改进的YOLOv7网络模型YOLOv7-MO。主要改进工作为:1)使用轻量级网络MobileOne作为YOLO v7的主干网络。2)网络输出端Head部分加入C3模块。3)剪除一些冗余操作,让整个网络轻量化。

MobileOne的核心模块基于MobileNetV1设计,结构与MobileNetV1基本一致,区别是把MobileNet中的深度可分离卷积替换为了图5所示的神经网络结构块。图5中左侧部分构成了MobileOne的一个完整结构块,由上下两部分构成,其中上面部分基于深度卷积(depthwise convolution),下面部分基于点卷积(pointwise convolution),Act.表示激活函数。深度卷积模块由三条分支构成,最左侧分支是1×1卷积;中间分支是过参数化的3×3卷积,即k个3×3卷积;右侧部分是一个包含BN层的跳跃连接。深度卷积本质上是分组卷积,分组数与通道数相同,这里的1×1卷积和3×3卷积都是深度卷积。点卷积模块由两条分支构成,左侧分支是过参数化的1×1卷积,由k个1×1卷积构成,右侧部分是一个包含BN层的跳跃连接。在训练阶段,MobileOne由如图5所示的神经网络块堆叠而成。训练完成后经过重参数化方法将图5左侧所示的神经网络块重参数化为图5右侧的结构。

图5 MobileOne神经网络结构块Fig.5 MobileOne neural network blocks

1.3.3 SORT算法

在目标检测的基础上对毛虾捕捞作业信息进行统计,主要统计对象为渔筐(装有毛虾的筐)、锚(下网时抛的锚)即目标检测阶段的basket和anchor目标。根据视频数据中basket和anchor目标移动时间不固定、同一时间可能出现多个basket目标等特点,本研究选择使用基于目标检测的多目标跟踪算法SORT(simple online and realtime tracking)对毛虾捕捞渔船EM数据进行目标跟踪。基于对算法效率和准确率的提升,对SORT算法的检测部分做出改进:将其检测部分由原始的Fast R-CNN替换为本研究预训练阶段得到的最优模型;在SORT算法中添加合适的碰撞检测线、计数器、阈值和时间戳,在对basket和anchor进行目标追踪的基础上实现对两者的计数,由anchor和basket的数量可进一步计算得到中国毛虾捕捞渔船作业时的下网数量和CPUE值。

SORT算法是一个简单、有效、实用的多目标跟踪算法,核心是卡尔曼滤波和匈牙利算法[27],其算法流程如图6所示。

图6 改进的SORT算法流程图Fig.6 Flowchart of the improved SORT algorithm

卡尔曼滤波(Kalman filter)是一种高效的自回归滤波器[28-29],其主要作用是通过传感器测量获得预测数据,再根据预测和更新的公式,可以基于目标前一时刻的位置来预测当前时刻的位置。

预测式:

更新式:

匈牙利算法又称匈牙利匹配法,常在数学问题上用于解决指派问题,即上一帧的目标和当前帧的目标具有一一对应的关系,可求解出最好的分配结果[30-31]。在目标追踪中解决的是预测框和检测框之间的分配问题,即确定当前帧的某个目标是否与前一帧的某个目标相同,如本试验的渔筐和锚。

通过卡尔曼滤波预测轨迹,并使用匈牙利算法将预测后的轨迹和当前帧中的检测目标进行匹配,之后对卡尔曼滤波更新,实现对同一物体的定位。最后,结合数据的实际特征设置阈值和时间戳,通过线与线的碰撞检测方法,用计数器实现了对捕捞的渔筐和抛锚数量的精准统计。

1.4 试验环境

试验基于Ubuntu 18.04操作系统, Python 3.8编程语言, Pytorch 1.8.2深度学习框架。试验使用训练集和验证集的数据进行模型训练和验证。试验相关硬件配置和训练阶段的模型参数设置如表1所示。

表1 试验相关硬件配置和模型参数Table 1 Experiment-related hardware configuration and model parameters

1.5 试验评价指标

在检验模型效果时,本文采用精确度(precision,P)、召回率(recall,R)、平衡分数(F1)、模型参数量(parameters)、浮点运算数(floating point operations,FLOPs)、查准率和查全率(P-R)曲线、F1曲线来评估目标检测模型的性能。

精确度(P)和召回率(R)的计算公式如下:

式中TP指将正样本正确预测出来的数量,FP指将负样本错误的预测为正样本的数量,FN指将正样本预测为负样本的数量。以本试验检测的anchor为例,TP指在检测anchor目标时将真实为anchor的目标预测为anchor的数量,FP指将不是anchor的目标预测为anchor的数量,FN指将真实anchor的目标预测为其他的数量。

F1是P和R的调和值,综合考虑了召回率和精确率对试验数据的影响,防止某一指标主导试验结果,计算式如下所示:

浮点运算量(floating point operations,FLOPs)即模型计算量,其大小可以用来衡量模型复杂度。

P-R曲线可以直观地显示出样本的精确率和召回率在总体数据上的关系,曲线与坐标轴围成的面积为类别平均精度AP值和各类平均精度mAP值,两者的计算式如下所示:

本文使用ACP值(average counting precision)来评估中国毛虾捕捞渔船作业的计数算法准确率,计算式如下所示:

式中S表示算法统计的basket或anchor数量,N表示人工统计的basket或anchor数量,i表示视频序号,j代表目标种类,M表示计数试验的视频段总数量。

2 结果与分析

2.1 目标检测试验结果与分析

2.1.1 YOLOv7模型与YOLO系列其他模型对比

为验证YOLOv7在本研究毛虾捕捞渔船作业数据集上检测效果,分别将YOLOv3、YOLOv5s和YOLOv7三种YOLO系列的网络模型在毛虾捕捞渔船作业数据集上进行训练,并在测试集上进行测试,试验结果如表2所示。

表2 不同YOLO系列模型检测结果Table 2 Different YOLO series model target detection results

通过表2对比结果可以看出,在相同迭代次数内,YOLOv7网络模型的大小和参数量小于YOLOv3,大于YOLOv5s, 但YOLOv7网络模型的大小和参数量已能满足毛虾捕捞作业的决策需求。YOLOv7的各类平均平衡分数F1比YOLOv3和YOLOv5s分别高出10.2、3.4个百分点,F1得分情况在basket和anchor两类目标上YOLOv7均高于YOLOv3和YOLOv5s两类模型。因此,本研究选用YOLOv7模型,并在此基础上进行改进,以增强其在实际渔船作业情况下,提高捕捞渔船作业目标的实时监测准确率并使得模型更加容易嵌入到EM系统中。

2.1.2 改进YOLOv7结果对比

将目标检测阶段训练得到的YOLOv7和YOLOv7-MO模型在相同的测试集(658张图像)下进行对比试验,得到如表3所示目标检测结果。

表3 目标检测模型结果对比Table 3 Comparison of target detection models results

由表3可知,本研究改进的YOLOv7-MO模型相比原始YOLOv7模型检测效果有了明显提升。改进后的YOLOv7-MO模型在测试集上获得了97.3%的平均识别精确率,其中渔筐和锚的识别精确率分别为96.9%和97.6%。改进后的YOLOv7-MO相比原始YOLOv7模型的P、R、F1值均有提升,根据表中数据计算可得,改进后的模型相比原始模型,两类平均P、R、F1分别提升了2.0、1.1、1.5个百分点。

图7a为本试验模型YOLOv7-MO的总体及两类目标(Basket、anchor)在测试集上的P-R曲线对比图。其中横轴代表Recall,纵轴代表Precision,该曲线与坐标轴围成的面积为类别精度(AP)值,其中basket和anchor的值分别为98.9%和98.8%,各类平均精度(mAP)值为98.8%。

图7 YOLOv7-MO模型目标检测结果Fig.7 YOLOv7-MO model target detection results

图7b为本试验模型YOLOv7-MO的总体及两类目标(Basket、anchor)在测试集上的F1得分图。由图可得,置信度在40%~60%区间上取得了比较好的F1分数,在置信度为51.9%时,两类平均F1分数取得了最大值97.0%。

在深度学习模型中,模型大小及其复杂度直接影响了实际应用的效果。模型大小(model size)可以直接影响模型的运行速度。模型的复杂度可以用参数量(parameters)和浮点运算数(floating point operations,FLOPs)来衡量,两者可以共同描述模型计算量,模型的复杂度也可以直接影响模型的运行速度。

由表4的模型参数结果对比可得,本研究优化的YOLOv7-MO模型大小、参数量、浮点运算量较原始模型YOLOv7均有所下降,模型运行速度得到了提升。因此,在毛虾捕捞目标识别中,本研究优化的YOLOv7-MO模型相较于原始的YOLOv7模型目标检测效果和模型大小及其复杂度均取得了较好的效果,模型性能得到了提升,可用于毛虾捕捞目标识别。

表4 模型参数比较Table 4 Comparison of model parameters

2.1.3 与其他模型的比较

在本研究的毛虾捕捞渔船作业数据集上,将本研究改进的模型与改进前的YOLOv7模型以及其他典型的目标检测算法模型Faster RCNN、YOLOv3、YOLOv5s分别进行对比,结果如表5所示。

表5 不同模型检测效果对比Table 5 Comparison of detection results of different models

通过对比可以看出,相比双阶段模型(以Faster RCNN为例)YOLO系列模型较小且目标检测效果较好。虽然Faster RCNN模型的精确度和召回率较高,但是平均准确率和各类AP值明显低于YOLO系列模型,在实际的渔船捕捞作业中错检漏检情况会较为明显。本文根据YOLOv7改进后的YOLOv7-MO模型平均准确率与Faster RCNN、YOLOv3、YOLOv5s、YOLOv7模型相比,分别提高了21.4、12.7、1.1和0.7个百分点。平衡分数F1相比YOLO系列模型中的YOLOv3、YOLOv5s、YOLOv7分别提升了11.7、4.9、1.5个百分点。改进后的模型大小和参数量小于YOLOv7,综合性能指标有一定的优势。

2.1.4 改进后模型检测效果

本试验模型YOLOv7-MO的检测效果如图8所示,图8a、8b、8c分别表示了在等待抛锚、开始抛锚和抛锚过程三个主要状态下,模型对anchor目标的检测情况;图8d、8e、8f表示了在收网过程中,模型对basket目标的检测情况,图8d表示单个目标出现时的检测情况、图8e表示目标被遮挡时的检测情况、图8f表示多个目标出现时的检测情况。由图片和视频检测效果可得,该模型可以精确的识别出渔船EM视频数据中的basket和anchor,由此进一步可得渔船作业过程中的下网数量和渔获量。

图8 YOLOv7-MO模型检测效果Fig.8 YOLOv7-MO model detection effects

2.2 统计作业结果与分析

对毛虾主要作业类别(下网数量和渔获筐数)进行人工统计,与YOLOv7-MO-SORT的统计结果作对比。在算法中添加碰撞检测线,如图9所示,采用黑色线作为计数统计试验的碰撞检测线,图9a、9b中黑色水平直线为basket计数的碰撞检测线,图9c、9d中黑色斜线为anchor计数的碰撞检测线。

图9 计数统计碰撞检测线示意图Fig.9 Schematic diagram of the counted statistical collision detection line

在算法中设置碰撞检测线、计数器、阈值和时间戳。根据视频数据的实际情况,毛虾渔获过程中basket目标由人拖动,所以摄像头5拍摄到的basket目标通过检测线时存在目标被遮挡和目标不完整的情况。结合实际数据特征,将basket目标的置信度计数阈值设置为0.5,即当通过检测线的basket目标检测置信度大于等于0.5时,认为该目标是应当被检出的basket目标。通过观察训练出的最优目标检测模型对EM视频中anchor目标的检测情况,在下网抛锚过程中anchor目标的置信度在0.8左右,因此将anchor目标的置信度计数阈值设置为0.7。图像左上方显示目标计数器,检测到的目标未通过检测线时计数器并未对该目标计数,目标达到设定阈值并通过检测线后计数器对目标进行计数。

随机选取有效视频段中15个含有渔获毛虾装筐的视频段,人工统计15个视频段的渔获毛虾筐数(Nb)。将随机选取的15个渔获毛虾视频段输入YOLOv7-MOSORT算法中,对渔获的毛虾筐数(Sb)进行统计,得到如表6所示的计数信息。

表6 渔获毛虾筐数计数试验结果统计Table 6 Statistics on the results of the basket counting experiment

随机选取有效视频段中含有10次下网作业的视频段,人工统计10次下网作业的下网数量(Nn)。将随机选取的10次下网作业的视频段输入YOLOv7-MO-SORT算法中,对抛锚的数量(Sa)进行统计继而得到下网数量(Sn),据张网捕捞示意图可得两者的数量关系如式(9)所示。下网数量计数信息如表7所示。

表7 下网数量计数试验结果统计Table 7 Statistics on the results of the net counting experiment

通过计算可得,本研究YOLOv7-MO-SORT模型实现了毛虾筐数80.0%和下网数量95.8%的计数精度。

3 讨 论

3.1 数据选取

传统的渔船捕捞作业研究主要基于VMS数据,但VMS数据相比于EM数据具有一定的局限性。VMS系统是基于卫星定位技术的船舶监控系统,其数据主要包含船舶经纬度、航速、航向等船位信息,可用于识别渔船捕捞行为[12, 32]。EM系统是以摄像装置为核心的电子监控系统,以视频的形式记录作业渔船的行为活动,EM数据是实时的视频,可用于量化渔船作业信息。例如,在航速为0时,基于VMS数据仅可将渔船行为识别为停泊。但在此情况下,根据EM数据可做进一步的渔船作业识别和信息统计,如:抛锚、下网、收锚、收网行为识别、量化渔获或下网数量。此外,目前渔船作业的统计主要依靠人工记录的方法,往往会出现漏记、错记等现象,导致航次捕捞统计的结果不准确。在作业渔船上安装EM系统,可以辅助观察员,以更加直观、客观的方法对渔船作业信息监控和记录。

本研究在对数据进行预处理时首先对获取到的EM数据进行筛选,剔除晚上无作业、视频模糊不清和断帧等无效的视频段,提高了数据质量,确保了试验数据的有效性,提高了试验效率。在深度学习算法中,训练集用于计算梯度更新权重,即训练模型;验证集在模型训练过程中检验模型配置,验证模型的有效性,挑选获得最佳效果的模型,在模型训练过程中通常是重复利用的;测试集用于评估模型,选择使用未参与模型训练和验证的数据对模型进行评估可避免过拟合现象的出现,有效评估模型的泛化能力。因此,本研究进行目标检测模型训练与评估时,将数据集按照8∶1∶1划分为训练集、验证集和测试集,确保了试验结果的可靠性。

3.2 模型选择与设计

本研究以YOLOv7模型为基础,它在YOLO系列先前工作的基础上进一步提高了检测速度和精度[33-36]。总体架构方面提出了ELAN结构及基于此的E-ELAN结构[37-38],该架构在不破坏原始梯度路径的情况下可以增强网络的学习能力。在网络优化策略方面,添加了一个额外的辅助头部结构[39]。网络新增方便部署的REP层,REP层在训练时,如果输入和输出的通道数、高、宽和大小一致时,会再添加一个BN的分支,三个分支相加输出。在部署时,会将分支的参数重参数化到主分支上,取3×3的主分支卷积输出,这对部署非常方便[40-41]。

MobileOne是Apple公司为移动设备设计的基于重参数化的主干神经网络结构,具有简单、高效、即插即用的特点,实现了高效架构中最先进的技能[42]。本研究选择使用该轻量级网络作为YOLOv7的主干网络,并在输出端head部分加入了C3模块,从试验结果来看,该改进方法使得模型精确率(P)、召回率(R)、F1得分情况相比YOLOv7模型分别提升了2.0、1.1和1.5个百分点。在选择使用轻量级网络MobileOne轻量级网络作为模型主干网络的同时剪除了YOLOv7模型中的一些冗余操作,使得模型更加轻量化,改进后的模型大小明显减小,模型大小、参数量和浮点运算数相比YOLOv7模型分别缩小了10.2%、10.6%和61.6%,提高了模型的运行速度和可用性。

3.3 计数模型评估指标

评估计数模型时,使用本研究设计的评估指标ACP。随机选取一定数量的有效视频段,对每个视频段进行人工计数,再输入模型进行计数,计算得到两者计数之差,将所有视频段的计数差值相加除以各视频段的人工计数总数得到计数误差,进而计算得到计数准确率(ACP)。吴必朗等[43]在进行鱼道过鱼计数时,采用模型计数总数除以人工计数总数的计算方法评估计数模型性能,该方法可能会因为试验样本的选择存在一定的偶然误差。ZHANG等[44]在进行丁香鱼作业渔船信息计数时,也采用模型计数总数除以人工计数总数的计算方法评估计数模型性能,但试验数据本身可能是多个视频段,因此该计算方法可能会存在一定的修正误差。本研究中的计数试验选择采用多个视频段作为试验数据,避免了单个视频段带来的计数偶然误差;计算计数准确率时,用每个视频段人工计数与模型计数的差值之和除以总体人工计数之和,可以避免修正误差,本试验设计的评估指标能更加合理评估计数试验模型。

3.4 计数阈值设置方法

对于置信度计数阈值的选取,一般需要根据实际场景中目标的大小、形态、数量等特点来确定。通常情况下,较小的置信度计数阈值可以提高目标检测的召回率,但同时也会引入一些误检结果。较高的置信度计数阈值可以提高检测结果,但可能会导致漏检的情况。

本研究在对目标的计数阈值进行选取时,主要考虑目标的大小、数量和分布情况。Anchor目标的数量相对较多出现频率较高,且anchor目标个体较大,结合目标检测阶段对anchor目标检测精度和置信度均大于0.8的试验结果,将anchor目标的计数阈值设置为0.7,以确保目标检测追踪到anchor目标并完成正确计数,并避免一些虚假检测结果的产生。Basket目标的数量根据实际作业情况来看,在大多数情况下,其出现的频率较低,且basket目标个体较小,在渔船工作人员将其移动通过摄像头5时,会出现目标遮挡的情况,在目标追踪到通过检测线的瞬间,basket目标的目标检测置信度较低,因此适当降低目标计数阈值,将basket目标的计数阈值设置为0.5,减少漏检情况的发生。

3.5 计数误差

本研究仍存在一些不足之处有待改进。在EM视频识别计数结果中,目标检测框会出现短暂的消失和重现,这使得计数结果出现了一定的误差。因此,在试验中采用卡尔曼滤波消除抖动,使得预测框在整个检测过程中保持平稳,得到更加准确的检测结果。模型统计的下网数量偏高,是因为在模型统计抛锚数量时,anchor目标被重复检测。通过观察总结抛锚规律,设置时间戳,当两次检测出anchor目标之间达到一定时间间隔时被认为出现下一个anchor目标,进行计数,anchor目标的计数误差问题因此得到了一定的解决。在进行毛虾筐(basket)的计数统计时,实际作业规律不稳定,并非所有渔获的装有毛虾的筐都会通过本研究设置的检测线。当渔获量较大时,作业后期渔获的一些装有毛虾的筐可能未通过检测线,如图10a所示。当转运船到达时,这些未通过计数检测线的渔筐会直接转载到转运船,本试验设置的计数器未对其进行计数,如图10b所示直接被移动到图像的右侧区域。此外,当装有毛虾的筐(basket)通过检测线时,在摄像头拍摄到的图像中,basket目标会被船员遮挡,如图10c左下方所示导致可识别的目标不完整,当模型识别出此目标时,置信度较低。

图10 渔获毛虾时的特殊情况Fig.10 Special circumstances when catching Acetes chinensis

本研究为确保计数目标是正确目标,在计数模型中设置了阈值,考虑到basket目标通过检测线时目标不完整、置信度较低的情况,适当调低了basket计数阈值,以尽可能确保船员拖动的basket目标通过检测线时被检测出。因此,本研究所作的毛虾筐数计数统计是在basket目标均通过检测线的理想状态下的统计。针对以上所述问题,还需进行进一步的研究,可以解决的方案有:1)在作业渔船的适当位置增加安装摄像头,拍摄作业渔船渔获物的转运情况,通过渔获物的转运EM数据进行计数。调整现有摄像头的位置,拍摄更清楚的作业过程。2)制定渔船作业规范,划分渔船工作区域,船员在工作时将渔获物按照指定区域和流程进行移动。3)修改模型,设计更加合理的计数方法,以进行完整计数。

4 结 论

针对中国毛虾捕捞渔船限额捕捞作业规范问题,研究采用渔船电子监控(electronic monitoring,EM)系统采集作业数据,改进YOLOv7模型,构建了YOLOv7-MO目标检测模型和YOLOv7-MO-SORT计数模型。目标检测YOLOv7-MO模型使用轻量级网络MobileOne作为主干网络,网络输出端head部分加入C3模块,在原始YOLOv7模型上剪除了一些冗余操作,让整个网络轻量化,更适合渔船捕捞作业识别。使用该模型对中国毛虾限额捕捞渔船的主要特征进行检测,达到了97.3%的识别精确率,在模型更加轻量化的基础上实现了更好的准确性。在目标检测的基础上,改进SORT算法对目标进行计数,将目标检测部分修改为预训练的YOLOv7-MO,并在算法当中添加合适的碰撞检测线,设置阈值和计数器,实现了对毛虾捕捞渔船渔获毛虾筐数和下网数量的自动化数量统计,分别达到了80%和95.8%的计数准确率。该功能方便渔船作业信息的管理和记录,一定程度上避免了传统的人工记录渔船作业信息的一些弊端,进行毛虾筐数计数统计可为毛虾单位捕捞努力量渔获量(catch per unit effort,CPUE)等渔业信息值的计算提供方便。本研究解决了毛虾捕捞渔船作业识别和计数问题,同样可应用于其他作业渔船,为后续实现精度更高、更快的捕捞渔船作业识别和统计方法提供了参考。

猜你喜欢

渔船计数目标
古人计数
千舟竞发
递归计数的六种方式
古代的计数方法
国内新型远洋金枪鱼围网渔船首航
这样“计数”不恼人
渔船惊魂
新目标七年级(下)Unit 3练习(一)
新目标七年级(下)Unit 4练习(一)
(新目标)七年级下Unit 1练习(二)