CN118037806A - 一种识别拓扑图结构的方法及系统 - Google Patents
一种识别拓扑图结构的方法及系统 Download PDFInfo
- Publication number
- CN118037806A CN118037806A CN202311820310.3A CN202311820310A CN118037806A CN 118037806 A CN118037806 A CN 118037806A CN 202311820310 A CN202311820310 A CN 202311820310A CN 118037806 A CN118037806 A CN 118037806A
- Authority
- CN
- China
- Prior art keywords
- line segment
- icon
- icons
- line segments
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000001914 filtration Methods 0.000 claims abstract description 15
- 238000012216 screening Methods 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Landscapes
- Digital Computer Display Output (AREA)
Abstract
本发明公开了一种识别拓扑图结构的方法及系统,属于图像识别技术领域。包括以下步骤:获取待识别的拓扑图,并利用拓扑图识别模型识别所述拓扑图中所含图标、以及每个图标对应的位置;计算所述拓扑图中每个像素点的像素梯度,对像素点进行过滤,得到过滤后的像素点;按照预定顺序选取滤后的像素点进行生长后,获取所述拓扑图中线段、以及其端点位置;对所得的线段进行筛选处理;基于所述筛选后的线段、以及图标的位置,计算每条线段的端点到各个图标的边的距离,并判断线段与图标之间的连接情况、以及图标与图标之间的连接情况。本发明通过将拓扑图转化为结构化数据的方式,自动化提取拓扑图的结构信息,大大简化相关人员工作量。
Description
技术领域
本发明属于图像识别技术领域,具体涉及一种识别拓扑图结构的方法及系统。
背景技术
随着人工智能技术的发展,针对图片的分析处理能力有了大幅度的提高,相关需求也因此应运而生,如将图片格式的拓扑图转化为结构化数据的需求。
然而,目前并没有能够针对拓扑图中的图像结构进行识别的软件,且拓扑图中图标分布相对随意,相关人员对大量的拓扑图进行结构化转录时工作量巨大。
发明内容
发明目的:为了解决上述问题,本发明提供了一种识别拓扑图结构的方法及系统。
技术方案:一种识别拓扑图结构的方法,包括以下步骤:
获取待识别的拓扑图,并利用拓扑图识别模型识别所述拓扑图中所含图标、以及每个图标对应的位置;其中,所述拓扑图识别模型被设置基于预设的训练数据集进行训练得到;
计算所述拓扑图中每个像素点的像素梯度,通过比较每个像素梯度与预设阈值之间的关系对像素点进行过滤,得到过滤后的像素点;按照预定顺序选取滤后的像素点进行生长后,获取所述拓扑图中线段、以及其端点位置;
对所得的线段进行筛选处理,得到筛选后的线段;基于所述筛选后的线段、以及图标的位置,计算每条线段的端点到各个图标的边的距离,得到计算结果;基于计算结果,判断线段与图标之间的连接情况;
基于所述线段与图标之间的连接情况,判断并输出图标与图标之间的连接情况。
进一步地,所述训练数据集的获取,包括以下步骤:
获取n个用于训练的图标,并将图标、以及图标的种类更新至图标库中;创建背景图,依次于所述图标库中任意选取图标i=1、2、3、...、n,并对所述图标/>进行基础处理,得到图标/>
将整个图标置于所述背景图上,并记录图标/>的种类,以及图标/>于所述背景图所占区域/>其中,区域/>被设置满足放置条件;所述放置条件为:区域/>与所述背景图上已存在的所有图标所占区域不重叠;
判断所占区域是否满足放置条件,得到判断结果:若是,则记录图标/>的种类;反之,则重新放置图标/>直至区域/>满足放置条件;
当达到终止条件时,停止从图标库中选取图标;其中,所述终止条件为:若连续发生m次以上的从所述图标库中选取图标放置在所述背景图上后,均与所述背景图中已有图标发生重叠;
停止选取图标后,从所述背景图中任意选择两个图标,并确定两个图标的边框位置;从两个图标的边框上分别选择一个点作为端点,并将两个端点连接得到线段;其中,两个端点被设置满足选取条件;所述选取条件为:两个端点连接得到的线段不穿过所述背景图上存在的图标;
依次两两遍历所述背景图上存在的图标,绘制线段;基于所述背景图上的图标以及线段,制作训练数据集。
进一步地,获取所述拓扑图中线段、以及其端点位置,包括以下步骤:
获取所述拓扑图中任一像素点的所在位置,计算该像素点周围的w个像素点与该点的像素差;选择差值最大的方向为该像素点的像素梯度方向,差值为梯度值;
计算所述拓扑图中每个像素点的像素梯度值,将每个像素梯度值与预设阈值进行比较,得到比较结果:若像素梯度值小于预设阈值,则将该像素梯度值所对应的像素点过滤去除;
按照从上到下、从左至右的顺序选取过滤后的像素点进行生长,生长方向垂直于像素梯度方向,直至梯度方向发生改变,停止生长;停止后,设置生长的起始点和终止点为线段的两个端点。
进一步地,所述筛选处理包括以下步骤:
基于所述拓扑图中每个图标对应的位置,确定每个图标的边框位置;将边框位置与获取的线段的端点位置进行对比,得到对比结果:若,同一线段的两个端点都在同一个图标内部,则判定该线段为图标的一部分,对该线段进行删除。
进一步地,所述筛选处理还包括以下步骤:
任选两条线段,计算两条线段中端点与端点之间的距离,得到最短距离Hmin、最大距离Hmax、线段长度H1、以及线段长度H2;
判断两条线段是否满足合并条件,得到判断结果:若是,则将两条线段进行合并,得到合并的线段,并选取最大距离Hmax所对应的端点为合并的线段的端点;
其中,合并条件为:两条线段在同一方向上,且最短距离Hmin小于预定长度值,且最大距离Hmax∈[H1+H2+a-b,H1+H2+a+b];
完成合并后,检测余下线段之间的距离,若任意两个线段之间的长度差小于长度差阈值,且一个线段中的端点到另一个线段之间距离均小于距离阈值,则归并该两个线段。
进一步地,计算每条线段的端点到各个图标的边的距离,包括以下步骤:
判断端点到图标的任一条边的投影是否在该边上,得到判断结果:若是,则计算端点到该边的垂直距离;反之,则计算端点至该边的两个端点之间的最小距离,该最小距离作为端点到该边的距离。
进一步地,判断线段与图标之间的连接情况,包括以下步骤:
计算各线段的端点到各图标边的距离,得到距离计算结果;
若存在一线段的两个端点分别到两个不同的图标的距离在距离计算结果中为最小,则该线段与图标的连接情况为连接情况δ1;
若存在一线段的一个端点到一个图标的距离在距离计算结果中为最小,则该线段与图标的连接情况为连接情况δ2;
若存在一线段的两个端点到图标的距离在距离结果中不是最小,则该线段与图标的连接情况为连接情况δ3;
其中,连接情况δ1为同一线段的两端点均对应连接有图标;
连接情况δ2为同一线段中一端点连接有图标且另一端点不连接图标;
连接情况δ3为同一线段的两端点均不连接图标;
设置连接情况为δ2的线段为线段连接情况为δ3的线段为线段/>线段/>线段/>中不连接图标的端点为空置端。
进一步地,判断图标与图标之间的连接情况,包括以下步骤:
遍历所有的线段依次计算任意两个线段/>中的空置端之间的距离,并进行判断,得到判断结果:若两个线段/>的空置端之间的距离小于x个像素,则判定这两个线段中的空置端对应连接,且两个线段/>连接的图标相互连接。
进一步地,判断图标与图标之间的连接情况,还包括以下步骤:
选取任一线段依次遍历线段/>并进行判断,得到判断结果:线段/>中的空置端到线段/>的最短距离小于y个像素点,则判定线段/>中的空置端与线段/>连接,且线段/>连接的图标与线段/>相连接。
在另一个技术方案中,提供了一种识别拓扑图结构的系统,用于实现如上述的一种识别拓扑图结构的方法,所述系统包括:
第一模块,被设置获取待识别的拓扑图,并利用拓扑图识别模型识别所述拓扑图中所含图标、以及每个图标对应的位置;其中,所述拓扑图识别模型被设置基于预设的训练数据集进行训练得到;
第二模块,被设置计算所述拓扑图中每个像素点的像素梯度,通过比较每个像素梯度与预设阈值之间的关系对像素点进行过滤,得到过滤后的像素点;按照预定顺序选取滤后的像素点进行生长后,获取所述拓扑图中线段、以及其端点位置;
第三模块,被设置对所得的线段进行筛选处理,得到筛选后的线段;基于所述筛选后的线段、以及图标的位置,计算每条线段的端点到各个图标的边的距离,得到计算结果;基于计算结果,判断线段与图标之间的连接情况;
第四模块,被设置基于所述线段与图标之间的连接情况,判断并输出图标与图标之间的连接情况。
有益效果:
(1)本发明中通过训练数据集自动制作方式,方便制作大量数据,训练拓扑图识别模型识别图标种类与图标位置;代替人工标注制作训练数据集;通过将拓扑图转化为结构化数据的方式,自动化提取拓扑图的结构信息,大大简化相关人员工作量;
(2)本发明中通过利用像素点周围的8个其他像素点,计算图片中像素梯度方向与大小,获取图片中所有点的梯度信息;利用图片的梯度信息,过滤合并有效的像素点,判断潜在的连接图标的线段的位置;将获得的潜在线段利用规则进行过滤,整合同一线段检测到的两个边缘线段,合并被分支线段截断的长线段,来进行拓扑图中线段识别;
(3)本发明中计算线段的端点与图标各个边的距离,选择距离线段最接近的图标作为线段连接的图标;并设置阈值过滤掉部分线段,根据过滤完成的线段,进行将线段分为连接线段的线段、连接图标的线段,利用规则将其整合,获得图标与线段的连接情况、和图标与图标的连接情况;
(4)本发明中在完成图标识别、线段识别、和线段图标整合后,将拓扑图片上对应的图标名称与编号标出,同时输出图标两两之间的连接情况。
附图说明
图1为本发明中的拓扑图处理流程图;
图2为本发明中的训练数据集创建流程;
图3为本发明中拓扑图的线段识别流程;
图4为本发明中的线段识别与图像识别结果整合流程;
图5是归并线段的示意图;
图6是线段与图标之间的连接情况的示意图。
具体实施方式
实施例1
为了满足自动化识别拓扑图片的结构并转化为结构化数据的需求,提出了本实施例,本实施例提供了一种识别拓扑图结构的方法,包括以下步骤:
S100、获取待识别的拓扑图,并利用拓扑图识别模型识别所述拓扑图中所含图标、以及每个图标对应的位置;其中,所述拓扑图识别模型被设置基于预设的训练数据集进行训练得到。
在识别拓扑图的过程中,首先需要确认图片中存在的图标名称、及其对应位置,因此需要训练拓扑图识别模型,针对拓扑图中出现的图标图片进行位置识别与种类识别。
为了训练上述拓扑图识别模型,首先应该准备拓扑图相关数据。考虑到根据不同的识别领域,需要识别的图标种类多达数十上百甚至上千种,人力手工标注数据费时费力,因此,设计了一种自动生成训练数据的方法,具体步骤为步骤S101所示:
S101、所述训练数据集的获取,包括以下步骤:
获取n个用于训练的图标,并将图标、以及图标的种类更新至图标库中;创建背景图,依次于所述图标库中任意选取图标i=1、2、3、...、n,并对所述图标/>进行基础处理,得到图标/>
将整个图标置于所述背景图上,并记录图标/>的种类,以及图标/>于所述背景图所占区域/>其中,区域/>被设置满足放置条件;所述放置条件为:区域/>与所述背景图上已存在的所有图标所占区域不重叠;
当达到终止条件时,停止从图标库中选取图标;其中,所述终止条件为:若连续发生m次以上的从所述图标库中选取图标放置在所述背景图上后,均与所述背景图中已有图标发生重叠;
停止选取图标后,从所述背景图中任意选择两个图标,并确定两个图标的边框位置;从两个图标的边框上分别选择一个点作为端点,并将两个端点连接得到线段;其中,两个端点被设置满足选取条件;所述选取条件为:两个端点连接得到的线段不穿过所述背景图上存在的图标;
依次两两遍历所述背景图上存在的图标,绘制线段;基于所述背景图上的图标以及线段,制作训练数据集。
以下举例来展开说明步骤S101:
首先,大量收集需要预测的与拓扑图相关的图标,标注图标的种类,并更新至图标库中。考虑到拓扑图基本都是白色为背景,因此创建一个随机尺寸的白色图片。然后选取随机位置,从收集到的图标中随机选取图标,对图标进行,缩放,旋转等操作后,将图标依次至于背景上的随机位置中,该随机位置保证图标的任意部分不会出现在背景图外侧。每次放置图标时记录位置与种类。下次放置时首先判断随机选取的位置是否与之前若干次放置的图标有重叠,包括部分重叠与完全覆盖两中情况。若不重叠,则直接放置,若重叠,则重新选取位置,直至不重叠,然后记录图标种类与对应位置。在上述过程中,若连续发生10次以上的随机选取图片位置后均与已有图标发生重叠,则认为没有空余空间放置图标,则停止图标放置。
完成图标放置后,再向图中添加线段,模拟真是拓扑中出现的线段。该线段同样为随机添加,具体添加方式为:随机选取图像中的两个图标,根据上述标记的图标位置,确认图标的边框。然后,两个图标的从边框上分别随机选取一个点作为线段端点,随后判断端点是否有穿过任意已存在图标,若有,则放弃该线段,若没有,则绘制该线段。使用此规则,两两遍历所有图标,绘制线段。
使用上述方式,可以完成任意数量的数据集制作,从而获取足够训练模型的数据。使用上述过程生成的大量数据,训练拓扑图识别模型识别图标种类与图标位置。
S200、计算所述拓扑图中每个像素点的像素梯度,通过比较每个像素梯度与预设阈值之间的关系对像素点进行过滤,得到过滤后的像素点;按照预定顺序选取滤后的像素点进行生长后,获取所述拓扑图中线段、以及其端点位置。
进一步地,S201、获取所述拓扑图中线段、以及其端点位置,具体包括以下步骤:
获取所述拓扑图中任一像素点的所在位置,计算该像素点周围的w个像素点与该点的像素差;选择差值最大的方向为该像素点的像素梯度方向,差值为梯度值;
计算所述拓扑图中每个像素点的像素梯度值,将每个像素梯度值与预设阈值进行比较,得到比较结果:若像素梯度值小于预设阈值,则将该像素梯度值所对应的像素点过滤去除;
按照从上到下、从左至右的顺序选取过滤后的像素点进行生长,生长方向垂直于像素梯度方向,直至梯度方向发生改变,停止生长;停止后,设置生长的起始点和终止点为线段的两个端点。
以下展开说明步骤S201:
为了获取待识别的拓扑图中连接图标的线段,首先根据拓扑图中每个像素点所在位置,计算该点的周围8个像素点与该点的像素差,差值最大的方向为该点的像素梯度方向,插值为梯度值。
根据计算完成后的每个像素点的像素梯度值,设定阈值对梯度进行过滤,若像素梯度值小于阈值,则认为该点不可能存在线段,将该像素梯度值对应的像素点进行过滤去除。再处理像素梯度前,会将图片转化维像素值在0到255之间的整数。该过程主要目标是寻找连接拓扑图标的线段,而该线段常常与背景有明显的区分度,因此上述的预设阈值常设置为大于200。
然后,从过滤完成后的各个像素点梯度中,从上到下,从左到右选取像素点进行生长,生长方向为垂直于梯度方向,直至梯度方向发生改变。考虑到梯度计算较为粗糙,存在一定误差,所以认为垂直于梯度方向的三个像素点方向均为合理方向,例如,当梯度方向为该像素点的水平方向,则竖直方向上以及四个角落的像素点均为合理方向,一直生长到直至遇到梯度方向为竖直的像素点或被梯度阈值过滤掉的像素点为止。由于该过程从上到下,从左到右遍历,因此,只需要向右下方进行生长,停止后生长的起始点和终止点为形成线段的两个端点。
S300、对所得的线段进行筛选处理,得到筛选后的线段;基于所述筛选后的线段、以及图标的位置,计算每条线段的端点到各个图标的边的距离,得到计算结果;基于计算结果,判断线段与图标之间的连接情况。
S301、所述筛选处理包括以下步骤:
基于所述拓扑图中每个图标对应的位置,确定每个图标的边框位置;将边框位置与获取的线段的端点位置进行对比,得到对比结果:若,同一线段的两个端点都在同一个图标内部,则判定该线段为图标的一部分,对该线段进行删除。
S302、所述筛选处理还包括以下步骤:
任选两条线段,计算两条线段中端点与端点之间的距离,得到最短距离Hmin、最大距离Hmax、线段长度H1、以及线段长度H2;
判断两条线段是否满足合并条件,得到判断结果:若是,则将两条线段进行合并,得到合并的线段,并选取最大距离Hmax所对应的端点为合并的线段的端点;
其中,合并条件为:两条线段在同一方向上,且最短距离Hmin小于预定长度值,且最大距离Hmax∈[H1+H2+a-b,H1+H2+a+b]。H1、H2为两条线段的长度。a、b为像素个数。
本实施例中预定长度值设置为20个像素长度值。最大距离Hmax接近两条线段的长度和,也就是说最大距离Hmax在两线段长度之和加上20个像素的长度的正负10个像素距离之内。
完成合并后,检测余下线段之间的距离,若任意两个线段之间的长度差小于长度差阈值(在本实施例中长度差阈值选择为10个像素长度值),且一个线段中的端点到另一个线段之间距离均小于距离阈值,则归并该两个线段。如图5所示,由于图片中线段存在宽度,所以实际为图片中线段的两条边,因此需要将线段的两条边和并为一条线段。计算两个线段共四个端点到另一条线段的距离,共获得4个距离,若所有距离均小于10个像素,认为两条线段可以归并。在通过两条线段的坐标相加求平均得到实际线段的位置。
S303、计算每条线段的端点到各个图标的边的距离,包括以下步骤:
判断端点到图标的任一条边的投影是否在该边上,得到判断结果:若是,则计算端点到该边的垂直距离;反之,则计算端点至该边的两个端点之间的最小距离,该最小距离作为端点到该边的距离。
S304、判断线段与图标之间的连接情况,包括以下步骤:
计算各线段的端点到各图标边的距离,得到距离计算结果;
若存在一线段的两个端点分别到两个不同的图标的距离在距离计算结果中为最小,则该线段与图标的连接情况为连接情况δ1;
若存在一线段的一个端点到一个图标的距离在距离计算结果中为最小,则该线段与图标的连接情况为连接情况δ2;
若存在一线段的两个端点到图标的距离在距离结果中不是最小,则该线段与图标的连接情况为连接情况δ3。
在上述中“最小”在本实施例中,数值可设置为0。
其中,连接情况δ1为同一线段的两端点均对应连接有图标;
连接情况δ2为同一线段中一端点连接有图标且另一端点不连接图标;
连接情况δ3为同一线段的两端点均不连接图标;
设置连接情况为δ2的线段为线段连接情况为δ3的线段为线段/>线段/>线段/>中不连接图标的端点为空置端。
如图6所示,图6中重黑色的线段为进行识别到的选段。在“识别为连接”中,线段的两端分别与不同的图标距离最近(趋于0)。在“仅连接一个图标”中,与重黑色线段两端点接近的图标均为同一图标,所以将距离更短的一端视为连接。在“不识别为连接”中,与重黑色线段两端点距离最近的图标为下部两个图标,但是存在别的线段与图标距离最小,所以不识别为连接。
以下展开说明步骤S301至S304:
在完成步骤S201后,实际获得的线段是拓扑图中所有图形的边缘直线,其中包括图标中存在的线段,并且当连接直线宽度超过一个像素以上时,线段也将被检测出两条边,或者存在有分支的线段被分支截断的情况,因此需要对检测结果进行过滤与合并。
首先进行步骤S301,利用拓扑图识别模型识别的拓扑图中图标的位置,确定每个图标的边框位置,将边框位置与获取的线段的端点位置进行对比:若同一线段的两个端点都在同一个检测出的图标内部,则认为该线段属于图标的一部分,因此删除该线段。
接着在一些场景下,有一些拓扑图中会存在一些有分支的线段。这些线段会被从线段上支出的线段截断因此识别结果,无法直接将这些线段识别成一条线。因此,需要进行步骤S302,对一些线段进行合并:
首先判断两条识别的线段是否在同一方向上,且四个端点间的最短距离是否小于一定长度,最大长度是否接近两条直线长度。若两条线直线在同一方向上,端点间最小距离与最长距离,都满足设定条件,则认为两条线实际为同一线段,选取距离最长的两个端点为实际端点。
在完成上述操作后,检测余下线段之间的距离,若任意两个线段,线段自身长度接近,端点之间距离长度接近且非常小,则认为两个条线段为同一条直线的两条边,则将坐标相加求平均,得到的结果视为实际线段位置。在上述过程结束后,仍然存在一些小的线段,由于靠近图标边缘,端点的两端没有全部被图标识别得到的边框包围而留存,但是不影响后续分析。
为了获取图标之间的关联,所以进行线段与图标结合,线段连接关系分析与根据线段连接关系获取图标连接关系。首先,为了判断线段连接的图标,因此需要进行步骤303计算线段端点到各个图标的边长(如图标的四条边上)的距离。在该计算过程中,需要判断端点到图标边的投影是否在边上,若投影在边上,则按传统数学方法计算点到直线的距离,若投影在直线外,则计算端点到边的两个端点之间的最小距离。
为了在该过程中过滤图标边缘没有在上一个步骤中过滤掉的线段,因此,计算同时连接同一图标的线段的两个端点到图标的距离差,当差值小于该线段长度的一定比例,则认为时图标自身的边缘线段,不加入之后的计算。
在计算过一个线段的两个端点与所有图标之间的距离后,认为该端点连接了于其两个端点各自距离最近。通过该方法计算距离后,考虑到线段应尽可能与图标连接,因此,若上述最小距离大于左右线段中长度的最小值,则不认为该端点与对应图标相连接。若计算后,发现该线段同时与同一个图标连接,只认为该线段距离短的一段与该图标连接。
S400、基于所述线段与图标之间的连接情况,判断并输出图标与图标之间的连接情况。
S401、判断图标与图标之间的连接情况,包括以下步骤:
遍历所有的线段依次计算任意两个线段/>中的空置端之间的距离,并进行判断,得到判断结果:若两个线段/>的空置端之间的距离小于x个像素,则判定这两个线段中的空置端对应连接,且两个线段/>连接的图标相互连接。
S402、判断图标与图标之间的连接情况,还包括以下步骤:
选取任一线段依次遍历线段/>并进行判断,得到判断结果:线段/>中的空置端到线段/>的最短距离小于y个像素点,则判定线段/>中的空置端与线段/>连接,且线段/>连接的图标与线段/>相连接。
所有任何存在空置端的线段都会加入遍历,包括两端和一端的。如果空置端的投影在线段上,最短距离则是垂直距离,如果投影不在线段上,则是空置端到端点的距离。
以下展开说明步骤S401和S402:
在完成步骤S304后,得到一批线段的连接情况δ1、δ2、δ3,有的线段的两个端点对应连接图标;有的线段的一个端点连接了一个图标,另一端空置;有的线段两端空置。这种情况下,针对线段线段/>分析线段之间连接关系,连接关系中至少包括:分支类关系和折线类关系。
针对折线类关系,图标通过两个线段连接。因此,利用步骤S401,遍历所有线段判断不同线段/>空置端之间的两两距离,针对单个线段/>其中与其距离最短的另一线段/>的端点距离小于5个像素,则认为两线段/>的空置端为折线连接,因此也就得出所以通过折现方式连接的线段/>另一端的图标相互连接。
针对通过从同一个线段上分支出来多条折线的分支类关系,利用步骤S402,首先选取一个线段然后依次遍历线段/>若该线段空置的一段端点到该线段的距离小于10个像素点,则认为该一端空置的线段与该两端空置的线段相连接,同时将与该一端空置的线段的线段连接的图标视为与该两端空置的线线段相连接。在完成上述遍历后,在下一个一个两端空置的线段上进行相同操作。在遍历所有两端空置的线段后,将所有与同一个两端空置的线段相连接的图标视为相互连接。
考虑到在第二个流程合并直线的过程中,可能存在合并完成后两条直线交叉的情况,因此,针对所有线段计算交点。若存在交点,且交点到两线段任意端点距离超过一定长度,则认为两线段交叉,将与交叉线段相连的全部图标视为互相连接。
最终,可以得到图标与线段和线段之间的连接关系,将连接到同一组线段的图标视为相互连接,最终成功构建图标之间的关联关系。
实施例2
本实施例提出了一种识别拓扑图结构的系统,用于实现如实施例1所述的一种识别拓扑图结构的方法,所述系统包括:
第一模块,被设置获取待识别的拓扑图,并利用拓扑图识别模型识别所述拓扑图中所含图标、以及每个图标对应的位置;其中,所述拓扑图识别模型被设置基于预设的训练数据集进行训练得到;
第二模块,被设置计算所述拓扑图中每个像素点的像素梯度,通过比较每个像素梯度与预设阈值之间的关系对像素点进行过滤,得到过滤后的像素点;按照预定顺序选取滤后的像素点进行生长后,获取所述拓扑图中线段、以及其端点位置;
第三模块,被设置对所得的线段进行筛选处理,得到筛选后的线段;基于所述筛选后的线段、以及图标的位置,计算每条线段的端点到各个图标的边的距离,得到计算结果;基于计算结果,判断线段与图标之间的连接情况;
第四模块,被设置基于所述线段与图标之间的连接情况,判断并输出图标与图标之间的连接情况。
Claims (10)
1.一种识别拓扑图结构的方法,其特征在于,包括以下步骤:
获取待识别的拓扑图,并利用拓扑图识别模型识别所述拓扑图中所含图标、以及每个图标对应的位置;其中,所述拓扑图识别模型被设置基于预设的训练数据集进行训练得到;
计算所述拓扑图中每个像素点的像素梯度,通过比较每个像素梯度与预设阈值之间的关系对像素点进行过滤,得到过滤后的像素点;按照预定顺序选取滤后的像素点进行生长后,获取所述拓扑图中线段、以及其端点位置;
对所得的线段进行筛选处理,得到筛选后的线段;基于所述筛选后的线段、以及图标的位置,计算每条线段的端点到各个图标的边的距离,得到计算结果;基于计算结果,判断线段与图标之间的连接情况;
基于所述线段与图标之间的连接情况,判断并输出图标与图标之间的连接情况。
2.如权利要求1所述的一种识别拓扑图结构的方法,其特征在于,所述训练数据集的获取,包括以下步骤:
获取n个用于训练的图标,并将图标、以及图标的种类更新至图标库中;创建背景图,依次于所述图标库中任意选取图标i=1、2、3、...、n,并对所述图标/>进行基础处理,得到图标/>
将整个图标置于所述背景图上,并记录图标/>的种类,以及图标/>于所述背景图所占区域/>其中,区域/>被设置满足放置条件;所述放置条件为:区域/>与所述背景图上已存在的所有图标所占区域不重叠;
当达到终止条件时,停止从图标库中选取图标;其中,所述终止条件为:若连续发生m次以上的从所述图标库中选取图标放置在所述背景图上后,均与所述背景图中已有图标发生重叠;
停止选取图标后,从所述背景图中任意选择两个图标,并确定两个图标的边框位置;从两个图标的边框上分别选择一个点作为端点,并将两个端点连接得到线段;其中,两个端点被设置满足选取条件;所述选取条件为:两个端点连接得到的线段不穿过所述背景图上存在的图标;
依次两两遍历所述背景图上存在的图标,绘制线段;基于所述背景图上的图标以及线段,制作训练数据集。
3.如权利要求1所述的一种识别拓扑图结构的方法,其特征在于,获取所述拓扑图中线段、以及其端点位置,包括以下步骤:
获取所述拓扑图中任一像素点的所在位置,计算该像素点周围的w个像素点与该点的像素差;选择差值最大的方向为该像素点的像素梯度方向,差值为梯度值;
计算所述拓扑图中每个像素点的像素梯度值,将每个像素梯度值与预设阈值进行比较,得到比较结果:若像素梯度值小于预设阈值,则将该像素梯度值所对应的像素点过滤去除;
按照从上到下、从左至右的顺序选取过滤后的像素点进行生长,生长方向垂直于像素梯度方向,直至梯度方向发生改变,停止生长;停止后,设置生长的起始点和终止点为线段的两个端点。
4.如权利要求1所述的一种识别拓扑图结构的方法,其特征在于,所述筛选处理包括以下步骤:
基于所述拓扑图中每个图标对应的位置,确定每个图标的边框位置;将边框位置与获取的线段的端点位置进行对比,得到对比结果:若,同一线段的两个端点都在同一个图标内部,则判定该线段为图标的一部分,对该线段进行删除。
5.如权利要求1所述的一种识别拓扑图结构的方法,其特征在于,所述筛选处理还包括以下步骤:
任选两条线段,计算两条线段中端点与端点之间的距离,得到最短距离Hmin、最大距离Hmax、线段长度H1、以及线段长度H2;
判断两条线段是否满足合并条件,得到判断结果:若是,则将两条线段进行合并,得到合并的线段,并选取最大距离Hmax所对应的端点为合并的线段的端点;
其中,合并条件为:两条线段在同一方向上,且最短距离Hmin小于预定长度值,且最大距离Hmax∈[H1+H2+a-b,H1+H2+a+b];
完成合并后,检测余下线段之间的距离,若任意两个线段之间的长度差小于长度差阈值,且一个线段中的端点到另一个线段之间距离均小于距离阈值,则归并该两个线段。
6.如权利要求1所述的一种识别拓扑图结构的方法,其特征在于,计算每条线段的端点到各个图标的边的距离,包括以下步骤:
判断端点到图标的任一条边的投影是否在该边上,得到判断结果:若是,则计算端点到该边的垂直距离;反之,则计算端点至该边的两个端点之间的最小距离,该最小距离作为端点到该边的距离。
7.如权利要求1所述的一种识别拓扑图结构的方法,其特征在于,判断线段与图标之间的连接情况,包括以下步骤:
计算各线段的端点到各图标边的距离,得到距离计算结果;
若存在一线段的两个端点分别到两个不同的图标的距离在距离计算结果中为最小,则该线段与图标的连接情况为连接情况δ1;
若存在一线段的一个端点到一个图标的距离在距离计算结果中为最小,则该线段与图标的连接情况为连接情况δ2;
若存在一线段的两个端点到图标的距离在距离结果中不是最小,则该线段与图标的连接情况为连接情况δ3;
其中,连接情况δ1为同一线段的两端点均对应连接有图标;
连接情况δ2为同一线段中一端点连接有图标且另一端点不连接图标;
连接情况δ3为同一线段的两端点均不连接图标;
设置连接情况为δ2的线段为线段连接情况为δ3的线段为线段/>线段/>线段中不连接图标的端点为空置端。
8.如权利要求7所述的一种识别拓扑图结构的方法,其特征在于,判断图标与图标之间的连接情况,包括以下步骤:
遍历所有的线段依次计算任意两个线段/>中的空置端之间的距离,并进行判断,得到判断结果:若两个线段/>的空置端之间的距离小于x个像素,则判定这两个线段/>中的空置端对应连接,且两个线段/>连接的图标相互连接。
9.如权利要求7所述的一种识别拓扑图结构的方法,其特征在于,判断图标与图标之间的连接情况,还包括以下步骤:
选取任一线段依次遍历线段/>并进行判断,得到判断结果:线段/>中的空置端到线段/>的最短距离小于y个像素点,则判定线段/>中的空置端与线段/>连接,且线段连接的图标与线段/>相连接。
10.一种识别拓扑图结构的系统,其特征在于,用于实现如权利要求1至9中任意一项所述的一种识别拓扑图结构的方法,所述系统包括:
第一模块,被设置获取待识别的拓扑图,并利用拓扑图识别模型识别所述拓扑图中所含图标、以及每个图标对应的位置;其中,所述拓扑图识别模型被设置基于预设的训练数据集进行训练得到;
第二模块,被设置计算所述拓扑图中每个像素点的像素梯度,通过比较每个像素梯度与预设阈值之间的关系对像素点进行过滤,得到过滤后的像素点;按照预定顺序选取滤后的像素点进行生长后,获取所述拓扑图中线段、以及其端点位置;
第三模块,被设置对所得的线段进行筛选处理,得到筛选后的线段;基于所述筛选后的线段、以及图标的位置,计算每条线段的端点到各个图标的边的距离,得到计算结果;基于计算结果,判断线段与图标之间的连接情况;
第四模块,被设置基于所述线段与图标之间的连接情况,判断并输出图标与图标之间的连接情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311820310.3A CN118037806A (zh) | 2023-12-27 | 2023-12-27 | 一种识别拓扑图结构的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311820310.3A CN118037806A (zh) | 2023-12-27 | 2023-12-27 | 一种识别拓扑图结构的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118037806A true CN118037806A (zh) | 2024-05-14 |
Family
ID=90983061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311820310.3A Pending CN118037806A (zh) | 2023-12-27 | 2023-12-27 | 一种识别拓扑图结构的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118037806A (zh) |
-
2023
- 2023-12-27 CN CN202311820310.3A patent/CN118037806A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Braun et al. | Combining inverse photogrammetry and BIM for automated labeling of construction site images for machine learning | |
Han et al. | Potential of big visual data and building information modeling for construction performance analytics: An exploratory study | |
CN110084095B (zh) | 车道线检测方法、车道线检测装置和计算机存储介质 | |
CN111553963B (zh) | 一种基于地理信息的元网格生成方法及装置 | |
CN110838105B (zh) | 一种业务流程模型图像识别与再构方法 | |
KR101507393B1 (ko) | 수치지도의 범용 편집처리를 위한 폴리곤 단위의 수치지도 관리시스템 | |
CN110136159B (zh) | 面向高分辨率遥感影像的线段提取方法 | |
US20030020765A1 (en) | Method and system for transforming limited source graphical data | |
CN112288716B (zh) | 一种钢卷打捆状态检测方法、系统、终端及介质 | |
Treash et al. | Automatic road detection in grayscale aerial images | |
CN114140466B (zh) | 基于图像处理的植物根系测量方法、系统及装置 | |
CN111578948B (zh) | 一种车道添加的方法及系统 | |
CN118037806A (zh) | 一种识别拓扑图结构的方法及系统 | |
CN113918666A (zh) | 地图数据的处理方法、装置、系统及存储介质 | |
JP2004117245A (ja) | 家屋異動判定方法 | |
JP3613118B2 (ja) | 交通流シミュレータ及びナビゲーション端末 | |
JPH04141783A (ja) | 電子線図形データ作成装置及び方法 | |
JP4908867B2 (ja) | 地理画像処理システム | |
CN114549511A (zh) | 基于图像的植物根系表型分析方法、系统及装置 | |
CN114022434A (zh) | 一种护栏上下边线自动化提取方法及提取系统 | |
JP5074622B2 (ja) | 地理画像処理システム | |
Beyen et al. | Semi-automatic update and quality control of road databases | |
CN112435274A (zh) | 一种基于面向对象分割的遥感影像面状地物提取方法 | |
JP6833356B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN113536860B (zh) | 关键帧提取方法、道路交通设备和设施的矢量化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |