KR102638388B1 - Object recognition system, object recognition method and computer program stored in a recording medium to execute the method - Google Patents

Object recognition system, object recognition method and computer program stored in a recording medium to execute the method Download PDF

Info

Publication number
KR102638388B1
KR102638388B1 KR1020210071884A KR20210071884A KR102638388B1 KR 102638388 B1 KR102638388 B1 KR 102638388B1 KR 1020210071884 A KR1020210071884 A KR 1020210071884A KR 20210071884 A KR20210071884 A KR 20210071884A KR 102638388 B1 KR102638388 B1 KR 102638388B1
Authority
KR
South Korea
Prior art keywords
objects
diagram image
symbol
overlapping
extracted
Prior art date
Application number
KR1020210071884A
Other languages
Korean (ko)
Other versions
KR20220163579A (en
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 고려대학교 산학협력단
Priority to KR1020210071884A priority Critical patent/KR102638388B1/en
Publication of KR20220163579A publication Critical patent/KR20220163579A/en
Application granted granted Critical
Publication of KR102638388B1 publication Critical patent/KR102638388B1/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Abstract

개시된 발명의 일 실시예에 따른 객체 인식 방법은, (a) 객체 추출부에 의해, 상기 다이어그램 이미지로부터 상기 심볼들을 포함하는 객체들을 추출하는 단계; (b) 중첩 비율 산출부에 의해, 추출된 객체들의 중첩 영역과 상기 객체들의 영역 간의 중첩 비율을 산출하는 단계; 및 (c) 중복 객체 판단부에 의해, 상기 중첩 비율을 상기 객체들의 유형에 따라 결정되는 기준 임계값과 비교하여 상기 객체들이 중복 객체에 해당하는지 여부를 판단하는 단계;를 포함할 수 있다.An object recognition method according to an embodiment of the disclosed invention includes the steps of: (a) extracting objects including the symbols from the diagram image by an object extractor; (b) calculating, by an overlap ratio calculation unit, an overlap ratio between the overlapping areas of the extracted objects and the areas of the objects; and (c) determining, by a duplicate object determination unit, whether the objects correspond to duplicate objects by comparing the overlap ratio with a reference threshold determined according to the types of the objects.

Description

객체 인식 시스템, 객체 인식 방법 및 객체 인식 방법을 실행시키도록 기록매체에 저장된 컴퓨터 프로그램{OBJECT RECOGNITION SYSTEM, OBJECT RECOGNITION METHOD AND COMPUTER PROGRAM STORED IN A RECORDING MEDIUM TO EXECUTE THE METHOD}OBJECT RECOGNITION SYSTEM, OBJECT RECOGNITION METHOD AND COMPUTER PROGRAM STORED IN A RECORDING MEDIUM TO EXECUTE THE METHOD}

본 발명은 추출된 객체의 심볼 타입에 따라 다른 기준을 적용하여 해당 객체가 중첩된 객체인지 여부를 판단함으로써 다이어그램 이미지의 심볼에 대한 객체 인식 성능을 개선할 수 있는 객체 인식 시스템 및 객체 인식 방법에 관한 것이다.The present invention relates to an object recognition system and object recognition method that can improve object recognition performance for symbols in diagram images by applying different criteria depending on the symbol type of the extracted object to determine whether the object is an overlapped object. will be.

공정 플랜트 (process plant) 산업에 사용되는 대표적인 다이어그램 (diagram)으로 P&ID (piping and instrumentation diagram)이 있다. P&ID는 PFD (process flow diagram)를 기준으로 작성이 되며 각 공정 (process)을 구성하는 주요 기자재 (equipment and materials)와 유체의 흐름을 상세하게 표현한다.A representative diagram used in the process plant industry is the P&ID (piping and instrumentation diagram). P&ID is prepared based on PFD (process flow diagram) and expresses in detail the flow of major equipment and materials and fluids that make up each process.

이러한 P&ID는 플랜트의 기본 설계 (basic design)를 전달하는 기본 매체이며 상세 설계 (detail design), 구매 및 조달, 시공 (construction), 및 시운전 (commissioning)의 기본 자료로 활용된다.This P&ID is the basic medium that conveys the basic design of the plant and is used as basic data for detailed design, purchasing and procurement, construction, and commissioning.

한편, 신규로 건설되는 플랜트에서도 FEED(front end engineering and design)단계에서 생성된 P&ID나 기자재 제작사에서 제공한 P&ID는, 계약 관계나 지적자산 보안 이슈로 인해서, 이미지 형식을 갖는 경우가 많다.Meanwhile, even in newly constructed plants, the P&ID created in the FEED (front end engineering and design) stage or the P&ID provided by the equipment manufacturer often has an image format due to contractual relationships or intellectual property security issues.

플랜트 운영사는 플랜트 운영과정에서 지속적으로 플랜트의 개선 및 확장을 하게 되는데 이때 외부 협력사로부터 이미지 형식의 P&ID를 받게 되는 경우가 많다. 플랜트 운영사가 디지털 P&ID를 적용할 수도 있으나, 장기간 운영 중인 노후 플랜트의 경우 대량의 P&ID가 이미지 형식으로 저장되어 있을 수 있다.Plant operators continuously improve and expand the plant during the plant operation process, and often receive P&IDs in image format from external partners. Plant operators may apply digital P&ID, but in the case of old plants operating for a long time, a large amount of P&ID may be stored in image format.

이에 따라 플랜트 산업에서 이미지 형식의 P&ID를 디지털 P&ID로 변환할 필요가 발생할 수 있다. 이때, 이미지 형식의 P&ID를 디지털 P&ID로 전환하기 위해서 P&ID에 포함된 심볼을 보다 잘 인식하는 기술이 필요하다.Accordingly, in the plant industry, there may be a need to convert P&ID in image format to digital P&ID. At this time, in order to convert the image format P&ID into a digital P&ID, technology is needed to better recognize the symbols included in the P&ID.

본 발명은 다이어그램 이미지로부터 추출된 객체들이 중복 객체에 해당하는지 여부를 정확하게 판단할 수 있고, 중복 객체에 해당하지 않는 객체가 중복 객체로 잘못 인식되는 것을 방지할 수 있으며, 심볼 인식 정확도를 향상시킬 수 있는 객체 인식 시스템, 객체 인식 방법 및 컴퓨터 프로그램을 제공하기 위한 것이다.The present invention can accurately determine whether objects extracted from diagram images correspond to duplicate objects, prevent objects that do not correspond to duplicate objects from being incorrectly recognized as duplicate objects, and improve symbol recognition accuracy. It is intended to provide an object recognition system, object recognition method, and computer program.

또한, 본 발명은 다이어그램 이미지의 심볼 크기 편차에 따른 성능 저하를 보상할 수 있으며, 별도의 후처리 프로세스를 통해 높은 밀도의 심볼에 대한 인식 성능을 높일 수 있는 객체 인식 시스템, 객체 인식 방법 및 컴퓨터 프로그램을 제공하기 위한 것이다.In addition, the present invention is an object recognition system, object recognition method, and computer program that can compensate for performance degradation due to symbol size deviation in diagram images and can increase recognition performance for high-density symbols through a separate post-processing process. It is intended to provide.

개시된 발명의 일 측면에 따른 다수의 심볼들을 포함하는 다이어그램 이미지에서 객체를 인식하는 다이어그램 이미지의 객체 인식 방법은, (a) 객체 추출부에 의해, 상기 다이어그램 이미지로부터 상기 심볼들을 포함하는 객체들을 추출하는 단계; (b) 중첩 비율 산출부에 의해, 추출된 객체들의 중첩 영역과 상기 객체들의 영역 간의 중첩 비율을 산출하는 단계; 및 (c) 중복 객체 판단부에 의해, 상기 중첩 비율을 상기 객체들의 유형에 따라 결정되는 기준 임계값과 비교하여 상기 객체들이 중복 객체에 해당하는지 여부를 판단하는 단계;를 포함할 수 있다.An object recognition method of a diagram image for recognizing an object in a diagram image including a plurality of symbols according to an aspect of the disclosed invention includes (a) extracting objects including the symbols from the diagram image by an object extractor; step; (b) calculating, by an overlap ratio calculation unit, an overlap ratio between the overlapping areas of the extracted objects and the areas of the objects; and (c) determining, by a duplicate object determination unit, whether the objects correspond to duplicate objects by comparing the overlap ratio with a reference threshold determined according to the types of the objects.

또한, 상기 (c) 단계는: (c1) 상기 객체들의 크기와 형상을 분석하여 상기 객체들의 심볼 타입들을 결정하고, 상기 객체들의 심볼 타입들을 비교하는 단계; (c2) 상기 객체들의 심볼 타입들이 중첩 발생 빈도를 기반으로 결정되는 중첩 심볼 집합에 해당하는지 여부를 판단하는 단계; 및 (c3) 상기 심볼 타입들의 비교 결과 및 상기 중첩 심볼 집합에 해당하는지 여부에 따라 상기 중복 객체를 판단하는 단계를 포함할 수 있다.Additionally, step (c) includes: (c1) analyzing the size and shape of the objects to determine symbol types of the objects and comparing the symbol types of the objects; (c2) determining whether the symbol types of the objects correspond to an overlapping symbol set determined based on the frequency of overlapping occurrences; and (c3) determining the overlapping object according to a comparison result of the symbol types and whether it corresponds to the overlapping symbol set.

또한, 상기 (c3) 단계는: 상기 객체들의 심볼 타입들이 동일하지 않은 경우, 상기 객체들을 중복 객체가 아닌 것으로 판단하는 단계; 상기 객체들의 심볼 타입들이 동일하고, 상기 중첩 심볼 집합에 해당하는 경우, 상기 중첩 비율을 상기 심볼 타입에 따라 결정되는 제1 기준 임계값과 비교하여 상기 중복 객체를 판단하는 단계; 및 상기 객체들의 심볼 타입들이 동일하고, 상기 중첩 심볼 집합에 해당하지 않는 경우, 상기 중첩 비율을 상기 제1 기준 임계값보다 낮은 제2 기준 임계값과 비교하여 상기 중복 객체를 판단하는 단계;를 포함할 수 있다.Additionally, step (c3) includes: determining that the objects are not duplicate objects when the symbol types of the objects are not the same; When the symbol types of the objects are the same and correspond to the overlapping symbol set, determining the overlapping object by comparing the overlapping ratio with a first reference threshold determined according to the symbol type; And when the symbol types of the objects are the same and do not correspond to the overlapping symbol set, determining the overlapping object by comparing the overlapping ratio with a second reference threshold lower than the first reference threshold. can do.

또한, 상기 (c) 단계는: 상기 다이어그램 이미지로부터 추출된 객체를 포함하는 바운딩 박스를 생성하는 단계; 서로 겹쳐진 바운딩 박스들의 합쳐진 영역의 면적에 대한 겹쳐진 영역의 면적 비율로부터 상기 바운딩 박스들 간의 IOU 비율을 연산하는 단계; 상기 추출된 객체의 크기 및 형상을 기초로 심볼 타입을 결정하는 단계; 상기 결정된 심볼 타입을 기초로 상기 기준 임계값을 결정하는 단계; 상기 IOU 비율이 상기 기준 임계값 이상이면 상기 겹쳐진 바운딩 박스들 중 하나의 바운딩 박스를 제거하는 단계; 및 제거되지 않은 상기 바운딩 박스에 포함된 객체를 상기 바운딩 박스에 대응되는 심볼로 인식하는 단계;를 포함할 수 있다.Additionally, step (c) includes: generating a bounding box containing an object extracted from the diagram image; calculating an IOU ratio between the bounding boxes from a ratio of the area of the overlapping area to the area of the combined area of the overlapping bounding boxes; determining a symbol type based on the size and shape of the extracted object; determining the reference threshold based on the determined symbol type; removing one of the overlapping bounding boxes if the IOU ratio is greater than or equal to the reference threshold; and recognizing an object included in the bounding box that has not been removed as a symbol corresponding to the bounding box.

또한, 상기 심볼로 인식된 객체를 포함하는 바운딩 박스를 기초로, 상기 다이어그램 이미지에서의 상기 심볼의 위치 정보 또는 상기 심볼들의 리스트 중 적어도 하나를 생성하는 단계;를 더 포함할 수 있다.In addition, the method may further include generating at least one of position information of the symbol in the diagram image or a list of the symbols based on a bounding box including an object recognized as the symbol.

또한, 인공지능 학습부에 의해, 심볼의 특징을 입력 변수로 설정하고 상기 객체들의 유형을 출력 변수로 설정하여 인공지능 모델을 학습하는 단계;를 더 포함하고, 상기 (c) 단계는, 상기 추출된 객체로부터 상기 객체의 특징을 추출하는 단계; 및 상기 추출된 객체의 특징을 기초로 상기 인공지능 모델을 이용하여 상기 추출된 객체의 유형을 결정하는 단계;를 포함할 수 있다.In addition, it further includes the step of learning an artificial intelligence model by setting the characteristics of the symbol as an input variable and the types of the objects as an output variable by an artificial intelligence learning unit, wherein the step (c) includes the extraction. extracting features of the object from the object; and determining the type of the extracted object using the artificial intelligence model based on the characteristics of the extracted object.

또한, 전처리부에 의해, 상기 다이어그램 이미지의 크기를 변경하여 크기 변경 다이어그램 이미지를 생성하는 단계;를 더 포함하고, 상기 객체를 추출하는 단계는, 상기 객체 추출부에 의해, 상기 크기 변경 다이어그램 이미지에 포함되어 크기가 변경된 객체를 추출하는 단계;를 포함할 수 있다.In addition, the step of generating a size-changed diagram image by changing the size of the diagram image by a pre-processing unit, wherein the step of extracting the object includes adding the size-changed diagram image to the size-changed diagram image by the object extraction unit. A step of extracting the included object whose size has changed may be included.

또한, 전처리부에 의해, 상기 다이어그램 이미지를 분할하여 복수개의 분할 다이어그램 이미지를 생성하는 단계;를 더 포함하고, 상기 객체를 추출하는 단계는, 상기 객체 추출부에 의해, 상기 분할 다이어그램 이미지에 포함된 객체를 추출하는 단계;를 더 포함할 수 있다.In addition, the step of generating a plurality of segmented diagram images by dividing the diagram image by a preprocessor, wherein the step of extracting the object includes dividing the diagram image into a plurality of segmented diagram images by the object extracting unit. A step of extracting an object may be further included.

또한, 전처리부에 의해, 상기 다이어그램 이미지의 크기를 변경하여 크기 변경 다이어그램 이미지를 생성하고, 상기 다이어그램 이미지를 분할하여 복수개의 분할 다이어그램 이미지를 생성하는 단계;를 더 포함하고, 상기 객체를 추출하는 단계는, 상기 객체 추출부에 의해, 상기 크기 변경 다이어그램 이미지에 포함되어 크기가 변경된 객체 및 상기 분할 다이어그램 이미지에 포함된 객체를 기초로, 상기 다이어그램 이미지에 포함된 객체를 추출하는 단계;를 포함할 수 있다.In addition, the step of generating a size-changed diagram image by changing the size of the diagram image by a preprocessor, and generating a plurality of split diagram images by dividing the diagram image, and extracting the object. may include extracting, by the object extraction unit, an object included in the diagram image based on an object whose size has been changed and included in the size change diagram image and an object included in the segmented diagram image. there is.

또한, 텍스트 추출부에 의해, 상기 분할 다이어그램 이미지에 포함된 텍스트를 추출하여 상기 다이어그램 이미지의 텍스트를 인식하는 단계;를 더 포함할 수 있다.In addition, the method may further include extracting text included in the segmented diagram image by a text extraction unit and recognizing the text of the diagram image.

또한, 전처리부에 의해, 원본 다이어그램 이미지로부터 수평선을 추출하고, 추출된 수평선들 중 길이가 가장 긴 수평선을 결정하고, 상기 가장 긴 수평선에 연결된 모든 검정 픽셀을 추출하고, 상기 원본 다이어그램 이미지로부터 상기 추출된 검정 픽셀을 제거하여 상기 다이어그램 이미지를 생성하는 단계;를 더 포함할 수 있다.In addition, the preprocessor extracts a horizontal line from the original diagram image, determines the horizontal line with the longest length among the extracted horizontal lines, extracts all black pixels connected to the longest horizontal line, and extracts the horizontal line from the original diagram image. The method may further include generating the diagram image by removing black pixels.

개시된 발명의 일 측면에 따른 컴퓨터 프로그램은, 상기 객체 인식 방법을 실행시키도록 컴퓨터로 판독 가능한 기록매체에 저장될 수 있다.A computer program according to one aspect of the disclosed invention may be stored in a computer-readable recording medium to execute the object recognition method.

개시된 발명의 일 측면에 따른 다수의 심볼들을 포함하는 다이어그램 이미지에서 객체를 인식하는 다이어그램 이미지의 객체 인식 시스템은, 상기 다이어그램 이미지로부터 상기 심볼들을 포함하는 객체들을 추출하는 객체 추출부; 추출된 객체들의 중첩 영역과 상기 객체들의 영역 간의 중첩 비율을 산출하는 중첩 비율 산출부; 및 상기 중첩 비율을 상기 객체들의 유형에 따라 결정되는 기준 임계값과 비교하여 상기 객체들이 중복 객체에 해당하는지 여부를 판단하는 중복 객체 판단부;를 포함할 수 있다.An object recognition system for a diagram image that recognizes an object in a diagram image including a plurality of symbols according to an aspect of the disclosed invention includes an object extraction unit that extracts objects including the symbols from the diagram image; an overlap ratio calculation unit that calculates an overlap ratio between the overlapping areas of the extracted objects and the areas of the objects; and a duplicate object determination unit that determines whether the objects correspond to duplicate objects by comparing the overlap ratio with a reference threshold determined according to the types of objects.

또한, 상기 중복 객체 판단부는: 상기 객체들의 크기와 형상을 분석하여 상기 객체들의 심볼 타입들을 결정하고, 상기 객체들의 심볼 타입들을 비교하고; 상기 객체들의 심볼 타입들이 중첩 발생 빈도를 기반으로 결정되는 중첩 심볼 집합에 해당하는지 여부를 판단하고; 그리고 상기 심볼 타입들의 비교 결과 및 상기 중첩 심볼 집합에 해당하는지 여부에 따라 상기 중복 객체를 판단하도록 구성될 수 있다.In addition, the duplicate object determination unit: determines symbol types of the objects by analyzing the size and shape of the objects, and compares the symbol types of the objects; Determine whether the symbol types of the objects correspond to an overlapping symbol set determined based on the frequency of overlapping occurrences; And, the overlapping object may be determined according to a comparison result of the symbol types and whether it corresponds to the overlapping symbol set.

또한, 상기 중복 객체 판단부는: 상기 객체들의 심볼 타입들이 동일하지 않은 경우, 상기 객체들을 중복 객체가 아닌 것으로 판단하고; 상기 객체들의 심볼 타입들이 동일하고, 상기 중첩 심볼 집합에 해당하는 경우, 상기 중첩 비율을 상기 심볼 타입에 따라 결정되는 제1 기준 임계값과 비교하여 상기 중복 객체를 판단하고; 그리고 상기 객체들의 심볼 타입들이 동일하고, 상기 중첩 심볼 집합에 해당하지 않는 경우, 상기 중첩 비율을 상기 제1 기준 임계값보다 낮은 제2 기준 임계값과 비교하여 상기 중복 객체를 판단하도록 구성될 수 있다.Additionally, the duplicate object determination unit: determines that the objects are not duplicate objects when the symbol types of the objects are not the same; If the symbol types of the objects are the same and correspond to the overlapping symbol set, determine the overlapping object by comparing the overlapping ratio with a first reference threshold determined according to the symbol type; And when the symbol types of the objects are the same and do not correspond to the overlapping symbol set, the overlapping ratio is compared with a second reference threshold lower than the first reference threshold to determine the overlapping object. .

또한, 상기 중복 객체 판단부는: 상기 다이어그램 이미지로부터 추출된 객체를 포함하는 바운딩 박스를 생성하고; 서로 겹쳐진 바운딩 박스들의 합쳐진 영역의 면적에 대한 겹쳐진 영역의 면적 비율로부터 상기 바운딩 박스들 간의 IOU 비율을 연산하고; 상기 추출된 객체의 크기 및 형상을 기초로 심볼 타입을 결정하고; 상기 결정된 심볼 타입을 기초로 상기 기준 임계값을 결정하고; 상기 IOU 비율이 상기 기준 임계값 이상이면 상기 겹쳐진 바운딩 박스들 중 하나의 바운딩 박스를 제거하고; 그리고 제거되지 않은 상기 바운딩 박스에 포함된 객체를 상기 바운딩 박스에 대응되는 심볼로 인식하도록 구성될 수 있다.Additionally, the duplicate object determination unit: generates a bounding box including an object extracted from the diagram image; Calculate the IOU ratio between the bounding boxes from the ratio of the area of the overlapped area to the area of the combined area of the overlapping bounding boxes; determine a symbol type based on the size and shape of the extracted object; determine the reference threshold based on the determined symbol type; if the IOU ratio is greater than or equal to the reference threshold, remove one bounding box of the overlapping bounding boxes; Additionally, it may be configured to recognize an object included in the bounding box that has not been removed as a symbol corresponding to the bounding box.

또한, 상기 심볼로 인식된 객체를 포함하는 바운딩 박스를 기초로, 상기 다이어그램 이미지에서의 상기 심볼의 위치 정보 또는 상기 심볼들의 리스트 중 적어도 하나를 생성하도록 구성되는 프로세서;를 더 포함할 수 있다.In addition, it may further include a processor configured to generate at least one of position information of the symbol in the diagram image or a list of the symbols, based on a bounding box including an object recognized as the symbol.

또한, 심볼의 특징을 입력 변수로 설정하고 상기 객체들의 유형을 출력 변수로 설정하여 인공지능 모델을 학습하도록 구성되는 인공지능 학습부;를 더 포함하고, 상기 중복 객체 판단부는: 상기 추출된 객체로부터 상기 객체의 특징을 추출하고; 그리고 상기 추출된 객체의 특징을 기초로 상기 인공지능 모델을 이용하여 상기 추출된 객체의 유형을 결정하도록 구성될 수 있다.In addition, it further includes an artificial intelligence learning unit configured to learn an artificial intelligence model by setting the characteristics of the symbol as an input variable and the types of the objects as an output variable, wherein the duplicate object determination unit: selects the extracted object from the extracted object. extract features of the object; And it may be configured to determine the type of the extracted object using the artificial intelligence model based on the characteristics of the extracted object.

또한, 상기 다이어그램 이미지의 크기를 변경하여 크기 변경 다이어그램 이미지를 생성하고, 상기 다이어그램 이미지를 분할하여 복수개의 분할 다이어그램 이미지를 생성하도록 구성되는 전처리부;를 더 포함하고, 상기 객체 추출부는, 상기 크기 변경 다이어그램 이미지에 포함되어 크기가 변경된 객체 및 상기 분할 다이어그램 이미지에 포함된 객체를 기초로, 상기 다이어그램 이미지에 포함된 객체를 추출하도록 구성될 수 있다.In addition, it further includes a preprocessor configured to change the size of the diagram image to generate a size-changed diagram image, and to divide the diagram image to generate a plurality of split diagram images, wherein the object extractor is configured to change the size. It may be configured to extract objects included in the diagram image based on objects included in the diagram image and whose size has been changed and objects included in the split diagram image.

또한, 상기 분할 다이어그램 이미지에 포함된 텍스트를 추출하여 상기 다이어그램 이미지의 텍스트를 인식하도록 구성되는 텍스트 추출부;를 더 포함할 수 있다.In addition, it may further include a text extraction unit configured to extract text included in the segmented diagram image and recognize the text of the diagram image.

또한, 원본 다이어그램 이미지로부터 수평선을 추출하고, 추출된 수평선들 중 길이가 가장 긴 수평선을 결정하고, 상기 가장 긴 수평선에 연결된 모든 검정 픽셀을 추출하고, 상기 원본 다이어그램 이미지로부터 상기 추출된 검정 픽셀을 제거하여 상기 다이어그램 이미지를 생성하도록 구성되는 전처리부;를 포함할 수 있다.Additionally, a horizontal line is extracted from the original diagram image, a horizontal line with the longest length among the extracted horizontal lines is determined, all black pixels connected to the longest horizontal line are extracted, and the extracted black pixels are removed from the original diagram image. It may include a pre-processing unit configured to generate the diagram image.

개시된 발명의 일 측면에 따르면, 다이어그램 이미지로부터 추출된 객체들이 중복 객체에 해당하는지 여부를 정확하게 판단할 수 있고, 중복 객체에 해당하지 않는 객체가 중복 객체로 잘못 인식되는 것을 방지할 수 있으며, 심볼 인식 정확도를 향상시킬 수 있다.According to one aspect of the disclosed invention, it is possible to accurately determine whether objects extracted from a diagram image correspond to duplicate objects, prevent objects that do not correspond to duplicate objects from being incorrectly recognized as duplicate objects, and symbolize recognition. Accuracy can be improved.

또한, 본 발명의 실시예에 의하면, 다이어그램 이미지의 심볼 크기 편차에 따른 성능 저하를 보상할 수 있으며, 별도의 후처리 프로세스를 통해 높은 밀도의 심볼에 대한 인식 성능을 높일 수 있다.In addition, according to an embodiment of the present invention, performance degradation due to symbol size deviation of the diagram image can be compensated, and recognition performance for high-density symbols can be improved through a separate post-processing process.

또한, 본 발명의 실시예에 의하면, 회전 판단(rotation estimation) 과정을 통해 각 문자열 영역이 회전된 문자열인지, 회전되지 않은 문자열인지를 구분하여 문자열을 인식함으로써 문자열의 인식 성능을 향상시킬 수 있다.Additionally, according to an embodiment of the present invention, string recognition performance can be improved by recognizing a string by distinguishing whether each string area is a rotated string or an unrotated string through a rotation estimation process.

도 1은 일 실시예에 따른 객체 인식 시스템의 구성도이다.
도 2는 객체 인식을 실패하는 경우를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 심볼 타입을 분류한 표이다.
도 4는 인식된 객체를 중복 객체로 잘못 판단하는 것을 설명하기 위한 도면이다.
도 5는 일 실시예에 따라 인식된 객체에 서로 다른 기준 임계값을 적용했을 때의 차이점을 설명하기 위한 도면이다.
도 6은 일 실시예에 따라 생성된 심볼들의 리스트를 도시한 도면이다.
도 7은 일 실시예에 따른 인공지능 모델의 데이터 구조를 나타낸 도면이다.
도 8은 일 실시예에 따라 크기 변경 다이어그램 이미지 및 분할 다이어그램 이미지에 포함된 객체를 추출하는 과정을 도시한 도면이다.
도 9는 일 실시예에 따라 다이어그램 이미지에 포함된 텍스트를 인식하는 과정을 도시한 도면이다.
도 10은 일 실시예에 따라 텍스트를 추출하는 과정을 도시한 도면이다.
도 11은 원본 다이어그램 이미지를 전처리하는 과정을 도시한 도면이다.
도 12는 일 실시예에 따른 객체 인식 방법의 순서도이다.
도 13은 또 다른 실시예에 따른 객체 인식 방법의 순서도이다.
1 is a configuration diagram of an object recognition system according to an embodiment.
Figure 2 is a diagram for explaining a case where object recognition fails.
Figure 3 is a table classifying symbol types according to one embodiment.
Figure 4 is a diagram to explain incorrectly judging a recognized object as a duplicate object.
FIG. 5 is a diagram illustrating differences when different reference thresholds are applied to recognized objects according to an embodiment.
Figure 6 is a diagram illustrating a list of symbols created according to one embodiment.
Figure 7 is a diagram showing the data structure of an artificial intelligence model according to an embodiment.
FIG. 8 is a diagram illustrating a process for extracting objects included in a size change diagram image and a split diagram image according to an embodiment.
FIG. 9 is a diagram illustrating a process for recognizing text included in a diagram image according to an embodiment.
Figure 10 is a diagram illustrating a process for extracting text according to one embodiment.
Figure 11 is a diagram showing the process of preprocessing an original diagram image.
Figure 12 is a flowchart of an object recognition method according to an embodiment.
13 is a flowchart of an object recognition method according to another embodiment.

명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 개시된 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '~부'라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '~부'가 하나의 구성요소로 구현되거나, 하나의 '~부'가 복수의 구성요소들을 포함하는 것도 가능하다.Like reference numerals refer to like elements throughout the specification. This specification does not describe all elements of the embodiments, and general content or overlapping content between the embodiments in the technical field to which the disclosed invention pertains is omitted. The term '~unit' used in the specification may be implemented as software or hardware, and depending on the embodiments, multiple '~units' may be implemented as one component, or one '~unit' may be implemented as a plurality of components. It is also possible to include elements.

또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Additionally, when a part "includes" a certain component, this means that it may further include other components rather than excluding other components, unless specifically stated to the contrary.

제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.Terms such as first and second are used to distinguish one component from another component, and the components are not limited by the above-mentioned terms.

단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.Singular expressions include plural expressions unless the context clearly makes an exception.

각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.The identification code for each step is used for convenience of explanation. The identification code does not explain the order of each step, and each step may be performed differently from the specified order unless a specific order is clearly stated in the context. there is.

이하 첨부된 도면들을 참고하여 개시된 발명의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, the operating principle and embodiments of the disclosed invention will be described with reference to the attached drawings.

도 1은 일 실시예에 따른 객체 인식 시스템의 구성도이다.1 is a configuration diagram of an object recognition system according to an embodiment.

도 1을 참조하면, 본 발명의 실시예에 따른 객체 인식 시스템(100)은, 객체 추출부(110), 중첩 비율 산출부(120), 중복 객체 판단부(130), 전처리부(140), 프로세서(150), 인공지능 학습부(160), 메모리(170)를 포함할 수 있다.Referring to FIG. 1, the object recognition system 100 according to an embodiment of the present invention includes an object extraction unit 110, an overlap ratio calculation unit 120, a duplicate object determination unit 130, a preprocessor 140, It may include a processor 150, an artificial intelligence learning unit 160, and a memory 170.

다이어그램 이미지(200)는 이미지 데이터의 형태로 객체 인식 시스템(100)에 입력될 수 있다.The diagram image 200 may be input to the object recognition system 100 in the form of image data.

다이어그램 이미지(200)는 공정 플랜트 산업에 사용되는 다이어그램(diagram)일 수 있다. 예를 들어, 다이어그램 이미지(200)는 P&ID(piping and instrumentation diagram)일 수 있으나, 이에 한정되는 것은 아니다.The diagram image 200 may be a diagram used in the process plant industry. For example, the diagram image 200 may be a piping and instrumentation diagram (P&ID), but is not limited thereto.

다이어그램 이미지(200)는 PFD(process flow diagram)를 기준으로 작성될 수 있으며, 각 공정(process)을 구성하는 주요 기자재(equipment and materials)와 유체의 흐름을 상세하게 표현할 수 있다. 즉, 다이어그램 이미지(200)는 플랜트의 기본 설계를 전달하는 기본매체일 수 있으며, 상세 설계, 구매, 조달, 시공 및 시운전의 기본 자료로 활용되는 이미지일 수 있다.The diagram image 200 can be created based on a process flow diagram (PFD) and can express in detail the flow of major equipment and materials and fluids that make up each process. In other words, the diagram image 200 may be a basic medium that conveys the basic design of the plant, and may be an image used as basic data for detailed design, purchase, procurement, construction, and commissioning.

객체 인식 시스템(100)은 다수의 심볼(300)들을 포함하는 다이어그램 이미지(200)에서 객체(400)를 인식할 수 있다.The object recognition system 100 may recognize the object 400 in the diagram image 200 including a plurality of symbols 300.

객체 추출부(110)는 다이어그램 이미지(200)로부터 객체(400)들을 추출할 수 있다.The object extraction unit 110 may extract objects 400 from the diagram image 200.

객체(400)는 심볼(300)을 포함할 수 있다. 즉, 객체 인식 시스템(100)은 다이어그램 이미지(200)로부터 객체(400)를 추출하면, 추출된 객체(400)에 포함된 심볼(300)을 인식할 수 있다.Object 400 may include symbol 300. That is, when the object recognition system 100 extracts the object 400 from the diagram image 200, it can recognize the symbol 300 included in the extracted object 400.

한편, 객체 추출부(110)는 다이어그램 이미지(200)로부터 복수개의 객체(400)들을 추출하게 되며, 이때 두개의 추출된 객체(400)들 각각이 차지하고 있는 영역들은 서로 겹쳐질 수 있다.Meanwhile, the object extraction unit 110 extracts a plurality of objects 400 from the diagram image 200, and at this time, the areas occupied by each of the two extracted objects 400 may overlap each other.

객체 추출부(110)는 종래의 객체 검출(Object detection)을 통하여 다이어그램 이미지(200) 내에 존재하는 객체(400)의 위치를 탐지할 수 있다.The object extractor 110 may detect the location of the object 400 existing in the diagram image 200 through conventional object detection.

중첩 비율 산출부(120)는 추출된 객체(400)들의 중첩 영역(501)과 객체들의 영역(500) 간의 중첩 비율을 산출할 수 있다.The overlap ratio calculation unit 120 may calculate the overlap ratio between the overlap area 501 of the extracted objects 400 and the area 500 of the objects.

중첩 영역(501)은 추출된 두개의 객체(400)가 겹쳐졌을 때 겹쳐진 영역의 면적일 수 있다.The overlap area 501 may be the area of the overlapped area when two extracted objects 400 overlap.

또한, 객체들의 영역(500)은 추출된 두개의 객체(400)가 겹쳐졌을 때, 해당 객체(400)들이 차지하고 있는 총 면적일 수 있다. 즉, 객체들의 영역(500)은 각 객체(400)의 영역을 합친 값에 중첩 영역(501)을 뺀 값일 수 있다.Additionally, the area 500 of objects may be the total area occupied by the two extracted objects 400 when they overlap. That is, the area 500 of the objects may be the sum of the areas of each object 400 minus the overlapping area 501.

중첩 비율은 객체들의 영역(500)에 대한 중첩 영역(501)의 비율일 수 있다. 즉, 중첩 비율은 어느 두 객체(400)가 겹쳐졌을 때, 해당 객체(400)들이 겹쳐진 비율을 나타낸 값일 수 있다.The overlap ratio may be the ratio of the overlapping area 501 to the area 500 of objects. That is, the overlap ratio may be a value representing the ratio of the overlapped objects 400 when any two objects 400 overlap.

중복 객체 판단부(130)는 중첩 비율을 객체(400)들의 유형에 따라 결정되는 기준 임계값과 비교하여 객체(400)들이 중복 객체(401)에 해당하는지 여부를 판단할 수 있다.The duplicate object determination unit 130 may determine whether the objects 400 correspond to the duplicate objects 401 by comparing the overlap ratio with a reference threshold determined according to the type of the objects 400.

객체(400)들의 유형은 다이어그램 이미지(200)로부터 추출될 수 있는 객체(400)들의 종류일 수 있다. 또한, 객체(400)들의 유형은 다이어그램 이미지(200)로부터 추출될 수 있는 어느 한 객체(400)의 형태에 대한 유형일 수도 있으나. 복수개의 객체(400)들이 이루고 있는 형태에 대한 유형일 수도 있다.The types of objects 400 may be types of objects 400 that can be extracted from the diagram image 200. Additionally, the type of the objects 400 may be a type of the shape of an object 400 that can be extracted from the diagram image 200. It may be a type of the form formed by a plurality of objects 400.

객체(400)가 다이어그램 이미지(200)에 포함된 심볼(300)일 경우, 객체(400)들의 유형은 객체(400)들의 심볼 타입일 수 있다. 이러한 심볼 타입은 각 심볼(300)들의 크기 및 형상에 따라 미리 분류하여 결정될 수 있다.When the object 400 is a symbol 300 included in the diagram image 200, the type of the object 400 may be the symbol type of the object 400. These symbol types can be determined by pre-classifying each symbol 300 according to its size and shape.

기준 임계값은 추출된 두 객체(400)의 영역이 서로 겹쳐졌을 경우, 해당 두 객체(400)들이 중복 객체(401)에 해당되는지 여부를 판단하는데 기준이 되는 값일 수 있다. 즉, 기준 임계값은 0 내지 1 사이의 수치를 가질 수 있다. 기준 임계값은 미리 설정될 수 있다.The reference threshold may be a standard value for determining whether the two extracted objects 400 correspond to the overlapping object 401 when the areas of the two extracted objects 400 overlap. That is, the reference threshold may have a value between 0 and 1. The reference threshold may be set in advance.

추출된 두 객체(400)가 사실은 하나의 객체(400)로 인식되어야 하는 경우 임에도 별개의 객체(400)로 인식된 것일 수 있다. 이때, 중복 객체 판단부(130)는 해당 추출된 두 객체(400)를 중복 객체(401)로 판단할 수 있다.Although the two extracted objects 400 should in fact be recognized as one object 400, they may be recognized as separate objects 400. At this time, the duplicate object determination unit 130 may determine that the two extracted objects 400 are duplicate objects 401.

중복 객체 판단부(130)는 동일한 객체(400)로 탐지된 객체(400)들 사이의 중첩 비율이 기준 임계값을 초과하면, 해당 객체(400)들을 중복 객체(401)라고 판단할 수 있다. 이때, 객체(400)들의 유형마다 기준 임계값이 다르므로, 같은 중첩 비율인 경우라 하더라도, 중복 객체 판단부(130)는 어느 두 객체(400)에 대해서는 중복 객체(401)라 판단하고, 또 다른 두 객체(400)에 대해서는 중복 객체(401)가 아니라고 판단할 수 있다.If the overlap ratio between objects 400 detected as the same object 400 exceeds the reference threshold, the duplicate object determination unit 130 may determine that the objects 400 are duplicate objects 401. At this time, since the reference threshold is different for each type of object 400, even if the overlap ratio is the same, the duplicate object determination unit 130 determines that any two objects 400 are duplicate objects 401, and It may be determined that the other two objects 400 are not duplicate objects 401.

프로세서(150)는 중복 객체(401)로 판단된 두 객체(400) 중 보다 인식이 잘 되는 객체(400)만을 심볼(300)로 인식하고, 나머지 한 객체(400)에 대해서는 심볼(300)로 인식하지 않을 수 있다. 결과적으로, 프로세서(150)는 본래 하나의 객체(400)로 추출되어야 했던 하나의 심볼(300)을 두개의 심볼(300)로 잘 못 인식하는 일이 없도록 할 수 있다.The processor 150 recognizes only the more recognizable object 400 among the two objects 400 determined to be duplicate objects 401 as the symbol 300, and recognizes the remaining object 400 as the symbol 300. You may not recognize it. As a result, the processor 150 can prevent one symbol 300, which was originally supposed to be extracted as one object 400, from being mistakenly recognized as two symbols 300.

전처리부(140), 객체 추출부(110), 중첩 비율 산출부(120), 중복 객체 판단부(130), 인공지능 학습부(160)는 객체 인식 시스템(100)에 포함된 복수개의 프로세서(150) 중 어느 하나의 프로세서(150)를 포함할 수 있다. 또한, 지금까지 설명된 본 발명의 실시예 및 앞으로 설명할 실시예에 따른 객체 인식 방법은, 프로세서(150)에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다.The pre-processing unit 140, the object extraction unit 110, the overlap ratio calculation unit 120, the duplicate object determination unit 130, and the artificial intelligence learning unit 160 include a plurality of processors included in the object recognition system 100 ( 150) may include any one processor 150. Additionally, the object recognition method according to the embodiments of the present invention described so far and the embodiments to be described in the future may be implemented in the form of a program that can be driven by the processor 150.

여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 부호 수정을 위한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 전술한 정보 표시 방법을 구현하기 위한 프로그램은, 프로세서(150)에 의해 판독 가능한 기록매체에 기록될 수 있다. 이때, 기록매체는 메모리(170)일 수 있다.Here, the program may include program instructions, data files, and data structures, etc., singly or in combination. Programs may be designed and produced using machine code or high-level language code. The program may be specially designed to implement the above-described method for modifying the code, or may be implemented using various functions or definitions known and available to those skilled in the art in the field of computer software. A program for implementing the above-described information display method may be recorded on a recording medium readable by the processor 150. At this time, the recording medium may be the memory 170.

메모리(170)는 전술한 동작 및 후술하는 동작을 수행하는 프로그램을 저장할 수 있으며, 메모리(170)는 저장된 프로그램을 실행시킬 수 있다. 프로세서(150)와 메모리(170)가 복수인 경우에, 이들이 하나의 칩에 집적되는 것도 가능하고, 물리적으로 분리된 위치에 마련되는 것도 가능하다. 메모리(170)는 데이터를 일시적으로 기억하기 위한 S램(Static Random Access Memory, S-RAM), D랩(Dynamic Random Access Memory) 등의 휘발성 메모리를 포함할 수 있다. 또한, 메모리(170)는 제어 프로그램 및 제어 데이터를 장기간 저장하기 위한 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수 있다.The memory 170 can store programs that perform the operations described above and operations described later, and the memory 170 can execute the stored programs. When the processor 150 and the memory 170 are plural, they may be integrated into one chip or may be provided in physically separate locations. The memory 170 may include volatile memory such as Static Random Access Memory (S-RAM) or Dynamic Random Access Memory (D-Lab) for temporarily storing data. In addition, the memory 170 includes read only memory (ROM), erasable programmable read only memory (EPROM), and electrically erasable programmable read only memory (EEPROM) for long-term storage of control programs and control data. May include non-volatile memory.

프로세서(150)는 각종 논리 회로와 연산 회로를 포함할 수 있으며, 메모리(170)로부터 제공된 프로그램에 따라 데이터를 처리하고, 처리 결과에 따라 제어 신호를 생성할 수 있다.The processor 150 may include various logic circuits and operation circuits, process data according to a program provided from the memory 170, and generate control signals according to the processing results.

도 2는 객체 인식을 실패하는 경우를 설명하기 위한 도면이고, 도 3은 일 실시예에 따른 심볼 타입을 분류한 표이며, 도 4는 인식된 객체를 중복 객체로 잘못 판단하는 것을 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining a case where object recognition fails, FIG. 3 is a table classifying symbol types according to an embodiment, and FIG. 4 is a diagram for explaining incorrectly judging a recognized object as a duplicate object. am.

도 2를 참조하면, 다이어그램 이미지(200)에서 크기가 큰 심볼(300)들에 대해서는 처음부터 객체(400)를 추출하지 못하여 심볼(300)을 검출하지 못하는 경우가 있음을 확인할 수 있다. 이러한 큰 심볼(300)에 대해서는 학습 데이터가 충분할 경우 성공적으로 검출할 수 있다.Referring to FIG. 2, it can be seen that for symbols 300 that are large in size in the diagram image 200, there are cases where the object 400 cannot be extracted from the beginning and thus the symbol 300 cannot be detected. Such a large symbol 300 can be successfully detected if there is sufficient learning data.

다이어그램 이미지(200)에서 크기가 작은 심볼(300)들에 대해서는 주로 유사한 형상을 가지는 다른 심볼(300)로 오인식하는 경우가 있음을 확인할 수 있다. 따라서, 작은 심볼(300)들의 경우 단순히 객체(400)를 추출하지 못하여 오류가 발생하는 것이 아니라, 추출된 객체(400)를 다른 심볼(300)로 잘못 인식하여 오류가 발생할 수 있음을 확인할 수 있다.It can be seen that small-sized symbols 300 in the diagram image 200 are often misrecognized as other symbols 300 having similar shapes. Therefore, in the case of small symbols 300, it can be confirmed that errors may occur not simply because the object 400 cannot be extracted, but because the extracted object 400 is incorrectly recognized as another symbol 300. .

도 3을 참조하면, 다이어그램 이미지(200)에 포함될 수 있는 심볼(300)들이 심볼 타입별로 분류될 수 있음을 확인할 수 있다. 즉, 심볼(300)들은 도시된 바와 같이 5개의 심볼 타입으로 분류될 수 있으나, 분류되는 방식 또는 타입이 이에 한정되는 것은 아니며, 각 심볼(300)들의 특징에 따라 다른 다양한 방식으로 분류될 수도 있다.Referring to FIG. 3, it can be seen that symbols 300 that can be included in the diagram image 200 can be classified by symbol type. That is, the symbols 300 may be classified into five symbol types as shown, but the classification method or type is not limited to this, and may be classified in various other ways depending on the characteristics of each symbol 300. .

추출된 객체(400)로부터 인식되는 심볼(300)의 심볼 타입에 따라 복수개의 심볼(300)임에도 하나의 심볼(300)로 잘못 인식되는 정도가 다를 수 있다. 즉, 본래 두개의 객체(400)로 인식되어 결과적으로 두개의 심볼(300)로 인식되어야 함에도 하나의 심볼(300)로 잘못 인식되는 정도는 해당 심볼(300)의 형태, 타입에 따라 달라질 수 있다.Depending on the symbol type of the symbol 300 recognized from the extracted object 400, the degree to which it is mistakenly recognized as a single symbol 300 may vary even though it is a plurality of symbols 300. In other words, although it should originally be recognized as two objects 400 and consequently recognized as two symbols 300, the extent to which it is mistakenly recognized as a single symbol 300 may vary depending on the shape and type of the symbol 300. .

예를 들어, 'PIPING COMPONENT'에 해당하는 심볼(300)들은 'EQUIPMENT'에 해당하는 심볼(300)들보다 복수개의 심볼(300)이 하나의 심볼(300)로 잘못 인식되는 경우가 많을 수 있다.For example, the symbols 300 corresponding to 'PIPING COMPONENT' may be more often mistakenly recognized as a single symbol 300 than the symbols 300 corresponding to 'EQUIPMENT'. .

도 4를 참조하면, 두개의 심볼(300)로 인식되어야 하는 두개의 객체(400)가 최종적으로 하나의 심볼(300)로 오인식되는 과정을 확인할 수 있다.Referring to FIG. 4, one can see the process in which two objects 400, which should be recognized as two symbols 300, are ultimately misrecognized as one symbol 300.

중복 객체 판단부(130)는 두개의 객체(400) 사이의 중첩 영역(501)이 기준 임계값보다 크면 해당 객체(400)들을 중복 객체(401)로 판단할 수 있다. 한편, 이러한 과정은 중첩 영역(501)이 형성된 두 객체(400)에 대해서라면 계속 반복해서 일어날 수 있다. 예를 들어, 어느 두 객체(400)의 중복 객체 여부를 판단한 후, 해당 두 객체(400) 중 한 객체(400)와 제3의 객체(400)가 중복 객체(401)에 해당하는지 여부를 또 판단할 수 있다.The duplicate object determination unit 130 may determine the objects 400 to be duplicate objects 401 if the overlap area 501 between the two objects 400 is greater than the reference threshold. Meanwhile, this process can continue to occur repeatedly for the two objects 400 on which the overlapping area 501 is formed. For example, after determining whether two objects 400 are duplicate objects, it is also determined whether one object 400 and the third object 400 of the two objects 400 correspond to duplicate objects 401. You can judge.

프로세서(150)는 중복 객체(401)로 판단된 두 객체(400) 중 보다 인식이 잘 되는 객체(400)만을 심볼(300)로 인식할 수 있으므로, 전술한 과정을 반복하면 최종적으로 영역이 겹쳐진 객체(400)들의 경우 한 객체(400)만이 심볼(300)을 인식하는데 이용되는 경우도 발생할 수 있다. 이러한 과정은 한 개의 심볼(300)을 복수개의 심볼(300)로 잘못 인식하는 것을 방지하기 위하여 필요할 수 있다.Since the processor 150 can recognize only the more recognizable object 400 among the two objects 400 determined to be overlapping objects 401 as the symbol 300, by repeating the above-described process, the areas are finally overlapped. In the case of objects 400, only one object 400 may be used to recognize the symbol 300. This process may be necessary to prevent one symbol 300 from being mistakenly recognized as multiple symbols 300.

하지만, 심볼(300)의 타입에 따라 두개의 별개 심볼(300)이 인접한 경우, 별개의 심볼(300)임에도 불구하고 최종적으로 하나의 심볼(300)로 오인식하는 경우가 발생될 수 있다.However, depending on the type of symbol 300, when two separate symbols 300 are adjacent, a case may occur where they are ultimately misrecognized as one symbol 300 even though they are separate symbols 300.

따라서, 추출된 복수개의 중첩된 객체(400)들에 대해서 동일한 기준 임계값을 적용하여 해당 객체(400)가 중복 객체(401)인지 여부를 판단하는 것은 바람직하지 않을 수 있다. 즉, 복수개의 심볼(300)이 하나의 심볼(300)로 잘못 인식되는 경우가 더 많은 심볼 타입에 대해서는 좀더 높은 값의 기준 임계값을 적용하여, 어느 정도 중첩이 되었다고 하더라도 추출된 객체(400)들이 중복 객체(401)가 아니라고 판단하는 것이 바람직할 수 있다.Therefore, it may not be desirable to apply the same reference threshold to the extracted plurality of overlapping objects 400 to determine whether the corresponding object 400 is a duplicate object 401. That is, for symbol types in which a plurality of symbols 300 are more often mistakenly recognized as a single symbol 300, a higher standard threshold is applied, so that even if there is some overlap, the extracted object 400 It may be desirable to determine that they are not duplicate objects 401.

예를 들어, 도 4를 참조하면, 다이어그램 이미지(200)에서 2개의 인접한 'Flange'를 나타내는 2개의 심볼(300)이 있는 경우, 인식된 두 객체(400)가 겹쳐진 중첩 영역(501)이 기준 임계값보다 커서 결과적으로 1개의 심볼(300)로 잘못 인식하는 경우가 발생할 수 있다.For example, referring to FIG. 4, when there are two symbols 300 representing two adjacent 'flanges' in the diagram image 200, the overlapping area 501 where the two recognized objects 400 overlap is the reference. Because it is larger than the threshold, it may be incorrectly recognized as one symbol (300).

도 5는 일 실시예에 따라 인식된 객체에 서로 다른 기준 임계값을 적용했을 때의 차이점을 설명하기 위한 도면이다.FIG. 5 is a diagram illustrating differences when different reference thresholds are applied to recognized objects according to an embodiment.

도 5를 참조하면, 추출된 복수개의 객체(400)들이 중복 객체(401)인지 여부를 판단할 때, 적용되는 기준 임계값에 따라 결과가 달라질 수 있음을 확인할 수 있다.Referring to FIG. 5 , it can be seen that when determining whether a plurality of extracted objects 400 are duplicate objects 401, the results may vary depending on the applied reference threshold.

중복 객체 판단부(130)는 객체(400)들의 크기와 형상을 분석하여 객체(400)들의 심볼 타입들을 결정하고, 객체(400)들의 심볼 타입들을 비교할 수 있다.The duplicate object determination unit 130 may analyze the size and shape of the objects 400 to determine symbol types of the objects 400 and compare the symbol types of the objects 400.

중복 객체 판단부(130)는 종래의 객체 검출(Object detection)을 통하여 다이어그램 이미지(200) 내에 존재하는 객체(400)의 종류를 결정할 수 있다.The duplicate object determination unit 130 may determine the type of object 400 existing in the diagram image 200 through conventional object detection.

객체 검출은 이미지를 이해하기 위한 방법으로, 컴퓨터 비전 분야에서 주요하게 연구되어 온 기술이다. 전통적인 기계학습은 특징(feature)들을 객체(400)에서 추출할 수 있다. 이후 서로 다른 객체(400)들에서 추출된 특징의 분포를 강건하게 분류할 수 있는 SVM 및 Adaboost 등과 같은 분류기(classifier)를 학습시킬 수 있다. 이후 응용 단계에서는 검출(Detection)을 수행하고자 하는 입력 이미지로부터 특징을 추출하고 분류기를 통과시켜 객체(400)를 탐지(detect)할 수 있다.Object detection is a method for understanding images and is a technology that has been majorly researched in the field of computer vision. Traditional machine learning can extract features from the object 400. Afterwards, classifiers such as SVM and Adaboost that can robustly classify the distribution of features extracted from different objects 400 can be trained. In the subsequent application stage, features can be extracted from the input image for which detection is to be performed and the object 400 can be detected by passing it through a classifier.

한편, 객체 추출부(110)가 반드시 기계학습 기반의 객체 검출을 통해서 다이어그램 이미지(200) 내에 존재하는 객체(400)를 추출해야 하는 것은 아니다.Meanwhile, the object extraction unit 110 does not necessarily have to extract the object 400 existing in the diagram image 200 through machine learning-based object detection.

예를 들어, 딥러닝 기반의 객체 검출 기술이 기계학습 기반의 객체 검출 대신 이용될 수 있다. 딥러닝 기반의 객체 검출 기술은 이미지로부터 추출하는 객체(400)의 특징(feature)을 데이터를 기반으로 학습한다. 이미지로부터 특징(feature)을 추출하는 방식을 학습하기 위해 여러 단계의 컨볼루션 계층(convolution layer)을 쌓은 CNN(Convolutional Neural Networks) 구조가 널리 활용되고 있다.For example, deep learning-based object detection technology can be used instead of machine learning-based object detection. Deep learning-based object detection technology learns the features of the object 400 extracted from the image based on data. To learn how to extract features from images, the CNN (Convolutional Neural Networks) structure, which stacks multiple convolution layers, is widely used.

중복 객체 판단부(130)는 객체(400)들의 심볼 타입들이 중첩 심볼 집합에 해당하는지 여부를 판단할 수 있다.The overlapping object determination unit 130 may determine whether the symbol types of the objects 400 correspond to an overlapping symbol set.

중첩 심볼 집합은 중첩 발생 빈도를 기반으로 결정되는 집합일 수 있다.The overlapping symbol set may be a set determined based on the frequency of overlapping occurrences.

중복 객체 판단부(130)는 심볼 타입들의 비교 결과 및 중첩 심볼 집합에 해당하는지 여부에 따라 중복 객체(401)를 판단하도록 구성될 수 있다.The duplicate object determination unit 130 may be configured to determine the duplicate object 401 according to a comparison result of symbol types and whether it corresponds to an overlapping symbol set.

[방정식 1][Equation 1]

[방정식 1]을 참조하면, 중첩 심볼 집합은 객체(400)의 인식 시 중첩이 발생하는 빈도가 높은 심볼(300)들의 집합()일 수 있다.Referring to [Equation 1], the overlapping symbol set is a set of symbols 300 with a high frequency of overlapping when recognizing the object 400 ( ) can be.

는 추출된 두 객체(400)에 각각 대응되는 의 중첩 비율이며 의 심볼 타입을 나타내는 함수일 수 있다. corresponds to each of the two extracted objects 400. and is the overlap ratio of Is It may be a function representing the symbol type of .

중복 객체 판단부(130)는 객체(400)들의 심볼 타입들이 동일하지 않은 경우, 객체(400)들을 중복 객체(401)가 아닌 것으로 판단할 수 있다.If the symbol types of the objects 400 are not the same, the duplicate object determination unit 130 may determine that the objects 400 are not duplicate objects 401 .

즉 [방정식 1]을 다시 참조하면, 두 객체(400)의 심볼 타입이 다르면(i.e., 중복 객체 판단부(130)는 해당 두 객체(400)가 중복 객체(401)가 아닌 것으로 판단할 수 있다.That is, referring again to [Equation 1], if the symbol types of the two objects 400 are different (ie , the duplicate object determination unit 130 may determine that the two objects 400 are not duplicate objects 401.

두 객체(400)가 중복 객체(401)가 아닌 것으로 판단되면, 중복 객체 판단부(130)는 해당 두 객체(400)에 기초하여 해당 두 객체(400) 각각에 해당하는 심볼(300)을 인식할 수 있다.If it is determined that the two objects 400 are not duplicate objects 401, the duplicate object determination unit 130 recognizes the symbols 300 corresponding to each of the two objects 400 based on the two objects 400. can do.

중복 객체 판단부(130)는 객체(400)들의 심볼 타입들이 동일하고, 중첩 심볼 집합에 해당하는 경우, 중첩 비율을 심볼 타입에 따라 결정되는 제1 기준 임계값과 비교하여 중복 객체(401)를 판단할 수 있다.If the symbol types of the objects 400 are the same and correspond to an overlapping symbol set, the duplicate object determination unit 130 compares the overlap ratio with a first reference threshold determined according to the symbol type to determine the duplicate object 401. You can judge.

제1 기준 임계값은 중첩이 잘 일어나지 않는 심볼 타입의 객체(400)가 중복 객체(401)인지 여부를 판단하는데 기준이 되는 기준 임계값일 수 있다.The first reference threshold may be a reference threshold that is used as a standard for determining whether an object 400 of a symbol type that does not easily overlap is a duplicate object 401 .

[방정식 1]을 참조하면, 두 객체(400)들의 심볼 타입이 동일하고, 두 객체(400)가 중첩 심볼 집합에 해당되는 경우(), 중첩 비율이 제1 기준 임계값보다 크면(), 해당 두 객체(400)를 중복 객체(401)로 판단할 수 있다.Referring to [Equation 1], if the symbol types of the two objects 400 are the same and the two objects 400 correspond to an overlapping symbol set ( ), if the overlap ratio is greater than the first reference threshold ( ), the two objects 400 may be determined to be duplicate objects 401.

중복 객체 판단부(130)는 객체(400)들의 심볼 타입들이 동일하고, 중첩 심볼 집합에 해당하지 않는 경우, 중첩 비율을 제1 기준 임계값보다 낮은 제2 기준 임계값과 비교하여 중복 객체(401)를 판단하도록 구성될 수 있다.If the symbol types of the objects 400 are the same and do not correspond to an overlapping symbol set, the duplicate object determination unit 130 compares the overlap ratio with a second reference threshold lower than the first reference threshold to determine the duplicate object 401 ) can be configured to judge.

제2 기준 임계값은 중첩이 잘 발생하는 심볼 타입의 객체(400)가 중복 객체(401)인지 여부를 판단하는데 기준이 되는 기준 임계값일 수 있다.The second reference threshold may be a reference threshold that serves as a standard for determining whether an object 400 of a symbol type that easily overlaps is an overlapping object 401.

[방정식 1]을 다시 참조하면, 두 객체(400)들의 심볼 타입이 동일하고, 두 객체(400)가 중첩 심볼 집합에 해당하지 않는 경우(), 중첩 비율이 제2 기준 임계값보다 크면(), 해당 두 객체(400)를 중복 객체(401)로 판단할 수 있다.Referring again to [Equation 1], if the symbol types of the two objects 400 are the same and the two objects 400 do not correspond to an overlapping symbol set ( ), if the overlap ratio is greater than the second reference threshold ( ), the two objects 400 may be determined to be duplicate objects 401.

결과적으로, 본 발명의 실시예에 의하면, 일률적인 기준 임계값을 적용하여 중복 객체(401)인지 여부를 판단하고 중복 객체(401)로 판단되면 하나의 객체만을 심볼(300)로 인식하는 객체 인식 방법보다 심볼(300)을 잘 인식할 수 있다.As a result, according to an embodiment of the present invention, object recognition determines whether or not a duplicate object 401 is a duplicate object 401 by applying a uniform reference threshold, and recognizes only one object as a symbol 300 if it is determined to be a duplicate object 401. The symbol 300 can be recognized better than this method.

즉, 본 발명의 객체 인식 시스템(100)은 높은 밀도를 갖으며 서로 다른 크기 및 형상 복잡도를 가지는 여러 종류 심볼(300)로 구성되는 다이어그램 이미지(P&ID)(200)에 대해서 딥러닝 기술을 적용하여 산업에서 적용 가능한 수준으로 심볼(300)을 인식할 수 있다.That is, the object recognition system 100 of the present invention applies deep learning technology to the diagram image (P&ID) 200, which has high density and consists of various types of symbols 300 with different sizes and shape complexities. The symbol 300 can be recognized at a level applicable to industry.

다시 도 5를 참조하면, 중복 객체 판단부(130)는 다이어그램 이미지(200)로부터 추출된 객체(400)를 포함하는 바운딩 박스(600)를 생성할 수 있다.Referring again to FIG. 5 , the duplicate object determination unit 130 may generate a bounding box 600 including the object 400 extracted from the diagram image 200.

하나의 바운딩 박스(600)는 하나의 객체(400)에 대응될 수 있으며, 해당 객체(400)의 위치 정보를 생성하는데 이용될 수 있다. 예를 들어, 바운딩 박스(600)에 포함되는 객체(400)의 위치 정보는 해당 바운딩 박스(600)의 좌상단 및 우하단의 좌표정보일 수 있다.One bounding box 600 may correspond to one object 400 and may be used to generate location information of the object 400. For example, the location information of the object 400 included in the bounding box 600 may be coordinate information of the upper left and lower right corners of the bounding box 600.

중복 객체 판단부(130)는 서로 겹쳐진 바운딩 박스(600)들의 합쳐진 영역의 면적에 대한 겹쳐진 영역의 면적 비율로부터 바운딩 박스(600)들 간의 IOU(intersection over union) 비율을 연산할 수 있다. 이때, IOU 비율은 두 바운딩 박스(600)들 사이의 중첩 비율일 수 있다.The overlapping object determination unit 130 may calculate an intersection over union (IOU) ratio between the bounding boxes 600 from the ratio of the area of the overlapping area to the area of the combined area of the overlapping bounding boxes 600. At this time, the IOU ratio may be the overlap ratio between the two bounding boxes 600.

중복 객체 판단부(130)는 추출된 두 객체(400)의 심볼 타입을 기초로 기준 임계값을 결정하고, IOU 비율이 결정된 기준 임계값 이상이면 겹쳐진 바운딩 박스(600)들 중 하나의 바운딩 박스(600)를 제거할 수 있다.The overlapping object determination unit 130 determines a reference threshold based on the symbol types of the two extracted objects 400, and if the IOU ratio is greater than the determined reference threshold, one of the overlapping bounding boxes 600 is selected as a bounding box ( 600) can be removed.

중복 객체 판단부(130)는 제거되지 않은 바운딩 박스(600)에 포함된 객체(400)를 바운딩 박스(600)에 대응되는 심볼(300)로 인식하도록 구성될 수 있다.The duplicate object determination unit 130 may be configured to recognize the object 400 included in the bounding box 600 that has not been removed as the symbol 300 corresponding to the bounding box 600.

즉, 중복 객체 판단부(130)는 한 개의 심볼(300)임에도 두 개의 바운딩 박스(600)가 생성되어 두 개의 심볼(300)로 오인식되는 것을 막기 위하여, 두 바운딩 박스(600)간 겹쳐진 비율이 일정 크기 이상이면 하나의 바운딩 박스(600)만을 남겨서 해당 심볼(300)이 한 개의 심볼(300)로 정상적으로 인식되도록 할 수 있다.That is, the duplicate object determination unit 130 generates two bounding boxes 600 even though it is one symbol 300, and in order to prevent it from being mistakenly recognized as two symbols 300, the overlap ratio between the two bounding boxes 600 is set. If the size is larger than a certain size, only one bounding box 600 can be left so that the corresponding symbol 300 is normally recognized as a single symbol 300.

도 6은 일 실시예에 따라 생성된 심볼들의 리스트를 도시한 도면이다.Figure 6 is a diagram illustrating a list of symbols created according to one embodiment.

도 6을 참조하면, 다이어그램 이미지(200)에 포함된 객체(400)들이 인식되어 있는 것을 확인할 수 있고, 각 객체(400)마다 하나의 바운딩 박스(600)가 생성되어 있음을 확인할 수 있다.Referring to FIG. 6, it can be confirmed that the objects 400 included in the diagram image 200 are recognized, and one bounding box 600 is created for each object 400.

또한, 인식된 객체(400)들의 목록이 생성되어 심볼(300)들의 리스트가 생성되었음을 확인할 수 있다.Additionally, it can be confirmed that a list of recognized objects 400 has been created and a list of symbols 300 has been created.

프로세서(150)는 바운딩 박스(600)를 기초로 심볼(300)들의 리스트를 생성할 수 있다. 구체적으로, 프로세서(150)는 심볼(300)로 인식된 객체(400)를 포함하는 바운딩 박스(600)를 기초로, 다이어그램 이미지(200)에서의 심볼(300)의 위치 정보 또는 심볼(300)들의 리스트 중 적어도 하나를 생성하도록 구성될 수 있다.The processor 150 may generate a list of symbols 300 based on the bounding box 600. Specifically, the processor 150 generates location information or symbol 300 of the symbol 300 in the diagram image 200 based on the bounding box 600 containing the object 400 recognized as the symbol 300. It may be configured to generate at least one of the list.

도 7은 일 실시예에 따른 인공지능 모델의 데이터 구조를 나타낸 도면이다.Figure 7 is a diagram showing the data structure of an artificial intelligence model according to an embodiment.

도 7을 참조하면, 객체(400) 인식을 위한 인공지능 모델의 학습에 이용되는 학습 데이터 저장 구조를 확인할 수 있다.Referring to FIG. 7, the learning data storage structure used for learning the artificial intelligence model for recognizing the object 400 can be confirmed.

학습 데이터는 객체(400)들의 유형이 심볼 타입과 심볼(300)의 방향을 고려하여 정의되어 있을 수 있다.In the learning data, the types of objects 400 may be defined in consideration of the symbol type and direction of the symbol 300.

학습 데이터 폴더 구조의 최상위 폴더는 P&ID 폴더일 수 있다. 이 폴더에는 심볼(300) 및 문자의 클래스 목록 파일이 위치할 수 있다. P&ID 폴더의 하위 폴더는 프로젝트 폴더일 수 있다. 프로젝트 폴더는 해당 프로젝트에서 생성된 다이어그램과 다이어그램 리스트 파일이 존재할 수 있다. 프로젝트 폴더는 프로젝트마다 사용하는 P&ID의 표준이 다르기 때문에 프로젝트에 따라 학습 데이터를 구분하여 저장할 수 있다. 프로젝트 폴더의 하위 폴더는 심볼(300)의 탐지에 필요한 폴더, 심볼(300)의 분류에 필요한 학습 데이터를 저장한 폴더, 문자의 인식에 필요한 학습 데이터를 저장한 폴더, 선의 인식에 필요한 학습 데이터를 저장한 폴더일 수 있다. 각 객체(400)의 학습 데이터 폴더에는 필요 정보를 담고 있는 주석(annotation) 파일이 각 다이어그램 별로 저장될 수 있다. 심볼(300)의 분류에 필요한 학습 데이터를 저장한 폴더에는 각 다이어그램에서 추출한 심볼 이미지 파일이 저장될 수 있다.The top folder of the learning data folder structure may be the P&ID folder. This folder may contain class list files for symbols 300 and characters. A subfolder of the P&ID folder may be a project folder. The project folder may contain diagrams and diagram list files created in the project. Since the P&ID standard used for each project is different in the project folder, learning data can be stored separately depending on the project. The subfolders of the project folder include the folder necessary for detection of the symbol 300, the folder storing the learning data necessary for classification of the symbol 300, the folder storing the learning data necessary for character recognition, and the learning data necessary for line recognition. This may be a saved folder. An annotation file containing necessary information may be stored for each diagram in the learning data folder of each object 400. Symbol image files extracted from each diagram may be stored in the folder storing the learning data required for classification of the symbol 300.

인공지능 학습부(160)는 심볼(300)의 특징을 입력 변수로 설정하고 객체(400)들의 유형을 출력 변수로 설정하여 인공지능 모델을 학습하도록 구성될 수 있다.The artificial intelligence learning unit 160 may be configured to learn an artificial intelligence model by setting the characteristics of the symbol 300 as input variables and the types of objects 400 as output variables.

심볼(300)의 특징은 해당 심볼(300)에 대한 다양한 특징을 나타내는 정보일 수 있다. 예를 들어, 심볼(300)의 특징은 해당 심볼(300)의 크기, 형태 등에 대한 정보일 수 있다.The characteristics of the symbol 300 may be information representing various characteristics of the symbol 300. For example, the characteristics of the symbol 300 may be information about the size, shape, etc. of the symbol 300.

이때, 인공지능 모델을 학습하는 것은 기계 학습(Machine Learning) 방식을 통한 학습일 수 있다.At this time, learning the artificial intelligence model may be done through machine learning.

기계 학습이란 다수의 파라미터로 구성된 모델을 이용하며, 주어진 데이터로 파라미터를 최적화하는 것을 의미할 수 있다. 인공지능 학습부(160)는 입력에 따라 인공지능 모델을 통해 최종적으로 나온 결과물(output)인 출력과, 입력에 대한 레이블(정답)을 이용하여 인공지능 모델을 학습할 수 있다.Machine learning can mean using a model composed of multiple parameters and optimizing the parameters with given data. The artificial intelligence learning unit 160 can learn an artificial intelligence model using the output, which is the final result (output) produced through the artificial intelligence model according to the input, and the label (correct answer) for the input.

인공지능 학습부(160)는 기계 학습 방식뿐만 아니라 딥 러닝 방식을 통해서도 개인 인증을 수행할 수 있다.The artificial intelligence learning unit 160 can perform personal authentication not only through machine learning but also through deep learning.

인공지능 모델은 심볼(300)의 특징 정보를 입력 변수로 하고, 심볼 타입을 출력 변수로 설정한 모델일 수 있다. 인공지능 모델은 전술한 학습 데이터 폴더를 포함할 수 있으며, 메모리(170)에 저장될 수 있다.The artificial intelligence model may be a model in which the characteristic information of the symbol 300 is set as an input variable and the symbol type is set as an output variable. The artificial intelligence model may include the above-described learning data folder and may be stored in the memory 170.

중복 객체 판단부(130)는 다이어그램 이미지(200)로부터 추출된 객체(400)로부터 객체(400)의 특징을 추출할 수 있다. 객체(400)의 특징은 해당 객체(400)의 크기, 형태 등에 대한 정보일 수 있다.The duplicate object determination unit 130 may extract characteristics of the object 400 from the object 400 extracted from the diagram image 200. The characteristics of the object 400 may be information about the size, shape, etc. of the object 400.

중복 객체 판단부(130)는 추출된 객체(400)의 특징을 기초로 인공지능 모델을 이용하여 추출된 객체(400)의 유형을 결정하도록 구성될 수 있다.The duplicate object determination unit 130 may be configured to determine the type of the extracted object 400 using an artificial intelligence model based on the characteristics of the extracted object 400.

결과적으로 본 발명의 객체 인식 시스템(100)은 다이어그램 이미지(200)로부터 추출된 객체(400)에 대해서 기계학습 또는 딥 러닝 방식을 통하여 보다 강건하게 객체(400)의 유형을 분류할 수 있으며, 보다 강건하게 추출된 객체(400)의 심볼 타입을 결정할 수 있다.As a result, the object recognition system 100 of the present invention can classify the type of the object 400 extracted from the diagram image 200 more robustly through machine learning or deep learning methods, and can more robustly classify the object 400 extracted from the diagram image 200. The symbol type of the robustly extracted object 400 can be determined.

도 8은 일 실시예에 따라 크기 변경 다이어그램 이미지 및 분할 다이어그램 이미지에 포함된 객체를 추출하는 과정을 도시한 도면이다.FIG. 8 is a diagram illustrating a process for extracting objects included in a size change diagram image and a split diagram image according to an embodiment.

객체 추출부(110)는 다이어그램 이미지(200)에 포함된 상대적으로 큰 객체(400)를 추출하기 어려울 수 있다. 따라서, 다이어그램 이미지(200)로부터 객체(400)를 추출하기 위해서는 추가적인 전처리가 필요할 수 있다.It may be difficult for the object extractor 110 to extract a relatively large object 400 included in the diagram image 200. Therefore, additional preprocessing may be required to extract the object 400 from the diagram image 200.

한편, 상대적으로 작은 객체(400)에 대해서는 단순히 다이어그램 이미지(200)로부터 추출하는 것보다 분할된 복수개의 다이어그램 이미지(200)로부터 추출하는 것이 용이할 수 있다. 하지만, 상대적으로 큰 객체(400)는 다이어그램 이미지(200)의 분할 시 함께 분할될 수 있어서 분할된 다이어그램 이미지(200)로부터 추출하는 것은 용이하지 않을 수 있다.Meanwhile, for a relatively small object 400, it may be easier to extract it from a plurality of divided diagram images 200 than to simply extract it from the diagram image 200. However, the relatively large object 400 may be divided together when the diagram image 200 is divided, so it may not be easy to extract it from the divided diagram image 200.

따라서, 상대적으로 큰 심볼(300) 및 상대적으로 작은 심볼(300)에 대해서는 서로 다른 방법으로 전처리된 다이어그램 이미지(200)로부터 객체(400)를 추출하는 것이 바람직할 수 있다.Therefore, it may be desirable to extract the object 400 from the diagram image 200 preprocessed using different methods for the relatively large symbol 300 and the relatively small symbol 300.

도 8을 참조하면, 객체 인식 시스템(100)은 다이어그램 이미지(200)의 크기가 변경되어 생성되는 크기 변경 다이어그램 및 다이어그램 이미지(200)가 분할되어 생성되는 분할 다이어그램 이미지(201)를 이용하여 객체(400)를 추출할 수 있다.Referring to FIG. 8, the object recognition system 100 uses a size change diagram created by changing the size of the diagram image 200 and a split diagram image 201 created by dividing the diagram image 200 to recognize an object ( 400) can be extracted.

전처리부(140)는 다이어그램 이미지(200)의 크기를 변경하여 크기 변경 다이어그램 이미지(202)를 생성하도록 구성될 수 있다. 이때 크기 변경 다이어그램 이미지(202)는 다이어그램 이미지(200)의 가로 길이 및 세로 길이를 감소시켜서 생성된 이미지일 수 있다. 이때 가로 길이 및 세로 길이의 비율이 일정하게 유지되도록 감소시키는 것이 바람직할 수 있으나, 반드시 이에 한정되는 것은 아니다.The pre-processing unit 140 may be configured to change the size of the diagram image 200 to generate a size-changed diagram image 202. At this time, the size change diagram image 202 may be an image created by reducing the horizontal and vertical lengths of the diagram image 200. At this time, it may be desirable to reduce the ratio of the horizontal length and the vertical length so that it remains constant, but it is not necessarily limited to this.

객체 추출부(110)는 크기 변경 다이어그램 이미지(202)에 포함되어 크기가 변경된 객체(400)를 기초로, 다이어그램 이미지(200)에 포함된 객체(400)를 추출하도록 구성될 수 있다.The object extraction unit 110 may be configured to extract the object 400 included in the diagram image 200 based on the object 400 whose size has been changed and included in the size-changed diagram image 202.

즉, 객체 추출부(110)는 크기가 감소한 크기 변경 다이어그램 이미지(202)에 포함된 크기가 감소한 객체(400)를 추출하는 방식으로 다이어그램 이미지(200)의 객체(400)를 추출할 수 있다. 이때 결과적으로, 객체 추출부(110)는 크기를 변경하기 전에는 상대적으로 커서 인식이 잘 안되던 객체(400)를 보다 잘 인식할 수 있다.That is, the object extractor 110 may extract the object 400 of the diagram image 200 by extracting the object 400 whose size has been reduced included in the size change diagram image 202 whose size has been reduced. As a result, the object extractor 110 can better recognize the object 400, which was relatively large and difficult to recognize before changing the size.

전처리부(140)는 다이어그램 이미지(200)를 분할하여 복수개의 분할 다이어그램 이미지(201)를 생성하도록 구성될 수 있다. 이때 분할 다이어그램 이미지(201)는 다이어그램 이미지(200)의 일정 영역을 나타내는 이미지일 수 있다. 예를 들어, 전처리부(140)는 다이어그램 이미지(200)의 가로를 세 등분 하고, 세로를 세 등분하여 9 개의 분할 다이어그램 이미지(201)를 생성할 수 있으나, 분할 다이어그램 이미지(201)를 생성하는 방식이 이에 한정되는 것은 아니다.The pre-processing unit 140 may be configured to generate a plurality of split diagram images 201 by dividing the diagram image 200. At this time, the segmented diagram image 201 may be an image representing a certain area of the diagram image 200. For example, the preprocessor 140 may divide the diagram image 200 horizontally into three and vertically into three to generate nine split diagram images 201. However, generating the split diagram image 201 The method is not limited to this.

객체 추출부(110)는 분할 다이어그램 이미지(201)에 포함된 객체(400)를 기초로, 다이어그램 이미지(200)에 포함된 객체(400)를 추출하도록 구성될 수 있다. 즉, 객체 추출부(110)는 분할되어 다이어그램 이미지(200)의 일부 영역에 포함된 객체(400)를 추출하는 방식으로 다이어그램 이미지(200)의 객체(400)를 추출할 수 있다.The object extraction unit 110 may be configured to extract the object 400 included in the diagram image 200 based on the object 400 included in the segmented diagram image 201. That is, the object extractor 110 may extract the object 400 of the diagram image 200 by dividing it and extracting the object 400 included in a partial area of the diagram image 200.

도 9는 일 실시예에 따라 다이어그램 이미지에 포함된 텍스트를 인식하는 과정을 도시한 도면이며, 도 10은 일 실시예에 따라 텍스트를 추출하는 과정을 도시한 도면이다.FIG. 9 is a diagram illustrating a process for recognizing text included in a diagram image according to an embodiment, and FIG. 10 is a diagram illustrating a process for extracting text according to an embodiment.

도 9를 참조하면, 일 실시예에 따른 객체(400)를 인식하는 과정은 원본 다이어그램 이미지(203)를 전처리하여 다이어그램 이미지(200)를 생성하는 단계, 심볼(300)을 인식하는 단계, 텍스트를 인식하는 단계 및 인식 결과를 저장하는 단계로 구성될 수 있다.Referring to FIG. 9, the process of recognizing an object 400 according to an embodiment includes preprocessing the original diagram image 203 to generate a diagram image 200, recognizing a symbol 300, and text. It may consist of a recognition step and a step of storing the recognition result.

텍스트 추출부는 분할 다이어그램 이미지(201)에 포함된 텍스트를 추출하여 다이어그램 이미지(200)의 텍스트를 인식하도록 구성될 수 있다.The text extractor may be configured to extract text included in the segmented diagram image 201 and recognize the text of the diagram image 200.

구체적으로, 분할 다이어그램 이미지(201)에 포함된 문자가 존재하는 영역과 인식된 결과가 도출될 수 있다. 이후 도출된 결과의 텍스트 영역의 정보와 인식 스코어(score)를 입력으로 회전 판단(rotation estimation) 과정을 거쳐 각 문자열 영역이 회전된 문자열인지, 회전되지 않은 문자열인지를 구분할 수 있다. 이후 텍스트 영역 내부의 이미지에 대한 문자열을 인식한 뒤, 그 결과를 분할 전의 다이어그램 이미지(200)에 맞도록 변환하고, 병합하면 최종적으로 다이어그램 이미지(200)에 포함된 문자열의 인식 결과를 얻을 수 있다.Specifically, an area where characters included in the segmentation diagram image 201 exist and a recognized result can be derived. Afterwards, by inputting the information and recognition score of the text area of the derived result, it is possible to distinguish whether each string area is a rotated or non-rotated string through a rotation estimation process. Afterwards, after recognizing the string for the image inside the text area, converting the result to fit the diagram image 200 before division and merging, the final recognition result of the string included in the diagram image 200 can be obtained. .

도 10을 참조하면, 회전 판단은 두 단계로 이루어질 수 있다. 구체적으로, 바운딩 박스(600)의 비율(aspect ratio) 기반의 회전 판단과 텍스트 인식 스코어(text recognition score)를 기반으로 한 회전 판단으로 나뉠 수 있다. 바운딩 박스(600)의 비율 기반의 회전 판단은 텍스트 영역 바운딩 박스(600)의 비율 (바운딩 박스(600)의 가로 길이/바운딩 박스(600)의 세로 길이)가 0.5 이하인 경우에 해당 텍스트를 회전된 문자열로 판단할 수 있다. 스코어 기반 회전 판단에 의하면, 바운딩 박스(600)의 비율이 0.5 이상인 경우에, 회전되지 않은 이미지와 회전된 이미지에서 모두 문자열 인식을 수행한 뒤 회전된 이미지에서 결과가 높은 스코어를 갖는 경우 회전된 문자열로 판단할 수 있다.Referring to FIG. 10, rotation determination can be accomplished in two steps. Specifically, it can be divided into rotation judgment based on the aspect ratio of the bounding box 600 and rotation judgment based on the text recognition score. The ratio-based rotation judgment of the bounding box 600 determines whether the text is rotated when the ratio of the text area bounding box 600 (horizontal length of the bounding box 600/vertical length of the bounding box 600) is 0.5 or less. It can be judged by the string. According to the score-based rotation judgment, when the ratio of the bounding box 600 is 0.5 or more, string recognition is performed on both the non-rotated image and the rotated image, and if the result in the rotated image has a high score, the rotated string It can be judged as follows.

도 10의 (a) 및 (b)를 참조하면, 긴 문자열의 경우 바운딩 박스(600) 비율 기반 방식을 통해 회전된 문자열임을 쉽게 판단이 가능하다. 하지만, 도10의 (c)에서처럼 세로 문자열의 길이가 짧은 경우, 이러한 방식으로 회전된 문자열을 판단하기 어려울 수 있다. 이 경우 도 10의 (d)와 같이 회전된 이미지에서의 텍스트 인식 결과의 스코어 정보를 고려하여 회전된 이미지에서 더 높은 스코어를 나타낸 경우 회전된 문자열로 판단하고, 회전된 이미지에서 인식된 결과를 최종 문자 인식 결과로 사용할 수 있다.Referring to Figures 10 (a) and (b), in the case of a long string, it is possible to easily determine that the string has been rotated using the bounding box 600 ratio-based method. However, when the length of the vertical string is short, as shown in (c) of Figure 10, it may be difficult to determine the string rotated in this way. In this case, considering the score information of the text recognition result in the rotated image as shown in (d) of Figure 10, if the rotated image shows a higher score, it is judged to be a rotated string, and the result recognized in the rotated image is the final It can be used as a character recognition result.

도 11은 원본 다이어그램 이미지를 전처리하는 과정을 도시한 도면이다.Figure 11 is a diagram showing the process of preprocessing an original diagram image.

도 11을 참조하면, 본 발명의 객체 인식 시스템(100)은 원본 다이어그램 이미지(203)로부터 다이어그램 이미지(200)를 생성할 수 있다.Referring to FIG. 11, the object recognition system 100 of the present invention can generate a diagram image 200 from the original diagram image 203.

원본 다이어그램 이미지(203)는 객체 추출에 이용되는 다이어그램 이미지(200)가 전처리되기 전의 다이어그램으로서, 외곽경계와 표제를 포함하는 다이어그램일 수 있다.The original diagram image 203 is a diagram before the diagram image 200 used for object extraction is preprocessed, and may be a diagram including an outer border and a title.

원본 다이어그램의 외곽경계 및 표제 영역의 형태는 프로젝트마다 달라질 수 있다. 외곽 경계는 단일 실선이나 이중 실선으로 구성되며 보조 눈금이 있는 경우가 있다. 표제는 하단 좌측, 중앙 또는 우측에 위치할 수 있다. 그리고 표제 영역에는 노트 영역이 존재하며 주로 원본 다이어그램의 우측에 존재할 수 있다.The shape of the outer border and title area of the original diagram may vary from project to project. The outer boundary consists of a single or double solid line and may have supplementary marks. Headings can be placed at the bottom left, center, or right. Additionally, there is a note area in the title area, which can mainly be located on the right side of the original diagram.

이러한 외곽경계 및 표제가 다이어그램 이미지(200)에 포함되어 있을 경우, 심볼(300), 텍스트, 선 객체와 큰 차이가 없어서, 객체 인식 과정에서 정확도가 낮아지는 문제가 발생할 수 있다. 따라서, 원본 다이어그램 이미지(203)로부터 외곽경계 및 표제를 식별하고 제거하는 것이 필요하다.If these outer boundaries and headings are included in the diagram image 200, there is no significant difference from the symbol 300, text, and line objects, so a problem may occur in which accuracy is lowered in the object recognition process. Therefore, it is necessary to identify and remove the outer borders and headings from the original diagram image 203.

전처리부(140)는 이미지 처리 과정에서 필요한 연산량을 줄이기 위해 도 11의 (b)에 도시된 바와 같이 원본 다이어그램의 하단 1/5을 잘라낼 수 있다.The preprocessor 140 may cut off the bottom 1/5 of the original diagram as shown in (b) of FIG. 11 to reduce the amount of calculations required in the image processing process.

전처리부(140)는 잘라낸 다이어그램에 있는 모든 수평선을 추출할 수 있다.The preprocessor 140 can extract all horizontal lines in the cut diagram.

전처리부(140)는 추출된 수평선들 중 길이가 가장 긴 수평선을 결정할 수 있다. 즉, 전처리부(140)는 도 11의 (b)에 도시된 바와 같이 추출된 수평선 중 길이가 가장 긴 선을 식별할 수 있다.The preprocessor 140 may determine the horizontal line with the longest length among the extracted horizontal lines. That is, the preprocessor 140 can identify the line with the longest length among the extracted horizontal lines, as shown in (b) of FIG. 11.

이때 전처리부(140)는 추가적으로 식별된 선과의 길이 오차가 5% 이하인 선을 추가로 식별하여 외곽경계의 형태에 관계없이 외곽경계을 이루는 각 선의 한 점을 알아낼 수 있다.At this time, the preprocessor 140 can additionally identify lines with a length error of 5% or less from the additionally identified lines and find out one point of each line forming the outer boundary regardless of the shape of the outer boundary.

전처리부(140)는 결정된 가장 긴 수평선에 연결된 모든 검정 픽셀을 추출하고, 원본 다이어그램 이미지(203)로부터 추출된 검정 픽셀을 제거하여 다이어그램 이미지(200)를 생성할 수 있다.The preprocessor 140 may generate the diagram image 200 by extracting all black pixels connected to the determined longest horizontal line and removing the black pixels extracted from the original diagram image 203.

표제는 외곽경계와 연결되어 있기 때문에, 식별된 외곽경계의 한 점과 연결되어 있는 모든 검정 픽셀을 추출하면, 도 11의 (c)와 같이 표제 및 외곽경계를 추출할 수 있다.Since the title is connected to the outer border, if all black pixels connected to a point of the identified outer border are extracted, the title and outer border can be extracted as shown in (c) of FIG. 11.

이때. 전처리부(140)는 추출한 검정 픽셀들에 대해 모폴로지 연산 (morphology operation)의 침식 연산(erosion operation)과 팽창 연산(dilation operation)을 적용하여 외곽경계 및 표제 영역을 식별할 수 있으며 마지막으로 원본 다이어그램 이미지(203) 내에서 식별된 영역을 제거할 수 있다. At this time. The preprocessor 140 can identify the outer boundary and title area by applying the erosion operation and dilation operation of the morphology operation to the extracted black pixels, and finally, the original diagram image. The identified region within (203) can be removed.

모폴로지 연산은 영상 내에 존재하는 특정 객체(400)의 형태를 변형시키는 용도로 사용되는 영상처리 기법이며, 이는 다양한 영상 처리 시스템에서 전처리 또는 후처리의 형태로 널리 사용되고 있다. 모폴로지 연산 중 가장 기본이 되는 연산은 침식 연산과 팽창 연산이 있다.Morphology operation is an image processing technique used to transform the shape of a specific object 400 existing in an image, and is widely used as pre-processing or post-processing in various image processing systems. Among the morphology operations, the most basic operations include erosion operations and expansion operations.

침식 연산은 커널 영역 내 픽셀들의 값 중 최솟값을 현재 픽셀의 값에 대입하는 연산 방식이며, 도 11의 (d)에 도시된 바와 같이 검은색 영역은 늘어나고 흰색 영역은 줄어들게 할 수 있다.The erosion operation is an operation method that substitutes the minimum value among the values of pixels in the kernel area into the value of the current pixel, and can cause the black area to increase and the white area to decrease, as shown in (d) of FIG. 11.

팽창 연산은 이와 반대로 커널 영역 내 픽셀들의 값 중 최대값을 현재 픽셀의 값에 대입하는 연산 방식으로, 도 11의 (e)와 같이 흰색 영역이 늘어나고 검은색 영역이 줄어든다. 이 검은색 영역이 외곽경계 및 표제 영역이며, 침식 연산 후 팽창 연산을 수행하는 것을 열기 연산(open operation)이라 한다.In contrast, the expansion operation is an operation method that substitutes the maximum value of the pixel values in the kernel area into the value of the current pixel, and the white area increases and the black area decreases, as shown in (e) of FIG. 11. This black area is the outer boundary and title area, and performing an expansion operation after an erosion operation is called an open operation.

이상에서 설명된 구성요소들의 성능에 대응하여 적어도 하나의 구성요소가 추가되거나 삭제될 수 있다. 또한, 구성요소들의 상호 위치는 시스템의 성능 또는 구조에 대응하여 변경될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다.At least one component may be added or deleted in response to the performance of the components described above. Additionally, it will be easily understood by those skilled in the art that the mutual positions of the components may be changed in response to the performance or structure of the system.

도 12는 일 실시예에 따른 객체 인식 방법의 순서도이다. 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 구성이 추가되거나 삭제될 수 있음은 물론이다.Figure 12 is a flowchart of an object recognition method according to an embodiment. This is only a preferred embodiment for achieving the purpose of the present invention, and of course, some components may be added or deleted as needed.

도 12를 참조하면, 객체 추출부(110)는 다이어그램 이미지(200)로부터 심볼(300)들을 포함하는 객체(400)들을 추출할 수 있다(1001). 이때, 객체 추출부(110)는 추출된 객체(400)들의 정보를 중첩 비율 산출부(120)로 전달할 수 있다.Referring to FIG. 12, the object extractor 110 may extract objects 400 including symbols 300 from the diagram image 200 (1001). At this time, the object extraction unit 110 may transmit information on the extracted objects 400 to the overlap ratio calculation unit 120.

중첩 비율 산출부(120)는 추출된 객체(400)들의 중첩 영역(501)과 객체들의 영역(500) 간의 중첩 비율을 산출할 수 있다(1002). 이때, 중첩 비율 산출부(120)는 산출된 중첩 비율의 정보를 중복 객체 판단부(130)에 전달할 수 있다.The overlap ratio calculation unit 120 may calculate the overlap ratio between the overlap area 501 of the extracted objects 400 and the area 500 of the objects (1002). At this time, the overlap ratio calculation unit 120 may transmit information on the calculated overlap ratio to the duplicate object determination unit 130.

중복 객체 판단부(130)는 색체들의 크기와 형상을 분석하여 객체(400)들의 심볼 타입들을 결정하고, 결정된 객체(400)들의 심볼 타입들을 비교할 수 있다(1003).The duplicate object determination unit 130 may analyze the size and shape of the colors to determine the symbol types of the objects 400 and compare the symbol types of the determined objects 400 (1003).

중복 객체 판단부(130)는 객체(400)들의 심볼 타입들이 동일한지 여부를 판단할 수 있다(1004).The duplicate object determination unit 130 may determine whether the symbol types of the objects 400 are the same (1004).

만약 객체(400)들의 심볼 타입들이 동일하지 않다고 판단되면(1004의 '아니오'), 중북 객체 판단부는 해당 객체(400)가 중복 객체(401)가 아니라고 판단할 수 있다(1005).If it is determined that the symbol types of the objects 400 are not the same ('No' in 1004), the Jungbuk object determination unit may determine that the object 400 is not a duplicate object 401 (1005).

만약 객체(400)들의 심볼 타입들이 동일하다고 판단되면(1004의 '예'), 중복 객체 판단부(130)는 객체(400)들의 심볼 타입들이 중첩 발생 빈도를 기반으로 결정되는 중첩 심볼 집합에 해당하는지 여부를 판단할 수 있다(1006).If it is determined that the symbol types of the objects 400 are the same ('Yes' in 1004), the duplicate object determination unit 130 determines that the symbol types of the objects 400 correspond to an overlapped symbol set determined based on the frequency of overlap occurrence. You can determine whether it is done or not (1006).

만약 객체(400)들의 심볼 타입들이 중첩 심볼 집합에 해당된다고 판단되면(1006의 '예'), 중복 객체 판단부(130)는 중첩 비율을 제1 기준 임계값과 비교하여 중복 객체 여부를 판단할 수 있다(1007).If it is determined that the symbol types of the objects 400 correspond to the overlapping symbol set ('Yes' in 1006), the overlapping object determination unit 130 compares the overlapping ratio with the first reference threshold to determine whether it is a overlapping object. Can (1007).

만약 객체(400)들의 심볼 타입들이 중첩 심볼 집합에 해당되지 않다고 판단되면(1006의 '아니오'), 중복 객체 판단부(130)는 중첩 비율을 제1 기준 임계값보다 낮은 제2 기준 임계값과 비교하여 중복 객체 여부를 판단할 수 있다(1008).If it is determined that the symbol types of the objects 400 do not correspond to the overlapping symbol set ('No' in 1006), the overlapping object determination unit 130 sets the overlapping ratio to a second reference threshold lower than the first reference threshold. By comparing, it is possible to determine whether there is a duplicate object (1008).

중복 객체 판단부(130)는 객체(400)들이 중복 객체(401)로 판단되면 객체(400)들 중 하나의 객체(400)만 심볼(300)로 인식할 수 있다(1009).If the objects 400 are determined to be duplicate objects 401, the duplicate object determination unit 130 may recognize only one object 400 among the objects 400 as the symbol 300 (1009).

도 13은 또 다른 실시예에 따른 객체 인식 방법의 순서도이다.13 is a flowchart of an object recognition method according to another embodiment.

전처리부(140)는 원본 다이어그램 이미지(203)를 전처리하여 다이어그램 이미지(200)를 생성할 수 있다(2001).The preprocessor 140 may generate the diagram image 200 by preprocessing the original diagram image 203 (2001).

이때, 전처리부(140)는 원본 다이어그램 이미지(203)로부터 수평선을 추출하고, 추출된 수평선들 중 길이가 가장 긴 수평선을 결정할 수 있다. 또한, 전처리부(140)는 가장 긴 수평선에 연결된 모든 검정 픽셀을 추출하고, 원본 다이어그램 이미지(203)로부터 추출된 검정 픽셀을 제거하여 다이어그램 이미지(200)를 생성할 수 있다.At this time, the preprocessor 140 may extract a horizontal line from the original diagram image 203 and determine the longest horizontal line among the extracted horizontal lines. Additionally, the preprocessor 140 may generate the diagram image 200 by extracting all black pixels connected to the longest horizontal line and removing the black pixels extracted from the original diagram image 203.

전처리부(140)는 다이어그램 이미지(200)의 크기를 변경하여 크기 변경 다이어그램 이미지(202)를 생성할 수 있다(2002).The preprocessor 140 may change the size of the diagram image 200 to generate a size-changed diagram image 202 (2002).

전처리부(140)는 다이어그램 이미지(200)를 분할하여 복수개의 분할 다이어그램 이미지(201)를 생성할 수 있다(2003).The preprocessor 140 may divide the diagram image 200 to generate a plurality of divided diagram images 201 (2003).

객체 추출부(110)는 크기 변경 다이어그램 이미지(202)에 포함되어 크기가 변경된 객체(400) 및 분할 다이어그램 이미지(201)에 포함된 객체(400)를 기초로, 다이어그램 이미지(200)에 포함된 객체(400)를 추출할 수 있다(2004).The object extraction unit 110 is based on the object 400 whose size has been changed and included in the size change diagram image 202 and the object 400 included in the segmentation diagram image 201. Object 400 can be extracted (2004).

이때, 상대적으로 크기가 큰 심볼(300)에 대응되는 객체(400)는 크기가 축소된 크기 변경 다이어그램 이미지(202)로부터 추출될 수 있고, 상대적으로 크기가 작은 심볼(300)에 대응되는 객체(400)는 분할 다이어그램 이미지(201)로부터 추출될 수 있다.At this time, the object 400 corresponding to the relatively large symbol 300 can be extracted from the reduced size change diagram image 202, and the object corresponding to the relatively small symbol 300 ( 400) can be extracted from the segmentation diagram image 201.

텍스트 추출부는 분할 다이어그램 이미지(201)에 포함된 텍스트를 추출하여 다이어그램 이미지(200)의 텍스트를 인식할 수 있다(2005).The text extractor may extract text included in the segmented diagram image 201 and recognize the text of the diagram image 200 (2005).

프로세서(150)는 추출된 객체(400) 및 추출된 텍스트에 기초하여 다이어그램 이미지(200)에 포함된 심볼(300)들의 리스트를 생성할 수 있다(2006).The processor 150 may generate a list of symbols 300 included in the diagram image 200 based on the extracted object 400 and the extracted text (2006).

본 발명의 실시예에 따른 다수의 심볼(300)들을 포함하는 다이어그램 이미지(200)에서 객체(400)를 인식하는 다이어그램 이미지(200)의 객체 인식 시스템(100)의 성능을 검증하기 위하여, 심볼 탐지 실험을 진행하였다.In order to verify the performance of the object recognition system 100 of the diagram image 200 that recognizes the object 400 in the diagram image 200 including a plurality of symbols 300 according to an embodiment of the present invention, symbol detection An experiment was conducted.

정량적인 성능 측정을 위해서 1) 도출된 detection들을 score 0.5, IOU threshold 0.5를 기준으로 계산한 precision과 recall, 2) COCO dataset에서 사용하는 Average precision 지표인 AP, AP50, AP75, 3) symbol diagonal length를 기준으로 150 이하(small), 150에서 250 사이(medium), 250 이상(large)으로 나누어 average precision을 계산하였다.To measure quantitative performance, 1) precision and recall calculated based on score 0.5 and IOU threshold 0.5 for the derived detections, 2) AP, AP50, AP75, which are average precision indicators used in the COCO dataset, and 3) symbol diagonal length. As a standard, the average precision was calculated by dividing it into 150 or less (small), between 150 and 250 (medium), and 250 or more (large).

실험에서는 제안하는 방법을 네 단계로 나누어 성능을 살펴보았다. 먼저 GFL 기반으로 구성된 small symbol network만을 사용한 성능 (GFL(default)), small symbol network 결과에서 adaptive threshold를 적용한 성능 (GFL(A.T.)), 추가적으로 large symbol network를 병행하여 사용하였을 때의 성능(GFL(A.T.) + large)과 마지막으로 data augmentation 을 적용하였을 때의 성능 (GFL + large w/ augmentation)이다. 마지막 case에서는 기본적인 flip augmentation 이외에 crop, up & down scaling과 blur 및 noise를 추가하여 실험을 진행하였다.In the experiment, the performance of the proposed method was examined by dividing it into four steps. First, the performance using only a small symbol network based on GFL (GFL(default)), the performance applying an adaptive threshold to the small symbol network results (GFL(A.T.)), and the performance when using a large symbol network in parallel (GFL(A.T.)) A.T.) + large) and finally, the performance when data augmentation is applied (GFL + large w/ augmentation). In the last case, experiments were conducted by adding crop, up & down scaling, blur, and noise in addition to basic flip augmentation.

위 네 단계의 성능 측정 결과는 아래 [표 1]과 같다. 각 성능 지표별로 가장 성능이 높은 항목을 bold 및 underline으로 표시하였으며 두 번째로 성능이 높은 항목을 bold 및 italic으로 표시하였다.The performance measurement results of the above four steps are shown in [Table 1] below. For each performance indicator, the highest performing item was indicated in bold and underline, and the second highest performing item was indicated in bold and italic.

[표 1][Table 1]

결과 표를 통해 large symbol network 사용과 adaptive threshold의 사용, 그리고 augmentation이 모두 precision/recall 성능을 높이는 데 기여한 것으로 나타났다. 최종적으로, 모든 방법론을 적용했을 경우, precision이 0.9718, recall이 0.9827로 가장 높은 성능을 나타냈다.The results table showed that the use of a large symbol network, the use of adaptive threshold, and augmentation all contributed to increasing precision/recall performance. Ultimately, when all methodologies were applied, the highest performance was achieved with precision of 0.9718 and recall of 0.9827.

본 발명의 실시예에 따라 딥러닝 기반 객체 탐지 기술을 다이어그램 이미지(200)의 심볼 탐지에 활용하기 위한 연구를 진행하였다. 기존에 제안된 딥러닝 기반 객체탐지 기술은 공통적으로 널리 알려진 데이터셋을 기반으로 성능을 측정하여 보고하였다. 하지만 이러한 성능 기준이 모든 다이어그램 이미지(200)에 동일하게 나타난다고 보장할 수는 없다. 딥러닝 기술의 특성상 학습 데이터의 특성과 그 분포(distribution)가 성능에 큰 영향을 미치기 때문에 다른 데이터셋에 적용하는 경우 결과 성능이 달라질 수 있다. According to an embodiment of the present invention, research was conducted to utilize deep learning-based object detection technology to detect symbols in the diagram image 200. The previously proposed deep learning-based object detection technology measured and reported its performance based on commonly known datasets. However, it cannot be guaranteed that these performance standards appear equally in all diagram images 200. Due to the nature of deep learning technology, the characteristics of the learning data and its distribution have a significant impact on performance, so the resulting performance may vary when applied to other datasets.

본 발명의 일 실시예에 따라 one-stage 접근법을 중심으로 다이어그램 이미지(200)에 대한 심볼(300)의 탐지 성능을 다양한 조건에서 실험을 통해 알아보고, 최적의 성능을 나타내는 방안을 제안하였다. 다이어그램 이미지(200)의 심볼 크기 편차에 따른 성능 저하를 보상할 수 있도록 두 개의 네트워크를 구성하였다. 높은 밀도의 심볼(300)에 대한 인식 성능을 높이기 위해 별도의 후처리 프로세스를 구성하였으며 data augmentation을 통해 최종적인 성능을 도출하였다.According to an embodiment of the present invention, the detection performance of the symbol 300 for the diagram image 200 was investigated through experiments under various conditions, focusing on the one-stage approach, and a method showing optimal performance was proposed. Two networks were configured to compensate for performance degradation due to deviation in symbol size of the diagram image 200. A separate post-processing process was configured to improve recognition performance for the high-density symbol 300, and the final performance was derived through data augmentation.

추가적으로 본 연구를 통해 구축한 데이터셋이 아닌 별도의 다이어그램 이미지(200)에 대해서도 실험을 진행하였으며, 이때 유사한 결과를 볼 수 있었다. 해당 다이어그램 이미지(200)는 학습에 사용한 데이터셋보다 좀 더 dense하게 심볼(300)들이 배치되어 있었다. 다이어그램 이미지(200)의 특성상 동일한 시스템을 통해 그려진 다이어그램인 경우 다이어그램의 전체적인 형태가 달라도 심볼(300)의 형상 및 텍스트 구성은 크게 변하지 않는다. 따라서 본 연구를 통해 구축한 학습 데이터셋을 활용해 학습시킨 symbol detection 및 text recognition network는 다른 다이어그램 이미지(200)에 대해서도 활용이 가능하다는 것을 확인하였다.Additionally, experiments were conducted on a separate diagram image (200) other than the dataset constructed through this study, and similar results were observed. In the diagram image 200, the symbols 300 were arranged more densely than the dataset used for learning. Due to the nature of the diagram image 200, if the diagram is drawn using the same system, the shape and text composition of the symbol 300 do not change significantly even if the overall shape of the diagram is different. Therefore, it was confirmed that the symbol detection and text recognition network trained using the learning dataset constructed through this study can be used for other diagram images (200).

실험 결과 제안된 심볼 인식과 텍스트 인식 방법은 모두 준수한 성능을 보여주었다. 심볼 인식에서는 제안된 두 가지 방법인 large symbol network의 사용과 adaptive threshold 사용이 단계적으로 성능을 높여주는 것으로 나타났다.As a result of the experiment, both the proposed symbol recognition and text recognition methods showed satisfactory performance. In symbol recognition, the two proposed methods, the use of a large symbol network and the use of an adaptive threshold, were found to gradually increase performance.

정답 instance의 개수를 높이고, 보다 정확하게 box regression 결과를 내는 것이 필요하다면 augmentation을 적용하는 것이 성능을 높여준다는 것을 실험적으로 확인하였다. 정량적인 성능 지표와 가시화된 결과 통해 제안된 GFL 기반의 심볼 detection 방법이 높은 성능을 나타내는 것을 볼 수 있었다.It was experimentally confirmed that applying augmentation improves performance if it is necessary to increase the number of correct answer instances and produce more accurate box regression results. Through quantitative performance indicators and visualized results, it was seen that the proposed GFL-based symbol detection method shows high performance.

텍스트 인식에서는 기존 text recognition 방법론들이 준수한 성능을 보여주었다.In text recognition, existing text recognition methodologies showed satisfactory performance.

제안하는 방법의 검증을 위해서 81장의 다이어그램 이미지(200)를 활용하여 심볼(300) 및 텍스트의 인식 실험을 수행하였다. 그 결과, 심볼(300)의 경우 precision과 recall이 각각 0.9718, 0.9827로 나타났고, 텍스트의 경우 precision과 recall이 각각 0.9289, 0.8991로 나와서 심볼(300)과 텍스트 모두에 대해서 준수한 인식 성능을 보이는 것을 확인하였다.To verify the proposed method, a symbol (300) and text recognition experiment was performed using 81 diagram images (200). As a result, for the symbol (300), the precision and recall were 0.9718 and 0.9827, respectively, and for the text, the precision and recall were 0.9289 and 0.8991, respectively, confirming that the recognition performance was satisfactory for both the symbol (300) and the text. did.

이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.As described above, the disclosed embodiments have been described with reference to the attached drawings. A person skilled in the art to which the present invention pertains will understand that the present invention can be practiced in forms different from the disclosed embodiments without changing the technical idea or essential features of the present invention. The disclosed embodiments are illustrative and should not be construed as limiting.

100: 객체 인식 시스템
110: 객체 추출부
120: 중첩 비율 산출부
130: 중복 객체 판단부
140: 전처리부
150: 프로세서
160: 인공지능 학습부
170: 메모리
200: 다이어그램 이미지
201: 분할 다이어그램 이미지
202: 크기 변경 다이어그램 이미지
203: 원본 다이어그램 이미지
300: 심볼
400: 객체
401: 중복 객체
500: 객체들의 영역
501: 중첩 영역
600: 바운딩 박스
100: Object recognition system
110: Object extraction unit
120: Overlap ratio calculation unit
130: Duplicate object determination unit
140: Preprocessing unit
150: processor
160: Artificial Intelligence Learning Department
170: memory
200: Diagram image
201: Segmentation diagram image
202: Resize diagram image
203: Original diagram image
300: symbol
400: object
401: Duplicate object
500: Area of objects
501: Overlapping area
600: Bounding box

Claims (21)

다수의 심볼들을 포함하는 다이어그램 이미지에서 객체를 인식하는 다이어그램 이미지의 객체 인식 방법에 있어서,
(a) 객체 추출부에 의해, 상기 다이어그램 이미지로부터 상기 심볼들을 포함하는 객체들을 추출하는 단계;
(b) 중첩 비율 산출부에 의해, 추출된 객체들의 중첩 영역과 상기 객체들의 영역 간의 중첩 비율을 산출하는 단계; 및
(c) 중복 객체 판단부에 의해, 상기 중첩 비율을 상기 객체들의 유형에 따라 결정되는 기준 임계값과 비교하여 상기 객체들이 중복 객체에 해당하는지 여부를 판단하는 단계;를 포함하고,
상기 (c) 단계는:
(c1) 상기 객체들의 크기와 형상을 분석하여 상기 객체들의 심볼 타입들을 결정하고, 상기 객체들의 심볼 타입들을 비교하는 단계;
(c2) 상기 객체들의 심볼 타입들이 중첩 발생 빈도를 기반으로 결정되는 중첩 심볼 집합에 해당하는지 여부를 판단하는 단계; 및
(c3) 상기 심볼 타입들의 비교 결과 및 상기 중첩 심볼 집합에 해당하는지 여부에 따라 상기 중복 객체를 판단하는 단계를 포함하는 다이어그램 이미지의 객체 인식 방법.
In an object recognition method of a diagram image for recognizing an object in a diagram image including a plurality of symbols,
(a) extracting objects including the symbols from the diagram image by an object extractor;
(b) calculating, by an overlap ratio calculation unit, an overlap ratio between the overlapping areas of the extracted objects and the areas of the objects; and
(c) determining, by a duplicate object determination unit, whether the objects correspond to duplicate objects by comparing the overlap ratio with a reference threshold determined according to the types of the objects;
Step (c) above is:
(c1) analyzing the size and shape of the objects to determine symbol types of the objects and comparing the symbol types of the objects;
(c2) determining whether the symbol types of the objects correspond to an overlapping symbol set determined based on the frequency of overlapping occurrences; and
(c3) A method for recognizing objects in a diagram image, including determining the overlapping object according to a comparison result of the symbol types and whether it corresponds to the overlapping symbol set.
삭제delete 제1항에 있어서,
상기 (c3) 단계는:
상기 객체들의 심볼 타입들이 동일하지 않은 경우, 상기 객체들을 중복 객체가 아닌 것으로 판단하는 단계;
상기 객체들의 심볼 타입들이 동일하고, 상기 중첩 심볼 집합에 해당하는 경우, 상기 중첩 비율을 상기 심볼 타입에 따라 결정되는 제1 기준 임계값과 비교하여 상기 중복 객체를 판단하는 단계; 및
상기 객체들의 심볼 타입들이 동일하고, 상기 중첩 심볼 집합에 해당하지 않는 경우, 상기 중첩 비율을 상기 제1 기준 임계값보다 낮은 제2 기준 임계값과 비교하여 상기 중복 객체를 판단하는 단계;를 포함하는 다이어그램 이미지의 객체 인식 방법.
According to paragraph 1,
Step (c3) above is:
If the symbol types of the objects are not the same, determining that the objects are not duplicate objects;
When the symbol types of the objects are the same and correspond to the overlapping symbol set, determining the overlapping object by comparing the overlapping ratio with a first reference threshold determined according to the symbol type; and
If the symbol types of the objects are the same and do not correspond to the overlapping symbol set, determining the overlapping object by comparing the overlapping ratio with a second reference threshold lower than the first reference threshold; comprising Object recognition method in diagram image.
다수의 심볼들을 포함하는 다이어그램 이미지에서 객체를 인식하는 다이어그램 이미지의 객체 인식 방법에 있어서,
(a) 객체 추출부에 의해, 상기 다이어그램 이미지로부터 상기 심볼들을 포함하는 객체들을 추출하는 단계;
(b) 중첩 비율 산출부에 의해, 추출된 객체들의 중첩 영역과 상기 객체들의 영역 간의 중첩 비율을 산출하는 단계; 및
(c) 중복 객체 판단부에 의해, 상기 중첩 비율을 상기 객체들의 유형에 따라 결정되는 기준 임계값과 비교하여 상기 객체들이 중복 객체에 해당하는지 여부를 판단하는 단계;를 포함하고,
상기 (c) 단계는:
상기 다이어그램 이미지로부터 추출된 객체를 포함하는 바운딩 박스를 생성하는 단계;
서로 겹쳐진 바운딩 박스들의 합쳐진 영역의 면적에 대한 겹쳐진 영역의 면적 비율로부터 상기 바운딩 박스들 간의 IOU 비율을 연산하는 단계;
상기 추출된 객체의 크기 및 형상을 기초로 심볼 타입을 결정하는 단계;
상기 결정된 심볼 타입을 기초로 상기 기준 임계값을 결정하는 단계;
상기 IOU 비율이 상기 기준 임계값 이상이면 상기 겹쳐진 바운딩 박스들 중 하나의 바운딩 박스를 제거하는 단계; 및
제거되지 않은 상기 바운딩 박스에 포함된 객체를 상기 바운딩 박스에 대응되는 심볼로 인식하는 단계;를 포함하는 다이어그램 이미지의 객체 인식 방법.
In an object recognition method of a diagram image for recognizing an object in a diagram image including a plurality of symbols,
(a) extracting objects including the symbols from the diagram image by an object extractor;
(b) calculating, by an overlap ratio calculation unit, an overlap ratio between the overlapping areas of the extracted objects and the areas of the objects; and
(c) determining, by a duplicate object determination unit, whether the objects correspond to duplicate objects by comparing the overlap ratio with a reference threshold determined according to the types of the objects;
Step (c) above is:
generating a bounding box containing an object extracted from the diagram image;
calculating an IOU ratio between the bounding boxes from a ratio of the area of the overlapping area to the area of the combined area of the overlapping bounding boxes;
determining a symbol type based on the size and shape of the extracted object;
determining the reference threshold based on the determined symbol type;
removing one of the overlapping bounding boxes if the IOU ratio is greater than or equal to the reference threshold; and
Recognizing an object included in the bounding box that has not been removed as a symbol corresponding to the bounding box.
제4항에 있어서,
상기 심볼로 인식된 객체를 포함하는 바운딩 박스를 기초로, 상기 다이어그램 이미지에서의 상기 심볼의 위치 정보 또는 상기 심볼들의 리스트 중 적어도 하나를 생성하는 단계;를 더 포함하는, 객체 인식 방법.
According to paragraph 4,
Object recognition method further comprising: generating at least one of position information of the symbol in the diagram image or a list of the symbols, based on a bounding box containing the object recognized as the symbol.
제1항에 있어서,
인공지능 학습부에 의해, 심볼의 특징을 입력 변수로 설정하고 상기 객체들의 유형을 출력 변수로 설정하여 인공지능 모델을 학습하는 단계;를 더 포함하고,
상기 (c) 단계는,
상기 추출된 객체로부터 상기 객체의 특징을 추출하는 단계; 및
상기 추출된 객체의 특징을 기초로 상기 인공지능 모델을 이용하여 상기 추출된 객체의 유형을 결정하는 단계;를 포함하는, 객체 인식 방법.
According to paragraph 1,
It further includes the step of learning an artificial intelligence model by setting the characteristics of the symbols as input variables and the types of the objects as output variables, by the artificial intelligence learning unit,
In step (c),
extracting features of the object from the extracted object; and
Object recognition method including; determining the type of the extracted object using the artificial intelligence model based on the characteristics of the extracted object.
제1항에 있어서,
전처리부에 의해, 상기 다이어그램 이미지의 크기를 변경하여 크기 변경 다이어그램 이미지를 생성하는 단계;를 더 포함하고,
상기 객체를 추출하는 단계는,
상기 객체 추출부에 의해, 상기 크기 변경 다이어그램 이미지에 포함되어 크기가 변경된 객체를 추출하는 단계;를 포함하는, 객체 인식 방법.
According to paragraph 1,
Further comprising: generating a size-changed diagram image by changing the size of the diagram image, by a preprocessor,
The step of extracting the object is,
Extracting, by the object extraction unit, an object whose size has been changed and included in the size change diagram image.
제1항에 있어서,
전처리부에 의해, 상기 다이어그램 이미지를 분할하여 복수개의 분할 다이어그램 이미지를 생성하는 단계;를 더 포함하고,
상기 객체를 추출하는 단계는,
상기 객체 추출부에 의해, 상기 분할 다이어그램 이미지에 포함된 객체를 추출하는 단계;를 더 포함하는, 객체 인식 방법.
According to paragraph 1,
It further includes: generating a plurality of split diagram images by dividing the diagram image by a preprocessor,
The step of extracting the object is,
Object recognition method further comprising: extracting an object included in the segmentation diagram image by the object extractor.
제1항에 있어서,
전처리부에 의해, 상기 다이어그램 이미지의 크기를 변경하여 크기 변경 다이어그램 이미지를 생성하고, 상기 다이어그램 이미지를 분할하여 복수개의 분할 다이어그램 이미지를 생성하는 단계;를 더 포함하고,
상기 객체를 추출하는 단계는,
상기 객체 추출부에 의해, 상기 크기 변경 다이어그램 이미지에 포함되어 크기가 변경된 객체 및 상기 분할 다이어그램 이미지에 포함된 객체를 기초로, 상기 다이어그램 이미지에 포함된 객체를 추출하는 단계;를 포함하는, 객체 인식 방법.
According to paragraph 1,
It further includes a step of generating, by a preprocessor, a size-changed diagram image by changing the size of the diagram image, and dividing the diagram image to generate a plurality of split diagram images,
The step of extracting the object is,
Object recognition, comprising: extracting, by the object extraction unit, an object included in the diagram image based on an object whose size has been changed and included in the size change diagram image and an object included in the segmented diagram image. method.
제9항에 있어서,
텍스트 추출부에 의해, 상기 분할 다이어그램 이미지에 포함된 텍스트를 추출하여 상기 다이어그램 이미지의 텍스트를 인식하는 단계;를 더 포함하는. 객체 인식 방법.
According to clause 9,
Further comprising: extracting text included in the segmented diagram image by a text extraction unit to recognize the text of the diagram image. Object recognition method.
제1항에 있어서,
전처리부에 의해, 원본 다이어그램 이미지로부터 수평선을 추출하고, 추출된 수평선들 중 길이가 가장 긴 수평선을 결정하고, 상기 가장 긴 수평선에 연결된 모든 검정 픽셀을 추출하고, 상기 원본 다이어그램 이미지로부터 상기 추출된 검정 픽셀을 제거하여 상기 다이어그램 이미지를 생성하는 단계;를 더 포함하는 객체 인식 방법.
According to paragraph 1,
By the preprocessor, a horizontal line is extracted from the original diagram image, a horizontal line with the longest length among the extracted horizontal lines is determined, all black pixels connected to the longest horizontal line are extracted, and the extracted black pixels are extracted from the original diagram image. An object recognition method further comprising: generating the diagram image by removing pixels.
제1항, 제3항 내지 제11항 중 어느 한 항의 객체 인식 방법을 실행시키도록 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium to execute the object recognition method of any one of claims 1, 3 to 11. 다수의 심볼들을 포함하는 다이어그램 이미지에서 객체를 인식하는 다이어그램 이미지의 객체 인식 시스템에 있어서,
상기 다이어그램 이미지로부터 상기 심볼들을 포함하는 객체들을 추출하는 객체 추출부;
추출된 객체들의 중첩 영역과 상기 객체들의 영역 간의 중첩 비율을 산출하는 중첩 비율 산출부; 및
상기 중첩 비율을 상기 객체들의 유형에 따라 결정되는 기준 임계값과 비교하여 상기 객체들이 중복 객체에 해당하는지 여부를 판단하는 중복 객체 판단부;를 포함하고,
상기 중복 객체 판단부는:
상기 객체들의 크기와 형상을 분석하여 상기 객체들의 심볼 타입들을 결정하고, 상기 객체들의 심볼 타입들을 비교하고;
상기 객체들의 심볼 타입들이 중첩 발생 빈도를 기반으로 결정되는 중첩 심볼 집합에 해당하는지 여부를 판단하고; 그리고
상기 심볼 타입들의 비교 결과 및 상기 중첩 심볼 집합에 해당하는지 여부에 따라 상기 중복 객체를 판단하도록 구성되는, 다이어그램 이미지의 객체 인식 시스템.
In an object recognition system for a diagram image that recognizes an object in a diagram image including a plurality of symbols,
an object extraction unit that extracts objects including the symbols from the diagram image;
an overlap ratio calculation unit that calculates an overlap ratio between the overlapping areas of the extracted objects and the areas of the objects; and
A duplicate object determination unit that determines whether the objects correspond to duplicate objects by comparing the overlap ratio with a reference threshold determined according to the types of objects,
The duplicate object determination unit:
Analyzing the size and shape of the objects to determine symbol types of the objects and comparing the symbol types of the objects;
Determine whether the symbol types of the objects correspond to an overlapping symbol set determined based on the frequency of overlapping occurrences; and
An object recognition system in a diagram image, configured to determine the overlapping object according to a comparison result of the symbol types and whether it corresponds to the overlapping symbol set.
삭제delete 제13항에 있어서,
상기 중복 객체 판단부는:
상기 객체들의 심볼 타입들이 동일하지 않은 경우, 상기 객체들을 중복 객체가 아닌 것으로 판단하고;
상기 객체들의 심볼 타입들이 동일하고, 상기 중첩 심볼 집합에 해당하는 경우, 상기 중첩 비율을 상기 심볼 타입에 따라 결정되는 제1 기준 임계값과 비교하여 상기 중복 객체를 판단하고; 그리고
상기 객체들의 심볼 타입들이 동일하고, 상기 중첩 심볼 집합에 해당하지 않는 경우, 상기 중첩 비율을 상기 제1 기준 임계값보다 낮은 제2 기준 임계값과 비교하여 상기 중복 객체를 판단하도록 구성되는, 다이어그램 이미지의 객체 인식 시스템.
According to clause 13,
The duplicate object determination unit:
If the symbol types of the objects are not the same, determine that the objects are not duplicate objects;
If the symbol types of the objects are the same and correspond to the overlapping symbol set, determine the overlapping object by comparing the overlapping ratio with a first reference threshold determined according to the symbol type; and
If the symbol types of the objects are the same and do not correspond to the overlapping symbol set, compare the overlap ratio with a second reference threshold lower than the first reference threshold to determine the overlapping object. Diagram image. object recognition system.
다수의 심볼들을 포함하는 다이어그램 이미지에서 객체를 인식하는 다이어그램 이미지의 객체 인식 시스템에 있어서,
상기 다이어그램 이미지로부터 상기 심볼들을 포함하는 객체들을 추출하는 객체 추출부;
추출된 객체들의 중첩 영역과 상기 객체들의 영역 간의 중첩 비율을 산출하는 중첩 비율 산출부; 및
상기 중첩 비율을 상기 객체들의 유형에 따라 결정되는 기준 임계값과 비교하여 상기 객체들이 중복 객체에 해당하는지 여부를 판단하는 중복 객체 판단부;를 포함하고,
상기 중복 객체 판단부는:
상기 다이어그램 이미지로부터 추출된 객체를 포함하는 바운딩 박스를 생성하고;
서로 겹쳐진 바운딩 박스들의 합쳐진 영역의 면적에 대한 겹쳐진 영역의 면적 비율로부터 상기 바운딩 박스들 간의 IOU 비율을 연산하고;
상기 추출된 객체의 크기 및 형상을 기초로 심볼 타입을 결정하고;
상기 결정된 심볼 타입을 기초로 상기 기준 임계값을 결정하고;
상기 IOU 비율이 상기 기준 임계값 이상이면 상기 겹쳐진 바운딩 박스들 중 하나의 바운딩 박스를 제거하고; 그리고
제거되지 않은 상기 바운딩 박스에 포함된 객체를 상기 바운딩 박스에 대응되는 심볼로 인식하도록 구성되는, 객체 인식 시스템.
In an object recognition system for a diagram image that recognizes an object in a diagram image including a plurality of symbols,
an object extraction unit that extracts objects including the symbols from the diagram image;
an overlap ratio calculation unit that calculates an overlap ratio between the overlapping areas of the extracted objects and the areas of the objects; and
A duplicate object determination unit that determines whether the objects correspond to duplicate objects by comparing the overlap ratio with a reference threshold determined according to the types of objects,
The duplicate object determination unit:
creating a bounding box containing an object extracted from the diagram image;
Calculate the IOU ratio between the bounding boxes from the ratio of the area of the overlapped area to the area of the combined area of the overlapping bounding boxes;
Determine a symbol type based on the size and shape of the extracted object;
determine the reference threshold based on the determined symbol type;
if the IOU ratio is greater than or equal to the reference threshold, remove one bounding box of the overlapping bounding boxes; and
An object recognition system configured to recognize an object included in the bounding box that has not been removed as a symbol corresponding to the bounding box.
제16항에 있어서,
상기 심볼로 인식된 객체를 포함하는 바운딩 박스를 기초로, 상기 다이어그램 이미지에서의 상기 심볼의 위치 정보 또는 상기 심볼들의 리스트 중 적어도 하나를 생성하도록 구성되는 프로세서;를 더 포함하는 객체 인식 시스템.
According to clause 16,
An object recognition system further comprising: a processor configured to generate at least one of position information of the symbol in the diagram image or a list of the symbols, based on a bounding box containing the object recognized as the symbol.
제13항에 있어서,
심볼의 특징을 입력 변수로 설정하고 상기 객체들의 유형을 출력 변수로 설정하여 인공지능 모델을 학습하도록 구성되는 인공지능 학습부;를 더 포함하고,
상기 중복 객체 판단부는:
상기 추출된 객체로부터 상기 객체의 특징을 추출하고; 그리고
상기 추출된 객체의 특징을 기초로 상기 인공지능 모델을 이용하여 상기 추출된 객체의 유형을 결정하도록 구성되는, 객체 인식 시스템.
According to clause 13,
It further includes an artificial intelligence learning unit configured to learn an artificial intelligence model by setting the characteristics of the symbol as an input variable and the types of the objects as an output variable,
The duplicate object determination unit:
extracting features of the object from the extracted object; and
An object recognition system configured to determine the type of the extracted object using the artificial intelligence model based on the characteristics of the extracted object.
제13항에 있어서,
상기 다이어그램 이미지의 크기를 변경하여 크기 변경 다이어그램 이미지를 생성하고, 상기 다이어그램 이미지를 분할하여 복수개의 분할 다이어그램 이미지를 생성하도록 구성되는 전처리부;를 더 포함하고,
상기 객체 추출부는,
상기 크기 변경 다이어그램 이미지에 포함되어 크기가 변경된 객체 및 상기 분할 다이어그램 이미지에 포함된 객체를 기초로, 상기 다이어그램 이미지에 포함된 객체를 추출하도록 구성되는, 객체 인식 시스템.
According to clause 13,
It further includes a preprocessor configured to change the size of the diagram image to generate a size-changed diagram image, and to generate a plurality of split diagram images by dividing the diagram image,
The object extraction unit,
An object recognition system configured to extract an object included in the diagram image based on an object whose size has been changed and included in the resized diagram image and an object included in the split diagram image.
제19항에 있어서,
상기 분할 다이어그램 이미지에 포함된 텍스트를 추출하여 상기 다이어그램 이미지의 텍스트를 인식하도록 구성되는 텍스트 추출부;를 더 포함하는 객체 인식 시스템.
According to clause 19,
An object recognition system further comprising a text extraction unit configured to extract text included in the segmented diagram image and recognize the text of the diagram image.
제13항에 있어서,
원본 다이어그램 이미지로부터 수평선을 추출하고, 추출된 수평선들 중 길이가 가장 긴 수평선을 결정하고, 상기 가장 긴 수평선에 연결된 모든 검정 픽셀을 추출하고, 상기 원본 다이어그램 이미지로부터 상기 추출된 검정 픽셀을 제거하여 상기 다이어그램 이미지를 생성하도록 구성되는 전처리부;를 포함하는, 객체 인식 시스템.
According to clause 13,
Extract a horizontal line from the original diagram image, determine the horizontal line with the longest length among the extracted horizontal lines, extract all black pixels connected to the longest horizontal line, and remove the extracted black pixels from the original diagram image. An object recognition system comprising: a preprocessor configured to generate a diagram image.
KR1020210071884A 2021-06-03 2021-06-03 Object recognition system, object recognition method and computer program stored in a recording medium to execute the method KR102638388B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210071884A KR102638388B1 (en) 2021-06-03 2021-06-03 Object recognition system, object recognition method and computer program stored in a recording medium to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210071884A KR102638388B1 (en) 2021-06-03 2021-06-03 Object recognition system, object recognition method and computer program stored in a recording medium to execute the method

Publications (2)

Publication Number Publication Date
KR20220163579A KR20220163579A (en) 2022-12-12
KR102638388B1 true KR102638388B1 (en) 2024-02-19

Family

ID=84391461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210071884A KR102638388B1 (en) 2021-06-03 2021-06-03 Object recognition system, object recognition method and computer program stored in a recording medium to execute the method

Country Status (1)

Country Link
KR (1) KR102638388B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020181405A (en) * 2019-04-25 2020-11-05 日本電設工業株式会社 Estimation work support system and estimation work support program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102177550B1 (en) * 2018-11-30 2020-11-11 도프텍(주) Method of automatically recognizing and classifying information of design in imaged PID drawings
KR102315854B1 (en) * 2019-02-20 2021-10-20 경북대학교 산학협력단 Deep learning-based learning data generation method and learning data generation system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020181405A (en) * 2019-04-25 2020-11-05 日本電設工業株式会社 Estimation work support system and estimation work support program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
한국 공개특허공보 제10-2020-0065613호(2020.06.09.) 1부.*
한국 공개특허공보 제10-2020-0103204호(2020.09.02.) 1부.*

Also Published As

Publication number Publication date
KR20220163579A (en) 2022-12-12

Similar Documents

Publication Publication Date Title
US5410611A (en) Method for identifying word bounding boxes in text
Arvanitopoulos et al. Seam carving for text line extraction on color and grayscale historical manuscripts
US6738519B1 (en) Character recognition apparatus
US5539841A (en) Method for comparing image sections to determine similarity therebetween
JP5492205B2 (en) Segment print pages into articles
US5384863A (en) Methods and apparatus for automatic modification of semantically significant portions of a document without document image decoding
CN113158808B (en) Method, medium and equipment for Chinese ancient book character recognition, paragraph grouping and layout reconstruction
US9235755B2 (en) Removal of underlines and table lines in document images while preserving intersecting character strokes
US9430703B2 (en) Method for segmenting text words in document images using vertical projections of center zones of characters
US11442430B2 (en) Rapid packaging prototyping using machine learning
JPH05233873A (en) Area dividing method
CN109389050B (en) Method for identifying connection relation of flow chart
Gupta et al. Automatic assessment of OCR quality in historical documents
Rakshit et al. Line, word, and character segmentation from bangla handwritten text—a precursor toward bangla hocr
Ali et al. An efficient character segmentation algorithm for recognition of Arabic handwritten script
CN116824608A (en) Answer sheet layout analysis method based on target detection technology
Bukhari et al. Layout analysis of Arabic script documents
KR102638388B1 (en) Object recognition system, object recognition method and computer program stored in a recording medium to execute the method
CN111738979A (en) Automatic certificate image quality inspection method and system
Tran et al. A deep learning-based system for document layout analysis
Makridis et al. An efficient word segmentation technique for historical and degraded machine-printed documents
CN114463767A (en) Credit card identification method, device, computer equipment and storage medium
Mishchenko et al. Model-Based Recognition and Extraction of Information from Chart Images.
CN101546379A (en) Computer-readable recording medium having character recognition program recorded thereon, character recognition device, and character recognition method
Kikkuri et al. An Optical Character Recognition Technique for Devanagari Script Using Convolutional Neural Network and Unicode Encoding

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant