CN109829474A - 一种电路图识别方法 - Google Patents
一种电路图识别方法 Download PDFInfo
- Publication number
- CN109829474A CN109829474A CN201811608328.6A CN201811608328A CN109829474A CN 109829474 A CN109829474 A CN 109829474A CN 201811608328 A CN201811608328 A CN 201811608328A CN 109829474 A CN109829474 A CN 109829474A
- Authority
- CN
- China
- Prior art keywords
- node
- branch
- mesh
- judgment
- rule
- 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.)
- Granted
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种电路图识别方法,预先定义两条或两条以上直支路的连接点为节点,该方法还包括:识别电路图照片中的节点和元件,确定每个节点和元件的所属种类和坐标;将节点与元件分别按从上到下从左到右的顺序编号,得到电路拓扑关系;然后得到节点‑网孔关系,节点‑支路关系,以及支路‑元件关系;由节点‑网孔关系、节点‑支路关系和支路‑元件关系得到支路‑节点‑网孔‑元件关系作为输出结果;通过设置的判断条件对所述输出结果进行判断,如果满足所有判断条件则确定完成电路图识别。采用本发明能够提高电路识别的准确率。
Description
技术领域
本发明涉及图像识别、人工智能技术领域,特别涉及一种电路图识别方法。
背景技术
随着图像识别业务需求的发展,准确率高、识别速度块、“鲁棒”性强的识别方法备受青睐。图像识别,是利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。一般工业使用中,采用工业相机拍摄图片,然后再利用软件根据图片灰阶差做进一步识别处理。图像识别将图像处理得到的图像进行特征提取和分类。识别方法中基本的也是常用的方法有统计法(Statistic Method)、句法方法(SyntacticRecognition)、神经网络法(Neural Network)、模板匹配法(Template Matching)和几何变换法。让算法的效力与效率同时提高,获得最大的ROC曲线下面积,达到“识别高效化,分析智能化”的理想境界是我们不断追求的目标。
在一个电路图中,由基尔霍夫定律给出了节点、支路与网孔的数量关系为:m=b-n+1其中m为网孔数,b为支路数(在图论中,节点可以为孤立节点,故每一个元件都可以当作一条支路),n为节点数。由此关系式可知,当确定电路中的网孔、支路和节点任意两个的信息即可得到节点-支路关系、支路-网孔关系和支路-节点关系,从而得到完整而确定的电路拓扑状态。在所得到的关系图中在每条支路上加入相应的元件即可完成电路的识别。
基于上述基础知识,为了更加快速高效第完成识别,得到准确的识别结果,不仅为用提供更好的使用体验,而且保证了基于电路图识别的后续工作顺畅的进行。出现了很多电路图识别算法。
现在大部分电路图识别方法中,识别是以元件为识别核心。识别过程为首先识别到元件种类,将每一个元件当作一条支路;再识别元件两端的导线的走向及长度以明确每条支路的分布状态;最后将不同支路的相交点识别为节点。当明确了支路与节点的信息即可确定整个电路图的拓扑状态。在理想环境下这一方法显然是最符合我们人工识别电路图的思维,具有很好的可解释性。
然而在实际运用的工程中这样的方法会出现许多问题。首先由于导线非常细,所以在图像中是占据很小的像素,不易与图像中的噪声区分开。同时,如果我们将导线作为一种识别单元,则会对电阻电容等元件的识别造成影响,例如将电容识别成两根平行的短导线,这会降低元件识别准确率。其次在印刷或手画的图片中可能会出现漏印情况导线出现了断点,或在导线与元件连接处没有完好地连接。在这样的情况下是无法得到完好的电路拓扑情况。此外,在电路图中具有大量导线,增加识别元件数量会依指数降低识别的准确率,线性增加识别时间。
由此可见,现行电路图像识别算法中仍然不是非常优秀。会有造成元件识别正确率降低,对噪声敏感,出现漏印情况时无法正常运行得到正确电路连接关系,同时当出现错误时无法对识别结果进行修正。无法满足我们在实际项目中的要求。一种强大的识别算法亟待开发出来。
发明内容
有鉴于此,本发明的发明目的是:能够提高电路识别的准确率。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明提供了一种电路图识别方法,该方法预先定义两条或两条以上直支路的连接点为节点,该方法还包括:
A、将电路图照片进行灰度化、以及归一化处理之后,识别电路图照片中的节点和元件,确定每个节点和元件的所属种类和坐标;
B、将节点与元件分别按从上到下从左到右的顺序编号,得到电路拓扑关系;
C、按节点编号进行遍历,将每四个构成顶角的节点聚簇标记为网孔;将网孔按从上到下从左到右的顺序进行编号,得到节点-网孔关系;
D、按节点编号进行遍历,将每两个构成支路的节点标记为支路;将支路按从上到下从左到右的顺序进行编号,得到节点-支路关系;
E、按元件编号进行遍历,由元件坐标与支路上两节点坐标进行对比判断元件所在支路,得到支路-元件关系;
F、由节点-网孔关系、节点-支路关系和支路-元件关系得到支路-节点-网孔-元件关系作为输出结果;
G、通过设置的判断条件对所述输出结果进行判断,如果满足所有判断条件则确定完成电路图识别。
由上述的技术方案可见,本发明涉及一种基于广义节点挖掘的电路图识别方案,确切地说,涉及一种基于电路图节点类型及分布分析的电路识别方法,也就是说我们首先确立节点概念,然后对其进行识别。得到类型及位置,以节点为基础得出节点-支路关系、节点-网孔关系、元件支路关系,完成对电路图的刻画。本发明技术方案联合考虑了准确性、鲁棒性、效率、支路连接处漏印、支路导线过长、差错纠正等因素,给出了最详细、准确的识别结果,提升用户的使用体验。
附图说明
图1为本发明定义广义节点概念的实例图。
图2为本发明提出的一种电路图识别方法的流程示意图。
图3为本发明线性插值法灰度计算的示意图。
图4为本发明构建节点图像识别训练集噪声的实例图。
图5为本发明实施例节点和元件编号后最初的电路拓扑关系示意图。
图6为本发明识别网孔后的电路拓扑关系示意图。
图7为本发明识别支路后的电路拓扑关系示意图。
图8为本发明识别元件后的电路拓扑关系示意图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明的核心思想在于,以节点做为识别基础,以不同节点种类所具有的特性得出节点-网孔-支路关系,得到电路拓扑关系,可实现对不同环境下的不同形式的电路图包括缺失部分导线的电路图的有效识别。
在传统电路概念中节点为三条或三条以上的支路连接点被称作节点。而本发明定义广义的电路节点,并将节点从形态上分类,分别有两条支路构成的四种节点、三条支路构成的四种节点和四条支路构成的一种节点。将广义的电路节点作为识别的基准点,为电路拓扑关系的确立提供了基础。
图1是本发明定义广义节点概念的实例图,具体定义方法介绍如下:在本发明中定义两条或两条以上直支路的连接点为节点。在常见电路图中,以构成节点的支路数划分节点一共可以划分为三种。第一种是由两条支路构成节点的“L”型节点,第二种是由三条支路构成的“T”型节点,第三种是由四条支路构成的“+”型节点。在每种节点内部继续划分。“L”型节点由于开口朝向不同可以分为四类节点,如图1中的(a)(b)(c)(d)。同理“T”型节点也可以划分为四类节点,如图1中的(e)(f)(g)(h)。但由于“+”型节点具有轴对称和中心对称的特性,故仅有一种节点如图中的(i)。综上,在常见电路图中一共会出现九种节点类型。
本发明提出的一种电路图识别方法的流程示意图如图2所示,该方法预先定义两条或两条以上直支路的连接点为节点,该方法还包括:
步骤21、将电路图照片进行灰度化、以及归一化处理之后,识别电路图照片中的节点和元件,确定每个节点和元件的所属种类和坐标;将节点与元件分别按从上到下从左到右的顺序编号,得到电路拓扑关系;
步骤211,对电路图照片进行灰度化、以及归一化处理,具体实施时,首先将相机中获取的电路图照片进行灰度化处理,然后进行拉伸和压缩的归一化处理,把所有电路图照片的尺寸设为统一固定尺寸。
归一化处理时,设置的缩放参数为x=目标长/原长,y=目标宽/原宽,然后利用双线性插值(Bilinear Interpolation)算法,将原图的灰度矩阵映射后生成的矩阵,形成目标图片的灰度矩阵。在双线性插值算法中,实施方法是在两个方向分别进行一次线性插值,如图3所示,图3为线性插值法灰度计算的示意图。假如想得到未知函数f在点P=(x,y)的值,假设我们已知函数f在Q11=(x1,y1)、Q12=(x1,y2)、Q21=(x2,y1)及Q22=(x2,y2)四个点的值。最常见的情况,目标像素点上的灰度f就是一个像素点的灰度值。首先在x方向进行线性插值,然后在y方向进行线性插值,综合起来就是最终结果,其公式为:
步骤212、识别电路图照片中的节点和元件,确定每个节点和元件的所属种类和坐标。具体实施时,可以通过多种方法实现。将每个节点和元件作为一个目标,遍历识别目标,检测电路图中是否存在该类识别目标,若存在将这类目标所属类别进行标注,同时得到目标坐标。
优选地,本发明设置用于识别节点种类的训练集,通过所述训练集识别各节点所属种类;所述训练集中包括打印版本、手画版本以及存在误差的各节点图像。
图4是本发明构建节点图像识别训练集噪声的实例图,具体方法如下:在实际情景中无论是手画电路图还是印刷电路图在节点处出现图像错误的概率都是较高的,如电路图两支路的交点可能不是90°;两支路在交点处出现漏印使得两支路没有连在一起;两支路在节点处没有停止延申,有“出头”现象等。为应对这一问题,建立“鲁棒”性强的识别方法,我们建立了丰富的训练集,其中不止包括了标准的手画及印刷节点,还包括了大量不同人依个人习惯手画的节点及上述存在差错的节点图像。训练后,可以准确识别各种节点。这一方法得以实现的基础是即使存在个人习惯和图像差错的影响时,九类节点提取的特征仍然存在相互间的差别。但是当影响过大导致不存在差别时(如大面积漏印),算法将判定图像为缺失。
在确定每个节点和元件的目标坐标时,由于图像识别算法是识别出每个识别目标所在区域,其中识别出的区域内坐标是目标区域的左上角点的坐标,由于每个目标区域的尺寸不同所以识别误差会较大,所以通过修正将区域左上角坐标点改为区域中心点。修改公式为:
其中x是修正后的横轴值,y是修正后的纵向值,x0是修正前的横轴值,y0是修正前的纵轴值,a为矩形目标区域横向边长,b为矩形目标区域纵向边长。
优选地,在确定每个节点和元件的所属种类和坐标之后,该方法进一步包括:通过设置最大坐标误差参数ε=4×D(n),对每个节点和元件的坐标进行修正;其中坐标方差D(n)通过采样并迭代得到,n为在同一水平线或铅垂线的点的纵坐标或横坐标的值。具体地,所述对每个节点和元件的坐标进行修正的方法包括:将每个节点和元件作为一个目标,遍历每个目标的纵坐标,通过ε的判断将在同一水平线上的目标进行聚簇,将每个簇中的纵坐标求平均值,再将求得的平均值赋给同一簇中的每个目标,使得簇中的每个目标具有相同的纵坐标;遍历每个目标的横坐标,通过ε将在同一铅垂线上的目标进行聚簇,将每个簇中的横坐标求平均值,再将求得的平均值赋给同一簇中的每个目标,使得簇中的每个目标具有相同的横坐标。
具体实施时,假设包括节点和元件在内共有6个目标点,在进行纵坐标的修正时,按照纵坐标从小到大的顺序进行遍历,将每个目标点的纵坐标与第一个目标点的纵坐标进行比较,当两个点的纵坐标的差值小于ε时可以认为两点在同一水平线上,假设第二个目标点的纵坐标与第一个目标点的纵坐标的差值小于ε,且第三个目标点的纵坐标与第一个目标点的纵坐标的差值小于ε,则认为第一至三个目标点的纵坐标位于同一个簇(第一簇),然后将第一至三个目标点的纵坐标求平均值,再将求得的平均值赋给该第一簇中的每个目标,即,将第一至三个目标点的纵坐标改为求得的平均值,进行纵坐标的修正。假设第四个目标点的纵坐标与第一个目标点的纵坐标的差值大于ε,则说明第四个目标点的纵坐标不在第一簇。假设第五个目标点的纵坐标与第四个目标点的纵坐标的差值小于ε,且第六个目标点的纵坐标与第四个目标点的纵坐标的差值小于ε,则认为第四至六个目标点的纵坐标位于同一个簇(第二簇),然后将第四至六个目标点的纵坐标求平均值,再将求得的平均值赋给该第二簇中的每个目标,即,将第四至六个目标点的纵坐标改为求得的平均值,进行纵坐标的修正。同理,可以通过ε的判断进行横坐标的修正。其中最大坐标误差参数ε的设置原则为坐标方差的四倍。由于我们可以进行无数次实验,故坐标值的期望与方差的更新是一个迭代过程。其中迭代公式为:
E(n)=(1-α)E(n)+αn
D(n)=(1-β)D(n)+β(n-E(n))2
ε=4×D(n)
其中n为在同一水平线(或铅垂线)的点的纵坐标(或横坐标)值,E(n)为坐标的期望,D(n)为坐标的方差,α和β为期望和方差的迭代系数,一般情况下预设值为α=0.125和β=0.25。
步骤22、将节点按从上到下从左到右的顺序编号,同时将元件按从上到下从左到右的顺序编号,得到电路拓扑关系;
步骤23、按节点编号进行遍历,将每四个构成顶角的节点聚簇标记为网孔;将网孔按从上到下从左到右的顺序进行编号,得到节点-网孔关系;
具体实施时,由于构成一个网孔需要四个不同朝向的90°顶角,本发明预先给每个节点设置一个用于标注该节点四个直角顶角朝向的长度为4的数组,数组位按顺序表示为左上、右上、左下、右下;根据每个节点的四个直角顶角朝向对4个数组位进行置位,如果存在相应的直角顶角朝向则置位为1,如果不存在则置0。如“L”型节点根据自己的形态在这一属性中的一位中标注为1,其余三位标注为0;“T”型节点根据自己的形态在这一属性中的两位中标注为1,其余两位标注为0;“+”型节点将四位全部标注为1。
按编号从小到大遍历节点,按照左上、右上、左下、右下顺序依次查找具有顶角朝向数组位置1的编号最小的4个节点,构成一个网孔并进行网孔编号,每构成一个网孔,则将使用过的顶角朝向数组位由1置0。
对于每一个网孔,建立网孔编号与构成该网孔的4个节点编号之间关联的数据表。
步骤24、按节点编号进行遍历,将每两个构成支路的节点标记为支路;将支路按从上到下从左到右的顺序进行编号,得到节点-支路关系;
具体实施时,与网孔相似,由于构成一条支路需要两个节点,本发明预先给每个节点设置一个用于标注该节点四个支路朝向的长度为4的数组,数组位按顺序表示为上下左右;根据每个节点的四个支路朝向对4个数组位进行置位,如果存在相应的支路朝向则置位为1,如果不存在则置0。如“L”型节点根据自己的形态在这一属性中的两位中标注为1,其余两位标注为0;“T”型节点根据自己的形态在这一属性中的三位中标注为1,其余一位标注为0;“+”型节点将四位全部标注为1。
按编号从小到大遍历节点,依次查找每个节点向右向下的可用支路,并进行支路编号,每构成一个支路,则将使用过的支路朝向数组位由1置0。
对于每一个支路,建立支路编号与构成该支路的2个节点编号之间关联的数据表。
步骤25、按元件编号进行遍历,由元件坐标与支路上两节点坐标进行对比判断元件所在支路,得到支路-元件关系;
具体实施时,将每一个元件匹配到对应的支路上,具体匹配方法是:
按顺序遍历每条支路,确定每条支路两端的节点坐标;
对于向右的支路,按元件编号进行遍历,如果元件的纵坐标与该支路两端节点的纵坐标相同,且该元件的横坐标位于该支路两端节点横坐标之间,则确定该元件位于该支路上;
对于向下的支路,按元件编号进行遍历,如果元件的横坐标与该支路两端节点的横坐标相同,且该元件的纵坐标位于该支路两端节点纵坐标之间,则确定该元件位于该支路上;
对于每一个支路,建立支路编号与该支路上元件编号之间关联的数据表。
步骤26、利用数据库第三范式(3NF)算法,由节点-网孔关系、节点-支路关系和支路-元件关系得到支路-节点-网孔-元件关系作为输出结果;
步骤27、加入判断条件,逐条通过设置的判断条件对所述输出结果进行判断,如果满足所有判断条件则确定完成电路图识别。
其中,所述判断条件包括:
第一判断条件:由两条、三条、四条支路构成的节点有且仅有两条、三条、四条支路与其相关;
第二判断条件:一条支路有且仅有两个端点;
第三判断条件:一个网孔有且仅有四个顶角;
第四判断条件:一条支路最多与两个网孔相关;
第五判断条件:一个元件有且仅有与一条支路有关。
如果不满足其中任一判断条件,则调整最大坐标误差参数ε的值,对每个节点和元件的坐标进行再次修正,如此,就需要重复执行步骤22至步骤27,得到新的支路-节点-网孔-元件关系作为输出结果,直至输出结果满足所有判断条件。参数ε的调整原则为:当不能满足的判断条件中相关数量大于相关数量限制范围时线性减小ε的值,当不能满足的判断条件中相关数量小于相关数量限制范围时线性增大ε的值。其中,相关数量指的是一个判断条件中对元件、网孔、或者支路进行判定时所涉及的相关数量。例如,如果不满足第三判断条件:一个网孔有且仅有四个顶角,识别出一个网孔有五个顶角,则说明相关数量大于相关数量限制范围,就需要线性减小ε的值;同样,如果不满足第三判断条件:一个网孔有且仅有四个顶角,识别出一个网孔有三个顶角,则说明相关数量小于相关数量限制范围,就需要线性增大ε的值。
具体实施时,在步骤26、27中,我们已得到的了节点-网孔矩阵、节点-支路矩阵、支路元件矩阵,其都满足3NF的要求,每一列都是不可再分的最小数据单元,任何非主属性不依赖于其它非主属性。故由节点和支路作为传递可得,支路-节点-网孔-元件数据表。若满足限制条件,即可作为输出。
至此,完成了本发明的电路图识别方法。
为清楚说明本发明,下面列举具体场景进行说明。
一、图5为本发明实施例节点和元件编号后最初的电路拓扑关系示意图。为简单清楚起见,图5只示意出节点的编号,并没有示意出元件编号。节点按从上到下从左到右的顺序编号,包括节点1-10。
二、对于图5的每个节点,给每个节点设置一个用于标注该节点四个直角顶角朝向的长度为4的数组,数组位按顺序表示为左上、右上、左下、右下;根据每个节点的四个直角顶角朝向对4个数组位进行置位。例如,编号为1的节点,为朝向左上的“L”型节点,标注情况如表1所示。
节点编号 | 节点类型 | 左上顶角 | 右上顶角 | 左下顶角 | 右下顶角 |
1 | L1 | 1 | 0 | 0 | 0 |
表1
按编号从小到大遍历节点1-10,按照左上、右上、左下、右下顺序依次查找具有顶角朝向数组位置1的编号最小的4个节点,构成一个网孔并进行网孔编号,如图6所示。图6为本发明识别网孔后的电路拓扑关系示意图。图6中,网孔按从上到下从左到右的顺序进行编号,包括网孔1-4。
每个网孔在编号后,就表示该网孔被使用过,然后将该网孔使用过的顶角朝向数组位由1置0。表1中的节点1位于网孔1的左上,在对网孔1进行编号之后,节点1的左上顶角数组位由1置0。表1变为表2:
节点编号 | 节点类型 | 左上顶角 | 右上顶角 | 左下顶角 | 右下顶角 |
1 | L1 | 0 | 0 | 0 | 0 |
表2
将上一步骤生成的全部网孔按顺序储存成表格形如表3,建立节点与网孔之间的关系。
网孔编号 | 左上节点编号 | 右上节点编号 | 左下节点编号 | 右下节点编号 |
1 | 1 | 2 | 3 | 4 |
2 | 3 | 4 | 7 | 8 |
3 | 4 | 5 | 8 | 9 |
4 | 5 | 6 | 9 | 10 |
表3
这一步完成了电路拓扑关系的完善,在逻辑上得到如图6的电路拓扑关系。
三、对于图5的每个节点,给每个节点设置一个用于标注该节点四个支路朝向的长度为4的数组,数组位按顺序表示为上下左右;根据每个节点的四个支路朝向对4个数组位进行置位。例如,编号为4的节点,为“+”型节点,标注情况如表4所示。
节点编号 | 节点类型 | 向上支路 | 向下支路 | 向左支路 | 向右支路 |
4 | + | 1 | 1 | 1 | 1 |
表4
按编号从小到大遍历节点1-10,依次查找每个节点向右向下的可用支路,并进行支路编号,如图7所示。图7为本发明识别支路后的电路拓扑关系示意图。图7中,支路按从上到下从左到右的顺序进行编号,包括支路1-13。
每个支路在编号后,就表示该支路被使用过,则将使用过的支路朝向数组位由1置0。表4中的节点4,位于第3条支路上,在对支路3进行编号之后,节点4的向上支路数组位由1置0。表4变为表5:
节点编号 | 节点类型 | 向上支路 | 向下支路 | 向左支路 | 向右支路 |
4 | + | 0 | 1 | 1 | 1 |
表5
将上一步骤生成的全部支路按顺序储存成表格形如表6,建立节点与支路之间的关系。
支路编号 | 支路的第一个节点 | 支路的第二个节点 |
1 | 1 | 2 |
2 | 1 | 3 |
…… | …… | …… |
13 | 9 | 10 |
表6
这一步又完成了电路拓扑关系的完善,在逻辑上得到如图7的电路拓扑关系。
四、对于图7的每个支路,按顺序遍历每条支路,确定每条支路两端的节点坐标。例如,编号为1的支路,支路节点坐标如表7所示。
表7
在确立每条支路的节点坐标后,寻找与支路两端点共线的元件,且元件位于支路两端点之间,则确定该元件位于该支路上。具体地,对于向右的支路,按元件编号进行遍历,如果元件的纵坐标与该支路两端节点的纵坐标相同,且该元件的横坐标位于该支路两端节点横坐标之间,则确定该元件位于该支路上;对于向下的支路,按元件编号进行遍历,如果元件的横坐标与该支路两端节点的横坐标相同,且该元件的纵坐标位于该支路两端节点纵坐标之间,则确定该元件位于该支路上。
将上一步得到的支路元件信息储存成表,若支路上没有元件则标记为0。如表8:
支路编号 | 元件1 | 元件2 | 元件3 |
1 | R | 0 | 0 |
2 | 0 | 0 | 0 |
…… | …… | …… | …… |
13 | 0 | 0 | 0 |
表8
这一步再一次完善的电路拓扑关系,在逻辑上基本已经完成了拓扑关系的确立,形如图8。图8为本发明识别元件后的电路拓扑关系示意图。图8中支路1、4、6上分别具有1个电阻,支路10上具有1个电容。
五、由上述三个部分完成了本发明的电路的拓扑关系识别,得到了节点-网孔关系(表3)、节点-支路关系(表6)、支路-元件关系(表8),为了完整的输出我们以支路编号为主属性,以节点和支路作为表间的关系,通过数据库第三范式(3NF)算法得到总体数据输出,如表9:
支路编号 | 节点1 | 节点2 | 网孔1 | 网孔2 | 元件1 | 元件2 | 元件3 |
1 | 1 | 2 | 1 | 0 | R | 0 | 0 |
2 | 1 | 3 | 1 | 0 | 0 | 0 | 0 |
…… | …… | …… | …… | …… | …… | …… | …… |
13 | 9 | 10 | 4 | 0 | 0 | 0 | 0 |
表9
六、加入判断条件将输出结果与判断条件进行匹配,观察是否出现识别错误即在步骤27中提到的5个判断条件,当不违背上述判断条件时即可完成电路识别,将上一步骤中得到的表(表9)进行输出。当出现违背情况则更改参数ε,重新进行上述步骤22至步骤27,将电路图重新识别。
本发明的有益效果在于:
一、本发明在分析电路拓扑关系时,按顺序联合考虑了节点、网孔、电流、元件。通过其内在关系在分析过程中相互印证,降低了分析过程中出现错误的可能。
二、对广义节点的定义,使得整个电路图可以被定位,从根本上改变了识别方法。从而降低了对图像完整度的要求,也减少了对元件错误识别的发生。相较于传统方法有更好的“鲁棒”性。
三、创建了一个丰富的节点图像识别训练集,可以保证我们在各种情况下(如漏印,连接处不完整等,如图4)稳定的识别节点及元件。
四、本发明以逐步丰富电路拓扑关系的思路来完善电路分析,在每一步丰富电路拓扑关系时都会有一个结果输出,可以对每一步进行纠错,使得结果更正更加具有针对性。
综上,与传统方法相比,本发明的方案放弃了对导线的识别。这一做法不但提高了元件识别准确率,防止将元件识别成导线,而且降低了对电路图完整性的要求,在导线出现漏印和电路图小部分缺失时仍可通过本发明的分析算法完成正确的电路分析。本发明同时采用反馈纠错的分析方法,进一步完善了识别算法。满足了各种现实环境的需求,提升了用户体验。所以,本发明具有很好的推广应用前景。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种电路图识别方法,其特征在于,该方法预先定义两条或两条以上直支路的连接点为节点,该方法还包括:
A、将电路图照片进行灰度化、以及归一化处理之后,识别电路图照片中的节点和元件,确定每个节点和元件的所属种类和坐标;
B、将节点与元件分别按从上到下从左到右的顺序编号,得到电路拓扑关系;
C、按节点编号进行遍历,将每四个构成顶角的节点聚簇标记为网孔;将网孔按从上到下从左到右的顺序进行编号,得到节点-网孔关系;
D、按节点编号进行遍历,将每两个构成支路的节点标记为支路;将支路按从上到下从左到右的顺序进行编号,得到节点-支路关系;
E、按元件编号进行遍历,由元件坐标与支路上两节点坐标进行对比判断元件所在支路,得到支路-元件关系;
F、由节点-网孔关系、节点-支路关系和支路-元件关系得到支路-节点-网孔-元件关系作为输出结果;
G、通过设置的判断条件对所述输出结果进行判断,如果满足所有判断条件则确定完成电路图识别。
2.如权利要求1所述的方法,其特征在于,所述节点根据交汇支路数以及相交方式分为九类节点,包括由两条支路构成的4类“L”型节点,由三条支路构成的4类“T”型节点,以及由四条支路构成的1类“+”型节点。
3.如权利要求2所述的方法,其特征在于,该方法进一步包括:设置用于识别节点种类的训练集,通过所述训练集识别各节点所属种类;所述训练集中包括打印版本、手画版本以及存在误差的各节点图像。
4.如权利要求1所述的方法,其特征在于,在确定每个节点和元件的所属种类和坐标之后,该方法进一步包括:通过设置最大坐标误差参数ε=4×D(n),对每个节点和元件的坐标进行修正;其中坐标方差D(n)通过采样并迭代得到,n为在同一水平线或铅垂线的点的纵坐标或横坐标的值。
5.如权利要求4所述的方法,其特征在于,所述对每个节点和元件的坐标进行修正的方法包括:
将每个节点和元件作为一个目标,遍历每个目标的纵坐标,通过ε的判断将在同一水平线上的目标进行聚簇,将每个簇中的纵坐标求平均值,再将求得的平均值赋给同一簇中的每个目标,使得簇中的每个目标具有相同的纵坐标;遍历每个目标的横坐标,通过ε将在同一铅垂线上的目标进行聚簇,将每个簇中的横坐标求平均值,再将求得的平均值赋给同一簇中的每个目标,使得簇中的每个目标具有相同的横坐标。
6.如权利要求2所述的方法,其特征在于,所述按节点编号进行遍历,将每四个构成顶角的节点聚簇标记为网孔;将网孔按从上到下从左到右的顺序进行编号,得到节点-网孔关系的方法包括:
预先给每个节点设置一个用于标注该节点四个直角顶角朝向的长度为4的数组,数组位按顺序表示为左上、右上、左下、右下;根据每个节点的四个直角顶角朝向对4个数组位进行置位,如果存在相应的直角顶角朝向则置位为1,如果不存在则置0;
按节点编号进行遍历,按照左上、右上、左下、右下顺序依次查找具有顶角朝向数组位置1的编号最小的4个节点,构成一个网孔并进行网孔编号,每构成一个网孔,则将使用过的顶角朝向数组位由1置0;
对于每一个网孔,建立网孔编号与构成该网孔的4个节点编号之间关联的数据表。
7.如权利要求6所述的方法,其特征在于,所述按节点编号进行遍历,将每两个构成支路的节点标记为支路;将支路按从上到下从左到右的顺序进行编号,得到节点-支路关系的方法包括:
预先给每个节点设置一个用于标注该节点四个支路朝向的长度为4的数组,数组位按顺序表示为上下左右;根据每个节点的四个支路朝向对4个数组位进行置位,如果存在相应的支路朝向则置位为1,如果不存在则置0;
按节点编号进行遍历,依次查找每个节点向右向下的可用支路,并进行支路编号,每构成一个支路,则将使用过的支路朝向数组位由1置0;
对于每一个支路,建立支路编号与构成该支路的2个节点编号之间关联的数据表。
8.如权利要求7所述的方法,其特征在于,所述按元件编号进行遍历,由元件坐标与支路上两节点坐标进行对比判断元件所在支路,得到支路-元件关系的方法包括:
按顺序遍历每条支路,确定每条支路两端的节点坐标;
对于向右的支路,按元件编号进行遍历,如果元件的纵坐标与该支路两端节点的纵坐标相同,且该元件的横坐标位于该支路两端节点横坐标之间,则确定该元件位于该支路上;
对于向下的支路,按元件编号进行遍历,如果元件的横坐标与该支路两端节点的横坐标相同,且该元件的纵坐标位于该支路两端节点纵坐标之间,则确定该元件位于该支路上;
对于每一个支路,建立支路编号与该支路上元件编号之间关联的数据表。
9.如权利要求8所述的方法,其特征在于,所述判断条件包括:
第一判断条件:由两条、三条、四条支路构成的节点有且仅有两条、三条、四条支路与其相关;
第二判断条件:一条支路有且仅有两个端点;
第三判断条件:一个网孔有且仅有四个顶角;
第四判断条件:一条支路最多与两个网孔相关;
第五判断条件:一个元件有且仅有与一条支路有关。
10.如权利要求9所述的方法,其特征在于,如果不满足其中任一判断条件,则调整最大坐标误差参数ε的值,对每个节点和元件的坐标进行再次修正,重复执行步骤B至G,得到新的支路-节点-网孔-元件关系作为输出结果,直至输出结果满足所有判断条件;当不能满足的判断条件中相关数量大于相关数量限制范围时线性减小ε的值,当不能满足的判断条件中相关数量小于相关数量限制范围时线性增大ε的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608328.6A CN109829474B (zh) | 2018-12-27 | 2018-12-27 | 一种电路图识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608328.6A CN109829474B (zh) | 2018-12-27 | 2018-12-27 | 一种电路图识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109829474A true CN109829474A (zh) | 2019-05-31 |
CN109829474B CN109829474B (zh) | 2020-12-22 |
Family
ID=66861360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811608328.6A Active CN109829474B (zh) | 2018-12-27 | 2018-12-27 | 一种电路图识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829474B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111383505A (zh) * | 2020-03-04 | 2020-07-07 | 南京大学 | 一种基于笔交互的电路教学系统及方法 |
CN111695320A (zh) * | 2020-06-15 | 2020-09-22 | 汪子岩 | 一种基于遍历导线的获取电路有向图的方法 |
CN112906132A (zh) * | 2021-02-09 | 2021-06-04 | 中国商用飞机有限责任公司 | 一种用于生成飞机线束组件数据的方法和装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4821336A (en) * | 1987-02-19 | 1989-04-11 | Gtx Corporation | Method and apparatus for simplifying runlength data from scanning of images |
CN1521622A (zh) * | 2003-01-29 | 2004-08-18 | 上海芯华微电子有限公司 | 集成电路的版图识别方法 |
CN1885293A (zh) * | 2005-06-22 | 2006-12-27 | 鸿富锦精密工业(深圳)有限公司 | 电路设计图元件关系对比系统及方法 |
CN1979501A (zh) * | 2005-11-30 | 2007-06-13 | 英业达股份有限公司 | 元件编号调整系统及方法 |
CN102750328A (zh) * | 2012-05-29 | 2012-10-24 | 北京城市网邻信息技术有限公司 | 一种数据结构的构造和存储方法 |
CN103196989A (zh) * | 2013-02-25 | 2013-07-10 | 中国石油大学(华东) | 一种基于旋转磁场的acfm不同角度裂纹检测系统 |
CN103207941A (zh) * | 2013-04-27 | 2013-07-17 | 清华大学 | 集成电路供电网络全参数模型下瞬态分析方法及系统 |
CN203090420U (zh) * | 2012-11-26 | 2013-07-31 | 艾晓辉 | 利用感应电容识别棋子的电子棋盘 |
CN104484499A (zh) * | 2014-11-18 | 2015-04-01 | 中国南方电网有限责任公司超高压输电公司南宁局 | 一种用于变电站二次回路的动态仿真图纸快速生成方法 |
CN104881507A (zh) * | 2014-02-28 | 2015-09-02 | 国际商业机器公司 | 修复电路中的保持时间违例的方法和装置 |
CN105302956A (zh) * | 2015-10-23 | 2016-02-03 | 上海科梁信息工程有限公司 | 基于fpga的仿真系统及方法 |
CN105575234A (zh) * | 2016-01-19 | 2016-05-11 | 广西职业技术学院 | 一种电路图特征字符串的编码方法 |
CN107132772A (zh) * | 2017-04-21 | 2017-09-05 | 南方电网科学研究院有限责任公司 | 交直流电网的实时仿真系统及方法 |
CN107305537A (zh) * | 2016-04-19 | 2017-10-31 | 全球能源互联网研究院 | 一种根据开关状态修改电路网络状态方程的方法 |
CN107368451A (zh) * | 2017-06-14 | 2017-11-21 | 清华大学 | 电路状态空间方程计算方法、装置和系统 |
CN107688682A (zh) * | 2016-12-23 | 2018-02-13 | 北京国睿中数科技股份有限公司 | 一种使用时序路径提取电路拓扑的方法 |
CN108549762A (zh) * | 2018-04-08 | 2018-09-18 | 广西职业技术学院 | 一种结合数字水印技术的电路图绘制还原系统及方法 |
CN109033603A (zh) * | 2018-07-18 | 2018-12-18 | 电子科技大学 | 基于源流路径链的智能变电站二次系统仿真方法 |
-
2018
- 2018-12-27 CN CN201811608328.6A patent/CN109829474B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4821336A (en) * | 1987-02-19 | 1989-04-11 | Gtx Corporation | Method and apparatus for simplifying runlength data from scanning of images |
CN1521622A (zh) * | 2003-01-29 | 2004-08-18 | 上海芯华微电子有限公司 | 集成电路的版图识别方法 |
CN1885293A (zh) * | 2005-06-22 | 2006-12-27 | 鸿富锦精密工业(深圳)有限公司 | 电路设计图元件关系对比系统及方法 |
CN1979501A (zh) * | 2005-11-30 | 2007-06-13 | 英业达股份有限公司 | 元件编号调整系统及方法 |
CN102750328A (zh) * | 2012-05-29 | 2012-10-24 | 北京城市网邻信息技术有限公司 | 一种数据结构的构造和存储方法 |
CN203090420U (zh) * | 2012-11-26 | 2013-07-31 | 艾晓辉 | 利用感应电容识别棋子的电子棋盘 |
CN103196989A (zh) * | 2013-02-25 | 2013-07-10 | 中国石油大学(华东) | 一种基于旋转磁场的acfm不同角度裂纹检测系统 |
CN103207941A (zh) * | 2013-04-27 | 2013-07-17 | 清华大学 | 集成电路供电网络全参数模型下瞬态分析方法及系统 |
CN104881507A (zh) * | 2014-02-28 | 2015-09-02 | 国际商业机器公司 | 修复电路中的保持时间违例的方法和装置 |
CN104484499A (zh) * | 2014-11-18 | 2015-04-01 | 中国南方电网有限责任公司超高压输电公司南宁局 | 一种用于变电站二次回路的动态仿真图纸快速生成方法 |
CN105302956A (zh) * | 2015-10-23 | 2016-02-03 | 上海科梁信息工程有限公司 | 基于fpga的仿真系统及方法 |
CN105575234A (zh) * | 2016-01-19 | 2016-05-11 | 广西职业技术学院 | 一种电路图特征字符串的编码方法 |
CN107305537A (zh) * | 2016-04-19 | 2017-10-31 | 全球能源互联网研究院 | 一种根据开关状态修改电路网络状态方程的方法 |
CN107688682A (zh) * | 2016-12-23 | 2018-02-13 | 北京国睿中数科技股份有限公司 | 一种使用时序路径提取电路拓扑的方法 |
CN107132772A (zh) * | 2017-04-21 | 2017-09-05 | 南方电网科学研究院有限责任公司 | 交直流电网的实时仿真系统及方法 |
CN107368451A (zh) * | 2017-06-14 | 2017-11-21 | 清华大学 | 电路状态空间方程计算方法、装置和系统 |
CN108549762A (zh) * | 2018-04-08 | 2018-09-18 | 广西职业技术学院 | 一种结合数字水印技术的电路图绘制还原系统及方法 |
CN109033603A (zh) * | 2018-07-18 | 2018-12-18 | 电子科技大学 | 基于源流路径链的智能变电站二次系统仿真方法 |
Non-Patent Citations (2)
Title |
---|
王林: "电路图的自动识别和分析处理系统", 《道客巴巴》 * |
陈平: "PDM系统安全及图档管理的关键技术", 《万方数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111383505A (zh) * | 2020-03-04 | 2020-07-07 | 南京大学 | 一种基于笔交互的电路教学系统及方法 |
CN111383505B (zh) * | 2020-03-04 | 2021-11-09 | 南京大学 | 一种基于笔交互的电路教学系统及方法 |
CN111695320A (zh) * | 2020-06-15 | 2020-09-22 | 汪子岩 | 一种基于遍历导线的获取电路有向图的方法 |
CN111695320B (zh) * | 2020-06-15 | 2023-10-03 | 汪子岩 | 一种基于遍历导线的获取电路有向图的方法 |
CN112906132A (zh) * | 2021-02-09 | 2021-06-04 | 中国商用飞机有限责任公司 | 一种用于生成飞机线束组件数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109829474B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829474A (zh) | 一种电路图识别方法 | |
CN101673410B (zh) | 一种基于矢量建筑图纸重建三维模型的方法 | |
Zhang et al. | A generic matching algorithm for line networks of different resolutions | |
CN109101981B (zh) | 一种街景场景下基于全局图像条纹码的回环检测方法 | |
CN109063742A (zh) | 蝴蝶识别网络构建方法、装置、计算机设备及存储介质 | |
CN109903331A (zh) | 一种基于rgb-d相机的卷积神经网络目标检测方法 | |
AU2018253470B2 (en) | Device and method for extracting terrain boundary | |
CN112990183B (zh) | 离线手写汉字同名笔画提取方法、系统、装置 | |
CN110738647A (zh) | 融合多感受野特征映射与高斯概率模型的老鼠检测方法 | |
CN109493400A (zh) | 手写样本生成方法、装置、计算机设备及存储介质 | |
CN110598634B (zh) | 一种基于图例库的机房草图识别方法及其装置 | |
CN111858810B (zh) | 一种面向道路dem构建的建模高程点筛选方法 | |
CN112287977B (zh) | 一种基于边界框关键点距离的目标检测方法 | |
CN112784717A (zh) | 一种基于深度学习的管件自动分拣方法 | |
CN109741325B (zh) | 一种布线垂直度智能检测方法 | |
CN103888541A (zh) | 一种融合拓扑势和谱聚类的社区发现方法及系统 | |
CN113239818B (zh) | 基于分割和图卷积神经网络的表格跨模态信息提取方法 | |
CN100407231C (zh) | 用于图像转图形中边界线追踪的优化方法 | |
CN111477006A (zh) | 基于高德路径规划接口的交通路网模型构建方法 | |
Li et al. | Improved algorithm for circuit diagram image recognition | |
CN108268533B (zh) | 一种用于图像检索的图像特征匹配方法 | |
CN115690439A (zh) | 基于图像平面的特征点聚集方法、装置及电子设备 | |
CN104504714B (zh) | 图像共显著物体的检测方法 | |
CN113792739A (zh) | 一种通用型车牌文本识别方法 | |
CN111462195B (zh) | 基于主线约束的非规则角度方向代价聚合路径确定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |