KR102395599B1 - 딥러닝 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법 - Google Patents

딥러닝 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법 Download PDF

Info

Publication number
KR102395599B1
KR102395599B1 KR1020200085496A KR20200085496A KR102395599B1 KR 102395599 B1 KR102395599 B1 KR 102395599B1 KR 1020200085496 A KR1020200085496 A KR 1020200085496A KR 20200085496 A KR20200085496 A KR 20200085496A KR 102395599 B1 KR102395599 B1 KR 102395599B1
Authority
KR
South Korea
Prior art keywords
straight line
type
line object
solid line
solid
Prior art date
Application number
KR1020200085496A
Other languages
English (en)
Other versions
KR20220007370A (ko
Inventor
문두환
문유찬
Original Assignee
경북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경북대학교 산학협력단 filed Critical 경북대학교 산학협력단
Priority to KR1020200085496A priority Critical patent/KR102395599B1/ko
Publication of KR20220007370A publication Critical patent/KR20220007370A/ko
Application granted granted Critical
Publication of KR102395599B1 publication Critical patent/KR102395599B1/ko

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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 일 실시예에 따른 이미지 도면 내 선 객체 인식 방법은 a) 탐지 딥러닝 모델을 통해 이미지 도면으로부터 기 설정된 타입의 직선 객체와 단말 기호를 탐지하고, 형상 유사도 비교를 통해 상기 이미지 도면으로부터 실선 타입의 직선 객체를 탐지하는 단계; b) 상기 기 설정된 타입의 직선 객체와 상기 실선 타입의 직선 객체가 중첩될 경우, 상기 실선 타입의 직선 객체를 상기 기 설정된 타입의 직선 객체로 변환하거나 상기 실선 타입의 직선 객체를 삭제하는 단계; 및 c) 단말 기호가 기 설정된 타입의 직선 객체 또는 실선 타입의 직선 객체와 중첩될 경우, 상기 중첩된 단말 기호를 상기 중첩된 기 설정된 타입의 직선 객체 또는 상기 중첩된 실선 타입의 직선 객체에 해당하는 단말 기호로 인식하는 단계를 포함한다.

Description

딥러닝 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법{SYSTEM AND METHOD TO RECOGNIZE LINE OBJECTS IN IMAGE DRAWINGS BASED ON DEEP LEARNING}
본 발명은 딥러닝 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법에 관한 것이다.
국내에서는 건축 분야에서 건축 도면을 자동인식하여 철골 및 부재 등의 물량을 산출하는 사례들이 다수 있으나, 대부분 선분을 인식하는 수준에 머물고 있으며 도면에 포함된 다양한 설계 정보를 인식하여 지능형 엔지니어링 도면으로 변환하는 기술의 개발 사례는 찾아보기 어렵다.
또한, 도면 인식 기술과 관련하여 건축/토목 분야에서 건축/토목 도면을 자동 인식하여 철골 및 부재 등의 물량을 산출하는 사례들이 있으며, 이외에도 배전설비 도면에서 전주 및 전선을 인식하는 연구도 진행된 적이 있으나, 대부분 선분과 같은 간단한 기하학적 특성을 인식하는 수준에 머물고 있다.
다시 말해, 종래 기술에서는 이미지 도면 내에 존재하는 직선 성분을 인식하는 기술 내용에 관해서는 공개되어 있으나, 이를 대각선, 점선 또는 파선을 인식하는 데는 어려움이 있었으며, 그 외 다양한 형태의 선을 인식하는데도 어려움이 있었다. 따라서, 대각선, 점선, 파선 또는 그 외의 선과, 도면에 포함된 단말 기호 등을 인식할 수 있는 기술 개발의 필요성이 점차 증가하고 있는 실정이다.
대한민국 공개특허공보 제10-2020-0065613호(2020.06.09.)
본 발명의 실시예는 이미지 도면 내의 제공되는 실선, 점선, 파선 및 그 외의 다양한 형태의 선 뿐만 아니라 대각선 및 단말 기호를 모두 인식할 수 있는 이미지 도면 내 선 객체 인식 시스템 및 그 방법을 제공하는 것을 목적으로 한다.
한편, 본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 이미지 도면 내 선 객체 인식 방법은 a) 탐지 딥러닝 모델을 통해 이미지 도면으로부터 기 설정된 타입의 직선 객체와 단말 기호를 탐지하고, 형상 유사도 비교를 통해 상기 이미지 도면으로부터 실선 타입의 직선 객체를 탐지하는 단계; b) 상기 기 설정된 타입의 직선 객체와 상기 실선 타입의 직선 객체가 중첩될 경우, 상기 실선 타입의 직선 객체를 상기 기 설정된 타입의 직선 객체로 변환하거나 상기 실선 타입의 직선 객체를 삭제하는 단계; 및 c) 단말 기호가 기 설정된 타입의 직선 객체 또는 실선 타입의 직선 객체와 중첩될 경우, 상기 중첩된 단말 기호를 상기 중첩된 기 설정된 타입의 직선 객체 또는 상기 중첩된 실선 타입의 직선 객체에 해당하는 단말 기호로 인식하는 단계를 포함한다.
상기 a) 단계는: a-1) 이미지 도면을 입력 받고, 입력 받은 이미지 도면을 전처리하여 전처리 도면을 생성하는 단계; a-2) 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 기 설정된 타입의 직선 객체 종류와 기 설정된 타입의 직선 객체 존재 영역을 탐지하여 기 설정된 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하는 단계; a-3) 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 단말 기호 종류와 단말 기호 존재 영역을 탐지하여 단말 기호 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 단말 기호 목록을 생성하는 단계; 및 a-4) 형상 유사도 비교를 통해 상기 전처리 도면으로부터 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 실선 타입의 직선 목록을 생성하는 단계를 포함할 수 있다.
상기 a-1) 단계는: a-1-1) 이미지 도면을 입력 받는 단계; a-1-2) 입력 받은 이미지 도면에서의 각 픽셀의 명암 값 과 임계 값을 비교하는 단계; a-1-3) 상기 각 픽셀의 명암 값이 상기 임계 값보다 크면 검은색으로, 작으면 흰색으로 변환하여 바이너리 이미지 도면을 획득하는 단계; a-1-4) 상기 바이너리 이미지 도면의 최외곽에서부터 중심을 향하여 검은색 픽셀을 검색하는 단계; a-1-5) 상기 a-1-4) 단계에서 검색된 검은색 픽셀과 연결된 픽셀을 모두 검색하는 단계; 및 a-1-6) 상기 a-1-5) 단계에서 검색된 모든 픽셀에 모폴로지 열림 연산을 수행하여 표제와 외곽선을 산출한 후 이를 제거하는 단계를 포함할 수 있다.
상기 b) 단계는: b-1) 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩되는지 여부를 판단하는 단계; 및 b-2) 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 상기 중첩된 영역 내의 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환하여 변환 결과를 상기 기 설정된 타입의 직선 목록에 저장하거나, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 삭제하여 삭제 결과를 상기 실선 타입의 직선 목록에 저장하는 단계를 포함할 수 있다.
상기 a-2) 단계는: a-2-1-a) 상기 전처리 도면을 입력 받는 단계; a-2-2-a) 상기 전처리 도면을 기 설정된 개수로 분할하는 단계; a-2-3-a) 분할된 각각의 전처리 도면에 상기 탐지 딥러닝 모델을 적용하는 단계; a-2-4-a) 동일한 직선 객체임에도 전처리 도면의 분할로 인해 서로 다른 직선 객체 탐지 결과 값이 산출된 경우, 상기 서로 다른 직선 객체 탐지 결과 값을 병합하여 해당 직선 객체를 동일한 직선 객체로 인식하는 단계; a-2-5-a) 상기 a-2-4-a) 단계에서의 병합 결과를 반영하여 기 설정된 타입의 직선 객체 탐지 결과 값을 재산출하는 단계; 및 a-2-6-a) 상기 재산출 된 기 설정된 타입의 직선 객체 탐지 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하는 단계를 포함하고, 상기 a-4) 단계는: a-4-1-a) 상기 전처리 도면에 모폴로지 닫힘 연산을 수행하여 관심 영역을 설정하는 단계; a-4-2-a) 상기 관심 영역에서의 형상 유사도 비교를 위해 허프 트랜스폼을 적용하여 수직선, 수평선 및 대각선을 포함하는 제1 실선 타입의 직선 객체를 탐지하는 단계; a-4-3-a) 상기 제1 실선 타입의 직선 객체에서 심볼 객체 또는 텍스트 객체와 중첩되는 부분을 제외하여 제2 실선 타입의 직선 객체를 산출하는 단계; a-4-4-a) 상기 제2 실선 타입의 직선 객체가 존재하는 영역인 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하는 단계; 및 a-4-5-a) 상기 실선 타입의 직선 객체 탐지 결과 값을 포함하는 실선 타입의 직선 목록을 생성하는 단계를 포함하고, 상기 b-2) 단계는: b-2-1-a) 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 제2 실선 타입의 직선 객체를 상기 중첩된 영역 내의 제2 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환하는 단계; 및 b-2-2-a) 상기 변환 결과를 상기 기 설정된 타입의 직선 목록에 저장하는 단계를 포함할 수 있다.
상기 a-2) 단계는: a-2-1-b) 상기 전처리 도면을 입력 받는 단계; a-2-2-b) 상기 전처리 도면을 기 설정된 개수로 분할하는 단계; a-2-3-b) 분할된 각각의 전처리 도면에 상기 탐지 딥러닝 모델을 적용하는 단계; a-2-4-b) 동일한 직선 객체임에도 전처리 도면의 분할로 인해 서로 다른 직선 객체 탐지 결과 값이 산출된 경우, 상기 서로 다른 직선 객체 탐지 결과 값을 병합하여 해당 직선 객체를 동일한 직선 객체로 인식하는 단계; a-2-5-b) 상기 병합 결과를 기반으로 상기 기 설정된 타입의 직선 객체 존재 영역을 감싸는 경계 상자를 설정하는 단계; a-2-6-b) 동일한 타입의 직선 객체 존재 영역을 감싸는 경계 상자 간의 IoU(Intersection Over Union)가 기준 값보다 크면 해당 경계 상자를 그룹핑하여 그룹핑 결과 값을 산출하는 단계; a-2-7-b) 상기 그룹핑 결과 값에 해리스 코너를 적용하여 그룹핑 된 경계 상자의 양 끝점을 추정하는 단계; a-2-8-b) 상기 그룹핑 된 경계 상자의 양 끝점을 기반으로 그룹핑 된 경계 상자 존재 영역을 탐지하여 기 설정된 타입의 직선 객체 탐지 결과 값을 재산출하는 단계; 및 a-2-9-b) 상기 재산출 된 기 설정된 타입의 직선 객체 탐지 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하는 단계를 포함하고, 상기 a-4) 단계는: a-4-1-b) 상기 전처리 도면에서의 형상 유사도 비교를 위해 허프 트랜스폼을 적용하여 수직선, 수평선 및 대각선을 포함하는 제1 실선 타입의 직선 객체를 탐지하는 단계; a-4-2-b) 상기 제1 실선 타입의 직선 객체에서 심볼 객체 또는 텍스트 객체와 중첩되는 부분을 제외하여 제2 실선 타입의 직선 객체를 산출하는 단계; a-4-3-b) 상기 제2 실선 타입의 직선 객체가 존재하는 영역인 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하는 단계; 및 a-4-4-b) 상기 실선 타입의 직선 객체 탐지 결과 값을 포함하는 실선 타입의 직선 목록을 생성하는 단계를 포함하고, 상기 b-2) 단계는: b-2-1-b) 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 제2 실선 타입의 직선 객체를 삭제하는 단계; 및 b-2-2-b) 상기 삭제 결과를 상기 실선 타입의 직선 목록에 저장하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따른 기록매체는 이미지 도면 내 선 객체 인식 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함한다.
본 발명의 또 다른 실시예에 따른 이미지 도면 내 선 객체 인식 시스템은 탐지 딥러닝 모델을 통해 이미지 도면으로부터 기 설정된 타입의 직선 객체와 단말 기호를 탐지하고, 형상 유사도 비교를 통해 상기 이미지 도면으로부터 실선 타입의 직선 객체를 탐지하도록 구성되는 탐지부; 상기 기 설정된 타입의 직선 객체와 상기 실선 타입의 직선 객체가 중첩될 경우, 상기 실선 타입의 직선 객체를 상기 기 설정된 타입의 직선 객체로 변환하거나 상기 실선 타입의 직선 객체를 삭제하도록 구성되는 실선 타입의 직선 객체 조작부; 및 단말 기호가 기 설정된 타입의 직선 객체 또는 실선 타입의 직선 객체와 중첩될 경우, 상기 중첩된 단말 기호를 상기 중첩된 기 설정된 타입의 직선 객체 또는 상기 중첩된 실선 타입의 직선 객체에 해당하는 단말 기호로 인식하도록 구성되는 단말 기호 인식부를 포함한다.
상기 탐지부는: 이미지 도면을 입력 받고, 입력 받은 이미지 도면을 전처리하여 전처리 도면을 생성하도록 구성되는 전처리 도면 생성 유닛; 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 기 설정된 타입의 직선 객체 종류와 기 설정된 타입의 직선 객체 존재 영역을 탐지하여 기 설정된 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하도록 구성되는 기 설정된 타입의 직선 목록 생성 유닛; 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 단말 기호 종류와 단말 기호 존재 영역을 탐지하여 단말 기호 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 단말 기호 목록을 생성하도록 구성되는 단말 기호 목록 생성 유닛; 및 형상 유사도 비교를 통해 상기 전처리 도면으로부터 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 실선 타입의 직선 목록을 생성하도록 구성되는 실선 타입의 직선 목록 생성 유닛을 포함할 수 있다.
상기 실선 타입의 직선 객체 조작부는: 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩되는지 여부를 판단하도록 구성되는 중첩 여부 판단 유닛; 및 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 상기 중첩된 영역 내의 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환하여 변환 결과를 상기 기 설정된 타입의 직선 목록에 저장하거나, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 삭제하여 삭제 결과를 상기 실선 타입의 직선 목록에 저장하도록 구성되는 실선 타입의 직선 객체 조작 유닛을 포함할 수 있다.
본 발명의 실시예에 따른 이미지 도면 내 선 객체 인식 시스템 및 그 방법은 이미지 도면 내의 제공되는 실선, 점선, 파선 및 그 외의 다양한 형태의 선 뿐만 아니라 대각선 및 단말 기호를 모두 인식할 수 있다.
한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명을 통해 인식하고자 하는 직선 객체들의 예시도이다.
도 2는 본 발명의 일 실시예에 따른 이미지 도면 내 선 객체 인식 방법을 나타낸 흐름도이다.
도 3은 S100 단계를 보다 상세히 나타낸 흐름도이다.
도 4는 S110 내지 S120 단계의 학습 데이터 구축에 사용되는 기 설정된 타입의 직선 객체와 단말 기호를 나타낸 도면이다.
도 5는 S130 단계에서 탐지 딥러닝 모델을 생성하는 모습을 나타낸 도면이다.
도 6은 S200 단계를 보다 상세히 나타낸 흐름도이다.
도 7은 S210 단계를 보다 상세히 나타낸 흐름도이다.
도 8은 바이너리 이미지의 예시도이다.
도 9는 S214 내지 S216 단계가 수행되는 모습을 나타낸 도면이다.
도 10은 S300 단계를 보다 상세히 나타낸 흐름도이다.
도 11은 S223a 및 S224a 단계가 수행되는 모습을 나타낸 도면이다.
도 12는 S241a 단계가 수행되는 모습을 나타낸 도면이다.
도 13은 S242a 단계에서 적용되는 허프 트랜스폼의 동작 과정을 나타낸 예시도이다.
도 14는 S243a 단계에 포함된 심볼 객체 및 텍스트 객체의 예시도이다.
도 15는 S243a 단계가 수행되는 모습을 나타낸 도면이다.
도 16 S321a 단계가 수행되는 모습을 나타낸 도면이다.
도 17은 S225b 내지 S227b가 수행되는 모습을 나타낸 도면이다.
도 18은 S400 단계가 수행되는 모습을 나타낸 도면이다.
Figure 112020071986849-pat00001
Figure 112020071986849-pat00002
Figure 112020071986849-pat00003
Figure 112020071986849-pat00004
Figure 112020071986849-pat00005
Figure 112020071986849-pat00006
Figure 112020071986849-pat00007
Figure 112020071986849-pat00008
Figure 112020071986849-pat00009
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.
한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
이하, 본 명세서의 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명을 통해 인식하고자 하는 직선 객체들의 예시도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 이미지 도면 내 선 객체 인식 방법을 통해 도 1에 도시된 선 객체들을 인식할 수 있다. 이하에서는 도 1의 최상단에 도시된 CONNECTION TO PROCESS, MECHANICAL LINE OR INSTRUMENT SUPPLY를 나타내는 선 객체를 실선 타입의 직선 객체라 하고, 실선 타입의 직선 객체를 제외한 나머지 선 객체를 기 설정된 타입의 직선 객체라 한다. 도시된 바와 같이, 기 설정된 타입의 직선 객체는 PNEUMATIC SIGNAL OR UNDEFINED SIGAL FOR PORCESS FLOW DIAGRAMS, ELECTRIC SIGNAL, CAPILLARY TUBING, HYDRAULIC SIGNAL, ELECTROMAGNETIC OR SONIC SIGNAL 및 DATA COMMUNICATION을 나타내는 선 객체들 중 어느 하나에 해당할 수 있다.
도 2는 본 발명의 일 실시예에 따른 이미지 도면 내 선 객체 인식 방법을 나타낸 흐름도이다.
도 2를 참조하면, 이미지 도면 내 선 객체 인식 방법은 기 설정된 타입의 직선 객체와 단말 기호를 기반으로 학습 데이터를 구축하여 탐지 딥러닝 모델을 생성하는 단계(S100), 상기 탐지 딥러닝 모델을 통해 이미지 도면으로부터 기 설정된 타입의 직선 객체와 단말 기호를 탐지하고, 형상 유사도 비교를 통해 상기 이미지 도면으로부터 실선 타입의 직선 객체를 탐지하는 단계(S200), 상기 기 설정된 타입의 직선 객체와 상기 실선 타입의 직선 객체가 중첩될 경우, 상기 실선 타입의 직선 객체를 상기 기 설정된 타입의 직선 객체로 변환하거나 상기 실선 타입의 직선 객체를 삭제하는 단계(S300) 및 단말 기호가 기 설정된 타입의 직선 객체 또는 실선 타입의 직선 객체와 중첩될 경우, 상기 중첩된 단말 기호를 상기 중첩된 기 설정된 타입의 직선 객체 또는 상기 중첩된 실선 타입의 직선 객체에 해당하는 단말 기호로 인식하는 단계(S400)를 포함할 수 있다.
도 3은 S100 단계를 보다 상세히 나타낸 흐름도이다.
도 3을 참조하면, S100 단계는 기 설정된 타입의 직선 객체와 단말 기호를 입력 받아 제1 학습 데이터를 구축하는 단계(S110), 상기 기 설정된 타입의 직선 객체와 상기 단말 기호를 회전 변환하여 제2 학습 데이터를 구축하는 단계(S120) 및 상기 제1 학습 데이터와 상기 제2 학습 데이터를 기반으로 탐지 딥러닝 모델을 생성하는 단계(S130)를 포함할 수 있다.
도 4는 S110 내지 S120 단계의 학습 데이터 구축에 사용되는 기 설정된 타입의 직선 객체와 단말 기호를 나타낸 도면이다.
도 4(a) 및 도 4(b)를 참조하면, 도시된 기 설정된 타입의 직선 객체와 단말 기호를 입력 받아 제1 학습 데이터 구축에 사용할 수 있다. 또한, 기 설정된 타입의 직선 객체와 단말 기호를 회전 변환하여 제2 학습 데이터 구축에 사용할 수 있다. 회전 변환 시에는 도 4에 도시된 각도에 제한되지 않고 사용자가 설정한 임의의 각도로의 회전 변환 역시 가능하다. 도 4(c)를 참조하면, 학습 데이터 구축 시 1개의 선 객체에 복수 개의 기호를 함께 표시하여 학습시키는 것 역시 가능하다.
도 5는 S130 단계에서 탐지 딥러닝 모델을 생성하는 모습을 나타낸 도면이다.
도 5를 참조하면, S130 단계에서는 기 설정된 타입의 직선 객체와 단말 기호를 입력 받아 탐지 딥러닝 모델을 생성한다. 예를 들어, 탐지 딥러닝 모델은 RetinaNet 딥러닝 모델이 적용될 수 있다. RetinaNet 딥러닝 모델은 One-stage detection 계열의 객체 탐지 딥러닝 모델로, 관심 객체가 존재하는 foreground와 존재하지 않는 background 사이의 불균형을 해소함으로써 기존 one-stage detection 단점을 개선하였다.
도 6은 S200 단계를 보다 상세히 나타낸 흐름도이다.
도 6을 참조하면, S200 단계는 이미지 도면을 입력 받고, 입력 받은 이미지 도면을 전처리하여 전처리 도면을 생성하는 단계(S210), 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 기 설정된 타입의 직선 객체 종류와 기 설정된 타입의 직선 객체 존재 영역을 탐지하여 기 설정된 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하는 단계(S220), 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 단말 기호 종류와 단말 기호 존재 영역을 탐지하여 단말 기호 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 단말 기호 목록을 생성하는 단계(S230) 및 형상 유사도 비교를 통해 상기 전처리 도면으로부터 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 실선 타입의 직선 목록을 생성하는 단계(S240)를 포함할 수 있다.
도 7은 S210 단계를 보다 상세히 나타낸 흐름도이다.
도 7을 참조하면, S210 단계는 이미지 도면을 입력 받는 단계(S211), 입력 받은 이미지 도면에서의 각 픽셀의 명암 값 과 임계 값을 비교하는 단계(S212), 상기 각 픽셀의 명암 값이 상기 임계 값보다 크면 검은색으로, 작으면 흰색으로 변환하여 바이너리 이미지 도면을 획득하는 단계(S213), 상기 바이너리 이미지 도면의 최외곽에서부터 중심을 향하여 검은색 픽셀을 검색하는 단계(S214), 상기 S214 단계에서 검색된 검은색 픽셀과 연결된 픽셀을 모두 검색하는 단계(S215) 및 상기 S215 단계에서 검색된 모든 픽셀에 모폴로지 열림 연산을 수행하여 표제와 외곽선을 산출한 후 이를 제거하는 단계(S216)를 포함할 수 있다.
도 8은 바이너리 이미지의 예시도이다.
도 8를 참조하면, S212 및 S213 단계에서는 이미지 도면을 입력 받아 바이너리 이미지 도면을 출력한다.
이를 위해 해당 단계에서는 이미지 도면을 입력 받은 후 이미지 내 각 픽셀의 명암 값과 임계 값을 비교한다. 각 픽셀의 명암 값이 임계 값(threshold)보다 작으면 흰색으로, 임계 값보다 크면 검은색으로 변경하여 바이너리 이미지 도면을 출력한다. 이때, 픽셀은 이미지를 이루는 가장 작은 단위를 말하고, 바이너리 이미지는 디지털 이미지 중 가장 간단한 형태로서, 각 픽셀이 1비트로 이루어져 데이터 처리에 유리함을 갖는 도면을 말한다.
도 9는 S214 내지 S216 단계가 수행되는 모습을 나타낸 도면이다.
도 9를 참조하면, S214 내지 S216 단계에서는 바이너리 이미지 도면을 입력 받아 표제와 외곽선이 제거된 이미지 도면을 획득한다. 이하에서는 표제와 외곽선 제거를 마침으로써 이미지 도면의 전처리가 모두 완료된 도면을 전처리 도면이라 한다.
이를 위해 해당 단계에서는 바이너리 이미지 도면을 입력 받아 바이너리 이미지 도면의 최외곽에서부터 검은색 픽셀을 검색하고(도면 9 (a)), 검색된 검은색 픽셀과 연결된 픽셀을 모두 검색한다(도면 9 (b)). 검은색 픽셀과 연결된 모든 픽셀의 검색이 끝나면 모폴로지 열림 연산을 수행하여 표제와 외곽선을 검색하고(도면 9 (c)), 검색된 표제와 외곽선을 제거한다(도면 9 (d)).
도 10은 S300 단계를 보다 상세히 나타낸 흐름도이다.
도 10을 참조하면, S300 단계는 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩되는지 여부를 판단하는 단계(S310) 및 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 상기 중첩된 영역 내의 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환하여 변환 결과를 상기 기 설정된 타입의 직선 목록에 저장하거나, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 삭제하여 삭제 결과를 상기 실선 타입의 직선 목록에 저장하는 단계(S320)를 포함할 수 있다.
본 발명의 이미지 도면 내 선 객체 인식 방법은 제1 실시예와 제2 실시예를 포함한다.
먼저, 본 발명의 이미지 도면 내 선 객체 인식 방법의 제1 실시예에 관해 기술하도록 한다.
본 발명의 제1 실시예에 따르면, S220 단계는 상기 전처리 도면을 입력 받는 단계(S221a), 상기 전처리 도면을 기 설정된 개수로 분할하는 단계(S222a), 분할된 각각의 전처리 도면에 상기 탐지 딥러닝 모델을 적용하는 단계(S223a), 동일한 직선 객체임에도 전처리 도면의 분할로 인해 서로 다른 직선 객체 탐지 결과 값이 산출된 경우, 상기 서로 다른 직선 객체 탐지 결과 값을 병합하여 해당 직선 객체를 동일한 직선 객체로 인식하는 단계(S224a), 상기 S224a 단계에서의 병합 결과를 반영하여 기 설정된 타입의 직선 객체 탐지 결과 값을 재산출하는 단계(S225a) 및 상기 재산출 된 기 설정된 타입의 직선 객체 탐지 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하는 단계(S226a)를 포함할 수 있다.
도 11은 S223a 및 S224a 단계가 수행되는 모습을 나타낸 도면이다.
도 11을 참조하면, 전처리 도면의 해상도가 큼에 따라 S222a 단계에서 전처리 도면을 4개로 분할하였으며, 탐지 딥러닝 모델을 통해 기 설정된 타입의 직선 객체를 탐지한 결과 동일한 직선 객체임에도 도면의 분할로 인해 서로 다른 직선 객체 탐지 결과 값이 산출될 수 있음을 알 수 있다. 이러한 문제를 해결하기 위해 본 발명의 S224a 단계에서 동일한 직선 객체임에도 서로 다르게 산출된 직선 객체 탐지 결과 값을 병합하여 해당 직선 객체가 동일한 직선 객체로 인식될 수 있도록 한다.
본 발명의 제1 실시예에 따르면, S240 단계는 상기 상기 전처리 도면에 모폴로지 닫힘 연산을 수행하여 관심 영역을 설정하는 단계(S241a), 상기 관심 영역에서의 형상 유사도 비교를 위해 허프 트랜스폼을 적용하여 수직선, 수평선 및 대각선을 포함하는 제1 실선 타입의 직선 객체를 탐지하는 단계(S242a), 상기 제1 실선 타입의 직선 객체에서 심볼 객체 또는 텍스트 객체와 중첩되는 부분을 제외하여 제2 실선 타입의 직선 객체를 산출하는 단계(S243a), 상기 제2 실선 타입의 직선 객체가 존재하는 영역인 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하는 단계(S244a) 및 상기 실선 타입의 직선 객체 탐지 결과 값을 포함하는 실선 타입의 직선 목록을 생성하는 단계(S245a)를 포함할 수 있다.
도 12는 S241a 단계가 수행되는 모습을 나타낸 도면이다.
도 12를 참조하면, S241a 단계에서는 전처리 도면에 관심 영역을 설정한다.
이를 위해 해당 단계에서는 먼저 전처리 도면을 입력 받는다(도면 12 (a)). 이후 전처리 도면에 모폴로지 닫힘 연산을 수행하여 닫힌 이미지를 추출하고 상기 닫힌 이미지를 관심 영역으로 설정한다(도면 12 (b)).
도 13은 S242a 단계에서 적용되는 허프 트랜스폼의 동작 과정을 나타낸 예시도이다.
도 13을 참조하면, S242a 단계에서는 관심 영역이 설정된 전처리 도면을 입력 받아 관심 영역 내의 실선 타입의 직선 객체를 추출한다.
이를 위해 해당 단계에서는 관심 영역이 설정된 전처리 도면을 입력 받은 후 관심 영역에 허프 트랜스폼을 적용하여 기 설저된 각도에 대한 실선을 검색하고 실선 타입의 직선 객체의 위치를 추출한다. 허프 트랜스폼은 이미지 내의 (x, y) 좌표 공간의 픽셀들을 (r, θ) 매개변수 공간으로 맵핑 시킨 후, 교점을 찾아 실선 타입의 직선 객체를 추출하는 방법을 말한다. 이때 기 설정된 각도는 사용자의 선택에 따라 제한 없이 설정 가능하다.
도 14는 S243a 단계에 포함된 심볼 객체 및 텍스트 객체의 예시도이다.
도 14를 참조하면, 도 14(a)는 심볼 객체의 예시도이고, 도 15(b)는 텍스트 객체의 예시도이다.
도 15는 S243a 단계가 수행되는 모습을 나타낸 도면이다.
도 15를 참조하면, 도 15(a)는 관심 영역 내에 심볼 객체가 차지하는 영역과 텍스트 객체가 차지하는 영역을 나타낸 도면이고, 도 16(b)는 제1 실선 타입의 직선 객체에서 심볼 객체 또는 텍스트 객체와 중첩되는 부분을 제외하여 제2 실선 타입의 직선 객체를 산출하는 모습을 나타낸 도면이다.
즉, S243a 단계에서는 상기 S242a 단계의 허프 트랜스폼을 적용하여 탐지한 제1 실선 타입의 직선 객체에서 심볼 객체 또는 텍스트 객체와 중첩되는 부분을 제외하여 제2 실선 타입의 직선 객체를 산출할 수 있다.
본 발명의 제1 실시예에 따르면, S320 단계는 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 제2 실선 타입의 직선 객체를 상기 중첩된 영역 내의 제2 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환하는 단계(S321a) 및 상기 변환 결과를 상기 기 설정된 타입의 직선 목록에 저장하는 단계(S322a)를 포함할 수 있다.
도 16 S321a 단계가 수행되는 모습을 나타낸 도면이다.
도 16을 참조하면, 기 설정된 타입의 직선 객체 존재 영역과 실선 타입의 직선 객체 존재 영역을 입력 받아, 서로 중첩되는지 여부를 판단한다. 만약 서로 중첩되는 영역이 존재할 경우, 중첩되는 영역 내의 제2 실선 타입의 직선 객체를 해당 제2 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환한다.
다음으로, 본 발명의 이미지 도면 내 선 객체 인식 방법의 제2 실시예에 관해 기술하도록 한다.
본 발명의 제2 실시예에 따르면, S220 단계는 상기 전처리 도면을 입력 받는 단계(S221b), 상기 전처리 도면을 기 설정된 개수로 분할하는 단계(S222b), 분할된 각각의 전처리 도면에 상기 탐지 딥러닝 모델을 적용하는 단계(S223b), 동일한 직선 객체임에도 전처리 도면의 분할로 인해 서로 다른 직선 객체 탐지 결과 값이 산출된 경우, 상기 서로 다른 직선 객체 탐지 결과 값을 병합하여 해당 직선 객체를 동일한 직선 객체로 인식하는 단계(S224b), 상기 병합 결과를 기반으로 상기 기 설정된 타입의 직선 객체 존재 영역을 감싸는 경계 상자를 설정하는 단계(S225b), 동일한 타입의 직선 객체 존재 영역을 감싸는 경계 상자 간의 IoU(Intersection Over Union)가 기준 값보다 크면 해당 경계 상자를 그룹핑하여 그룹핑 결과 값을 산출하는 단계(S226b), 상기 그룹핑 결과 값에 해리스 코너를 적용하여 그룹핑 된 경계 상자의 양 끝점을 추정하는 단계(S227b), 상기 그룹핑 된 경계 상자의 양 끝점을 기반으로 그룹핑 된 경계 상자 존재 영역을 탐지하여 기 설정된 타입의 직선 객체 탐지 결과 값을 재산출하는 단계(S228b) 및 상기 재산출 된 기 설정된 타입의 직선 객체 탐지 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하는 단계(S229b)를 포함할 수 있다.
도 17은 S225b 내지 S227b가 수행되는 모습을 나타낸 도면이다.
도 17을 참조하면, 도 17(a)는 기 설정된 타입의 직선 객체 존재 영역을 감싸는 경계 상자를 설정하는 모습을 나타낸 도면이고, 도 17(b)는 동일한 기 설정된 타입의 직선 객체 존재 영역을 감싸는 경계 상자 간의 IoU(Intersection over Union)가 기준 값보다 큰 경계 상자를 그룹핑 한 후, 그룹핑 결과 값에 해리스 코너를 적용하여 그룹핑 된 경계 상자의 끝점을 추정한 모습을 나타낸 도면이다.
본 발명의 제2 실시예에 따르면, S240 단계는 상기 전처리 도면에서의 형상 유사도 비교를 위해 허프 트랜스폼을 적용하여 수직선, 수평선 및 대각선을 포함하는 제1 실선 타입의 직선 객체를 탐지하는 단계(S241b), 상기 제1 실선 타입의 직선 객체에서 심볼 객체 또는 텍스트 객체와 중첩되는 부분을 제외하여 제2 실선 타입의 직선 객체를 산출하는 단계(S242b), 상기 제2 실선 타입의 직선 객체가 존재하는 영역인 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하는 단계(S243b) 및 상기 실선 타입의 직선 객체 탐지 결과 값을 포함하는 실선 타입의 직선 목록을 생성하는 단계(S244b)를 포함할 수 있다.
이때 S241b 단계 내지 S244b 단계는 앞서 기술한 S241a 내지 S245a 단계와 같은 과정을 수행한다. 다만, 형상 유사도 비교를 위해 허프 트랜스폼을 적용하는 영역이 관심 영역이 아닌 전처리 도면의 모든 영역이라는 점에만 차이가 있다.
본 발명의 제2 실시예에 따르면, S320 단계는 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 제2 실선 타입의 직선 객체를 삭제하는 단계(S321b) 및 상기 삭제 결과를 상기 실선 타입의 직선 목록에 저장하는 단계(S322b)를 포함할 수 있다.
도 18은 S400 단계가 수행되는 모습을 나타낸 도면이다.
도 18을 참조하면, S400 단계에서는 단말 기호가 기 설정된 타입의 직선 객체 또는 실선 타입의 직선 객체와 중첩될 경우, 상기 중첩된 단말 기호를 상기 중첩된 단말 기호와 중첩되는 기 설정된 타입의 직선 객체 또는 실선 타입의 직선 객체에 해당하는 단말 기호로 인식한다.
이를 위해 해당 단계에서는 기 설정된 타입의 직선 객체 존재 영역과 실선 타입 직선 객체 존재 영역을 병합하여 전체 직선 객체 존재 영역을 산출한다. 이후 단말 기호가 존재하는 영역인 단말 기호 존재 영역과 전체 직선 객체 존재 영역 간 중첩되는 영역이 존재하는지 판단한다. 만약 중첩되는 영역이 존재할 경우, 중첩되는 영역에 존재하는 단말 기호를 상기 중첩되는 영역에 존재하는 직선 객체에 해당하는 단말 기호로 인식한다.
본 발명의 다른 실시예에 따른 기록 매체는 이미지 도면 내 선 객체 인식 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함한다.
본 발명의 또 다른 실시예에 따르면, 본 발명은 이미지 도면 내 선 객체 인식 시스템을 포함한다.
이미지 도면 내 선 객체 인식 시스템은 탐지 딥러닝 모델을 통해 이미지 도면으로부터 기 설정된 타입의 직선 객체와 단말 기호를 탐지하고, 형상 유사도 비교를 통해 상기 이미지 도면으로부터 실선 타입의 직선 객체를 탐지하도록 구성되는 탐지부, 상기 기 설정된 타입의 직선 객체와 상기 실선 타입의 직선 객체가 중첩될 경우, 상기 실선 타입의 직선 객체를 상기 기 설정된 타입의 직선 객체로 변환하거나 상기 실선 타입의 직선 객체를 삭제하도록 구성되는 실선 타입의 직선 객체 조작부 및 단말 기호가 기 설정된 타입의 직선 객체 또는 실선 타입의 직선 객체와 중첩될 경우, 상기 중첩된 단말 기호를 상기 중첩된 기 설정된 타입의 직선 객체 또는 상기 중첩된 실선 타입의 직선 객체에 해당하는 단말 기호로 인식하도록 구성되는 단말 기호 인식부를 포함할 수 있다.
탐지부(100)는 이미지 도면을 입력 받고, 입력 받은 이미지 도면을 전처리하여 전처리 도면을 생성하도록 구성되는 전처리 도면 생성 유닛, 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 기 설정된 타입의 직선 객체 종류와 기 설정된 타입의 직선 객체 존재 영역을 탐지하여 기 설정된 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하도록 구성되는 기 설정된 타입의 직선 목록 생성 유닛, 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 단말 기호 종류와 단말 기호 존재 영역을 탐지하여 단말 기호 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 단말 기호 목록을 생성하도록 구성되는 단말 기호 목록 생성 유닛 및 형상 유사도 비교를 통해 상기 전처리 도면으로부터 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 실선 타입의 직선 목록을 생성하도록 구성되는 실선 타입의 직선 목록 생성 유닛을 포함할 수 있다.
실선 타입의 직선 객체 조작부는 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩되는지 여부를 판단하도록 구성되는 중첩 여부 판단 유닛 및 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 상기 중첩된 영역 내의 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환하여 변환 결과를 상기 기 설정된 타입의 직선 목록에 저장하거나, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 삭제하여 삭제 결과를 상기 실선 타입의 직선 목록에 저장하도록 구성되는 실선 타입의 직선 객체 조작 유닛을 포함할 수 있다.
본 발명의 실시예에 따른 이미지 도면 내 선 객체 인식 시스템 및 그 방법은 이미지 도면 내의 제공되는 실선, 점선, 파선 및 그 외의 다양한 형태의 선 뿐만 아니라 대각선 및 단말 기호를 모두 인식할 수 있다.
이상에서 실시예를 통해 본 발명을 설명하였으나, 위 실시예는 단지 본 발명의 사상을 설명하기 위한 것으로 이에 한정되지 않는다. 통상의 기술자는 전술한 실시예에 다양한 변형이 가해질 수 있음을 이해할 것이다. 본 발명의 범위는 첨부된 특허청구범위의 해석을 통해서만 정해진다.

Claims (10)

  1. a) 탐지 딥러닝 모델을 통해 이미지 도면으로부터 기 설정된 타입의 직선 객체와 단말 기호를 탐지하고, 형상 유사도 비교를 통해 상기 이미지 도면으로부터 실선 타입의 직선 객체를 탐지하는 단계;
    b) 상기 기 설정된 타입의 직선 객체와 상기 실선 타입의 직선 객체가 중첩될 경우, 상기 실선 타입의 직선 객체를 상기 기 설정된 타입의 직선 객체로 변환하거나 상기 실선 타입의 직선 객체를 삭제하는 단계; 및
    c) 단말 기호가 기 설정된 타입의 직선 객체 또는 실선 타입의 직선 객체와 중첩될 경우, 상기 중첩된 단말 기호를 상기 중첩된 기 설정된 타입의 직선 객체 또는 상기 중첩된 실선 타입의 직선 객체에 해당하는 단말 기호로 인식하는 단계를 포함하고,
    상기 a) 단계는:
    a-1) 이미지 도면을 입력 받고, 입력 받은 이미지 도면을 전처리하여 전처리 도면을 생성하는 단계;
    a-2) 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 기 설정된 타입의 직선 객체 종류와 기 설정된 타입의 직선 객체 존재 영역을 탐지하여 기 설정된 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하는 단계;
    a-3) 상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 단말 기호 종류와 단말 기호 존재 영역을 탐지하여 단말 기호 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 단말 기호 목록을 생성하는 단계; 및
    a-4) 형상 유사도 비교를 통해 상기 전처리 도면으로부터 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 실선 타입의 직선 목록을 생성하는 단계를 포함하는 이미지 도면 내 선 객체 인식 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 a-1) 단계는:
    a-1-1) 이미지 도면을 입력 받는 단계;
    a-1-2) 입력 받은 이미지 도면에서의 각 픽셀의 명암 값 과 임계 값을 비교하는 단계;
    a-1-3) 상기 각 픽셀의 명암 값이 상기 임계 값보다 크면 검은색으로, 작으면 흰색으로 변환하여 바이너리 이미지 도면을 획득하는 단계;
    a-1-4) 상기 바이너리 이미지 도면의 최외곽에서부터 중심을 향하여 검은색 픽셀을 검색하는 단계;
    a-1-5) 상기 a-1-4) 단계에서 검색된 검은색 픽셀과 연결된 픽셀을 모두 검색하는 단계; 및
    a-1-6) 상기 a-1-5) 단계에서 검색된 모든 픽셀에 모폴로지 열림 연산을 수행하여 표제와 외곽선을 산출한 후 이를 제거하는 단계를 포함하는 이미지 도면 내 선 객체 인식 방법.
  4. 제3항에 있어서,
    상기 b) 단계는:
    b-1) 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩되는지 여부를 판단하는 단계; 및
    b-2) 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 상기 중첩된 영역 내의 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환하여 변환 결과를 상기 기 설정된 타입의 직선 목록에 저장하거나, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 삭제하여 삭제 결과를 상기 실선 타입의 직선 목록에 저장하는 단계를 포함하는 이미지 도면 내 선 객체 인식 방법.
  5. 제4항에 있어서,
    상기 a-2) 단계는:
    a-2-1-a) 상기 전처리 도면을 입력 받는 단계;
    a-2-2-a) 상기 전처리 도면을 기 설정된 개수로 분할하는 단계;
    a-2-3-a) 분할된 각각의 전처리 도면에 상기 탐지 딥러닝 모델을 적용하는 단계;
    a-2-4-a) 동일한 직선 객체임에도 전처리 도면의 분할로 인해 서로 다른 직선 객체 탐지 결과 값이 산출된 경우, 상기 서로 다른 직선 객체 탐지 결과 값을 병합하여 해당 직선 객체를 동일한 직선 객체로 인식하는 단계;
    a-2-5-a) 상기 a-2-4-a) 단계에서의 병합 결과를 반영하여 기 설정된 타입의 직선 객체 탐지 결과 값을 재산출하는 단계; 및
    a-2-6-a) 상기 재산출 된 기 설정된 타입의 직선 객체 탐지 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하는 단계를 포함하고,
    상기 a-4) 단계는:
    a-4-1-a) 상기 전처리 도면에 모폴로지 닫힘 연산을 수행하여 관심 영역을 설정하는 단계;
    a-4-2-a) 상기 관심 영역에서의 형상 유사도 비교를 위해 허프 트랜스폼을 적용하여 수직선, 수평선 및 대각선을 포함하는 제1 실선 타입의 직선 객체를 탐지하는 단계;
    a-4-3-a) 상기 제1 실선 타입의 직선 객체에서 심볼 객체 또는 텍스트 객체와 중첩되는 부분을 제외하여 제2 실선 타입의 직선 객체를 산출하는 단계;
    a-4-4-a) 상기 제2 실선 타입의 직선 객체가 존재하는 영역인 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하는 단계; 및
    a-4-5-a) 상기 실선 타입의 직선 객체 탐지 결과 값을 포함하는 실선 타입의 직선 목록을 생성하는 단계를 포함하고,
    상기 b-2) 단계는:
    b-2-1-a) 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 제2 실선 타입의 직선 객체를 상기 중첩된 영역 내의 제2 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환하는 단계; 및
    b-2-2-a) 상기 변환 결과를 상기 기 설정된 타입의 직선 목록에 저장하는 단계를 포함하는 이미지 도면 내 선 객체 인식 방법.
  6. 제4항에 있어서,
    상기 a-2) 단계는:
    a-2-1-b) 상기 전처리 도면을 입력 받는 단계;
    a-2-2-b) 상기 전처리 도면을 기 설정된 개수로 분할하는 단계;
    a-2-3-b) 분할된 각각의 전처리 도면에 상기 탐지 딥러닝 모델을 적용하는 단계;
    a-2-4-b) 동일한 직선 객체임에도 전처리 도면의 분할로 인해 서로 다른 직선 객체 탐지 결과 값이 산출된 경우, 상기 서로 다른 직선 객체 탐지 결과 값을 병합하여 해당 직선 객체를 동일한 직선 객체로 인식하는 단계;
    a-2-5-b) 상기 병합 결과를 기반으로 상기 기 설정된 타입의 직선 객체 존재 영역을 감싸는 경계 상자를 설정하는 단계;
    a-2-6-b) 동일한 타입의 직선 객체 존재 영역을 감싸는 경계 상자 간의 IoU(Intersection Over Union)가 기준 값보다 크면 해당 경계 상자를 그룹핑하여 그룹핑 결과 값을 산출하는 단계;
    a-2-7-b) 상기 그룹핑 결과 값에 해리스 코너를 적용하여 그룹핑 된 경계 상자의 양 끝점을 추정하는 단계;
    a-2-8-b) 상기 그룹핑 된 경계 상자의 양 끝점을 기반으로 그룹핑 된 경계 상자 존재 영역을 탐지하여 기 설정된 타입의 직선 객체 탐지 결과 값을 재산출하는 단계; 및
    a-2-9-b) 상기 재산출 된 기 설정된 타입의 직선 객체 탐지 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하는 단계를 포함하고,
    상기 a-4) 단계는:
    a-4-1-b) 상기 전처리 도면에서의 형상 유사도 비교를 위해 허프 트랜스폼을 적용하여 수직선, 수평선 및 대각선을 포함하는 제1 실선 타입의 직선 객체를 탐지하는 단계;
    a-4-2-b) 상기 제1 실선 타입의 직선 객체에서 심볼 객체 또는 텍스트 객체와 중첩되는 부분을 제외하여 제2 실선 타입의 직선 객체를 산출하는 단계;
    a-4-3-b) 상기 제2 실선 타입의 직선 객체가 존재하는 영역인 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하는 단계; 및
    a-4-4-b) 상기 실선 타입의 직선 객체 탐지 결과 값을 포함하는 실선 타입의 직선 목록을 생성하는 단계를 포함하고,
    상기 b-2) 단계는:
    b-2-1-b) 상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 제2 실선 타입의 직선 객체를 삭제하는 단계; 및
    b-2-2-b) 상기 삭제 결과를 상기 실선 타입의 직선 목록에 저장하는 단계를 포함하는 이미지 도면 내 선 객체 인식 방법.
  7. 제1항, 제3항 내지 제6항 중 어느 한 항에 기재된 이미지 도면 내 선 객체 인식 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  8. 탐지 딥러닝 모델을 통해 이미지 도면으로부터 기 설정된 타입의 직선 객체와 단말 기호를 탐지하고, 형상 유사도 비교를 통해 상기 이미지 도면으로부터 실선 타입의 직선 객체를 탐지하도록 구성되는 탐지부;
    상기 기 설정된 타입의 직선 객체와 상기 실선 타입의 직선 객체가 중첩될 경우, 상기 실선 타입의 직선 객체를 상기 기 설정된 타입의 직선 객체로 변환하거나 상기 실선 타입의 직선 객체를 삭제하도록 구성되는 실선 타입의 직선 객체 조작부; 및
    단말 기호가 기 설정된 타입의 직선 객체 또는 실선 타입의 직선 객체와 중첩될 경우, 상기 중첩된 단말 기호를 상기 중첩된 기 설정된 타입의 직선 객체 또는 상기 중첩된 실선 타입의 직선 객체에 해당하는 단말 기호로 인식하도록 구성되는 단말 기호 인식부를 포함하고,
    상기 탐지부는:
    이미지 도면을 입력 받고, 입력 받은 이미지 도면을 전처리하여 전처리 도면을 생성하도록 구성되는 전처리 도면 생성 유닛;
    상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 기 설정된 타입의 직선 객체 종류와 기 설정된 타입의 직선 객체 존재 영역을 탐지하여 기 설정된 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 기 설정된 타입의 직선 목록을 생성하도록 구성되는 기 설정된 타입의 직선 목록 생성 유닛;
    상기 탐지 딥러닝 모델을 통해 상기 전처리 도면으로부터 단말 기호 종류와 단말 기호 존재 영역을 탐지하여 단말 기호 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 단말 기호 목록을 생성하도록 구성되는 단말 기호 목록 생성 유닛; 및
    형상 유사도 비교를 통해 상기 전처리 도면으로부터 실선 타입의 직선 객체 존재 영역을 탐지하여 실선 타입의 직선 객체 탐지 결과 값을 산출하고, 산출된 결과 값을 포함하는 실선 타입의 직선 목록을 생성하도록 구성되는 실선 타입의 직선 목록 생성 유닛을 포함하는 이미지 도면 내 선 객체 인식 시스템.
  9. 삭제
  10. 제8항에 있어서,
    상기 실선 타입의 직선 객체 조작부는:
    상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩되는지 여부를 판단하도록 구성되는 중첩 여부 판단 유닛; 및
    상기 기 설정된 타입의 직선 객체 존재 영역과 상기 실선 타입의 직선 객체 존재 영역이 중첩될 경우, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 상기 중첩된 영역 내의 실선 타입의 직선 객체와 중첩되는 기 설정된 타입의 직선 객체로 변환하여 변환 결과를 상기 기 설정된 타입의 직선 목록에 저장하거나, 상기 중첩된 영역 내의 실선 타입의 직선 객체를 삭제하여 삭제 결과를 상기 실선 타입의 직선 목록에 저장하도록 구성되는 실선 타입의 직선 객체 조작 유닛을 포함하는 이미지 도면 내 선 객체 인식 시스템.
KR1020200085496A 2020-07-10 2020-07-10 딥러닝 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법 KR102395599B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200085496A KR102395599B1 (ko) 2020-07-10 2020-07-10 딥러닝 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200085496A KR102395599B1 (ko) 2020-07-10 2020-07-10 딥러닝 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20220007370A KR20220007370A (ko) 2022-01-18
KR102395599B1 true KR102395599B1 (ko) 2022-05-06

Family

ID=80052146

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200085496A KR102395599B1 (ko) 2020-07-10 2020-07-10 딥러닝 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102395599B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092967A (ja) * 1999-09-22 2001-04-06 Toshiba Corp 図面認識装置および図面認識方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102177550B1 (ko) 2018-11-30 2020-11-11 도프텍(주) 이미지화된 pid 도면에서 설계 정보를 자동으로 인식하여 분류하는 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092967A (ja) * 1999-09-22 2001-04-06 Toshiba Corp 図面認識装置および図面認識方法

Also Published As

Publication number Publication date
KR20220007370A (ko) 2022-01-18

Similar Documents

Publication Publication Date Title
US20190050662A1 (en) Method and Device For Recognizing the Character Area in a Image
US5033104A (en) Method for detecting character strings
US5172422A (en) Fast character segmentation of skewed text lines for optical character recognition
CN112183511A (zh) 一种图像导出表格的方法、系统、存储介质及设备
CN111460355B (zh) 一种页面解析方法和装置
US20100158376A1 (en) Systems and methods for labeling and characterization of connected regions in a binary mask
CN114519858B (zh) 文档图像的识别方法、装置、存储介质以及电子设备
JP2823882B2 (ja) 線画像ベクトル化方法
US20020006224A1 (en) Computer automated process for vectorization of raster images
CN114429640A (zh) 图纸分割方法、装置及电子设备
KR102395599B1 (ko) 딥러닝 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법
CN112364821A (zh) 一种继电保护设备电力模式数据自识别方法和自识别设备
CN113780040A (zh) 唇部关键点的定位方法及装置、存储介质、电子设备
CN112861860B (zh) 一种基于上下边界提取的自然场景下文字检测方法
KR102428768B1 (ko) 형상 유사도 기반 이미지 도면 내 선 객체 인식 시스템 및 그 방법
KR19990005319A (ko) 영상 데이터베이스 검색방법
CN111103987B (zh) 公式录入方法及计算机存储介质
JP4151290B2 (ja) 分断ベクトル連結プログラムおよび方法
JP2587812B2 (ja) 図形抽出方法
CN114359492A (zh) 一种基于点线特征的弱纹理室内重建方法
CN118229947A (zh) 一种自动提取样方的图像处理系统及处理方法
JPH1166230A (ja) 文書認識装置、文書認識方法及び媒体
JP2003030584A (ja) 文書認識装置、文書画像の領域識別方法、プログラム及び記憶媒体
CN115294578A (zh) 基于人工智能的文本信息提取方法、装置、设备及介质
JP5505953B2 (ja) 画像判別システム、その方法及びそのプログラム

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