基于NAS搜索的端侧OCR识别系统的Backbone设计技术方案

技术编号:33199744 阅读:47 留言:0更新日期:2022-04-24 00:34
本发明专利技术公开了一种基于NAS搜索的端侧OCR识别系统的Backbone设计,包括以下:OCR整体架构设计,OCR系统的设计共分为三大模块,可微分的Backbone,检测头和识别头,这里检测头和识别头可以用常用的检测识别的轻量化架构替代,这里不做讨论,主要目的在于构建一个轻量化的Backbone。通过多任务的架构搜索来为端侧的OCR系统设计Backbone架构,本发明专利技术通过汲取先人优秀经验设计了OCR Backbone的整体架构和四种搜索OP,通过可微分的搜索将网络架构的时延和参数量和检测识别的loss一起优化,在模型效果,模型参数,模型时延三者之间寻找最优解;可以代替人工设计的Backbone寻找最优的部署架构。架构。架构。

【技术实现步骤摘要】
基于NAS搜索的端侧OCR识别系统的Backbone设计


[0001]本专利技术涉及OCR、Automl、NAS领域,特别涉及基于NAS搜索的端侧OCR识别系统的Backbone设计。

技术介绍

[0002]OCR即光学字符识别,是指通过字符识别方法将图片中的文字翻译成计算机文字的过程。通常可以应用在各种文档,各种票据,各类证件等等的识别中,这个也是少数可真正在实际生产中落地的技术(基于深度学习)之一,通常OCR分为两个步骤:文字的检测识别和后处理结构化。通常文字的检测和识别有两种方式:两阶段的文本检测+文本识别和单阶段的end2end的检测识别。后处理大致可以分为两种:基于先验知识的后处理和基于深度学习的后处理。
[0003]自2016年以来,automl技术在不断发展,尤其在2018年以来,各类关于自动调参,自动搜索的论文在各大顶会层出不穷,NAS作为automl的分支之一,也受到各界学者和大牛的关注,各类大厂和高校也纷纷投入研究,NAS全称叫Neural Architecture Search,通过定义搜索空间,通过搜索算法来自动搜索神经网络架构,减少人为先验知识和人为偏见,期待搜索出一个更优的神经网络架构。
[0004]目前的OCR识别方式可以分为两种:客户端+服务器识别和端侧识别,第一种方式需要用户在端侧进行图像截取,然后将图片传给服务器,在服务器上进行OCR识别然后将识别结果传回客户端,这种方式的优点在于由于模型部署在服务器上,可以使用大模型,这样识别率会比较高,缺点是由于数据需要两端传递,增加了数据传递的时间消耗和传递失败的风险,而且通常传递过程中需要对图片进行压缩,这样也会有一定概率造成图片失真从而影响识别准确率。而将模型部署在端侧,优点是可以直接避免数据传递和数据压缩带来的图片损失。缺点是端侧不能部署大模型,需要通过各类压缩,剪枝的方式来缩小模型,这样会造成一定程度的精度损失,而且端侧的计算能力有限,模型还得考虑运算能力和运算时延。OCR在端侧的部署局限性主要在于Backbone,因此本专利技术希望通过NAS技术探究一种在端侧更为优秀的OCR框架的Backbone,减少人为设计Backbone偏见,使得识别效果和识别速度都能得到最优,可以更加适合在端侧部署。

技术实现思路

[0005]本专利技术要解决的技术问题是克服现有技术的缺陷,提供基于NAS搜索的端侧OCR识别系统的Backbone设计。
[0006]本专利技术提供了如下的技术方案:
[0007]本专利技术提供一种基于NAS搜索的端侧OCR识别系统的Backbone设计,包括以下:
[0008]一、OCR整体架构设计:
[0009]OCR系统的设计共分为三大模块,可微分的Backbone,检测头和识别头,这里检测头和识别头可以用常用的检测识别的轻量化架构替代,这里不做讨论,主要目的在于构建
一个轻量化的Backbone;
[0010]二、Backbone的架构设计:
[0011]首先需要设计OCR识别的Backbone的整体架构,这里对NASnet中图像分类网络做了些架构优化:
[0012]N代表着该层的个数,S代表着图片或map的向下变小的倍数,结构使用了16倍的下采样尺度,这样可以大幅度提升网络感受野,对做文本这样的大长宽比的检测会有较大程度的提升;
[0013]三、池化cell设计:
[0014]根据以往的NAS搜索的结果看,池化cell是否可搜索对网络性能的贡献不大,于是为了减少网络搜索的时间以及考虑到资源问题(这里只在单GPU搜索),设计了池化cell:
[0015]池化cell有以下几个优点,第一拓宽了网络的宽度,根据googlenet能够采集不同的信息是有利于提升准确率的,第二结合了残差网络的思路,可以将浅层信息结合进来;最后通过求和操作将信息综合起来;通过引入了池化cell,缩小了搜索空间;
[0016]四、卷积cell搜索空间设计:
[0017]这里不做连接方式的搜索,只做OP类型搜索,这里定义了4种类型的OP;
[0018]根据mobilenet中提出的dw卷积设计了四种基于端侧的OP来共同构成卷积cell;
[0019]在卷积cell内部op的组合方式,具体的计算如公式1所示:
[0020][0021]公式1是用来计算每一层的卷积cell,其中X代表输入的map,X

代表输出的map,w
i
代表这一层的架构参数;
[0022]五、可微分设计:
[0023]由于这里的架构参数是离散化的,所以不能进行微分操作,于是引入了概率分布和softmax结合的方式将网络架构参数进行重参数化,使得可以随着网络可微分;具体的操作方式如下:
[0024]Step1:假设网络输出值为n维的向量a,生成一个和a同维度的gumbel分布的独立样本[b1,b2...,b
n
];
[0025]Step2:通过公式

log(

log(b
i
))计算得到c
i

[0026]Step3:对应相加得到新向量a

=[a1+c1,...,a
n
+c
n
];
[0027]Step4:通过softmax公式计算得到最终结果,softmax公式如公式2所示:
[0028][0029]其中τ代表温度,这里的值随着训练的epoch数增加而减小;
[0030]六、时延和模型参数量设计:
[0031]由于考虑到这里的OCR模型是部署在端侧,所以在搜索过程中需要把模型的大小和时延考虑进去,于是设计了一种可以随模型训练一起进行可微分优化的方式,具体步骤
如下:
[0032]Step1:单独计算每个设计的op的运行时间和模型参数大小,分别记为和这里i代表第几个op,i≤4,l代表位于哪个卷积cell,这里l≤6;
[0033]Step2:将从参数化的网络架构参数乘以每一层对应的每个op的和对所有层进行求和,这样就可以得到设计的Backbone网络的计算时延和网络参数量;
[0034]Step3:将计算得到的网络时延和网络参数量和网络的检测和识别的loss一起进行多任务优化;计算公式如下:
[0035]l
total
=l
det
+l
recog
+α*l
t
+β*l
m
[0036]这里的α,β代表各自loss的weight,越大代表搜得的网络更轻量,这里需要做一个效果精度和模型大小和时延的权衡,具体可根据实验效果调整;搜索结束后,根据架构参数的sofmax值的大小选择值最大的op操作组合成最终的Backbone。
[0037]与现有技术相比,本专利技术的有益效果如下:
[0038]本专本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于NAS搜索的端侧OCR识别系统的Backbone设计,其特征在于,包括以下:一、OCR整体架构设计:OCR系统的设计共分为三大模块,可微分的Backbone,检测头和识别头,这里检测头和识别头可以用常用的检测识别的轻量化架构替代,这里不做讨论,主要目的在于构建一个轻量化的Backbone;二、Backbone的架构设计:首先需要设计OCR识别的Backbone的整体架构,这里对NASnet中图像分类网络做了些架构优化:N代表着该层的个数,S代表着图片或map的向下变小的倍数,结构使用了16倍的下采样尺度,这样可以大幅度提升网络感受野,对做文本这样的大长宽比的检测会有较大程度的提升;三、池化cell设计:根据以往的NAS搜索的结果看,池化cell是否可搜索对网络性能的贡献不大,于是为了减少网络搜索的时间以及考虑到资源问题(这里只在单GPU搜索),设计了池化cell:池化cell有以下几个优点,第一拓宽了网络的宽度,根据googlenet能够采集不同的信息是有利于提升准确率的,第二结合了残差网络的思路,可以将浅层信息结合进来;最后通过求和操作将信息综合起来;通过引入了池化cell,缩小了搜索空间;四、卷积cell搜索空间设计:这里不做连接方式的搜索,只做OP类型搜索,这里定义了4种类型的OP;根据mobilenet中提出的dw卷积设计了四种基于端侧的OP来共同构成卷积cell;在卷积cell内部op的组合方式,具体的计算如公式1所示:公式1是用来计算每一层的卷积cell,其中X代表输入的map,X

代表输出的map,w
i
代表这一层的架构参数;五、可微分设计:由于这里的架构参数是离散化的,所以不能进行微分操作,于是引入了概率分布和softmax结合的方式将网络架构参数进行重参数化,使得可以随着网络可微分;具体的操作方式如下:Step1:假设网络...

【专利技术属性】
技术研发人员:方徐伟张帅徐小龙谢巍盛
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1