一种流程模型图的自动识别与理解方法与流程

文档序号:15492989发布日期:2018-09-21 21:01阅读:258来源:国知局

本发明属于流程挖掘领域,具体涉及一种流程模型图的自动识别与理解方法。



背景技术:

当前流程模型图的识别与理解主要包含两类方案:一种是使用工程图识别系统来识别流程模型图,第二种是通过静态规则库完成流程模型图的识别。

第一种方法使用工程图识别系统识别流程模型图,根据工程领域的不同,现有的工程识图系统有法国loria研究所的celesstin系统、以色列工程技术大学的mdus系统等等。在使用工程图识别系统识别流程模型图时,首先需要将流程模型图位图中转为工程识图系统可读取的矢量描述,然后在矢量描述基础上识别基本图元、识别模型元素符号和提取模型语义。

第二种方法使用静态规则库完成流程模型的识别,首先定义流程模型图中模型节点和有向边的基本图元,然后通过图像相似度计算方法,在流程模型图中匹配基本图元,识别流程模型图中的模型元素。

综合分析两种方法,工程识图系统能够识别图片中的基本图元,识别工程对象和工程语义,但是工程识图系统通用性差,工程识图系统根据工程领域定义了节点的类型,而流程模型图中节点类型工程图中节点类型不完全相同,因此使用工程识图系统识别流程模型图会存在模型节点丢失的问题。静态规则库定义了流程模型图中的基本图元,因此可以识别流程模型图中模型节点的类型和位置,但是流程模型图中有向边的形状不确定,不能定义所有形状边的基本图元,因此使用静态规则库识别流程模型图会丢失有向边的信息。本发明提出一种流程模型图的自动识别与理解技术,可以准确的识别模型节点的位置、尺寸和模型节点的文本,能够准确的识别有向边的开始结束节点。因此从整体来看本发明所提出的技术与思路是创新的,是现有流程模型图识别方法无法实现的。

现有的流程模型图的自动识别与理解方法包括工程识图识别,静态规则库识别等方案。其技术缺点主要体现在以下几个方面:

工程识图用于识别专有领域工程图的图元和语义,因而工程识图系统的通用性差,因为不存在专用于业务流程图识别的系统,所以工程识图系统中节点的类型与流程模型图中节点的类型不完全相同。因而在使用工程识图系统识别流程模型图会存在部分节点不能被识别,造成识别的流程模型结构不完整,或有向边开始结束节点丢失等问题。

静态规则库识别流程模型时,首先需要定义流程模型图基本单元的图元模板,流程模型图中模型节点的种类有限,因而可以定义模型节点的基本图元,但是流程模型图中有向边的起点坐标、终点坐标、拐点个数、箭头指向不同,所以不能通过定义所有的形状的边。因此在使用静态规则库识别流程模型图时,有向边不能被完全识别,最终识别的流程模型中会存在孤立节点,造成流程模型结构的错误。



技术实现要素:

针对现有技术中存在的上述技术问题,本发明提出了一种流程模型图的自动识别与理解方法,设计合理,克服了现有技术的不足,具有良好的效果。

为了实现上述目的,本发明采用如下技术方案:

一种流程模型图的自动识别与理解方法,采用模型元素识别模块、模型节点文本识别模块和模型有向边识别模块;

模型元素识别模块,被配置为构建基本图元模板,使用基本图元模板识别流程模型中包括活动、任务、事件、网关、箭头在内的模型元素,使用筛选技术去除重复匹配节点和错误匹配区域;

模型节点文本识别模块,被配置为根据模型节点的位置和尺寸切割流程模型图,获得模型节点所在区域的小图片,使用ocr(opticalcharacterrecognition,光学字符识别)文字识别技术识别小图片中的文本;

模型有向边识别模块,被配置为灰度处理流程模型图,获得并存储流程模型图中每个像素点的灰度值,生成流程模型图灰度值矩阵,并根据箭头位置、箭头最近邻节点位置,从灰度值矩阵中遍历识别有向边;

所述的将流程模型图自动识别与理解的方法,具体包括如下步骤:

步骤1:模型元素的识别;

步骤2:模型节点文本的识别;

步骤3:模型有向边的识别。

优选地,在步骤1中,具体包括如下步骤:

步骤1.1:基本图元模板的构造;

通过研究流程模型图的基本组成单元,构造包括事件、活动、网关、任务、箭头在内的模型元素的图元模板,其中每个图元模板都有对应的图元图片、元素类型、元素宽度和元素高度;

步骤1.2:模型元素的匹配;

将图元模板在流程模型图中滑动,并通过图像相似度计算方法计算图元模板与流程模型图中各个重叠区域的相似度,从所有区域中选择与图元模板最相似的若干区域,这些区域就是从流程模型图中识别的模型元素;

步骤1.3:匹配结果的筛选;

去除模型元素匹配结果中重复识别和错误识别区域,当两个识别结果区域非常接近时,将相似度低的识别结果作为重复识别区域去除,当识别的结果区域中边框不完整或不包含任何符号像素时,将其作为错误识别区域从识别结果中去除。

优选地,在步骤2中,具体包括如下步骤:

步骤2.1:流程模型图切割;

从流程模型元素识别的结果中获得所有模型节点的位置、尺寸和类型信息,对于包含文本信息的模型节点,使用图片切割技术切割流程模型图,获得仅包含模型节点区域的小图片;

步骤2.2:ocr文字识别;

使用ocr文字识别技术识别模型节点小图片中的文本信息,也就是节点的文本信息。

优选地,在步骤3中,具体包括如下步骤:

步骤3.1:流程模型图的灰度化处理;

对流程模型图做灰度处理,获得并存储流程模型图中每个相似点对应的灰度值,生成流程模型图对应的灰度值矩阵;

步骤3.2:有向边识别;

通过模型元素识别模块识别模型节点和箭头的位置,与箭头最相邻的模型节点即为箭头所在有向边的终点,有向边与流程模型图背景的灰度值不同,根据箭头的位置、箭头相对于模型节点的位置、最近邻模型节点位置,从灰度值矩阵中沿着有向边的走向反向遍历,找到有向边的开始节点

本发明所带来的有益技术效果:

基本图元模板构造技术:静态规则库通过构造节点和有向边的图片模板来识别流程模型图中的元素,因为不能穷举所有形状的有向边,所以本发明在构造基本图元模板时仅构造模型节点和箭头的图元模板,可以极大缩短图元模板的构造时间。

匹配结果筛选技术:现有的模型元素识别方法没有对重复匹配和错误匹配做优化处理,本发明在模型元素匹配之后,对匹配结果筛选,去除重复匹配的节点和错误识别区域,提高了模型元素识别的准确率。

模型节点文本识别技术:工程识图系统和静态规则库识别流程模型中文本时,以流程模型图整体作为输入,因此不能准确判定哪些模型元素中存在文本信息,而且文字识别复杂度高;本发明使用图片切割技术获得包含文本信息节点所在区域的小图片,然后识别小图片中的文本作为模型节点的文本,可以使识别结果更加准确,识别的效率得到提升。

流程模型图的灰度化处理技术:工程识图系统和静态规则库识别流程模型图时,在流程模型图中直接发现有向边,需要对流程模型图中各像素值重复读取,本发明对流程模型图做灰度处理,获得流程模型图的灰度值矩阵,在有向边识别时可以直接从灰度值矩阵中读取流程模型图的灰度值,缩短了有向边识别的时间。

模型有向边识别技术:静态规则库通过定义图元模板识别流程模型图中的有向边,存在有向边丢失的问题,本发明根据箭头的位置,箭头最近邻节点的位置从灰度值矩阵中遍历得到有向边,可以保证有向边的准确识别。

附图说明

图1为本发明基本原理图。

图2为箭头的图元模板示意图。

图3为模型元素匹配过程示意图。

图4为活动节点切割结果示意图。

图5为开始事件节点的灰度化处理结果示意图。

图6为有向边识别流程图。

图7为流程模型图。

图8为模型元素识别结果示意图。

图9为流程模型图识别详细结果示意图。

具体实施方式

下面结合附图以及具体实施方式对本发明作进一步详细说明:

本发明从流程模型图出发,基本原理如图1所示,首先构造模型元素基本图元,其中包括箭头、活动、网关、任务、事件等类型的模型元素;然后使用图元模板与流程模型图匹配,计算流程模型图中每个区域与图元模板的相似度,在匹配过程中去除重复识别模型元素和被错误识别的区域;在识别模型节点文本时,根据模型节点的位置和尺寸,使用图片切割技术获得模型节点所在区域的小图片,然后使用ocr文字识别技术识别小图片中的文本;在识别流程模型有向边时,对流程模型图做灰度处理,获得流程模型图的灰度值矩阵,然后利用模型元素识别中箭头的位置,找到与箭头最相邻的模型节点,然后根据箭头位置、相邻模型节点位置等值,在灰度值矩阵中遍历并确定有向边的开始节点。因此,本发明基于方案的基本内容,从功能角度出发给出详细的功能模块,并对每个功能模块给出详细的实现技术方案。本发明包括模型元素识别模块、模型节点文本识别模块和模型有向边识别模块。

1、模型元素识别模块

模型元素识别模块主要识别流程模型中各类模型元素,包括箭头、活动、事件、网关、任务等元素。该模块主要包括基本图元模板构造、模型元素匹配和匹配结果筛选。

基本图元模板构造主要构造流程模型基本组成单元的图片模板,是模型元素匹配的准备工作。通过研究流程模型的基本组成单元,本发明将模型元素分为模型节点和有向边两部分,因为边的形状不固定,所以不能构造所有形状的边的图片模板,因此在模型元素识别模块,不识别有向边。图元模板包括图元图片、元素类型、元素宽度和元素高度等信息。如表1所示,部分事件节点的图元模板信息,表1中每一个图片都有对应的节点类型以及尺寸信息。除了构造模型节点的图元模板,还需要构造箭头的图片模板,为识别有向边最准备。根据箭头的指向,本发明构造四种箭头模板,箭头形状如图2所示。

表1.事件节点的图元模板

模型元素匹配使用基本图元模板识别流程模型图中的模型元素。模型元素匹配过程如图3所示,其中水平方向是坐标系横轴,垂直方向为坐标系纵轴;图片的坐标值(x,y)为图片左上角的坐标值。假设图3中实线框大图为流程模型图,虚线框小图为某图元模板,在匹配过程中,图元模板从左上角开始移动,模板在流程模型图上每次在横向或是纵向上移动一个像素,每移动一个像素就使用opencv的cvmatchtemplate函数计算模板与流程模型图重叠区域的相似度。图元模板的横向滑动范围为(w-w+1),其中w为流程模型图的宽度,w为模型元素图元模板的宽度。图元模板的纵向滑动范围为(h-h+1),其中h为流程模型图的高度,h为模型元素图元模板的高度,当图元模板与流程模型图所有区域的相似度都被计算后,就可以得到一个(w-w+1)×(h-h+1)维的相似度结果矩阵。从结果矩阵中选择与图元模板最相似的若干区域,这些区域就是从流程模型图中识别的模型元素。

在模型元素匹配时,从结果矩阵中选择了若干最相似的区域作为某类模型元素的识别结果。为了防止模型元素的重复识别和错误识别,本发明对模型元素匹配结果筛选。首先对于任意两个匹配结果,如果它们之间的欧氏距离小于10像素,则将其作为同一个模型元素,仅保留最相似的一个匹配元素。然后对于所有的匹配结果,如果匹配结果边框不完整、边框内部不包含任何像素点,则将其作为错误识别从匹配结果中删除,这是因为模型节点的边框闭合且因为边框的存在必然存在像素点。

2、模型节点文本识别模块

模型节点文本识别模块主要识别模型节点中的文本,在模型元素识别模块,模型节点的类型、位置、尺寸已经被识别,在识别模型节点的文本时,首先根据模型节点类型,获得所有包含文本信息的节点,然后使用图片切割技术获得模型节点所在区域的小图片,然后使用百度提供的ocr文字识别接口识别小图片中的文本,这个文本就是模型节点包含的文本。如图4所示是一个活动节点的图片切割结果,使用ocr文字识别技术识别图中的文本,可以得知此活动节点中的文本为“厨房准备酒精饮料”。

3、自然语言文本生成模块

模型有向边识别模块主要识别流程模型图中的有向边,在模型元素识别模块,所有的模型节点被识别出来,同时箭头作为一种模型元素也被识别出来。在识别有向边时,首先对流程模型图做灰度处理,获得并存储流程模型图中每个像素点对应的灰度值,灰度处理后可获得流程模型图的灰度值矩阵其中矩阵行数是模型图的高度值,矩阵的列数是模型图的宽度值,矩阵中每一个元素表示相应像素点的灰度值(取值为0-255)。流程模型图中背景颜色为白色(灰度值255),模型元素边框和为黑色(灰度值小于255),如图5所示,开始事件节点及其出边的灰度值,从图中可以看出背景与边框的灰度值不同,而且有向边像素连续,所以本发明根据流程模型图灰度值矩阵和模型元素识别的结果识别流程模型图中的有向边。

在模型元素识别模块,已经识别了模型节点和箭头等模型元素。假设箭头集合为arrowlist,每一个箭头都含有坐标信息;假设模型节点集合为nodelist,每一个模型节点都含有类型、尺寸、坐标信息。在开始有向边的识别时,首先遍历arrowlist中的箭头,对某一个箭头arrow,计算arrow与nodelist中每一个模型节点的欧氏距离,距离最小的模型节点node就是箭头arrow的归属节点(有向边的结束节点)。然后使用算法1判断箭头arrow相对于模型节点node的方位,算法1通过比较箭头与模型节点坐标确定箭头的方位。在确定箭头相对于模型节点的方位后,从灰度值矩阵中箭头位置出发,反向寻找有向边的开始节点,具体过程如图6所示,假设算法1的返回值orien,在灰度模型图中向orien方向移动一个元素,然后判断当前像素点是否在除node之外的某个模型节点范围之内(10像素),如果在某个节点的范围之内,算法结束,返回有向边的开始节点。否则,在遍历过程中判断有向边的方向是否发生变化,如果有向边的方向发生变化,则将orien调整为现在边的走向,然后继续根据orien在流程模型图的灰度图中遍历,直到发现有向边的开始节点为止。因此本模块也是本发明的核心也是关键

模型元素识别技术:本发明提出一种模型元素识别技术,首先根据流程模型图类型,构建基本图元模板,基本图元模板包括模型节点和有向边箭头两种类型,然后使基本图元模板在流程模型图中滑动,计算图元模板与流程模型图各区域的相似度,从中选择若干相似度高的区域作为模型元素识别的结果。最后使用筛选技术去除重复识别区域和错误识别区域。因此可以保证模型元素识别结果的唯一性和正确性。

模型节点文本识别技术:本发明提出一种模型节点文本识别技术。对于包含文本信息的模型节点,本发明首先根据模型节点的位置和尺寸切割流程模型图,获得只包含模型节点的小图片,最后使用ocr文字识别技术识别模型节点的文本。所以本发明可以正确的识别模型节点的文本,并极大的缩减模型节点文本识别的时间。

模型有向边识别技术:本发明提出一种从流程模型图中识别有向边的技术,首先对流程模型图做灰度处理,获得流程模型图的灰度值矩阵,然后根据箭头位置、箭头最近邻节点位置等参数,在灰度值矩阵中遍历,遍历过程中根据方向的变化调整遍历的方向,最后发现有向边的开始节点。本发明可以保证准确的识别流程模型图中的有向边,并正确识别有向边的开始和结束节点。

本发明的以bpmn流程模型为例,通过实验的方式,识别和理解流程模型图。对于图7所示的流程模型,使用本发明的识别和理解方法,可以准确识别流程模型。识别流程模型图中的模型节点和箭头的结果如图8所示,图8灰色边框表示了模型元素的位置和尺寸信息。图9给出了流程模型图识别的详细结果,其中包括模型元素个数、模型节点id、模型节点类型,模型节点位置、有向边的id、有向边的开始节点和有向边的结束节点等信息。

当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1