基于语义部位分割的条纹斑竹鲨鱼体运动姿态解析
2021-04-15王凯歌李晓蒙胡春海
刘 斌,王凯歌,李晓蒙,胡春海
(燕山大学河北省测试测量技术重点实验室,秦皇岛 066004)
0 引 言
条纹斑竹鲨(Chiloscyllium plagiosum,以下简称条斑鲨),属于浅海底栖板鳃类软骨鱼。在中国,主要分布于东海和南海海域[1]。条斑鲨蛋白质含量高,无机质丰富均衡,可食用也可供观赏[2-3]。由于鲨鱼具有较强的免疫力和抗肿瘤特性,条斑鲨也被用于生物学和药理研究[4-5]。因此,人工驯养条斑鲨具有较高的经济价值和医用研究价值。但是,海生鱼类对水质、温度等养殖环境因素要求较高[6],养殖过程中,时常导致鱼群出现大规模病死现象,极易造成经济损失。如能对鱼体异常行为进行自动识别和早期预警,将有效提高养殖养护水平。
智能监控和视频行为分析已成为动物行为学研究中观测、记录和量化行为模式的重要技术手段。劳凤丹等[7]早在2012年已经提出了利用计算机视觉技术对单幅蛋鸡图像进行图像识别的方法,可识别蛋鸡的日常行为活动。高云等[8]提出了基于深度学习的方法识别群养猪侵略性行为。范良忠等[9]基于计算机视觉技术研究了运动鱼体的检测算法。宋怀波等[10-12]研究了基于视频分析的奶牛行为监测技术。薛月菊等[13]研究了深度学习的哺乳母猪姿态识别算法,可以全天监测猪舍中母猪姿态并进行识别。视频分析技术对于鼠、果蝇、斑马鱼等典型模式生物的行为学研究起到了重要的推动作用[14]。
当前研究大多针对动物对象整体绘制质心运动轨迹,或依据可视外观轮廓划分身体区域进行视频图像处理和行为分析。这些方法无法对不同的身体组成部位进行有选择性的细致观察,也无法利用动物身体各构成部位在时间序列图像中呈现出具有统计性的空间变化规律进行运动姿态的解析。所谓语义部位分割,是将单帧图像中同一目标对象按照其身体部位的不同,分割成不同的图像区域。语义部位分割结果可用于表示和描述视频观测对象姿态和行为,还可用于细致观测和量化区分对象的某个局部构件[15-16]、完成遮挡等复杂条件下的检测定位[17]、跟踪[18]和姿态估计[19-20],以及研究各部位在动作行为表现中的时空关系[21],具有重要的应用价值。
本文通过对视频观测对象的鱼体可视部位的语义划分,在自建数据集基础上,利用编解码深度网络实现对鱼体各组成部位的语义部位分割,应用分割结果的语义标签和空间信息表征鱼体姿态,通过建立随体坐标判明鱼体动作。研究结果可为人工养殖条斑鲨的异常行为识别和开展面向鲨鱼的行为学试验提供参考。
1 材料与方法
1.1 建立鱼体语义部位图像样本数据集
当前,国内外视频分析相关研究大多针对具备海量公共数据样本集的人体目标,调试各种深度网络模型。尚未见有针对鲨鱼的公共数据样本。本文首先建立了条斑鲨鱼体语义部位图像样本数据集。
1.1.1 条斑鲨鱼体语义部位划分
语义部位分割任务与传统语义分割任务具有显著的不同。传统语义分割是按照图像中不同的目标类别进行区域划分。鱼体语义部位分割的目标是将单体目标按照身体部位划分为不同的组成部分。这些部位的选择不仅要考虑监控对象实际的身体构成,而且还要考虑监控视频的视点,即监控对象在监控相机成像面上的投影影像。此外,鱼体部位的划分应有助于表示目标姿态和行为。
按照视频中鱼体可视部位的形态结构,鱼体划分为:头、躯干、左胸鳍、右胸鳍、左腹鳍、右腹鳍、尾共计7个互不重叠的组成部分,并分别标注语义标签,如图1所示,图中利用颜色分别标记。给定一幅子图图像,语义部位分割方法将自动计算出身体组成部位的语义分割预测结果,在后续的试验结果输出中,采用图1b所示颜色作为各个组成部位的标签颜色,它们分别对应各自的部位名称,即为各部位的“语义”。
1.1.2 图像样本数据集的建立
全景养殖监控视频采用彩色GigE相机MV-E800C拍摄,分辨率为2 048×2 048像素,帧频为10帧/s,人工驯养条斑鲨视频监控系统示意图如图2所示,其中,摄像机固定且垂直于水池拍摄全景视频。在全景视频序列图像中,抽取单体的运动子图用于研究鱼体部位分割和姿态解析问题。利用高斯混合背景模型算法获取鱼体运动子图,共抽取近900张鱼体子图图像数据,每幅图像尺寸为256像素×256像素,其中也有一些不相关内容掺杂在内,例如多条鱼影响,养殖池边缘,白色管道和杂物等。为了能够获得较清晰的鱼体图像,选择了干扰较少,噪声影响小,水波幅度小且鱼体完整的476幅图像作为训练网络模型的候选图样。
使用labelme开源标注工具[22]进行手工标记,建立标准像素级标签数据集,形成了与原始图像对应的地面真实值图像(Ground Truth,GT)作为标准标签图像与原始图像一一对应,为下一步研究提供可靠的数据依据。通过平面旋转方式将原始数据集扩增到1 944幅图像样本,降低模型的过拟合。将图像样本数据集按照6:4的比例随机划分为训练集和测试集,其中训练集为1 166幅图像,测试集为778幅图像,有效类别数为7(背景类别除外)。
1.2 研究方法
本试验环境为PC机(Windows 10操作系统,硬件环境为Intel(R)HD Graphics 630,GPU为NVIDIA GeForce GTX 1070,软件平台为MATLAB R2019a)。在前文所述自建数据集基础上,利用编解码深度网络进行条斑鲨鱼体语义部位分割的流程,如图3所示。
主要过程描述如下:1)在室内养殖环境下的鱼养监控视频中进行鱼图像原始样本采集;2)得到的样本数据使用labelme工具进行手工标记制作数据集;3)将原始样本数据和标签样本数据进行数据扩增,防止在训练过程中模型发生过拟合现象;4)模型训练前,将样本数据集和标签数据集分为训练样本和测试样本,对模型的训练参数进行优化调整;5)在搭建好的网络模型上利用训练样本进行训练,得到鱼体部位分割模型;6)利用具有最优参数的网络结构对所有测试图像样本进行分割,得到最终分割结果;7)对分割结果进行后处理,首先采用数学形态学闭运算填充空洞,再通过计算连通区域面积,剔除小面积杂散区域,获取最终鱼体部位完整区域;8)对分类结果与对应的标签进行逐像素匹配计算,得出混淆矩阵,对分割结果进行评价。
1.2.1 基于编解码深度网络的条斑鲨鱼体语义部位分割方法
编解码深度学习网络常被用于进行图像语义分割,多用于区分场景中不同类别目标个体。这里则尝试采用编解码深度学习网络模型自动区分图像中同一目标的不同身体部位,并对FCN和SegNet编解码深度网络模型进行试验对比研究。
基于FCN网络的条斑鲨鱼体部位分割流程如图4所示。传统FCN网络[23]通过反卷积层对最后一个卷积层的鱼体部位特征图进行上采样得到对每个像素的预测,然后在与输入图像尺寸相同的256×256像素的特征图上进行像素分类,基于此过程的语义分割的最终预测层的输出步长为32的像素限制了上采样输出的细节尺度导致分割结果粗糙。该架构定义了一个跳跃结构FCN-8s,以具有13层卷积层、5个池化层和3层全连接层的VGG16网络[24]作为主干网络,并将3层全连接层替换为全连接卷积层,具体操作为:将分别对应1 000个类别的概率并且长度为4 096、4 096、1 000的一维向量的3层全连接层表示为卷积核大小(通道数,宽,高)分别为(4 096,7,7),(4 096,1,1),(1 000,1,1)的全连接卷积层。对于输入的鱼体图像,经历了5次卷积和池化操作后的部位特征图缩小为原图的1/32,而跳跃层结构保留了第3、4次的结果,首先,第3次的结果与经过第5次的特征图进行上采样的结果进行结合为原图1/16,然后与第三次卷积池化结果结合为原图1/8,经过8倍上采样后输入到softmax层以恢复到保留了空间信息的原始图像中鱼体各个部位像素大小,从而输出最大概率鱼体部位类别的结果。基于传统的FCN网络架构虽然网络结构较为简单,但在推理过程中占用了大量内存,同时需要进行上采样学习,存在分割效果粗糙等问题。
本文采用一种高效的像素级语义分割框架-SegNet网络[25],结合了全卷积网络和编码器-解码器架构[26-27],可以避免由于FCN的池化层导致的空间分辨率损失,起初应用在道路场景理解中[28-31]。基于Segnet网络的条斑鲨鱼体部位分割流程如图5所示。Segnet网络的一个关键学习模块就是编码器-解码器网络。编码器采取了VGG16网络的前13层sam卷积层来提取特征,对单鱼图像中的每一个像素点进行提取,具体操作是网络中的每一个编码器与滤波器组进行卷积产生一组与尺寸为256×256像素的单鱼图像的特征映射。然后执行带有2×2滤波器和步长为2的最大池化索引并将其在鱼体部位特征中的最大区域的位置保存,目的是便于解码器利用其来进行非线性上采样。解码器在结构上与编码器为对称关系,使用一个可训练的滤波器组对上采样后恢复到原图尺寸的稀疏映射进行卷积,以重建输入图像生成密集的鱼体部位特征图。由于编码器在每次池化后滤波器都会丢失3个权重,将这些在池化过程中的所在2×2滤波器中最大权重的位置保存下来,在解码过程中上采样就可以根据位置放入输入特征图找回丢失的信息。最后的解码器输出被提供给一个分类器softmax,以产生每个像素独立的类概率,从而实现语义分割。
Segnet网络和FCN网络的思路十分相似,在网络训练过程中,Segnet网络对每次卷积后的结果添加规范化(Batch Normalization)处理[32]和激活函数ReLu,FCN网络对每次卷积后的结果添加激活函数ReLu。它们的编码和解码技术有所不同。在FCN网络的解码器中,上采样使用一个固定的或可训练的多通道上采样核通过反卷积来执行。Segnet网络使用的解码技术没有涉及到任何学习,上采样映射与可训练的多通道解码器滤波器进行卷积,以增强其稀疏输入的密度。设计Segnet网络的目的旨在产生平滑的分割,并将目标根据其形态描绘出来。这两种深度网络结构多用于进行语义分割,且建立在海量大数据和强标注基础上,能否针对实际应用总的小样本数据实现有效语义部位分割尚待研究。
1.2.2 基于语义部位分割的鱼体姿态解析
基于语义部位分割的鱼体姿态解析利用上述语义部位分割结果,利用不同颜色标记的鱼体部位可以定位鱼体不同的身体部件,解析计算单帧图像中目标的姿态,进而判明帧序列中鱼体游动的动作变化。主要步骤分为:1)绘制随体坐标;2)解析计算鱼体朝向;3)判明运动方向。
1)绘制随体坐标。不同于常见的人体监控视频图像,鱼体在全局监控视频俯视视点下呈四周朝向,并非如人体呈直立朝向,因此,建立随鱼体变动的局部坐标系,对于计算鱼体姿态朝向,进而判明鱼体动作变化是必要的。显然,前文所述鱼体目标的语义部位分割结果有助于定量描述各个部位的位置关系。具体而言,就是根据分割网络得到鱼头、左右胸鳍、左右腹鳍、躯干、鱼尾7个语义部位来判定各自区域质心位置,作为鱼体部位关键点。以躯干和头部质心的连接线作为鱼体坐标系的纵轴,并且箭头方向指向头部,横轴穿过躯干质心并垂直于纵轴,至此,完成鱼体随体坐标系的绘制。
2)计算鱼体朝向。由于监控相机和水池是相对固定的,通过计算鱼体随体坐标系与视频帧图像坐标的相对方向,即可计算单帧图像中鱼体的朝向角(方向角)α,如图7所示。首先根据语义部位分割方法和局部区域中心计算方法得到鱼体头部中心点C(x1,y1)和鱼体旋转中心点Cr(x2,y2)和,连接两点得到方向向量α,方向由Cr指向C,代表鱼体头部朝向。已知竖直向下且以Cr为起点并且平行于图像直角坐标系x轴的单位向量n,利用余弦定理,鱼体朝向角α(°)的计算公式如下:
式中y1和y2分别代表C和Cr的纵坐标位置。y1≥y2表示头部中心点位于旋转中心的右侧,此时计算方向角的范围在[0,180°];y1<y2表示头部中心点位于旋转中心左侧,将单位向量n进行反向处理(竖直向上),且计算的方向角需加上180°,使朝向角的范围在[180°, 360°],最后α的取值范围在[0, 360°]。
3)判明运动方向。在条纹鲨运动过程中,尾鳍左右摆动推进鱼体前进,使鱼体保持稳定,而胸鳍摆动时鱼体向不动的一侧转弯,运动完成。根据鱼体的随体坐标系纵轴方向与全景图像坐标系横轴方向的夹角α变化可以判断出鱼体的运动方向的变化。在α取值范围内,当α持续增加时,判断鱼体在逆时针转向,即左转,反之,当α减小时,则在顺时转向,即右转。
2 结果与分析
2.1 试验环境与模型参数设置
采集存储的全景监控数据利用前文所述方法建立条斑鲨鱼体语义部位图像样本数据集。在模型训练前,对语义分割网络模型主要参数进行设置,动量参数(Momentum)的作用是加速模型收敛,设为0.9的随机梯度下降算法进行优化;学习率是模型训练中最为重要的一个参数,不仅可以控制模型的学习进度,还会直接影响训练结果,初始学习率(Learning rate)设置为0.001,使得模型在一定范围内快速收敛;训练批尺寸(Batchsize)表示一个批次输入到模型中进行训练的图像数量,本文设为4;迭代次数(EpochNum)设为100次;使用交叉熵损失函数作为训练网络的损失函数,直到结果达到收敛为止。对使用的两种语义分割模型设置为完全一样的上述训练参数,并对其分割结果进行对比分析。
2.2 试验评价
为了合理客观地评价网络模型在鱼体部位语义分割任务上的性能以及对比不同方法的分割性能,使用区域重合度(Intersection over Union,IoU),准确率(Accuracy),边界轮廓匹配分数(MeanBFscore)进行评价。
1)区域重合度IoU分数(Jaccard相似系数)表示真实值集合和预测值集合中相交的像素与总像素的比值,计算式为2)准确率Accuracy表示正确分类的鱼体部位像素与该类像素总数的比值,计算式为
3)边界轮廓匹配分数MeanBFscore表示各类预测边界与真实边界的匹配程度,计算式为
式中本文中使用的A为网络分割后的带有像素标签的分割图,B为手动标记标有类别标签的真值图。以评估鱼头部位为例,TP为预测为鱼头区域的像素,实际也为鱼头区域像素;FP为预测为鱼头区域的像素,实际不为鱼头像素区域;FN为预测为不属于鱼头区域的像素,实际为鱼头区域;TN为预测为不属于鱼头区域的像素,实际不为鱼头区域,单位均为像素Pixels。
2.3 语义部位分割试验结果与分析
语义部位分割试验选取运动子图数据集,共有1 944张鱼体图像,其中按照比例6∶4划分为训练集和测试集。两种方法训练后的部分预测结果如图6的第一行所示,可以看出基于FCN-8s和SegNet网络的语义分割方法能够准确地分割出鱼体的各个部位,但是也存在一些不足之处,比如边界位置信息的描述不是很平滑。在训练过程中,训练集图像共计1 166张,迭代29 100次,基于FCN-8s网络的训练历时24 151 s,Segnet网络训练过程历时18 292 s;在测试过程中,测试集图像共计778张,基于FCN-8s网络处理每幅图像的平均时间为0.46 s,Segnet网络处理每幅图像的平均时间为0.31 s。
图7为2种网络模型对测试集条斑鲨中每类对象的分割结果。首先,在测试集里的鱼体单图图像进行了IoU评价,对于给定的一张输入图像,测试其在网络分割方法分割后的性能,第一,由于标准数据集下的鱼体受到的干扰较小,分割后的鱼体语义部位图无需进行后处理就可以达到较好的分割效果,各类鱼体部位类别准确率很高,如图7a所示。基于SegNet网络分割结果相比于FCN-8s网络的各个部位的边界更平滑,与真值图的各类目标的吻合程度更高,这是由于SegNet网络融合了更低层的卷积网络特征,保留了更多细节信息。第二,由于鱼体大小和动作行为均不相同,分割结果几乎未受到尺度影响,具有尺度不变性,很好解决了鱼体颜色不均匀,又与背景颜色相近的问题。第三,通过分割结果评估和视觉检查,可以得出靠近鱼鳍或鱼的边界像素更容易被错误地分类为鱼鳍,导致4个鱼鳍的分割精度较低。
由于训练好的深度网络模型对于复杂背景下或者在有干扰的环境下分割结果不理想,添加如方法流程图所述的后处理步骤来提高鱼体部位语义分割的精度。在保证分割后的鱼体部位完整的情况下去除不连通区域,例如水中杂质,障碍物的干扰等等。选取在测试集中带有干扰的鱼体图像,如多鱼干扰,障碍物遮挡和水光波照影响等各30张图像并经过后处理进行评价对比,如图8所示。Segnet网络在头部,右胸鳍,左胸鳍,右腹鳍,左腹鳍,躯干,尾巴部位的准确度分别高出基于FCN-8s深度网络的分割方法1.50,4.70,6.95,6.56,6.01,0.85,0.84个百分点。
从图8可以看出,在多鱼干扰的情况下,FCN-8s分割方法出现较明显的错误分割现象,鱼体部位的边界较为模糊,在有障碍物干扰的情况下,SegNet能较好地分割出鱼体的各个部位,而FCN-8s存在一定的错误分割现象,有的区域被混淆且边界模糊。当水中鱼体受到光照影响的情况下,导致条斑鲨所在的环境曝光过度,但是FCN-8s网络和SegNet网络大体上都能将鱼体部位分割出来,无明显的错误分割现象,说明网络对关照影响有较好的鲁棒性。FCN-8s对图像中的低亮像素分割性能较差。
2.4 鱼体姿态解析试验结果与分析
将运动子图数据集划分为左转、直行和右转三类不同的运动子图序列,共计35组。在三类中随机抽取任一序列,按照前述方法,采用基于SegNet网络的语义部位分割方法进行鱼体部位划分,建立随体坐标,计算单帧朝向,各运动序列中鱼体朝向角α在图像上标记,如图9所示。
依据本文算法拟定的坐标方向规则,针对不同运动序列子图进行多组试验,统计得出鱼体不同运动姿态下方向角变化规律:在[0°,360°]范围内,左转序列图中,方向角α会逐渐增大;右转序列中,α逐渐减小;直行序列中,方向角α小范围内波动。鱼体目标如持续左转(或右转),则方向角α增加至360°(减小至0°)临界值后,跳变至0°(360°)重新开始计算,将呈现锯齿图样。所以,从α的波动图可以判明鱼体目标定向/非定向、直行/静止的运动姿态变化。在某时段内,目标定向左/右转时,α呈锯齿形变化;目标非定向左/右转时,α呈拱形变化;当目标直行时,α呈小幅度范围内波动变化;目标静止时,α基本保持恒定。
在此基础上,针对一段包含多种运动方向变化的鱼游序列姿态解析计算结果如图10所示。帧中,角度变化幅度较小,表示鱼体为直行状态。对于试验中所用包含35帧图像的运动序列子图,语义部位分割计算和姿态解析的运算时间不超过11 s。所以,视频序列中鱼体随体坐标系纵轴方向与单位矢量坐标轴横轴的夹角方向变化可以判断出鱼体的运动方向。可见,在语义部位分割基础上,可根据鱼体方向角α变化规律判明鱼体运动方向,为进一步开展鱼体行为学观测提供考虑。
随着鱼体的不断运动和位置变化,鱼体朝向角α也会呈现出规律性变化。在第1帧到第6帧图像中角度明显增大,表示鱼体在向左转;而第7帧到16帧中角度明显减小,表示鱼体再向右转;在第17帧到23帧图像中,角度趋近于不变,表示鱼体为静止状态;第24帧到35
3 结 论
1)本文利用人工驯养条斑鲨养殖监控视频,建立了条斑鲨语义部位样本数据集,选用FCN-8s网络和segnet网络作为训练模型,开展了针对人工驯养鲨鱼的语义部位分割工作,并将其结果应用到鱼体姿态解析中。
2)将深度网络语义分割模型运用于条斑鲨的小样本鱼体语义部位分割的实际应用中,得到了较好的分割结果。然后对两种网络的分割结果进行对比分析证明,Segnet网络在头部,右胸鳍,左胸鳍,右腹鳍,左腹鳍,躯干,尾巴部位的准确度分别高出基于FCN-8s深度网络的分割方法1.50、4.70、6.95、6.56、6.01、0.85、0.84个百分点。
3)利用鱼体语义部位分割结果,建立了鱼体坐标系,从而完成在局部坐标系下朝向不同的鱼体进行各部位空间关系的解析,可以直接用于判别鱼体动作,为进一步开展人工驯养条斑鲨的行为识别工作提供考虑。
4)养殖监控视频中,不同条斑鲨鱼体外观高度近似,水面杂波、反光等复杂因素也会对鱼体跟踪和部位分割结果产生严重的负面影响,导致目标兴趣区域偏离和鱼体部位缺失或异位,这些问题将在后续研究中重点加以解决。
本文工作建立在手工标注的有限样本数据集基础上,下一步将研究借助海量的人体部位分割公开数据集,利用迁移学习方法,重新设计网络训练结构,以期克服实际应用中各种复杂条件干扰,进一步提高语义部位分割效果。