首页> 中国专利> 一种基于上下边界提取的自然场景下文字检测方法

一种基于上下边界提取的自然场景下文字检测方法

摘要

本发明公开了一种基于上下边界提取的自然场景下文字检测方法,涉及计算机视觉文字检测和图像分割领域。具体包括:步骤1,通过卷积神经网络模型提取图像的特征图,并通过多尺度特征金字塔模型对特征图进行增强;步骤2,通过语义分割模型预测文字的中心区域,上边界区域,下边界区域和文字的整体区域;步骤3,通过广度优先搜索将中心区域逐步扩展至整体区域,同时通过对上下边界区域进行滤波操作得到文字的形式化上下边界线;步骤4,组合文字的中心区域、整体区域以及上下边界线得到最终的文字检测结果。优点在于能够提取图像中文字的上下边界并定位文字区域,能够进行自然场景下的图像文字检测。

著录项

  • 公开/公告号CN112861860A

    专利类型发明专利

  • 公开/公告日2021-05-28

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN202110265373.1

  • 发明设计人 路通;钟虎门;杨志博;王永攀;

    申请日2021-03-11

  • 分类号G06K9/32(20060101);G06K9/34(20060101);G06K9/46(20060101);G06N3/04(20060101);G06N3/08(20060101);G06T7/11(20170101);

  • 代理机构11467 北京德崇智捷知识产权代理有限公司;

  • 代理人王雪

  • 地址 210000 江苏省南京市栖霞区仙林大道163号

  • 入库时间 2023-06-19 11:08:20

说明书

技术领域

本发明涉及计算机视觉文字检测和图像分割领域,具体涉及一种基于上下边界提取的自然场景下文字检测方法。

背景技术

自然场景中的文字检测任务是计算机视觉领域中一项极为受到关注的研究项目,其具体任务可以理解为从一张自然场景拍摄的图像中提取其内部包含的所有文字的位置及其边界框。自然场景文字检测任务在学术领域和工业领域都有十分重要的应用,例如在学术界中,高效、准确的文字检测是后续文字识别、文本图像内容理解等任务至关重要的基石;同时对于工业界,文字检测在自动驾驶中的路牌识别、自然场景下的文字翻译等任务中也具有非常重要的地位。因此,建立一种高效准确且能有效表示文字边界线的模型和方法,在计算机视觉领域具有重要意义。

自然场景中的文字检测具有相当程度的复杂性,其难度体现在多个方面,例如文字本身的多样性:不同文字可能具有不同的文本内容、不同的语种、多样的字体和风格等,因此需要一个具有高度泛化能力的模型对文字进行建模;又例如文字区域排布的任意性,即自然场景图像中,文字可能是以任意的方式如水平排布、倾斜排布、翻转排布甚至弯曲排布等方式排列在图像中,这给文字的准确检测带来了极大的困难;再例如文字区域与一些复杂背景混合时,背景噪声本身的纹理形状可能与文字非常相似,如何将复杂背景中的噪声与前景文字区分开来同样是一个极有挑战的问题。

传统的自然场景文字检测模型将通用目标检测模型直接应用于文字检测领域,例如使用SSD,Faster-RCNN等模型直接检测自然场景中的文字实例同时预测每个文字实例位置的矩形框,但是这些方法只考虑了正常形状的文字实例,而倾斜排布甚至弯曲排布的文字很难通过一个平行于横纵轴的矩形框进行准确的表示。同时,也有一部分方法采用纯分割模型以文字区域为目标训练分割模型,则预测的文字区域通过findContour函数就可以找到对应文字实例的轮廓线,但是这样的方法也有其一定的局限性,例如使用findContour函数找到的文字实例轮廓线没有上下边界之分,因此很难用于形式化的表示一个文字实例同时准确的提取文字区域的内容以便于后续可能的下游任务。

随着深度学习以及目标检测和语义分割等领域的快速发展,我们尝试使用深度神经网络通过语义分割方法预测文字实例的区域,同时辅以使用分割模型预测文字实例的上下边界区域病进一步提取其上下边界线。通过这样的设计,该方法能在保留过往基于语义分割的模型能够处理弯曲文字的优势的同时,也通过对文字上下边界的预测获得了提取文字上下边界线的能力,这使得该模型能预测自然场景下任意排布的文字区域并为之生成形式化的上下边界线。

发明内容

本发明所要解决的技术问题是对自然场景下的任意排布、任意形状的文字进行上下边界线提取并进而对自然场景下的任意排布、任意形状文字进行检测。

为解决上述技术问题,本发明采用的技术方案是:

一种基于上下边界提取的自然场景下文字检测方法,包括如下步骤:

步骤1,通过卷积神经网络模型提取输入图像的特征图,并通过多尺度特征金字塔模型对特征图进行增强;

步骤2,通过语义分割模型预测文字的整体区域、中心区域、上边界区域以及下边界区域;

步骤3,通过广度优先搜索将中心区域逐步扩展至整体区域,同时通过对上下边界区域进行滤波操作得到文字的形式化上下边界线;

步骤4,组合文字的中心区域、整体区域以及上下边界线得到最终的文字检测结果。

优选的,步骤1包括:

步骤1-1,获取自然场景图像,对采样到的自然场景图像进行随机数据增强以扩充数据集的多样性;

步骤1-2,输入图像,根据数据集提供的文字标注框,生成梯度回传掩码M,M中需要进行梯度回传的部分用1填充,不需要梯度回传的部分用0填充;

步骤1-3,对数据增强后的输入图像像素值分通道进行标准化:

其中,input(i,j)表示输入图像坐标为(i,j)的像素值,mean表示某一通道内的输入图像像素均值,std表示某一通道内的输入图像像素标准差;

步骤1-4,使用基于残差块的卷积神经网络提取输入图像的特征图;

步骤1-5,通过多尺度特征金字塔模型对特征图进行融合,通过特征金字塔在提取的图像特征图的基础上生成多个分辨率的特征图,再将所有多个分辨率的特征图通过resize操作放缩至最大特征图的分辨率后将它们在通道维度拼接在一起,输出大小为

进一步优选的,步骤1-4中的卷积神经网络是基于残差块建立的,残差块包含一个残差映射和一个恒等映射,残差块的输出即为两者的和,定义为:

y=F(x,{W

x和y分别表示残差块的输入向量和输出向量,F(x,{W

进一步优选的,步骤2中,通过如下步骤建立和训练基于卷积神经网络的语义分割模型:

步骤2-1,根据输入图像中的文字标注多边形框,生成其整体文字区域分割图:首先生成一张与输入图像大小一样的分割目标图,其次将文字区域填充为1,非文字区域填充为0,最终得到文字整体区域的分割目标图;

步骤2-2,根据输入图像中的文字标注多边形框,生成其文字中心区域分割图,具体的,首先生成一张与输入图像大小一样的分割目标图,然后将原始的文字标注多边形框向内部收缩d个像素,收缩规则如下所示:

其中,Area为面积函数,Perimeter为周长函数,bbox为文字框,r为放缩尺度;收缩后的多边形框即为文字中心区域标注的多边形框,将收缩后的多边形框内部填充为1,外部填充为0,则得到文字中心区域的分割目标图;

步骤2-3,首先计算文字标注框的上边界区域和下边界区域分别对应的上边界点top

top_bound

bot_bound

其中,α是一个超参数,代表定义的文字上下边界区域的宽度;由此,top_bound

步骤2-4,将步骤1中所得到的大小为

步骤2-5,建立损失函数,将步骤2-4中得到的分割预测结果pred与步骤2-1~2-3中得到的分割目标target计算loss:

loss=DiceLoss(pred,target)

具体的,DiceLoss由以下步骤计算,首先计算dice系数(dice coefficient):

则DiceLoss由以下公式计算得出:

DiceLoss(pred,target)=1-DiceCoefficient(pred*M,target*M)

其中,M表示训练过程中的梯度回传掩码,由步骤1-2计算得到;

分别在四个区域上计算对应的损失函数,最后将它们加权求和:

Loss=λ

其中λ分别表示不同区域的训练权重,loss分别表示不同区域的训练损失值,计算结束即得到分割预测结果与分割目标之间的损失值;

步骤2-6,建立优化函数,使用基于随机梯度下降的优化方法对得到的损失值计算梯度并相应更新卷积神经网络模型和语义分割模型中的参数。

进一步优选的,步骤3中,通过如下步骤进行测试,将分割预测结果的中心区域逐步扩展至整体区域,并通过对上下边界区域进行滤波操作得到文字的形式化上下边界线:

步骤3-1,对任意自然场景图像经过卷积神经网络和多尺度特征金字塔模型提取特征图,然后经过上采样操作得到大小为(batchsize,4,H,W)的分割预测结果图;

步骤3-2,定位文字中心区域,设定一个固定阈值σ=0.8对中心区域分割预测结果图进行二值化,即对中心区域分割图的每个像素进行以下计算:

其中,kernel表示中心区域分割图,将二值化后的中心区域分割图计算其连通分量,计算后产生的不同连通分量再滤除掉其中像素面积小于阈值μ的连通分量,最终保留的连通分量结果即为不同的文字实例的中心区域分割结果;

步骤3-3,以步骤3-2得到的中心区域分割结果图为开始,使用广度优先搜索向外扩展至文字整体区域;得到不同文字实例的整体区域分割结果图。

步骤3-4,定位文字上下边界区域,以文字上边界区域为例,将上边界区域分割预测结果图与步骤3-3中得到的不同文字实例的整体区域分割结果图进行按位相与操作:

top(i,j)=top(i,j)&text(i,j)

其中,top表示上边界区域分割图,text表示由步骤3-3得到的不同文字实例的整体区域分割结果图;计算结果即是每个文字实例的上边界分割结果,同理得到每个文字实例的下边界分割结果,然后对该上下边界分割结果进行细化。

进一步优选的,步骤3-4中的细化操作包括生成一个3×1的滤波器F,其具体参数为:

经过以下运算:

得到文字上边界区域细化后的边界线,保留像素值大于0的像素为文字上边界区域细化后的边界线结果,将得到的边界线像素根据其横坐标从小到大排序并均匀地从中采样k个点,这k个点即是文字上边界区域的形式化边界线;

同理求得下边界线。

进一步优选的,步骤4具体包括:

步骤4-1,对每一个由文字中心区域经步骤3-3扩展得到的文字整体区域,通过与上下边界区域进行按位相与的操作找到该文字对应的上下边界线;

步骤4-2,对步骤4-1产生的所有文字整体区域、文字中心区域、上下边界线组合成对,并根据规则过滤掉不符合条件的文字;其中,过滤规则为去除没有上边界线或者下边界线的文字;

步骤4-3,保留下来的文字有各自的上边界线和下边界线以及对应的在边界线上均匀采样的k个顶点,将每个文字的2*k个顶点作为该文字的轮廓点,生成了该文字基于上下边界的形式化表示,得到该文字的检测结果。

与现有技术相比,本发明具有如下优点:

本发明应用深度卷积神经网络和在此之上建立的语义分割模型技术,建立了一个基于语义分割模型进行文字上下边界线提取的任意形状文字检测模型。

(1)本发明基于语义分割模型,可以建模任意形状、任意排布的文字,同时也能处理极端长文本;

(2)本发明使用了多尺度特征金字塔对多尺度的图像特征图进行拼接融合,使得模型能够处理多个尺度的文字,对于尺度变化较大的文本图像具有良好的适应性;

(3)本发明同时对文字的中心区域和整体区域进行预测,对中心区域进行预测可以弥补仅对文字整体区域进行预测无法区分相邻文字的问题,从而使得模型对于密集文字也有很强的适应性;

(4)本发明同时对文字的上边界区域和下边界区域进行预测,通过对预测得到的上下边界区域进行细化操作可以得到该文字实例的形式化上下边界,从而避免了现有技术仅仅只能预测文字外部轮廓的不足;

(5)本发明基于深度卷积神经网络,具有良好的并行性,可以利用高性能GPU加速计算;同时,本发明使用了残差连接、批标准化等技术确保了模型训练的稳定收敛。

(6)本发明将语义分割模型和基于滤波操作的上下边界线提取结合在一起,在保留语义分割模型处理任意形状文字的能力的同时,通过额外引入的上下边界预测为文字生成形式化的上下边界,更加利于后续的下游任务。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。

图1是卷积神经网络中使用的残差模块;

图2是卷积神经网络以及多尺度特征金字塔模型;

图3是语义分割模型分割目标示意图;

图4是整体模型流程图;

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

一种基于上下边界提取的自然场景下文字检测方法,包括如下步骤:

步骤1,通过卷积神经网络模型提取输入图像的特征图,并通过多尺度特征金字塔模型对特征图进行增强。

步骤1-1,获取自然场景图像,对采样到的自然场景图像进行随机数据增强以扩充数据集的多样性;

步骤1-2,输入图像,根据数据集提供的文字标注框,生成梯度回传掩码M,M中需要进行梯度回传的部分用1填充,不需要梯度回传的部分用0填充;

步骤1-3,对数据增强后的输入图像像素值分通道进行标准化:

其中,input(i,j)表示输入图像坐标为(i,j)的像素值,mean表示某一通道内的输入图像像素均值,std表示某一通道内的输入图像像素标准差;

步骤1-4,使用基于残差块的卷积神经网络提取输入图像的特征图;残差块包含一个残差映射和一个恒等映射,残差块的输出即为两者的和,定义为:

y=F(x,{W

x和y分别表示残差块的输入向量和输出向量,F(x,{W

步骤1-5,通过多尺度特征金字塔模型对特征图进行融合,通过特征金字塔在提取的图像特征图的基础上生成多个分辨率的特征图,再将所有多个分辨率的特征图通过resize操作放缩至最大特征图的分辨率后将它们在通道维度拼接在一起,输出大小为

步骤2,通过语义分割模型预测文字的整体区域、中心区域、上边界区域以及下边界区域。

步骤2-1,根据输入图像中的文字标注多边形框,生成其整体文字区域分割图:首先生成一张与输入图像大小一样的分割目标图,其次将文字区域填充为1,非文字区域填充为0,最终得到文字整体区域的分割目标图;

步骤2-2,根据输入图像中的文字标注多边形框,生成其文字中心区域分割图,具体的,首先生成一张与输入图像大小一样的分割目标图,然后将原始的文字标注多边形框向内部收缩d个像素,收缩规则如下所示:

其中,Area为面积函数,Perimeter为周长函数,bbox为文字框,r为放缩尺度;收缩后的多边形框即为文字中心区域标注的多边形框,将收缩后的多边形框内部填充为1,外部填充为0,则得到文字中心区域的分割目标图;

步骤2-3,首先计算文字标注框的上边界区域和下边界区域分别对应的上边界点top

top_bound

bot_bound

其中,α是一个超参数,代表定义的文字上下边界区域的宽度;由此,top_bound

步骤2-4,将步骤1中所得到的大小为

步骤2-5,建立损失函数,将步骤2-4中得到的分割预测结果pred与步骤2-1~2-3中得到的分割目标target计算loss:

loss=DiceLoss(pred,target)

具体的,DiceLoss由以下步骤计算,首先计算dice系数(dice coefficient):

则DiceLoss由以下公式计算得出:

DiceLoss(pred,target)=1-DiceCoefficient(pred*M,target*M)

其中,M表示训练过程中的梯度回传掩码,由步骤1-2计算得到;

分别在四个区域上计算对应的损失函数,最后将它们加权求和:

Loss=λ

其中λ分别表示不同区域的训练权重,loss分别表示不同区域的训练损失值,计算结束即得到分割预测结果与分割目标之间的损失值;

步骤2-6,建立优化函数,使用基于随机梯度下降的优化方法对得到的损失值计算梯度并相应更新卷积神经网络模型和语义分割模型中的参数。

步骤3,通过广度优先搜索将中心区域逐步扩展至整体区域,同时通过对上下边界区域进行滤波操作得到文字的形式化上下边界线。

步骤3-1,对任意自然场景图像经过卷积神经网络和多尺度特征金字塔模型提取特征图,然后经过上采样操作得到大小为(batchsize,4,H,W)的分割预测结果图;

步骤3-2,定位文字中心区域,设定一个固定阈值σ=0.8对中心区域分割预测结果图进行二值化,即对中心区域分割图的每个像素进行以下计算:

其中,kernel表示中心区域分割图,将二值化后的中心区域分割图计算其连通分量,计算后产生的不同连通分量再滤除掉其中像素面积小于阈值μ的连通分量,最终保留的连通分量结果即为不同的文字实例的中心区域分割结果;

步骤3-3,以步骤3-2得到的中心区域分割结果图为开始,使用广度优先搜索向外扩展至文字整体区域;得到不同文字实例的整体区域分割结果图,需要注意的是,中心区域分割图在这其中只起到区分邻近文字的作用。

步骤3-4,定位文字上下边界区域,以文字上边界区域为例,将上边界区域分割预测结果图与步骤3-3中得到的不同文字实例的整体区域分割结果图进行按位相与操作:

top(i,j)=top(i,j)&text(i,j)

其中,top表示上边界区域分割图,text表示由步骤3-3得到的不同文字实例的整体区域分割结果图;计算结果即是每个文字实例的上边界分割结果,同理得到每个文字实例的下边界分割结果,然后对该上下边界分割结果进行细化。

进一步优选的,步骤3-4中的细化操作包括生成一个3×1的滤波器F,其具体参数为:

经过以下运算:

得到文字上边界区域细化后的边界线,保留像素值大于0的像素为文字上边界区域细化后的边界线结果,将得到的边界线像素根据其横坐标从小到大排序并均匀地从中采样k个点,这k个点即是文字上边界区域的形式化边界线;

同理求得下边界线。

步骤4,组合文字的中心区域、整体区域以及上下边界线得到最终的文字检测结果。

步骤4-1,对每一个由文字中心区域经步骤3-3扩展得到的文字整体区域,通过与上下边界区域进行按位相与的操作找到该文字对应的上下边界线;

步骤4-2,对步骤4-1产生的所有文字整体区域、文字中心区域、上下边界线组合成对,并根据规则过滤掉不符合条件的文字;其中,过滤规则为去除没有上边界线或者下边界线的文字;

步骤4-3,保留下来的文字有各自的上边界线和下边界线以及对应的在边界线上均匀采样的k个顶点,将每个文字的2*k个顶点作为该文字的轮廓点,生成了该文字基于上下边界的形式化表示,得到该文字的检测结果。

实施例

1.数据集

本实施例模型基于TotalText公开数据集进行训练,该数据集图像内包含多种自然场景下的文本图像;同时,数据集中的文字形状和布局具有丰富的多样性,文字实例呈现多种排布方式例如矩形排布、倾斜排布、弯曲排布等,数据集内的文字实例覆盖了多种颜色、字体、尺度和长宽比,在整体上极有挑战性。

采集得到的图像首先会经过一定程度的数据增强,具体的,在本实施例中采取的随机图像尺度放缩方式为保持图像长宽比不变,短边放缩在[720,1000]范围内;采取的随机图像角度旋转方式为以图像中心为圆心,旋转角度在[-15°,15°]中随机选择。

经过随机数据增强的图像将按照不同通道分别进行像素值归一化,具体的,在本实施例中,采用的图像各通道像素均值为mean=[103.530,116.280,123.675],采用的图像各通道像素标准差为std=[1.0,1.0,1.0],经过归一化的图像将进一步转变为大小为(batchsize,3,H,W)的张量数据类型的矩阵,以便于后续在GPU上的加速训练。

2.卷积神经网络和多尺度特征金字塔

将经过上一步得到的张量类型图像矩阵送入由卷积神经网络构成的骨干网络中,在本实施例中,采用的骨干网络为基于Pytorch实现的Resnet50,骨干网络所提取其4个stage的输出{C

3.语义分割模型

在本实施例中,语义分割模块由{3×3卷积,上采样层,3×3卷积,上采样层}构成,将经过上一步得到的大小为

4.后处理

后处理主要由两个步骤构成,其一是通过广度优先搜索(BFS)将预测的不同文字的中心区域逐渐扩展至整体区域以在区分邻近文字的同时能够准确预测不同文字实例的文字整体区域,经过这一步骤,图像中的文字区域轮廓被准确提取出来,但是仍然存在一个问题,即只知道文字区域的轮廓线,而无法判别该文字实例具体的上下边界,也就因此很难对该文字实例提取对应位置的信息用于下游任务。具体的例子可以参考薄板样条变换和BezierAlign用于提取文字实例对应位置信息的操作,但此二者均需要将文字实例的形式化上下边界作为输入,由此,本发明在现有基于语义分割的文字检测模型基础上添加了额外的辅助模块用于进行文字区域的上下边界提取;

其二是通过形态学腐蚀操作或者基于一个3×1核心的滤波操作对边界区域进行细化以最终得到宽度为1个像素的文字上下边界线,在本实施例中,采用的细化操作是基于一个3×1核心的滤波核,以文字上边界区域为例,首先生成一个大小为3×1的滤波核,其参数为[-1,0,1],使用该滤波核对文字上边界区域语义分割预测图进行滤波操作,得到的结果中大于0的像素就是文字上边界区域中位于最上方的边界线,在本实施例中使用这样的滤波操作主要是考虑到滤波操作可以使用固定卷积核的卷积操作进行代替,因此该后处理过程同样可以使用GPU进行加速,相较于形态学腐蚀操作效率更高。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号