APP下载

改进DBNet与CRNN的面标识别方法

2023-01-31董维振梁海玲

计算机工程与设计 2023年1期
关键词:网络结构金字塔阈值

董维振,陈 燕+,梁海玲

(1.广西大学 计算机与电子信息学院,广西 南宁 530004; 2.广西中烟工业有限责任公司,广西 南宁 530001)

0 引 言

在钢铁企业中,板材下线后,喷号设备在板材表面喷镀标识。依靠人眼识别面标,准确性和生产效率低,系统人机接口信息滞后,不便于信息传递与系统交互。

冶金领域人工智能方面,刘玠[1]概述了人工智能理论体系以及在冶金制造领域的应用前景,构建了冶金智能化蓝图。李江昀等[2]重点描述了深度学习在冶金工业图像分割、预测和分类等方面的理论与应用案例。在冶金文本识别领域,取得了一些研究成果。贺笛[3]采用MobileNet-v2作为骨干网络,提出了钢板表面轻量化字符识别模型。张付祥等[4,5]设计了棒材信息检测系统,提取区域联通域特征和灰度矩阵特征,构建了模板库,实现了信息自动识别。相银堂等[6]采用二值化全部阈值与局部阈值对比方法实现背景与目标分离。钱伟强等[7]提出了支持向量机与Tesseract相结合的字符识别方法。钱伟强等[8]改进了卷积神经网络结构,以获取多样性特征。周啸[9]提出使用改进的字符模板匹配算法进行钢板字符识别。杨建等[10]使用SSD网络构建字符识别器,将字符识别问题转换为目标检测问题。李阳[11]提出了边缘检测分割方法,解决压印字符定位问题,对已定位的图像分割字符。尹子豪[12]优化了BP网络算法并应用于钢坯字符识别场景。近年来,基于深度学习的分割法[13-18]研究较广泛,但是算法模型和研究对象均基于噪声指数低的场景,而板材生产环境图像噪声指数很高,受表面温度影响,易产生模糊、粘连、变形等,同时由于光照、粉尘等环境约束,使得上述研究方法和模型准确率较低。图像识别领域面临的问题、实际应用场景差异较大,须依据实际的应用场景和数据集构建算法模型。

本文设计了文本检测与识别模型,将改进的可微二值化算法网络(differentiable binarization net,DBNet)[19]作为文本检测算法网络,列出文本候选框,再通过改进的卷积递归神经网络(CRNN)对候选框进行识别,着力提升训练效率和准确率。通过现场拍摄和数据增强,构建了实际数据集,同时搭建了移动端APP和服务端应用,将模型集成至软件系统中。

1 文本检测模型算法

1.1 DBNet概述

文本检测模型基于DBNet网络和可微二值化(diffe-rentiable binarization,DB)算法,通过学习阈值图和使用可微的操作将阈值转换放入网络中训练,预测每个像素点的阈值,而非采用固定值,将背景与前景分离,进而解决梯度不可微的问题。

1.1.1 DBNet网络模型

DBNet网络结构如图1所示。

图1 DBNet网络模型

首先进行特征提取,特征金字塔(FPN)进行特征级联得到特征F;然后,特征F用于预测概率图(probability map P)和阈值图(threshold map T);最后,通过P和F计算近似二值图(approximate binary map B)。

在训练期间对P,T,B进行监督训练,P和B使用相同的监督信号(label)。在推理时,只需P或B及可获取文本框。

1.1.2 二值化

标准二值化为,对于一个大小为H×W(图的高为H,宽为W)的概率图P,将概率图中的每个像素进行二值化如下方法

(1)

式中:t表示预设的阈值, (i,j) 表示概率图中的坐标位置。输出1表示该像素为正样本也就是文字区域,输出0表示该像素为负样本也就是背景。

为了解决二值化方法不可微的问题,DB提出一个近似的阶跃函数,如下方法

(2)

使用二值交叉熵来作为Loss的情况下,计算正样本的Lossl+和负样本的Lossl-如下方法

(3)

(4)

Loss对于输入x的偏导数为如下方法

(5)

(6)

式(5)和式(6)分别表示对于正负样本的偏导数。k为梯度的增益因子,梯度对于错误预测的增益幅度大,反之亦然。

1.1.3 自适应阈值

概率图P和二值图B使用相同标签。将每个标注框缩小一定的偏移量D,偏移量定义如式(7)所示,标签图称为Gs,原始标注文本框为G。偏移量计算如下方法

(7)

式中:L为标注框的周长,A为标注框的面积,r为预设的缩放因子,r定义为0.4。

1.1.4 Loss函数

Loss函数公式如下方法

L=Ls+α×Lb+β×Lt

(8)

式中:Ls为概率图的Loss,Lb为二值图的Loss,Lt为阈值图的Loss,α和β分别取值为1.0和10。

对于Ls和Lb采用二值交叉熵(BCE)求解,如下方法

Ls=Lb=∑i∈Siyilogxi+(1-yi)log(1-xi)

(9)

Lt为L1 Loss,如下方法

(10)

式中:Rd为标注框经过D偏移量扩充后得到的Gd里的所有像素,y*为计算出来的阈值图的label。

1.2 DBNet改进

文本检测模型基于DBNet构建,特征提取网络采用ResNet50,通过特征金字塔进行特征融合。本文文本检测模型为了抑制无效特征,使网络能够自动学习不同通道的重要程度和关联性,引入了高效通道注意力模块SENet[20];同时为了解决特征金字塔冲突问题,进一步与自适应空间特征融合(ASFF)融合,增强了特征金字塔预测多尺度目标的能力。通过对于DBNet特征提取网络的改进,有效提升了特征提取的性能与精度。

1.2.1 高效通道注意力机制

为了对于无效特征进行抑制,使网络能够自动学习不同通道的重要程度和关联性,引入高效通道注意力模块SENet,将SENet模块加入ResNet50残差分支中。SENet的结构如图2所示。

图2 SENet网络结构

在SENet模块中,不再由输入X直接输出U,而是根据通道的重要程度进行加权计算。

首先对于每个通道H×W个数据进行全局平均池化,获得对应标量,称之为Squeeze,如下方法

(11)

然后经过全连接、激活函数(ReLU)、全连接、激活函数(Sigmoid)后获得 [0,1] 之间的权重值,及为通道的重要性,称为Excitation,如下方法

s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))

(12)

式中:W1、W2∈RC×(C/r), 第一个全连接层用于降维,r为降维超参数,然后使用ReLU激活,之后的全连接层用于恢复维度,最后经过Sigmoid函数获得s。

最后将每个通道初始的H×W个数据与Excitation输出的权重值分别相乘,获得加权后特征图,完成特征重标定,如下方法

(13)

加入SENet模块后,ResNet50残差学习分支内部结构如图3所示。

图3 ResNet50残差分支内部结构

图3中,r为超参数,本文r为16,第一个FC层降维为1/r, Sigmoid函数调节各通道特征权重,增强可分辨性。

文本检测模型将SENet与ResNet50结合,将SENet模块加入到ResNet50的残差学习分支中,形成Res50-SE-Net,如图4所示。

图4 ResNet50残差分支加入SENet

1.2.2 自适应空间特征融合

DBNet网络中使用特征金字塔(feature pyramid networks,FPN[21])进行特征级联,解决多尺度检测问题,通过改变网络连接提升小物体检测的准确率。ResNet50结合特征金字塔如图5所示。

如图5左侧,先进行自下至上过程,神经网络正向传播,特征图进行卷积运算尺寸变小;然后自上而下过程将更强语义、抽象的高层特征图上采样,然后与前一层特征进行横向连接,每层融合不同语义强度和分辨率的特征;特征金字塔各层通过上采样尺寸统一为原尺寸的1/4;最后特征金字塔各层进行concat。

图5 ResNet50结合特征金字塔

由于特征尺度不同,当某目标在某级别特征图被认定为正样本时,该区域在其它级别特征图中将被认定为背景,如果该区域存在不同尺度的目标时,在特征金字塔中将可能产生冲突,在训练期间将影响梯度计算,使特征金字塔的有效性降低。为了解决此问题,本文提出将ResNet50与FPN结合后,进一步与自适应空间特征融合(ASFF)融合。ASFF通过学习多尺度特征权重参数、将输入与权重参数图逐点相乘、判定像素点的抑制与激活解决特征金字塔冲突问题,增强了特征金字塔预测多尺度目标的能力,整体融合过程如图6所示。

图6 融合ASFF过程

进一步与ASFF融合的网络结构如图7所示。

图7 与ASFF融合后的网络结构

ASFF特征融合如下方法

(14)

将Res50-SE-Net网络与ASFF相结合后形成了Res50-SE-ASFF-Net。

2 文本识别模型算法

文本识别模型基于CRNN[22]网络构建,接收文本检测模型输出的文本检测框,将检测结果与识别结果对应,生成信息提取图。

2.1 模型结构

CRNN网络结构如图8所示。

图8 CRNN网络结构

CRNN网络由3部分组成,CNN(卷积神经网络)将图片转换为特征序列;RNN(循环神经网络)循环层进行解码识别,文本被认为一种序列;CTC(联接时间分类)算法将识别结果进行转录,并通过占位符添加机制处理重复字符在文本中丢失的问题。

2.2 CNN卷积层

CNN采用VGG结构,首先将分割后的数据集图片按比例缩放为宽度W,然后通过CNN卷积网络生成数量为W/4的512通道的特征序列。

本文对于VGG网络进行如下改进:为了提升训练精度和加快网络的训练收敛速度,在第5和第6卷积层后加入BN层;为将VGG提取的特征输入至RNN,将第3、4个最大池化层的卷积核尺寸由2×2改进为1×2;由于RNN可将误差反向传播,使CNN与RNN联合训练,进一步提升网络训练的准确率。改进后的CNN网络结构见表1。

表1 改进后的VGG网络结构

2.3 RNN循环层

CNN网络提取的特征序列输入至RNN网络进行文本预测,输出对应的特征分布。文本识别模型采用stack型深层双向RNN网络,如图9所示。

图9 stack型深层双向RNN网络结构

为了防止训练过程中梯度消失,选用LSTM(长短时记忆单元)作为RNN的单元,LSTM包括遗忘门、存储单元、输入和输出,双向RNN通过存储单元存储双向上下文信息。

2.4 CTC翻译层

经过RNN网络输出的预测文本序列将经过翻译层转换为字符标签,采用基于词典的CTC算法进行字符转换。

CTC翻译层分别使用符号序列X=[x1,x2,…,xT]、Y=[y1,y2,…,yU] 表示输入和输出(对应的标注文本)。对于一对输入输出 (X,Y) 来说,CTC的目标是将下式概率最大化,如下方法

(15)

CTC采用多对一的方式对齐输入输出,例如Q3ε4ε5Bε与Q3εε4ε5B均对应“Q345B”,此为其中的两条路径,将所有路径相加为输出的条件概率。

2.5 损失函数

CTC损失函数定义如下方法

loss=-∑Wi,Ii∈Xln(p(Ii,yi))

(16)

(17)

式(16)为正确标注条件概率似然数的负对数,其中p(Ii,yi) 为预测值yi对应标签Ii的条件概率,π为y的全部可能,及对应字符的概率不为零的全部线性可能。

2.6 应用集成

同步构建了移动端APP和服务端应用,面标检测与识别模型部署于服务端应用。移动端APP与服务器端使用Http协议进行交互,移动端APP拍摄图像上传至服务端,服务端调用钢卷喷涂面标识别模型进行识别,并将识别结果传输至移动终端APP展示,系统架构如图10所示。

图10 系统架构

3 模型训练

3.1 数据集获取

文本检测和识别模型训练分别使用独立的数据集,文本检测模型模型数据集通过拍摄和数据增强获取,文本识别模型训练数据集通过Text Recognition Data Generator分割生成。

3.1.1 文本检测数据集

共搜集了板坯喷涂图像741张,通过数据增强后共计4752张,标注为VOC数据格式。图像样本如图11所示。

图11 样本图像示例

3.1.2 文本识别数据集

以检测数据集为基础,通过Text Recognition Data Generator生成共计28 512张图像,文本长度为20,线程数为32。示例如图12所示。

图12 文本识别数据

3.2 模型训练

利用pycharm开发环境、Pytorch框架和Python语言训练和测试模型。计算机内存为16 G,显卡为NVIDIA Tesla T4。

3.2.1 文本检测模型

特征提取网络分别选用MobileNetV3、ResNet18、ResNet50以及本文提出的Res50-SE-ASFF-Net,训练迭代次数为1000、2000、5000,基于迁移学习进行训练,采用precision(精确率)、recall(召回率)、hmean(调和平均值)3项指标对模型进行评估。

3.2.2 文本识别模型

训练场景为:训练迭代次数为1000、2000、5000,基于迁移学习进行训练,区分CNN与RNN是否联合训练,比较本文改进CNN中VGG网络前后的模型性能,采用avg accuracy(平均准确率)为指标对模型进行评估。

4 结果与分析

4.1 文本检测模型

表2对比了本文提出的Res50-SE-ASFF-Net与MobileNetV3、ResNet18、ResNet50在不同训练迭代次数下的精确率、召回率和调和平均值,Res50-SE-ASFF-Net均为最优,训练迭代次数为5000时,Res50-SE-ASFF-Net的精确率、召回率和调和平均值分别为93.30%、86.45%、89.85%,比MobileNetV3分别提高16.03%、13.44%、14.74%,比ResNet18分别提高9.01%、11.78%、10.65%,比ResNet50分别提高7.09%、7.92%、7.67%,表明本文算法鲁棒性优秀。

表2 文本检测模型测试结果

4.2 文本识别模型

表3对比了不同实验场景(VGG改进前后、CNN与RNN是否联合训练、不同训练迭代次数)的平均准确率。结果表明,使用改进VGG网络并且联合训练的场景,平均准确率指标最优,训练迭代次数为5000时,平均准确率达到86.01%,比改进前的实验指标提升了4.99%。

表3 文本识别模型测试结果

4.3 模型推理结果

对于文本检测模型和文本识别模型改进后,进行了模型训练和推理测试,如图13所示,文本检测模型准确列出文本候选框,文本识别模型准确对于检测框中的文本进行了识别,模型推理效果好,检测和识别准确度均较高。

图13 模型检测与识别结果

4.4 移动APP终端测试

移动端APP与服务器端使用Http协议进行交互,移动端APP拍摄图像上传至服务端,服务端调用喷涂面标识别模型进行识别,并将识别结果传输至移动终端APP。

基于4G网络进行交互调试,从上传图像至展示识别数据,平均时长仅为2.1 s,数据识别准确率高,测试结果如图14所示。

图14 移动APP测试结果

5 结束语

(1)板坯面标文本检测模型改进了DBNet网络,引入了高效通道注意力模块SENet,特征金字塔特征融合后进一步与自适应空间特征融合(ASFF)融合,解决了特征金字塔冲突问题,增强了特征金字塔预测多尺度目标的能力。测试结果表明,改进后检测模型的精确率、召回率和调和平均值达到93.30%、86.45%、89.85%,比改进前网络的最优测试结果分别提高了7.09%、7.92%、7.67%,检测效果提升显著。

(2)文本识别模型改进了CNN中的VGG网络结构,使VGG中加入了BN层,将第3、4个最大池化层的卷积核尺寸由2×2改进为1×2,并将CNN与RNN进行联合训练,提升了训练精度和网络收敛速度。测试结果表明,改进后的CRNN识别模型平均准确率达到86.01%,较原算法精度提高4.99%,识别效果得到显著提升。

(3)通过搭建移动端APP和服务端应用,将模型集成至软件系统中,实现了模型算法推广使用,测试结果表明,移动端APP识别过程仅2.1 s,识别准确度高,满足实时与准确性要求。

猜你喜欢

网络结构金字塔阈值
“金字塔”
Great Vacation Places
小波阈值去噪在深小孔钻削声发射信号处理中的应用
海上有座“金字塔”
基于自适应阈值和连通域的隧道裂缝提取
金字塔是用金子造的吗
比值遥感蚀变信息提取及阈值确定(插图)
基于广义混合图的弱节点对等覆盖网络结构
体系作战信息流转超网络结构优化
基于互信息的贝叶斯网络结构学习