一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文本区域检测方法及装置与流程

2022-05-08 05:52:00 来源:中国专利 TAG:


1.本说明书一个或多个实施例涉及光学字符识别技术领域,尤其涉及一种文本区域检测方法及装置。


背景技术:

2.在金融自证的场景中,在对用户提交的用于自证的票据、合同等材料进行验证时,可以先通过ocr(optical character recognition,光学字符识别)技术,检测并识别所述票据或合同等对应的图像中的文本内容,再对所述文本内容的真实性进行校验。
3.例如,通过ocr技术,可以先对所述票据或合同等对应的图像进行图像降噪、二值化处理等预处理,再对预处理后的图像进行像素级别的图像分割,以得到该图像中的文本区域,也即该图像中的文本内容所在的区域;进一步地,可以通过字符识别算法,识别所述文本区域中的文本内容,以使用户可以获取到识别出的所述票据或合同等对应的图像中的文本内容,并进行后续的人工校正、真实性验证等处理。


技术实现要素:

4.本技术提供一种文本区域检测方法,所述方法包括:
5.将包含文本区域的待检测图像输入已训练完成的文本检测模型进行计算;其中,所述文本检测模型包括至少将与所述待检测图像对应的方向偏移图作为学习目标进行有监督训练得到的机器学习模型;所述方向偏移图用于指示所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息;
6.检测所述待检测图像包含的文本区域;
7.获取所述文本检测模型输出的与所述待检测图像对应的方向偏移图,并根据所述方向偏移图为检测到的所述文本区域标记文本语序方向,以得到标记了文本语序方向的所述文本区域。
8.本技术还提供一种文本区域检测装置,所述装置包括:
9.输入单元,用于将包含文本区域的待检测图像输入已训练完成的文本检测模型进行计算;其中,所述文本检测模型包括至少将与所述待检测图像对应的方向偏移图作为学习目标进行有监督训练得到的机器学习模型;所述方向偏移图用于指示所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息;
10.检测单元,用于检测所述待检测图像包含的文本区域;
11.标记单元,用于获取所述文本检测模型输出的与所述待检测图像对应的方向偏移图,并根据所述方向偏移图为检测到的所述文本区域标记文本语序方向,以得到标记了文本语序方向的所述文本区域。
12.本技术还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
13.所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行
上述方法。
14.本技术还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
15.上述实施例中,由于所述文本检测模型可以学习所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息,也即,可以获取所述文本检测模型输出的与所述待检测图像对应的方向偏移图,因此根据所述方向偏移图,可以为检测到的文本区域标记文本语序方向,得到标记有文本语序方向的文本区域,作为针对所述待检测图像包含的文本区域的检测结果。从而实现了检测出任意角度的文本区域,并为其标记正确的文本语序方向的目的,以便于在后续的图像矫正、文本识别等过程中,可以结合为所述文本区域标记的文本语序方向进行处理,进而能够准确地提取出所述待检测图像中的文本信息,避免出现文本语序方向错误、字符倒立、文本内容识别失败等情况。
附图说明
16.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1是本说明书一实施例中待检测图像的示意图;
18.图2是本说明书一实施例中文本区域检测方法的流程图;
19.图3是本说明书一实施例中文本区域的示意图;
20.图4是本说明书一实施例中概率图的示意图;
21.图5是本说明书一实施例中二值化处理之后的概率图的示意图;
22.图6是本说明书一实施例中阈值图的示意图;
23.图7是本说明书一实施例中边界偏移图的示意图;
24.图8是本说明书一实施例中方向偏移图的示意图;
25.图9是本说明书一实施例中标记有文本语序方向的文本区域的示意图;
26.图10是本说明书一实施例中文本区域检测装置所在电子设备的结构示意图;
27.图11是本说明书一实施例中文本区域检测装置的框图。
具体实施方式
28.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
29.为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的文本检测与识别的相关技术,进行简要说明。
30.ocr(optical character recognition,光学字符识别)技术,是指电子设备可以采用光学的方式,将纸质文档或数字图像中的文字转换成为黑白点阵的图像文件,并通过
字符识别方法将所述图像文件中的文本内容转换成文本格式的技术。
31.在实际应用中,通过ocr技术识别图像中的文本内容的过程,主要可以分为:图像输入、图像预处理、文本识别、人工校正等步骤。其中,所述图像输入,是指通过扫描仪、摄影设备等,获取需要进行ocr处理的图像,并将所述图像传入计算机;所述图像预处理,可以包括针对所述图像进行二值化处理、图像降噪、倾斜校正、分割文本区域等方式中的一种或多种预处理;所述文本识别,是指将输入的图像中包含的文本内容转换成文本格式。
32.例如,在金融自证的场景中,在对用户提交的用于自证的票据、合同等材料进行验证时,可以将所述票据或合同中包含的文本内容,分为印章区域中的文本内容和其他区域中的文本内容。具体地,通过ocr技术,可以针对与所述票据或合同对应的图像先进行分割,得到所述图像包含的印章区域中的文本内容所在的区域,再识别所述印章区域中的文本内容;基于相似的方法,可以识别所述票据或合同中包含的其他区域中的文本内容;进一步地,可以根据检测并识别到的所述印章区域中的文本内容,来验证所述其他区域中的文本内容。
33.需要说明的是,在上述应用场景中,所述票据或合同盖章时,印章可能存在旋转的情况,导致所述印章区域中的文本内容的阅读方向与所述票据或合同中包含的其他文本内容的阅读方向不一致;另外,用户在针对所述票据或合同进行拍照或扫描时,得到的用于进行ocr处理的图像可能存在倾斜、旋转等情况,导致所述印章区域中的文本内容的阅读方向并非是水平方向或垂直方向。例如,请参见图1,图1是本说明书一实施例中待检测图像的示意图。由于在如图1所示的待检测图像中包含的印章存在旋转的情况,导致该印章中的文本区域也存在旋转的情况;也即,如图1所示的待检测图像中包含的文本内容“一二三四五六七八”与“合同专用章”的阅读方向,并非是常规的水平方向或垂直方向。
34.而在相关技术中,在通过文本检测模型,从与所述票据或合同对应的图像中分割文本区域时,通常只能得到无文本语序方向信息的文本区域作为分割结果;也即,所述文本检测模型无法确定与分割结果对应的文本语序方向,通常可以直接将位于所述分割结果的左上角的检测点作为默认的文本解析起点,并可以将从上至下的垂直方向、或从左至右的水平方向作为默认的文本解析方向。
35.由此可见,在以上示出的实施例中,若待检测图像中的文本区域存在角度旋转的情况,或者文本区域对应的文本语序方向并非是常规的阅读方向,那么可能造成分割得到的文本区域或图像矫正后的文本区域出现阅读方向错误、字符倒立等问题,进而在后续针对所述文本区域中的文本内容进行文本识别的过程中,可能出现语义混乱、识别失败等问题,最终导致用户无法通过上述ocr处理过程,准确提取出票据或合同等材料对应的图像中包含的文本内容。
36.有鉴于此,本说明书旨在提出一种基于可学习文本语序方向信息的文本检测模型,检测任意角度的文本区域,并为检测到的文本区域标记文本语序方向的技术方案。
37.其中,所述文本检测模型,可以包括至少将与待检测图像对应的方向偏移图作为学习目标进行有监督训练得到的机器学习模型;所述方向偏移图,可以用于指示所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息。
38.在实现时,可以将包含文本区域的待检测图像输入已训练完成的所述文本检测模型进行计算;进一步地,可以检测所述待检测图像包含的文本区域,以及,可以获取所述文
本检测模型输出的与所述待检测图像对应的方向偏移图;进一步地,可以根据获取到的所述方向偏移图为检测到的所述文本区域标记文本语序方向,以得到标记了文本语序方向的所述文本区域。
39.由此可见,在本说明书中的技术方案中,由于所述文本检测模型可以学习所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息,也即,可以获取所述文本检测模型输出的与所述待检测图像对应的方向偏移图,因此根据所述方向偏移图,可以为检测到的文本区域标记文本语序方向,得到标记有文本语序方向的文本区域,作为针对所述待检测图像包含的文本区域的检测结果。从而实现了检测出任意角度的文本区域,并为其标记正确的文本语序方向的目的,以便于在后续的图像矫正、文本识别等过程中,可以结合为所述文本区域标记的文本语序方向进行处理,进而能够准确地提取出所述待检测图像中的文本信息,避免出现文本语序方向错误、字符倒立、文本内容识别失败等情况。
40.下面通过具体实施例,并结合具体的应用场景对本说明书中的技术方案进行描述。
41.请参见图2,图2是本说明书一实施例中文本区域检测方法的流程图。上述文本区域检测方法可以执行以下步骤:
42.步骤202:将包含文本区域的待检测图像输入已训练完成的文本检测模型进行计算;其中,所述文本检测模型包括至少将与所述待检测图像对应的方向偏移图作为学习目标进行有监督训练得到的机器学习模型;所述方向偏移图用于指示所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息;
43.步骤204:检测所述待检测图像包含的文本区域;
44.步骤206:获取所述文本检测模型输出的与所述待检测图像对应的方向偏移图,并根据所述方向偏移图为检测到的所述文本区域标记文本语序方向,以得到标记了文本语序方向的所述文本区域。
45.在本说明书中,所述待检测图像中可以包含文本区域。
46.在实际应用中,所述待检测图像,可以包括电子合同或电子票据对应的图像;所述文本区域,可以包括所述待检测图像中的文本内容所在的区域。
47.例如,所述待检测图像,具体可以包括通过照相机、扫描仪等电子设备,针对纸质合同或纸质票据进行拍摄、扫描而得到的图像。又例如,所述待检测图像,具体也可以包括通过线上办理、签署等方式,生成电子合同或电子票据而得到的图像。
48.需要说明的是,关于获取所述待检测图像的具体实现方式,本说明书不做限定;例如,在金融自证的场景中,所述待检测图像可以包括由用户提供的、用于进行自证的票据或合同等材料对应的图像。
49.在示出的一种实施方式中,为了提高针对所述待检测图像包含的文本区域的检测效率,所述待检测图像,具体可以包括电子合同或电子票据中的印章区域对应的图像;相应地,所述待检测图像包含的文本区域,具体可以包括所述印章区域对应的图像中包含的文本区域。
50.例如,针对电子合同或电子票据对应的图像,可以获取其中包含的印章区域作为roi区域(region of interest,感兴趣区域),并将所述roi区域,也即所述印章区域对应的图像作为所述待检测图像,来执行所述步骤202至步骤206,以检测所述印章区域对应的图
像中包含的文本区域,并得到标记了文本语序方向的所述文本区域。
51.其中,所述印章区域,可以包括所述电子合同或电子票据中的印章所在的区域。本领域技术人员可以理解的是,所述印章区域中可以包含文本内容,还可以包含非文本内容,本说明书中不做特殊限定;例如,如图1所示,印章区域中,可以包含中文字符、英文字符、数字、标点符号等文本内容,还可以包含五角星、徽章、不规则线条等非文本内容。
52.在本说明书中,可以采用两阶段的方式来实现文本检测与文本识别,也即,可以先通过文本检测模型,检测出所述待检测图像包含的文本区域,再通过文本识别模型,识别出所述文本区域中的文本内容。
53.例如,所述文本检测模型,可以采用resnet、vggnet、mobilenet等卷积神经网络来提取所述待检测图像对应的图像特征,并可以采用fpn(特征金字塔网络)、pan(路径聚合网络)、bifpn、nas-fpn等算法来收集所述卷积神经网络在不同阶段提取到的图像特征,进一步地,可以利用收集到的图像特征,根据不同的任务场景进行预测,并将预测结果作为网络的输出。
54.需要说明的是,本领域技术人员可以理解的是,所述两阶段的方式(即文本检测模型 文本识别模型),与相关技术中单阶段的方式不同;其中,所述单阶段的方式,是指将文本检测与文本识别的过程集成到一个模型中,进行端到端的训练。例如,pgnet是一种端到端的文本检测及识别模型,可以通过ctc loss监督训练,检测并识别出文本区域中的文本内容。
55.在实际应用中,相较于所述两阶段的方式而言,由于所述单阶段的方式中,模型训练更加困难,识别精度较低,并且针对中文字符较多的情况,采用真实数据作为训练样本的标注成本较高,采用生成数据作为训练样本容易过拟合;因此,本说明书的技术方案中可以采用所述两阶段的方式,本说明书中涉及到的“文本检测模型”,是指所述两阶段的方式中的文本检测模型,不同于所述单阶段的方式中的端到端的文本检测与识别模型。
56.在训练所述文本检测模型时,可以根据包含样本标签的训练样本、以及预设的损失函数(loss function),对所述文本检测模型进行迭代训练,直至所述损失函数收敛,可以获得所述训练完成的文本检测模型;其中,所述损失函数可以用于描述训练样本和对应的样本标签之间的拟合误差。具体地,在训练时,可以将训练样本和对应的样本标签作为输入值,来反向求解出训练样本和对应的样本标签之间的拟合误差最小时的模型参数的取值,并将求解出的该模型参数的取值作为最优参数,来构建所述文本检测模型;也即,通过所述损失函数来训练所述文本检测模型,可以理解为,通过所述损失函数来反向求解出训练样本和对应的样本标签之间的拟合误差最小时的模型参数的取值的过程。
57.在本说明书中,首先,可以将包含文本区域的所述待检测图像输入已训练完成的所述文本检测模型进行计算;其中,所述文本检测模型,可以包括至少将与所述待检测图像对应的方向偏移图作为学习目标进行有监督训练得到的机器学习模型;所述方向偏移图,可以用于指示所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息。
58.例如,可以将如图1所示的待检测图像,输入已训练完成的所述文本检测模型进行计算,以获取所述文本检测模型输出的与所述待检测图像对应的方向偏移图。
59.在训练至少将与所述待检测图像对应的方向偏移图作为学习目标的文本检测模型时,可以根据包含样本标签的训练样本、以及所述方向偏移图的损失l
do
,对所述文本检测
模型进行迭代训练,直至所述l
do
收敛,可以获得训练完成的文本检测模型。其中,所述训练样本,可以包括在四边形文本区域样本的边界上的若干顶点坐标,并且,所述若干顶点可以从真实的文本解析起点(即:正确文本语序方向时位于文本区域样本左上角的顶点)开始,按照真实的文本解析方向(如:顺时针方向)依次排列;所述训练样本对应的样本标签,可以包括用于指示正确文本语序方向的方向向量(如:由四边形文本区域样本的左边界中点指向右边界中点的方向向量)
60.需要说明的是,所述损失函数的具体类型,在本说明书中不做特别限定,本领域技术人员可以根据需求灵活选择。例如,在示出的一种实施方式中,所述方向偏移图的损失l
do
具体可以采用smooth l1 loss(即:平滑li损失函数),具体可以表示成如下形式:
[0061][0062]
在以上示出的公式中,rd表示所述文本区域中的各像素点对应的一组索引(即:各像素点的坐标);yi表示所述训练样本对应的样本标签,f(xi)表示所述文本检测模型的预测结果。
[0063]
在实际应用中,所述文本检测模型的学习目标除了可以包括与所述待检测图像对应的方向偏移图(direction map),还可以包括与所述待检测图像对应的概率图(probability map)、阈值图(threshold map)、近似二值图(binarization map)、边界偏移图(border map)等。下面对所述文本检测模型的其他学习目标进行简要说明。
[0064]
其中,所述概率图,可以用于指示所述待检测图像中的各像素点位于所述文本区域的概率分布。关于所述文本检测模型的学习目标包括所述概率图时,所述文本检测模型的具体训练方式请参见相关技术,在此不再赘述。例如,在示出的一种实施方式中,所述概率图的损失l
p
具体可以采用binary cross entropy loss(即:二元交叉熵损失函数),具体可以表示成如下形式:
[0065][0066]
在以上示出的公式中,p
l
表示所述待检测图像中的各像素点对应的一组索引(即:各像素点的坐标);yi表示所述训练样本对应的样本标签,f(xi)表示所述文本检测模型的预测结果。
[0067]
其中,所述阈值图,可以用于指示针对所述概率分布中的各个概率值进行可微分二值化处理的阈值分布。关于所述文本检测模型的学习目标包括所述阈值图时,所述文本检测模型的具体训练方式请参见相关技术,在此不再赘述。例如,在示出的一种实施方式中,所述阈值图的损失l
t
具体可以采用l1 loss(即:li损失函数),具体可以表示成如下形式:
[0068][0069]
在以上示出的公式中,rd表示所述文本区域中的各像素点对应的一组索引(即:各像素点的坐标);yi表示所述训练样本对应的样本标签,f(xi)表示所述文本检测模型的预测结果。
[0070]
其中,所述近似二值图,也即可微分二值化(db,differentiable binarization)处理之后的概率图。所述可微分二值化处理,是指可以通过引入所述概率图与所述阈值图之间的阶跃函数,对所述概率图进行与标准二值化处理(sb,standard binarization)近似的二值化处理;由于所述概率图与所述阈值图之间的阶跃函数是可微分的,因此可以将二值化处理这一步骤加入到所述文本检测模型中一起训练,也即,所述文本检测模型的学习目标还可以包括与所述待检测图像对应的近似二值图。
[0071]
例如,在示出的一种实施方式中,所述概率图与所述阈值图之间的阶跃函数,具体可以表示成如下形式:
[0072][0073]
在以上示出的阶跃函数中,p
i,j
表示所述概率图中的各像素点对应的概率值,t
i,j
表示所述阈值图中的各像素点对应的阈值,k表示放大系数,表示针对所述概率图指示的概率分布中的各个概率值进行可微分二值化处理之后得到的近似二值化结果。另外,所述可微分二值化处理之后的概率图的损失lb具体可以采用二元交叉熵损失函数,具体可以表示成如下形式:
[0074][0075]
在以上示出的公式中,p
l
表示所述待检测图像中的各像素点对应的一组索引(即:各像素点的坐标);yi表示所述训练样本对应的样本标签,f(xi)表示所述文本检测模型的预测结果;也即,所述可微分二值化处理之后的概率图的损失lb与所述概率图的损失l
p
可以共享相同的监督。
[0076]
其中,所述边界偏移图,可以用于指示所述文本区域的中心区域中的各像素点相对于所述文本区域的各边界的偏移向量。在训练至少将与所述待检测图像对应的边界偏移图作为学习目标的文本检测模型时,可以根据包含样本标签的训练样本、以及所述边界偏移图的损失l
bo
,对所述文本检测模型进行迭代训练,直至所述l
bo
收敛,可以获得训练完成的文本检测模型。其中,所述训练样本,可以包括在四边形文本区域样本的边界上的若干顶点坐标,并且,所述若干顶点可以从真实的文本解析起点(即:正确文本语序方向时位于文本区域样本左上角的顶点)开始,按照真实的文本解析方向(如:顺时针方向)依次排列;所述训练样本对应的样本标签,可以包括位于所述文本区域样本的中心线上的点相对于所述文本区域样本的各边界的偏移向量(如:四边形文本区域样本的中心线上的中点,分别相对于所述四边形文本区域样本的各边界中点的偏移向量)。
[0077]
需要说明的是,所述损失函数的具体类型,在本说明书中不做特别限定,本领域技术人员可以根据需求灵活选择。例如,在示出的一种实施方式中,所述边界偏移图的损失l
bo
具体可以采用smooth l1 loss(即:平滑li损失函数),具体可以表示成如下形式:
[0078][0079]
在以上示出的公式中,rd表示所述文本区域中的各像素点对应的一组索引(即:各像素点的坐标);yi表示所述训练样本对应的样本标签,f(xi)表示所述文本检测模型的预测
结果。
[0080]
在示出的一种实施方式中,所述文本检测模型的学习目标的损失函数loss为所述概率图的损失l
p
、所述可微分二值化处理之后的概率图的损失lb、所述阈值图的损失l
t
、所述方向偏移图的损失l
do
、与所述边界偏移图的损失l
bo
的加权之和;也即,所述文本检测模型的总损失函数loss,具体可以表示为如下形式:
[0081]
loss=l
p
α
×
lb β
×
l
t
γ
×
l
do
δ
×
l
bo
[0082]
其中,所述α、β、γ、δ分别为与所述lb、l
t
、l
do
、l
bo
对应的加权权重。需要说明的是,关于所述α、β、γ、δ的取值,本领域技术人员可以根据需求灵活设置。例如,在以上示出的实施例中,针对电子票据或电子合同对应的图像来检测印章区域中包含的文本区域时,所述文本检测模型的学习目标对应的加权权重分别取值α=5,β=10,γ=1,δ=1,可以达到较好的模型训练效果。
[0083]
在本说明书中,在将所述待检测图像输入所述文本检测模型进行计算之后,可以进一步地检测所述待检测图像包含的文本区域。
[0084]
例如,请参见图3,图3是本说明书一实施例中文本区域的示意图。在将如图1所示的待检测图像输入所述文本检测模型进行计算之后,可以针对所述待检测图像进行二值化处理,也即,可以确定所述待检测图像中的各像素点是否位于文本区域;并且,可以根据二值化处理得到的结果,寻找文本区域的连通域,来检测所述待检测图像包含的文本区域,也即,可以检测到如图3所示的文本区域1和文本区域2。
[0085]
在实现时,所述文本检测模型的学习目标,还可以包括与所述待检测图像对应的概率图;所述检测所述待检测图像包含的文本区域,具体可以包括:获取所述文本检测模型输出的与所述待检测图像对应的概率图,并对所述概率图的概率分布中的各个概率值进行二值化处理,得到与所述待检测图像对应的二值化处理之后的概率图;根据所述二值化处理之后的概率图,检测所述待检测图像包含的文本区域。
[0086]
例如,请参见图4,图4是本说明书一实施例中概率图的示意图。在将如图1所示的待检测图像输入所述文本检测模型进行计算之后,可以获取到所述文本检测模型输出的如图4所示的概率图,所述概率图可以用于指示所述待检测图像中的各像素点位于文本区域的概率(颜色越浅表示概率值越大)。请参见图5,图5是本说明书一实施例中二值化处理之后的概率图的示意图。进一步地,可以对如图4所示的概率图的概率分布中的各个概率值进行二值化处理,得到如图5所示的二值化处理之后的概率图,并可以根据所述二值化处理之后的概率图,检测到所述待检测图像包含的文本区域1和文本区域2。
[0087]
在实际应用中,在获取到所述文本检测模型输出的所述概率图之后,可以对所述概率图的概率分布中的各个概率值,进行基于固定阈值的标准二值化(sb)处理或基于自适应阈值的可微分二值化(db)处理。
[0088]
在示出的一种实施方式中,可以采用基于固定阈值的标准二值化处理方式,所述固定阈值可以包括由用户预先设置的用于对所述待检测图像中的各像素点进行二值化处理的阈值。在实现时,所述对所述概率图的概率分布中的各个概率值进行二值化处理,得到与所述待检测图像对应的二值化处理之后的概率图,具体可以包括:根据用于针对所述概率分布中的各个概率值进行标准二值化处理的预设的固定阈值,对所述概率图的概率分布中对应于各像素点的各个概率值进行标准二值化处理,得到与所述待检测图像对应的标准
二值化处理之后的概率图。其中,所述标准二值化处理,具体可以包括:分别将所述概率图的概率分布中对应于各像素点的各个概率值与所述固定阈值进行比较;如果对应于任一像素点的概率值大于所述固定阈值,则确定该像素点位于所述文本区域。
[0089]
例如,根据所述固定阈值,可以对如图4所示的概率图进行标准二值化处理,也即:可以分别将所述概率图的概率分布中对应于各像素点的各个概率值与所述固定阈值进行比较,如果对应于任一像素点的概率值大于所述固定阈值,则可以确定该像素点位于文本区域,否则可以确定该像素点没有位于文本区域;经过所述标准二值化处理过程,可以得到如图5所示的二值化处理之后的概率图,也可以称作二值图或标准二值图。
[0090]
在示出的另一种实施方式中,可以采用基于自适应阈值的可微分二值化处理方式,所述自适应阈值可以包括所述阈值图指示的阈值分布中与各像素点对应的、用于针对所述概率图指示的概率分布中的各个概率值进行可微分二值化处理的各个阈值。在实现时,所述文本检测模型的学习目标还可以包括与所述待检测图像对应的阈值图;所述对所述概率图的概率分布中的各个概率值进行二值化处理,得到与所述待检测图像对应的二值化处理之后的概率图,具体可以包括:获取所述文本检测模型输出的与所述待检测图像对应的阈值图,并根据所述阈值图的阈值分布中的各个自适应阈值,分别针对所述概率图的概率分布中的各个概率值进行可微分二值化处理,得到与所述待检测图像对应的可微分二值化处理之后的概率图。其中,所述可微分二值化处理,具体可以包括:分别将所述概率图的概率分布中对应于各像素点的各个概率值与所述阈值图的阈值分布中对应于该像素点的自适应阈值进行比较;如果对应于任一像素点的概率值大于对应于该像素点的自适应阈值,则确定该像素点位于所述文本区域。
[0091]
例如,请参见图6,图6是本说明书一实施例中阈值图的示意图。在将如图1所示的待检测图像输入所述文本检测模型进行计算之后,可以获取到所述文本检测模型输出的如图6所示的阈值图,所述阈值图可以用于指示针对所述概率分布中的各个概率值进行可微分二值化处理的阈值分布(颜色越浅表示阈值越小,也即文本区域的边界附近的阈值较小)。可以根据如图6所示的阈值图所指示的阈值分布中的各个自适应阈值,分别针对如图4所示的概率图进行可微分二值化处理,也即:分别将所述概率图的概率分布中对应于各像素点的各个概率值与所述阈值图的阈值分布中对应于该像素点的自适应阈值进行比较,如果对应于任一像素点的概率值大于对应于该像素点的自适应阈值,则可以确定该像素点位于文本区域,否则可以确定该像素点没有位于文本区域;经过所述可微分二值化处理过程,可以得到如图5所示的二值化处理之后的概率图,也可以称作近似二值图。
[0092]
需要说明的是,由于二值化处理的过程中,所述固定阈值的选取对所述文本检测模型的检测效果影响较大,而在复杂多变的实际应用场景中,用户难以预设合适的固定阈值,以保证所述待检测图像中的所有像素点在二值化处理的过程中都能达到最优效果。因此,在以上示出的实施方式中,采用基于自适应阈值的可微分二值化处理方式,可以帮助区分文本区域与背景、分离紧密连接的文本内容,后续基于所述近似二值图而检测到的文本区域就会非常鲁棒,从而简化后处理过程,提高ocr处理性能。
[0093]
另外,需要说明的是,在本说明书中的一个或多个实施例中,将如图5所示的二值化处理之后的概率图,分别作为了对如图4所示的概率图进行标准二值化处理或可微分二值化处理之后的概率图,本领域技术人员可以理解,这仅仅是一种示例性的示意图,并不意
味着在实际应用中对同一概率图进行标准二值化处理之后,得到的标准二值图与进行可微分二值化处理之后得到的近似二值图是相同的。
[0094]
另外,在实际应用中,在得到与所述待检测图像对应的所述二值化处理之后的概率图后,可以直接根据所述二值化处理之后的概率图确定出所述待检测图像包含的文本区域,也可以先根据所述二值化处理之后的概率图确定出所述待检测图像包含的文本区域的中心区域,再对所述中心区域进行扩展作为检测到的文本区域,从而实现针对任意形状的文本区域的检测。
[0095]
在示出的一种实施方式中,所述根据所述二值化处理之后的概率图,检测所述待检测图像包含的文本区域,具体可以包括:根据所述二值化处理之后的概率图,将位于所述文本区域的像素点构成的区域,确定为检测到的所述待检测图像包含的文本区域。
[0096]
例如,根据如图5所示的二值化处理之后的概率图,可以确定所述待检测图像中位于文本区域的各个像素点,并将位于文本区域的像素点构成的区域,确定为检测到的所述待检测图像包含的文本区域,也即,如图3所示文本区域1和文本区域2。
[0097]
在示出的另一种实施方式中,所述文本检测模型的学习目标还可以包括与所述待检测图像对应的边界偏移图;所述边界偏移图,可以用于指示所述待检测图像包含的文本区域的中心区域中的各像素点相对于所述文本区域的各边界的偏移向量。所述根据所述二值化处理之后的概率图,检测所述待检测图像包含的文本区域,具体可以包括:根据所述二值化处理之后的概率图,提取所述待检测图像包含的文本区域的中心区域;从所述文本区域的中心区域进行采样,得到若干采样点;获取所述文本检测模型输出的与所述待检测图像对应的边界偏移图,并根据所述边界偏移图中对应于所述若干采样点的偏移向量,针对所述若干采样点分别进行扩展,得到对应的若干文本区域边界点;将所述若干文本区域边界点连接起来而围成的闭合区域,确定为检测到的所述待检测图像包含的文本区域。
[0098]
其中,所述根据所述边界偏移图中对应于所述若干采样点的偏移向量,针对所述若干采样点分别进行扩展,得到对应的若干文本区域边界点,具体可以包括:根据所述若干采样点分别相对于所述文本区域的上边界、下边界的偏移向量,在相应的两个偏移方向上针对每个采样点分别进行扩展,并得到分别对应于上边界、下边界的一对文本区域边界点。
[0099]
例如,请参见图7,图7是本说明书一实施例中边界偏移图的示意图。在将如图1所示的待检测图像输入所述文本检测模型进行计算之后,可以获取到所述文本检测模型输出的如图5所示的二值化处理之后的概率图、以及如图7所示的边界偏移图,其中,如图7所示的边界偏移图可以用于指示文本区域的中心区域中的各像素点分别相对于所述文本区域的上边界与下边界的偏移向量。可以根据如图5所示的二值化处理之后的概率图,提取所述待检测图像包含的文本区域的中心区域,并可以从所述中心区域进行采样,得到若干采样点;进一步地,可以根据如图7所示的边界偏移图,针对所述若干采样点分别进行扩展,得到分别对应于上边界与下边界的文本区域边界点,并将得到的若干文本区域边界点连接起来而围成的闭合区域,确定为最后检测到的所述待检测图像包含的文本区域。
[0100]
另外,在以上示出的实施方式中,所述从所述文本区域的中心区域进行采样,具体可以包括:从所述文本区域的中心线上进行等间隔采样,得到所述若干采样点。
[0101]
需要说明的是,在以上示出的实施例中,先根据所述二值化处理之后的概率图确定出所述文本区域的中心区域,再对所述中心区域进行扩展作为检测到的文本区域,可以
提高文本区域检测结果的精确度。
[0102]
在本说明书中,在将所述待检测图像输入所述文本检测模型进行计算之后,可以获取所述文本检测模型输出的与所述待检测图像对应的方向偏移图,并根据所述方向偏移图为检测到的所述文本区域标记文本语序方向,以得到标记了文本语序方向的所述文本区域。
[0103]
具体地,由于所述方向偏移图可以用于指示所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息,因此,可以根据所述方向偏移图,对检测出的文本区域中的各像素点进行排序。
[0104]
例如,请参见图8,图8是本说明书一实施例中方向偏移图的示意图。在将如图1所示的待检测图像输入所述文本检测模型之后,可以获取到所述文本检测模型输出的如图8所示的方向偏移图。请参见图9,图9是本说明书一实施例中标记有文本语序方向的文本区域的示意图。可以根据如图8所示的方向偏移图,为检测到的文本区域1和文本区域2分别标记对应的文本语序方向,以得到如图9所示的标记了文本语序方向的文本区域1和文本区域2。
[0105]
在示出的一种实施方式中,所述根据所述方向偏移图为检测到的所述文本区域标记文本语序方向,具体可以包括:根据所述方向偏移图,在检测到的所述文本区域的边界上,标记文本解析起点和文本解析方向;其中,所述文本解析起点和文本解析方向用于指示所述文本语序方向。
[0106]
例如,请结合图8和图9,根据获取到的方向偏移图,可以确定检测到的文本区域1、文本区域2的文本解析起点分别为检测点f、检测点3,以及可以确定文本解析方向为顺时针方向;也即,可以确定文本区域1的文本解析方向为f-》g-》h-》i-》j-》k-》l-》a-》b-》c-》d-》e-》f,文本区域2的文本解析方向为3-》4-》1-》2-》3;因此,如图9所示,可以在文本区域1、文本区域2的边界上,分别标记确定出的所述文本解析起点和文本解析方向。
[0107]
需要说明的是,在以上示出的实施例中,在所述文本区域的边界上标记文本解析起点和文本解析方向仅仅是一种示例性的标记方式,本领域技术人员也可以采用其他方式为检测出的文本区域标记文本语序方向,本说明书不做限制。例如,请结合图8和图9,根据获取到的方向偏移图,可以将f-》g-》h-》i-》j-》k-》l、e-》d-》c-》b-》a、f-》e、l-》a分别标记为文本区域1的上边界、下边界、左边界、右边界,以及,可以将3-》4、2-》1、3-》2、4-》1分别标记为文本区域2的上边界、下边界、左边界、右边界,以指示正确的文本语序方向。
[0108]
在实际应用中,在对所述文本区域中的文本内容进行识别之前,还可以根据为所述文本区域标记的文本语序方向,对所述文本区域进行图像矫正,以得到符合所述文本语序方向的文本区域。
[0109]
在示出的一种实施方式中,所述标记了文本语序方向的所述文本区域,可以包括形状不规则的文本区域;在识别所述文本区域中的文本内容之前,还可以包括:基于为不规则的所述文本区域标记的文本语序方向,生成符合所述文本语序方向的、且规则的文本区域;所述规则的文本区域可以用于作为文本识别模型的输入,以得到所述文本识别模型输出的所述文本区域中的文本内容。
[0110]
其中,所述符合文本语序方向,可以理解为,图像矫正后的文本区域中的文本内容不存在字符倒立、阅读方向错误等问题;所述不规则的文本区域,可以理解为,如图3所示的
多边形的文本区域,或者由曲线等围成的文本区域,本说明书中不做限定;所述规则的文本区域,可以理解为,便于后续作为所述文本识别模型的输入的规则的形状,如矩形等。
[0111]
例如,如图3所示,文本区域1是多边形的、且不符合文本语序方向的文本区域,文本区域2是四边形的、且不符合文本语序方向的文本区域,二者的文本内容的阅读方向都不是常规的阅读方向,都不适合直接作为文本识别模型的输入;因此,可以基于为文本区域1、文本区域2标记的文本语序信息,通过旋转、缩放、仿射变换或tps(thin plate spline)等图像矫正方式,生成图像矫正后的文本区域1、图像矫正后的文本区域2;其中,所述图像矫正后的文本区域可以是矩形的文本区域,并且所述图像矫正后的文本区域中的各字符是正向的。进一步地,还可以将所述图像矫正后的文本区域1、图像矫正后的文本区域2,输入训练完成的文本识别模型进行分类计算,以识别出所述文本区域1、文本区域2中的文本内容,分别为“一二三四五六七八”、“合同专用章”。
[0112]
需要说明的是,在以上示出的实施例中,在对检测到的所述文本区域进行图像矫正、或者识别其中的文本内容的过程中,由于可以结合为所述文本区域标记的文本语序方向进行相关的ocr处理,因此,图像矫正后的文本区域的阅读方向符合常规的阅读方向,也不会出现字符倒立的情况,并且所述文本识别模型可以针对字符正向、阅读方向正确的文本区域进行文本识别,从而准确地识别出所述文本区域中的文本内容,并且避免文本识别结果的语义错误。
[0113]
然而,由于相关技术中的文本检测模型无法学习到所述待检测图像中各个像素点的文本语序方向信息,因此,通常直接将位于分割结果的左上角的检测点作为默认的文本解析起点,并将从上至下的垂直方向、或从左至右的水平方向作为默认的文本解析方向,可能导致在图像矫正后的文本区域中出现阅读方向错误、字符倒立等问题,进而在后续针对所述文本区域中的文本内容进行文本识别的过程中,可能出现语义混乱、识别失败等问题。
[0114]
例如,请参见图9,在相关技术中,针对检测到文本区域,通常可以直接将位于检测结果“左上角”的检测点a、检测点1,分别作为文本区域1、文本区域2的文本解析起点,也即,文本区域1的文本解析方向为a-》b-》c-》d-》e-》f-》g-》h-》i-》j-》k-》l-》a,文本区域2的文本解析方向为1-》2-》3-》4-》1;进一步地,导致在图像矫正后的文本区域中,会出现字符倒立、阅读方向相反的情况;进一步地,所述文本识别模型识别得到的文本区域1、文本区域2中的文本内容可能分别为“八七六五四三二一”、“章用专同合”,造成语义混乱的问题,甚至所述文本识别模型无法成功识别出倒立的字符,也即导致所述文本识别模型无法成功识别出文本区域中的文本内容。
[0115]
通过以上实施例可知,由于所述文本检测模型可以学习所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息,也即,可以获取所述文本检测模型输出的与所述待检测图像对应的方向偏移图,因此根据所述方向偏移图,可以为检测到的文本区域标记文本语序方向,得到标记有文本语序方向的文本区域,作为针对所述待检测图像包含的文本区域的检测结果。从而实现了检测出任意角度的文本区域,并为其标记正确的文本语序方向的目的,以便于在后续的图像矫正、文本识别等过程中,可以结合为所述文本区域标记的文本语序方向进行处理,进而能够准确地提取出所述待检测图像中的文本信息,避免出现文本语序方向错误、字符倒立、文本内容识别失败等情况。
[0116]
为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面以基于
dbnet算法实现的文本检测模型为例,对本说明书中的技术方案进行说明。应当理解的是,这仅仅是一种示例性的描述,并不对本说明书做特殊限制;在实际应用中,本领域技术人员也可以采用基于其他算法实现的文本检测模型,以实现本说明书中的技术方案。
[0117]
例如,可以将如图1所示的待检测图像,输入已训练完成的所述文本检测模型进行计算,以获取到所述文本检测模型输入的与所述待检测图像对应的概率图(如图4所示)、阈值图(如图6所示)、近似二值图(如图5所示)、边界偏移图(如图7所示)与方向偏移图(如图8所示)。
[0118]
进一步地,可以根据如图5所示的近似二值图,提取所述待检测图像包含的文本区域的中心区域,并可以从所述中心区域进行等间隔采样,得到若干采样点;根据如图7所示的边界偏移图,可以针对所述若干采样点分别进行扩展,得到分别对应于所述文本区域的上边界与下边界的文本区域边界点对,并将得到的若干文本区域边界点连接起来而围成的闭合区域,确定为检测到的所述待检测图像包含的文本区域,也即,如图3所示的文本区域1和文本区域3。
[0119]
进一步地,可以根据如图8所示的方向偏移图,确定所述文本区域1、文本区域2的文本解析起点分别为检测点f、检测点3,以及可以确定文本解析方向为顺时针方向;如图9所示,可以在所述文本区域1、文本区域2的文本区域边界上,分别标记确定出的所述文本解析起点和文本解析方向。
[0120]
与上述文本区域检测方法的实施例对应的,本说明书还提供了一种文本区域检测装置的实施例。
[0121]
请参见图10,图10是本说明书一实施例中文本区域检测装置所在电子设备的结构示意图。在硬件层面,该设备包括处理器1002、内部总线1004、网络接口1006、内存1008以及非易失性存储器1010,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器1002从非易失性存储器1010中读取对应的计算机程序到内存1008中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0122]
请参见图11,图11是本说明书一实施例中文本区域检测装置的框图。该文本区域检测装置可以应用于如图10所示的电子设备中,以实现本说明书的技术方案。其中,所述文本区域检测装置可以包括:
[0123]
输入单元1102,用于将包含文本区域的待检测图像输入已训练完成的文本检测模型进行计算;其中,所述文本检测模型包括至少将与所述待检测图像对应的方向偏移图作为学习目标进行有监督训练得到的机器学习模型;所述方向偏移图用于指示所述待检测图像包含的文本区域中的各像素点对应的文本语序方向信息;
[0124]
检测单元1104,用于检测所述待检测图像包含的文本区域;
[0125]
标记单元1106,用于获取所述文本检测模型输出的与所述待检测图像对应的方向偏移图,并根据所述方向偏移图为检测到的所述文本区域标记文本语序方向,以得到标记了文本语序方向的所述文本区域。
[0126]
在本实施例中,所述文本检测模型的学习目标还包括与所述待检测图像对应的概率图;所述概率图用于指示所述待检测图像中的各像素点位于所述文本区域的概率分布;
所述检测单元1104,具体用于:
[0127]
获取所述文本检测模型输出的与所述待检测图像对应的概率图,并对所述概率图的概率分布中的各个概率值进行二值化处理,得到与所述待检测图像对应的二值化处理之后的概率图;
[0128]
根据所述二值化处理之后的概率图,检测所述待检测图像包含的文本区域。
[0129]
在本实施例中,所述检测单元1104,具体用于:
[0130]
根据用于针对所述概率分布中的各个概率值进行标准二值化处理的预设的固定阈值,对所述概率图的概率分布中对应于各像素点的各个概率值进行标准二值化处理,得到与所述待检测图像对应的标准二值化处理之后的概率图;
[0131]
其中,所述标准二值化处理,包括:
[0132]
分别将所述概率图的概率分布中对应于各像素点的各个概率值与所述固定阈值进行比较;如果对应于任一像素点的概率值大于所述固定阈值,则确定该像素点位于所述文本区域。
[0133]
在本实施例中,所述文本检测模型的学习目标还包括与所述待检测图像对应的阈值图;所述阈值图用于指示针对所述概率分布中的各个概率值进行可微分二值化处理的阈值分布;所述检测单元1104,具体用于:
[0134]
获取所述文本检测模型输出的与所述待检测图像对应的阈值图,并根据所述阈值图的阈值分布中的各个自适应阈值,分别针对所述概率图的概率分布中的各个概率值进行可微分二值化处理,得到与所述待检测图像对应的可微分二值化处理之后的概率图;
[0135]
其中,所述可微分二值化处理,包括:
[0136]
分别将所述概率图的概率分布中对应于各像素点的各个概率值与所述阈值图的阈值分布中对应于该像素点的自适应阈值进行比较;如果对应于任一像素点的概率值大于对应于该像素点的自适应阈值,则确定该像素点位于所述文本区域。
[0137]
在本实施例中,所述检测单元1104,具体用于:
[0138]
根据所述二值化处理之后的概率图,将位于所述文本区域的像素点构成的区域,确定为检测到的所述待检测图像包含的文本区域。
[0139]
在本实施例中,所述文本检测模型的学习目标还包括与所述待检测图像对应的边界偏移图;所述边界偏移图用于指示所述待检测图像包含的文本区域的中心区域中的各像素点相对于所述文本区域的各边界的偏移向量;所述检测单元1104,具体用于:
[0140]
根据所述二值化处理之后的概率图,提取所述待检测图像包含的文本区域的中心区域;
[0141]
从所述文本区域的中心区域进行采样,得到若干采样点;
[0142]
获取所述文本检测模型输出的与所述待检测图像对应的边界偏移图,并根据所述边界偏移图中对应于所述若干采样点的偏移向量,针对所述若干采样点分别进行扩展,得到对应的若干文本区域边界点;
[0143]
将所述若干文本区域边界点连接起来而围成的闭合区域,确定为检测到的所述待检测图像包含的文本区域。
[0144]
在本实施例中,所述标记单元1106,具体用于:
[0145]
根据所述方向偏移图,在检测到的所述文本区域的边界上,标记文本解析起点和
文本解析方向;其中,所述文本解析起点和文本解析方向用于指示所述文本语序方向。
[0146]
在本实施例中,所述标记了文本语序方向的所述文本区域为不规则的文本区域;所述装置还包括:
[0147]
生成单元,用于基于为不规则的所述文本区域标记的文本语序方向,生成符合所述文本语序方向的、且规则的文本区域;所述规则的文本区域用于作为文本识别模型的输入,以得到所述文本识别模型输出的所述文本区域中的文本内容。
[0148]
在本实施例中,所述文本检测模型的学习目标的损失函数loss为所述概率图的损失l
p
、所述可微分二值化处理之后的概率图的损失lb、所述阈值图的损失l
t
、所述方向偏移图的损失l
do
、与所述边界偏移图的损失l
bo
的加权之和;所述损失函数loss表示为:
[0149]
loss=l
p
α
×
lb β
×
l
t
γ
×
l
do
δ
×
l
bo

[0150]
其中,所述α、β、γ、δ分别为与所述lb、l
t
、l
do
、l
bo
对应的加权权重。
[0151]
在本实施例中,所述l
p
与所述lb为二元交叉熵损失函数;所述l
t
为l1损失函数;所述l
do
与所述l
bo
为smooth l1损失函数。
[0152]
在本实施例中,α=5,β=10,γ=1,δ=1。
[0153]
在本实施例中,所述待检测图像包括电子合同或电子票据对应的图像。
[0154]
在本实施例中,所述待检测图像包括电子合同或电子票据中的印章区域对应的图像;所述待检测图像包含的文本区域,包括所述印章区域对应的图像中包含的文本区域。
[0155]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0156]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0157]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl
(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0158]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0159]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本技术不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0160]
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0161]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0162]
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0163]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0164]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0165]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0166]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0167]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0168]
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0169]
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0170]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0171]
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献