掌桥专利:专业的专利平台
掌桥专利
首页

基于深度神经网络的版面分析方法、模型及电子设备

文献发布时间:2023-06-19 10:58:46


基于深度神经网络的版面分析方法、模型及电子设备

技术领域

本公开涉及人工智能技术领域,尤其涉及一种基于深度神经网络的版面分析方法、模型及电子设备。

背景技术

版面分析是指分析一副包含文本、插图、表格等内容的图片的块结构,以便进行后续的OCR识别处理的技术。由于关系着识别的准确性和正确的文字顺序,版面分析显得特别重要。通常情况下,书报刊、论文、宣传彩页这类的文档中通常在一页内包含文字、图片、图表、艺术字、抬头等不同的元素,为了对这些元素分类管理,达成不同的数据处理目的如:针对文档图片中的图片进行图片审核、针对标题对文档图片进行分类、针对表格进行数据结构化入库等,需要对图片进行版面分析预处理,这样可以极大地减少可能产生的干扰性问题。

现有技术中,版面分析多采用目标检测的方式实现文档版面元素的分析,即对文本的不同元素区域采用锚点框的形式进行标注,主要标注的内容是5个主要部分:矩形框的中心点坐标位置(x、y),锚点框的宽和高(w、h)以及框内目标的类别(C),个别情况下,标注信息中还存在锚点框的旋转角度。目标检测任务通过回归的方式来输出预测结果的锚点框坐标和锚点框内目标的分类,并且依据回归出结果进行裁剪用于下一个任务。

锚点框是目标的最小水平外接矩形(最理想状态),故有可能在一个框内包含多个目标。在文本版面检测的任务中,因为标题(抬头)、正文、注释说明等版面元素本质上讲仍属于文字的范畴,所以识别效果不好,不能准确的区分出以上元素。

发明内容

有鉴于此,本公开提供一种深度神经网络的版面分析方法、模型及电子设备,用于提高版面分析精度和计算速度。

图1为本公开提供的一种基于深度神经网络的版面分析方法的步骤流程示意图,该方法包括:

步骤101.获取待分析的图片,所述图片包括一种或多种类型的元素区域;

步骤102.采用基于深度级可分离卷积构造的版面分析模型对所述图片进行版面分析;所述版面分析模型包括编码路径和解码路径,编码路径用来提取输入图片中的特征信息;解码路径用来从特征图中还原图片尺寸,恢复图片中的语义信息,输出按所述元素区域类型分割的分割图。

进一步地,在编码路径中,使用多组包含深度级可分离卷积单元的下采样卷积模块对特征图进行下采样;

在解码路径中,使用多组上采样卷积模块进行上采样,将特征图尺寸恢复至原输入尺寸,解码路径中的上采样卷积模块融合了编码路径中下采样卷积模块输出的对应尺寸大小的特征图,融合的方式为特征图不变,特征图通道叠加。

进一步地,所述版面分析模型的输入为3通道图片,输出为5通道分割图,5个通道分别对应的元素区域类型为:空白区域、标题区域、正文区域、图片区域、图标区域。

进一步地,所述版面分析模型中的每个卷积单元层(或称为卷积层)后面均包含批量标准化BN层并使用线性整流函数RELU或RELU6作为激活函数。

进一步地,所述方法还使用条件随机场CRF、马尔科夫随机场MRF或高斯条件随机场G-CRF对版面分析模型的输出进行调整以实现更精准的分割。

图2为本公开一实施例提供的一种版面分析模型的结构示意图,该版面分析模型包括:

多个下采样卷积模块(210~21N),由所述多个下采样卷积模块组成编码路径,编码路径用来对特征图进行下采样,提取输入图片中的特征信息;所述下采样卷积模块中包括有深度级可分离卷积单元;

多个上采样卷积模块(230~23N),由所述多个上采样卷积模块组成解码路径,解码路径用来对特征图进行上采样,从特征图中还原图片尺寸,恢复图片中的语义信息,输出按所述元素区域类型分割的分割图;所述上采样卷积模块融合了编码路径中下采样卷积模块输出的对应尺寸大小的特征图,融合的方式为特征图不变,特征图通道叠加;

所述版面分析模型的输入为包括一种或多种类型的元素区域的图片,输出为基于元素区域分类的分割图。

进一步地,所述版面分析模型还包括:

平均池化层(220),位于第N下采样卷积模块和第一上采样卷积模块之间,用于减小特征数量,避免过拟合;

输出卷积模块(240)用于对最后一级上采样卷积模块输出的特征图中进行压缩,减少通道数量,输出分割图;

所述版面分析模型中的每个卷积单元/卷积层后面均包含批量标准化BN层并使用RELU或RELU6作为激活函数。

进一步地,所述下采样卷积模块(220~250)中包括:

第一卷积子模块(Conv Block1),其中包括卷积核为3*3、步长为1的深度级可分离卷积单元,及卷积核为1*1、步长为1的卷积单元;

第二卷积子模块(Conv Block2),其中包括卷积核为3*3、步长为2的深度级可分离卷积单元及卷积核为1*1、步长为1的传统卷积单元;

所述第二卷积子模块的一路输出与对应的上采样卷积模块的输入特征图进行融合,另一路输出给第一卷积子模块,第一卷积子模块的输出即为该下采样模块的输出。

进一步地,所述版面分析模型的输入为3通道图片,输出为5通道分割图,5个通道分别对应的元素区域类型为:空白区域、标题区域、正文区域、图片区域、图标区域。

进一步地,所述版面分析模型还包括:

调整层,用于使用条件随机场CRF、马尔科夫随机场MRF或高斯条件随机场G-CRF对版面分析模型的输出进行调整以实现更精准的分割。

本公开还提供了一种版面分析模型的训练方法,用于对版面分析模型进行训练,该训练方法使用Lovasz-Softmax函数损失函数、交叉熵损失函数或两函数的加权函数做为损失函数对版面分析模型进行训练。

图3为本公开一实施例提供的一种电子设备结构示意图,该设备300包括:诸如中央处理单元(CPU)的处理器310、通信总线320、通信接口340以及存储介质330。其中,处理器310与存储介质330可以通过通信总线320相互通信。存储介质330内存储有计算机程序,当该计算机程序被处理器310执行时即可实现本公开提供的方法的各步骤。

其中,存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。另外,存储介质还可以是至少一个位于远离前述处理器的存储装置。处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本公开提出的基于深度神经网络的版面分析模型,通过使用Encode-Decode的方式增强不同尺度下的特征的融合,增强了特征提取的能力;通过采用深度级可分离卷积减少了模型的计算量,在可控的准确率损失的情况下大幅优化卷积神经网络的训练速度和推理速度,使得模型可使用于低算力的设备上,将AI能力进一步下沉。

附图说明

为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。

图1为本公开提供的一种基于深度神经网络的版面分析方法的步骤流程示意图;

图2为本公开一实施例提供的一种版面分析模型的结构示意图;

图3为本公开一实施例提供的一种电子设备结构示意图;

图4为本公开所使用的数据集中的图片示例;

图5为本公开实施例采用掩模方法对样本图片进行标注后的示例;

图6为本公开一实施例提供的版面分析模型结构示意图;

图7为图6所示的版面分析模型所使用的下采样卷积模块Conv block1和Convblock2的结构示意图;

图8为RELU6激活函数与RELU激活函数对比图;

图9为传统卷积神经网络计算过程示意图;

图10为深度级可分离卷积计算过程示意图;

图11为本公开另一实施例提供的版面分析模型的网络结构示意图。

具体实施方式

在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开实施例。本公开实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本公开中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本公开目的是在更细粒度上即像素层面上实现对图片的更精细化的版面布局分析,以及提高模型的计算速度。在本公开的基础上,还可通过泛洪算法等算法实现后处理,准确地过滤掉识别错误的像素区域。

本公开提供的基于深度学习神经网络的用于进行版面分析的模型(简称版面分析模型)所能处理的数据集为报刊、书籍、论文、公文、杂志、网页等各种来源的图片,图片中可包括面积大小不等的表格、图表、插图、标题、正文等一种或多种类型的元素区域。图4为本公开所使用的数据集中的图片示例。

在对本公开提供的版面分析模型进行训练之前,需要对样本图片进行预处理,在预处理阶段,本公开一实施例采用掩膜的方法对样本数据进行标注,即针对不同的元素区域以不同的灰度值填充。图5为本公开实施例采用掩模方法对样本图片进行标注后的示例。为直观展示,示意图中以不同灰度区域标注出不同元素区域,例如整张图片的灰度值为0,图片中的文本区域以灰度值1进行标注、插图区域以灰度值2进行标注,图表区域以灰度值3进行标注。在标注后即可将标注数据送入版面分析模型进行训练。

本公开一实施例中,模型输入的样本图片的像素尺寸选择为400*600,为适应该实施例所使用的神经网络模型结构,样本图片经过缩放处理后的图片尺寸为185*285。本公开不限制模型所能处理的图片大小,用户可根据实际应用场景和运算效率需求来决定。

图6为本公开一实施例提供的版面分析模型结构示意图,该模型采用了深度级可分离卷积(Depthwise Separable Convolution)的思想。图7为图6所示的版面分析模型所使用的下采样卷积模块Conv block1和Conv block2的结构示意图。

图6中,左侧一列为Encode编码路径,用来提取输入图片中的特征信息。右侧一列为Decode解码路径,用来从特征图中还原图片尺寸,恢复图片中的语义信息,进而输出分割图。

在编码路径中,通过增大卷积步长的方式实现下采样的过程而不是传统的池化层,因为经过实验获知,卷积层+池化层的方案的计算速度显著慢于增加步长的单卷积层的计算速度。在编码路径中,特征图经过多次卷积和下采样后,特征图的尺寸减小为输入尺寸的1/32。下采样操作通过步长为2的卷积来实现。

在解码路径中,特征图经过多次上采样后,尺寸恢复至原输入尺寸。上采样单元(Upsample)采用双线性插值算法实现。为了增加对特征图的复用,提升语义分割结果中的细节信息,解码路径中融合了编码路径中对应尺寸大小的特征图。在融合的过程中,本公开所采用的方式是:特征图不变,特征图通道叠加。

图6图7中,输入Input代表数据特征图的输入,其中图6的Input模块输入数据为经过预处理的图片,图片尺寸为185*285像素的三通道图片。输出Output代表特征图输出,其中图6的输出为经过sigmoid激活函数层(图中未标出)处理的185*285的5通道特征图,5通道分别代表着数据标注时的五个类别(空白区域、标题区域、正文区域、图片区域、图标区域)。

图6和图7中卷积Conv模块内的各参数依次分别定义为:卷积核的尺寸、步长、输出的层数、是否为深度级可分离卷积,其中dw标识代表深度级可分离卷积的含义,标识有dw的卷积单元为深度级可分离卷积单元。例如:

“Conv,3*3,s=2,32,dw”

代表该卷积单元为卷积核为3*3、卷积步长为2、输出层数为32的深度级可分离卷积神经网络单元。

图6中的“Avg Pool”代表全局平均池化,用于减小特征数量,避免过拟合。

图7中的第一卷积模块Conv Block1和第二卷积模块Conv Block2为解码路径中所使用的包含深度级可分离卷积单元的卷积模块,用于对特征图进行下采样。Conv Block1和Conv主要区别在于卷积层的步长不同,通过卷积步长的不同可以提取不同尺度的特征,通过Conv Block1之后特征图的尺寸是几乎不变的,需要经过Conv Block2来减小特征图尺寸实现池化的效果。

本公开实施例提供的网络结构在每个卷积层后面均包含批量标准化(BatchNormalization,BN)层并使用了RELU6作为激活函数(图中未标出),图8为RELU6激活函数与RELU激活函数对比图。

RELU6激活函数的表达式为:

RELU6=min(max(0,x),6)

与线性整流函数(Rectified Linear Unit,ReLU)对比而言,RELU6做了一个裁剪的操作,即把函数的最大值限制为了6,而不是无限增长。这样可以有效避免RELU函数数值过大时,嵌入式设备所使用的低精度的float16数值类型不能精确的表示如此之大的数值,带来精度损失。

本公开实施例提供的版面分析模型的网络结构中广泛使用了深度级可分离卷积(在结构图中以“dw”标出)。深度级可分离卷积可以有效地减少参数数量和计算量。在计算过程中传统卷积分成两步,每个卷积核与每张特征图进行按位相乘然后进行相加,简单来讲特征图是n个通道,卷积核对n个通道同时做卷积,一次卷积操作生成一个数,整个特征图完成卷积操作后生一个通道的特征图,图9为传统卷积神经网络计算过程示意图;

深度级可分离卷积的实现步骤分为两步:第一步用n个卷积对n个通道分别做卷积,这样在一次卷积后,输出n个数。第二步是这输出的n个数,再通过一个1*1*n的卷积核(pointwise核),得到一个数。图10为深度级可分离卷积计算过程示意图:

对比来看假设D

D

相对而讲,深度级可分离卷积的计算量为:

D

由此可见整体计算量下降比例为:

由此可知,当D

在对本公开提供的版面分析模型进行训练时,需要选择合适的损失函数和优化算法对模型进行训练。因文本版面分析任务是一种特殊的图片语义分割任务,所以在损失函数层面本公开实施例可以选择Lovasz-Softmax函数,也可选择常规的交叉熵损失函数或者取两函数的加权和,理论上讲在效果上是等效的。

Lovasz-Softmax是一种针对图片语义分割指标mIoU优化得到的一种损失函数,其公式可表示为:

其中,c表示像素的类别。y

在模型的训练阶段,本公开实施例可采用Adam算法作为优化算法,用来不断迭代更新模型中的参数。训练阶段的初始学习率设为0.001,随着训练进行,使用余弦衰减使学习率逐渐减少到0。

为了进一步提升分割的效果,本公开一实施例还使用条件随机场(ConditionalRandom Field,CRF)对卷积神经网络的输出进行精细调整。除CRF外,还可使用马尔科夫随机场(MRF)和高斯条件随机场(G-CRF)等。CRF是一种基于底层图片强度的图片平滑分割技术,简单来讲CRF鼓励相似的像素分配相同的标签,而相差较大的像素分配不同的标签,像素间的差异通过颜色值和实际相对距离有关。采用全连接条件随机场后,图片在边界处的分割更准确。

当模型训练完毕之后,即可将训练好的版面分析模型应用在实际的应用场景中,对输入的图片的版面进行分析,识别输入图片中所包含的元素区域的类型,以图6所示的模型为例,输入的图片为3通道的图片,经模型预测后,输出5通道的分割图,5个通道分别对应空白区域、标题区域、正文区域、图片区域、图标区域五种元素区域类型。

本公开提出的基于深度神经网络的版面分析方法中所使用的版面分析模型,通过使用Encode-Decode的方式增强不同尺度下的特征的融合,增强了特征提取的能力;通过采用深度级可分离卷积减少了模型的计算量,在可控的准确率损失的情况下(约一至三个百分点)大幅优化卷积神经网络的训练速度和推理速度,使得模型可使用于低算力的设备上(例如嵌入式设备,ARM芯片等)。将AI能力进一步下沉。

采用本公开提供的思路,可对MobileNet神经网络模型进行优化,在牺牲少量准确率的代价下大幅度优化了计算速度,使其可以在更多的移动端设备运行。采用本公开提供的思路同样也可以对AlexNet、ResNet等神经网络模型进行优化,以获得更优秀的准确率。

以AlexNet为例,采用本公开提供的思路采用Encode-Dencode的方式,在下采样之后增加上采样层,亦可实现本公开的发明目的。

图11为本公开另一实施例提供的版面分析模型的网络结构示意图,该实施例改进了AlexNet模型结构,在训练阶段采用Lovasz-Softmax函数作为训练的损失函数,亦可选用诸如交叉熵等多种损失函数做替代也可使用其它损失函数和Lovasz-Softmax函数的加权和作为损失函数。同样,该模型结构也可采用RELU6作为激活函数以在高维度场景中提高运算速度,或线性激活函数以实现更高的预测准确率。其中,卷积模块中的参数p代表padding,是一种避免在卷积操作时丢失边缘信息的操作。具体操作方式是当p=1的时候,待提取特征的特征图周围补充一圈值为0的像素;p=2的时候,待提取特征的特征图周围补充两圈圈值为0的像素,以此类推。本公开实施例中,该p参数是为保证和同级上下采样层特征图尺寸的适配。

应当认识到,本公开的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术,包括配置有计算机程序的非暂时性存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。此外,可按任何合适的顺序来执行本公开描述的过程的操作,除非本公开另外指示或以其他方式明显地与上下文矛盾。本公开描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本公开的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本公开包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本公开所述的方法和技术编程时,本公开还包括计算机本身。

以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 基于深度神经网络的版面分析方法、模型及电子设备
  • 一种基于对抗攻击的深度神经网络近似模型分析方法
技术分类

06120112757716