KR20230141582A - Method of extracting drawing information from 2-dimensional drawing image in graph structure and method of comparing one drawing image with another drawing image - Google Patents

Method of extracting drawing information from 2-dimensional drawing image in graph structure and method of comparing one drawing image with another drawing image Download PDF

Info

Publication number
KR20230141582A
KR20230141582A KR1020230040588A KR20230040588A KR20230141582A KR 20230141582 A KR20230141582 A KR 20230141582A KR 1020230040588 A KR1020230040588 A KR 1020230040588A KR 20230040588 A KR20230040588 A KR 20230040588A KR 20230141582 A KR20230141582 A KR 20230141582A
Authority
KR
South Korea
Prior art keywords
node
information
drawing image
nodes
graph structure
Prior art date
Application number
KR1020230040588A
Other languages
Korean (ko)
Inventor
김정연
김미진
유한준
이현승
Original Assignee
에이치디한국조선해양 주식회사
에이치디현대중공업 주식회사
현대삼호중공업 주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 에이치디한국조선해양 주식회사, 에이치디현대중공업 주식회사, 현대삼호중공업 주식회사 filed Critical 에이치디한국조선해양 주식회사
Publication of KR20230141582A publication Critical patent/KR20230141582A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/42Document-oriented image-based pattern recognition based on the type of document
    • G06V30/422Technical drawings; Geographical maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법이 개시된다. 상기 방법은 제어기에 의하여 수행되며, 2차원 도면 이미지로부터 심볼 요소를 인식하는 단계; 2차원 도면 이미지로부터 라인 요소를 인식하는 단계; 2차원 도면 이미지로부터 텍스트 요소를 인식하는 단계; 상기 심볼 요소, 라인 요소 및 텍스트 요소를 비교하여 노드 및 엣지로 설정하는 단계; 그리고 상기 노드 및 엣지를 그래프 구조로 추출하는 단계를 포함할 수 있다.
상기 방법으로 추출된 도면 이미지를 다른 도면 이미지와 비교하는 방법이 더 개시된다.
A method for extracting drawing information in a graph structure from a two-dimensional drawing image is disclosed. The method is performed by a controller and includes recognizing symbol elements from a two-dimensional drawing image; Recognizing line elements from a two-dimensional drawing image; Recognizing text elements from a two-dimensional drawing image; Comparing the symbol element, line element, and text element and setting them as nodes and edges; And it may include extracting the nodes and edges into a graph structure.
A method of comparing a drawing image extracted by the above method with another drawing image is further disclosed.

Description

2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법 및 하나의 도면 이미지와 다른 하나의 도면 이미지를 비교하는 방법{METHOD OF EXTRACTING DRAWING INFORMATION FROM 2-DIMENSIONAL DRAWING IMAGE IN GRAPH STRUCTURE AND METHOD OF COMPARING ONE DRAWING IMAGE WITH ANOTHER DRAWING IMAGE}A method of extracting drawing information from a two-dimensional drawing image in a graph structure and a method of comparing one drawing image with another drawing image {METHOD OF EXTRACTING DRAWING INFORMATION FROM 2-DIMENSIONAL DRAWING IMAGE IN GRAPH STRUCTURE AND METHOD OF COMPARING ONE DRAWING IMAGE WITH ANOTHER DRAWING IMAGE}

본 발명은 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법 및 2차원 도면 이미지와 3차원 도면 이미지를 비교하는 방법에 관한 것으로, 보다 상세하게는 2차원 도면 이미지로부터 도면 정보를 형태와 무관한 그래프 구조로 추출하는 방법 및 도면 정보를 형태와 무관한 그래프 구조로 추출함으로써 하나의 도면 이미지와 다른 하나의 도면 이미지를 서로 비교하는 방법에 관한 것이다.The present invention relates to a method of extracting drawing information from a two-dimensional drawing image in a graph structure and a method of comparing a two-dimensional drawing image and a three-dimensional drawing image. More specifically, the present invention relates to extracting drawing information from a two-dimensional drawing image regardless of its shape. It relates to a method of extracting drawing information into a graph structure and a method of comparing one drawing image with another drawing image by extracting drawing information into a graph structure unrelated to its shape.

하드카피 도면 이미지(종이 등에 그려진 도면 이미지)를 전자 파일 형태(dwg 파일 등)로 변환하기 위해서는 도면 이미지를 인식하여 도면 이미지로부터 도면 정보를 추출하는 것이 필요하다. 종래에는 도면 이미지를 인식하고 디지털화하기 위해 개별적인 도면 요소의 인식 기술을 고도화하는 데 초점을 맞추었다. 즉, 도면 요소인 심볼, 텍스트, 선 등을 얼마나 잘 인식하는지, 도면 요소를 잘 인식하기 위하여 어떠한 방법을 활용하는지에 초점을 맞추었다. In order to convert a hard copy drawing image (drawing image drawn on paper, etc.) to an electronic file format (dwg file, etc.), it is necessary to recognize the drawing image and extract drawing information from the drawing image. Previously, the focus was on advancing recognition technology for individual drawing elements to recognize and digitize drawing images. In other words, the focus was on how well drawing elements such as symbols, text, and lines are recognized, and what methods are used to recognize drawing elements well.

도면 이미지로부터 도면 정보를 정확히 인식하였는지 확인하고 특정 목적에 맞추어 도면 이미지의 일부를 해당하는 도면 정보와 확인하기 위하여 인식된 도면 정보는 형태에 종속된 상태로 표현된다. In order to confirm whether the drawing information is accurately recognized from the drawing image and to confirm part of the drawing image with the corresponding drawing information for a specific purpose, the recognized drawing information is expressed in a state dependent on the shape.

그러나, 동일한 도면/시스템 정보라도 다양한 형태로 존재할 수 있기 때문에, 형태 종속적인 도면을 분석하고 비교하는 것은 용이하지 않을 수 있다. 예를 들어, 선박을 제작하기 위하여는 2차원의 도면 이미지를 3차원의 도면 이미지로 변환해야 하는데, 도면 이미지의 변환은 자동으로 수행되지 못하고 사람에 의해 수동으로 수행된다. 사람이 수동으로 도면 이미지를 변환하는 과정에서 사람의 실수로 도면 이미지가 잘못 변환될 수 있다. 또한, 도면 이미지의 변환이 자동으로 수행되더라도 변환 과정에서 오류가 있을 수 있다. 따라서, 3차원의 도면 이미지를 대응하는 2차원의 도면 이미지와 비교하여 양 도면 이미지가 동일성이 있는지 확인해야 한다. 양 도면 이미지를 서로 비교하기 위하여 양 도면 이미지로부터 도면 정보를 인식해야 하는데, 3차원의 도면 이미지로부터 인식된 도면 정보는 3차원이고 2차원의 도면 이미지로부터 인식된 도면 정보는 2차원이므로 양 도면 이미지를 서로 비교하는 것은 용이하지 않다. However, because the same drawing/system information may exist in various forms, it may not be easy to analyze and compare form-dependent drawings. For example, in order to manufacture a ship, a two-dimensional drawing image must be converted into a three-dimensional drawing image, but the conversion of the drawing image cannot be performed automatically and is performed manually by people. In the process of manually converting a drawing image, the drawing image may be converted incorrectly due to human error. Additionally, even if the conversion of the drawing image is performed automatically, there may be errors in the conversion process. Therefore, it is necessary to compare the three-dimensional drawing image with the corresponding two-dimensional drawing image to check whether both drawing images are identical. In order to compare both drawing images, drawing information must be recognized from both drawing images. Drawing information recognized from a 3D drawing image is 3D, and drawing information recognized from a 2D drawing image is 2D, so both drawing images It is not easy to compare with each other.

이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로서, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.The matters described in this background art section have been prepared to enhance understanding of the background of the invention, and may include matters that are not prior art already known to those skilled in the art in the field to which this technology belongs.

본 발명의 실시예는 2차원 도면 이미지로부터 도면 정보를 형태와 무관한 그래프 구조로 추출하는 방법을 제공하고자 한다.An embodiment of the present invention seeks to provide a method for extracting drawing information from a two-dimensional drawing image into a graph structure unrelated to shape.

본 발명의 다른 실시예는 하나의 도면 이미지로부터 형태와 무관한 그래프 구조로 추출된 도면 정보를 다른 하나의 도면 이미지로부터 형태와 무관한 그래프 구조로 추출된 도면 정보와 서로 비교하는 방법을 제공하고자 한다.Another embodiment of the present invention seeks to provide a method of comparing drawing information extracted from one drawing image in a shape-independent graph structure with drawing information extracted in a shape-independent graph structure from another drawing image. .

본 발명의 실시예에 따른 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법은 제어기에 의하여 수행되며, 2차원 도면 이미지로부터 심볼 요소를 인식하는 단계; 2차원 도면 이미지로부터 라인 요소를 인식하는 단계; 2차원 도면 이미지로부터 텍스트 요소를 인식하는 단계; 상기 심볼 요소, 라인 요소 및 텍스트 요소를 비교하여 노드 및 엣지로 설정하는 단계; 그리고 상기 노드 및 엣지를 그래프 구조로 추출하는 단계를 포함하며, 심볼 요소의 인식은 심볼 카테고리 정보, 심볼 레이블 정보 및 심볼 좌표 정보를 인식하는 것을 포함하고, 라인 요소의 인식은 라인 좌표 정보, 라인 크기 정보 및 라인 방향 정보를 인식하는 것을 포함하며, 텍스트 요소의 인식은 텍스트 좌표 정보와 텍스트 정보를 인식하는 것을 포함하고, 상기 심볼 요소, 라인 요소 및 텍스트 요소를 비교하여 노드 및 엣지로 설정하는 단계는 심볼 요소의 심볼 카테고리 정보와 심볼 좌표 정보 및 라인 요소의 라인 좌표 정보, 라인 크기 정보 및 라인 방향 정보를 기초로 노드 및 엣지를 설정하는 단계를 포함할 수 있다. A method of extracting drawing information in a graph structure from a two-dimensional drawing image according to an embodiment of the present invention is performed by a controller and includes the steps of recognizing symbol elements from the two-dimensional drawing image; Recognizing line elements from a two-dimensional drawing image; Recognizing text elements from a two-dimensional drawing image; Comparing the symbol element, line element, and text element and setting them as nodes and edges; And a step of extracting the nodes and edges into a graph structure, wherein recognition of symbol elements includes recognizing symbol category information, symbol label information, and symbol coordinate information, and recognition of line elements includes line coordinate information and line size. It includes recognizing information and line direction information, and the recognition of text elements includes recognizing text coordinate information and text information, and the step of comparing the symbol elements, line elements, and text elements to set them as nodes and edges It may include setting nodes and edges based on symbol category information and symbol coordinate information of the symbol element, and line coordinate information, line size information, and line direction information of the line element.

상기 심볼 요소, 라인 요소 및 텍스트 요소를 비교하여 설정되는 노드는 라인 요소의 시작점과 끝점, 라인 요소와 라인 요소가 만나는 점, 라인 요소와 심볼 요소가 만나는 점, 라인 요소에서 크기가 변하는 점, 그리고 심볼 요소의 중심점일 수 있다. Nodes set by comparing the symbol element, line element, and text element include the starting point and end point of the line element, the point where the line element meets the line element, the point where the line element meets the symbol element, the point where the size changes in the line element, and It can be the center point of a symbol element.

심볼 카테고리 정보를 기초로 특정 심볼 요소와 관련된 노드나 표현이 불필요한 노드들은 설정된 노드에서 탈락될 수 있다. Based on symbol category information, nodes related to specific symbol elements or nodes whose expression is unnecessary may be eliminated from the set nodes.

설정된 노드들 사이의 라인 요소들과, 심볼 요소의 중심점인 노드와 해당 심볼 요소와 라인 요소가 만나는 점 사이의 가상의 라인 요소는 엣지로 설정될 수 있다. Line elements between set nodes and virtual line elements between a node that is the center point of a symbol element and a point where the symbol element and the line element meet can be set as edges.

상기 노드 및 엣지를 그래프 구조로 추출하는 단계는 심볼 좌표 정보, 라인 좌표 정보 및 라인 방향 정보를 이용하여 노드와 엣지에 노드 좌표 정보와 엣지 방향 정보를 부여하는 단계; 노드와 관련된 심볼 요소의 심볼 카테고리 정보와 심볼 레이블 정보를 이용하여 해당 노드에 노드 유형 정보를 부여하는 단계; 그리고 엣지와 관련된 심볼 요소의 심볼 카테고리 정보 및 심볼 레이블 정보, 그리고 라인 요소의 라인 크기 정보를 이용하여 해당 엣지에 엣지 유형 정보 및 엣지 피팅 정보를 부여하는 단계를 포함할 수 있다. The step of extracting the nodes and edges into a graph structure includes assigning node coordinate information and edge direction information to the nodes and edges using symbol coordinate information, line coordinate information, and line direction information; assigning node type information to the node using symbol category information and symbol label information of symbol elements related to the node; It may also include the step of assigning edge type information and edge fitting information to the edge using symbol category information and symbol label information of the symbol element related to the edge, and line size information of the line element.

상기 노드 및 엣지를 그래프 구조로 추출하는 단계는 심볼 요소의 심볼 좌표 정보, 라인 요소의 라인 좌표 정보 및 텍스트 요소의 텍스트 좌표 정보를 비교하여 심볼 요소와 대응하는 텍스트 요소를 관련시키고 라인 요소와 대응하는 텍스트 요소를 관련시키는 단계; 상기 심볼 요소와 라인 요소에 관련된 노드와 엣지를 추출하는 단계; 그리고 대응되는 텍스트 요소의 텍스트 정보를 이용하여 추출된 노드에 노드 유형 정보와 노드 레이블 정보를 부여하고 추출된 엣지에 엣지 유형 정보와 엣지 피팅 정보를 부여하는 단계를 더 포함할 수 있다. The step of extracting the nodes and edges into a graph structure compares the symbol coordinate information of the symbol element, the line coordinate information of the line element, and the text coordinate information of the text element, relates the symbol element to the corresponding text element, and compares the symbol coordinate information of the symbol element to the corresponding text element. relating text elements; extracting nodes and edges related to the symbol element and line element; Additionally, the step of assigning node type information and node label information to the extracted node using text information of the corresponding text element and providing edge type information and edge fitting information to the extracted edge may be further included.

상기 노드 및 엣지를 그래프 구조로 추출하는 단계는 추출된 노드들을 노드 정보와 함께 또는 노드 정보 없이 나열하고, 상기 노드들을 연결하는 엣지들을 엣지 정보와 함께 또는 엣지 정보 없이 나열하는 단계를 더 포함할 수 있다. The step of extracting the nodes and edges into a graph structure may further include listing the extracted nodes with or without node information and listing edges connecting the nodes with or without edge information. there is.

상기 방법은 그래프 구조로 추출된 노드 및 엣지를 그래프 형태로 디스플레이하는 단계를 더 포함할 수 있다. The method may further include the step of displaying nodes and edges extracted in a graph structure in a graph form.

본 발명의 다른 실시예에 따른 제1도면 이미지와 제2도면 이미지를 비교하는 방법은 제어기에 의하여 수행되며, 제1도면 이미지로부터 제1도면 정보를 제1그래프 구조로 추출하는 단계; 제2도면 이미지로부터 제2도면 정보를 제2그래프 구조로 추출하는 단계; 제1그래프 구조의 대상 노드들과 제2그래프 구조의 대상 대응 노드들의 노드 레이블 정보들을 비교하거나 동일한 노드 쌍들을 입력받아 제1, 2그래프 구조에서 대응되는 동일한 노드 쌍들을 검출하는 단계; 제1그래프 구조의 대상 노드들에 대하여 대응되는 대상 대응 노드들을 제2그래프 구조에서 검출하는 단계; 이웃하는 임의의 두 개의 대상 노드 사이의 엣지를 제2그래프 구조에서 이웃하는 두 개의 대상 대응 노드 사이의 대응 엣지와 비교하는 단계; 그리고 제1그래프 구조의 모든 대상 노드가 제2그래프 구조의 모든 대상 대응 노드와 동일하고 제1그래프 구조의 모든 엣지가 제2그래프 구조의 모든 대응 엣지와 동일한 것으로 판단되면, 제1도면 이미지와 제2도면 이미지가 동일함을 알리는 단계를 포함하며, 제1, 2도면 이미지 중 적어도 하나는 2차원 도면 이미지일 수 있으며, 2차원 도면 이미지는 본 발명의 실시예에 따른 방법에 따라 그래프 구조로 추출될 수 있다. A method of comparing a first drawing image and a second drawing image according to another embodiment of the present invention is performed by a controller and includes extracting first drawing information from the first drawing image into a first graph structure; extracting second drawing information from the second drawing image into a second graph structure; Comparing node label information of target nodes of the first graph structure and target corresponding nodes of the second graph structure or receiving identical node pairs and detecting corresponding identical node pairs in the first and second graph structures; Detecting target corresponding nodes in a second graph structure that correspond to target nodes in the first graph structure; Comparing an edge between any two neighboring target nodes with a corresponding edge between two neighboring target corresponding nodes in a second graph structure; And if it is determined that all target nodes of the first graph structure are identical to all target corresponding nodes of the second graph structure and all edges of the first graph structure are identical to all corresponding edges of the second graph structure, the first drawing image and the It includes the step of notifying that the two drawing images are the same, and at least one of the first and second drawing images may be a two-dimensional drawing image, and the two-dimensional drawing image is extracted into a graph structure according to the method according to the embodiment of the present invention. It can be.

하나의 예에서, 제1도면 이미지는 2차원 도면 이미지이며, 제2도면 이미지는 3차원 도면 이미지이고, 3차원 도면 이미지는 각각이 블록 정보를 갖는 복수의 블록들을 포함하며, 제2도면 이미지로부터 제2도면 정보를 제2그래프 구조로 추출하는 단계는 제2도면 이미지에 포함된 복수의 블록들의 블록 정보들을 수집하는 단계; 블록 정보들을 서로 비교하여 노드와 엣지를 설정하는 단계; 그리고 블록 정보들을 이용하여 설정된 노드에 노드 정보를 부여하고 설정된 엣지에 엣지 정보를 부여하는 단계를 포함할 수 있다. In one example, the first drawing image is a two-dimensional drawing image, the second drawing image is a three-dimensional drawing image, the three-dimensional drawing image includes a plurality of blocks each having block information, and from the second drawing image Extracting the second drawing information into a second graph structure includes collecting block information of a plurality of blocks included in the second drawing image; Setting nodes and edges by comparing block information; It may also include the steps of giving node information to a set node and giving edge information to a set edge using block information.

제1그래프 구조의 대상 노드들에 대하여 대응되는 대상 대응 노드들을 제2그래프 구조에서 검출하는 단계는 노드 거리에 따른 노드 유형 벡터 사이의 유사도를 기초로 실행될 수 있다. The step of detecting target corresponding nodes corresponding to target nodes of the first graph structure in the second graph structure may be performed based on the similarity between node type vectors according to node distances.

노드 거리에 따른 노드 유형 벡터 사이의 유사도의 계산은 제1도면 정보에서 모든 노드들을 대상 노드와의 노드 거리에 따라 분류하는 단계; 제1도면 정보에서 모든 노드들의 노드 유형 정보를 기초로 노드 거리에 따른 노드 유형 벡터를 생성하는 단계; 제2도면 정보에서 모든 노드들을 임시 대상 대응 노드와의 노드 거리에 따라 분류하는 단계; 제2도면 정보에서 모든 노드들의 노드 유형 정보를 기초로 노드 거리에 따른 대응 노드 유형 벡터를 생성하는 단계; 노드 거리를 증가시키며 동일한 노드 거리에 따른 노드 유형 벡터와 대응 노드 유형 벡터 사이의 벡터 거리를 계산하는 단계; 벡터 거리와 노드 거리에 따른 가중치를 기초로 노드 거리에 따른 유사도를 계산하는 단계; 그리고 모든 임시 대상 대응 노드에 대한 모든 노드 거리에 따른 유사도를 기초로 대상 대응 노드를 검출하는 단계를 포함하며, 임의의 노드와의 노드 거리는 임의의 노드와 해당 노드 사이의 최소 엣지의 개수로 정의되고, 노드 거리에 따른 노드 유형 벡터는 해당 노드 거리에 존재하는 노드 유형의 분포로 정의될 수 있다. Calculation of similarity between node type vectors according to node distance includes classifying all nodes in the first drawing information according to the node distance from the target node; generating a node type vector according to node distance based on node type information of all nodes in the first drawing information; Classifying all nodes in the second drawing information according to the node distance from the temporary target corresponding node; generating a corresponding node type vector according to node distance based on node type information of all nodes in the second drawing information; increasing the node distance and calculating a vector distance between the node type vector and the corresponding node type vector according to the same node distance; Calculating similarity according to node distance based on a weight according to the vector distance and the node distance; And a step of detecting the target corresponding node based on the similarity according to all node distances to all temporary target corresponding nodes, where the node distance to a random node is defined as the minimum number of edges between a random node and the corresponding node. , the node type vector according to the node distance can be defined as the distribution of node types that exist at the corresponding node distance.

상기 노드 거리는 0과 최대 노드 거리 사이의 값이며, 0인 노드 거리에 따른 노드 유형 벡터는 대상 노드의 노드 유형 벡터 또는 임시 대상 노드의 노드 유형 벡터일 수 있다. The node distance is a value between 0 and the maximum node distance, and the node type vector according to the node distance of 0 may be the node type vector of the target node or the node type vector of the temporary target node.

노드 거리에 따른 가중치는 노드 거리가 줄어들수록 커지도록 미리 설정될 수 있다. The weight according to the node distance may be preset to increase as the node distance decreases.

노드 거리에 따른 가중치는 해당 노드 거리에 동일한 노드 쌍으로 검출된 노드가 많을수록 작아지게 미리 설정될 수 있다. The weight according to the node distance may be preset to become smaller as more nodes are detected as the same node pair at the corresponding node distance.

대상 대응 노드를 검출하는 단계는 모든 노드 거리에 따른 유사도를 더하여 임의의 임시 대상 대응 노드에 대한 최종 유사도를 계산하는 단계; 그리고 최종 유사도가 최소인 임시 대상 대응 노드를 최종 대상 대응 노드로 검출하는 단계를 포함할 수 있다. The step of detecting the target corresponding node includes calculating the final similarity for any temporary target corresponding node by adding the similarities according to all node distances; And, it may include detecting the temporary target corresponding node with the minimum final similarity as the final target corresponding node.

제1그래프 구조의 적어도 하나의 대상 노드가 제2그래프 구조의 적어도 하나의 대상 대응 노드와 동일하지 않거나 제1그래프 구조의 적어도 하나의 엣지가 제2그래프 구조의 적어도 하나의 대응 엣지와 동일하지 않은 것으로 판단되면, 상기 방법은 제1도면 이미지와 제2도면 이미지가 동일하지 않음을 알리는 단계를 더 포함할 수 있다. At least one target node of the first graph structure is not identical to at least one target corresponding node of the second graph structure, or at least one edge of the first graph structure is not identical to at least one corresponding edge of the second graph structure. If it is determined that the first drawing image and the second drawing image are not the same, the method may further include notifying that the first drawing image is not the same.

상기 방법은 동일하지 않은 노드 쌍 및/또는 동일하지 않은 엣지 쌍을 나열하는 단계를 더 포함할 수 있다. The method may further include listing non-identical node pairs and/or non-identical edge pairs.

상기 방법은 동일하지 않은 노드 쌍 및/또는 동일하지 않은 엣지 쌍을 제1, 2그래프 구조 중 하나에 표시하는 단계를 더 포함할 수 있다. The method may further include displaying non-identical node pairs and/or non-identical edge pairs in one of the first and second graph structures.

상기 방법은 동일하지 않은 노드 쌍 및/또는 동일하지 않은 엣지 쌍에 대응되는 심볼 요소, 라인 요소 및/또는 텍스트 요소를 제1, 2도면 이미지 중 적어도 하나에 표시하는 단계를 더 포함할 수 있다.The method may further include displaying symbol elements, line elements, and/or text elements corresponding to non-identical node pairs and/or non-identical edge pairs on at least one of the first and second drawing images.

본 발명에 따르면, 2차원의 도면 이미지로부터 도면 정보를 형태와 무관한 그래프 구조로 추출함으로써 추출된 도면 정보를 다양한 목적에 맞게 활용할 수 있다. 예를 들어, 2차원의 도면 이미지 또는 3차원의 도면 이미지를 대응하는 2차원의 도면 이미지 또는 3차원의 도면 이미지와 비교하여 변경사항을 확인하거나 양 도면 이미지의 동일성을 확인할 수 있다. According to the present invention, the extracted drawing information can be utilized for various purposes by extracting drawing information from a two-dimensional drawing image into a graph structure unrelated to its shape. For example, a two-dimensional drawing image or a three-dimensional drawing image can be compared with a corresponding two-dimensional drawing image or a three-dimensional drawing image to check changes or to check the identity of both drawing images.

양 도면 이미지에서 상이한 부분을 양 도면 이미지 중 적어도 하나에 표시함으로써 사용자가 도면 정보가 정확히 추출되었는지 확인할 수 있고, 변경되거나 추가된 부분을 빠르고 쉽게 인식할 수 있다.By displaying different parts in both drawing images on at least one of the two drawing images, the user can check whether the drawing information has been accurately extracted and can quickly and easily recognize changed or added parts.

그 외에 본 발명의 실시 예로 인해 얻을 수 있거나 예측되는 효과에 대해서는 본 발명의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 즉 본 발명의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.In addition, effects that can be obtained or expected due to embodiments of the present invention will be disclosed directly or implicitly in the detailed description of the embodiments of the present invention. That is, various effects expected according to embodiments of the present invention will be disclosed in the detailed description to be described later.

본 명세서의 실시예들은 유사한 참조 부호들이 동일하거나 또는 기능적으로 유사한 요소를 지칭하는 첨부한 도면들과 연계한 이하의 설명을 참조하여 더 잘 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 방법을 실행할 수 있는 시스템의 하나의 예를 도시한다.
도 2는 도 1의 시스템에 사용되는 데이터베이스의 하나의 예를 도시한다.
도 3은 본 발명의 실시예에 따른 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법의 흐름도이다.
도 4는 2차원 도면 이미지의 하나의 예를 도시한다.
도 5는 도 4의 도면 이미지로부터 심볼을 인식한 것을 도시한다.
도 6은 도 5에서 도면 이미지로부터 인식된 심볼의 정보를 나열한 표이다.
도 7은 도 4의 도면 이미지로부터 선을 인식한 것을 도시한다.
도 8은 도 7에서 도면 이미지로부터 인식된 선의 정보를 나열한 표이다.
도 9는 도 4의 도면 이미지로부터 텍스트를 인식한 것을 도시한다.
도 10은 도 9에서 도면 이미지로부터 인식된 텍스트의 정보를 나열한 표이다.
도 11은 도 4의 2차원 도면 이미지로부터 그래프 구조로 추출된 도면 정보를 도시한 하나의 예이다.
도 12는 본 발명의 다른 실시예에 따른 하나의 도면 이미지와 다른 하나의 도면 이미지를 비교하는 방법의 흐름도이다.
도 13은 2차원 도면 이미지의 하나의 예 및 상기 하나의 예로부터 그래프 구조로 추출된 도면 정보를 도시한다.
도 14는 도 13의 2차원 도면 이미지로부터 제작된 3차원 도면 이미지를 도시한다.
도 15는 도 14의 3차원 도면 이미지로부터 그래프 구조로 추출된 도면 정보를 도시한다.
도 16은 도 13의 그래프 구조로 추출된 도면 정보에서 임의의 세 개의 노도(A 노드, B 노드 및 C 노드)를 표시한 도면이다.
도 17은 도 15의 그래프 구조로 추출된 도면 정보에서 도 16에 표시된 세 개의 노드에 대응하는 세 개의 대응 노드(A' 노드, B' 노드 및 C' 노드)를 표시한 도면이다.
위에서 참조된 도면들은 반드시 축척에 맞추어 도시된 것은 아니고, 본 개시의 기본 원리를 예시하는 다양한 선호되는 특징들의 다소 간략한 표현을 제시하는 것으로 이해되어야 한다. 예를 들어, 특정 치수, 방향, 위치, 및 형상을 포함하는 본 개시의 특정 설계 특징들이 특정 의도된 응용과 사용 환경에 의해 일부 결정될 것이다.
Embodiments of the present specification may be better understood by referring to the following description in conjunction with the accompanying drawings, where like reference numerals refer to identical or functionally similar elements.
1 shows one example of a system that can implement a method according to an embodiment of the invention.
Figure 2 shows one example of a database used in the system of Figure 1.
Figure 3 is a flowchart of a method for extracting drawing information in a graph structure from a two-dimensional drawing image according to an embodiment of the present invention.
Figure 4 shows one example of a two-dimensional drawing image.
Figure 5 shows symbol recognition from the drawing image of Figure 4.
Figure 6 is a table listing information on symbols recognized from the drawing image in Figure 5.
Figure 7 shows line recognition from the drawing image of Figure 4.
FIG. 8 is a table listing information on lines recognized from the drawing image in FIG. 7.
FIG. 9 shows text recognition from the drawing image of FIG. 4.
FIG. 10 is a table listing text information recognized from the drawing image in FIG. 9.
FIG. 11 is an example showing drawing information extracted in a graph structure from the two-dimensional drawing image of FIG. 4.
Figure 12 is a flowchart of a method for comparing one drawing image with another drawing image according to another embodiment of the present invention.
Figure 13 shows an example of a two-dimensional drawing image and drawing information extracted from the example in a graph structure.
FIG. 14 shows a 3D drawing image created from the 2D drawing image of FIG. 13.
FIG. 15 shows drawing information extracted in a graph structure from the 3D drawing image of FIG. 14.
FIG. 16 is a diagram showing three arbitrary nodes (A node, B node, and C node) from the drawing information extracted in the graph structure of FIG. 13.
FIG. 17 is a diagram showing three corresponding nodes (A' node, B' node, and C' node) corresponding to the three nodes shown in FIG. 16 in the drawing information extracted with the graph structure of FIG. 15.
The drawings referenced above are not necessarily drawn to scale and should be understood as presenting rather simplified representations of various preferred features illustrating the basic principles of the present disclosure. The specific design features of the present disclosure, including, for example, specific dimensions, orientation, location, and shape, will be determined in part by the particular intended application and usage environment.

여기에서 사용되는 용어는 오직 특정 실시예들을 설명하기 위한 목적이고, 본 개시를 제한하는 것으로 의도되지 않는다. 여기에서 사용되는 바와 같이, 단수 형태들은, 문맥상 명시적으로 달리 표시되지 않는 한, 복수 형태들을 또한 포함하는 것으로 의도된다. "포함하다" 및/또는 "포함하는"이라는 용어는, 본 명세서에서 사용되는 경우, 언급된 특징들, 정수들, 단계들, 작동들, 구성요소들 및/또는 컴포넌트들의 존재를 특정하지만, 다른 특징들, 정수들, 단계들, 작동들, 구성요소들, 컴포넌트들 및/또는 이들의 그룹들 중 하나 이상의 존재 또는 추가를 배제하지는 않음을 또한 이해될 것이다. 여기에서 사용되는 바와 같이, 용어 "및/또는"은, 연관되어 나열된 항목들 중 임의의 하나 또는 모든 조합들을 포함한다.The terminology used herein is for the purpose of describing specific embodiments only and is not intended to limit the disclosure. As used herein, singular forms are intended to also include plural forms, unless the context clearly indicates otherwise. The terms “comprise” and/or “comprising”, when used herein, specify the presence of stated features, integers, steps, operations, elements and/or components, but It will also be understood that this does not exclude the presence or addition of one or more of the features, integers, steps, operations, elements, components and/or groups thereof. As used herein, the term “and/or” includes any one or all combinations of the associated listed items.

추가적으로, 아래의 방법들 또는 이들의 양상들 중 하나 이상은 적어도 하나 이상의 제어기에 의해 실행될 수 있음이 이해된다. "제어기"라는 용어는 메모리 및 프로세서를 포함하는 하드웨어 장치를 지칭할 수 있다. 메모리는 프로그램 명령들을 저장하도록 구성되고, 프로세서는 아래에서 더욱 자세히 설명되는 하나 이상의 프로세스들을 수행하기 위해 프로그램 명령들을 실행하도록 특별히 프로그래밍된다. 제어기는, 여기에서 기재된 바와 같이, 유닛들, 모듈들, 부품들, 장치들, 또는 이와 유사한 것의 작동을 제어할 수 있다. 또한, 아래의 방법들은, 당업자에 의해 인식되는 바와 같이, 하나 이상의 다른 컴포넌트들과 함께 제어기를 포함하는 장치에 의해 실행될 수 있음이 이해된다. Additionally, it is understood that one or more of the methods or aspects thereof below may be implemented by at least one or more controllers. The term “controller” may refer to a hardware device that includes memory and a processor. The memory is configured to store program instructions, and the processor is specifically programmed to execute the program instructions to perform one or more processes described in more detail below. A controller may control the operation of units, modules, components, devices, or the like, as described herein. It is also understood that the methods below can be performed by an apparatus that includes a controller along with one or more other components, as will be appreciated by those skilled in the art.

또한, 본 개시의 제어기는 프로세서에 의해 실행되는 실행 가능한 프로그램 명령들을 포함하는 비일시적인 컴퓨터로 판독 가능한 기록 매체로서 구현될 수 있다. 컴퓨터로 판독 가능한 기록 매체들의 예들은 롬(ROM), 램(RAM), 컴팩트 디스크(CD) 롬, 자기 테이프들, 플로피 디스크들, 플래시 드라이브들, 스마트 카드들 및 광학 데이터 저장 장치들을 포함하지만, 이에 한정되는 것은 아니다. 컴퓨터 판독가능 기록 매체는 또한 컴퓨터 네트워크 전반에 걸쳐 분산되어 프로그램 명령들이, 예를 들어, 텔레매틱스 서버(telematics server) 또는 제어기 영역 네트워크(Controller Area Network; CAN)와 같은 분산 방식으로 저장 및 실행될 수 있다.Additionally, the controller of the present disclosure may be implemented as a non-transitory computer-readable recording medium containing executable program instructions executed by a processor. Examples of computer-readable recording media include ROM, RAM, compact disk (CD) ROM, magnetic tapes, floppy disks, flash drives, smart cards, and optical data storage devices. It is not limited to this. The computer-readable recording medium may also be distributed throughout a computer network so that program instructions can be stored and executed in a distributed manner, for example, on a telematics server or a Controller Area Network (CAN).

본 개시에 따르면, 2차원의 도면 이미지로부터 도면 정보가 형태와 무관한 그래프 구조로 추출된다. 구체적으로, 2차원의 도면 이미지로부터 심볼 요소, 라인 요소, 그리고 텍스트 요소를 인식하고, 인식된 심볼 요소, 라인 요소, 텍스트 요소를 비교하여 노드 및 엣지를 설정하며, 설정된 노드 및 엣지를 그래프 구조로 추출한다. 도면 정보가 형태와 무관한 그래프 구조로 추출되므로, 상기 도면 정보는 다양한 목적에 맞게 활용될 수 있다. 예를 들어, 2차원의 도면 이미지 또는 3차원의 도면 이미지를 대응하는 2차원의 도면 이미지 또는 3차원의 도면 이미지와 비교하여 변경사항을 확인하거나 양 도면 이미지의 동일성을 확인할 수 있다. 또한, 양 도면 이미지에서 상이한 부분을 양 도면 이미지 중 적어도 하나에 표시함으로써 사용자가 도면 정보가 정확히 추출되었는지 확인할 수 있고, 변경되거나 추가된 부분을 빠르고 쉽게 인식할 수 있다.According to the present disclosure, drawing information is extracted from a two-dimensional drawing image in a shape-independent graph structure. Specifically, symbol elements, line elements, and text elements are recognized from two-dimensional drawing images, nodes and edges are set by comparing the recognized symbol elements, line elements, and text elements, and the set nodes and edges are converted into a graph structure. Extract. Since the drawing information is extracted in a graph structure independent of its shape, the drawing information can be utilized for various purposes. For example, a two-dimensional drawing image or a three-dimensional drawing image can be compared with a corresponding two-dimensional drawing image or a three-dimensional drawing image to check changes or to check the identity of both drawing images. Additionally, by displaying different parts in both drawing images on at least one of the drawing images, the user can check whether the drawing information has been accurately extracted and can quickly and easily recognize changed or added parts.

이하, 첨부된 도면을 참고로 본 개시의 실시예를 상세히 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings.

도 1은 본 발명의 실시예에 따른 방법을 실행할 수 있는 시스템의 하나의 예를 도시하고, 도 2는 도 1의 시스템에 사용되는 데이터베이스의 하나의 예를 도시한다.Figure 1 shows one example of a system that can implement a method according to an embodiment of the invention, and Figure 2 shows one example of a database used in the system of Figure 1.

도 1 및 도 2에 도시된 바와 같이, 본 발명의 실시예들에 따른 방법을 실행할 수 있는 시스템은 입력 인터페이스(10), 제어기(20), 그리고 출력 인터페이스(30)를 포함한다. 입력 인테페이스(10), 제어기(20), 그리고 출력 인터페이스(30)는 무선 또는 유선으로 서로 데이터를 주거나 받을 수 있도록 연결되어 있다. 1 and 2, a system capable of executing methods according to embodiments of the present invention includes an input interface 10, a controller 20, and an output interface 30. The input interface 10, the controller 20, and the output interface 30 are connected to each other wirelessly or wired to transmit or receive data.

입력 인터페이스(10)는 사용자로부터 2차원 도면 이미지 또는 3차원 도면 이미지를 입력받도록 구성될 수 있다. 예를 들어, 종이 등에 그려진 2차원 도면 이미지로부터 도면 정보를 추출하고자 할 때에는 사용자는 촬영 장치를 이용하여 2차원 도면 이미지를 촬영할 수 있다. 이 경우, 입력 인터페이스(10)는 촬영 장치일 수 있다. 또한, 디지털화된 도면 이미지로부터 도면 정보를 추출하고자 할 때에는 디지털화된 도면 이미지를 제어기(20)에 연결된 디스플레이에 표시 또는 로드할 수 있다. 이 경우, 입력 인터페이스(10)는 디스플레이일 수 있다. 입력 인터페이스(10)는 촬영 장치, 디스플레이, 키보드, 마우스, 터치 스크린, 마이크로폰, 조이스틱, 조그 셔틀, 스타일러스 등을 포함할 수 있으나, 이에 한정되지 아니한다.The input interface 10 may be configured to receive a two-dimensional drawing image or a three-dimensional drawing image from the user. For example, when trying to extract drawing information from a two-dimensional drawing image drawn on paper, etc., a user can capture the two-dimensional drawing image using a photographing device. In this case, the input interface 10 may be a photographing device. Additionally, when drawing information is to be extracted from a digitized drawing image, the digitized drawing image can be displayed or loaded on a display connected to the controller 20. In this case, the input interface 10 may be a display. The input interface 10 may include, but is not limited to, an imaging device, display, keyboard, mouse, touch screen, microphone, joystick, jog shuttle, stylus, etc.

제어기(20)는 입력 인터페이스(10)를 통하여 입력된 도면 이미지를 전달받고, 상기 도면 이미지로부터 적어도 하나의 도면 요소를 인식하도록 구성된다. 도면 이미지가 2차원 도면 이미지이면, 도면 요소는 심볼 요소, 라인 요소 및 텍스트 요소를 포함하며, 도면 이미지로부터 도면 요소를 인식한다는 것은 도면 이미지로부터 심볼 요소를 인식하고 라인 요소를 인식하고 텍스트 요소를 인식하는 것을 의미한다. 또한, 심볼 요소를 인식하는 것은 심볼 카테고리 정보, 심볼 레이블 정보 및 심볼 좌표 정보를 인식하는 것을 포함하고, 라인 요소를 인식하는 것은 라인 좌표 정보, 라인 크기 정보(라인 요소의 직경에 관한 정보), 및 라인 방향 정보를 인식하는 것을 포함하며, 텍스트 요소를 인식하는 것은 텍스트 좌표 정보와 텍스트 정보를 인식하는 것을 포함한다. 이를 위하여, 제어기(20)는 이미지 내의 도면 요소를 인식할 수 있는 이미지 인식 알고리즘과, 도면 요소 중 텍스트를 인식할 수 있는 텍스트 인식 알고리즘을 포함할 수 있다. 이미지 인식 알고리즘은 이미지 내의 도면 요소의 형상, 좌표, 및/또는 크기를 인식할 수 있고, 텍스트 인식 알고리즘은 도면 요소 중 텍스트를 구성하는 문자를 인식할 수 있다. The controller 20 is configured to receive a drawing image input through the input interface 10 and recognize at least one drawing element from the drawing image. If the drawing image is a two-dimensional drawing image, the drawing elements include symbol elements, line elements, and text elements. Recognizing drawing elements from the drawing image means recognizing symbol elements, recognizing line elements, and recognizing text elements from the drawing image. It means to do. Additionally, recognizing a symbol element includes recognizing symbol category information, symbol label information, and symbol coordinate information, and recognizing a line element includes line coordinate information, line size information (information about the diameter of the line element), and It includes recognizing line direction information, and recognizing text elements includes recognizing text coordinate information and text information. To this end, the controller 20 may include an image recognition algorithm capable of recognizing drawing elements within an image and a text recognition algorithm capable of recognizing text among drawing elements. An image recognition algorithm may recognize the shape, coordinates, and/or size of drawing elements in an image, and a text recognition algorithm may recognize characters constituting text among drawing elements.

제어기(20)는 인식된 도면 요소들을 이용하여 도면 정보를 그래프 구조로 추출하도록 구성된다. 여기서, 도면 정보는 노드와 엣지를 포함하고, 도면 정보를 그래프 구조로 추출한다는 것은 도면 요소들을 처리하여 노드와 엣지를 설정하고, 각 노드에 해당하는 노드 정보들을 부여하며, 각 엣지에 해당하는 엣지 정보들을 부여하고, 노드와 엣지를 그 정보와 함께 또는 그 정보와는 별개로 그래프 구조로 나열(배치 또는 표시)하는 것을 의미한다. 여기서, 그래프 구조는 도면 이미지를 심볼 요소, 라인 요소 및 텍스트 요소 대신 대응하는 노드와 엣지로 표현하는 것을 의미한다. 즉, 심볼 요소, 라인 요소 및 텍스트 요소가 노드와 엣지로 추출되고, 노드에는 노드 정보들이 부여되며, 엣지에는 엣지 정보들이 부여된다. 노드에 부여되는 노드 정보는 노드 유형 정보, 노드 좌표 정보 및 노드 레이블 정보를 포함하고, 엣지는 이웃하는 노드를 연결하는 선으로, 엣지에 부여되는 엣지 정보는 엣지 유형 정보, 엣지 피팅 정보 및 엣지 방향 정보를 포함한다. The controller 20 is configured to extract drawing information in a graph structure using recognized drawing elements. Here, drawing information includes nodes and edges, and extracting drawing information in a graph structure means processing drawing elements to set nodes and edges, giving node information corresponding to each node, and creating an edge corresponding to each edge. It means providing information and arranging (arranging or displaying) nodes and edges in a graph structure together with or separately from that information. Here, the graph structure means expressing the drawing image with corresponding nodes and edges instead of symbol elements, line elements, and text elements. That is, symbol elements, line elements, and text elements are extracted into nodes and edges, node information is given to nodes, and edge information is given to edges. Node information given to a node includes node type information, node coordinate information, and node label information, an edge is a line connecting neighboring nodes, and edge information given to an edge includes edge type information, edge fitting information, and edge direction. Contains information.

도면 이미지로부터 도면 요소를 인식하고 도면 정보를 그래프 구조로 추출하기 위하여 제어기(20)는 데이터베이스(40)를 포함하거나 데이터베이스(40)와 무선 또는 유선으로 서로 데이터를 주거나 받을 수 있도록 연결되어 있다. 도 2는 데이터베이스(40)의 하나의 예를 도시하나, 데이터베이스(40)는 반드시 도 2에 예시된 데이터베이스(40)에 한정되지 아니한다. 상기 데이터베이스(40)는 입력 및/또는 학습을 통해 구축될 수 있다. In order to recognize drawing elements from drawing images and extract drawing information in a graph structure, the controller 20 includes a database 40 or is connected to the database 40 wirelessly or wired to send or receive data. Figure 2 shows one example of database 40, but database 40 is not necessarily limited to the database 40 illustrated in Figure 2. The database 40 may be constructed through input and/or learning.

도 2에 도시된 바와 같이, 데이터베이스(40)는 형상 데이터베이스(42), 심볼 데이터베이스(44), 노드 속성 데이터베이스(46) 및 엣지 속성 데이터베이스(48)를 포함할 수 있다. As shown in FIG. 2 , the database 40 may include a shape database 42, a symbol database 44, a node attribute database 46, and an edge attribute database 48.

형상 데이터베이스(42)는 도면 요소들의 형상에 관한 데이터를 포함한다. 제어기(20)는 형상 데이터베이스(42)에 저장된 데이터에 기초하여 도면 이미지에 있는 도면 요소가 심볼 요소인지, 라인 요소인지, 텍스트 요소인지를 구별하고, 구별된 심볼 요소(심볼 좌표 정보), 라인 요소(라인 좌표 정보 및 라인 방향 정보), 및/또는 텍스트 요소(텍스트 좌표 정보)를 인식할 수 있다. The shape database 42 contains data regarding the shape of drawing elements. Based on the data stored in the shape database 42, the controller 20 distinguishes whether the drawing element in the drawing image is a symbol element, a line element, or a text element, and distinguishes between the differentiated symbol elements (symbol coordinate information) and line elements. (line coordinate information and line direction information), and/or text elements (text coordinate information) can be recognized.

심볼 데이터베이스(44)는 심볼 요소의 형상에 대응하는 심볼 카테고리 및/또는 심볼 레이블에 관한 데이터를 포함한다. 예를 들어, 도 5에서 4번 심볼의 형상은 심볼 카테고리가 밸브이고 심볼 레이블이 밸브임을 알려주고, 1번 심볼의 형상은 심볼 카테고리가 장비이고 심볼 레이블이 탱크임을 알려주는 데이터가 심볼 데이터베이스(44)에 저장되어 있다. 제어기(20)는 심볼 데이터베이스(44)에 저장된 데이터에 기초하여 심볼 요소의 심볼 카테고리 정보 및/또는 심볼 레이블 정보를 인식할 수 있다. Symbol database 44 contains data regarding symbol categories and/or symbol labels that correspond to the shapes of symbol elements. For example, in FIG. 5, the shape of symbol number 4 indicates that the symbol category is valve and the symbol label is a valve, and the shape of symbol number 1 indicates that the symbol category is equipment and the symbol label is a tank. Data is provided in the symbol database 44. It is stored in The controller 20 may recognize symbol category information and/or symbol label information of symbol elements based on data stored in the symbol database 44.

노드 속성 데이터베이스(46)는 도면 요소들의 형상에 관한 데이터, 심볼 카테고리 정보, 심볼 레이블 정보 및/또는 텍스트 정보에 대응하는 노드 유형 정보 및/또는 노드 레이블 정보를 포함한다. 노드 유형 정보에 포함된 노드 유형은, 이에 한정되지 아니하지만, "EQUIP", "TEE", "3VV", "NORMAL", "CONNECT", "REDU", 및 "INTERFACE"를 포함한다. "EQUIP"은 장비를 나타내는 노드 유형이고, "TEE"는 3개 이상의 배관이 만나는 지점을 나타내는 노드 유형이며, "3VV"는 삼방 밸브(three way valve)를 나타내는 노드 유형이고, "CONNECT"는 장비와 배관이 연결되는 지점을 나타내는 노드 유형이고, "REDU"는 배관의 직경이 변하는 지점을 나타내는 노드 유형이며, "INTERFACE"는 도면과 도면의 연결 지점을 나타내는 노드 유형이고, "NORMAL"은 앞에서 기술한 노드 유형에 포함되지 아니하는 노드에 부여되는 노드 유형이다. 또한, 노드 레이블 정보는 장비 이름을 포함한다. The node attribute database 46 includes node type information and/or node label information corresponding to data about the shape of drawing elements, symbol category information, symbol label information, and/or text information. Node types included in the node type information include, but are not limited to, “EQUIP”, “TEE”, “3VV”, “NORMAL”, “CONNECT”, “REDU”, and “INTERFACE”. "EQUIP" is a node type that represents equipment, "TEE" is a node type that represents a point where three or more pipes meet, "3VV" is a node type that represents a three way valve, and "CONNECT" is a node type that represents a device. It is a node type that represents the point where pipes are connected, "REDU" is a node type that represents the point where the diameter of the pipe changes, "INTERFACE" is a node type that represents the connection point between drawings, and "NORMAL" is described previously. This is a node type given to nodes that are not included in one node type. Additionally, the node label information includes the device name.

엣지 속성 데이터베이스(48)는 도면 요소들의 형상에 관한 데이터, 심볼 카테고리 정보, 심볼 레이블 정보 및/또는 라인 방향 정보에 대응하는 엣지 유형 정보, 엣지 피팅 정보 및/또는 엣지 방향를 포함한다. 엣지 유형 정보에 포함된 엣지 유형은, 이에 한정되지 아니하지만, "PIPE" 및 "EQUIP"을 포함한다. "PIPE"는 일반적인 배관을 나타내는 엣지 유형이고, "EQUIP"은 노드 유형이 "CONNECT"인 노드와 노드 유형이 "EQUIP"인 노드를 연결하는 엣지를 나타내는 엣지 유형이다. 엣지 피팅 정보는 배관에 포함된 밸브나 오리피스와 같은 특수 부품에 대한 정보를 포함한다. 엣지 방향 정보는 엣지의 시작 노드와 종료 노드에 대한 정보를 포함한다. The edge attribute database 48 includes edge type information, edge fitting information, and/or edge direction corresponding to data about the shape of drawing elements, symbol category information, symbol label information, and/or line direction information. Edge types included in edge type information include, but are not limited to, “PIPE” and “EQUIP”. "PIPE" is an edge type that represents a general piping, and "EQUIP" is an edge type that represents an edge connecting a node with a node type of "CONNECT" and a node with a node type of "EQUIP". Edge fitting information includes information about special parts such as valves or orifices included in the pipe. Edge direction information includes information about the start node and end node of the edge.

도면 이미지가 디지털화된 도면 이미지, 특히 3차원 디지털 도면 이미지이면, 제어기(20)는 3차원 도면 이미지에 포함된 도면 정보를 수집하여 그래프 구조로 추출할 수 있다. 일반적으로 디지털화된 도면 이미지에 포함된 장비나 배관은 복수의 블록들이 모여 형성되며, 각 블록은, 노드 및 엣지와 유사하게, 블록 정보를 가지고 있으며, 블록 정보는 블록 좌표 정보, 블록 크기 정보, 블록 유형 정보, 블록 레이블 정보, 블록 피팅 정보, 및/또는 블록 방향 정보를 포함한다. 제어기(20)는 디지털화된 도면 이미지에 포함된 복수의 블록들의 블록 정보들을 수집하고, 블록 정보들을 비교하여 노드와 엣지를 설정하며, 설정된 노드를 위해 노드 정보를 부여하고, 설정된 엣지를 위해 엣지 정보를 부여할 수 있다. 예를 들어, 5개의 블록의 블록 좌표 정보와 블록 방향 정보가 연속되고, 5개의 블록의 블록 크기 정보, 블록 유형 정보, 블록 레이블 정보, 블록 피팅 정보가 동일하면, 제어기(20)는 상기 5개의 블록을 하나의 엣지로 설정하고, 5개의 블록의 블록 방향 정보를 엣지 방향 정보로 가공하며, 5개의 블록의 블록 유형 정보와 블록 피팅 정보를 각각 엣지 유형 정보와 엣지 피팅 정보로 저장할 수 있다. 여기에서는 디지털화된 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 하나의 방법을 예시하였다. 그러나, 본 발명은 예시된 방법에 한정되지 아니한다. If the drawing image is a digitized drawing image, particularly a 3D digital drawing image, the controller 20 may collect drawing information included in the 3D drawing image and extract it into a graph structure. In general, equipment or piping included in a digitized drawing image is formed by gathering multiple blocks, and each block has block information, similar to nodes and edges, and the block information includes block coordinate information, block size information, and block information. It includes type information, block label information, block fitting information, and/or block direction information. The controller 20 collects block information of a plurality of blocks included in the digitized drawing image, sets nodes and edges by comparing the block information, provides node information for the set nodes, and provides edge information for the set edges. can be given. For example, if the block coordinate information and block direction information of the five blocks are consecutive and the block size information, block type information, block label information, and block fitting information of the five blocks are the same, the controller 20 A block can be set as one edge, the block direction information of five blocks can be processed into edge direction information, and the block type information and block fitting information of five blocks can be saved as edge type information and edge fitting information, respectively. Here, a method for extracting drawing information from a digitized drawing image in a graph structure is illustrated. However, the present invention is not limited to the exemplified methods.

또한, 제어기(20)는 그래프 구조로 추출된 도면 정보를 이용하여 하나의 도면 이미지를 다른 하나의 도면 이미지와 비교하도록 구성된다. 예를 들어, 2차원 도면 이미지와, 상기 2차원 도면 이미지로부터 제작된 3차원 도면 이미지가 서로 동일한지, 즉 3차원 도면 이미지가 정확히 제작되었는지 확인하기 위하여, 제어기(20)는 2차원 도면 이미지로부터 도면 정보를 하나의 그래프 구조로 추출하고, 3차원 도면 이미지로부터 도면 정보를 다른 하나의 그래프 구조로 추출하며, 하나의 그래프 구조 내의 노드와 엣지를 다른 하나의 그래프 구조 내의 대응하는 노드와 대응하는 엣지를 비교하여 양 도면이 동일한지를 판단할 수 있다. Additionally, the controller 20 is configured to compare one drawing image with another drawing image using drawing information extracted in a graph structure. For example, in order to check whether a two-dimensional drawing image and a three-dimensional drawing image created from the two-dimensional drawing image are the same, that is, whether the three-dimensional drawing image is accurately produced, the controller 20 determines whether the two-dimensional drawing image is produced from the two-dimensional drawing image. Drawing information is extracted into one graph structure, drawing information is extracted from a 3D drawing image into another graph structure, and nodes and edges in one graph structure are converted to corresponding nodes and edges in another graph structure. You can compare to determine whether both drawings are the same.

이러한 목적을 위하여, 제어기(20)는 설정된 프로그램에 의해 동작되는 하나 이상의 프로세서로 구현될 수 있으며, 상기 제어기(20)의 메모리에는 상기 하나 이상의 프로세서를 통하여 본 발명의 실시예에 따른 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법 및 하나의 도면 이미지와 다른 하나의 도면 이미지를 비교하는 방법의 각 단계를 수행하도록 프로그래밍 된 프로그램 명령들이 저장되어 있다. For this purpose, the controller 20 may be implemented with one or more processors operated by a set program, and the memory of the controller 20 contains a two-dimensional drawing image according to an embodiment of the present invention through the one or more processors. Program commands programmed to perform each step of the method of extracting drawing information in a graph structure and comparing one drawing image with another drawing image are stored.

출력 인터페이스(30)는 도 11, 도 13 및 도 15에 도시된 바와 같은 그래프 구조로 추출된 도면 정보를 디스플레이할 수 있다. 또한, 출력 인터페이스(30)는 비교하고자 하는 도면 이미지들을 디스플레이하되, 양 도면 이미지에서 상이한 부분을 양 도면 이미지 중 적어도 하나에 표시함으로써 사용자가 도면 정보가 정확히 추출되었는지 확인할 수 있고, 변경되거나 추가된 부분을 빠르고 쉽게 인식할 수 있다. 예를 들어, 2차원 도면 이미지와, 상기 2차원 도면 이미지로부터 제작된 3차원 도면 이미지를 비교하면, 3차원 도면 이미지가 정확히 작성되었는지를 확인할 수 있다. The output interface 30 may display the extracted drawing information in a graph structure as shown in FIGS. 11, 13, and 15. In addition, the output interface 30 displays drawing images to be compared, and displays different parts in both drawing images on at least one of the drawing images, so that the user can check whether the drawing information has been accurately extracted and any changed or added parts. can be recognized quickly and easily. For example, by comparing a 2D drawing image with a 3D drawing image created from the 2D drawing image, it can be confirmed whether the 3D drawing image was created accurately.

이하, 도 3 내지 도 11을 참고로, 본 발명의 실시예에 따른 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법을 보다 구체적으로 설명한다. Hereinafter, with reference to FIGS. 3 to 11, a method for extracting drawing information in a graph structure from a two-dimensional drawing image according to an embodiment of the present invention will be described in more detail.

도 3은 본 발명의 실시예에 따른 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법의 흐름도이고, 도 4는 2차원 도면 이미지의 하나의 예를 도시하며, 도 5는 도 4의 도면 이미지로부터 심볼을 인식한 것을 도시하고, 도 6은 도 5에서 도면 이미지로부터 인식된 심볼의 정보를 나열한 표이며, 도 7은 도 4의 도면 이미지로부터 선을 인식한 것을 도시하고, 도 8은 도 7에서 도면 이미지로부터 인식된 선의 정보를 나열한 표이며, 도 9는 도 4의 도면 이미지로부터 텍스트를 인식한 것을 도시하고, 도 10은 도 9에서 도면 이미지로부터 인식된 텍스트의 정보를 나열한 표이며, 도 11은 도 4의 2차원 도면 이미지로부터 그래프 구조로 추출된 도면 정보를 도시한 하나의 예이다. FIG. 3 is a flowchart of a method for extracting drawing information in a graph structure from a two-dimensional drawing image according to an embodiment of the present invention, FIG. 4 shows an example of a two-dimensional drawing image, and FIG. 5 is a drawing of FIG. 4. It shows recognition of a symbol from an image, FIG. 6 is a table listing information on symbols recognized from the drawing image in FIG. 5, FIG. 7 shows recognition of a line from the drawing image of FIG. 4, and FIG. 8 shows 7 is a table listing information on lines recognized from the drawing image, FIG. 9 shows text recognized from the drawing image in FIG. 4, and FIG. 10 is a table listing text information recognized from the drawing image in FIG. 9. FIG. 11 is an example showing drawing information extracted in a graph structure from the two-dimensional drawing image of FIG. 4.

도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법은 사용자가 입력 인터페이스(10)를 통해 2차원 도면 이미지를 입력함으로써 시작된다. As shown in FIG. 3, the method of extracting drawing information in a graph structure from a two-dimensional drawing image according to an embodiment of the present invention begins with a user inputting a two-dimensional drawing image through the input interface 10.

그래프 구조로 도면 정보가 추출되어야 하는 2차원 도면 이미지를 입력 인터페이스(10)를 통해 입력하면, 제어기(20)는 2차원 도면 이미지로부터 적어도 하나의 도면 요소를 인식한다. 즉, 제어기(20)는 2차원 도면 이미지로부터 심볼 요소를 인식하고(S100), 2차원 도면 이미지로부터 라인 요소를 인식하며(S110), 2차원 도면 이미지로부터 텍스트 요소를 인식한다(S120).When a two-dimensional drawing image from which drawing information must be extracted in a graph structure is input through the input interface 10, the controller 20 recognizes at least one drawing element from the two-dimensional drawing image. That is, the controller 20 recognizes symbol elements from the two-dimensional drawing image (S100), recognizes line elements from the two-dimensional drawing image (S110), and recognizes text elements from the two-dimensional drawing image (S120).

아래에서는 도 4에 도시된 2차원 도면 이미지로부터 도면 요소를 인식하는 과정을 보다 구체적으로 설명한다. Below, the process of recognizing drawing elements from the two-dimensional drawing image shown in FIG. 4 will be described in more detail.

제어기(20)는 이미지 인식 알고리즘을 통하여 도 4에 도시된 2차원 도면 이미지로부터 도면 요소들의 형상, 좌표, 및/또는 크기를 인식하고, 도면 요소들의 형상, 좌표, 및/또는 크기를 기초로 인식된 도면 요소들을 심볼 요소, 라인 요소 및 텍스트 요소로 분류한다. 도면 요소들이 심볼 요소, 라인 요소 및 텍스트 요소로 분류되면, 제어기(20)는 2차원 도면 이미지로부터 심볼 요소, 라인 요소 및 텍스트 요소를 인식한다(S100, S110, S120).The controller 20 recognizes the shape, coordinates, and/or size of drawing elements from the two-dimensional drawing image shown in FIG. 4 through an image recognition algorithm, and recognizes the drawing elements based on the shape, coordinates, and/or size. Classifies drawing elements into symbol elements, line elements, and text elements. When the drawing elements are classified into symbol elements, line elements, and text elements, the controller 20 recognizes the symbol elements, line elements, and text elements from the two-dimensional drawing image (S100, S110, S120).

도 5에 도시된 바와 같이, 제어기(20)는 2차원 도면 이미지로부터 심볼 요소로 분류된 도면 요소를 인식한다(S100). 도 5에는 5개의 심볼 요소가 있으며, 각각의 심볼 요소에 대하여 제어기(20)가 인식한 결과가 도 6에 기재되어 있다. 예를 들어, 1번 심볼의 심볼 카테고리는 장비(EQ)이고, 심볼 레이블은 탱크(tank)이며, 하나의 모서리의 좌표가 (200, 200)이고, 다른 하나의 모서리(하나의 모서리의 대각선에 위치하는 모서리)의 좌표가 (400, 400)임을 인식한다. 또한, 인식된 정보들은 심볼 카테고리 정보, 심볼 레이블 정보 및 심볼 좌표 정보로 저장된다. As shown in FIG. 5, the controller 20 recognizes drawing elements classified as symbol elements from the two-dimensional drawing image (S100). There are five symbol elements in FIG. 5, and the results of recognition by the controller 20 for each symbol element are shown in FIG. 6. For example, the symbol category of symbol 1 is equipment (EQ), the symbol label is tank, the coordinates of one corner are (200, 200), and the coordinates of one corner are (200, 200), and the other corner (on the diagonal of one corner) is Recognize that the coordinates of the located corner are (400, 400). Additionally, the recognized information is stored as symbol category information, symbol label information, and symbol coordinate information.

또한, 도 7에 도시된 바와 같이, 제어기(20)는 2차원 도면 이미지로부터 라인 요소로 분류된 도면 요소를 인식한다(S110). 여기서, 라인 요소는 하나의 방향으로 연장된 직선을 의미하며, 도 7에는 6개의 라인 요소가 있고, 각각의 라인 요소에 대하여 제어기(20)가 인식한 결과가 도 8에 기재되어 있다. 예를 들어, 3번 라인의 시작점 좌표는 (300, 50)이고, 종료점 좌표는 (850, 50)임을 인식한다. 또한, 인식된 정보들은 라인 좌표 정보, 라인 크기 정보 및 라인 방향 정보로 저장된다. 도 8에는 라인 크기 정보가 생략되었으나, 일직선으로 배치된 직경이 다른 두 개의 배관이 만나는 점을 노드로 인식하기 위하여 라인 크기 정보를 포함할 수 있다. Additionally, as shown in FIG. 7, the controller 20 recognizes drawing elements classified as line elements from the two-dimensional drawing image (S110). Here, a line element means a straight line extending in one direction. There are six line elements in FIG. 7, and the results recognized by the controller 20 for each line element are shown in FIG. 8. For example, it is recognized that the starting point coordinates of line 3 are (300, 50) and the ending point coordinates are (850, 50). Additionally, the recognized information is stored as line coordinate information, line size information, and line direction information. Although line size information is omitted in FIG. 8, line size information may be included to recognize the point where two pipes of different diameters arranged in a straight line meet as a node.

또한, 도 9에 도시된 바와 같이, 제어기(20)는 2차원 도면 이미지로부터 텍스트 요소로 분류된 도면 요소를 인식한다(S120). 여기서, 도 9에는 3개의 텍스트 요소가 있고, 각각의 텍스트 요소에 대하여 제어기(20)가 인식한 결과가 도 10에 기재되어 있다. 예를 들어, 2번 텍스트의 하나의 모서리의 좌표가 (710, 370)이고, 다른 하나의 모서리(하나의 모서리의 대각선에 위치하는 모서리)의 좌표가 (770, 385)이며, 텍스트를 구성하는 문자가 "Pump"임을 인식한다. 또한, 인식된 정보들은 텍스트 좌표 정보와 텍스트 정보로 저장된다.Additionally, as shown in FIG. 9, the controller 20 recognizes drawing elements classified as text elements from the two-dimensional drawing image (S120). Here, there are three text elements in FIG. 9, and the results recognized by the controller 20 for each text element are shown in FIG. 10. For example, the coordinates of one corner of text number 2 are (710, 370), the coordinates of another corner (a corner located diagonally of one corner) are (770, 385), and the coordinates of the text composing the text are (770, 385). Recognizes that the character is "Pump". Additionally, recognized information is stored as text coordinate information and text information.

2차원 도면 이미지로부터 모든 도면 요소가 인식되었으면, 제어기(20)는 인식된 심볼 요소, 라인 요소 및/또는 텍스트 요소를 비교하여 노드와 엣지를 설정한다(S130). 즉, 제어기(20)는 심볼 요소의 심볼 카테고리 정보와 심볼 좌표 정보 및 라인 요소의 라인 좌표 정보, 라인 크기 정보 및 라인 방향 정보를 기초로 노드 및 엣지를 설정한다. 보다 구체적으로, 라인 요소의 시작점과 끝점, 라인 요소와 라인 요소가 만나는 점, 라인 요소와 심볼 요소가 만나는 점, 라인 요소에서 크기(예를 들어, 직경)가 변하는 점, 그리고 심볼 요소의 중심점은 노드로 설정될 수 있다. 또한, 심볼 카테고리 정보를 기초로 일부(특정) 심볼 요소와 관련된 노드들은 노드에서 탈락된다. 예를 들어, 라인 요소 상에 위치한 심볼 요소로서 심볼 카테고리 정보가 오리피스 또는 밸브이면 상기 심볼 요소와 관련된 노드들(해당 심볼 요소와 라인 요소가 만나는 점과 해당 심볼 요소의 중심점)은 노드에서 탈락된다. 또한, 최종적으로 설정된 노드들 사이의 라인 요소들과, 심볼 요소의 중심점인 노드와 해당 심볼 요소와 라인 요소가 만나는 점 사이의 가상의 라인 요소는 엣지로 설정된다. When all drawing elements have been recognized from the two-dimensional drawing image, the controller 20 sets nodes and edges by comparing the recognized symbol elements, line elements, and/or text elements (S130). That is, the controller 20 sets nodes and edges based on the symbol category information and symbol coordinate information of the symbol element, and the line coordinate information, line size information, and line direction information of the line element. More specifically, the starting and ending points of line elements, the points where line elements meet, the points where line elements and symbol elements meet, the points where the size (e.g., diameter) changes in the line elements, and the center point of the symbol elements are Can be set as a node. Additionally, based on symbol category information, nodes related to some (specific) symbol elements are eliminated from the node. For example, if a symbol element located on a line element whose symbol category information is an orifice or valve, nodes related to the symbol element (the point where the symbol element and the line element meet and the center point of the symbol element) are eliminated from the node. In addition, the line elements between the finally set nodes and the virtual line elements between the node that is the center point of the symbol element and the point where the symbol element and the line element meet are set as edges.

인식된 도면 요소들을 비교하여 노드 및 엣지가 설정되면, 제어기(20)는 노드 및 엣지를 그래프 구조로 추출한다(S140). 보다 구체적으로, 제어기(20)는 심볼 좌표 정보, 라인 좌표 정보 및 라인 방향 정보를 이용하여 노드와 엣지에 노드 좌표 정보와 엣지 방향 정보를 부여한다. 또한, 노드와 관련된 심볼 요소의 심볼 카테고리 정보와 심볼 레이블 정보를 이용하여 제어기(20)는 해당 노드에 노드 유형 정보를 부여하고, 엣지와 관련된 심볼 요소의 심볼 카테고리 정보 및 심볼 레이블 정보, 그리고 라인 요소의 라인 크기 정보를 이용하여 제어기(20)는 해당 엣지에 엣지 유형 정보 및 엣지 피팅 정보를 부여한다. 또한, 제어기(20)는 심볼 요소의 심볼 좌표 정보, 라인 요소의 라인 좌표 정보 및 텍스트 요소의 텍스트 좌표 정보를 비교하여 심볼 요소와 대응하는 텍스트 요소를 관련시키고 라인 요소와 대응하는 텍스트 요소를 관련시킨다. 제어기(20)는 상기 심볼 요소와 라인 요소에 관련된 노드와 엣지를 추출하고, 대응되는 텍스트 요소의 텍스트 정보를 이용하여 추출된 노드에 노드 유형 정보와 노드 레이블 정보를 부여하고 추출된 엣지에 엣지 유형 정보와 엣지 피팅 정보를 부여한다. 그 후, 노드 정보가 부여된 노드들과 엣지 정보가 부여된 엣지들을 그래프 구조로 나열한다. 즉, 제어기(20)는 추출된 노드들을 노드 정보와 함께 또는 노드 정보 없이 나열하고, 상기 노드들을 연결하는 엣지들을 엣지 정보와 함께 또는 엣지 정보 없이 나열한다. When the nodes and edges are set by comparing the recognized drawing elements, the controller 20 extracts the nodes and edges into a graph structure (S140). More specifically, the controller 20 provides node coordinate information and edge direction information to nodes and edges using symbol coordinate information, line coordinate information, and line direction information. In addition, using the symbol category information and symbol label information of the symbol element related to the node, the controller 20 gives node type information to the node, symbol category information and symbol label information of the symbol element related to the edge, and line element. Using the line size information, the controller 20 provides edge type information and edge fitting information to the corresponding edge. Additionally, the controller 20 compares the symbol coordinate information of the symbol element, the line coordinate information of the line element, and the text coordinate information of the text element to associate the symbol element with the corresponding text element and associate the line element with the corresponding text element. . The controller 20 extracts nodes and edges related to the symbol element and line element, assigns node type information and node label information to the extracted node using text information of the corresponding text element, and assigns an edge type to the extracted edge. Provides information and edge fitting information. Afterwards, nodes to which node information is given and edges to which edge information is given are listed in a graph structure. That is, the controller 20 lists the extracted nodes with or without node information, and lists the edges connecting the nodes with or without edge information.

선택적으로, 제어기(20)는 그래프 구조로 추출된 노드 및 엣지를 그래프 형태로 디스플레이할 수 있다(S150). 즉, 제어기(20)는 디스플레이 상에 노드 및 엣지들을 그래프 형태로 디스플레이할 수 있다. 도 11에는 도 4의 2차원 도면 이미지로부터 그래프 구조로 추출된 노드와 엣지가 그래프 형태로 디스플레이되어 있다. 제어기(20)는 추출된 노드들의 노드 좌표 정보를 이용하여 추출된 노드들을 배치하고, 추출된 엣지들의 엣지 좌표 정보 및 엣지 방향 정보를 이용하여 노드들 사이를 엣지로 연결한다. 도 11에는 노드에 노드 정보가 기재되고 엣지에 엣지 정보가 기재되었으나, 그래프 형태로 디스플레이되는 노드와 엣지에 대응하는 노드 정보와 엣지 정보가 반드시 기재될 필요는 없다. Optionally, the controller 20 may display nodes and edges extracted from the graph structure in a graph form (S150). That is, the controller 20 can display nodes and edges in a graph form on the display. In FIG. 11, nodes and edges extracted in a graph structure from the two-dimensional drawing image of FIG. 4 are displayed in a graph form. The controller 20 places the extracted nodes using the node coordinate information of the extracted nodes, and connects the nodes with edges using the edge coordinate information and edge direction information of the extracted edges. In FIG. 11, node information is described in nodes and edge information is described in edges, but node information and edge information corresponding to nodes and edges displayed in a graph form do not necessarily need to be described.

이하, 도 12 내지 도 17을 참고로, 본 발명의 다른 실시예에 따른 하나의 도면 이미지와 다른 하나의 도면 이미지를 비교하는 방법을 구체적으로 설명한다. Hereinafter, with reference to FIGS. 12 to 17, a method of comparing one drawing image with another drawing image according to another embodiment of the present invention will be described in detail.

도 12는 본 발명의 다른 실시예에 따른 하나의 도면 이미지와 다른 하나의 도면 이미지를 비교하는 방법의 흐름도이다. Figure 12 is a flowchart of a method for comparing one drawing image with another drawing image according to another embodiment of the present invention.

도 12에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 하나의 도면 이미지와 다른 하나의 도면 이미지를 비교하는 방법은 사용자가 입력 인터페이스(10)를 통해 비교가 필요한 두 개의 도면 이미지를 선택함으로써 시작된다. 하나의 예에서, 사용자는 입력 인터페이스(10)를 통해 제1, 2도면 이미지를 입력함으로써 비교가 필요한 두 개의 도면 이미지를 선택할 수 있다. 다른 하나의 예에서, 사용자는 제1도면 이미지는 입력하고 제어기(20)의 메모리에 저장된 제2도면 이미지를 로드함으로써 비교가 필요한 두 개의 도면 이미지를 선택할 수 있다. 여기서, 제1도면 이미지는 비교의 기준이 되는(즉, 정확히 작성된) 기준 도면 이미지일 수 있다.As shown in FIG. 12, a method of comparing one drawing image with another drawing image according to another embodiment of the present invention involves the user selecting two drawing images that need to be compared through the input interface 10. It begins. In one example, a user may select two drawing images that need to be compared by inputting the first and second drawing images through the input interface 10. In another example, the user can select two drawing images that need to be compared by inputting a first drawing image and loading a second drawing image stored in the memory of the controller 20. Here, the first drawing image may be a reference drawing image that serves as a standard for comparison (i.e., accurately created).

아래에서는 제1도면 이미지는 2차원 도면 이미지이고, 제2도면 이미지는 3차원 도면 이미지이며, 제2도면 이미지는 제1도면 이미지로부터 제작된 도면 이미지인 것을 실시예로 예시하나, 본 발명은 예시된 실시예에 한정되지 아니한다. 즉, 본 발명은 도면 이미지로부터 그래프 형태로 추출된 도면 정보들을 비교하기 위한 것이고, 도면 정보들에는 노드 좌표 정보와 엣지 좌표 정보가 포함되기는 하나 노드 좌표 정보와 엣지 좌표 정보가 대응되는 도면 정보들을 비교하기 위해서는 사용되지 아니하므로, 본 발명은 2차원 도면 이미지와 3차원 도면 이미지 모두에 적용될 수 있다.Below, the first drawing image is a two-dimensional drawing image, the second drawing image is a three-dimensional drawing image, and the second drawing image is a drawing image produced from the first drawing image. However, the present invention is an example. It is not limited to the examples provided. In other words, the present invention is intended to compare drawing information extracted from a drawing image in the form of a graph, and although the drawing information includes node coordinate information and edge coordinate information, drawing information to which node coordinate information and edge coordinate information correspond is compared. Since it is not used to do so, the present invention can be applied to both two-dimensional drawing images and three-dimensional drawing images.

비교가 필요한 제1, 2도면 이미지가 입력되면, 제어기(20)는 제1도면 이미지로부터 제1도면 정보를 제1그래프 구조로 추출하고(S200), 제2도면 이미지로부터 제2도면 정보를 제2그래프 구조로 추출한다(S210). When the first and second drawing images requiring comparison are input, the controller 20 extracts the first drawing information from the first drawing image into a first graph structure (S200) and extracts the second drawing information from the second drawing image. 2Extract as a graph structure (S210).

도 13은 2차원 도면 이미지의 하나의 예 및 상기 하나의 예로부터 그래프 구조로 추출된 도면 정보를 도시하며, 도 14는 도 13의 2차원 도면 이미지로부터 제작된 3차원 도면 이미지를 도시하고, 도 15는 도 14의 3차원 도면 이미지로부터 그래프 구조로 추출된 도면 정보를 도시한다. FIG. 13 shows an example of a two-dimensional drawing image and drawing information extracted from the example in a graph structure, FIG. 14 shows a three-dimensional drawing image produced from the two-dimensional drawing image of FIG. 13, and FIG. 15 shows drawing information extracted in a graph structure from the 3D drawing image of FIG. 14.

도 13에 도시된 바와 같이, 제1도면 이미지가 2차원 도면 이미지이면, 앞에서 설명한 바와 같이, 도 3에 도시된 본 발명의 실시예에 따른 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법을 이용하여 제1도면 정보를 제1그래프 구조로 추출할 수 있다. 제1도면 정보는 n개의 대상 노드들과, 대상 엣지를 포함한다. 제1그래프 구조로 추출된 제1도면 정보는 도 13에 도시되어 있다. As shown in FIG. 13, if the first drawing image is a two-dimensional drawing image, as described above, a method of extracting drawing information in a graph structure from the two-dimensional drawing image according to the embodiment of the present invention shown in FIG. 3. The first drawing information can be extracted into the first graph structure using . The first drawing information includes n target nodes and target edges. The first drawing information extracted from the first graph structure is shown in FIG. 13.

도 14에 도시된 바와 같이, 제2도면 이미지가 3차원 디지털화된 도면 이미지이면, 제어기(20)는 3차원 디지털화된 도면 이미지에 포함된 제2도면 정보를 수집하여 제2그래프 구조로 추출한다. 예를 들어, 제어기(20)는 디지털화된 도면 이미지에 포함된 복수의 블록들의 블록 정보들을 수집하고, 블록 정보들을 비교하여 노드와 엣지를 설정하며, 설정된 노드를 위해 노드 정보를 부여하고, 설정된 엣지를 위해 엣지 정보를 부여하며, 이를 통해 제2도면 정보를 제2그래프 구조로 추출한다. 제2도면 정보는 대상 대응 노드들과 대상 대응 엣지를 포함한다. As shown in FIG. 14, if the second drawing image is a 3D digitized drawing image, the controller 20 collects the second drawing information included in the 3D digitized drawing image and extracts it into a second graph structure. For example, the controller 20 collects block information of a plurality of blocks included in a digitized drawing image, sets nodes and edges by comparing the block information, provides node information for the set nodes, and sets the edges. For this, edge information is given, and through this, the second drawing information is extracted into the second graph structure. The second drawing information includes target-corresponding nodes and target-corresponding edges.

제1도면 정보가 제1그래프 구조로 추출되고 제2도면 정보가 제2그래프 구조로 추출되면, 제어기(20)는 대상 노드들과 대상 대응 노드들의 노드 레이블 정보들을 비교하거나 사용자로부터 동일한 노드 쌍들을 입력받아 제1, 2그래프 구조에서 대응되는 동일한 노드 쌍들을 검출한다(S220). 하나의 예에서, 제어기(20)는 대상 노드의 노드 레이블 정보에 기록된 장비 이름과 대상 대응 노드의 노드 레이블 정보에 기록된 장비 이름이 동일한지를 비교함으로써 대상 노드와 대상 대응 노드가 동일한지를 판단할 수 있다. 다른 하나의 예에서, 제어기(20)는 사용자로부터 동일한 노드 쌍을 입력받을 수 있다. When the first drawing information is extracted in the first graph structure and the second drawing information is extracted in the second graph structure, the controller 20 compares the node label information of the target nodes and target corresponding nodes or selects the same node pairs from the user. It receives input and detects corresponding identical node pairs in the first and second graph structures (S220). In one example, the controller 20 determines whether the target node and the target corresponding node are the same by comparing whether the device name recorded in the node label information of the target node and the device name recorded in the node label information of the target corresponding node are the same. You can. In another example, the controller 20 may receive input of the same node pair from the user.

제1, 2그래프 구조에서 대응되는 동일한 노드 쌍을 검출한 후 또는 검출하는 것과 동시에, 제어기(20)는 n개의 대상 노드들에 대하여 대응되는 대상 대응 노드를 검출한다(S230 내지 S260). After detecting or simultaneously detecting the corresponding identical node pair in the first and second graph structures, the controller 20 detects the target corresponding node corresponding to the n target nodes (S230 to S260).

보다 구체적으로, 제어기(20)는 i에 1을 대입하고(S230), 제1그래프 구조에서 첫 번째 대상 노드에 대응하는 첫 번째 대상 대응 노드를 제2그래프 구조에서 검출한다(S240). 그 후, 제어기(20)는 i가 n과 같은지 확인하고(S250), i가 n이 아니면 (i+1)을 i에 대입한다(S260). 그 후, 제어기(20)는 i가 n과 같아질 때까지 S240, S250, 그리고 S260을 반복한다. More specifically, the controller 20 substitutes 1 into i (S230) and detects the first target corresponding node corresponding to the first target node in the first graph structure from the second graph structure (S240). Afterwards, the controller 20 checks whether i is equal to n (S250), and if i is not n, substitutes (i+1) into i (S260). Afterwards, the controller 20 repeats S240, S250, and S260 until i becomes equal to n.

여기서, i번째 대상 노드에 대응되는 i'번째 대상 대응 노드를 검출하는 방법은 노드 거리에 따른 노드 유형 벡터 사이의 유사도를 기초로 한다. 이하, 도 16 및 도 17을 참고로, 노드 거리에 따른 노드 유형 벡터 사이의 유사도를 계산하는 방법을 보다 상세히 설명한다. Here, the method of detecting the i'th target corresponding node corresponding to the i'th target node is based on the similarity between node type vectors according to the node distance. Hereinafter, with reference to FIGS. 16 and 17, a method for calculating similarity between node type vectors according to node distance will be described in more detail.

도 16은 도 13의 그래프 구조로 추출된 도면 정보에서 임의의 세 개의 노도(A 노드, B 노드 및 C 노드)를 표시한 도면이고, 도 17은 도 15의 그래프 구조로 추출된 도면 정보에서 도 16에 표시된 세 개의 노드에 대응하는 세 개의 대응 노드(A' 노드, B' 노드 및 C' 노드)를 표시한 도면이다. 여기에서는 도 16의 A 노드, B 노드 및 C 노드가 각각 도 17의 A' 노드, B' 노드 및 C' 노드와 동일한 노드 쌍인지를 판단하는 과정을 상세히 설명한다. FIG. 16 is a diagram showing three arbitrary nodes (A node, B node, and C node) from the drawing information extracted with the graph structure of FIG. 13, and FIG. 17 is a diagram showing the drawing information extracted with the graph structure of FIG. 15. This is a diagram showing three corresponding nodes (A' node, B' node, and C' node) corresponding to the three nodes shown in Fig. 16. Here, the process of determining whether the A node, B node, and C node of FIG. 16 are the same node pair as the A' node, B' node, and C' node of FIG. 17, respectively, will be described in detail.

먼저, 제1도면 정보에서 모든 노드들을 A 노드(대상 노드)와의 노드 거리에 따라 분류한다. 여기서, 대상 노드와의 노드 거리는 대상 노드와 해당 노드 사이의 최소 엣지의 개수로 정의된다. 예를 들어, A 노드와 노드 거리 1에 있는 노드들은 노드 C를 포함하여 2개이고, A 노드와 노드 거리 2에 있는 노드들은 노드 B를 포함하여 4개이다. 이러한 방식으로 제1도면 정보에서 모든 노드들이 A 노드와의 노드 거리에 따라 분류되면, 제어기(20)는 노드 유형 정보를 기초로 노드 거리에 따른 노드 유형 벡터(Vx)를 생성한다. 여기서, x는 노드 거리로 0과 p 사이의 자연수이고, p는 대상 노드를 기준으로 최대 노드 거리이며, V0은 대상 노드의 노드 유형 벡터이다. 또한, 노드 유형 벡터는 1ⅹm 벡터이고, m은 노드 유형 정보에 포함된 노드 유형의 개수이다. 앞에서 설명한 바와 같이, 노드 유형 정보에 포함된 노드 유형이 "EQUIP", "TEE", "3VV", "NORMAL", "CONNECT", "REDU", 및 "INTERFACE"이면, m은 7이 된다. 노드 거리에 따른 노드 유형 벡터(Vx)는 해당 노드 거리에 존재하는 노드 유형의 분포를 나타낸다. 예를 들어, 노드 거리 1에 노드 유형이 "EQUIP"인 노드의 개수가 2개이고, 노드 유형이 "3VV"인 노드의 개수가 1이며, 다른 노드 유형을 가진 노드가 존재하지 않으면, 노드 거리 1에 따른 노드 유형 벡터(V1)는 (2 0 1 0 0 0 0)이다. 여기서, 노드 유형의 배치는 당업자가 임의로 미리 설정할 수 있으나, 노드 유형 벡터 사이의 유사도를 계산할 때 사용되는 노드 유형의 배치는 동일하여야 한다. First, all nodes in the first drawing information are classified according to the node distance from node A (target node). Here, the node distance from the target node is defined as the minimum number of edges between the target node and the corresponding node. For example, there are 2 nodes at node distance 1 from node A, including node C, and there are 4 nodes at node distance 2 from node A, including node B. In this way, if all nodes in the first drawing information are classified according to the node distance from node A, the controller 20 generates a node type vector (Vx) according to the node distance based on the node type information. Here, x is the node distance and is a natural number between 0 and p, p is the maximum node distance based on the target node, and V0 is the node type vector of the target node. Additionally, the node type vector is a 1×m vector, and m is the number of node types included in the node type information. As described previously, if the node types included in the node type information are "EQUIP", "TEE", "3VV", "NORMAL", "CONNECT", "REDU", and "INTERFACE", m is 7. The node type vector (Vx) according to the node distance represents the distribution of node types that exist at that node distance. For example, if the number of nodes with node type "EQUIP" is 2, the number of nodes with node type "3VV" is 1, and no nodes with other node types exist at node distance 1, then node distance 1 The node type vector (V1) according to is (2 0 1 0 0 0 0). Here, the arrangement of the node types can be arbitrarily preset by a person skilled in the art, but the arrangement of the node types used when calculating the similarity between node type vectors must be the same.

노드 거리 0부터 노드 거리 p까지의 노드 거리에 따른 노드 유형 벡터(V0, V1, …, Vp)가 생성되면, 제2도면 정보에서 모든 노드들을 A' 노드(임시 대상 대응 노드)와의 노드 거리에 따라 분류하고, 노드 거리에 따른 대응 노드 유형 벡터(Vx')를 생성한다(하나의 임시 대상 대응 노드에 대한 노드 거리에 따른 대응 노드 유형 벡터 생성 단계). When a node type vector (V0, V1, ..., Vp) according to the node distance from node distance 0 to node distance p is generated, all nodes in the second drawing information are divided into node distances with the A' node (temporary target corresponding node). Classify according to the node distance, and generate a corresponding node type vector (Vx') according to the node distance (step of generating a corresponding node type vector according to the node distance to one temporary target corresponding node).

제어기(20)는 노드 거리가 0부터 p까지 동일한 노드 거리에 따른 노드 유형 벡터(Vx)와 대응 노드 유형 벡터(Vx') 사이의 벡터 거리(Sx)를 계산하고, 상기 벡터 거리(Dx)에 노드 거리에 따른 가중치(Wx)를 곱하여 노드 거리에 따른 유사도(Sx)를 계산한다. 즉, Sx = Dx * Wx. 여기서, 노드 거리에 따른 가중치(Wx)는 노드 거리가 줄어들수록 커지도록 설정된다. 즉, W0 ≥ W1 ≥ W2 ≥ … ≥ Wp이다. 또한, 노드 거리에 따른 가중치(Wx)는 노드 거리 x에 동일한 노드 쌍으로 검출된 노드가 많을수록 작아지게 설정된다. 상기 노드 거리에 따른 가중치(Wx)는 다수의 해석, 신경망 모델 등 다양한 방법을 통해 미리 설정될 수 있다. The controller 20 calculates the vector distance (Sx) between the node type vector (Vx) and the corresponding node type vector (Vx') according to the same node distance from 0 to p, and adds to the vector distance (Dx) The similarity (Sx) according to the node distance is calculated by multiplying the weight (Wx) according to the node distance. That is, Sx = Dx * Wx. Here, the weight (Wx) according to the node distance is set to increase as the node distance decreases. That is, W0 ≥ W1 ≥ W2 ≥ … ≥ Wp. Additionally, the weight (Wx) according to the node distance is set to become smaller as more nodes are detected as the same node pair at the node distance x. The weight (Wx) according to the node distance can be set in advance through various methods, such as multiple analysis and neural network models.

제어기(20)는 노드 거리가 0부터 p까지 노드 거리에 따른 유사도를 더하여 하나의 임시 대상 대응 노드에 대한 최종 유사도(S)를 계산한다. 즉, S = S1 + S2 + … + Sp. The controller 20 calculates the final similarity (S) for one temporary target corresponding node by adding the similarity according to the node distance from 0 to p. That is, S = S1 + S2 + … +Sp.

제어기(20)는 다른 임시 대상 대응 노드에 대한 노드 거리에 따른 대응 노드 유형 벡터를 생성하고 다른 임시 대상 노드에 대한 최종 유사도(S)를 계산한다. 제어기(20)는 모든 임시 대상 대응 노드에 대한 최종 유사도(S)를 계산하고, 최종 유사도(S)가 최소인 임시 대상 대응 노드를 최종 대상 대응 노드를 검출한다. 이러한 방식으로 도 16의 A 노드, B 노드, C 노드가 각각 도 17의 A' 노드, B' 노드, C' 노드와 대응되는 것으로 판단된다. 즉, 제1그래프 구조의 A 노드는 제2그래프 구조의 A' 노드와 동일하고, 제1그래프 구조의 B 노드는 제2그래프 구조의 B' 노드와 동일하며, 제1그래프 구조의 C 노드는 제2그래프 구조의 C' 노드와 동일한 것으로 판단된다. The controller 20 generates a corresponding node type vector according to the node distance to the other temporary target corresponding node and calculates the final similarity (S) to the other temporary target node. The controller 20 calculates the final similarity (S) for all temporary target corresponding nodes, and detects the temporary target corresponding node with the minimum final similarity (S) as the final target corresponding node. In this way, it is determined that the A node, B node, and C node of FIG. 16 correspond to the A' node, B' node, and C' node of FIG. 17, respectively. That is, the A node of the first graph structure is identical to the A' node of the second graph structure, the B node of the first graph structure is identical to the B' node of the second graph structure, and the C node of the first graph structure is It is judged to be the same as the C' node of the second graph structure.

제1그래프 구조의 모든 대상 노드에 대응되는 제2그래프 구조의 모든 대상 대응 노드가 검출되면, 제어기(20)는 제1그래프 구조에서 이웃하는 임의의 두 개의 대상 노드 사이의 엣지를 제2그래프 구조에서 이웃하는 두 개의 대응 대상 노드 사이의 대응 엣지와 비교한다(S270). 예를 들어, 제어기(20)는 도 16의 노드 A와 노드 C 사이의 엣지의 엣지 정보를 도 17의 노드 A'과 노드 C' 사이의 엣지 정보와 비교하여 상기 엣지와 상기 대응 엣지가 동일한 엣지인지를 판단한다. When all target corresponding nodes of the second graph structure corresponding to all target nodes of the first graph structure are detected, the controller 20 selects the edge between any two neighboring target nodes in the first graph structure to the second graph structure. Compare with the corresponding edge between two neighboring corresponding target nodes (S270). For example, the controller 20 compares the edge information of the edge between node A and node C in FIG. 16 with the edge information between node A' and node C' in FIG. 17 and determines that the edge and the corresponding edge are the same. Determine awareness.

제어기(20)는 S270을 제1그래프 구조의 모든 엣지에 대하여 반복적으로 수행하여 제1그래프 구조의 모든 엣지와 제2그래프 구조의 모든 대응 엣지를 비교한다(S280).The controller 20 repeatedly performs S270 on all edges of the first graph structure and compares all edges of the first graph structure with all corresponding edges of the second graph structure (S280).

S280의 결과로서 제1그래프 구조의 모든 대상 노드가 제2그래프 구조의 모든 대상 대응 노드와 동일하고 제1그래프 구조의 모든 엣지가 제2그래프 구조의 모든 대응 엣지와 동일한 것으로 판단되면(S290에서 '예'), 제어기(20)는 출력 인터페이스(30)를 통하여 제1도면 이미지와 제2도면 이미지가 동일함으로 사용자에게 알릴 수 있다. 만일 제1그래프 구조의 일부 대상 노드가 제2그래프 구조의 일부 대상 대응 노드와 동일하지 않거나 제1그래프 구조의 일부 엣지가 제2그래프 구조의 일부 엣지와 동일하지 않은 것으로 판단되면(S290의 '아니오'), 제어기(20)는 출력 인터페이스(30)를 통하여 제1도면 이미지와 제2도면 이미지가 서로 동일하지 않음을 사용자에게 알릴 수 있다. 또한, 제어기(20)는 선택적으로 출력 인터페이스(30)를 통하여 동일하지 않은 노드 쌍 및/또는 동일하지 않은 엣지 쌍을 나열하거나, 동일하지 않은 노드 쌍 및/또는 동일하지 않은 엣지 쌍을 제1, 2그래프 구조 중 적어도 하나에 표시하거나, 동일하지 않은 노드 쌍 및/또는 동일하지 않은 엣지 쌍에 대응되는 도면 요소들(심볼 요소, 라인 요소, 및/또는 텍스트 요소)을 제1, 2도면 이미지 중 적어도 하나에 표시할 수 있다. 사용자는 출력 인터페이스(30)에 표시된 노드, 엣지 및/또는 도면 요소를 이용하여 제1, 2도면 이미지로부터 제1, 2도면 정보가 제1, 2그래프 구조로 정확히 추출되었는지를 확인하거나, 제1, 2도면 이미지를 비교하여 변경 사항을 확인하거나, 제1, 2도면 이미지가 동일한지를 확인할 수 있다. If, as a result of S280, it is determined that all target nodes of the first graph structure are identical to all target corresponding nodes of the second graph structure and all edges of the first graph structure are identical to all corresponding edges of the second graph structure (in S290, ' Yes'), the controller 20 can inform the user through the output interface 30 that the first drawing image and the second drawing image are the same. If it is determined that some target nodes of the first graph structure are not identical to some target corresponding nodes of the second graph structure or some edges of the first graph structure are not identical to some edges of the second graph structure ('No in S290 '), the controller 20 may inform the user through the output interface 30 that the first drawing image and the second drawing image are not the same. In addition, the controller 20 optionally lists non-identical node pairs and/or non-identical edge pairs through the output interface 30, or lists non-identical node pairs and/or non-identical edge pairs in the first, 2Drawing elements (symbol elements, line elements, and/or text elements) displayed in at least one of the graph structures, or corresponding to non-identical node pairs and/or non-identical edge pairs, among the first and second drawing images. You can mark at least one. The user can check whether the first and second drawing information has been accurately extracted into the first and second graph structures from the first and second drawing images using the nodes, edges, and/or drawing elements displayed on the output interface 30, or , you can compare the second drawing images to check for changes, or check whether the first and second drawing images are the same.

이상으로 본 발명에 관한 바람직한 실시예를 설명하였으나, 본 발명은 상기 실시예에 한정되지 아니하며, 본 발명의 실시예로부터 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의한 용이하게 변경되어 균등하다고 인정되는 범위의 모든 변경을 포함한다.Although preferred embodiments of the present invention have been described above, the present invention is not limited to the above embodiments, and can be easily modified by a person skilled in the art from the embodiments of the present invention to provide equivalent equivalents. Includes all changes within the scope deemed acceptable.

Claims (20)

제어기에 의하여, 2차원 도면 이미지로부터 심볼 요소를 인식하는 단계;
제어기에 의하여, 2차원 도면 이미지로부터 라인 요소를 인식하는 단계;
제어기에 의하여, 2차원 도면 이미지로부터 텍스트 요소를 인식하는 단계;
제어기에 의하여, 상기 심볼 요소, 라인 요소 및 텍스트 요소를 비교하여 노드 및 엣지로 설정하는 단계; 그리고
제어기에 의하여, 상기 노드 및 엣지를 그래프 구조로 추출하는 단계;
를 포함하며,
심볼 요소의 인식은 심볼 카테고리 정보, 심볼 레이블 정보 및 심볼 좌표 정보를 인식하는 것을 포함하고,
라인 요소의 인식은 라인 좌표 정보, 라인 크기 정보 및 라인 방향 정보를 인식하는 것을 포함하며,
텍스트 요소의 인식은 텍스트 좌표 정보와 텍스트 정보를 인식하는 것을 포함하고,
상기 심볼 요소, 라인 요소 및 텍스트 요소를 비교하여 노드 및 엣지로 설정하는 단계는 심볼 요소의 심볼 카테고리 정보와 심볼 좌표 정보 및 라인 요소의 라인 좌표 정보, 라인 크기 정보 및 라인 방향 정보를 기초로 노드 및 엣지를 설정하는 단계를 포함하는 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법.
Recognizing, by a controller, a symbol element from a two-dimensional drawing image;
Recognizing, by a controller, line elements from a two-dimensional drawing image;
Recognizing, by a controller, a text element from a two-dimensional drawing image;
Comparing the symbol element, line element, and text element and setting them as nodes and edges, by a controller; and
Extracting, by a controller, the nodes and edges into a graph structure;
Includes,
Recognition of symbol elements includes recognizing symbol category information, symbol label information, and symbol coordinate information,
Recognition of line elements includes recognizing line coordinate information, line size information, and line direction information,
Recognition of text elements includes recognizing text coordinate information and text information,
The step of comparing the symbol element, line element and text element and setting them as nodes and edges is based on the symbol category information and symbol coordinate information of the symbol element and the line coordinate information, line size information and line direction information of the line element. A method of extracting drawing information in a graph structure from a two-dimensional drawing image including the step of setting edges.
제1항에 있어서,
상기 심볼 요소, 라인 요소 및 텍스트 요소를 비교하여 설정되는 노드는 라인 요소의 시작점과 끝점, 라인 요소와 라인 요소가 만나는 점, 라인 요소와 심볼 요소가 만나는 점, 라인 요소에서 크기가 변하는 점, 그리고 심볼 요소의 중심점인 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법.
According to paragraph 1,
Nodes set by comparing the symbol element, line element, and text element include the starting point and end point of the line element, the point where the line element meets the line element, the point where the line element meets the symbol element, the point where the size changes in the line element, and A method of extracting drawing information in a graph structure from a two-dimensional drawing image that is the center point of a symbol element.
제2항에 있어서,
심볼 카테고리 정보를 기초로 특정 심볼 요소와 관련된 노드들은 설정된 노드에서 탈락되는 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법.
According to paragraph 2,
A method of extracting drawing information in a graph structure from a two-dimensional drawing image in which nodes related to specific symbol elements are excluded from set nodes based on symbol category information.
제3항에 있어서,
설정된 노드들 사이의 라인 요소들과, 심볼 요소의 중심점인 노드와 해당 심볼 요소와 라인 요소가 만나는 점 사이의 가상의 라인 요소는 엣지로 설정되는 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법.
According to paragraph 3,
The line elements between set nodes and the virtual line elements between the node, which is the center point of the symbol element, and the point where the symbol element and the line element meet are set as edges. Drawing information is extracted in a graph structure from a two-dimensional drawing image. method.
제1항에 있어서,
상기 노드 및 엣지를 그래프 구조로 추출하는 단계는
심볼 좌표 정보, 라인 좌표 정보 및 라인 방향 정보를 이용하여 노드와 엣지에 노드 좌표 정보와 엣지 방향 정보를 부여하는 단계;
노드와 관련된 심볼 요소의 심볼 카테고리 정보와 심볼 레이블 정보를 이용하여 해당 노드에 노드 유형 정보를 부여하는 단계; 그리고
엣지와 관련된 심볼 요소의 심볼 카테고리 정보 및 심볼 레이블 정보, 그리고 라인 요소의 라인 크기 정보를 이용하여 해당 엣지에 엣지 유형 정보 및 엣지 피팅 정보를 부여하는 단계;
를 포함하는 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법.
According to paragraph 1,
The step of extracting the nodes and edges into a graph structure is
Giving node coordinate information and edge direction information to nodes and edges using symbol coordinate information, line coordinate information, and line direction information;
assigning node type information to the node using symbol category information and symbol label information of symbol elements related to the node; and
assigning edge type information and edge fitting information to the edge using symbol category information and symbol label information of the symbol element related to the edge, and line size information of the line element;
A method of extracting drawing information in a graph structure from a two-dimensional drawing image including.
제5항에 있어서,
상기 노드 및 엣지를 그래프 구조로 추출하는 단계는
심볼 요소의 심볼 좌표 정보, 라인 요소의 라인 좌표 정보 및 텍스트 요소의 텍스트 좌표 정보를 비교하여 심볼 요소와 대응하는 텍스트 요소를 관련시키고 라인 요소와 대응하는 텍스트 요소를 관련시키는 단계;
상기 심볼 요소와 라인 요소에 관련된 노드와 엣지를 추출하는 단계; 그리고
대응되는 텍스트 요소의 텍스트 정보를 이용하여 추출된 노드에 노드 유형 정보와 노드 레이블 정보를 부여하고 추출된 엣지에 엣지 유형 정보와 엣지 피팅 정보를 부여하는 단계;
를 더 포함하는 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법.
According to clause 5,
The step of extracting the nodes and edges into a graph structure is
Comparing the symbol coordinate information of the symbol element, the line coordinate information of the line element, and the text coordinate information of the text element to relate the symbol element to the corresponding text element and to relate the line element to the corresponding text element;
extracting nodes and edges related to the symbol element and line element; and
assigning node type information and node label information to the extracted node using text information of the corresponding text element and assigning edge type information and edge fitting information to the extracted edge;
A method of extracting drawing information in a graph structure from a two-dimensional drawing image further comprising:
제6항에 있어서,
상기 노드 및 엣지를 그래프 구조로 추출하는 단계는 추출된 노드들을 노드 정보와 함께 또는 노드 정보 없이 나열하고, 상기 노드들을 연결하는 엣지들을 엣지 정보와 함께 또는 엣지 정보 없이 나열하는 단계를 더 포함하는 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법.
According to clause 6,
The step of extracting the nodes and edges into a graph structure further includes listing the extracted nodes with or without node information, and listing edges connecting the nodes with or without edge information. 2 A method of extracting drawing information from a dimensional drawing image into a graph structure.
제1항에 있어서,
제어기에 의하여, 그래프 구조로 추출된 노드 및 엣지를 그래프 형태로 디스플레이하는 단계를 더 포함하는 2차원 도면 이미지로부터 도면 정보를 그래프 구조로 추출하는 방법.
According to paragraph 1,
A method of extracting drawing information in a graph structure from a two-dimensional drawing image, further comprising displaying nodes and edges extracted in a graph structure in a graph form by a controller.
제어기에 의하여, 제1도면 이미지로부터 제1도면 정보를 제1그래프 구조로 추출하는 단계;
제어기에 의하여, 제2도면 이미지로부터 제2도면 정보를 제2그래프 구조로 추출하는 단계;
제어기에 의하여, 제1그래프 구조의 대상 노드들과 제2그래프 구조의 대상 대응 노드들의 노드 레이블 정보들을 비교하거나 동일한 노드 쌍들을 입력받아 제1, 2그래프 구조에서 대응되는 동일한 노드 쌍들을 검출하는 단계;
제어기에 의하여, 제1그래프 구조의 대상 노드들에 대하여 대응되는 대상 대응 노드들을 제2그래프 구조에서 검출하는 단계;
제어기에 의하여, 이웃하는 임의의 두 개의 대상 노드 사이의 엣지를 제2그래프 구조에서 이웃하는 두 개의 대상 대응 노드 사이의 대응 엣지와 비교하는 단계; 그리고
제어기에 의하여, 제1그래프 구조의 모든 대상 노드가 제2그래프 구조의 모든 대상 대응 노드와 동일하고 제1그래프 구조의 모든 엣지가 제2그래프 구조의 모든 대응 엣지와 동일한 것으로 판단되면, 제1도면 이미지와 제2도면 이미지가 동일함을 알리는 단계;
를 포함하며,
제1, 2도면 이미지 중 적어도 하나는 2차원 도면 이미지이며,
2차원 도면 이미지는 제1항 내지 제8항 중 어느 하나의 항에 따른 방법에 따라 그래프 구조로 추출되는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
Extracting, by a controller, first drawing information from a first drawing image into a first graph structure;
Extracting, by a controller, second drawing information from the second drawing image into a second graph structure;
Comparing node label information of target nodes of the first graph structure and target corresponding nodes of the second graph structure, by the controller, or receiving identical node pairs and detecting corresponding identical node pairs in the first and second graph structures. ;
Detecting, by the controller, target corresponding nodes corresponding to target nodes in the first graph structure in the second graph structure;
Comparing, by the controller, an edge between any two neighboring target nodes with a corresponding edge between two neighboring target corresponding nodes in a second graph structure; and
If it is determined by the controller that all target nodes of the first graph structure are identical to all target corresponding nodes of the second graph structure and all edges of the first graph structure are identical to all corresponding edges of the second graph structure, Notifying that the image and the second drawing image are the same;
Includes,
At least one of the first and second drawing images is a two-dimensional drawing image,
A method of comparing a first drawing image and a second drawing image in which the two-dimensional drawing image is extracted in a graph structure according to the method according to any one of claims 1 to 8.
제9항에 있어서,
제1도면 이미지는 2차원 도면 이미지이며, 제2도면 이미지는 3차원 도면 이미지이고,
3차원 도면 이미지는 각각이 블록 정보를 갖는 복수의 블록들을 포함하며,
제2도면 이미지로부터 제2도면 정보를 제2그래프 구조로 추출하는 단계는
제2도면 이미지에 포함된 복수의 블록들의 블록 정보들을 수집하는 단계;
블록 정보들을 서로 비교하여 노드와 엣지를 설정하는 단계; 그리고
블록 정보들을 이용하여 설정된 노드에 노드 정보를 부여하고 설정된 엣지에 엣지 정보를 부여하는 단계;
를 포함하는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 9,
The first drawing image is a two-dimensional drawing image, the second drawing image is a three-dimensional drawing image,
A 3D drawing image includes a plurality of blocks each having block information,
The step of extracting the second drawing information from the second drawing image into a second graph structure is
Collecting block information of a plurality of blocks included in the second drawing image;
Setting nodes and edges by comparing block information; and
Giving node information to a node set using block information and giving edge information to a set edge;
A method of comparing a first drawing image and a second drawing image including.
제9항에 있어서,
제1그래프 구조의 대상 노드들에 대하여 대응되는 대상 대응 노드들을 제2그래프 구조에서 검출하는 단계는 노드 거리에 따른 노드 유형 벡터 사이의 유사도를 기초로 실행되는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 9,
The step of detecting target corresponding nodes corresponding to target nodes of the first graph structure in the second graph structure is performed by selecting the first drawing image and the second drawing image based on the similarity between the node type vectors according to the node distance. How to compare.
제11항에 있어서,
노드 거리에 따른 노드 유형 벡터 사이의 유사도의 계산은
제1도면 정보에서 모든 노드들을 대상 노드와의 노드 거리에 따라 분류하는 단계;
제1도면 정보에서 모든 노드들의 노드 유형 정보를 기초로 노드 거리에 따른 노드 유형 벡터를 생성하는 단계;
제2도면 정보에서 모든 노드들을 임시 대상 대응 노드와의 노드 거리에 따라 분류하는 단계;
제2도면 정보에서 모든 노드들의 노드 유형 정보를 기초로 노드 거리에 따른 대응 노드 유형 벡터를 생성하는 단계;
노드 거리를 증가시키며 동일한 노드 거리에 따른 노드 유형 벡터와 대응 노드 유형 벡터 사이의 벡터 거리를 계산하는 단계;
벡터 거리와 노드 거리에 따른 가중치를 기초로 노드 거리에 따른 유사도를 계산하는 단계; 그리고
모든 임시 대상 대응 노드에 대한 모든 노드 거리에 따른 유사도를 기초로 대상 대응 노드를 검출하는 단계;
를 포함하며,
임의의 노드와의 노드 거리는 임의의 노드와 해당 노드 사이의 최소 엣지의 개수로 정의되고,
노드 거리에 따른 노드 유형 벡터는 해당 노드 거리에 존재하는 노드 유형의 분포로 정의되는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 11,
The calculation of similarity between node type vectors based on node distance is
Classifying all nodes in the first drawing information according to the node distance from the target node;
generating a node type vector according to node distance based on node type information of all nodes in the first drawing information;
Classifying all nodes in the second drawing information according to the node distance from the temporary target corresponding node;
generating a corresponding node type vector according to node distance based on node type information of all nodes in the second drawing information;
increasing the node distance and calculating a vector distance between the node type vector and the corresponding node type vector according to the same node distance;
Calculating similarity according to node distance based on a weight according to the vector distance and the node distance; and
detecting a target corresponding node based on similarity according to all node distances to all temporary target corresponding nodes;
Includes,
The node distance from any node is defined as the minimum number of edges between any node and that node,
A method of comparing the first drawing image and the second drawing image, where the node type vector according to the node distance is defined as the distribution of node types existing at the corresponding node distance.
제12항에 있어서,
상기 노드 거리는 0과 최대 노드 거리 사이의 값이며,
0인 노드 거리에 따른 노드 유형 벡터는 대상 노드의 노드 유형 벡터 또는 임시 대상 노드의 노드 유형 벡터인 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 12,
The node distance is a value between 0 and the maximum node distance,
A method of comparing the first drawing image and the second drawing image, where the node type vector according to the node distance of 0 is the node type vector of the target node or the node type vector of the temporary target node.
제12항에 있어서,
노드 거리에 따른 가중치는 노드 거리가 줄어들수록 커지도록 미리 설정된 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 12,
A method of comparing a first drawing image and a second drawing image in which the weight according to the node distance is preset to increase as the node distance decreases.
제12항에 있어서,
노드 거리에 따른 가중치는 해당 노드 거리에 동일한 노드 쌍으로 검출된 노드가 많을수록 작아지게 미리 설정되는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 12,
A method of comparing a first drawing image and a second drawing image in which the weight according to the node distance is preset to be smaller as more nodes are detected as the same node pair in the corresponding node distance.
제12항에 있어서,
대상 대응 노드를 검출하는 단계는
모든 노드 거리에 따른 유사도를 더하여 임의의 임시 대상 대응 노드에 대한 최종 유사도를 계산하는 단계; 그리고
최종 유사도가 최소인 임시 대상 대응 노드를 최종 대상 대응 노드로 검출하는 단계;
를 포함하는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 12,
The step of detecting the target corresponding node is
Calculating the final similarity for any temporary target corresponding node by adding the similarities according to all node distances; and
detecting a temporary target corresponding node with the minimum final similarity as a final target corresponding node;
A method of comparing a first drawing image and a second drawing image including.
제9항에 있어서,
제어기에 의하여, 제1그래프 구조의 적어도 하나의 대상 노드가 제2그래프 구조의 적어도 하나의 대상 대응 노드와 동일하지 않거나 제1그래프 구조의 적어도 하나의 엣지가 제2그래프 구조의 적어도 하나의 대응 엣지와 동일하지 않은 것으로 판단되면, 제1도면 이미지와 제2도면 이미지가 동일하지 않음을 알리는 단계를 더 포함하는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 9,
By the controller, at least one target node of the first graph structure is not identical to at least one target corresponding node of the second graph structure or at least one edge of the first graph structure is equal to at least one corresponding edge of the second graph structure. If it is determined that the first drawing image and the second drawing image are not the same, the method of comparing the first drawing image and the second drawing image further includes the step of notifying that the first drawing image and the second drawing image are not the same.
제17항에 있어서,
동일하지 않은 노드 쌍 및/또는 동일하지 않은 엣지 쌍을 나열하는 단계를 더 포함하는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 17,
A method for comparing a first drawing image and a second drawing image, further comprising listing non-identical node pairs and/or non-identical edge pairs.
제17항에 있어서,
동일하지 않은 노드 쌍 및/또는 동일하지 않은 엣지 쌍을 제1, 2그래프 구조 중 하나에 표시하는 단계를 더 포함하는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 17,
A method for comparing a first drawing image and a second drawing image, further comprising displaying non-identical node pairs and/or non-identical edge pairs in one of the first and second graph structures.
제17항에 있어서,
동일하지 않은 노드 쌍 및/또는 동일하지 않은 엣지 쌍에 대응되는 심볼 요소, 라인 요소 및/또는 텍스트 요소를 제1, 2도면 이미지 중 적어도 하나에 표시하는 단계를 더 포함하는 제1도면 이미지와 제2도면 이미지를 비교하는 방법.
According to clause 17,
The first drawing image and the second drawing image further comprising the step of displaying symbol elements, line elements, and/or text elements corresponding to non-identical node pairs and/or non-identical edge pairs on at least one of the first and second drawing images. How to compare two drawing images.
KR1020230040588A 2022-03-31 2023-03-28 Method of extracting drawing information from 2-dimensional drawing image in graph structure and method of comparing one drawing image with another drawing image KR20230141582A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220040651 2022-03-31
KR1020220040651 2022-03-31

Publications (1)

Publication Number Publication Date
KR20230141582A true KR20230141582A (en) 2023-10-10

Family

ID=88292426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230040588A KR20230141582A (en) 2022-03-31 2023-03-28 Method of extracting drawing information from 2-dimensional drawing image in graph structure and method of comparing one drawing image with another drawing image

Country Status (1)

Country Link
KR (1) KR20230141582A (en)

Similar Documents

Publication Publication Date Title
JP6069489B2 (en) Object recognition apparatus, object recognition method, and program
CN109426835B (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP2602596B2 (en) Method and apparatus for improving the prototype of similar characters in online handwritten character recognition
JP2018200685A (en) Forming of data set for fully supervised learning
Fahn et al. A topology-based component extractor for understanding electronic circuit diagrams
JP7353946B2 (en) Annotation device and method
CN109343920B (en) Image processing method and device, equipment and storage medium thereof
CN109712108B (en) Visual positioning method for generating network based on diversity discrimination candidate frame
CN106164932B (en) The method and apparatus of music symbol for identification
CN108334805B (en) Method and device for detecting document reading sequence
CN113343740B (en) Table detection method, device, equipment and storage medium
JP2018081674A (en) Method for line and word segmentation for handwritten text images
US20160098615A1 (en) Apparatus and method for producing image processing filter
CN113239818B (en) Table cross-modal information extraction method based on segmentation and graph convolution neural network
JP2019102061A (en) Text line segmentation method
JP7298825B2 (en) Learning support device, learning device, learning support method, and learning support program
CN114743062A (en) Building feature identification method and device
JP7451373B2 (en) Drawing structuring system and drawing structuring method
JP2015099566A (en) Feature calculation device, method and program
EP3998577A1 (en) Object detection device, object detection method, and program
KR102068489B1 (en) 3d object creation apparatus
CN109978829B (en) Detection method and system for object to be detected
KR20230141582A (en) Method of extracting drawing information from 2-dimensional drawing image in graph structure and method of comparing one drawing image with another drawing image
CN115719507A (en) Image identification method and device and electronic equipment
CN113505750A (en) Identification method, device, electronic equipment and computer readable storage medium