基于Mask R-CNN的马匹四肢别征提取方法研究与应用

2022-08-17 10:07迪力夏提多力昆张太红冯向萍
电子设计工程 2022年15期
关键词:马匹四肢外貌

迪力夏提·多力昆,张太红,冯向萍

(新疆农业大学计算机与信息工程学院,新疆乌鲁木齐 830052)

随着现代马产业的不断发展,新疆马产业的管理平台中马匹登记工作已成为最基础的一项工作[1],马匹外貌特征作为马资源信息的一项重要基础资料,是指马匹局部的外貌特征,可作为辨别毛色相同个体的识别标志。目前在马匹登记工作中仍需人工在系统中绘制马匹外貌别征,存在不好画、画不好、画不像、工作量大、人工成本高、效率低等问题。随着登记马匹数量的日益增长,这些问题迫切需要得以解决。

自2012 年以来,AlexNet[2]、VGG、Inception[3]、ResNet[4]、Mask R-CNN[5-6]等网络模型的提出,深度学习方法在图像识别方面取得了优异成绩。该文提出一种基于Mask R-CNN 的马匹四肢别征提取的方法,为马品种登记工作中的马匹外貌特征自动标记提供了技术基础。

1 方法原理

Mask R-CNN 框架不仅在其前身Faster R-CNN的基础上实现了更高的性能和更快速度的目标检测,更是为了实现实例分割引入了Mask 分支,使图片中的目标以像素级别进行了分割。Mask R-CNN是一种通用性很强的实例分割框架,主要可以分为特征金字塔网络、RPN[7]网络、ROI Align、头部网络四部分。Mask R-CNN 网络结构如图1 所示。

图1 Mask R-CNN网络结构

1.1 特征金字塔网络

该文以ResNet101 作为骨干特征提取网络,使用FPN 网络预测生成的不同尺度的特征图,并使不同尺度特征图进行融合,获取不同分辨率、不同语义强度的特征[8]。特征金字塔网络结构如图2 所示。

图2 特征金字塔网络结构

1.2 RPN网络

Mask R-CNN 框架中的RPN 网络是从FPN 生成的特征图中创建了约两万个候选框(Anchor)[9]。RPN需要对FPN 生成的5 个特征图创建不同尺寸的候选框,并对每一张特征图的所有像素点建立3 个不同尺寸的预测框[10]。如图3 所示,RPN 对于特征图的每个位置进行滑窗,通过不同尺寸及不同比例的K个Anchor 产生K个256 维的向量,使每一个区域进行前景与背景的检测,并获得其具体位置。

图3 RPN算法示意图

1.3 ROI Align

ROI Align 是Mask R-CNN 中提出来的对ROI 区域进行标准化处理的方法,它提升了Faster R-CNN中的ROI Pool 的精度,使得标准化后的数值从整型提高到浮点型,提升了整个模型的检测精度。ROI Align 算法示意图如图4 所示。

图4 ROI Align算法示意图

1.4 头部网络

常见的实例分割是在分割完成后再进行分类,而Mask R-CNN 框架则是分类和分割同时实现[11]。但在测试时,需要先经过目标分类和回归,之后才对目标边框内的图像进行Mask 回归,决定目标的像素点分类。这意味着Mask 分支并不需要对目标类别进行分类,而仅仅需要分辨前后景,即对边框内的图像做一次语义分割,通过这种方式,巧妙地实现了实例分割。

与Faster R-CNN 相比,Mask R-CNN 框架的头部网络除了目标分类和边界回归外,由ROI Align 标准化的特征图穿过两个全连接层,以实现目标分类和回归。该部分与RPN 网络中的背景分类和边界回归基本相同,其分割任务主要通过扩展分支来实现。

2 实验及结果

2.1 实验环境

该文算法运行在Python 3.6、Tensorflow 1.14.0、Keras 2.1.5 开发环境中,其具体配置如表1 所示。

表1 实验环境配置

2.2 构建数据集

通过查询马匹外貌特征知识网站与书籍等相关资料,马匹四肢的别征有蹄冠白、系白、球节白、1/2管白和管白共5 种类型。为了构建马匹四肢别征的数据集,通过新疆马业协会提供的马匹图像和新疆伊犁昭苏马场实地拍摄的图像,筛选出拥有完整马匹的图像1 850 张。通过网络爬虫获取的图像,筛选出拥有完整马匹的图像460 张,图像数据集共计2 310 张。并通过LabelMe 图像标注工具标注完整马匹数量为2 310 个,标注马匹四肢数量总计6 551 个,别征数量总计1 823 个,具体数目如表2 所示。

表2 标注类别与数量

2.3 数据扩增

因无法大规模制作马匹四肢别征的数据集,为防止出现模型过拟合或模型泛化能力差等问题,该文在模型训练时使用Python 中常见的imgaug 库(数据扩增库)进行数据扩增。通过在线扩增方法在模型训练的过程中,对每个epoch(迭代次数)的所有样本图像都进行一次变换。

该文在数据扩增时选用的变换方法是镜像、裁剪、平移、旋转、高斯模糊、对比度变换、高斯扰动、双边滤波、HSV 变换、饱和度变换、色调变换、灰度变换等[12-15],并通过1~3 种随机组合的变换方式形成,使扩增数据接近测试数据,从而提高预测精度。

2.4 结果分析

通过Mask R-CNN 框架在COCO 预训练权重上训练了单个模型、马匹模型、四肢模型和别征模型,并做了对照实验,针对马匹四肢别征数据集,采用平均准确率(AP)和分割的评价标准交并比(IOU)评价模型检测结果[16],IOU 计算公式见式(1)。4 个模型中的单个模型是使用所有的10 个类别进行训练的模型。马匹模型、四肢模型和别征模型是指分别用马匹类别、四肢类别和别征类别进行训练的模型。马匹类别数量为一个,四肢类别为左前腿、右前腿、左后腿和右后腿共4 个,别征类别为蹄冠白、系白、球节白、1/2 管白和管白共5 个。

其中,A表示预测出来的目标区域面积,B表示手工标定的目标区域面积,IOU 指标越高,表示预测结果和标定结果的重合率越高。将IOU 从0.5 到0.95以0.05为间隔,测试10次,选取10次测试的平均值作为AP 值。AP50 是IOU 为50%情况下的精确度,AP75 是IOU 为75%情况下的精确度。模型分割精度如表3 所示。

表3 模型分割精度

通过单个模型、马匹模型、四肢模型和别征模型的分割效果可知,单个模型的马匹、四肢和别征的像素点出现了歧义性,无法使四肢的别征与四肢一一对应。通过马匹模型、四肢模型和别征模型联级的方式确定每个四肢的别征归属的马腿,能够在马匹外貌特征图示中精确标记四肢别征。

2.5 自动标记

目前,新疆马业协会在马匹登记时,主要以手工方式在纸质材料、网页登记系统和安卓应用中对马匹外貌特征图示进行描红标记。为解决实际问题,使用自动化方式减少人工成本,通过马匹模型、四肢模型和别征模型联级的方式对马匹图像进行处理。

首先以马匹模型分割图像为基础,过滤背景中误拍的非完整马匹。再以四肢模型对完整马匹图像中的四肢分别进行检测与分割。然后以分割的四肢图像为基础,使用别征模型对四肢图像分别进行别征的检测与分割,确保别征与四肢能够一一对应。

最后将别征分割图像以马匹外貌特征图示中的对应马腿宽度进行同比例缩放,再以马匹外貌特征图示的对应马腿的马蹄子的左上角(别征部位的左下角)为原点,分别将别征分割图像绘制到马匹外貌特征图示中。自动标记公式见式(2)和式(3),Ax1为别征模型分割结果的左上角x轴坐标,Ax2为别征模型分割结果的右上角x轴坐标,Bx1为马匹外貌特征图示的对应马腿别征部位的左下角x轴坐标,Bx2为马匹外貌特征图示的对应马腿别征部位的右下角x轴坐标,P为同比例缩放的比例值。Ay1为别征模型分割结果的左上角y轴坐标,Ay2为别征模型分割结果的左下角y轴坐标,By1为马匹外貌特征图示的对应马腿别征部位的左下角y轴坐标,Y为将别征分割结果同比例缩放后在马匹外貌特征图中绘制的别征高度。

最终将目标马腿左下角x轴的值和计算出来的Y值作为自动标记的锚点,并进行标记。

因图像中的马匹站姿为非标准站姿,在绘制别征时可能会超出马匹外貌别征图示中的绘制范围,为解决该问题,专门制作了马匹外貌特征图示的马匹内部透明版,将透明版图像覆盖在已标记好的图像中,将超出绘制范围的标记部分进行覆盖抹除,最终解决了马匹四肢别征的自动标记的问题。

在马匹四肢别征绘制完成之后,通过四肢模型与别征模型的分类结果,在马匹外貌别征描述中将绘制结果描述出来,描述结果如下:左前腿1/2 管白,右前腿系白,右后腿1/2 管白,左后腿1/2 管白,实现马匹外貌特征的描述部分。

3 结束语

该文提出一种基于Mask R-CNN 的马匹四肢别征提取方法,通过过滤误拍或残缺马匹,匹配别征与四肢之间的一一对应关系,定位分割后的别征在马匹外貌特征图示中的准确位置,之后进行马匹外貌特征图示的自动标记,最终通过自制马匹外貌别征图示的马匹内部透明版,将超出绘制范围内的标记进行了覆盖抹除,解决了生成马匹护照时对马匹外貌特征图示的自动标记问题。

由于马匹面部图像和马匹躯干部位有烙印号的图像太少,该文只研究了针对马匹四肢的别征自动标记方法,没有考虑其他部位。未来考虑制作马匹外貌特征的所有别征数据集,并通过关键点定位等方法,解决马匹在非标准站姿下进行马匹外貌特征自动标记的问题。

猜你喜欢
马匹四肢外貌
跟踪导练(四)
跟踪导练(四)
跟踪导练(四)
盛装舞步竞赛马匹的设施和管理
外貌描写慎“化妆”
外貌与内在
马匹喝水
真正的动物保护:马匹专用“跑鞋”
请你们,把我们的外貌还给我们
没有四肢的生命