KR20240043352A - 딥 러닝 기술을 이용한 객체 인식 방법 및 시스템 - Google Patents

딥 러닝 기술을 이용한 객체 인식 방법 및 시스템 Download PDF

Info

Publication number
KR20240043352A
KR20240043352A KR1020220122336A KR20220122336A KR20240043352A KR 20240043352 A KR20240043352 A KR 20240043352A KR 1020220122336 A KR1020220122336 A KR 1020220122336A KR 20220122336 A KR20220122336 A KR 20220122336A KR 20240043352 A KR20240043352 A KR 20240043352A
Authority
KR
South Korea
Prior art keywords
line
symbol
objects
text
detected
Prior art date
Application number
KR1020220122336A
Other languages
English (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 KR1020220122336A priority Critical patent/KR20240043352A/ko
Publication of KR20240043352A publication Critical patent/KR20240043352A/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/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/196Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
    • G06V30/1983Syntactic or structural pattern recognition, e.g. symbolic string recognition
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • 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/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • G06V30/19013Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V30/1902Shifting or otherwise transforming the patterns to accommodate for positional errors
    • G06V30/19027Matching of contours
    • G06V30/19033Matching of contours by mapping curve parameters onto an accumulator array, e.g. generalised Hough Transform
    • 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/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

딥 러닝 기술을 이용한 객체 인식 방법 및 시스템이 제시된다. 본 발명에서 제안하는 딥 러닝 기술을 이용한 객체 인식 시스템은 입력된 이미지에 대한 탐지성능을 높이기 위해 이미지 전처리를 수행하는 전처리부, 전처리된 이미지를 입력 받아 텍스트 객체를 탐지하고, 탐지된 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환하며, 탐지된 텍스트 객체에 대한 심볼 텍스트 객체와 선 텍스트 객체를 분류하고 해당 객체들의 위치 정보를 저장하는 텍스트 탐지부, 상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스를 기준으로 이미지 파일을 캡처하고, 캡처된 이미지에서 심볼 객체를 탐지하는 심볼 탐지부, 선 객체의 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환을 통해 탐지된 복수의 선 객체를 하나의 선 객체로 병합하는 선 탐지부, 탐지된 각 객체의 위치 정보를 기반으로 객체 간의 관계를 생성하기 위해 상기 선 객체와 상기 선 텍스트 객체를 병합하고, 선 및 심볼 인식부가 모든 선 객체에 대한 병합이 완료된 후, 병합된 선 객체와 병합된 심볼 객체 간의 관계를 생성하는 선 및 심볼 인식부를 포함한다.

Description

딥 러닝 기술을 이용한 객체 인식 방법 및 시스템{Method and System for Object Recognition using Deep Learning Technology}
본 발명은 딥 러닝 기술을 이용한 객체 인식 방법 및 시스템에 관한 것이다.
최근 딥 러닝(Deep learning) 기반의 이미지 인식 기법이 높은 인식 성능을 보이면서 관련 연구가 주목을 받고 있다. 딥 러닝 기반 이미지 인식 기법은 크게 객체 탐지/인식과 분류 순서로 구성되며, 객체 탐지를 통해 이미지에서 추출할 대상의 위치를 추론하고, 해당 위치에서 탐지된 객체를 미리 학습한 대상으로 분류한다. YOLO는 대표적인 딥 러닝 기반 객체 인식기법으로, 객체 탐지와 분류를 한 번에 수행하는(One Stage Detection) 방법을 사용하여 빠른 처리 속도와 높은 인식 성능을 보장한다.
한편, 이러한 딥 러닝 기반 이미지 인식 기술을 기존 산업 현장의 업무 프로세스에 적용하여 업무 효율을 높이기 위한 연구들도 활발하게 진행되고 있다. 예를 들어, 파일 내 객체 탐색이 불가능한 이미지 형식의 P&ID(Piping and Instrumentation Diagrams) 해양 플랜트 설계 도면의 정보를 디지털로 전환(Digital Transformation; DX)하기 위해 이미지 인식 기술이 사용된다.
종래기술에서는 객체 탐지 모델인 RetinaNet을 사용하여 이미지 형식 P&ID에서 배관 정보인 선(Line) 객체를 인식하고 종류별로 분류하는 기법을 제안하였다. 또 다른 종래기술에서는 딥 러닝 기반 이미지 분류 모델인 AlexNet을 사용하여 P&ID 이미지 파일에서 설비를 나타내는 기호인 심볼(Symbol) 객체를 분류하였으며, 텍스트 인식모델을 사용하여 P&ID 내 텍스트(Text) 객체를 함께 추출하는 기법을 제안하였다. 또 다른 종래기술에서는 딥 러닝 모델과 이미지 처리 기법을 사용하여 텍스트, 심볼, 선 객체를 모두 인식하는 기법을 제안했다. 특히, 제안 기법에서는 심볼 객체 인식을 위해 이미지 내 객체 탐지 모델로 고안된 FCN(Fully Convolutional Network) 구조를 사용하였으며, 94.7%의 정확도를 보였다.
그러나, 기존 딥 러닝 기반 P&ID 객체 탐지 기법은 탐지 모델 학습을 위한 대량의 훈련 데이터 셋(Dataset)이 요구된다. 이는, 탐지 모델이 객체를 분류하기 위해 개별 객체 이미지에 대한 학습이 필요하기 때문이다. 그러나, 기업의 지적 재산권 보호를 위한 보안 정책 때문에 학습에 필요한 데이터 셋을 확보하기가 어렵다. 따라서. P&ID에서 수작업으로 객체 이미지를 추출한 후, 추가적인 가공 단계를 거쳐 훈련 데이터 셋을 직접 구축해야 한다는 문제점이 존재한다.
이러한 문제점을 해결하기 위해 본 발명에서는 공개된 데이터 셋 없이 높은 P&ID 내의 객체를 인식할 수 있는 딥 러닝 기반 텍스트 인식 및 이미지 처리 기법을 제안한다. 제안하는 기법은 Tesseract엔진을 통해 이미지 형식의 P&ID에 존재하는 모든 텍스트를 추출한 후, 텍스트 위치 정보를 기반으로 심볼 및 선 객체를 탐지한다. 또한, 제안 기법은 객체 간의 의미를 분석하여 특정 객체와의 관계를 사용자에게 제공한다. 실험을 통해 확인한 결과, P&ID 내 존재하는 모든 객체를 누락 없이 탐지하는 것을 확인할 수 있었으며, 인식이 어려운 선 객체의 경우에도 100% 인식률을 보여주었다.
[1] S. Xu, C. Lee, "An Efficient Method for Real-Time Broken Lane Tracking Using PHT and Least-Square Method", Journal of KIISE, Vol. 14, No. 6, pp, 619-623, 2008.
본 발명이 이루고자 하는 기술적 과제는 공개된 데이터 셋 없이 높은 P&ID 내의 객체를 인식할 수 있는 딥 러닝 기반 텍스트 인식 및 이미지 처리 방법 및 시스템을 제공하는데 있다. 제안하는 기법은 Tesseract엔진을 통해 이미지 형식의 P&ID에 존재하는 모든 텍스트를 추출한 후, 텍스트 위치 정보를 기반으로 심볼 및 선 객체를 탐지한다. 또한, 제안 기법은 객체 간의 의미를 분석하여 특정 객체와의 관계를 사용자에게 제공한다.
일 측면에 있어서, 본 발명에서 제안하는 딥 러닝 기술을 이용한 객체 인식 시스템은 입력된 이미지에 대한 탐지성능을 높이기 위해 이미지 전처리를 수행하는 전처리부, 전처리된 이미지를 입력 받아 텍스트 객체를 탐지하고, 탐지된 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환하며, 탐지된 텍스트 객체에 대한 심볼 텍스트 객체와 선 텍스트 객체를 분류하고 해당 객체들의 위치 정보를 저장하는 텍스트 탐지부, 상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스를 기준으로 이미지 파일을 캡처하고, 캡처된 이미지에서 심볼 객체를 탐지하는 심볼 탐지부, 선 객체의 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환을 통해 탐지된 복수의 선 객체를 하나의 선 객체로 병합하는 선 탐지부, 탐지된 각 객체의 위치 정보를 기반으로 객체 간의 관계를 생성하기 위해 상기 선 객체와 상기 선 텍스트 객체를 병합하고, 선 및 심볼 인식부가 모든 선 객체에 대한 병합이 완료된 후, 병합된 선 객체와 병합된 심볼 객체 간의 관계를 생성하는 선 및 심볼 인식부를 포함한다.
상기 전처리부는 입력된 이미지의 픽셀값에 대한 이미지 이진화 작업을 수행한 후, 탐지 대상이 아닌 경계 영역을 제거한다.
상기 텍스트 탐지부는 전처리된 이미지에서 탐지한 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환한다.
상기 심볼 탐지부는 상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스의 좌측 상단 좌표를 기준으로 4 방향으로 이미지 파일을 캡처하고, 캡처 영역의 크기는 미리 측정된 각 심볼 객체의 크기에 따라 정하고, 캡처된 4개의 이미지에서 검은색 픽셀의 수가 가장 높은 이미지를 심볼 객체의 바운딩 박스로 최종 선택하며, 상기 심볼 객체는 해당 심볼 텍스트 객체와 병합 후 이미지 파일에서의 위치 정보와 함께 객체 형태로 저장된다.
상기 선 탐지부는 허프 변환 알고리즘을 통해 이미지 파일에서 선 객체를 탐지하고 탐지된 선 객체들의 시작점과 종료점 좌표를 리스트 형태로 저장하며, 탐지된 선 객체가 중복으로 탐지되는 것을 방지하기 위해, 탐지된 선의 좌표를 저장한 후 이미지 파일에서 해당 선 객체를 화이트 마스킹(White Masking)을 통해 제거하고, 탐지된 각 선 객체는 전체 이미지 파일의 위치 정보를 기준으로 하나의 선 객체로 병합한다.
상기 선 탐지부는 상기 선 객체의 병합은 선 객체들 간 시작점 좌표와 종료점 좌표가 인접한 정도에 따라 병합 여부를 결정하고, 상기 병합을 결정하는 기준값은 상기 탐지된 심볼 객체의 너비 평균값을 사용하여 결정하고, 인접한 선의 시작점, 종료점 좌표가 심볼 객체의 너비보다 가까운 거리에 위치한 경우 인접한 해당 선을 병합한다.
상기 선 및 심볼 인식부는 탐지된 선 텍스트 객체의 바운딩 박스 시작 좌표값과 탐지된 선 객체의 시작점, 종료점 좌표 값의 거리를 비교함으로써, 병합을 수행하고, 병합된 선 객체는 이미지 파일에서의 시작점, 종료점 좌표와 함께 딕셔너리(Dictionary) 형태로 다시 저장되며, 중복된 병합을 방지하기 위해 선 객체 리스트에서 해당 병합된 선 객체를 제거한다.
상기 선 및 심볼 인식부는 병합된 심볼 객체와 병합된 선 객체의 이미지 파일 내 위치 정보를 비교하고, 관계성을 부여하며, 병합된 선 객체의 y축 값을 기준으로 병합된 각 심볼 객체를 순방향으로 한 번씩 탐색하고, 병합된 심볼 객체의 바운딩 박스의 y축 시작 좌표 값이 병합된 선 객체의 y축 값과 인접하고 각 객체의 y축 좌표의 차이가 병합된 심볼 객체의 바운딩 박스 높이보다 작은 경우, 해당 선 객체에 심볼 객체가 연결되어 있다는 관계를 생성한다.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 딥 러닝 기술을 이용한 객체 인식 방법은 전처리부가 입력된 이미지에 대한 탐지성능을 높이기 위해 이미지 전처리를 수행하는 단계, 텍스트 탐지부가 전처리된 이미지를 입력 받아 텍스트 객체를 탐지하고, 탐지된 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환하는 단계, 텍스트 탐지부가 탐지된 텍스트 객체에 대한 심볼 텍스트 객체와 선 텍스트 객체를 분류하고 해당 객체들의 위치 정보를 저장하는 단계, 심볼 탐지부가 상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스를 기준으로 이미지 파일을 캡처하고, 캡처된 이미지에서 심볼 객체를 탐지하는 단계, 선 탐지부가 선 객체의 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환을 통해 탐지된 복수의 선 객체를 하나의 선 객체로 병합하는 단계, 선 및 심볼 인식부가 탐지된 각 객체의 위치 정보를 기반으로 객체 간의 관계를 생성하기 위해 상기 선 객체와 상기 선 텍스트 객체를 병합하는 단계 및 선 및 심볼 인식부가 모든 선 객체에 대한 병합이 완료된 후, 병합된 선 객체와 병합된 심볼 객체 간의 관계를 생성하는 단계를 포함한다.
본 발명의 실시예들에 따른 딥 러닝 기반 텍스트 인식 및 이미지 처리 방법 및 시스템을 통해 공개된 데이터 셋 없이 높은 P&ID 내의 객체를 인식할 수 있다. 또한, Tesseract엔진을 통해 이미지 형식의 P&ID에 존재하는 모든 텍스트를 추출한 후, 텍스트 위치 정보를 기반으로 심볼 및 선 객체를 탐지하고, 객체 간의 의미를 분석하여 특정 객체와의 관계를 사용자에게 제공할 수 있다. 실험을 통해 확인한 결과, P&ID 내 존재하는 모든 객체를 누락 없이 탐지하는 것을 확인할 수 있었으며, 인식이 어려운 선 객체의 경우에도 100% 인식률을 보여주었다.
도 1은 본 발명의 일 실시예에 따른 픽셀 프로세싱 기법을 사용한 선 탐지 과정의 예시이다.
도 2는 본 발명의 일 실시예에 따른 허프 변환을 사용한 선 탐지 과정의 예시이다.
도 3은 본 발명의 일 실시예에 따른 딥 러닝 기술을 이용한 객체 인식 시스템의 구성을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 딥 러닝 기술을 이용한 객체 인식 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 이미지 형식의 원본 P&ID와 제안 기법을 통해 인식한 심볼 객체 탐지의 결과를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 이미지 형식의 원본 P&ID와 제안 기법을 통해 인식한 심볼 객체 탐지의 결과를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 탐지된 심볼, 선 객체를 사용하여 의미분석을 수행한 결과를 나타내는 도면이다.
딥 러닝(Deep Learning) 기술의 발전과 함께 다양한 산업 분야에서 데이터 전환(Data Transformation; DX)에 대한 노력이 이루어지고 있다. 본 발명에서는 산업 현장에서 요구하는 데이터 전환을 지원하기 위해 이미지 형식의 파일에서 객체를 인식하고 이를 기반으로 의미를 분석하기 위한 새로운 기법을 제안한다. 특히, 제안 기법에서는 대용량의 데이터 셋(Dataset)에 대한 학습 없이 이미지 형식의 파일에서 텍스트, 심볼, 선 객체를 개별적으로 인식한다. 또한, 인식한 객체 간의 의미를 분석하여 객체에 대한 관계를 정의하고 사용자에게 제공한다. 평가를 위해 제안하는 기법을 OpenCV을 이용하여 구현하였으며, 제안 기법을 평가한 결과 모든 객체를 성공적으로 인식한 것을 확인하였다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
최근에는 딥 러닝 기술을 기반으로 이미지 내 텍스트 객체를 인식하고 추출하는 기법에 대한 연구가 활발하게 진행되고 있다. 예를 들어, EAST 모델은 입력 이미지에서 텍스트 영역의 위치, 크기, 각도를 예측한 스코어 맵을 생성하고 이를 취합하여 텍스트 객체를 탐지한다. CRAFT는 입력 이미지의 픽셀마다 텍스트의 중심일 확률과 인접한 두 텍스트의 중심일 확률을 추론하여 텍스트 객체를 탐지하는 모델이다. 탐지된 텍스트 객체는 단어 단위로 그룹화하여 텍스트를 감싸는 바운딩 박스 (Bounding Box)를 생성한다. Tesseract는 가장 대표적인 오픈소스 기반의 광학문자인식 OCR(Optical Character Recognition) 엔진이며, 딥 러닝 기반 LSTM(Long Short-Term Memory Model) 모델을 사용하여 텍스트를 인식한다. 또한 .ttf 형식의 폰트 파일을 통해 훈련 데이터를 자동으로 생성하는 기능을 제공하며, 116가지 언어를 인식할 수 있는 학습된 모델을 제공한다.
도 1은 본 발명의 일 실시예에 따른 픽셀 프로세싱 기법을 사용한 선 탐지 과정의 예시이다.
이미지에서 직선을 검출하기 위한 접근 방법으로는 픽셀 프로세싱(Pixel Processing)과 허프 변환 알고리즘이 존재한다. 종래기술에서는 픽셀 프로세싱 기법으로 이미지 형식의 P&ID에서 선 객체를 탐지하는 기법을 제안했다. 도 1은 픽셀 프로세싱 기법으로 선 객체를 탐지하는 과정의 예시를 보여준다. 우선, 도 1(a)의 탐지 대상 이미지에서 좌측 상단 픽셀 좌표를 원점(x:0, y:0)으로 하여 x축, y축으로 한 번씩 전체 픽셀을 스캔한다. 이때, 현재 픽셀이 검정색이고 다음 픽셀이 검정색이면 현재 픽셀 이후 픽셀은 모두 흰색으로 마스킹(Masking)한다. 도 1(b)에서는 x축 3, y축 4 지점을 시작으로, 도 1(c)에서는 x축 1, y축 5을 시작으로 흰색으로 마스킹 된다. 마지막으로, 도 1(d)는 분리된 선 객체의 병합 결과를 보여준다. 이를 통해 픽셀 프로세싱은 선의 시작점(x축 1, y축 7) 종료점(x축 6, y축 0)을 검출할 수 있다.
도 2는 본 발명의 일 실시예에 따른 허프 변환을 사용한 선 탐지 과정의 예시이다.
허프 변환 알고리즘은 이미지 내 직선 탐지에서 높은 성능을 보이기 때문에 주로 자율주행 분야에서 차선 인식 알고리즘으로 사용된다. 허프 변환 알고리즘은 이미지에서 동일 직선상에 존재하는 검정 픽셀의 수가 임계값(Threshold) 이상일 경우 하나의 직선으로 판단한다. 도 2는 허프 변환의 예시를 보여준다. 먼저, 도 2(a)의 입력된 이미지에 존재하는 모든 픽셀을 x, y 평면에 대응하여 현재 픽셀을 지나는 여러 개의 직선을 생성하고 생성한 직선상에 존재하는 검정 픽셀의 개수를 비교한다. 이를 위해 원점으로부터 수직거리에 에 대해 x축과 가 이루는 각 로 표현한 극좌표계 기반 직선의 방정식을 사용한다. 도 2(b)는 여러 개의 직선을 생성하여 픽셀 존재 여부를 확인하는 과정을 보여준다. 생성한 직선과 동일선상에 존재하는 검정 픽셀의 수가 임계값보다 높은 경우 해당 직선을 이미지에 실제 존재하는 직선 이미지 객체로 판단한다. 반면, 검정 픽셀의 수가 임계값보다 낮은 경우 값을 변경하며 동일한 과정을 반복하며 직선 이미지 객체를 추출한다.
도 3은 본 발명의 일 실시예에 따른 딥 러닝 기술을 이용한 객체 인식 시스템의 구성을 나타내는 도면이다.
본 발명의 실시예에 따른 딥 러닝 기술을 이용한 객체 인식 시스템은 이미지 형식의 P&ID 파일의 내용을 디지털로 전환하기 위해 3가지의 객체인 태그 객체, 심볼 객체, 선 객체를 탐지 및 인식한다. 또한, 인식한 객체를 기반으로 의미를 분석하여 사용자에게 제공한다. 다시 말해, 특정 선 객체에 연결된 심볼 객체의 개수와 종류를 보여준다.
본 발명의 실시예에 따른 딥 러닝 기술을 이용한 객체 인식 시스템은 전처리부(310), 텍스트 탐지부(320), 심볼 탐지부(330), 선 탐지부(340), 선 및 심볼 인식부(350)를 포함한다. 본 발명의 실시예에 따른 객체 탐지는 태그, 심볼, 선 순서로 수행한다.
본 발명의 실시예에 따른 전처리부(310)는 입력된 P&ID에서 탐지성능을 높이기 위해 이미지 전처리를 수행한다.
우선, 입력된 이미지에서 경계 영역을 명확하게 표현하고 노이즈를 제거하기 위해 이미지의 픽셀값을 0과 255 값으로만 표현하는 이미지 이진화 작업을 수행한다. 이후, P&ID에서 탐지 대상이 아닌 경계 영역을 제거한다.
본 발명의 실시예에 따른 텍스트 탐지부(320)는 전처리된 이미지를 입력 받아 텍스트 객체를 탐지하고, 탐지된 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환한다.
전처리된 이미지는 도면 내 텍스트 객체를 탐지하기 위해 Tesseract 엔진의 입력으로 사용된다. Tesseract 엔진은 출력값으로 입력 이미지에서 탐지한 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환한다.
도 3을 참조하면, 텍스트 객체에 대한 Tesseract의 텍스트 객체 인식 결과를 보여준다. 텍스트 탐지부(320)는 해당 테이블에서 탐지된 텍스트 객체의 내용을 기준으로 심볼 텍스트 객체와 선 텍스트 객체를 분류하고 해당 객체들의 위치 정보를 별도로 저장한다. 분류된 심볼 텍스트 객체와 선 텍스트 객체의 정보는 추후 선 객체와 심볼 객체를 탐지하는 과정에서 사용된다.
일반적으로, 심볼 객체는 심볼 텍스트 객체와 인접한 위치에 배치되어 있다. 이에, 제안하는 기법에서는 이러한 특성을 이용하여 이전 단계에서 추출한 심볼 텍스트 객체에 대한 위치정보를 기반으로, 이미지 형식의 P&ID 파일에서 심볼 객체를 탐지한다. 이를 위해, 심볼 텍스트 객체의 위치를 기준으로 주변 영역을 캡처하여 비교하면서 심볼 객체의 위치를 특정하였다. 이러한 방식으로 수행하면 심볼 객체가 배치되어 있는 방향을 고려하지 않고 탐지가 가능하다.
본 발명의 실시예에 따른 심볼 탐지부(330)는 각 심볼 텍스트 객체를 참조하여 텍스트 객체의 바운딩 박스의 좌측 상단 좌표를 기준으로 4 방향으로 이미지 파일을 캡처한다. 캡처 영역의 크기는 사전에 측정된 각 심볼 객체의 크기에 따라 정해진다. 이후, 캡처된 4개의 이미지에서 검은색 픽셀의 수가 가장 높은 이미지를 심볼 객체의 바운딩 박스로 최종 선택한다. 이렇게 확정된 심볼 객체는 해당 심볼 텍스트 객체와 병합 후 이미지 파일에서의 위치 정보와 함께 객체 형태로 저장된다.
본 발명의 실시예에 따른 선 탐지부(340)는 허프 변환 알고리즘을 사용한다. 일반적으로, 허프 변환 알고리즘은 이미지가 단순하고 노이즈가 적을수록 높은 정확도를 보이는 경향이 있다. 따라서 본 발명에서는 선 객체 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환(Redundant Hough Transform)을 제안한다.
본 발명의 실시예에 따른 선 탐지부(340)는 허프 변환 알고리즘(341)을 통해 이미지 파일에서 선 객체를 탐지하고 탐지된 선 객체들의 시작점과 종료점 좌표를 리스트 형태로 저장한다. 특히, 탐지된 선 객체가 중복으로 탐지되는 것을 방지하기 위해, 탐지된 선의 좌표를 저장한 후 이미지 파일에서 해당 선 객체를 화이트 마스킹(White Masking)을 통해 제거한다. 이후, 탐지된 각 선 객체는 전체 P&ID 이미지 파일의 위치 정보를 기준으로 하나의 선 객체로 병합한다(342). 즉, 선 객체의 병합은 선 객체들 간 시작점 좌표와 종료점 좌표가 인접한 정도에 따라 병합 여부를 결정한다. 병합을 결정하는 기준값은, 이전 단계에서 탐지된 심볼 객체의 너비 평균값으로 사용하였다. 따라서, 인접한 선의 시작점, 종료점 좌표가 심볼 너비보다 가까운 거리에 위치한 경우, 인접한 해당 선을 병합한다.
본 발명의 실시예에 따른 선 및 심볼 인식부(350)는 상기 선 객체와 상기 선 텍스트 객체를 병합한다.
이전 단계에서 탐지된 텍스트, 심볼, 선 객체에 대한 정보는 객체 간의 관계성 정보를 포함하지 않는다. 따라서, 탐지된 각 객체의 위치 정보를 기반으로 객체의 관계를 생성하는 단계를 수행한다. 이를 위해, 선 객체는 선 텍스트 객체와 병합되어야 한다.
본 발명의 실시예에 따른 선 및 심볼 인식부(350)는 이전 단계에서 탐지된 선 텍스트 객체의 바운딩 박스 시작 좌표값과 탐지된 선 객체의 시작점, 종료점 좌표 값의 거리를 비교함으로써, 병합을 진행한다(351). 병합된 선 객체는 이미지 파일에서의 시작점, 종료점 좌표와 함께 딕셔너리(Dictionary) 형태로 다시 저장된다. 또한, 중복된 병합을 방지하기 위해 선 객체 리스트에서 해당 병합된 선 객체를 제거한다. 마지막 모든 선 객체가 제거될 때까지 이러한 과정을 반복한다.
본 발명의 실시예에 따른 선 및 심볼 인식부(350)는 모든 선 객체에 대한 병합이 완료된 후, 병합된 선 객체와 병합된 심볼 객체에 대한 관계를 생성한다. 병합된 심볼 객체와 병합된 선 객체의 이미지 파일 내 위치 정보를 비교하고 이에 대한 관계성을 부여한다. 선 및 심볼 인식부(350)는 병합된 선 객체와 병합된 심볼 객체간의 관계를 보여준다. 관계성 생성을 위해 병합된 선 객체의 y축 값을 기준으로 병합된 각 심볼 객체를 순방향으로 한 번씩 탐색한다. 만약, 병합된 심볼 객체의 바운딩 박스의 y축 시작 좌표 값이 병합된 선 객체의 y축 값과 인접하고 각 객체의 y축 좌표의 차이가 병합된 심볼 객체의 바운딩 박스 높이보다 작은 경우, 해당 선 객체에 심볼 객체가 연결되어 있다는 관계를 생성한다(352). 이러한 과정을 모든 관계성을 생성될 때까지 반복한다.
도 4는 본 발명의 일 실시예에 따른 딥 러닝 기술을 이용한 객체 인식 방법을 설명하기 위한 흐름도이다.
제안하는 딥 러닝 기술을 이용한 객체 인식 방법은 전처리부가 입력된 이미지에 대한 탐지성능을 높이기 위해 이미지 전처리를 수행하는 단계(410), 텍스트 탐지부가 전처리된 이미지를 입력 받아 텍스트 객체를 탐지하고, 탐지된 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환하는 단계(420), 텍스트 탐지부가 탐지된 텍스트 객체에 대한 심볼 텍스트 객체와 선 텍스트 객체를 분류하고 해당 객체들의 위치 정보를 저장하는 단계(430), 심볼 탐지부가 상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스를 기준으로 이미지 파일을 캡처하고, 캡처된 이미지에서 심볼 객체를 탐지하는 단계(440), 선 탐지부가 선 객체의 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환을 통해 탐지된 복수의 선 객체를 하나의 선 객체로 병합하는 단계(450), 선 및 심볼 인식부가 탐지된 각 객체의 위치 정보를 기반으로 객체 간의 관계를 생성하기 위해 상기 선 객체와 상기 선 텍스트 객체를 병합하는 단계(460) 및 선 및 심볼 인식부가 모든 선 객체에 대한 병합이 완료된 후, 병합된 선 객체와 병합된 심볼 객체 간의 관계를 생성하는 단계(470)를 포함한다.
단계(410)에서, 전처리부가 입력된 이미지에 대한 탐지성능을 높이기 위해 이미지 전처리를 수행한다.
전처리부는 입력된 이미지에서 경계 영역을 명확하게 표현하고 노이즈를 제거하기 위해 이미지의 픽셀값을 0과 255 값으로만 표현하는 이미지 이진화 작업을 수행한다. 이후, P&ID에서 탐지 대상이 아닌 경계 영역을 제거한다.
단계(420)에서, 텍스트 탐지부가 전처리된 이미지를 입력 받아 텍스트 객체를 탐지하고, 탐지된 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환한다.
전처리된 이미지는 도면 내 텍스트 객체를 탐지하기 위해 Tesseract 엔진의 입력으로 사용된다. Tesseract 엔진은 출력값으로 입력 이미지에서 탐지한 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환한다.
단계(430)에서, 텍스트 탐지부가 탐지된 텍스트 객체에 대한 심볼 텍스트 객체와 선 텍스트 객체를 분류하고 해당 객체들의 위치 정보를 저장한다.
텍스트 탐지부는 해당 테이블에서 탐지된 텍스트 객체의 내용을 기준으로 심볼 텍스트 객체와 선 텍스트 객체를 분류하고 해당 객체들의 위치 정보를 별도로 저장한다. 분류된 심볼 텍스트 객체와 선 텍스트 객체의 정보는 추후 선 객체와 심볼 객체를 탐지하는 과정에서 사용된다.
일반적으로, 심볼 객체는 심볼 텍스트 객체와 인접한 위치에 배치되어 있다. 이에, 제안하는 기법에서는 이러한 특성을 이용하여 이전 단계에서 추출한 심볼 텍스트 객체에 대한 위치정보를 기반으로, 이미지 형식의 P&ID 파일에서 심볼 객체를 탐지한다. 이를 위해, 심볼 텍스트 객체의 위치를 기준으로 주변 영역을 캡처하여 비교하면서 심볼 객체의 위치를 특정하였다. 이러한 방식으로 수행하면 심볼 객체가 배치되어 있는 방향을 고려하지 않고 탐지가 가능하다.
단계(440)에서, 심볼 탐지부가 상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스를 기준으로 이미지 파일을 캡처하고, 캡처된 이미지에서 심볼 객체를 탐지한다.
본 발명의 실시예에 따른 심볼 탐지부는 각 심볼 텍스트 객체를 참조하여 텍스트 객체의 바운딩 박스의 좌측 상단 좌표를 기준으로 4 방향으로 이미지 파일을 캡처한다. 캡처 영역의 크기는 사전에 측정된 각 심볼 객체의 크기에 따라 정해진다. 이후, 캡처된 4개의 이미지에서 검은색 픽셀의 수가 가장 높은 이미지를 심볼 객체의 바운딩 박스로 최종 선택한다. 이렇게 확정된 심볼 객체는 해당 심볼 텍스트 객체와 병합 후 이미지 파일에서의 위치 정보와 함께 객체 형태로 저장된다.
단계(450)에서, 선 탐지부가 선 객체의 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환을 통해 탐지된 복수의 선 객체를 하나의 선 객체로 병합한다.
본 발명의 실시예에 따른 선 탐지부(340)는 허프 변환 알고리즘을 사용한다. 일반적으로, 허프 변환 알고리즘은 이미지가 단순하고 노이즈가 적을수록 높은 정확도를 보이는 경향이 있다. 따라서 본 발명에서는 선 객체 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환(Redundant Hough Transform)을 제안한다.
본 발명의 실시예에 따른 선 탐지부는 허프 변환 알고리즘을 통해 이미지 파일에서 선 객체를 탐지하고 탐지된 선 객체들의 시작점과 종료점 좌표를 리스트 형태로 저장한다. 특히, 탐지된 선 객체가 중복으로 탐지되는 것을 방지하기 위해, 탐지된 선의 좌표를 저장한 후 이미지 파일에서 해당 선 객체를 화이트 마스킹(White Masking)을 통해 제거한다. 이후, 탐지된 각 선 객체는 전체 P&ID 이미지 파일의 위치 정보를 기준으로 하나의 선 객체로 병합한다. 즉, 선 객체의 병합은 선 객체들 간 시작점 좌표와 종료점 좌표가 인접한 정도에 따라 병합 여부를 결정한다. 병합을 결정하는 기준값은, 이전 단계에서 탐지된 심볼 객체의 너비 평균값으로 사용하였다. 따라서, 인접한 선의 시작점, 종료점 좌표가 심볼 너비보다 가까운 거리에 위치한 경우, 인접한 해당 선을 병합한다.
단계(460)에서, 선 및 심볼 인식부가 탐지된 각 객체의 위치 정보를 기반으로 객체 간의 관계를 생성하기 위해 상기 선 객체와 상기 선 텍스트 객체를 병합한다.
이전 단계에서 탐지된 텍스트, 심볼, 선 객체에 대한 정보는 객체 간의 관계성 정보를 포함하지 않는다. 따라서, 탐지된 각 객체의 위치 정보를 기반으로 객체의 관계를 생성하는 단계를 수행한다. 이를 위해, 선 객체는 선 텍스트 객체와 병합되어야 한다.
본 발명의 실시예에 따른 선 및 심볼 인식부는 이전 단계에서 탐지된 선 텍스트 객체의 바운딩 박스 시작 좌표값과 탐지된 선 객체의 시작점, 종료점 좌표 값의 거리를 비교함으로써, 병합을 진행한다. 병합된 선 객체는 이미지 파일에서의 시작점, 종료점 좌표와 함께 딕셔너리(Dictionary) 형태로 다시 저장된다. 또한, 중복된 병합을 방지하기 위해 선 객체 리스트에서 해당 병합된 선 객체를 제거한다. 마지막 모든 선 객체가 제거될 때까지 이러한 과정을 반복한다.
단계(470)에서, 선 및 심볼 인식부가 모든 선 객체에 대한 병합이 완료된 후, 병합된 선 객체와 병합된 심볼 객체 간의 관계를 생성한다.
병합된 심볼 객체와 병합된 선 객체의 이미지 파일 내 위치 정보를 비교하고 이에 대한 관계성을 부여한다. 선 및 심볼 인식부는 병합된 선 객체와 병합된 심볼 객체간의 관계를 보여준다. 관계성 생성을 위해 병합된 선 객체의 y축 값을 기준으로 병합된 각 심볼 객체를 순방향으로 한 번씩 탐색한다. 만약, 병합된 심볼 객체의 바운딩 박스의 y축 시작 좌표 값이 병합된 선 객체의 y축 값과 인접하고 각 객체의 y축 좌표의 차이가 병합된 심볼 객체의 바운딩 박스 높이보다 작은 경우, 해당 선 객체에 심볼 객체가 연결되어 있다는 관계를 생성한다. 이러한 과정을 모든 관계성을 생성될 때까지 반복한다.
도 5는 본 발명의 일 실시예에 따른 이미지 형식의 원본 P&ID와 제안 기법을 통해 인식한 심볼 객체 탐지의 결과를 나타내는 도면이다.
실험을 위해 Intel Core i9-12900KF(3.2GHz, 6 Core) CPU, 32GB DRAM, Nvidia Geforce GTX 1650 GPU (4GB)로 구성된 컴퓨터에서 실험을 진행하였으며, 운영체제는 Ubuntu 20.04 LTS를 사용하였다. 또한, 제안 기법을 평가하기 위해 6622*4677해상도의 실제 P&ID 이미지 형식의 파일을 사용하여 탐지성능을 평가하였다. 제안 기법의 프로토타입을 구현하기 위해, Python 3.8버전을 사용하였으며, 이미지 전처리와 심볼 및 선 객체 탐지에 필요한 연산은 OpenCV를(Version 3.4.15) 사용하였다. 마지막으로, 텍스트 객체 탐지는 pytesseract 파이썬 라이브러리를 사용하였다.
도 5(a)는 이미지 형식의 원본 P&ID를 나타내고, 도 5(b)는 제안 기법을 통해 인식한 심볼 객체 탐지의 결과를 보여준다. 도 5(b)에서 확인할 수 있듯이, 원본 이미지의 모든 심볼 객체를 성공적으로 인식한 것을 확인할 수 있다. 특히, 제안 기법은 심볼 객체의 배치 방향과 무관하게(즉, 수직/수평) 모든 심볼 객체에 대한 인식을 성공하였다. 이를 통해, 제안 기법이 텍스트 객체의 바운딩 박스 위치정보를 기준으로 심볼 객체를 성공적으로 인식할 수 있다는 사실을 확인할 수 있다. 다만, 심볼 객체의 크기가 텍스트 객체의 바운딩 박스보다 크거나 작을 경우, 사전에 심볼 객체의 너비와 높이를 측정하여 탐지 영역에 대한 변경이 필요하다.
도 6은 본 발명의 일 실시예에 따른 이미지 형식의 원본 P&ID와 제안 기법을 통해 인식한 심볼 객체 탐지의 결과를 나타내는 도면이다.
제안 기법의 평가를 위해, 기존 허프 변환 알고리즘을 추가로 구현하였으며, 허프 변환 알고리즘에 필요한 픽셀 임계값은 320으로 설정하였다. 이는 가장 높은 선 객체 인식률을 보장하기 위한 임계값이다.
도 6(a)는 이미지 형식의 원본 P&ID를 나타내고, 도 6(b)는 이미지 형식 P&ID에서 기존 허프 변환 알고리즘의 결과를 나타내고, 도 6(c)는 본 발명에서 제안하는 기법의 결과를 보여준다. 그림 6(b)는 알고리즘을 통해 탐지되지 않은 선이 존재한다는 것을 확인할 수 있다. 반면, 그림6 (c)에서 보여주듯이, 제안 기법은 인식된 선을 하나씩 제거하면서 모든 선을 성공적으로 탐지하는 것을 확인할 수 있다.
한편, 제안 기법은 기존 허프 변환 알고리즘을 수행하여 선 객체를 인식하는 시간보다 더 많은 인식 시간을 요구한다. 즉, 기존 기법의 인식 시간이 0.164초인 반면, 제안 기법은 5.072초 인식 시간이 소모된다. 이는, 허프 변환 알고리즘의 반복 수행 시간과 인식된 선 객체를 마스킹하여 제거하는 이미지 재처리로 작업으로 발생하는 오버헤드로 분석된다.
도 7은 본 발명의 일 실시예에 따른 탐지된 심볼, 선 객체를 사용하여 의미분석을 수행한 결과를 나타내는 도면이다.
도 7(a)는 탐지된 선 객체들 간 시작점 끝점의 거리를 비교하여 병합한 결과를 보여준다. 도 7(b)는 병합된 선 객체에 선 객체의 텍스트 정보를 추가한 결과를 보여준다. 각 선 객체의 색상은 해당 선 객체에 연결된 텍스트 객체를 의미한다. 마지막으로, 도 7(c)에서는 심볼 객체와 선 객체의 연결 관계를 생성한 결과를 보여준다. 도 7에서 보여주듯이, 각 선 객체에 인접한 심볼 객체들이 모두 올바르게 추가된 것을 확인할 수 있다.
기존 딥 러닝 기반 P&ID 탐지기법은 높은 정확도를 달성하기 위해 훈련 데이터 셋을 직접 구축해야 한다는 한계점이 존재한다. 이에, 본 발명에서는 훈련 데이터 셋 구축 없이 텍스트 위치를 기반으로 P&ID 내 심볼 객체와 선 객체를 인식하고 이에 대한 연결 관계를 사용자에게 제공하는 기법을 제안하였다.
본 발명의 실시예들에 따른 딥 러닝 기반 텍스트 인식 및 이미지 처리 방법 및 시스템을 통해 Tesseract엔진을 사용하여 추출된 텍스트 객체의 위치와 바운딩 박스를 기준으로 바운딩 박스를 확장하여 인접한 심볼 객체를 탐지한다. 또한 선 객체 탐지를 위해 기존 탐지 기법인 허프 변환의 성능을 개선하는 기법을 제안하였다. 실험을 통해 확인한 결과, P&ID 내 존재하는 모든 객체를 누락 없이 탐지하는 것을 확인할 수 있었으며, 인식이 어려운 선 객체의 경우에도 100% 인식률을 보여주었다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (16)

  1. 입력된 이미지에 대한 탐지성능을 높이기 위해 이미지 전처리를 수행하는 전처리부;
    전처리된 이미지를 입력 받아 텍스트 객체를 탐지하고, 탐지된 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환하며, 탐지된 텍스트 객체에 대한 심볼 텍스트 객체와 선 텍스트 객체를 분류하고 해당 객체들의 위치 정보를 저장하는 텍스트 탐지부;
    상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스를 기준으로 이미지 파일을 캡처하고, 캡처된 이미지에서 심볼 객체를 탐지하는 심볼 탐지부;
    선 객체의 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환을 통해 탐지된 복수의 선 객체를 하나의 선 객체로 병합하는 선 탐지부;
    탐지된 각 객체의 위치 정보를 기반으로 객체 간의 관계를 생성하기 위해 상기 선 객체와 상기 선 텍스트 객체를 병합하고, 선 및 심볼 인식부가 모든 선 객체에 대한 병합이 완료된 후, 병합된 선 객체와 병합된 심볼 객체 간의 관계를 생성하는 선 및 심볼 인식부
    를 포함하는 객체 인식 시스템.
  2. 제1항에 있어서,
    상기 전처리부는,
    입력된 이미지의 픽셀값에 대한 이미지 이진화 작업을 수행한 후, 탐지 대상이 아닌 경계 영역을 제거하는
    객체 인식 시스템.
  3. 제1항에 있어서,
    상기 텍스트 탐지부는,
    전처리된 이미지에서 탐지한 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환하는
    객체 인식 시스템.
  4. 제1항에 있어서,
    상기 심볼 탐지부는,
    상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스의 좌측 상단 좌표를 기준으로 4 방향으로 이미지 파일을 캡처하고, 캡처 영역의 크기는 미리 측정된 각 심볼 객체의 크기에 따라 정하고, 캡처된 4개의 이미지에서 검은색 픽셀의 수가 가장 높은 이미지를 심볼 객체의 바운딩 박스로 최종 선택하며, 상기 심볼 객체는 해당 심볼 텍스트 객체와 병합 후 이미지 파일에서의 위치 정보와 함께 객체 형태로 저장되는
    객체 인식 시스템.
  5. 제1항에 있어서,
    상기 선 탐지부는,
    허프 변환 알고리즘을 통해 이미지 파일에서 선 객체를 탐지하고 탐지된 선 객체들의 시작점과 종료점 좌표를 리스트 형태로 저장하며, 탐지된 선 객체가 중복으로 탐지되는 것을 방지하기 위해, 탐지된 선의 좌표를 저장한 후 이미지 파일에서 해당 선 객체를 화이트 마스킹(White Masking)을 통해 제거하고, 탐지된 각 선 객체는 전체 이미지 파일의 위치 정보를 기준으로 하나의 선 객체로 병합하는
    객체 인식 시스템.
  6. 제5항에 있어서,
    상기 선 탐지부는,
    상기 선 객체의 병합은 선 객체들 간 시작점 좌표와 종료점 좌표가 인접한 정도에 따라 병합 여부를 결정하고, 상기 병합을 결정하는 기준값은 상기 탐지된 심볼 객체의 너비 평균값을 사용하여 결정하고, 인접한 선의 시작점, 종료점 좌표가 심볼 객체의 너비보다 가까운 거리에 위치한 경우 인접한 해당 선을 병합하는
    객체 인식 시스템.
  7. 제1항에 있어서,
    상기 선 및 심볼 인식부는,
    탐지된 선 텍스트 객체의 바운딩 박스 시작 좌표값과 탐지된 선 객체의 시작점, 종료점 좌표 값의 거리를 비교함으로써, 병합을 수행하고,
    병합된 선 객체는 이미지 파일에서의 시작점, 종료점 좌표와 함께 딕셔너리(Dictionary) 형태로 다시 저장되며, 중복된 병합을 방지하기 위해 선 객체 리스트에서 해당 병합된 선 객체를 제거하는
    객체 인식 시스템.
  8. 제1항에 있어서,
    상기 선 및 심볼 인식부는,
    병합된 심볼 객체와 병합된 선 객체의 이미지 파일 내 위치 정보를 비교하고, 관계성을 부여하며,
    병합된 선 객체의 y축 값을 기준으로 병합된 각 심볼 객체를 순방향으로 한 번씩 탐색하고, 병합된 심볼 객체의 바운딩 박스의 y축 시작 좌표 값이 병합된 선 객체의 y축 값과 인접하고 각 객체의 y축 좌표의 차이가 병합된 심볼 객체의 바운딩 박스 높이보다 작은 경우, 해당 선 객체에 심볼 객체가 연결되어 있다는 관계를 생성하는
    객체 인식 시스템.
  9. 전처리부가 입력된 이미지에 대한 탐지성능을 높이기 위해 이미지 전처리를 수행하는 단계;
    텍스트 탐지부가 전처리된 이미지를 입력 받아 텍스트 객체를 탐지하고, 탐지된 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환하는 단계;
    텍스트 탐지부가 탐지된 텍스트 객체에 대한 심볼 텍스트 객체와 선 텍스트 객체를 분류하고 해당 객체들의 위치 정보를 저장하는 단계;
    심볼 탐지부가 상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스를 기준으로 이미지 파일을 캡처하고, 캡처된 이미지에서 심볼 객체를 탐지하는 단계;
    선 탐지부가 선 객체의 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환을 통해 탐지된 복수의 선 객체를 하나의 선 객체로 병합하는 단계;
    선 및 심볼 인식부가 탐지된 각 객체의 위치 정보를 기반으로 객체 간의 관계를 생성하기 위해 상기 선 객체와 상기 선 텍스트 객체를 병합하는 단계; 및
    선 및 심볼 인식부가 모든 선 객체에 대한 병합이 완료된 후, 병합된 선 객체와 병합된 심볼 객체 간의 관계를 생성하는 단계
    를 포함하는 객체 인식 방법.
  10. 제9항에 있어서,
    상기 전처리부가 입력된 이미지에 대한 탐지성능을 높이기 위해 이미지 전처리를 수행하는 단계는,
    입력된 이미지의 픽셀값에 대한 이미지 이진화 작업을 수행한 후, 탐지 대상이 아닌 경계 영역을 제거하는
    객체 인식 방법.
  11. 제9항에 있어서,
    상기 텍스트 탐지부가 전처리된 이미지를 입력 받아 텍스트 객체를 탐지하고, 탐지된 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환하는 단계는,
    전처리된 이미지에서 탐지한 각 텍스트 객체의 내용과 텍스트 객체의 바운딩 박스의 크기, 좌표를 테이블 형식의 데이터프레임으로 반환하는
    객체 인식 방법.
  12. 제9항에 있어서,
    상기 심볼 탐지부가 상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스를 기준으로 이미지 파일을 캡처하고, 캡처된 이미지에서 심볼 객체를 탐지하는 단계는,
    상기 심볼 텍스트 객체를 참조하여 상기 텍스트 객체의 바운딩 박스의 좌측 상단 좌표를 기준으로 4 방향으로 이미지 파일을 캡처하고, 캡처 영역의 크기는 미리 측정된 각 심볼 객체의 크기에 따라 정하고, 캡처된 4개의 이미지에서 검은색 픽셀의 수가 가장 높은 이미지를 심볼 객체의 바운딩 박스로 최종 선택하며, 상기 심볼 객체는 해당 심볼 텍스트 객체와 병합 후 이미지 파일에서의 위치 정보와 함께 객체 형태로 저장되는
    객체 인식 방법.
  13. 제9항에 있어서,
    상기 선 탐지부가 선 객체의 탐지율을 향상시키기 위해 한 번 탐지된 선 객체를 이미지에서 제거하고 허프 변환 알고리즘을 반복하는 중복 허프 변환을 통해 탐지된 복수의 선 객체를 하나의 선 객체로 병합하는 단계는,
    허프 변환 알고리즘을 통해 이미지 파일에서 선 객체를 탐지하고 탐지된 선 객체들의 시작점과 종료점 좌표를 리스트 형태로 저장하며, 탐지된 선 객체가 중복으로 탐지되는 것을 방지하기 위해, 탐지된 선의 좌표를 저장한 후 이미지 파일에서 해당 선 객체를 화이트 마스킹(White Masking)을 통해 제거하고, 탐지된 각 선 객체는 전체 이미지 파일의 위치 정보를 기준으로 하나의 선 객체로 병합하는
    객체 인식 방법.
  14. 제14항에 있어서,
    상기 선 객체의 병합은 선 객체들 간 시작점 좌표와 종료점 좌표가 인접한 정도에 따라 병합 여부를 결정하고, 상기 병합을 결정하는 기준값은 상기 탐지된 심볼 객체의 너비 평균값을 사용하여 결정하고, 인접한 선의 시작점, 종료점 좌표가 심볼 객체의 너비보다 가까운 거리에 위치한 경우 인접한 해당 선을 병합하는
    객체 인식 방법.
  15. 제9항에 있어서,
    상기 선 및 심볼 인식부가 탐지된 각 객체의 위치 정보를 기반으로 객체 간의 관계를 생성하기 위해 상기 선 객체와 상기 선 텍스트 객체를 병합하는 단계는,
    탐지된 선 텍스트 객체의 바운딩 박스 시작 좌표값과 탐지된 선 객체의 시작점, 종료점 좌표 값의 거리를 비교함으로써, 병합을 수행하고,
    병합된 선 객체는 이미지 파일에서의 시작점, 종료점 좌표와 함께 딕셔너리(Dictionary) 형태로 다시 저장되며, 중복된 병합을 방지하기 위해 선 객체 리스트에서 해당 병합된 선 객체를 제거하는
    객체 인식 방법.
  16. 제9항에 있어서,
    상기 선 및 심볼 인식부가 모든 선 객체에 대한 병합이 완료된 후, 병합된 선 객체와 병합된 심볼 객체 간의 관계를 생성하는 단계는,
    병합된 심볼 객체와 병합된 선 객체의 이미지 파일 내 위치 정보를 비교하고, 관계성을 부여하며,
    병합된 선 객체의 y축 값을 기준으로 병합된 각 심볼 객체를 순방향으로 한 번씩 탐색하고, 병합된 심볼 객체의 바운딩 박스의 y축 시작 좌표 값이 병합된 선 객체의 y축 값과 인접하고 각 객체의 y축 좌표의 차이가 병합된 심볼 객체의 바운딩 박스 높이보다 작은 경우, 해당 선 객체에 심볼 객체가 연결되어 있다는 관계를 생성하는
    객체 인식 방법.
KR1020220122336A 2022-09-27 2022-09-27 딥 러닝 기술을 이용한 객체 인식 방법 및 시스템 KR20240043352A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220122336A KR20240043352A (ko) 2022-09-27 2022-09-27 딥 러닝 기술을 이용한 객체 인식 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220122336A KR20240043352A (ko) 2022-09-27 2022-09-27 딥 러닝 기술을 이용한 객체 인식 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20240043352A true KR20240043352A (ko) 2024-04-03

Family

ID=90662594

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220122336A KR20240043352A (ko) 2022-09-27 2022-09-27 딥 러닝 기술을 이용한 객체 인식 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20240043352A (ko)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
[1] S. Xu, C. Lee, "An Efficient Method for Real-Time Broken Lane Tracking Using PHT and Least-Square Method", Journal of KIISE, Vol. 14, No. 6, pp, 619-623, 2008.

Similar Documents

Publication Publication Date Title
Wang et al. Arbitrary shape scene text detection with adaptive text region representation
Ye et al. Text detection and recognition in imagery: A survey
Tian et al. Text flow: A unified text detection system in natural scene images
US8014603B2 (en) System and method for characterizing handwritten or typed words in a document
Zheng et al. An algorithm for accuracy enhancement of license plate recognition
WO2016107103A1 (zh) 图像主体区域的识别方法及装置
Chen et al. Hybrid page segmentation with efficient whitespace rectangles extraction and grouping
JP4723840B2 (ja) インク入力内のハンド・ドローされたオブジェクトを検出するシステムおよび方法
CN109685065B (zh) 试卷内容自动分类的版面分析方法、系统
Zhang et al. Text line segmentation for handwritten documents using constrained seam carving
Chiang et al. Recognition of multi-oriented, multi-sized, and curved text
JP4300098B2 (ja) オブジェクト識別方法とその装置、プログラム及び記録媒体
Zoizou et al. A new hybrid method for Arabic multi-font text segmentation, and a reference corpus construction
CN111353491A (zh) 一种文字方向确定方法、装置、设备及存储介质
JP2010102709A (ja) 文字列認識方法、文字列認識システム及び文字列認識プログラム用記録媒体
Parvin et al. Vehicle number plate detection and recognition techniques: a review
Katper et al. Deep neural networks combined with STN for multi-oriented text detection and recognition
Georgieva et al. Optical character recognition for autonomous stores
Devi et al. Design and simulation of handwritten recognition system
Chen et al. Efficient text localization in born-digital images by local contrast-based segmentation
Berriche et al. Hybrid Arabic handwritten character segmentation using CNN and graph theory algorithm
KR102598210B1 (ko) 엔지니어링 도면의 도면 정보 인식방법, 도면 정보 인식시스템, 컴퓨터 프로그램
Das et al. Hand-written and machine-printed text classification in architecture, engineering & construction documents
Ryu et al. Chinese character detection using modified single shot multibox detector
KR20240043352A (ko) 딥 러닝 기술을 이용한 객체 인식 방법 및 시스템