KR102211763B1 - 글자 검출 장치, 방법 및 시스템 - Google Patents
글자 검출 장치, 방법 및 시스템 Download PDFInfo
- Publication number
- KR102211763B1 KR102211763B1 KR1020180114369A KR20180114369A KR102211763B1 KR 102211763 B1 KR102211763 B1 KR 102211763B1 KR 1020180114369 A KR1020180114369 A KR 1020180114369A KR 20180114369 A KR20180114369 A KR 20180114369A KR 102211763 B1 KR102211763 B1 KR 102211763B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- character
- area
- character detection
- detection model
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000001514 detection method Methods 0.000 claims abstract description 239
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000013528 artificial neural network Methods 0.000 claims abstract description 14
- 238000012549 training Methods 0.000 claims description 93
- 238000012937 correction Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 19
- 238000005070 sampling Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G06K9/00402—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
-
- G06K2209/01—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
Abstract
글자 검출 장치에 의한 글자 검출 방법에 있어서, 입력 이미지를 획득하는 단계; 및 신경망을 포함하는 글자 검출 모델에 입력 이미지를 입력하여 처리 하는 단계; 글자 검출 모델로부터 적어도 하나 이상의 출력 이미지를 획득하는 단계를 포함하고, 출력 이미지는, 입력 이미지 내에서 글자가 존재할 확률을 입력 이미지와 대응되는 위치의 이미지 공간상에 나타내는 확률 값 이미지를 포함하는 것을 특징으로 하는 일 실시예에 따른 글자 검출 방법이 개시된다.
Description
본 개시는 이미지 처리 분야에 관한 것이다. 보다 구체적으로, 본 개시는 머신 러닝 모델을 이용하여 이미지에 포함된 글자의 위치를 검출하는 장치, 방법 및 시스템에 관한 것이다.
이미지 내 문자가 어디 있는지 검출하는 것은 HCI(human computer interaction)에 있어서 중요한 요소이다. 문자 이미지에서 문자를 검출하는 것은 비교적 간단하지만, 간판, 표지판, 메뉴 등 실생활에서 촬영된 이미지에 포함된 문자는 여러 디자인적 요소뿐만 아니라 영상 변환, 빛 반사 등의 영향으로 검출에 어려움이 존재한다.
이미지 내에서 여러 글자들로 이루어진 단어를 검출하는 방법은 제안되어 있지만, 개별 글자가 아닌 단어 중심으로 문자를 검출하는 경우, 곡선으로 배치된 문자나 시점에 따른 왜곡이 발생한 문자의 검출 정확도가 낮아지는 문제점이 있다.
일 실시예에 따른 글자 검출 장치, 방법 및 시스템은 여러 글자로 이루어진 단어가 아닌 각각의 글자를 높은 정확도로 검출하는 것을 기술적 과제로 한다.
또한, 일 실시예에 따른 글자 검출 장치, 방법 및 시스템은 적은 양의 GT(ground truth)를 증가시키는 것을 기술적 과제로 한다.
또한, 일 실시예에 따른 글자 검출 장치, 방법 및 시스템은 지도(supervision) 학습과 약지도(weakly supervision) 학습 과정을 통해 글자 검출 모델을 효율적으로 훈련시키는 것을 기술적 과제로 한다.
일 실시예에 따른 글자 검출 방법은,
입력 이미지를 획득하는 단계; 신경망을 포함하는 글자 검출 모델에 상기 입력 이미지를 입력하여 처리 하는 단계; 및 상기 글자 검출 모델로부터 적어도 하나 이상의 출력 이미지를 획득하는 단계를 포함하고, 상기 출력 이미지는, 상기 입력 이미지 내에서 글자가 존재할 확률을 상기 입력 이미지와 대응되는 위치의 이미지 공간상에 나타내는 확률 값 이미지를 포함할 수 있다.
일 실시예에 따른 글자 검출 장치는,
프로세서; 및 적어도 하나의 인스트럭션을 저장하는 메모리를 포함하되, 상기 프로세서는 상기 적어도 하나의 인스트럭션에 따라, 입력 이미지를 획득하고, 신경망을 포함하는 글자 검출 모델에 상기 입력 이미지를 입력하여 상기 글자 검출 모델로부터 적어도 하나의 출력 이미지를 획득하고, 상기 출력 이미지는, 상기 입력 이미지 내에서 글자가 존재할 확률을 상기 입력 이미지와 대응되는 위치의 이미지 공간상에 나타내는 확률 값 이미지를 포함할 수 있다.
일 실시예에 따른 글자 검출 시스템은,
학습용 이미지를 이용하여, 신경망을 포함하는 글자 검출 모델을 훈련시키는 서버 장치; 및 상기 서버 장치로부터 상기 글자 검출 모델의 실행을 위한 데이터를 수신하고, 입력 이미지가 획득되면, 상기 글자 검출 모델에 상기 입력 이미지를 입력하여 상기 글자 검출 모델로부터 적어도 하나의 출력 이미지를 획득하는 클라이언트 장치를 포함하되, 상기 출력 이미지는, 상기 입력 이미지 내에서 글자가 존재할 확률을 상기 입력 이미지와 대응되는 위치의 이미지 공간상에 나타내는 확률 값 이미지를 포함할 수 있다.
일 실시예에 따른 글자 검출 장치, 방법 및 시스템은 여러 글자로 이루어진 단어가 아닌 각각의 글자를 검출함으로써, 곡선으로 배치된 글자들이나 시점에 따른 왜곡이 발생한 글자들도 높은 정확도로 검출할 수 있다.
또한, 일 실시예에 따른 글자 검출 장치, 방법 및 시스템은 단어 영역의 위치가 어노테이션된(annotated) 학습용 이미지로 글자 영역의 위치 정보를 제공하는 GT를 생성할 수 있다.
또한, 일 실시예에 따른 글자 검출 장치, 방법 및 시스템은 지도(supervision) 학습과 약지도(weakly supervision) 학습 과정을 통해 글자 검출 모델을 효율적으로 훈련시킬 수 있다.
다만, 일 실시예에 따른 글자 검출 장치, 방법 및 시스템이 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 일 실시예에 따른 글자 검출 장치를 도시하는 도면이다.
도 2는 일 실시예에 따른 글자 검출 방법을 설명하기 위한 순서도이다.
도 3은 글자 검출 모델로 입력된 이미지와 글자 검출 모델로부터 출력된 이미지를 도시하는 도면이다.
도 4는 일 실시예에 따른 글자 검출 모델의 신경망 구조를 도시하는 도면이다.
도 5는 글자 영역의 위치 값이 어노테이션된 학습용 이미지로 글자 검출 모델을 훈련시키는 방법을 설명하기 위한 순서도이다.
도 6은 학습용 이미지에 기반한 글자 검출 모델의 훈련 과정을 설명하기 위한 도면이다.
도 7은 학습용 이미지로부터 GT 이미지를 생성하는 과정을 설명하기 위한 도면이다.
도 8은 단어 영역의 위치 값이 어노테이션된 학습용 이미지로 글자 검출 모델을 훈련시키는 방법을 설명하기 위한 도면이다.
도 9는 학습용 이미지에 기반한 글자 검출 모델의 훈련 과정을 설명하기 위한 도면이다.
도 10은 단어 영역의 위치 값이 어노테이션된 학습용 이미지에서 글자 영역의 위치 값을 결정하는 방법을 설명하기 위한 도면이다.
도 11은 단어 영역 이미지를 글자 검출 모델에 입력하였을 때 출력되는 중간 출력 이미지를 에포크(epoch)별로 도시하는 도면이다.
도 12는 단어 영역 이미지에서 글자 영역을 검출하는 다른 방법을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 글자 검출 장치의 구성을 도시하는 블록도이다.
도 14는 일 실시예에 따른 글자 검출 장치의 기능 블록도이다.
도 15는 일 실시예에 따른 글자 검출 장치가 적용될 수 있는 서버 장치 및 클라이언트 장치를 도시하는 도면이다.
도 16은 학습용 이미지에 기반한 글자 검출 모델의 훈련 과정을 설명하기 위한 도면이다.
도 1은 일 실시예에 따른 글자 검출 장치를 도시하는 도면이다.
도 2는 일 실시예에 따른 글자 검출 방법을 설명하기 위한 순서도이다.
도 3은 글자 검출 모델로 입력된 이미지와 글자 검출 모델로부터 출력된 이미지를 도시하는 도면이다.
도 4는 일 실시예에 따른 글자 검출 모델의 신경망 구조를 도시하는 도면이다.
도 5는 글자 영역의 위치 값이 어노테이션된 학습용 이미지로 글자 검출 모델을 훈련시키는 방법을 설명하기 위한 순서도이다.
도 6은 학습용 이미지에 기반한 글자 검출 모델의 훈련 과정을 설명하기 위한 도면이다.
도 7은 학습용 이미지로부터 GT 이미지를 생성하는 과정을 설명하기 위한 도면이다.
도 8은 단어 영역의 위치 값이 어노테이션된 학습용 이미지로 글자 검출 모델을 훈련시키는 방법을 설명하기 위한 도면이다.
도 9는 학습용 이미지에 기반한 글자 검출 모델의 훈련 과정을 설명하기 위한 도면이다.
도 10은 단어 영역의 위치 값이 어노테이션된 학습용 이미지에서 글자 영역의 위치 값을 결정하는 방법을 설명하기 위한 도면이다.
도 11은 단어 영역 이미지를 글자 검출 모델에 입력하였을 때 출력되는 중간 출력 이미지를 에포크(epoch)별로 도시하는 도면이다.
도 12는 단어 영역 이미지에서 글자 영역을 검출하는 다른 방법을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 글자 검출 장치의 구성을 도시하는 블록도이다.
도 14는 일 실시예에 따른 글자 검출 장치의 기능 블록도이다.
도 15는 일 실시예에 따른 글자 검출 장치가 적용될 수 있는 서버 장치 및 클라이언트 장치를 도시하는 도면이다.
도 16은 학습용 이미지에 기반한 글자 검출 모델의 훈련 과정을 설명하기 위한 도면이다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 설명하고자 한다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 실시예의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.
또한, 본 명세서에서 '글자'는 단어나 문장을 구성하는 기본 문자 단위를 의미할 수 있다, 예를 들어, 영어의 경우에는 각각의 알파벳이 글자에 해당할 수 있고, 숫자의 경우에는 '0' 내지 '9'의 숫자 각각이 글자에 해당할 수 있고, 한국어의 경우에는 자음과 모음이 결합된 문자(예를 들어, '가'), 자음, 모음 및 자음이 결합된 문자(예를 들어, '강'), 단독으로 기재된 자음(예를 들어, 'ㄱ'), 단독으로 기재된 모음(예를 들어, 'ㅏ')이 글자에 해당할 수 있다.
또한, 본 명세서에서 '단어'는 적어도 하나의 글자를 포함하는 문자 단위를 의미할 수 있다. '단어'는 적어도 하나의 글자를 포함하여 언어적 의미를 갖는 문자 단위로 참조될 수도 있다. 또한, '단어'를 구성하는 글자들은 서로 간에 이격되어 있지 않을 수 있다. 또한, '단어'는 하나의 글자로 이루어질 수도 있다. 예를 들어, 영어의 부정사 'a'는 하나의 글자로 이루어졌지만 주변 글자와 이격되어 있는 경우 '단어'에 해당할 수 있다.
이하, 본 개시의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.
도 1은 일 실시예에 따른 글자 검출 장치(100)를 도시하는 도면이다.
일 실시예에 따른 글자 검출 장치(100)는 글자 검출 모델을 포함한다. 글자 검출 장치(100)는 글자 검출 모델을 통해 입력 이미지에 포함된 글자들을 검출한다. 글자 검출 모델은 신경망을 포함하는 머신 러닝 모델을 포함할 수 있다. 글자 검출 모델은 입력층, 은닉층 및 출력층으로 이루어진 신경망을 통해 입력 이미지 내 글자를 검출할 수 있다. 글자 검출 모델은 CNN (convolution neural network)을 포함할 수 있다.
도 1을 참조하면, 'Cold'를 포함하는 이미지(11)에 대해 종래 검출 장치(10)는 하나의 단어에 해당하는 'Cold'를 검출하여 'Cold'에 대응하는 바운딩 박스(15)가 표시된 이미지(11)를 출력할 수 있으나, 일 실시예에 따른 글자 검출 장치(100)는 'Cold'를 'C', 'o', 'l', 'd' 각각의 글자로 구별하여 검출하고, 글자별로 바운딩 박스(115)가 표시된 이미지(110)를 출력할 수 있다.
일 실시예에 따른 글자 검출 모델은 이미지에 포함된 글자들을 단어 단위가 아닌 글자 단위로 검출할 수 있으므로, 단어 단위로 글자들을 검출하는 방법에 비해 정확성이 향상될 수 있다.
이하에서는 도 2 이하를 참조하여, 일 실시예에 따른 글자 검출 장치(100)의 동작에 대해 상세히 설명한다.
도 2는 일 실시예에 따른 글자 검출 방법을 설명하기 위한 순서도이다.
S210 단계에서, 글자 검출 장치(100)는 적어도 하나의 글자를 포함하는 이미지를 획득한다. 글자 검출 장치(100)는 내부에 저장된 이미지를 획득하거나, 외부 장치로부터 수신되는 이미지를 획득할 수 있다.
S220 단계에서, 글자 검출 장치(100)는 이미지를 글자 검출 모델에 입력한다. 글자 검출 모델은 이미지에 포함된 각 글자의 위치를 검출하기 위해 훈련될 수 있다.
S230 단계에서, 글자 검출 장치(100)는 글자 검출 모델에서 출력되는 출력 이미지를 획득한다. 출력 이미지와 입력 이미지의 크기 및 해상도는 서로 동일할 수 있고, 출력 이미지의 크기 및 해상도가 입력 이미지보다 작을 수도 있다.
출력 이미지는 입력 이미지에 포함된 글자의 존재 확률을 이미지 공간상에 나타낸다. 출력 이미지는 확률 값 이미지 및 링크 이미지 중 적어도 하나를 포함할 수 있다.
확률 값 이미지는 이미지 내 글자의 존재 확률을 픽셀 값으로 나타낼 수 있다. 확률 값 이미지에 포함된 픽셀들은 각 픽셀이 글자에 해당할 확률에 대응하는 값을 가질 수 있다. 확률 값 이미지에 포함된 픽셀들은 해당 픽셀의 위치가 글자의 중심에 해당할 확률에 대응하는 픽셀 값을 가질 수도 있다.
링크 이미지는 이미지 내 글자의 연결성을 나타낸다. 링크 이미지는 글자들 사이의 인접 여부를 나타내는 적어도 하나의 라인을 포함할 수 있다.
도 3을 참조하면, 'p', 'e', 'a', 'c', 'e' 등의 글자들을 포함하는 이미지(310)가 글자 검출 모델에 입력되면, 글자 검출 모델은 이미지(310) 내 글자의 존재 확률을 공간상에 나타내는 확률 값 이미지(320)와, 이미지(310) 내 글자들의 연결성을 나타내는 링크 이미지(330)를 출력할 수 있다.
확률 값 이미지(320)의 픽셀들은 이미지(310) 내 글자의 존재 확률에 대응하는 픽셀 값을 가질 수 있다. 또는, 확률 값 이미지(320)의 픽셀들은 글자의 중심에 해당할 확률에 대응하는 픽셀 값을 가질 수도 있다. 일 예로, 확률 값 이미지(320)에서 특정 픽셀 값을 갖는 픽셀들은 다른 픽셀 값을 갖는 픽셀들에 비해 글자의 중심에 해당할 확률이 높다는 것을 의미할 수 있다.
확률 값 이미지(320)의 픽셀 값들에 따라 이미지(310) 내에서 글자의 존재 확률이 높은 지점 또는 글자의 중심에 해당할 확률이 높은 지점이 확인될 수 있으므로, 입력 이미지(310)에 포함된 글자의 위치 값의 검출이 가능해진다.
또한, 확률 값이 제 1 임계 값보다 높은 지점을 중심으로 하였을 때, 제 1 임계 값보다 작은 제 2 임계 값 이상의 확률 값을 갖는 인접 영역들의 크기는 이미지(310)에 포함된 글자의 크기에 비례하므로, 확률 값 이미지(320)에 기초하여 이미지(310) 내 글자의 크기 검출도 가능할 수 있다.
링크 이미지(330)는 이미지(310) 내 글자들 사이의 연결성을 나타낸다. 링크 이미지(330)는 라인(335, 337)을 포함할 수 있는데, 어느 하나의 라인은 인접한 글자들의 중심점을 연결한 선에 대응할 수 있다. 예를 들어, 서로 간에 인접한 'p', 'e', 'a', 'c', 'e'에 대응하는 라인(335)이 링크 이미지(330)에 포함될 수 있다. 이미지(310)에 포함된 'W', 'H', 'Y'는 'p', 'e', 'a', 'c' 및 'e'로부터 이격되어 있으므로, 'W', 'H', 'Y'에 대응하는 라인(337)은 라인(335)과는 별개로 링크 이미지(330)에 포함될 수 있다.
링크 이미지(330) 내 라인의 두께는 이미지(310)에 포함된 글자의 크기에 비례할 수 있다. 예를 들어, 링크 이미지(330) 내 라인의 두께는 확률 값 이미지(320)에서 확인되는 사각형 형태의 글자 영역의 대각선 길이들의 평균에 비례할 수 있다.
도 4는 일 실시예에 따른 글자 검출 모델의 신경망 구조를 도시하는 도면이다.
도 4를 참조하면, 글자 검출 모델은 입력층, 컨볼루션층, 업 샘플링층, 업 컨볼루션층 및 출력층을 포함할 수 있다.
입력층(405)으로 이미지가 입력되면, 이미지는 제 1 컨볼루션층(410), 제 2 컨볼루션층(415), 제 3 컨볼루션층(420), 제 4 컨볼루션층(425), 제 5 컨볼루션층(430) 및 제 6 컨볼루션층(435)에서 컨볼루션 처리가 된다. 제 6 컨볼루션층(435)의 출력과 제 5 컨볼루션층(430)의 출력이 연접(concatenation) 연산되어 제 1 업 컨볼루션층(440)으로 입력되고, 제 1 업 컨볼루션층(440)으로 입력된 값들은 컨볼루션 처리(441), 배치 정규화(normalization)(442), 컨볼루션 처리(443) 및 배치 정규화(444)를 통해 제 1 업 샘플링층(445)으로 입력된다. 제 1 업 샘플링층(445)의 출력은 제 4 컨볼루션층(425)의 출력과 연접 연산되어 제 2 업 컨볼루션층(450) 및 제 2 업 샘플링층(455)에서 처리된다. 제 2 업 샘플링층(455)의 출력은 제 3 컨볼루션층(420)의 출력과 연접 연산되어 제 3 업 컨볼루션층(460)과 제 3 업 샘플링층(465)에서 처리되고, 처리 결과는 제 2 컨볼루션층(415)의 출력과 연접 연산되어 제 4 업 컨볼루션층(470)에 입력된다. 그리고, 제 4 업 컨볼루션층(470)의 출력과 제 1 컨볼루션층(410)의 출력은 연접 연산된 후, 여러 컨볼루션 처리(475, 480, 485, 490)를 통해 출력층(495)에서 확률 값 이미지와 링크 이미지로 출력된다.
도 4에 도시된 글자 검출 모델의 신경망 구조는 예시일 뿐이며, 컨볼루션층의 개수나 데이터들의 처리 방향은 당업자에게 자명한 범위 내에서 다양하게 변경될 수 있다.
이하에서는, 도 5 내지 도 12를 참조하여, 글자 검출 모델을 훈련시키는 과정에 대해 상세히 살펴본다.
도 5는 글자 영역의 위치 값이 어노테이션된 학습용 이미지로 글자 검출 모델을 훈련시키는 방법을 설명하기 위한 순서도이다. 도 5에 도시된 과정은 지도(supervision) 학습에 해당할 수 있다.
S510 단계에서, 글자 검출 장치(100)는 글자 영역의 위치 값이 어노테이션된 학습용 이미지를 획득한다. 글자 영역의 위치 값은 학습용 이미지 상에서의 글자 영역의 좌표 값에 해당할 수 있다.
학습용 이미지는 적어도 하나의 글자를 포함할 수 있다. 글자 검출 장치(100)는 학습용 이미지 내 글자를 포함하는 각 글자 영역의 위치 값을 획득할 수 있다. 학습용 이미지 내 글자를 포함하는 글자 영역이 사각형 형태라면, 글자 검출 장치(100)는 사각형의 글자 영역의 각 모서리의 좌표 값을 획득할 수 있다. 글자 영역은 사각형 이외에도 삼각형, 오각형 등의 다각형 또는 원형의 형태를 가질 수 있다.
S520 단계에서, 글자 검출 장치(100)는 학습용 이미지에 대응하는 GT(ground truth) 이미지를 생성한다. GT 이미지는 GT 확률 값 이미지 및 GT 링크 이미지 중 적어도 하나를 포함할 수 있다.
GT 이미지는 글자 검출 모델의 학습을 위해 제공되는 정답 데이터로서, GT 이미지의 생성 방법은 도 7을 참조하여 설명한다.
S530 단계에서, 글자 검출 장치(100)는 학습용 이미지를 글자 검출 모델에 입력한다. 글자 검출 모델은 학습용 이미지가 입력됨에 따라 학습용 이미지에 대응하는 출력 이미지를 출력한다. 출력 이미지는 확률 값 이미지 및 링크 이미지 중 적어도 하나를 포함할 수 있다.
S540 단계에서, 글자 검출 모델은 출력 이미지와 GT 이미지의 비교 결과에 따라 내부 가중치를 갱신한다.
출력 이미지와 GT 이미지의 비교 결과에 따라 로스(loss) 값이 산출될 수 있다. 로스 값은 예를 들어, L2 Loss 값에 해당할 수 있다. 로스 값은 그 외에도, L1 loss, smooth L1 loss 등 다양한 방법을 이용할 수 있다. 산출된 로스 값은 글자 검출 모델에 입력되고, 글자 검출 모델은 로스 값에 따라 내부 가중치를 갱신할 수 있다.
글자 검출 모델의 학습 과정을 도식화된 도 6을 참조하여 설명한다.
도 6을 참조하면, 학습용 이미지(610)가 글자 검출 모델에 입력되고, 글자 검출 모델에서 출력 이미지(확률 값 이미지 및 링크 이미지 중 적어도 하나) (620)가 출력된다. 그리고, 학습용 이미지(610) 내 글자 영역의 위치 값(630)에 기초하여 GT 이미지(640)가 생성되고, 출력 이미지(620)와 GT 이미지(640) 사이의 로스(650)가 산출된다. 산출된 로스(650)는 글자 검출 모델에 입력되어 글자 검출 모델의 내부 가중치가 갱신될 수 있다.
도 7은 학습용 이미지(710)로부터 GT 이미지를 생성하는 과정을 설명하기 위한 도면이다.
학습용 이미지(710)에 포함된 각 글자 영역(715)의 위치 값들이 어노테이션되어 있을 수 있다. 도 7은 '2'에 대응하는 글자 영역(715)만을 도시하고 있지만, 모든 글자에 대해 글자 영역이 결정되어 있을 수 있다. 글자 검출 장치(100)는 각 글자 영역(715)의 위치 값에 따라 2D 가우시안 맵(예를 들어, 2D 히트맵)(720)을 워핑(warpping)함으로써 GT 확률 값 이미지(730)를 생성할 수 있다. 예를 들어, 글자 검출 장치(100)는 사각형 형태의 글자 영역(715)의 모서리들의 좌표 값에 따라 2D 가우시안 맵(720)을 워핑할 수 있다. 워핑이란, 이미지의 픽셀의 위치 값을 이동시키는 기하학적 이미지 처리를 의미한다. GT 확률 값 이미지(730)의 크기 및 해상도는 학습용 이미지(710)의 크기 및 해상도와 동일할 수도 있고, 또는, GT 확률 값 이미지(730)의 크기 및 해상도는 학습용 이미지(710)의 크기 및 해상도보다 작을 수도 있다.
또한, 글자 검출 장치(100)는 각 글자 영역(715)의 중심을 라인으로 연결하여 GT 링크 이미지(740)를 생성할 수 있다. 글자 검출 장치(100)는 인접한 중심과 소정 거리 이내에 위치하는 중심들을 하나의 라인으로 연결하고, 인접한 중심과 소정 거리를 초과하여 위치하는 중심들을 다른 라인으로 연결하여 GT 링크 이미지(740)를 생성할 수 있다. GT 링크 이미지(740)의 크기 및 해상도는 학습용 이미지(710)의 크기 및 해상도와 동일할 수도 있고, 또는, GT 링크 이미지(740)의 크기 및 해상도는 학습용 이미지(710)의 크기 및 해상도보다 작을 수도 있다.
글자 검출 장치(100)는 각 글자 영역(715)의 크기에 기초하여 GT 링크 이미지(740) 내 라인의 두께를 조절할 수 있다. 예를 들어, 글자 검출 장치(100)는 글자 영역(715)의 대각선 길이들의 평균 값에 비례하여 라인의 두께는 결정할 수 있다. 예를 들어, 어느 하나의 글자에 대응하는 제 1 글자 영역의 대각선 길이들의 평균 값이 10이고, 다른 하나의 글자에 대응하는 제 2 글자 영역의 대각선 길이들의 평균 값이 5인 경우, 글자 검출 장치(100)는 제 1 글자 영역에 대응하는 라인의 두께를 제 2 글자 영역에 대응하는 라인의 두께의 2배로 결정할 수 있다.
한편, 도 5 내지 도 7과 관련하여 설명한 학습 과정은 학습용 이미지(710)에 대해 글자 영역(715)의 위치 값이 어노테이션되어 있는 경우를 고려한 것인데, 일반적으로, 글자 영역의 위치 값이 어노테이션되어 있는 학습용 이미지의 양은 많지 않으므로, 일 실시예에서는 단어 영역의 위치 값이 어노테이션되어 있는 학습용 이미지를 이용하여 글자 검출 모델을 학습시킬 수도 있다.
도 8은 단어 영역의 위치 값이 어노테이션된 학습용 이미지로 글자 검출 모델을 훈련시키는 방법을 설명하기 위한 도면이다. 도 8에 도시된 과정은 약지도(weakly supervision) 학습 과정에 해당할 수 있다.
S810 단계에서, 글자 검출 장치(100)는 단어 영역의 위치 값이 어노테이션된 학습용 이미지를 획득한다. 단어 영역의 위치 값은 학습용 이미지 내에서의 단어 영역의 좌표 값에 해당할 수 있다.
전술한 바와 같이, 단어는 적어도 하나의 글자를 포함할 수 있으며, 단어 영역의 위치 값은 단어를 포함하는 다각형의 위치 값을 의미할 수 있다. 예를 들어, 단어 영역이 사각형인 경우, 단어 영역의 위치 값은 사각형의 모서리들의 좌표 정보를 의미할 수 있다. 단어 영역의 형태는 사각형 이외의 다각형 또는 원형에 해당할 수도 있다.
S820 단계에서, 글자 검출 장치(100)는 학습용 이미지에서 단어 영역에 대응하는 단어 영역 이미지를 추출한다. 학습용 이미지에 포함된 단어 영역의 개수가 복수인 경우, 글자 검출 장치(100)는 복수의 단어 영역 각각에 대응하는 복수의 단어 영역 이미지를 추출할 수 있다.
S830 단계에서, 글자 검출 장치(100)는 단어 영역 이미지를 글자 검출 모델에 입력한다. 글자 검출 모델은 단어 영역 이미지가 입력됨에 따라 단어 영역 이미지에 대응하는 중간 출력 이미지를 출력한다. 전술한 바와 같이, 글자 검출 모델은 이미지 내 포함된 각 글자의 위치를 검출하도록 훈련되었기 때문에 글자 검출 모델은 단어 영역 이미지에 포함된 각 글자의 존재 확률을 나타내는 중간 출력 이미지를 출력할 수 있다. 중간 출력 이미지는 확률 값 이미지 및 링크 이미지 중 적어도 하나를 포함할 수 있다.
단어 영역 이미지의 개수가 복수 개인 경우, 글자 검출 장치(100)는 복수의 단어 영역 이미지 각각을 글자 검출 모델에 입력시켜 복수의 중간 출력 이미지를 획득할 수도 있다.
S840 단계에서, 글자 검출 장치(100)는 중간 출력 이미지로부터 단어 영역 이미지 내 글자 영역의 위치 값을 확인한다. 글자 영역의 위치 값은 학습용 이미지 상에서의 글자 영역의 좌표 값 또는 단어 영역 이미지 상에서의 글자 영역의 좌표 값에 해당할 수 있다.
단어 영역 이미지 상에서의 글자 영역의 위치 값이 확인되면, 글자 검출 장치(100)는 확인된 글자 영역의 위치 값을 학습용 이미지 상에서의 글자 영역의 위치 값으로 변경할 수 있다. 글자 검출 장치(100)는 단어 영역 이미지와 학습용 이미지에 포함된 단어 영역 사이의 좌표 관계를 고려하여, 단어 영역 이미지 상에서의 글자 영역의 위치 값을 학습용 이미지 상에서의 글자 영역의 위치 값으로 변경할 수 있다. 예를 들어, 단어 영역 이미지의 좌측 최상단 및 우측 최상단의 좌표가 확인되고, 학습용 이미지에 포함된 단어 영역의 좌측 최상단 및 우측 최상단의 좌표가 확인되면, 글자 검출 장치(100)는 단어 영역 이미지에서의 좌측 최상단 및 우측 최상단의 좌표 값들과 학습용 이미지 상에서 단어 영역의 좌측 최상단 및 우측 최상단의 좌표 값들 사이의 관계식에 기초하여, 단어 영역 이미지에 포함된 글자 영역의 좌표 값들을 학습용 이미지 상에서의 좌표 값으로 변경할 수 있는 것이다.
S850 단계에서, 글자 검출 장치(100)는 학습용 이미지 내 포함된 글자 영역의 위치 값이 확인되면, 글자 영역의 위치 값에 기초하여 슈도(pseudo) GT 이미지를 생성한다.
글자 검출 장치(100)는 도 7과 관련하여 설명한 것과 동일하게 학습용 이미지에서 검출된 각 글자 영역의 위치 값에 따라 2D 가우시안 맵을 워핑시켜 슈도 GT 확률 값 이미지를 생성하고, 각 글자 영역의 중심을 연결하여 슈도 GT 링크 이미지를 생성할 수 있다.
일 실시예에서, 글자 검출 장치(100)는 중간 출력 이미지로부터 글자 영역을 검출하는 과정을 생략하고, 중간 출력 이미지 그 자체를 슈도 GT 이미지로 이용할 수도 있다. 중간 출력 이미지는 학습용 이미지 내 단어 영역에 대응하는 이미지이므로, 글자 검출 장치(100)는 학습용 이미지 중 단어 영역 이외의 영역들에 대응시켜 특정의 픽셀 값을 갖는 이미지를 생성하고, 생성된 이미지와 중간 출력 이미지를 결합시켜 슈도 GT 이미지를 생성할 수도 있다.
글자 검출 모델의 학습 과정을 도식화된 도 9를 참조하여 설명한다.
단어 영역의 위치 값(915)이 어노테이션된 학습용 이미지(910)로부터 단어 영역에 대응하는 단어 영역 이미지(920)가 추출되고, 추출된 단어 영역 이미지(920)는 글자 검출 모델로 입력된다. 단어 영역 이미지(920)의 입력에 따라 글자 검출 모델로부터 중간 출력 이미지(930)가 출력된다. 또한, 학습용 이미지(910)가 글자 검출 모델에 입력되고, 글자 검출 모델로부터 학습용 이미지(910)에 대응하는 출력 이미지(925)가 출력된다.
중간 출력 이미지(930)로부터 학습용 이미지(910) 내 글자 영역의 위치 값(935)이 결정된다. 글자 영역의 위치 값(935)에 기초하여 학습용 이미지(910)에 대응하는 슈도 GT 이미지(940)가 생성된다.
도 9를 참조하면, 출력 이미지(925)와 슈도 GT 이미지(940) 사이의 로스 값(950)에 보정 웨이트(945)가 적용되고 있는데, 이 보정 웨이트(945)는 중간 출력 이미지(930)의 정확도를 고려하여 산출되는 값이다. 글자 검출 모델의 훈련이 부족한 경우, 중간 출력 이미지(930)의 검출 정확도는 낮을 수밖에 없으므로, 이를 고려하여 로스 값(950)에 보정 웨이트(945)를 적용하는 것이다.
보정 웨이트(945)는 중간 출력 이미지(930)에서 검출된 글자의 개수와 단어 영역 이미지(920)에 포함된 글자의 정답 개수의 비교 결과에 따라 산출될 수 있다. 단어 영역 이미지(920)에 포함된 글자의 정답 개수는 글자 검출 장치(100)가 단어 영역 이미지(920)를 분석하여 산출할 수도 있고, 또는 글자 검출 장치(100)로 정답 개수가 입력될 수도 있다.
글자 검출 장치(100)는 중간 출력 이미지(930)에서 확률 값이 임계 값 이상에 해당하는 지점에 대해 영상 분할 알고리즘(예를 들어, watershed 알고리즘)을 적용하여 중간 출력 이미지(930)를 적어도 하나의 영역으로 구분할 수 있고, 구분된 영역의 개수를 중간 출력 이미지(930)에서 검출된 글자의 개수로 결정할 수 있다. 글자 검출 모델의 훈련이 부족한 경우, 중간 출력 이미지(930)에서 검출된 글자의 개수는 실제 개수보다 적을 확률이 높기 때문에, 중간 출력 이미지(930)에서 검출된 글자의 개수와 단어 영역 이미지(920)에 포함된 글자의 정답 개수를 비교하여 보정 웨이트(945)가 산출될 수 있다.
중간 출력 이미지(930)에서 검출된 글자의 길이(또는 개수)를 detected_length 라 하고, 단어 영역 이미지(920)에 포함된 글자의 정답 길이(또는 개수)를 gt_length라 할 때, 에러 값은 아래의 수학식 1에 따라 산출될 수 있다.
[수학식 1]
err = |gt_length - detected_length|
학습용 이미지(910)에서 추출된 단어 영역 이미지(920)의 개수가 복수인 경우, 상기 detected_length는 복수의 중간 출력 이미지(930)에서 검출된 모든 글자의 길이(또는 개수)를 의미할 수 있고, gt_length는 복수의 단어 영역 이미지(920)에 포함된 모든 글자들의 정답 길이(또는 개수)를 의미할 수 있다.
에러 값에 기초하여 보정 웨이트는 아래의 수학식 2에 따라 산출될 수 있다.
[수학식 2]
weight = alpha * |gt_length - err| / gt_length
수학식 2에서 alpha는 기 설정되는 값으로서, 예를 들어, 0.9로 설정될 수 있다. 이 경우, err가 0이면, weight는 0.9의 값을 갖게 되며, 중간 출력 이미지(930)에서 10개의 글자 중 7개의 글자만이 검출된 경우 weight = 0.9 * 7 / 10 = 0.63이 될 수 있다.
일 실시예에서, weight는 err에 반비례하여 결정될 수 있다. 즉, err가 큰 경우, weight는 작게 결정되고, err가 작은 경우, weight는 크게 결정될 수 있다. weight 값이 커짐에 따라 weighted loss가 커질수록 글자 검출 모델의 학습이 더 많이 일어날 수 있으므로, err의 크기와 반비례해서 학습 강도를 키울 수 있다.
중간 출력 이미지(930)에서 검출된 글자의 개수와 단어 영역 이미지(920)에 포함된 글자의 정답 개수의 비교 결과 산출된 보정 웨이트(945)는 글자 검출 모델의 출력인 출력 이미지(925)와 슈도 GT 이미지(950) 사이의 로스 값에 곱해진다. 곱해진 결과(955)는 글자 검출 모델로 입력되어 글자 검출 모델의 가중치가 갱신될 수 있다.
도 16은 앞서 설명한 도 6 및 도 9에 따른 훈련 과정을 도시한 도면으로서, 도 16을 참조하면, 단어 영역의 위치 값이 어노테이션된(Word annotation) 이미지와, 해당 이미지로부터 크로핑된(cropped) 단어 영역 이미지가 글자 검출 모델에 입력된다. 그리고, 단어 영역 이미지에 대응하여 글자 검출 모델에서 출력되는 중간 출력 이미지에 기초하여 슈도 GT 이미지가 생성되고, 단어 영역의 위치 값이 어노테이션된 이미지에 대응하여 글자 검출 모델에서 출력되는 출력 이미지와 슈도 GT 이미지 사이의 Loss가 산출될 수 있다.
또한, 글자 영역의 위치 값이 어노테이션된(Character annotation) 이미지가 글자 검출 모델에 입력되어, 글자 검출 모델로부터 출력 이미지가 생성되고, 글자 영역의 위치 값에 기초하여 생성되는 GT 이미지와 상기 출력 이미지 사이의 Loss가 산출될 수 있다.
산출된 Loss들은 글자 검출 모델로 전파되어 글자 검출 모델의 내부 가중치가 갱신될 수 있다.
도 10은 단어 영역(1015)의 위치 값이 어노테이션된 학습용 이미지(1010)로부터 글자 영역(1065)의 위치 값을 결정하는 과정을 도시하고 있다.
전술한 바와 같이, 단어 영역(1015)의 위치 값이 어노테이션된 학습용 이미지(1010)로부터 단어 영역(1015)에 해당하는 단어 영역 이미지가 추출될 수 있다.
일 실시예에서, 글자 검출 장치(100)는 추출된 단어 영역 이미지를 소정의 이미지 처리 알고리즘에 따라 변형할 수 있다. 소정의 이미지 처리 알고리즘은 예를 들어, 이미지 워핑을 포함할 수 있다. 실제 이미지에 포함된 단어 영역은 시점의 왜곡으로 인해 글자의 배열 방향이나 글자의 크기에 변동성이 클 수 있다. 따라서, 일 실시예에서는 글자 검출의 용이성을 위해 단어 영역 이미지를 예를 들어, 직사각형 형태의 단어 영역 이미지로 변형하는 것이다. 도 10을 참조하면, 학습용 이미지(1010) 내 cold를 포함하는 단어 영역(1015)은 좌측 모서리에 비해 우측 모서리의 높이가 높은 것을 알 수 있다. 글자 검출 장치(100)는 학습용 이미지(1010)에서 추출된 단어 영역 이미지를 이미지 처리 알고리즘을 통해 변형하여 좌측 모서리와 우측 모서리의 높이가 동일한, 변형된 단어 영역 이미지(1020)를 획득할 수 있다.
단어 영역(1015)이 복수 개인 경우에는 복수 개의 단어 영역 이미지가 추출될 수 있고, 복수 개의 단어 영역 이미지 각각이 소정 이미지 처리 알고리즘에 따라 변형되어 복수 개의 변형된 단어 영역 이미지(1020)가 획득될 수 있다.
글자 검출 장치(100)는 변형된 단어 영역 이미지(1020)를 글자 검출 모델에 입력하고, 글자 검출 모델에서 출력되는 중간 출력 이미지(1030)를 획득한다.
중간 출력 이미지(1030)에서 글자 영역을 결정하기 위해, 영역 그로잉(growing) 기법이 적용될 수 있다. 예를 들어, 글자 검출 장치(100)는 중간 출력 이미지(1030) 중 제 1 임계 값 이상의 확률 값에 대응하는 지점들을 결정할 수 있다. 그리고, 글자 검출 장치(100)는 상기 결정된 지점을 시작으로 하여 제 1 임계 값보다 작은 제 2 임계 값 이상의 확률 값을 갖는 지점까지 영역을 증가시킬 수 있다. 글자 검출 장치(100)는 최종적으로 증가된 영역(1045)을 포함하는 다각형의 영역을 글자 영역(1050)으로 결정할 수 있다.
일 실시예에서, 글자 검출 장치(100)는 중간 출력 이미지(1030)에 대해 영상 분할 알고리즘(예를 들어, watershed 방법)을 적용하여 글자 레벨 맵(1040)에서 식별된 영역(1045)을 글자 영역(1050)으로 결정할 수도 있다.
변형 단어 영역 이미지(1020)와 중간 출력 이미지(1030)의 크기 및 해상도는 서로 간에 대응되므로, 중간 출력 이미지(1030)에서 결정된 글자 영역의 위치 값은 그대로 변형 단어 영역 이미지(1020) 내 글자 영역(1050)의 위치 값이 될 수 있다. 글자 검출 장치(100)는 변형 단어 영역 이미지(1020) 내 글자 영역(1050)의 위치 값을 학습용 이미지(1010)의 글자 영역(1065)의 위치 값으로 변경할 수 있다.
일 예에서, 글자 검출 장치(100)는 글자 영역(1050)의 위치 값이 검출된 변형 단어 영역 이미지(1020)를, 이미지 처리 알고리즘에 따라 역 변형(예를 들어, 역 워핑)한 후, 역 변형된 단어 영역 이미지를 학습용 이미지(1010)에 정합시켜 학습용 이미지(1010)상에서의 글자 영역(1065)의 위치 값을 결정할 수 있다.
다른 예에서, 글자 검출 장치(100)은 변형된 단어 영역 이미지(1020)의 소정 지점의 좌표 값과 학습용 이미지(1010)에 포함된 단어 영역(1015)의 소정 지점의 좌표 값 사이의 관계를 고려하여, 변형된 단어 영역 이미지(1020)에서 검출된 글자 영역(1050)의 위치 값을 학습용 이미지(1010)의 위치 값으로 변경할 수도 있다.
학습용 이미지(1010) 내 글자 영역(1065)들의 위치 값이 어노테이션되면, 글자 검출 장치(100)는 학습용 이미지(1010) 내 글자 영역(1065)들의 위치 값에 기초하여 슈도 GT 이미지를 생성할 수 있다.
도 11은 단어 영역 이미지를 글자 검출 모델에 입력하였을 때 출력되는 중간 출력 이미지를 에포크(epoch)별로 도시하는 도면이고, 도 12는 단어 영역 이미지에서 글자 영역의 위치 값을 검출하는 다른 방법을 설명하기 위한 도면이다. 도 11 및 도 12와 관련하여 이하에서 단어 영역 이미지를 대상으로 하여 설명하지만, 단어 영역 이미지 대신 도 10과 관련하여 설명한 변형된 단어 영역 이미지에도 적용될 수 있다.
전술한 바와 같이, 글자 검출 모델의 훈련이 충분히 이루어지지 않은 경우, 단어 영역 이미지에 기초하여 출력되는 중간 출력 이미지의 정확성이 저하될 수 있다. 도 11을 참조하면, 'Alice'를 포함하는 단어 영역 이미지가 글자 검출 모델에 입력되었을 때 출력되는 중간 출력 이미지의 정확도가 에포크의 증가에 따라 향상되는 것을 확인할 수 있다. 예를 들어, 첫 번째 에포크에서는 1개의 글자만이 검출될 수 있으나, 10 번째 에포크에서는 5개의 글자가 검출될 수 있다.
전술한 바와 같이, 글자 검출 장치(100)는 중간 출력 이미지에서 검출되는 글자의 개수와 단어 영역 이미지에 포함된 글자의 정답 개수를 비교하여, 로스 값에 적용될 보정 웨이트를 결정할 수 있다. 그러나, 중간 출력 이미지에서 검출되는 글자의 개수가 소정 개수 미만인 경우, 글자 검출 장치(100)는 글자 영역의 위치 값을 결정하는데 있어 중간 출력 이미지를 이용하지 않을 수도 있다.
예를 들어, 글자 검출 장치(100)는 중간 출력 이미지에서 검출되는 글자의 개수가 단어 영역 이미지에 포함된 글자의 정답 개수의 소정 비율(예를 들어, 0.5) 미만인 경우, 중간 출력 이미지를 이용하지 않을 수 있다. 중간 출력 이미지에서 검출되는 글자의 개수가 4개이고, 단어 영역 이미지에 포함된 글자의 정답 개수가 10개인 경우, 글자 검출 장치(100)는 10개의 0.5에 해당하는 5개 미만의 글자만이 검출된 것을 확인하고, 중간 출력 이미지를 이용하지 않을 수 있다.
글자 검출 장치(100)는 중간 출력 이미지로부터 글자 영역을 식별하는 대신, 단어 영역 이미지를 정답 개수에 따라 분할하고, 분할된 각 영역을 글자 영역으로 결정할 수도 있다. 도 12을 참조하면, 'Alice'는 5개의 글자로 이루어져 있으므로, 글자 검출 장치(100)는 단어 영역 이미지(1200)를 균등하게 5개의 영역(1210, 1220, 1230, 1240, 1250)으로 구분한 후, 각 영역을 글자 영역으로 결정할 수 있다. 그리고, 글자 검출 장치(100)는 로스 값에 적용될 보정 웨이트를 기 설정된 값(예를 들어, 0.5)으로 결정할 수 있다.
한편, 글자 검출 장치(100)는 글자를 포함하는 이미지의 입력에 따라 확률 값 이미지 및 링크 이미지 중 적어도 하나를 포함하는 출력 이미지가 획득되면, 출력 이미지에 기초하여 입력 이미지에 바운딩 박스를 표시할 수도 있다. 바운딩 박스는 글자 단위 또는 단어 단위로 표시될 수 있다.
글자 검출 장치(100)는 출력된 확률 값 이미지에서 제 1 임계 값 이상의 확률 값에 대응하는 지점들을 결정할 수 있다. 그리고, 글자 검출 장치(100)는 상기 결정된 지점을 시작으로 하여 제 1 임계 값보다 작은 제 2 임계 값 이상의 확률 값을 갖는 지점까지 영역을 증가시킬 수 있다. 글자 검출 장치(100)는 최종적으로 증가된 영역을 포함하는 다각형의 영역을 글자 영역으로 결정할 수 있다. 글자 검출 장치(100)는 확률 값 이미지에서 결정된 글자 영역에 대응하는 바운딩 박스를 입력된 이미지에 표시하여 출력할 수 있다.
또한, 글자 검출 장치(100)는 확률 값 이미지에서 결정된 글자 영역들을 링크 이미지의 연결성을 고려하여 결합시키고, 결합 결과 생성된 영역을 단어 영역으로 결정할 수도 있다. 예를 들어, 글자 검출 장치(100)는 확률 값 이미지에서 결정된 글자 영역들 중 링크 이미지에서 동일 라인에 대응하는 글자 영역들을 결합시킬 수 있다. 그리고, 글자 검출 장치(100)는 단어 영역에 대응하는 바운딩 박스를 입력된 이미지에 표시하여 출력할 수 있다.
일 실시예에서, 글자 검출 장치(100)는 확률 값 이미지에서 결정된 글자 영역들을 결합시키는데 있어, 확률 값 이미지에서 제 1 임계 값 이상의 확률 값에 대응하는 지점들 중 링크 이미지에서 제 3 임계 값 이상의 값을 갖는 지점들에 대응하는 글자 영역들을 결합시킬 수도 있다.
실시예에 따라, 글자 검출 장치(100)는 글자 검출 모델에 추가하여 단어 검출 모델을 더 포함할 수도 있다. 글자 검출 모델은 아무런 어노테이션이 되지 않은 학습용 이미지가 입력되면 단어 검출 모델을 통해 학습용 이미지에서 단어 영역의 위치 값을 검출하고, 검출된 단어 영역의 위치 값을 이용하여 글자 검출 모델을 훈련시킬 수도 있다.
도 13은 일 실시예에 따른 글자 검출 장치(100)의 구성을 도시하는 도면이다.
도 13을 참조하면, 일 실시예에 따른 글자 검출 장치(100)는 메모리(1310) 및 프로세서(1330)를 포함할 수 있다. 메모리(1310)에는 적어도 하나의 인스트럭션이 저장될 수 있고, 프로세서(1330)는 적어도 하나의 인스트럭션에 따라 이미지 내 글자 검출 및 글자 검출 모델의 훈련을 제어할 수 있다.
도 13은 하나의 메모리(1310)와 하나의 프로세서(1330)만을 도시하고 있으나, 글자 검출 장치(100)는 복수의 메모리(1310)를 포함할 수도 있고, 복수의 프로세서(1330)를 포함할 수도 있다.
글자 검출 장치(100)는 서버 장치에 포함될 수 있다. 또한, 글자 검출 장치(100)는 클라이언트 장치에 포함될 수도 있다. 또한, 글자 검출 장치(100)는 단독(standalone) 장치에 포함될 수도 있다.
도 14는 일 실시예에 따른 글자 검출 장치(100)의 기능 블록도이다.
도 14를 참조하면, 글자 검출 장치(100)는 글자 검출 모델(1410), 데이터 처리부(1430) 및 모델 훈련 제어부(1450)를 포함할 수 있다.
글자 검출 모델(1410), 데이터 처리부(1430) 및 모델 훈련 제어부(1450) 중 적어도 하나는 프로세서(1330)로 구현될 수 있고, 글자 검출 모델(1410), 데이터 처리부(1430) 및 모델 훈련 제어부(1450) 중 적어도 하나의 동작을 제어하기 위한 인스트럭션이 메모리(1310)에 저장될 수 있다.
일 실시예에서, 글자 검출 모델(1410)은 메모리(1310)에 저장될 수 있고, 데이터 처리부(1430) 및 모델 훈련 제어부(1450)는 프로세서(1330)로 구현될 수 있다. 또는 일 실시예에서, 글자 검출 모델(1410)은 신경망 프로세서로 구현될 수 있고, 데이터 처리부(1430) 및 모델 훈련 제어부(1450)는 범용의 프로세서로 구현될 수도 있다.
데이터 처리부(1430)는 글자 검출을 요하는 이미지를 획득하여 글자 검출 모델(1410)에 입력한다. 또한, 데이터 처리부(1430)는 글자 검출 모델의 훈련을 위해 학습용 이미지를 획득하여 모델 훈련 제어부(1450)로 전달할 수 있다. 학습용 이미지는 단어 영역의 위치 값이 어노테이션된 학습용 이미지 또는 글자 영역의 위치 값이 어노테이션된 학습용 이미지를 포함할 수 있다.
모델 훈련 제어부(1450)는 학습용 이미지를 글자 검출 모델(1410)에 입력한다. 모델 훈련 제어부(1450)는 학습용 이미지를 글자 검출 모델(1410)에 입력하기 전에 전처리를 할 수도 있다. 모델 훈련 제어부(1450)는 학습용 이미지로부터 GT 이미지 또는 슈도 GT 이미지를 생성할 수 있다.
글자 검출 모델(1410)은 모델 훈련 제어부(1450)로부터 학습용 이미지 및 정답 이미지(즉, GT 이미지 또는 슈도 GT 이미지)를 입력받아 내부 가중치를 갱신할 수 있다. 글자 검출 모델(1410)은 학습용 이미지에 대응하는 출력 이미지와 정답 이미지를 비교하여 내부 가중치를 갱신할 수 있다.
글자 검출 모델(1410)로 입력된 이미지에 대응하여 출력 이미지가 출력되면, 데이터 처리부(1430)는 출력 이미지에 기초하여 입력 이미지에 바운딩 박스를 표시할 수도 있다. 바운딩 박스는 글자 단위 또는 단어 단위로 표시될 수 있다.
도시되어 있지는 않지만, 글자 검출 장치(100)는 통신부를 더 포함할 수 있으며, 통신부는 글자 검출 모델(1410)에서 출력되는 출력 이미지, 데이터 처리부(1430)에 의해 처리된 이미지를 외부 장치로 전송할 수도 있다.
도 15는 일 실시예에 따른 글자 검출 장치(100)가 적용될 수 있는 서버 장치(1510) 및 클라이언트 장치(1520)를 도시하는 도면이다.
전술한 바와 같이, 일 실시예에 따른 글자 검출 장치(100)는 서버 장치(1510)로 구현될 수 있다. 이 경우, 서버 장치(1510)는 클라이언트 장치(1520)로부터 처리를 요하는 이미지를 수신할 수 있다. 서버 장치(1510)는 수신된 이미지를 글자 검출 모델에 입력시켜 출력 이미지를 획득할 수 있다.
서버 장치(1510)는 출력 이미지를 클라이언트 장치(1520)로 전송할 수 있다. 또한, 서버 장치(1510)는 클라이언트 장치(1520)로부터 수신된 이미지 내 글자 영역 또는 단어 영역에 대응하는 바운딩 박스를 이미지에 표시하여 클라이언트 장치(1520)로 전송할 수도 있다.
서버 장치(1510)는 클라이언트 장치(1520)를 포함한 외부 장치로부터 학습용 데이터를 수신하거나, 또는 내부에 저장된 학습용 데이터를 이용하여 글자 검출 모델의 훈련을 제어할 수도 있다.
일 실시예에 따른 글자 검출 장치(100)는 클라이언트 장치(1520)에 포함될 수도 있다. 클라이언트 장치(1520)는 글자 검출 모델의 실행을 위한 데이터를 서버 장치(1510)로부터 수신할 수 있다. 클라이언트 장치(1520)는 카메라 모듈을 통해 촬영된 이미지, 내부 메모리에 저장된 이미지 또는 외부 장치로부터 수신된 이미지를 글자 검출 모델에 입력시켜 이미지 내 글자를 검출할 수 있다.
클라이언트 장치(1520)는 외부 장치로부터 학습용 데이터를 수신하거나, 또는 내부에 저장된 학습용 데이터를 이용하여 글자 검출 모델의 훈련을 제어할 수도 있다. 구현예에 따라, 글자 검출 모델의 실행을 위한 데이터를 클라이언트 장치(1520)로 제공한 서버 장치(1510)가 학습용 데이터에 기초하여 글자 검출 모델의 훈련을 제어할 수도 있다. 이 경우, 서버 장치(1510)는 훈련 결과 갱신된 가중치 정보만을 클라이언트 장치(1520)로 전송하고, 클라이언트 장치(1520)는 수신된 정보에 따라 글자 검출 모델을 갱신할 수도 있다.
도 15는 클라이언트 장치(1520)로서, 데스크탑 PC를 도시하고 있으나, 이에 한정되는 것은 아니고 클라이언트 장치(1520)는 노트북, 스마트폰, 태블릿 PC, AI(artificial intelligence) 로봇, AI 스피커, 웨어러블 기기 등을 포함할 수 있다.
구현예에 따라, 글자 검출 장치(100)는 서버-클라이언트 모델이 아닌, 단독(standalone) 장치에 포함될 수도 있다. 단독 장치는 내장된 글자 검출 모델의 훈련을 제어하고, 획득 이미지를 글자 검출 모델에 입력하여 이미지 내 글자를 검출할 수도 있다.
한편, 상술한 본 개시의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 작성된 프로그램은 매체에 저장될 수 있다.
매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상, 본 개시의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 개시의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 개시의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.
100: 글자 검출 장치
1310: 메모리
1330: 프로세서
1410: 글자 검출 모델
1430: 데이터 처리부
1450: 모델 훈련 제어부
1310: 메모리
1330: 프로세서
1410: 글자 검출 모델
1430: 데이터 처리부
1450: 모델 훈련 제어부
Claims (12)
- 글자 검출 장치에 의한 글자 검출 방법에 있어서,
신경망을 포함하는 글자 검출 모델을 훈련시키는 단계; 및
상기 훈련된 글자 검출 모델에 입력 이미지를 입력하고, 상기 글자 검출 모델로부터 출력되는 하나 이상의 출력 이미지를 획득하는 단계를 포함하되,
상기 출력 이미지는, 상기 입력 이미지 내에서 글자가 존재할 확률을 상기 입력 이미지와 대응되는 위치의 이미지 공간상에 나타내는 확률 값 이미지를 포함하고,
상기 훈련시키는 단계는,
적어도 하나의 글자를 포함하는 단어 영역의 위치 값이 어노테이션된 제 1 학습용 이미지로부터 상기 단어 영역 내 글자 영역의 위치 값을 결정하는 단계; 및
상기 결정된 글자 영역의 위치 값에 기초하여 상기 제 1 학습용 이미지에 대응하는 슈도 GT(pseudo ground truth) 이미지를 생성하는 단계를 포함하고,
상기 제 1 학습용 이미지에 대응하여 상기 글자 검출 모델에서 출력되는 출력 이미지와 상기 슈도 GT 이미지의 비교 결과에 따라 상기 글자 검출 모델이 훈련되는 것을 특징으로 하는 글자 검출 방법.
- 제1항에 있어서,
상기 출력 이미지는,
상기 입력 이미지에서 검출된 글자들의 연결성을 나타내는 링크 이미지를 더 포함하는 것을 특징으로 하는 글자 검출 방법.
- 제2항에 있어서,
상기 링크 이미지는 상기 입력 이미지에서 검출된 인접한 글자들의 중심을 연결한 라인을 포함하며,
상기 라인의 두께는, 상기 검출된 글자 각각을 포함하는 글자 영역의 크기를 나타내는 것을 특징으로 하는 글자 검출 방법.
- 제1항에 있어서,
상기 훈련시키는 단계는,
글자 영역의 위치 값이 어노테이션된 제 2 학습용 이미지로부터GT 이미지를 생성하는 단계를 포함하고,
상기 제 2 학습용 이미지에 대응하여 상기 글자 검출 모델에서 출력되는 출력 이미지와 상기 GT 이미지의 비교 결과에 따라 상기 글자 검출 모델이 훈련되는 것을 특징으로 하는 글자 검출 방법.
- 삭제
- 제1항에 있어서,
상기 슈도 GT 이미지를 생성하는 단계는,
상기 제 1 학습용 이미지로부터 상기 단어 영역의 위치 값에 대응하는 단어 영역 이미지를 추출하는 단계;
상기 추출된 단어 영역 이미지를 상기 글자 검출 모델에 입력하여 상기 단어 영역 이미지에 대응하는 중간 출력 이미지를 획득하는 단계;
상기 중간 출력 이미지에서 검출된 각 글자 영역으로부터 상기 단어 영역 이미지 내 각 글자 영역의 위치 값을 결정하는 단계;
상기 단어 영역 이미지 내 글자 영역의 위치 값을 이용하여 상기 제 1 학습용 이미지 내 글자 영역의 위치 값을 결정하는 단계; 및
상기 결정된 글자 영역의 위치 값에 기초하여 상기 제 1 학습용 이미지에 대응하는 슈도 GT 이미지를 생성하는 단계를 포함하는 것을 특징으로 하는 글자 검출 방법.
- 제1항에 있어서,
상기 훈련시키는 단계는,
상기 제 1 학습용 이미지 내 상기 단어 영역에 포함된 글자의 정답 개수 정보를 획득하는 단계;
상기 단어 영역에 포함된 글자의 정답 개수와, 상기 단어 영역의 위치 값에 대응하는 단어 영역 이미지에 기초하여 획득된 중간 출력 이미지에서 검출된 글자의 개수를 비교하여 보정 웨이트 값을 결정하는 단계; 및
상기 결정된 보정 웨이트 값을, 상기 글자 검출 모델에서 출력되는 출력 이미지와 상기 슈도 GT 이미지 사이의 비교 결과에 적용하는 단계를 더 포함하는 것을 특징으로 하는 글자 검출 방법.
- 제6항에 있어서,
상기 단어 영역 이미지 내 각 글자 영역의 위치 값을 결정하는 단계는,
상기 중간 출력 이미지에서 검출된 글자의 개수가 소정 개수 미만인 경우, 상기 단어 영역 이미지를 상기 글자의 정답 개수에 따라 분할하는 단계; 및
상기 단어 영역 이미지로부터 분할된 각 분할 영역의 위치 값을 상기 단어 영역 이미지 내 각 글자 영역의 위치 값으로 결정하는 단계를 포함하는 것을 특징으로 하는 글자 검출 방법.
- 제6항에 있어서,
상기 중간 출력 이미지를 획득하는 단계는,
상기 추출된 단어 영역 이미지를 이미지 처리 알고리즘에 따라 변형하는 단계; 및
상기 변형된 단어 영역 이미지를 상기 글자 검출 모델에 입력하여 상기 변형된 단어 영역 이미지에 대응하는 중간 출력 이미지를 획득하는 단계를 포함하고,
상기 단어 영역 이미지 내 각 글자 영역의 위치 값을 결정하는 단계는,
상기 변형된 단어 영역 이미지 내 각 글자 영역의 위치 값을 결정하는 단계를 포함하고,
상기 제 1 학습용 이미지 내 글자 영역의 위치 값을 결정하는 단계는,
상기 변형된 단어 영역 이미지 내 글자 영역의 위치 값을 이용하여 상기 제 1 학습용 이미지 내 글자 영역의 위치 값을 결정하는 단계를 포함하는 것을 특징으로 하는 글자 검출 방법.
- 제2항에 있어서,
상기 글자 검출 방법은,
상기 확률 값 이미지에서 제 1 임계 값 이상의 확률 값을 갖는 적어도 하나의 지점을 결정하는 단계;
상기 결정된 적어도 하나의 지점 각각으로부터, 상기 제 1 임계 값보다 작은 제 2 임계 값 이상의 확률 값을 갖는 지점까지 바운딩 영역을 증가시키는 단계; 및
상기 증가된 바운딩 영역에 대응하는 바운딩 박스를 상기 입력 이미지 상에 표시하는 단계를 더 포함하는 것을 특징으로 하는 글자 검출 방법.
- 프로세서; 및
적어도 하나의 인스트럭션을 저장하는 메모리를 포함하되,
상기 프로세서는 상기 적어도 하나의 인스트럭션에 따라,
신경망을 포함하는 글자 검출 모델을 훈련시키고,
상기 훈련된 글자 검출 모델에 입력 이미지를 입력하고, 상기 글자 검출 모델로부터 출력되는 하나 이상의 출력 이미지를 획득하고,
상기 출력 이미지는, 상기 입력 이미지 내에서 글자가 존재할 확률을 상기 입력 이미지와 대응되는 위치의 이미지 공간상에 나타내는 확률 값 이미지를 포함하고,
상기 프로세서는 상기 글자 검출 모델의 훈련을 위해, 적어도 하나의 글자를 포함하는 단어 영역의 위치 값이 어노테이션된 제 1 학습용 이미지로부터 상기 단어 영역 내 글자 영역의 위치 값을 결정하고, 상기 결정된 글자 영역의 위치 값에 기초하여 상기 제 1 학습용 이미지에 대응하는 슈도 GT 이미지를 생성하며,
상기 제 1 학습용 이미지에 대응하여 상기 글자 검출 모델에서 출력되는 출력 이미지와 상기 슈도 GT 이미지의 비교 결과에 따라 상기 글자 검출 모델이 훈련되는 것을 특징으로 하는 글자 검출 장치.
- 적어도 하나의 글자를 포함하는 단어 영역의 위치 값이 어노테이션된 제 1 학습용 이미지를 이용하여, 신경망을 포함하는 글자 검출 모델을 훈련시키는 서버 장치; 및
상기 서버 장치로부터 상기 글자 검출 모델의 실행을 위한 데이터를 수신하고, 입력 이미지가 획득되면, 상기 글자 검출 모델에 상기 입력 이미지를 입력하여 상기 글자 검출 모델로부터 하나 이상의 출력 이미지를 획득하는 클라이언트 장치를 포함하되,
상기 출력 이미지는, 상기 입력 이미지 내에서 글자가 존재할 확률을 상기 입력 이미지와 대응되는 위치의 이미지 공간상에 나타내는 확률 값 이미지를 포함하며,
상기 서버 장치는 상기 글자 검출 모델의 훈련을 위해, 상기 제 1 학습용 이미지로부터 상기 단어 영역 내 글자 영역의 위치 값을 결정하고, 상기 결정된 글자 영역의 위치 값에 기초하여 상기 제 1 학습용 이미지에 대응하는 슈도 GT 이미지를 생성하며,
상기 제 1 학습용 이미지에 대응하여 상기 글자 검출 모델에서 출력되는 출력 이미지와 상기 슈도 GT 이미지의 비교 결과에 따라 상기 글자 검출 모델이 훈련되는 것을 특징으로 하는 것을 특징으로 하는 글자 검출 시스템.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180114369A KR102211763B1 (ko) | 2018-09-21 | 2018-09-21 | 글자 검출 장치, 방법 및 시스템 |
CN201980061869.8A CN112868021A (zh) | 2018-09-21 | 2019-07-17 | 字母检测装置、方法以及系统 |
JP2021515507A JP7198350B2 (ja) | 2018-09-21 | 2019-07-17 | 文字検出装置、文字検出方法及び文字検出システム |
PCT/KR2019/008820 WO2020060019A1 (ko) | 2018-09-21 | 2019-07-17 | 글자 검출 장치, 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180114369A KR102211763B1 (ko) | 2018-09-21 | 2018-09-21 | 글자 검출 장치, 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200036098A KR20200036098A (ko) | 2020-04-07 |
KR102211763B1 true KR102211763B1 (ko) | 2021-02-03 |
Family
ID=69887389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180114369A KR102211763B1 (ko) | 2018-09-21 | 2018-09-21 | 글자 검출 장치, 방법 및 시스템 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7198350B2 (ko) |
KR (1) | KR102211763B1 (ko) |
CN (1) | CN112868021A (ko) |
WO (1) | WO2020060019A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639717A (zh) * | 2020-06-04 | 2020-09-08 | 网易(杭州)网络有限公司 | 图像字符识别方法、装置、设备及存储介质 |
KR102270198B1 (ko) * | 2020-06-08 | 2021-06-28 | 주식회사 에스아이에이 | 앵커-프리 rpn 기반의 물체 검출 방법 |
KR102436814B1 (ko) * | 2020-09-29 | 2022-08-25 | 이용재 | 광학 문자 인식 장치 및 그 제어방법 |
KR102535054B1 (ko) * | 2021-09-07 | 2023-05-26 | 서울대학교산학협력단 | 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치 |
KR102646607B1 (ko) * | 2021-10-15 | 2024-03-13 | 한국딥러닝 주식회사 | 딥러닝 기반의 문자 인식 시스템 |
WO2024043485A1 (ko) * | 2022-08-26 | 2024-02-29 | 삼성전자주식회사 | 텍스트를 포함하는 이미지를 처리하기 위한 전자 장치 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101805318B1 (ko) * | 2016-11-01 | 2017-12-06 | 포항공과대학교 산학협력단 | 텍스트 영역 식별 방법 및 장치 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8674855B2 (en) * | 2006-01-13 | 2014-03-18 | Essex Pa, L.L.C. | Identification of text |
JP2012164051A (ja) * | 2011-02-04 | 2012-08-30 | Jvc Kenwood Corp | ナンバープレート文字認識装置及びナンバープレート文字認識方法 |
KR20120127000A (ko) * | 2011-05-13 | 2012-11-21 | 삼성전자주식회사 | 문자인식을 이용한 이미지 관리 장치 및 그 방법 |
KR101403876B1 (ko) * | 2012-03-19 | 2014-06-09 | 한밭대학교 산학협력단 | 차량 번호판 인식 방법과 그 장치 |
JP6208094B2 (ja) * | 2014-08-26 | 2017-10-04 | 株式会社東芝 | 情報処理装置、情報処理システム、情報処理方法及びそのプログラム |
JP6325401B2 (ja) * | 2014-09-17 | 2018-05-16 | 株式会社東芝 | 情報処理装置、画像変更方法及びプログラム |
CN105574513B (zh) * | 2015-12-22 | 2017-11-24 | 北京旷视科技有限公司 | 文字检测方法和装置 |
CN107203765B (zh) * | 2017-03-30 | 2023-08-25 | 腾讯科技(上海)有限公司 | 敏感图像检测方法和装置 |
CN108304835B (zh) * | 2018-01-30 | 2019-12-06 | 百度在线网络技术(北京)有限公司 | 文字检测方法和装置 |
-
2018
- 2018-09-21 KR KR1020180114369A patent/KR102211763B1/ko active IP Right Grant
-
2019
- 2019-07-17 WO PCT/KR2019/008820 patent/WO2020060019A1/ko active Application Filing
- 2019-07-17 CN CN201980061869.8A patent/CN112868021A/zh active Pending
- 2019-07-17 JP JP2021515507A patent/JP7198350B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101805318B1 (ko) * | 2016-11-01 | 2017-12-06 | 포항공과대학교 산학협력단 | 텍스트 영역 식별 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
JP7198350B2 (ja) | 2022-12-28 |
WO2020060019A1 (ko) | 2020-03-26 |
CN112868021A (zh) | 2021-05-28 |
KR20200036098A (ko) | 2020-04-07 |
JP2022501719A (ja) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102211763B1 (ko) | 글자 검출 장치, 방법 및 시스템 | |
US11768974B2 (en) | Building information model (BIM) element extraction from floor plan drawings using machine learning | |
US10354168B2 (en) | Systems and methods for recognizing characters in digitized documents | |
US10997463B2 (en) | Training text recognition systems | |
CA3204361A1 (en) | Image processing method, image processing apparatus, and non-transitory storage medium | |
CN111488826A (zh) | 一种文本识别方法、装置、电子设备和存储介质 | |
RU2621601C1 (ru) | Устранение искривлений изображения документа | |
JP2017516204A (ja) | 美的要素を備える機械読み取り可能な光学式コードの生成および復号化 | |
CN113359986B (zh) | 增强现实数据展示方法、装置、电子设备及存储介质 | |
CN107545223B (zh) | 图像识别方法及电子设备 | |
US20220318541A1 (en) | Dynamic head for object detection | |
US10977511B2 (en) | Optical character recognition of series of images | |
US20230067934A1 (en) | Action Recognition Method, Apparatus and Device, Storage Medium and Computer Program Product | |
US20230118361A1 (en) | User input based distraction removal in media items | |
KR102206604B1 (ko) | 글자 인식 장치 및 이에 의한 글자 인식 방법 | |
CN113658195B (zh) | 图像分割方法、装置及电子设备 | |
KR102351578B1 (ko) | 글자 인식 장치 및 이에 의한 글자 인식 방법 | |
WO2021142765A1 (en) | Text line detection | |
CN113537187A (zh) | 文本识别方法、装置、电子设备及可读存储介质 | |
US20240104951A1 (en) | Image and semantic based table recognition | |
CN113591845A (zh) | 一种多题型识别方法、装置和计算机设备 | |
KR20220165634A (ko) | 폰트 인식을 위한 신경망 학습 데이터 생성 및 학습 결과를 반영한 생성 조건의 동적 설정 방법 | |
CN114120305A (zh) | 文本分类模型的训练方法、文本内容的识别方法及装置 | |
CN110580336A (zh) | 唇语的分词方法、装置、存储介质和电子设备 | |
US20240169701A1 (en) | Affordance-based reposing of an object in a scene |
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 |