剪枝优化的文本区域检测算法*

2022-11-09 02:35周翔宇高仲合赵镥瑶魏家豪
计算机与数字工程 2022年9期
关键词:剪枝浅层卷积

周翔宇 高仲合 赵镥瑶 魏家豪

(1.曲阜师范大学软件学院 曲阜 273100)(2.南京理工大学自动化学院 南京 210014)

1 引言

随着计算机视觉领域的飞速发展,近年来出现了诸多基于神经网络的目标检测算法[1~2]应用于图像检测领域。OCR技术[3]作为图像检测的重要分支,能够快速从图像、视频等非结构化数据中提取文本内容信息,被广泛应用于RPA工作系统、图像文本解析系统、自动信息录入等业务场景下。

场景文本检测在国内外都有着广泛的研究,基于纹理的方法将图像中的文本区域看作一种特殊的纹理,进行纹理特征[4]的提取。基于连通域的方法通过颜色、亮度聚类或极值提取等方法得到的候选连通域,常用的方法有MSER[5]等。混合方法结合两类方法中的优点,具有较好的性能。Jain等[28]提出一种通过在输入图像上使用颜色聚类算法对候选连通域进行分割的方法。该算法对于颜色特征依赖度过高,不适用于复杂的自然场景的文本区域定位。近年来,深度学习技术飞速发展,出现了Faster R-CNN[6]、SSD[7]、YOLO[8~10]等目标检测算法,并基于这些方法改进出一系列文本检测算法,如Jiang等提出的R2CNN[29]是基于Faster R-CNN针对文本区域对象的长宽比变化大的问题提出的检测方法。

当下许多行业与文本检测密不可分,如车牌识别、证件识别、票据识别等,都是文本检测技术的应用[11~13]。近年来随着智能手机和相机等设备的发展,自然场景图片数量飞速增长,其中的文本包含了丰富的信息[14~15],对自然场景图片中的文本信息进行检测与识别有非常重要的意义[16]。

针对实际应用场景中输入图片的多方向与检测效果问题,本文提出了一种基于剪枝优化的多方向文本区域检测算法。该算法首先通过混合剪枝的方法改进VGG16[17]进行文本方向预测任务,并使用OpenCV操作将输入图片调整为统一方向,然后通过级联浅层信息的方法改进YOLO实现文本区域定位任务,得到文本区域,实现端到端的文本检测任务。

2 图片方向预测模型

VGG16是一个具有图像分类功能的深度网络模型,经过实验验证对于本文的分类任务其迁移学习后具有良好的泛化性能,因此本文基于VGG16进行优化和改进实现对图片的文字方向预测。

由于VGG16具有较多的参数和较高的模型复杂度,而图片方向预测时的分类任务相对简单,只需将待检测图片分成文本方向为0°、90°、180°、270°,如图1所示。因此本文提出一种混合剪枝的方法,对VGG16进行轻量化改进,在保证检测准确率的前提下有效减少模型的复杂度,使模型具有更快的计算速度和更小的训练开销。

图1 车牌检测系统输入图片示例

2.1 混合剪枝算法

卷积神经网络的构成规模庞大,使用单一的模型压缩方法虽然可以有效地在特定方面减少网络模型的参数数量,但不具有通用性。通过混合使用多种类型的剪枝方式可以使模型压缩率更高且具有较好的泛化性能,因此本文设计并实现了一种混合剪枝策略。

混合剪枝方法的算法流程如图2所示。与多数剪枝算法仅是对层间、通道[18]或卷积核[19]进行单一目标修剪不同的是,本文同时对通道和卷积核进行剪枝。本文方法对VGG16的三个全连接层进行修剪。这是由于大型卷积神经网络模型中卷积层主要作用是提取图像特征,对VGG16的卷积层部分进行参数权重冻结,从而减少了参数学习计算量,加速模型的训练效率和推断效率。

图2 混合剪枝流程图

算法首先冻结VGG16的卷积层并进行预剪枝。通过引入缩放因子的方法[18],将BN层的缩放因子λ与每一个通道关联起来进行训练,定义比例系数公式如下:

其中(x,y)表示训练输入的样本数据,W表示需要训练的模型权重,g(γ)表示惩罚项,本文使用的惩罚项定义为g(λ)=|γ|,即使用L1范数作为惩罚项进行优化。在训练的过程中,对比例系数逐渐变小的通道进行修剪。

然后对网络进行二次剪枝,具体流程如算法2所示。此时的工作是惩罚排名低于阈值的卷积核,可表示为需要在全连接层(FC)中找到当损失ΔC最小时对应的卷积核参数子集W′。使用泰勒展开的标准[19]对网络全连接层神经单元的重要程度进行验证,使用一阶泰勒公式在参数i的输出hi=0处展开求近似ΔC(hi),去掉高阶项,得到修剪后的特征图,由此对全连接层卷积核参数的重要程度进行验证,找出一组最优参数子集。具体流程如算法1所示。

2.2 实验结果与分析

本文硬件实验环境为两颗Intel Xeon CPU E5-2620,内 存64G,GPU使 用 两 张NVIDIA Ge-Force GTX 1080 Ti进行加速运算,每张显存为11GB,软件实验环境为Ubuntu 16.04及Python 3.7.1。

使用的数据集为ICDAR2013和自行采集的场景文本数据集TDS。相关信息如表1所示。划分训练集和测试集,图像按照文本方向分别为0°、90°、180°、270°四个类别进行样本生成。

表1 数据集信息

1)VGG16剪枝训练曲线分析

设 置epoch为500分 别 训 练VGG16、剪 枝VGG16模型,在多方向文本图片数据集上训练,生成对应的训练过程中准确率(acc)和损失函数(loss)的变化图像,如图3所示。

图3可以看出,VGG16训练600轮后收敛,loss值约为0.4,而剪枝后的VGG16经过少数轮次训练后即可趋于收敛,loss值约为0.2,且准确率可以达到95%,相比于原模型精度损失较少。剪枝后VGG16模型的准确率接近VGG16且训练达到收敛用的轮次更少,因此剪枝后的VGG16的训练效率更高。

图3 训练acc loss对比图

2)与基础方法对比与分析

综合对比VGG16模型、文献[18~19]中两种模型、几种主流模型与剪枝后的VGG16模型在本文数据集上的分类准确率、模型文件大小、单图推断时间指标,如表2所示。

表2 VGG16剪枝前后对比

表2可以看出,文献[18]中的方法虽然能够大幅度缩减模型大小和单图推断时间,但分类准确率受影响较大。文献[19]中的方法能够在准确率影响范围较小的前提下提升模型的性能,但单图推断时间较长。本文提出混合剪枝策略优化后的VGG16的模型文件大小显著压缩,推断时间有明显提升,且准确率良好,对之下综合性能优于其他模型。

2.3 小结

本节实现一个适用于文本方向预测的经过剪枝优化后的VGG16四分类模型。相比于原模型,在预测精度差别不大的前提下,达到有效压缩模型参数,提高模型效率的作用。

3 文本区域定位模型

使用YOLO目标检测算法进行文本区域定位任务。针对YOLO v3的网络结构进行分析,对网络的浅层信息利用不充分问题进行改进,使网络的训练效率提升,并通过实验结果分析说明改进方法的有效性和可行性。

3.1 YOLO v3模型分析

YOLO v3的特征提取网络模型庞大而丰富,前面0~74层为卷积层和Res层组合,用来进行特征提取,后面75~105层为yolo层,具备检测功能。在检测层中,采用特征金字塔(FPN)[20~21]的思想,用于检测的三个不同尺度(Scale1、2、3)的特征图均来自残差结构的后三组残差块,并且后三组残差块在网络结构中的的使用数量大于前两个残差块,造成网络中的浅层空间信息丢失严重,从而存在对浅层信息利用不充分的问题。由此,浅层信息的大量丢失势必会影响到整体的检测效率与准确率。

针对YOLO中存在的由于浅层信息丢失影响检测性能这一问题进行改进,提出一种基于级联浅层信息的新模型,用于本文的检测任务。

3.2 改进的YOLO模型

在网络的特征提取过程中,为了使浅层信息利用更加充分、在整个卷积操作过程中丢失较少的特征信息,本文采用了级联(Concat)操作。级联操作的具体数学原理,如下公式所述:

其中,X1,X2,…XC和Y1,Y2,…YC分别为两路输入的通道,“*”代表卷积操作。卷积之后的特征图有三个维度:宽、高和通道,本文将级联应用在通道维度,保证原本存储在宽度和高度中的深层与浅层信息不受影响。

具体地,将第一个残差块卷积出来的特征图和第二个残差块卷积出来的特征图分别和最后一个残差块卷积出来的特征图、倒数第二个残差块卷积出来的特征图做级联,使最后输出的特征图包含深层文本信息和浅层空间信息。级联操作的使用避免了直接相加对内存产生的压力和对信息造成的负面影响,并且逐元素加和的方式要求不同层的特征图具有完全一致的通道数量。C-YOLO模型中采用的级联是将浅层卷积出来的特征图和深层的卷积出来的特征图在通道维度进行拼接,这样保证级联之后的特征图具备:1)浅层特征图具备更丰富的空间信息;2)深层特征图具备更丰富的文本信息。

如此,网络模型中的Scale1和Scale2在原本具有大感受野和丰富的文本信息的基础上也同时具备浅层的空间信息,方便实现对文本的精确定位,为接下来的检测操作提供支撑,提高检测的准确率。改进后的网络结构如图4所示。

图4 C-YOLO网络结构

3.3 实验结果与分析

分别对原始YOLO v3和本节改进后的YOLO v3进行训练,通过训练过程中损失函数来衡量实验结果。

1)C-YOLO训练曲线分析

训练设置epoch数量为300,batch_size大小为32,学习率为0.001。图5(a)是原始YOLO模型训练的loss曲线,图5(b)是C-YOLO模型训练的loss曲线。

分析图5可知,由曲线横轴可以看出,C-YOLO模型在训练150轮左右收敛,而未改进的网络在190轮左右收敛,C-YOLO网络模型收敛速度更快。由曲线纵轴可以看出,改进后的网络收敛后loss在8.7左右,而未改进的网络在12左右,改进后的网络模型训练loss值更小。

图5 训练loss曲线

3.4 小结

本节使用提出的C-YOLO模型实现了文本区域定位任务。选择YOLO v3网络作为基础特征提取网络,通过级联浅层信息的方法优化原网络结构,得到一个高效准确的改进模型。相比于原方法,训练效率明显提升,结果准确率和召回率较好。

4 组合方向预测及区域检测方法

4.1 检测流程

联接剪枝VGG16文本方向预测模型和C-YOLO文本区域定位模型实现端到端的文本区域检测流程图像处理逻辑如图6所示。

图6 图像处理逻辑

使用者上传图像至预先启动的检测服务中,首先通过文本方向预测模型进行图像方向的预测,调用剪枝VGG16模型预测出文本的方向,并使用OpenCV对于非正向的图像进行旋转操作,输出文字方向为正向的图像处理结果。然后将经过旋转处理后的正向图片进行临时存储,同时调用文本区域定位的函数,最后调用C-YOLO文本区域定位模型并输出最终的文本区域检测结果。

4.2 检测结果展示

图7为本文方法在ICDAR2013和TDS数据集上的部分检测结果。数据集中图片均按四种方向相同比例调整,通过基于耦合改进VGG16和YOLO的文本检测方法后可以得到较为准确的检测效果。

图7 系统在ICDAR2013 TDS数据集上的部分检测结果

4.3 小结

本节将剪枝后的VGG16与C-YOLO模型进行耦合,得到一种适用于多场景的文本检测方法。输入的多方向图片首先通过剪枝后的VGG16进行快速高效的方向分类任务,并使用OpenCV操作调整为正向,然后通过C-YOLO模型进行高效的文本区域定位,最终完成了一个端到端的高效文本检测流程。

5 结语

文本检测技术的应用日益广泛,多数文本检测算法不仅完成了文本区域定位这一单一任务,而实际的应用系统中还存在输入图片方向混乱的问题。因此本文设计并实现了一种端到端的适用于多种场景的文本检测方法,使用剪枝算法优化后的VGG16网络进行图片分类任务,C-YOLO网络结构进行特征提取与定位任务,实现了图片方向预测和文本区域定位的任务,并通过耦合两个算法模块实现了一个完整的多方向文本区域检测流程。实验结果表明,提出的方法可以应用于多数场景下的文本检测,且效果较好。此外,在倾斜文本检测方面还需进一步优化,这也是本文的下一步研究方向。

猜你喜欢
剪枝浅层卷积
人到晚年宜“剪枝”
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于YOLOv4-Tiny模型剪枝算法
浅层换填技术在深厚软土路基中的应用
基于浅层曝气原理的好氧颗粒污泥的快速培养
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
剪枝
浅层地下水超采区划分探究
包气带浅层地热容量计算方法商榷