APP下载

基于改进RetinaNet的马拉松号码簿检测方法研究

2023-11-09李井辉宋思宇汤伟业

微型电脑应用 2023年10期
关键词:号码马拉松角度

李井辉, 宋思宇, 汤伟业

(东北石油大学,计算机与信息技术学院,黑龙江,大庆 163318)

0 引言

以号码簿的身份特征属性和唯一性为关键线索,将马拉松运动员识别问题简化为号码牌的检测和识别问题,通过检测和识别号码簿识别运动员个体,可为赛事监管和过程管控的自动化管理提供帮助。

实际的拍摄图像通常由多位摄影师以不同的角度、姿态和位置拍摄,这导致图像中目标的比例、光照以及角度存在差异。此外,运动状态下的身体摆动使得号码簿上的部分字符产生角度倾斜或字体扭曲变形,从而导致号码簿的检测难度加大。当前基于深度学习的号码簿检测主要有文本检测和传统目标检测两种形式,由于号码簿检测对后续号码簿信息提取和理解起到至关重要的作用,故而文本检测算法的使用率较高。WANG等[1]将号码簿视为一类特殊文字,通过多方向文本检测算法来确定号码簿区域,由于号码簿自身以及背景文字的干扰,上述方法直接采用文本检测算法会检测到大量非号码簿的文本信息,从而导致算法的检测性能下降。WONG[2]利用YOLOv3分别检测号码簿及单个字符位置区域,通过多次的检测来获取目标区域,导致检测速度过慢,无法满足实时检测的需求[3]。传统目标检测方法由于水平检测框的限制,对于倾斜褶皱的号码簿而言,要引入过多背景信息,对模型的训练以及后续号码簿的识别会产生干扰。现有基于深度学习方法的研究在简单场景下具有较好的识别效果,但未解决在复杂场景下识别率差的问题。

针对以上问题,本文利用RetinaNet[4]较好地平衡了检测的速度和精度,结合文本检测方法的多角度特点,提出基于RetinaNet的旋转目标检测模型,针对多目标场景下倾斜扭曲号码簿的漏检问题,设计旋转检测框用于匹配倾斜号码簿,为了避免旋转检测框中角度回归的困难,利用环形平滑标签(CSL)[5]方法将角度回归问题转化为角度分类问题,进一步优化倾斜号码簿的检测精度。实验结果表明,相比其他基于深度学习的号码簿检测方法[6],本文算法对于形变号码簿具有较高的检测正确率,并且对目标的定位更为准确。

1 RetinaNet目标检测模型

RetinaNet在特征提取阶段采用的是基于残差网络(ResNet)[7]的特征金字塔(FPN)[8]形式,为了减少浅层特征的计算量,去除了通过FPN构建得到的P2层特征,保留P3、P4、P5的同时增加了2个高层次特征P6、P7,得到具有5个层次的特征,从而有效地从单分辨输入图片中构造出丰富的多尺度特征图。

针对不同尺度的特征图,RetinaNet在每个位置上都设置了9个不同大小和比例的锚框(Anchor),由于该部分产生了大量候选框,从而产生正负样本失衡问题。Focal Loss[5]的提出有效地缓解了样本不平衡导致的模型训练难度大的问题,在标准交叉熵损失函数的基础上设置了一个动态缩放因子,动态的降低训练过程中易区分样本的权重,从而使得模型训练的损失更关注于难区分样本。Focal Loss的定义如下式:

FL(pt)=-(1-pt)γlog(pt)

(1)

式中,(1-pt)γ为调制系数用来控制相关的权重值,超参数γ可根据训练数据进行相应的调整,-log(pt)部分为交叉熵损失,具体公式如下:

(2)

式中,y∈{-1,1}为正负样本的标签,1表示为正例,p表示为模型预测y=1的概率,为了方便后续的使用将pt定义为

(3)

此时交叉熵损失函数简化为

CE(p,y)=CE(pt)=-log(pt)

(4)

2 基于改进RetinaNet的号码簿检测模型

通过对相关实验的分析发现,在马拉松场景中,针对倾斜且密集分布的号码簿,一方面要考虑目标框是否贴合号码文本,另一方面要考虑目标框中是否引入过多背景或者其他目标信息。原始RetinaNet提供的水平检测框具有一定的局限性,因此本文借鉴RRPN[9]旋转框生成策略,在原水平检测框基础上设置具有角度信息的旋转Anchor。

2.1 旋转Anchor设置

基于马拉松场景下的号码簿特点,本文在原始RetinaNet的基础上增加角度信息θ,通过5个参数(x,y,w,h,θ)来表示带有方向的Anchor,x、y、w、h、θ分别表示Anchor的中心坐标、宽、高以及Anchor的长边h与x轴的夹角,其中,θ的取值范围在[-π/2,π/2]。考虑到拍摄距离等因素可能会导致图像中号码簿的大小存在差异,通过对不同场次号码簿统计发现,除遮挡号码簿以外,号码簿的长宽比值变化较小。根据遮挡和倾斜号码簿长宽比特点,将Anchor长宽比设置为1∶1、1∶2、1∶3,尺度大小依旧保持为20、21/3、22/3。为了更好地匹配倾斜号码文本,在原有水平Anchor的基础上增加6个方向角度-π/12、-π/6、-π/4、-π/3、-5π/12、-π/2。根据Anchor的生成规则,图像特征图上的每一点将生成72个不同角度、不同大小的Anchor。

2.2 角度分类方法

在倾斜目标的角度预测中,利用角度回归的方式很难学习到精确的角度信息,导致检测框中引入过多背景或者相邻目标信息,对后续的识别产生一定的干扰。相比基于水平框检测方法,改进后的旋转RetinaNet在参数θ回归过程中,容易受到角度周期的限制,从而产生边界问题。角度回归中的边界问题如图1所示,其中,检测框的长宽是固定不变的,h为长边,w为短边。在基于180°角度范围内,最佳的角度回归路线是锚框逆时针旋转到预测框,由于这种回归方式超出了角度定义的范围,回归过程的损失值非常大。此时模型必须将Anchor顺时针旋转一个较大的角度,以获取最后的预测边界框。

图1 基于180°范围的角度回归

针对角度回归中的边界问题,本文结合CSL,将角度回归问题转化为分类问题。CSL方法的主要思路是将目标角度作为一个类别标签,通过分类的方式来限制角度预测的结果。简单的分类方式就是将整个定义的角度范围按照一定比例划分,即在180°范围内,若每10°为一类别,则可分为18类。CSL的具体表达式如下:

(5)

g(x)称为窗口函数,其中g(x)可以为满足以下4个条件的任意函数:周期性、对称性、单调性以及g(x)≤1。r用来控制窗口半径,通过对窗口函数的设置,使得模型可以衡量预测框与真实框之间的角度距离,即在一定范围内越靠近真实值的预测值的损失值越小[6]。其中本文方法中的窗口函数为高斯函数。此时,旋转检测框的回归表示为

tx=(x-xa)/wa,ty=(y-ya)/ha

tw=log(w/wa),th=log(h/ha)

(6)

tθ=(θ-θa)·π/180

(7)

(8)

3 实验环境及数据集

3.1 实验环境

本文所有实验均在同一实验环境下完成,实验平台为Inter®CoreTMCPU i7-9700K,8 GB RAM,NVIDIA GeForce GTX 2080 Ti,操作系统为Ubantu 16.04,采用CUDA10.0加速,实验环境为Python 3.6,Tensorflow框架。号码簿检测所需的实验数据来源于真实马拉松赛事。

3.2 号码簿检测数据集

本文的研究对象为马拉松场景下的运动员图像,目前公开的马拉松运动员数据集较少,仅有的RBNR数据集[1]不仅数据量少,而且与真实马拉松场景下拍摄的图片存在较大的差异。针对这一问题,本文在不同马拉松网站上进行数据的收集工作,收集到的部分图像如图2所示。

图2 号码簿数据集示例

为了保证运动员数据集的多样性,收集的样本数据中包含各种天气状况、赛道起始终点、不同场次、不同拍摄角度的运动员图片,此外,号码簿的样式、字体颜色、字体大小也需要考虑在内。最终在收集的图片中筛选出5000张图片作为实验所需的马拉松运动员数据集——Mathon。在对图片进行标注工作的同时,选取4000张图片作为训练集,1000张图片作为测试集。

4 号码簿检测实验验证

为了验证本文检测算法的有效性,在Mathon数据集上分别对RetinaNet、本文算法以及其他文本检测算法进行相关的对比实验。在测试阶段根据图像中号码簿的分布情况,将测试集划分为简单场景和复杂场景。其中:简单场景以单目标为主;复杂场景中号码簿分布密集,倾斜遮挡以及小目标号码簿居多。不同算法的检测结果使用平均准确率(mAP)作为评价标准。

4.1 RetinaNet改进前后对比

在号码簿检测的对比实验中,原始RetinaNet采用的是基于水平框检测方法,而本文方法是基于旋转框,由于两种方法的数据集标注形式不一致,故对本文方法分别进行了两组实验:基于水平框和基于旋转框的实验。基于水平框的实验中,忽略号码簿的倾斜问题,分别对原始RetinaNet和本文算法进行对比,实验结果如表1所示。基于旋转框的对比实验主要是针对角度回归、角度分类方法的对比,实验结果如表2所示。

表1 水平框检测方法对比

表2 旋转框检测对比

从表1可以看出,在基于水平框的实验中,RetinaNet在Mathon数据集上有较好的检测效果。文本方法在简单场景下虽然稍有逊色,但在复杂场景下有所提升,通过上述实验结果对比,进一步验证了本文方法的可行性。由表2的实验结果可以看出,相比于角度回归,角度分类方法的检测效果更好。其主要原因是在角度范围的影响下,角度的不确定性导致基于角度回归方法的精度下降。

为了进一步展示基于水平框和基于旋转框两组方法的不同之处,在测试集中选取不同分布形式的的号码簿进行相应的测试,号码簿检测效果如图3所示。其中,图片的左边为基于水平框的检测效果,图片的右边为基于旋转框的检测效果。当图像中号码簿分布密集且倾斜时,水平框方法更容易检测到相邻目标区域,而旋转框方法由于角度的设置使得号码簿的检测更加灵活。在号码簿的分布和背景的变化下,本文算法能准确地检测到号码簿区域,说明本文算法对倾斜号码簿具有较优的检测性能和鲁棒性。

(a)密集分布

4.2 本文算法与文本检测算法对比

对于倾斜形变的号码簿而言,水平框检测方法无法获取号码簿的精确位置,为进一步检验本文方法对于号码簿的检测性能,分别与CTPN[10]和EAST[11]两种文本检测方法进行对比实验。基于旋转框检测方法对比结果如表3所示。

表3 旋转框检测方法对比

文本检测与目标检测方法的不同点在于文本检测方法更关注于文字之间的空隙以及文本与背景的区分。CTPN方法针对的是横向排列的文本定位,该方法通过生成固定宽度的竖直锚框来检测文本区域,而在实际场景中,身体的摆动使得号码簿的方向变化不定,因此CTPN方法对于不规则倾斜号码簿的检测性能大大降低。与CTPN方法相比,EAST方法更灵活。EAST针对文本区域提供了两种形状的文本预测框:旋转框和水平框,以适应多角度的文本检测。在马拉松场景中,EAST方法针对倾斜号码簿的检测有了很大的提升,但对于复杂场景下的号码簿存在漏检以及误检情况,且对号码簿的定位准确度也较差。由表3实验结果可知,相比较于文本检测算法,本文提出的号码簿检测方法在两种场景下均有很大程度的提升,说明改进后的RetinaNet方法具有较好的检测性能。

5 总结

针对马拉松场景下号码簿的密集分布、倾斜扭曲等导致现有的检测方法准确率不高问题,本文提出一种基于改进RetinaNet的号码簿检测方法。以RetinaNet作为基础网络,设置旋转检测框用于倾斜目标的匹配,利用CSL方法将旋转检测框的角度回归问题转化为角度分类问题,从而满足目标区域精确定位的需求。在自主创建的数据集Mathon上的实验表明,本文提出的号码簿检测算法对于复杂背景、号码簿尺度及倾斜扭曲等多种影响因素可较好地提取号码簿区域,相比较其他方法,改进后的方法在一定程度上提高了检测精度。

猜你喜欢

号码马拉松角度
神奇的角度
冰上马拉松
说号码 知颜色
一个号码,一个故事
猜出新号码
学习是一场马拉松
一个涉及角度和的几何不等式链的改进
角度不同
人啊
一起来跑马拉松