KR101917525B1 - 문자열 식별 방법 및 장치 - Google Patents

문자열 식별 방법 및 장치 Download PDF

Info

Publication number
KR101917525B1
KR101917525B1 KR1020170084954A KR20170084954A KR101917525B1 KR 101917525 B1 KR101917525 B1 KR 101917525B1 KR 1020170084954 A KR1020170084954 A KR 1020170084954A KR 20170084954 A KR20170084954 A KR 20170084954A KR 101917525 B1 KR101917525 B1 KR 101917525B1
Authority
KR
South Korea
Prior art keywords
probability
character
image
probability map
character string
Prior art date
Application number
KR1020170084954A
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 KR1020170084954A priority Critical patent/KR101917525B1/ko
Application granted granted Critical
Publication of KR101917525B1 publication Critical patent/KR101917525B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/63Scene text, e.g. street names
    • G06K9/3258
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06K9/2054
    • G06K9/481
    • G06K9/6226
    • 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/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

문자열 식별 방법 및 장치가 개시된다. 개시된 문자열 식별 방법은, 대상 이미지로부터 미리 정해진 간격으로 복수의 제1 부분 이미지들을 추출하는 단계, 상기 복수의 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산하여, 제1 확률 맵을 생성하는 단계, 상기 제1 확률 맵에 기초하여, 상기 대상 이미지에서 문자열의 세로 방향 위치를 추정하는 단계, 상기 세로 방향 위치를 기준으로 복수의 제2 부분 이미지들을 추출하는 단계, 상기 복수의 제2 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산하여, 제2 확률 맵을 생성하는 단계 및 상기 제2 확률 맵에 기초하여, 상기 문자열의 위치 및 문자 간격을 획득하는 단계를 포함한다.

Description

문자열 식별 방법 및 장치{METHOD AND APPARATUS FOR IDENTIFYING STRING}
본 발명은 문자열 식별 방법 및 장치에 관한 것으로, 더욱 상세하게는 대상 이미지에서 문자열의 위치를 식별하는 방법 및 장치에 관한 것이다.
최근 무인화 기술의 발전에 따라 촬영 영상에서 텍스트 이미지를 인식하는 기술이 요구되고 있다. 예를 들어, 제철소와 같은 산업 현장에서는 많은 양의 슬라브 관리를 자동화 시키기 위해, 관리번호를 자동으로 인식하는 기술이 요구되고 있다.
영상 이미지에서 텍스트를 인식하기 위해 여러 가지 영상 처리 기법들이 개발되고 있다. 그 중 하나로 규칙 기반의 영상처리 기법이 있다. 하지만, 규칙 기반의 영상 처리 기법은 기반이 되는 수치 설계가 요구되며, 수치들을 설계하는 전문가의 영향을 많이 받는다. 또한, 영상 이미지의 가변성을 반영하지 못하여 정확도가 떨어지는 문제가 있다.
이러한 문제점을 보완하기 위해 최근 기계학습 기반의 영상처리 기법이 개발되고 있다. 문자열 인식은 방법적인 측면에서 단계별 인식(stepwise methodology)과 통합인식(integrated methodology)으로 분류할 수 있다. 단계별 인식은 문자열 영역 검출, 개별문자 분리, 개별문자 인식 등의 과정을 통해 문자열을 인식하는 방법이며, 통합인식은 하나의 모듈에서 문자열에 대한 정보를 공유하며 문자열 영역검출과 인식을 동시에 하는 방법이다. 알고리즘 처리시간의 효율측면에서는 단계별 인식이, 정확도의 측면에서는 통합인식이 효과적이라고 알려져 있으며, 두 방법이 섞여서 사용되기도 한다.
이에, 제철소와 같은 고온 환경에서는 이미지의 품질이 좋지 않은 반면, 문자열 인식에 높은 정확도가 요구된다. 따라서, 문자열을 정확하고 효율적으로 인식할 수 있는 기술이 요구된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 대상 이미지에서 높은 신뢰도로 문자열을 식별하는 방법 및 장치를 제공하는 데 있다.
일 실시예에 따르면, 대상 이미지에서 문자열을 식별하는 방법에 있어서,
상기 대상 이미지로부터 미리 정해진 간격으로 복수의 제1 부분 이미지들을 추출하는 단계; 상기 복수의 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산하여, 제1 확률 맵을 생성하는 단계; 상기 제1 확률 맵에 기초하여, 상기 대상 이미지에서 문자열의 세로 방향 위치를 추정하는 단계; 상기 세로 방향 위치를 기준으로 복수의 제2 부분 이미지들을 추출하는 단계; 상기 복수의 제2 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산하여, 제2 확률 맵을 생성하는 단계; 상기 제2 확률 맵에 기초하여, 상기 문자열의 위치 및 문자 간격을 획득하는 단계;를 포함하는 문자열 식별 방법이 제공된다.
상기 문자열의 세로 방향 위치를 추정하는 단계는,
상기 제1 확률 맵의 각 행(row)에 포함된 픽셀들이 텍스트 영역으로 분류될 확률 값들을 합산함으로써, 가로 투영 프로파일을 계산하고, 상기 가로 투영 프로파일에 기초하여, 상기 문자열의 세로 방향 위치를 추정할 수 있다.
상기 제2 부분 이미지들을 추출하는 단계는,
상기 대상 이미지에서, 상기 세로 방향 위치를 기준으로 적어도 하나의 서브 이미지를 추출하고, 상기 적어도 하나의 서브 이미지에서 상기 제2 부분 이미지들을 추출할 수 있다.
상기 제2 부분 이미지들 사이의 간격은, 상기 제1 부분 이미지들 사이의 간격보다 작게 설정될 수 있다.
상기 제2 확률 맵을 생성하는 단계는,
상기 제2 부분 이미지들 각각이 배경 또는 문자들 각각으로 분류될 확률 값들을 나타내는 확률 벡터들을 계산함으로써, 상기 제2 확률 맵을 생성할 수 있다.
상기 문자열의 가로 위치 및 문자 간격을 결정하는 단계는,
상기 제2 확률 맵의 인접한 픽셀들에 대응하는 확률 벡터들의 합으로부터 중첩 확률 맵을 생성하고, 상기 중첩 확률 맵으로부터 문자열의 가로 위치 및 문자 간격을 결정할 수 있다.
상기 중첩 확률 맵은 수학식 1에 의해 생성될 수 있다.
Figure 112017064090483-pat00001
... 수학식 1
(Ra(i,j) = 중첩 확률 맵의 j번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률, n(j)는 j번째 픽셀에 인접한 픽셀들의 집합, |n(j)|=n(j)의 원소 개수, R(i,k)=제2 확률 맵의 k번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률)
상기 중첩 확률 맵은 수학식 2에 의해 생성될 수 있다.
Figure 112017064090483-pat00002
...수학식 2
(Ra(i,j) = 중첩 확률 맵의 j번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률, n(j)는 j번째 픽셀에 인접한 픽셀들의 집합, |n(j)|=n(j)의 원소 개수, R(i,k)=제2 확률 맵의 k번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률)
상기 문자열의 위치 및 문자 간격을 획득하는 단계는,
상기 중첩 확률 맵에 기초하여, 문자열의 위치 및 문자 간격에 따른 문자열 평가 점수를 계산함으로써, 상기 문자열의 위치 및 문자 간격을 획득할 수 있다.
상기 문자열의 위치 및 문자 간격을 획득하는 단계는,
상기 문자열 평가 점수가 최대가 되도록 하는 문자열의 위치 및 문자 간격을 획득할 수 있다.
상기 제2 확률 맵을 계산하는 단계는,
심층 컨볼루셔널 신경망(Deep Convolutional Neural Networks)을 이용하여 상기 제2 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산할 수 있다.
상기 제2 확률 맵을 계산하는 단계는,
필터 커널을 이용하여 상기 제2 부분 이미지에 대한 컨볼루션 이미지를 추출하고, 및 상기 컨볼루션 이미지에 대한 풀링(pooling)을 실시할 수 있다.
상기 문자열 식별 방법은, 복수의 학습 이미지들 및 상기 복수의 학습 이미지들에 대한 라벨링 정보를 포함하는 학습 데이터를 이용하여, 상기 심층 컨볼루셔널 신경망을 학습시키는 단계;를 더 포함할 수 있다.
상기 문자열 식별 방법은, 상기 복수의 학습 이미지들 중 문자로 라벨링된 학습 이미지의 일부를 잘라내거나, 상기 문자로 라벨링된 학습 이미지를 확장하여 추가 학습 이미지를 생성함으로써, 학습 데이터를 확장하는 단계;를 더 포함할 수 있다.
상기 학습 데이터를 확장하는 단계는,
상기 추가 학습 이미지의 크기를 미리 정해진 크기로 변경할 수 있다.
본 발명의 실시예에 따른, 철강영상에 포함된 문자열을 식별하는 방법은, 상기 철강 영상으로부터 미리 정해진 간격으로 복수의 제1 부분 이미지들을 추출하는 단계; 상기 복수의 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산하여, 제1 확률 맵을 생성하는 단계; 상기 제1 확률 맵에 기초하여, 상기 대상 이미지에서 문자열의 세로 방향 위치를 추정하는 단계; 상기 세로 방향 위치를 기준으로 복수의 제2 부분 이미지들을 추출하는 단계; 상기 복수의 제2 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산하여, 제2 확률 맵을 생성하는 단계; 상기 제2 확률 맵의 인접한 픽셀들에 대응하는 확률 벡터들의 합으로부터 중첩 확률 맵을 생성하는 단계; 상기 중첩 확률 맵에 기초하여, 문자열의 위치 및 문자 간격에 따른 문자열 평가 점수를 계산하는 단계; 및 상기 제2 확률 맵에 기초하여, 상기 문자열의 위치 및 문자 간격을 획득하는 단계;를 포함할 수 있다.
상기 중첩 확률 맵은 수학식 3에 의해 생성될 수 있다.
Figure 112017064090483-pat00003
...수학식 3
(Ra(i,j) = 중첩 확률 맵의 j번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률, n(j)는 j번째 픽셀에 인접한 픽셀들의 집합, |n(j)|=n(j)의 원소 개수, R(i,k)=제2 확률 맵의 k번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률)
상기 문자열 평가 점수는 수학식 4에 의해 계산될 수 있다.
Figure 112017064090483-pat00004
....수학식 4
(C={0, 1, 2, 3, 4, 5, 7, 8, 9}, s=중첩 확률 맵에서 문자열의 시작 위치, w=문자 간격)
상기 문자열의 위치 및 문자 간격을 획득하는 단계는,
상기 문자열 평가 점수가 최대가 되도록 하는 문자열의 위치 및 문자 간격을 획득할 수 있다.
본 발명의 실시예에 따른, 대상 이미지에서 문자열을 식별하는 장치는, 프로세서(processor); 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory);를 포함하고,
상기 적어도 하나의 명령은, 상기 대상 이미지로부터 미리 정해진 간격으로 복수의 제1 부분 이미지들을 추출하고; 상기 복수의 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산하여, 제1 확률 맵을 생성하고; 상기 제1 확률 맵에 기초하여, 상기 대상 이미지에서 문자열의 세로 방향 위치를 추정하고; 상기 세로 방향 위치를 기준으로 복수의 제2 부분 이미지들을 추출하고; 상기 복수의 제2 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산하여, 제2 확률 맵을 생성하고; 상기 제2 확률 맵에 기초하여, 상기 문자열의 위치 및 문자 간격을 획득하도록 수행될 수 있다.
개시된 실시예들에 따르면, 제1 확률 맵에 대한 가로 투영 프로파일을 이용하여, 문자열의 세로 방향 위치를 추정하고, 추정된 세로 방향 위치에서 제2 패치 이미지들을 추출할 수 있다. 이를 통해, 부분 이미지들의 추출 개수를 줄임으로써, 계산량과 계산 시간을 줄일 수 있다. 또한, 중첩 확률 맵을 이용하여, 문자열 식별의 정확도를 높일 수 있다. 또한, 문자열 평가 점수를 이용하여 문자열의 위치와, 문자 간격을 알 수 있다. 또한, 문자열 평가 점수에서 문자열에 포함된 문자들의 정보를 획득할 수 있다.
도 1은 예시적인 실시예에 따른 문자열 영역 식별 장치(100)를 나타낸 블록도이다.
도 2는 도 1에서 나타낸 문자열 식별 장치(100)가 대상 이미지에서 문자열을 식별하는 방법을 나타낸 순서도이다.
도 3은 프로세서(110)가 대상 이미지에서 제1 부분 이미지들을 추출하는 것을 나타낸 개념도이다.
도 4는 프로세서(110)가 문자열의 세로 방향 위치를 추정하는 과정을 나타낸 개념도이다.
도 5는 프로세서(110)가 대상 이미지에서 적어도 하나의 서브 이미지를 추출하는 것을 나타낸 개념도이다.
도 6은 프로세서(110)가 제1 서브 이미지(SI1)에서 복수의 제2 부분 이미지들을 추출하는 것을 나타낸 개념도이다.
도 7은 일반적인 문자 인식에서 발생할 수 있는 문제점을 나타낸 개념도이다.
도 8은 일반적인 문자 인식에서 발생할 수 있는 문제점을 나타낸 개념도이다.
도 9는 부분 이미지에 인접한 부분 이미지들을 나타낸 도면이다.
도 10은 중첩 확률 맵의 효과를 나타낸 도면이다.
도 11은 제철소의 철강영상을 나타낸 도면이다.
도 12는 문자열의 다른 예를 나타낸 이미지이다.
도 13은 심층 컨볼루셔널 신경망의 컨볼루셔널 레이어(Convolutional Layer)에 의해 이미지의 특성을 추출하는 것을 나타내는 개념도이다.
도 14는 프로세서(110)가 도 5에서 나타낸 이미지(OI)로부터 컨볼루션 이미지를 추출한 것을 나타낸 개념도이다.
도 15은 부분 이미지에 대한 확률 벡터를 출력하는 심층 컨볼루셔널 신경망을 예시적으로 나타낸 개념도이다.
도 16는 심층 컨볼루셔널 신경망의 규격에 따른 파라미터들 개수의 변화를 나타낸 테이블이다.
도 17는 본 발명의 추가적인 실시예에 따른 문자열 식별 방법을 나타낸 순서도이다.
도 18은 프로세서(110)가 학습 데이터를 확장하는 예를 나타낸 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 대상 이미지는 분석 대상이 되는 이미지를 의미하며, 영상 이미지 혹은 사진 이미지를 포함할 수 있다. 학습 이미지란 프로세서(110)에 의해 수행되는 딥러닝 알고리즘을 학습시키기 위한 이미지를 의미한다. 메모리(120)는 학습 이미지에 대해 미리 부여된 라벨링 정보를 저장할 수 있다. 부분 이미지란, 대상 이미지 또는 학습 이미지에서 추출된 이미지를 의미한다. 대상 이미지에서 추출된 부분 이미지는 대상 이미지의 부분 이미지로서 대상 이미지보다 작은 수의 픽셀들을 포함한다.
도 1은 예시적인 실시예에 따른 문자열 영역 식별 장치(100)를 나타낸 블록도이다.
도 1을 참조하면, 예시적인 실시예에 따른 문자열 식별 장치(100) 적어도 하나의 프로세서(110), 메모리(120) 및 저장 장치(125) 등을 포함할 수 있다.
프로세서(110)는 메모리(120) 및/또는 저장 장치(125)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphics processing unit; GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)와 저장 장치(160)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다.
메모리(120)는 프로세서(110)를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다. 적어도 하나의 명령은 대상 이미지로부터 복수의 부분 이미지들을 추출하는 명령과, 복수의 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산하는 명령 등을 포함할 수 있다.
메모리(120)에 저장된 명령들은 프로세서(110)의 기계 학습에 의해 업데이트될 수 있다. 프로세서(110)는 기계 학습에 의해 메모리에 저장된 명령을 변경할 수 있다. 프로세서(110)가 수행하는 기계 학습은 지도 학습 방식에 의해 이루어질 수 있다.
프로세서(110)는 메모리(120)에 저장된 명령에 따라 이미지 획득부(10)로부터 대상 이미지를 수신할 수 있다. 이미지 획득부(10)는 촬영 장치일 수 있다. 이미지 획득부(10)는 촬영한 이미지를 대상 이미지로 프로세서(110)에 전송할 수 있다. 다른 예로, 이미지 획득부(10)는 사용자로부터 이미지를 수신하고, 수신된 이미지를 대상 이미지로 프로세서(110)에 전송할 수 있다.
이하에서는 도 2를 참조하여 설명한 문자열 식별 장치(100)가 대상 이미지에서 문자열을 식별하는 방법에 관하여 설명한다.
도 2는 도 1에서 나타낸 문자열 식별 장치(100)가 대상 이미지에서 문자열을 식별하는 방법을 나타낸 순서도이다.
도 2를 참조하면, S120 단계에서, 프로세서(110)는 이미지 획득부(10)로부터 대상 이미지를 획득할 수 있다. 대상 이미지가 영상인 경우, 프로세서(110)는 대상 이미지의 프레임 별로 문자열을 식별할 수 있다. 프로세서(110)는 대상 이미지에서 복수의 제1 부분 이미지들을 추출할 수 있다. 제1 부분 이미지는 복수의 픽셀을 포함할 수 있다. 제1 부분 이미지는 대상 이미지보다 작은 수의 픽셀을 포함할 수 있다.
도 3은 프로세서(110)가 대상 이미지에서 제1 부분 이미지들을 추출하는 것을 나타낸 개념도이다.
도 3을 참조하면, 프로세서(110)는 대상 이미지(TI)에서 복수의 제1 부분 이미지들(PI1)을 추출할 수 있다. 프로세서(110)는 제1 부분 이미지들(PI1) 각각을 추출하는 위치를 변경할 수 있다. 예를 들어, 제1 부분 이미지들(PI1) 각각은 80x56 픽셀 들을 포함할 수 있다. 또한, 인접한 제1 부분 이미지들(PI1)은 가로 방향으로 28 픽셀 또는 세로 방향으로 12 픽셀만큼 이격되어 있을 수 있다. 제1 부분 이미지들(PI1) 사이의 간격은 후술하는 제2 부분 이미지들 사이 간격보다 크게 설정될 수 있다. 즉, 같은 영역 안에서 제1 부분 이미지들(PI1)의 개수가 제2 부분 이미지들의 개수보다 작을 수 있다. 상술한 수치들은 이해를 돕기 위해 예시적으로 제시한 것에 불과하며, 실시예가 이에 제한되는 것은 아니다.
다시 도 2를 참조하면, S130 단계에서, 프로세서(110)는 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산하여, 제1 확률 맵을 생성할 수 있다. 프로세서(110)는 심층 컨볼루셔널 신경망(Deep Convolutional Neural Networks)을 이용하여, 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산할 수 있다. 심층 컨볼루셔널 신경망은 정해진 크기의 부분 이미지를 입력 받고, 입력 받은 부분 이미지가 문자로 분류될 확률을 출력할 수 있다. 심층 컨볼루셔널 신경망은 학습 데이터에 의해 훈련될 수 있다. 심층 컨볼루셔널 신경망의 구조는 후술하는 설명에서 보다 상세히 다룬다.
대상 이미지가 M×N 개의 픽셀들을 포함하는 경우, 프로세서(110)는 대상 이미지로부터 m×n개의 제1 부분 이미지들을 추출할 수 있다. 만약, 제1 부분 이미지가 80×56 픽셀들을 포함하고, 인접한 제1 부분 이미지들(PI1)이 가로 방향으로 28 픽셀 또는 세로 방향으로 12 픽셀만큼 이격되는 경우, m=[(M-80)/12]+1, n=[(N-56)/28]+1 일 수 있다. 여기서, [x]는 x보다 작거나 같은 최대 정수를 의미한다.
제1 확률 맵의 픽셀들 개수는 제1 부분 이미지들의 개수와 같을 수 있다. 따라서, 제1 확률 맵은 m×n 개의 픽셀들을 포함할 수 있다. 제1 확률 맵의 픽셀들 각각은 하나의 제1 부분 이미지에 대응할 수 있다. 제1 확률 맵은 픽셀들 각각에 대응하는 제1 부분 이미지가 문자로 분류될 확률 정보를 포함할 수 있다.
S140 단계에서, 프로세서(110)는 제1 확률 맵에 기초하여, 문자열의 세로 방향 위치를 추정할 수 있다.
도 4는 프로세서(110)가 문자열의 세로 방향 위치를 추정하는 과정을 나타낸 개념도이다.
도 4를 참조하면, 프로세서(110)는 대상 이미지에서 복수의 제1 부분 이미지들을 추출할 수 있다. 프로세서(110)는 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산할 수 있다. 프로세서(110)는 제1 부분 이미지들 각각이 문자로 분류될 확률에 기초하여, 제1 확률 맵을 생성할 수 있다. 도 4에서 제1 확률 맵에서 문자로 분류될 확률이 높은 픽셀은 밝게 표시되고, 문자로 분류될 확률이 낮은 픽셀은 어둡게 표시될 수 있다. 제1 확률 맵의 픽셀들 각각은 제1 부분 이미지에 대응될 수 있다.
프로세서(110)는 제1 확률 맵의 행(row) 별로 픽셀들이 문자로 분류되는 확률 값들을 합산하여 가로 투영프로파일(horizontal projection profile)을 계산할 수 있다. 프로세서(110)는 가로 투영프로파일에서 중첩 확률 값이 가장 높은 세로 방향 위치를 결정할 수 있다. 프로세서(110)는 가로 투영프로파일이 가로 투영프로파일에서 중첩 확률 값이 최대가 되는 세로 방향 위치를 문자열의 세로 방향 위치로 추정할 수 있다.
다시 도 2를 참조하면, S150 단계에서, 프로세서(110)는 대상 이미지의 세로 방향 위치를 기준으로, 복수의 제2 부분 이미지들을 추출할 수 있다. 프로세서(110) 대상 이미지의 세로 방향 위치 근처에서 제2 부분 이미지들을 추출할 수 있다. 프로세서(110)는 세로 방향 위치에서 세로 방향으로 미리 정해진 간격 이상 벗어난 영역에서는 제2 부분 이미지들을 추출하지 않을 수 있다. 따라서, 프로세서(110)가 추출하는 제2 부분 이미지들의 개수가 줄어들고, 연산 과정이 간소화 될 수 있다.
프로세서(110)는 S140 단계에서 추정한 세로 방향 위치를 기준으로, 대상 이미지에서 적어도 하나의 서브 이미지를 추출할 수 있다.
도 5는 프로세서(110)가 대상 이미지에서 적어도 하나의 서브 이미지를 추출하는 것을 나타낸 개념도이다.
도 5를 참조하면, 프로세서(110)는 추정된 세로 방향 위치에서 적어도 하나의 서브 이미지(SI1, SI2, SI3)를 추출할 수 있다. 서브 이미지들(SI1, SI2, SI3)의 세로 방향 크기는 제1 부분 이미지들의 세로 방향 크기와 같을 수 있다. 서브 이미지들(SI1, SI2, SI3)의 가로 방향 크기는 대상 이미지(TI)의 가로 방향 크기와 같을 수 있다. 프로세서(110)는 세로 방향으로 위치를 변경해가면서, 서브 이미지들(SI1, SI2, SI3)을 추출할 수 있다. 프로세서(110)는 서브 이미지들(SI1, SI2, SI3) 각각에서 제2 부분 이미지들을 추출할 수 있다. 프로세서(110)는 서브 이미지들(SI1, SI2, SI3) 각각에서 가로 방향으로 위치를 변경해가면서, 제2 부분 이미지들을 추출할 수 있다.
프로세서(110)는 제1 부분 이미지들의 세로 간격보다 작은 간격으로 서브 이미지들(SI1, SI2, SI3)을 추출할 수 있다. 예를 들어, 인접한 제1 부분 이미지들 사이의 세로 간격이 12 픽셀인 경우, 프로세서(110)는 4 픽셀 간격으로, 서브 이미지들을 추출할 수 있다. 프로세서(110)는 추정된 세로 방향 위치에서 제1 서브 이미지(SI1)를 추출하고, 세로 방향 위치에서 4 픽셀만큼 위로 이동한 위치에서 제2 서브 이미지(SI2)를 추출하고, 세로 방향 위치에서 4 픽셀만큼 아래로 이동한 위치에서 제3 서브 이미지(SI3)를 추출할 수 있다.
프로세서(110)는 서브 이미지들(SI1, SI2, SI3) 각각에서 복수의 제2 부분 이미지들을 추출할 수 있다. 도 6은 프로세서(110)가 제1 서브 이미지(SI1)에서 복수의 제2 부분 이미지들을 추출하는 것을 나타낸 개념도이다.
도 6을 참조하면, 프로세서(110)는 제1 서브 이미지(SI1)에서 가로 방향으로 위치를 변경해가면서, 제2 부분 이미지들을 추출할 수 있다. 제2 부분 이미지(PI2)의 크기는 제1 부분 이미지(PI1)의 크기와 같을 수 있다. 제2 부분 이미지들(PI2) 사이의 가로 간격은, 제1 부분 이미지들(PI1) 사이의 가로 간격보다 작을 수 있다. 예를 들어, 제1 부분 이미지들(PI1) 사이의 가로 간격이 28 픽셀이고, 제2 부분 이미지들(PI2) 사이의 가로 간격은 2 픽셀일 수 있다. 상술한 수치는 이해를 돕기 위한 예시일 뿐, 실시예를 제한하는 것은 아니다.
제2 부분 이미지들(PI2) 사이의 세로 간격은, 서브 이미지들(SI1, SI2, SI3) 사이의 세로 간격과 같을 수 있다. 제2 부분 이미지들(PI2) 사이의 세로 간격은 제1 부분 이미지들(PI1) 사이의 세로 간격보다 작을 수 있다. 프로세서(110)가 제1 부분 이미지들(PI1)로부터 획득한 제1 확률 맵으로부터 문자열의 세로 방향 위치를 추정하고, 추정된 세로 방향 위치를 기준으로 제2 부분 이미지들(PI2)을 추출하면, 대상 이미지 전체를 작은 간격으로, 제2 부분 이미지들(PI2)을 추출한 것과 거의 동일한 효과를 얻을 수 있다. 프로세서(110)는 대상 이미지보다 작은 영역에서 상대적으로 작은 간격으로 제2 부분 이미지들(PI2)을 추출함으로써, 문자열 인식에 요구되는 계산량과 처리 시간을 줄일 수 있다.
상술한 수치들은 설명을 돕기 위해 예시적으로 제시한 것에 불과하며, 실시예가 이에 제한되는 것은 아니다. 제1 부분 이미지들 사이 간격과, 서브 이미지들 사이 간격은 수학식 1에 의해서 나타낼 수도 있다.
Figure 112017064090483-pat00005
수학식 1에서 dc는 제
1 부분 이미지들 사이의 세로 간격을 의미하고, df는 서브 이미지들 사이의 세로 간격을 의미한다. 서브 이미지들 세로 간격은 제2 부분 이미지들 사이의 세로 간격과 같을 수 있다. 또한, k는 임의의 자연수를 의미한다.
제1 부분 이미지들 사이 간격과, 서브 이미지들 사이 간격이 수학식 1을 만족할 때, 서브 이미지들의 세로 방향 위치는 수학식 2에 의해 결정될 수 있다.
Figure 112017064090483-pat00006
수학식 2에서 V는 서브 이미지들의 세로 방향 위치 좌표들의 집합을 의미한다. v0는 S140 단계에서, 제1 확률 맵으로부터 추정된 문자열의 세로 방향 위치를 의미한다. 수학식 1 및 2를 참조하면, 서브 이미지들의 세로 간격은 제1 패치 이미지들의 세로 간격보다 작을 수 있다. 또한, 가장 위에 있는 서브 이미지와 가장 아래 있는 서브 이미지 사이의 세로 간격은, 제1 부분 이미지들의 세로 간격과 같을 수 있다.
다시 도 2를 참조하면, S160 단계에서, 프로세서(110)는 제2 부분 이미지들(PI2) 각각이 문자 또는 배경으로 분류될 확률을 계산하여, 제2 확률 맵을 생성할 수 있다. 프로세서(110)는 제2 부분 이미지들(PI2) 각각이 배경 또는 문자들 각각으로 분류될 확률 값들을 나타내는 확률 벡터들을 계산할 수 있다. 제2 확률 맵의 픽셀들은 제2 부분 이미지들(PI2) 각각에 대응할 수 있다. 제2 확률 맵은 픽셀들 각각에 대응하는 제2 부분 이미지들(PI2)의 확률 벡터 정보를 포함할 수 있다.
제2 확률 맵은 R(i,j)로 표현될 수 있다. 인덱스 j는 제2 확률 맵의 픽셀을 나타내는 인덱스이다. 인덱스 i는 i번째 문자를 나타내는 인덱스이다. 예를 들어, 철강영상에서 포함될 수 있는 문자들은 알파벳 B와, 숫자 0 내지 9일 수 있다. 따라서, 이들 문자들을 나타내는 인덱스 i는 0 내지 10 값을 가질 수 있다. 상술한 설명은 이해를 돕기 위한 예시에 불과할 뿐, 대상 이미지에 포함될 수 있는 문자들의 개수는 변할 수 있으며, 이에 따라 인덱스 i 값의 범위도 변할 수 있다.
R(i,j)는 제2 확률 맵의 j 번째 픽셀에 대응하는 제2 부분 이미지가 i 번째 문자로 분류될 확률을 의미한다.
S170 단계에서, 프로세서(110)는 중첩 확률 맵을 생성할 수 있다. 프로세서(110)는 제2 확률 맵의 인접한 픽셀들에 대응하는 확률 벡터들의 합으로부터 중첩 확률 맵을 생성할 수 있다.
도 7은 일반적인 문자 인식에서 발생할 수 있는 문제점을 나타낸 개념도이다.
도 7(a)는 부분 이미지들이 추출되는 예를 나타내고, 도 7(b)는 부분 이미지들의 문자열 반응도를 나타낸다. 문자열 반응도는 부분 이미지가 문자들 각각으로 분류될 확률을 나타낸다. 문자열 반응도에서 밝은 부분은 높은 확률을 나타내고, 어두운 부분은 낮은 확률을 나타낸다. 문자열 반응도에서 세로 방향 위치는 문자의 종류를 나타낸다.
도 7을 참조하면, 같은 문자라도, 부분 이미지를 추출하는 위치에 따라 서로 다른 문자로 인식될 가능성이 있다. 예를 들어, 부분 이미지 PI-1은 숫자 '4'로 분류될 확률이 높은 반면, 부분 이미지 PI-2는 숫자 '1'로 분류될 확률이 높을 수 있다. 즉, 부분 이미지를 추출하는 위치에 따라 같은 문자가 서로 다르게 인식될 가능성이 있다.
도 8은 일반적인 문자 인식에서 발생할 수 있는 문제점을 나타낸 개념도이다.
도 8(a)는 서로 다른 위치에서 추출된 부분 이미지들을 나타낸다. 도 8(b) 내지 도 8(d)는 서로 다른 세로 방향 위치에서 본 문자열 이미지들을 나타낸다. 도 8(a)를 참조하면, 부분 이미지 PI-3과, PI-4 자체로만 보면, 두 부분 이미지 각각이 어느 문자의 일부인지 구분이 어려울 수 있다. 또한, 부분 이미지 PI-4, PI-5의 경우, 숫자 '6'의 일부인지 또는 숫자'9'의 일부인지 구분이 어려울 수 있다.
하지만, 도 8(b)에서 보는 바와 같이, 부분 이미지의 주변 영상을 참고하면, 문자 식별이 더 용이해질 수 있다.
도 9는 부분 이미지에 인접한 부분 이미지들을 나타낸 도면이다.
도 9를 참조하면, 숫자 '6'을 나타내는 부분 이미지 PI-C를 중심으로, 부분 이미지 PI-C에 인접한 나머지 부분 이미지들도 숫자 '6'으로 분류될 확률이 높을 수 있다. 즉, 특정 부분 이미지가 특정 문자로 올바르게 분류된다면, 특정 부분 이미지에 인접한 부분 이미지들도 같은 문자로 분류될 확률이 높을 수 있다. 이러한 점을 이용하여, 본 발명의 실시예에서는, 중첩 확률 맵을 이용할 수 있다.
예시적으로, 프로세서(110)는 수학식 3에 의해 중첩 확률 맵을 생성할 수 있다.
Figure 112017064090483-pat00007
수학식 3에서, Ra(i,j)는 중첩 확률 맵의 j번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률을 의미한다. n(j)는 j번째 픽셀에 인접한 픽셀들의 집합을 의미하고, |n(j)|는 n(j)의 원소 개수를 의미한다. R(i,k)=제2 확률 맵의 k번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률을 의미한다.
수학식 3을 참조하면, 프로세서(110)는 제2 확률 맵의 각 픽셀 별로, 인접한 픽셀들의 확률 벡터들을 합산하여, 중첩 확률 맵을 생성할 수 있다. 프로세서(110)가 중첩 확률 맵을 이용하게 되면, 제2 확률 맵에서 인접한 픽셀들이 서로 다른 문자열로 분류되는 경우 발생하는 에러를 줄일 수 있다.
중첩 확률 맵의 생성 방식은 수학식 3에 제한되지 않는다. 예를 들어, 프로세서(110)는 수학식 4를 이용하여, 중첩 확률 맵을 생성할 수도 있다.
Figure 112017064090483-pat00008
수학식 4를 참조하면, 프로세서(110)는 R(i,j)가 0.5 미만일 경우, R(i,j)의 누적 값을 Ra(i,j)로 결정하지 않고, R(i,j)를 -1로 결정할 수 있다. 즉, 프로세서(110)는 제2 부분 이미지가 문자로 분류될 확률이 미리 정해진 기준 값 미만인 경우는, 제2 부분 이미지가 배경으로 분류될 것으로 예측하고, Ra(i,j)를 페널티 값인 -1로 결정할 수 있다. 수학식 4에서는 기준 값을 0.5로, 페널티 값을 -1로 두었지만, 이는 예시적인 것에 불과하며, 구체적인 수치는 변할 수 있다. 상술한 바와 같이, 프로세서(110)가 일정 조건이 충족되지 않을 경우, Ra(i,j)에 페널티 값을 부여함으로써, 배경 부분이 문자로 오분류 되는 것을 방지할 수 있다.
도 10은 중첩 확률 맵의 효과를 나타낸 도면이다.
도 10의 (b)는 중첩 확률 맵을 이용하지 않은 경우, 문자열 반응도를 나타내고, 도 10의 (c)는 중첩 확률 맵을 이용하는 경우, 문자열 반응도를 나타낸다. 도 10(b)에서는 부분 이미지 PI-2가 숫자 '1'로 분류될 확률이 크게 계산될 수 있다. 하지만, 도 10(c)에서는 인접한 부분 이미지들이 고려되어, 오분류 확률이 줄어들 수 있다.
다시 도 2를 참조하면, S180 단계에서, 프로세서(110)는 중첩 확률 맵을 이용하여, 문자열의 위치 및 문자 사이 간격을 획득할 수 있다. 문자 사이 간격이란 문자열 안에서 문자들 사이 간격을 의미할 수 있다. 프로세서(110)는 중첩 확률 맵을 이용하여, 문자열 평가 점수를 계산할 수 있다. 문자열 평가 점수는 분석하고자 하는 문자열의 구조에 따라 달라질 수 있다.
도 11은 제철소의 철강영상을 나타낸 도면이다.
도 11을 참조하면, 제철소에서 사용되는 문자열은 총 9개의 문자들을 포함하며, 6번째 문자와 7번째 문자 사이에는 문자 하나 크기만큼의 공백이 존재할 수 있다. 즉, 문자열 인식이 올바르게 될 경우, 문자열 영역에서 9개의 문자와 하나의 공백이 인식되어야 한다. 이 경우, 프로세서(110)는 수학식 5를 이용하여, 문자열 평가 점수를 계산할 수 있다.
Figure 112017064090483-pat00009
수학식 5에서, C={0, 1, 2, 3, 4, 5, 7, 8, 9}이고, s는 문자열의 시작 위치를 의미한다. 프로세서(110)는 중첩 확률 맵에서 s번째 픽셀을 기준으로, 문자열 구조 함수를 계산할 수 있다. 또한, w는 문자 간격을 의미한다. f(s,w)는 문자열 시작 위치를 s로 설정하고, 문자 간격을 w로 설정한 경우, 획득되는 문자열 평가 점수를 의미한다.
수학식 5를 참조하면, 프로세서(110)는 중첩 확률 맵을 이용하여, 문자열 평가 점수 f(s,w)를 계산할 수 있다. 프로세서(110)는 확률 벡터가 최대 값이 되도록 하는 문자 인덱스 i를 결정할 수 있다. 따라서, 프로세서(110)는 문자열 평가 점수를 계산하는 과정에서, 문자열에 포함된 문자들에 대한 정보도 함께 획득할 수 있다. 수학식 5에서 k=0, 1, 2, 3, 4, 5, 7, 8, 9인 경우, 부분 이미지들이 문자들을 나타내야 하므로 Ra(i, s+kw) 를 더하고, k=6인 경우, 부분 이미지가 배경을 나타내야 하므로 Ra(i, s+kw) 를 뺄 수 있다. 수학식 5에서 나타낸 바와 같이, 프로세서(110)가 부분 이미지가 배경인 경우, 페널티 값을 부여하게 되면, 수학식 5에서
Figure 112017064090483-pat00010
값이 양수가 될 수 있다.
프로세서(110)는 (s,w) 를 변화시켜 가면서 문자열 평가 점수를 계산할 수 있다. 프로세서(110)는 문자열 평가 점수가 최대가 되는 조건에서, 문자열의 위치 및 문자 간격을 결정할 수 있다. 프로세서(110)는 수학식 6을 이용하여, 문자열의 위치 및 문자 간격을 결정할 수 있다.
Figure 112017064090483-pat00011
수학식 6을 참조하면, 프로세서(110)는 f(s,w)가 최대가 되도록 하는
Figure 112017064090483-pat00012
를 결정할 수 있다. 프로세서(110)는
Figure 112017064090483-pat00013
로부터 중첩 확률 맵에서 문자열의 시작 픽셀을 결정할 수 있다. 프로세서(110)는 중첩 확률 맵에서 문자열의 시작 픽셀로부터 대상 이미지에서 문자열의 시작 위치를 결정할 수 있다. 또한, 프로세서(110)는
Figure 112017064090483-pat00014
로부터 대상 이미지에서 문자 사이 간격을 결정할 수 있다.
프로세서(110)는
Figure 112017064090483-pat00015
에서 수학식 5를 적용하여, 문자열에 포함된 문자들에 대한 정보를 획득할 수 있다.
이상에서는 수학식 5를 문자열 평가 점수를 구하는 수식의 예로 제시했지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 문자열의 예상 구조에 따라 문자열 평가 점수는 통상의 기술자에 의해 다양하게 변경될 수 있다.
도 12는 문자열의 다른 예를 나타낸 이미지이다.
도 12를 참조하면, 문자열이 세로로 두 줄 이상으로 나열된 문자들을 포함할 수 있다. 각 줄에는 4개의 문자들이 포함될 수 있으며, 문자들 사이에는 공백이 없을 수 있다. 이 경우, 프로세서(110)는 수학식 7을 이용하여, 문자열 평가 점수를 계산할 수 있다.
Figure 112017064090483-pat00016
수학식 5에서, s(y,x,k)는 세로방향
Figure 112017064090483-pat00017
번째, 가로방향
Figure 112017064090483-pat00018
번째 부분영상이
Figure 112017064090483-pat00019
번째 문자로 분류될 확률을 나타내는 함수이며, 문자열 구조함수를
Figure 112017064090483-pat00020
에 대하여 최적화(maximize)함으로써 문자열의 위치와 세로 간격, 가로 간격을 결정할 수 있다.
도 2의 S130 단계 및 S160 단계에서 제1 확률 맵 및 제2 확률 맵을 생성하기 위해, 프로세서(110)는 심층 컨볼루셔널 신경망을 이용할 수 있다. 프로세서(110)는 심층 컨볼루셔널 신경망을 이용해 부분 이미지가 문자 또는 배경으로 분류될 확률 벡터를 획득할 수 있다. 이하에서는 심층 컨볼루셔널 신경망을 설명한다. 이하의 설명은 예시적인 것에 불과하며, 심층 컨볼루셔널 신경망의 구체적인 구조는 통상의 기술자가 변경할 수 있는 범위에서 변경될 수 있다.
도 13은 심층 컨볼루셔널 신경망의 컨볼루셔널 레이어(Convolutional Layer)에 의해 이미지의 특성을 추출하는 것을 나타내는 개념도이다.
도 13을 참조하면, 프로세서(110)는 필터 커널(FI)을 이용하여 이미지(OI)에 대한 컨볼루션을 계산할 수 있다. 필터 커널(FI)은 이미지(OI)의 픽셀 개수보다 작은 크기의 매트릭스를 의미한다. 필터 커널(FI)의 각 성분은 가중치에 대한 정보를 포함할 수 있다. 예를 들어, 필터 커널(FI)의 (1,1) 성분은 0이다. 따라서, 컨볼루션을 계산할 때, 필터 커널(FI)의 (1,1) 성분에 대응하는 이미지(OI)의 픽셀에 대해서 가중치를 0으로 계산할 수 있다. 다른 예로, 필터 커널(FI)의 (2,1) 성분은 1이다. 따라서, 컨볼루션을 계산할 때, 필터 커널(FI)의 (2,1) 성분에 대응하는 이미지(OI)의 픽셀에 대해서 가중치를 1로 계산할 수 있다.
프로세서(110)는 이미지(OI) 상에서 필터 커널(FI)의 위치를 변경해가면서, 이미지(OI)에 대한 컨볼루션을 계산할 수 있다. 그리고, 프로세서(110)는 계산된 컨볼루션 값들로부터 컨볼루션 이미지를 추출할 수 있다.
도 14는 프로세서(110)가 도 5에서 나타낸 이미지(OI)로부터 컨볼루션 이미지를 추출한 것을 나타낸 개념도이다.
도 13에서 나타낸 필터 커널(FI)이 이미지(OI) 상에서 움직일 수 있는 경우의 수가 (10-3+1)×(10-3+1)=8×8 개이기 때문에, 프로세서(110)는 8×8 개의 컨볼루션 값들을 계산할 수 있다. 그리고, 8×8 개의 컨볼루션 값들로부터 도 6에서 나타낸 바와 같은 8×8 픽셀 크기의 컨볼루션 이미지를 추출할 수 있다. 컨볼루션 이미지(CI)의 픽셀 개수는 원본 이미지(OI)보다 작아지게 된다. 프로세서(110)는 필터 커널(FI)을 이용함으로써, 원본 이미지의 특성이 반영된 컨볼루션 이미지를 추출할 수 있다. 프로세서(110)는 필터 커널(FI)를 이용하여 원본보다 크기가 작으며 원본의 특성을 반영하는 컨볼루션 이미지를 추출할 수 있다. 컨볼루션 이미지를 추출하는 노드들의 집합을 컨볼루셔널 레이어(Convolutional Layer)라고 한다.
도 15은 부분 이미지에 대한 확률 벡터를 출력하는 심층 컨볼루셔널 신경망을 예시적으로 나타낸 개념도이다.
도 15을 참조하면, 하위 레이어는 부분 이미지를 입력 받을 수 있다. 제1 컨볼루셔널 레이어(CL1)는 5×5 크기의 필터 커널을 이용하여 컨볼루셔널 이미지를 추출할 수 있다. 제1 컨볼루셔널 레이어(CL1)는 16개의 커널 필터들을 이용하여 컨볼루셔널 이미지들을 추출할 수 있다. 각각의 컨볼루셔널 이미지는 서로 다른 커널 필터에 의해 추출될 수 있으며, 서로 다른 이미지의 특성을 반영할 수 있다.
제1 풀링 레이어(PO1)는 풀링 방식을 이용하여 제1 컨볼루셔널 레이어(CL1)보다 작은 개수의 노드들을 형성할 수 있다. 예를 들어, 제1 풀링 레이어(PO1)는 컨볼루셔널 이미지에서 인접한 픽셀들을 머지(merge)하여 하나의 대표 값을 획득함으로써, 노드들의 개수를 줄일 수 있다. 예시적으로, 제1 풀링 레이어(PO1)는 2×2 개의 노드들에서 하나의 대표 값을 획득할 수 있다. 이와 같이 복수의 노드에서 하나의 대표 값을 취해 노드 개수를 줄이는 작업을 풀링(Pooling)이라고 한다. 대표 값은 여러 가지 방식으로 획득될 수 있다. 예를 들어, 2×2 개의 노드들에서 하나의 노드 값이 랜덤으로 선택되어 대표 값으로 획득될 수 있다. 다른 예로, 2×2 개의 노드들에서 컨볼루션 값이 최고인 노드이 선택되어 대표 값으로 획득될 수 있다.
제2 컨볼루셔널 레이어(CL2)는 7×7 크기의 필터 커널을 이용하여 컨볼루셔널 이미지를 추출할 수 있다. 제2 컨볼루셔널 레이어는 32개의 커널 필터들을 이용하여 컨볼루셔널 이미지들을 추출할 수 있다. 제2 풀링 레이어(PO2)는 제2 컨볼루셔널 레이어(CL2)에서 형성된 노드들에 대해 풀링을 할 수 있다. 제2 풀링 레이어(PO2)는 2×2 개의 노드들에서 하나의 노드 값을 대표 값으로 획득할 수 있다.
제3 컨볼루셔널 레이어(CL3)는 7×5 크기의 필터 커널을 이용하여 컨볼루셔널 이미지를 추출할 수 있다. 제3 컨볼루셔널 레이어는 64개의 커널 필터들을 이용하여 컨볼루셔널 이미지들을 추출할 수 있다. 제3 풀링 레이어(PO2)는 2×2 개의 노드들에서 하나의 노드 값을 대표 값으로 획득할 수 있다.
제4 컨볼루셔널 레이어(CL4)는 5×3 크기의 필터 커널을 이용하여 컨볼루셔널 이미지를 추출할 수 있다. 제4 컨볼루셔널 레이어(CL4)는 128개의 커널 필터들을 이용하여 컨볼루셔널 이미지들을 추출할 수 있다.
제1 및 제2 완전 연결 레이어(Fully connected layer; FC1, FC2)는 제1 내지 제4 컨볼루셔널 레이어(CL1, CL2, CL3, CL4)와, 제1 내지 제3 풀링 레이어(PO1, PO2, PO3)와 연결될 수 있다. 완전 연결 레이어(FC)는 이전 모든 하위 레이어들에 대해 서로 다른 가중치를 부여할 수 있다. 제1 및 제2 완전 연결 레이어 (FC1, FC2)가 하위 레이어들에 가중치를 부여하는 방식은 후술하는 지도 학습에 의해 학습될 수 있다. 프로세서(110)는 지도 학습에 의해 제1 및 제2 완전 연결 레이어 (FC1, FC2)가 하위 레이어들에 가중치를 부여하는 방식을 변경할 수 있다.
제2 완전 연결 레이어(FC2)는 하위 레이어들에 서로 다른 가중치를 부여하고, 가중치가 반영된 값들을 조합하여 최종적으로 12개의 파라미터들을 계산할 수 있다. 여기서, 11개의 파라미터들은 부분 이미지가 11개의 문자들 각각으로 분류될 확률을 나타내고, 나머지 1개의 파라미터는 부분 이미지가 배경으로 분류될 확률을 나타낼 수 있다. 고려되는 문자의 개수가 11개보다 더 클 경우, 완전 연결 레이어(FC2)가 출력하는 파라미터들의 개수가 달라질 수 있다.
소프트 맥스 레이어(SM)는 12개의 파라미터들로부터 부분 이미지가 문자 또는 배경으로 분류될 확률 값들을 나타내는 확률 벡터를 출력할 수 있다.
도 16는 심층 컨볼루셔널 신경망의 규격에 따른 파라미터들 개수의 변화를 나타낸 테이블이다.
도 15에서 나타낸 심층 컨볼루셔널 신경망은 테이블의 C 모델에 해당한다. 도 16를 참조하면, 모델 A 쪽으로 갈 수록, 심층 컨볼루셔널 신경망이 단순해지고, 파라미터들의 개수와 훈련 시간이 작아질 수 있다. 반면, 심층 컨볼루셔널 신경망의 출력 정확도는 낮아질 수 있다. 모델 E 쪽으로 갈수록 심층 컨볼루셔널 신경망이 복잡해지고, 파라미터들의 개수와 훈련 시간이 커질 수 있다. 반면, 심층 컨볼루셔널 신경망의 출력 정확도는 높아질 수 있다.
도 17는 본 발명의 추가적인 실시예에 따른 문자열 식별 방법을 나타낸 순서도이다.
도 17의 실시예를 설명함에 있어서, 도 2와 중복되는 내용은 생략한다.
도 17를 참조하면, S110 단계에서, 프로세서(110)는 심층 컨볼루셔널 신경망을 학습시킬 수 있다. 프로세서(110)는 기계학습에 의해 심층 컨볼루셔널 신경망의 구성을 업데이트할 수 있다. 기계학습은 지도 학습 방식으로 이루어질 수 있다. 지도 학습은 미리 마련된 예제와 그에 대한 라벨링 정보를 학습 데이터로 제공하고, 학습 데이터에 근거해서 신경망의 동작을 발전시키는 학습 방법을 의미한다.
프로세서(110)는 학습 이미지를 입력 받아 메모리(120)에 저장할 수 있다. 프로세서(110)는 학습 이미지들에 대한 라벨링 정보를 입력 받아 메모리(120)에 저장할 수 있다. 라벨링 정보는 학습 이미지가 특정 문자를 나타내는지 또는 배경을 나타내는 지에 대한 정보를 포함할 수 있다.
프로세서(110)는 입력 받은 학습 데이터를 확장할 수 있다.
도 18은 프로세서(110)가 학습 데이터를 확장하는 예를 나타낸 개념도이다.
도 18을 참조하면, 프로세서(110)는 학습 이미지들을 입력 받을 수 있다. 학습 이미지들은 배경을 나타내는 이미지들과, 문자를 나타내는 이미지들을 포함할 수 있다. 학습 이미지들 각각에는 라벨링 정보가 부여될 수 있다. 프로세서(110)는 문자로 라벨링된 학습 이미지를 확장(expand) 하거나, 학습 이미지의 일부를 잘라냄(crop)으로써, 추가 학습 이미지를 생성할 수 있다. 예를 들어, 프로세서(110)는숫자 '8'로 라벨링 된 학습 이미지의 일부를 잘라낼 수 있다. 프로세서(110)는 잘라낸 이미지를 정해진 규격에 맞게 크기를 변경할 수 있다. 프로세서(110)는 추가 학습 이미지를 생성하고, 추가 학습 이미지에 대해서도 라벨링 정보를 부여할 수 있다. 프로세서(110)는 원본 학습 이미지에 대한 라벨링 정보와 같은 라벨링 정보를 추가 학습 이미지에 부여할 수 있다. 프로세서(110)는 추가 학습 이미지를 심층 컨볼루셔널 신경망 학습에 이용할 수 있다.
프로세서(110)는 학습 데이터를 참조하여, 심층 컨볼루셔널 신경망의 작동 방식을 수정할 수 있다. 예시적으로, 프로세서(110)는 심층 컨볼루셔널 신경망 노드들 사이의 가중치를 변경해가면서, 어느 방식에서 심층 컨볼루셔널 신경망의 출력 결과가 라벨링 정보에 대한 매칭 비율이 높은 지를 결정할 수 있다. 학습에 이용되는 학습 이미지의 개수가 많아질수록 심층 컨볼루셔널 신경망의 완성도가 높아질 수 있다.
이상에서 도 1 내지 도 18을 참조하여, 본 발명의 예시적인 실시예들에 따른 문자열 식별 방법 및 장치에 관하여 설명하였다. 상술한 실시예들에 따르면, 제1 확률 맵에 대한 가로 투영 프로파일을 이용하여, 문자열의 세로 방향 위치를 추정하고, 추정된 세로 방향 위치에서 제2 패치 이미지들을 추출할 수 있다. 이를 통해, 부분 이미지들의 추출 개수를 줄임으로써, 계산량과 계산 시간을 줄일 수 있다. 또한, 중첩 확률 맵을 이용하여, 문자열 식별의 정확도를 높일 수 있다. 또한, 문자열 평가 점수를 이용하여 문자열의 위치와, 문자 간격을 알 수 있다. 또한, 문자열 평가 점수에서 문자열에 포함된 문자들의 정보를 획득할 수 있다.
이상에서 도 1 내지 도 18을 참조하여, 예시적인 실시예들에 따른 문자열 식별 방법 및 장치에 관하여 설명하였다. 상술한 실시예들에 따르면, 미리 정의된 픽셀이 문자열로 분류될 확률을 계산할 때, 인접한 픽셀들의 특성이 함께 고려될 수 있다. 따라서, 문자열 식별 결과의 신뢰도가 높아질 수 있다.
또한, 대상 이미지 전체가 아닌, 대상 이미지의 부분 이미지에 해당하는 부분 이미지를 이용하여 심층 컨볼루셔널 신경망을 학습 시키기 때문에, 적은 양의 데이터를 이용하여 심층 컨볼루셔널 신경망 학습이 가능하다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 대상 이미지에서 문자열을 식별하는 방법에 있어서,
    상기 대상 이미지로부터 미리 정해진 간격으로 복수의 제1 부분 이미지들을 추출하는 단계;
    상기 복수의 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산하여, 제1 확률 맵을 생성하는 단계;
    상기 제1 확률 맵에 기초하여, 상기 대상 이미지에서 문자열의 세로 방향 위치를 추정하는 단계;
    상기 세로 방향 위치를 기준으로 복수의 제2 부분 이미지들을 추출하는 단계;
    상기 복수의 제2 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산하여, 제2 확률 맵을 생성하는 단계;
    상기 제2 확률 맵에 기초하여, 상기 문자열의 위치 및 문자 간격을 획득하는 단계;를 포함하는 문자열 식별 방법.
  2. 청구항 1에 있어서,
    상기 문자열의 세로 방향 위치를 추정하는 단계는,
    상기 제1 확률 맵의 각 행(row)에 포함된 픽셀들이 텍스트 영역으로 분류될 확률 값들을 합산함으로써, 가로 투영 프로파일을 계산하고, 상기 가로 투영 프로파일에 기초하여, 상기 문자열의 세로 방향 위치를 추정하는 문자열 식별 방법.
  3. 청구항 1에 있어서,
    상기 제2 부분 이미지들을 추출하는 단계는,
    상기 대상 이미지에서, 상기 세로 방향 위치를 기준으로 적어도 하나의 서브 이미지를 추출하고, 상기 적어도 하나의 서브 이미지에서 상기 제2 부분 이미지들을 추출하는 문자열 식별 방법.
  4. 청구항 1에 있어서,
    상기 제2 부분 이미지들 사이의 간격은, 상기 제1 부분 이미지들 사이의 간격보다 작게 설정되는 문자열 식별 방법.
  5. 청구항 1에 있어서,
    상기 제2 확률 맵을 생성하는 단계는,
    상기 제2 부분 이미지들 각각이 배경 또는 문자들 각각으로 분류될 확률 값들을 나타내는 확률 벡터들을 계산함으로써, 상기 제2 확률 맵을 생성하는 문자열 식별 방법.
  6. 청구항 5에 있어서,
    상기 문자열의 가로 위치 및 문자 간격을 결정하는 단계는,
    상기 제2 확률 맵의 인접한 픽셀들에 대응하는 확률 벡터들의 합으로부터 중첩 확률 맵을 생성하고, 상기 중첩 확률 맵으로부터 문자열의 가로 위치 및 문자 간격을 결정하는 문자열 식별 방법.
  7. 청구항 6에 있어서,
    상기 중첩 확률 맵은 수학식 1에 의해 생성되는 문자열 식별 방법.
    Figure 112017064090483-pat00021
    ... 수학식 1
    (Ra(i,j) = 중첩 확률 맵의 j번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률, n(j)는 j번째 픽셀에 인접한 픽셀들의 집합, |n(j)|=n(j)의 원소 개수, R(i,k)=제2 확률 맵의 k번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률)
  8. 청구항 6에 있어서,
    상기 중첩 확률 맵은 수학식 2에 의해 생성되는 문자열 식별 방법.
    Figure 112017064090483-pat00022
    ...수학식 2
    (Ra(i,j) = 중첩 확률 맵의 j번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률, n(j)는 j번째 픽셀에 인접한 픽셀들의 집합, |n(j)|=n(j)의 원소 개수, R(i,k)=제2 확률 맵의 k번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률)
  9. 청구항 6에 있어서,
    상기 문자열의 위치 및 문자 간격을 획득하는 단계는,
    상기 중첩 확률 맵에 기초하여, 문자열의 위치 및 문자 간격에 따른 문자열 평가 점수를 계산함으로써, 상기 문자열의 위치 및 문자 간격을 획득하는 문자열 식별 방법.
  10. 청구항 9에 있어서,
    상기 문자열의 위치 및 문자 간격을 획득하는 단계는,
    상기 문자열 평가 점수가 최대가 되도록 하는 문자열의 위치 및 문자 간격을 획득하는 문자열 식별 방법.
  11. 청구항 1에 있어서,
    상기 제2 확률 맵을 계산하는 단계는,
    심층 컨볼루셔널 신경망(Deep Convolutional Neural Networks)을 이용하여 상기 제2 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산하는 문자열 식별 방법.
  12. 청구항 11에 있어서,
    상기 제2 확률 맵을 계산하는 단계는,
    필터 커널을 이용하여 상기 제2 부분 이미지에 대한 컨볼루션 이미지를 추출하는 단계 및 상기 컨볼루션 이미지에 대한 풀링(pooling)을 실시하는 단계를 포함하는 문자열 식별 방법.
  13. 청구항 11에 있어서,
    복수의 학습 이미지들 및 상기 복수의 학습 이미지들에 대한 라벨링 정보를 포함하는 학습 데이터를 이용하여, 상기 심층 컨볼루셔널 신경망을 학습시키는 단계;를 더 포함하는 문자열 식별 방법.
  14. 청구항 13에 있어서,
    상기 복수의 학습 이미지들 중 문자로 라벨링된 학습 이미지의 일부를 잘라내거나, 상기 문자로 라벨링된 학습 이미지를 확장하여 추가 학습 이미지를 생성함으로써, 학습 데이터를 확장하는 단계;를 더 포함하는 문자열 식별 방법.
  15. 청구항 14에 있어서,
    상기 학습 데이터를 확장하는 단계는,
    상기 추가 학습 이미지의 크기를 미리 정해진 크기로 변경하는 문자열 식별 방법.
  16. 철강 영상에 포함된 문자열을 식별하는 방법에 있어서,
    상기 철강 영상으로부터 미리 정해진 간격으로 복수의 제1 부분 이미지들을 추출하는 단계;
    상기 복수의 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산하여, 제1 확률 맵을 생성하는 단계;
    상기 제1 확률 맵에 기초하여, 상기 철강 영상에서 문자열의 세로 방향 위치를 추정하는 단계;
    상기 세로 방향 위치를 기준으로 복수의 제2 부분 이미지들을 추출하는 단계;
    상기 복수의 제2 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산하여, 제2 확률 맵을 생성하는 단계;
    상기 제2 확률 맵의 인접한 픽셀들에 대응하는 확률 벡터들의 합으로부터 중첩 확률 맵을 생성하는 단계;
    상기 중첩 확률 맵에 기초하여, 문자열의 위치 및 문자 간격에 따른 문자열 평가 점수를 계산하는 단계; 및
    상기 제2 확률 맵에 기초하여, 상기 문자열의 위치 및 문자 간격을 획득하는 단계;를 포함하는 문자열 식별 방법.
  17. 청구항 16에 있어서,
    상기 중첩 확률 맵은 수학식 3에 의해 생성되는 문자열 식별 방법.
    Figure 112017064090483-pat00023
    ...수학식 3
    (Ra(i,j) = 중첩 확률 맵의 j번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률, n(j)는 j번째 픽셀에 인접한 픽셀들의 집합, |n(j)|=n(j)의 원소 개수, R(i,k)=제2 확률 맵의 k번째 픽셀에 대응하는 부분 이미지가 i 번째 문자로 분류될 확률)
  18. 청구항 17에 있어서,
    상기 문자열 평가 점수는 수학식 4에 의해 계산되는 문자열 식별 방법.
    Figure 112017064090483-pat00024
    ....수학식 4
    (C={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, s=중첩 확률 맵에서 문자열의 시작 위치, w=문자 간격)
  19. 청구항 18에 있어서,
    상기 문자열의 위치 및 문자 간격을 획득하는 단계는,
    상기 문자열 평가 점수가 최대가 되도록 하는 문자열의 위치 및 문자 간격을 획득하는 문자열 식별 방법.
  20. 대상 이미지에서 문자열을 식별하는 장치에 있어서,
    프로세서(processor); 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory);를 포함하고,
    상기 적어도 하나의 명령은, 상기 대상 이미지로부터 미리 정해진 간격으로 복수의 제1 부분 이미지들을 추출하고; 상기 복수의 제1 부분 이미지들 각각이 문자로 분류될 확률을 계산하여, 제1 확률 맵을 생성하고; 상기 제1 확률 맵에 기초하여, 상기 대상 이미지에서 문자열의 세로 방향 위치를 추정하고; 상기 세로 방향 위치를 기준으로 복수의 제2 부분 이미지들을 추출하고; 상기 복수의 제2 부분 이미지들 각각이 문자 또는 배경으로 분류될 확률을 계산하여, 제2 확률 맵을 생성하고; 상기 제2 확률 맵에 기초하여, 상기 문자열의 위치 및 문자 간격을 획득하도록 수행되는 문자열 식별 장치.
KR1020170084954A 2017-07-04 2017-07-04 문자열 식별 방법 및 장치 KR101917525B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170084954A KR101917525B1 (ko) 2017-07-04 2017-07-04 문자열 식별 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170084954A KR101917525B1 (ko) 2017-07-04 2017-07-04 문자열 식별 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101917525B1 true KR101917525B1 (ko) 2018-11-09

Family

ID=64426488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170084954A KR101917525B1 (ko) 2017-07-04 2017-07-04 문자열 식별 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101917525B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112488108A (zh) * 2020-12-11 2021-03-12 广州小鹏自动驾驶科技有限公司 一种车位号识别方法、装置、电子设备及存储介质
CN113743438A (zh) * 2020-08-20 2021-12-03 北京沃东天骏信息技术有限公司 文本检测用数据集生成方法、装置和系统
KR102349510B1 (ko) * 2021-06-08 2022-01-14 주식회사 산돌메타랩 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템
KR20230013846A (ko) * 2021-07-20 2023-01-27 강상훈 문서 작성 보조 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310251A (ja) 2003-04-03 2004-11-04 Konica Minolta Medical & Graphic Inc 文字認識方法、文字認識装置および文字認識プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310251A (ja) 2003-04-03 2004-11-04 Konica Minolta Medical & Graphic Inc 文字認識方法、文字認識装置および文字認識プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113743438A (zh) * 2020-08-20 2021-12-03 北京沃东天骏信息技术有限公司 文本检测用数据集生成方法、装置和系统
CN112488108A (zh) * 2020-12-11 2021-03-12 广州小鹏自动驾驶科技有限公司 一种车位号识别方法、装置、电子设备及存储介质
KR102349510B1 (ko) * 2021-06-08 2022-01-14 주식회사 산돌메타랩 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템
KR20230013846A (ko) * 2021-07-20 2023-01-27 강상훈 문서 작성 보조 장치
KR102509943B1 (ko) 2021-07-20 2023-03-14 강상훈 문서 작성 보조 장치

Similar Documents

Publication Publication Date Title
KR101917525B1 (ko) 문자열 식별 방법 및 장치
CN113362329B (zh) 病灶检测模型的训练方法及识别图像中的病灶的方法
US20210064871A1 (en) Apparatus and method for recognition of text information
CN110555433B (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN112288008B (zh) 一种基于深度学习的马赛克多光谱图像伪装目标检测方法
CN109376681A (zh) 一种多人姿态估计方法及系统
KR101805318B1 (ko) 텍스트 영역 식별 방법 및 장치
CN112036400B (zh) 构建用于目标检测的网络的方法和目标检测方法及系统
CN107886082B (zh) 图像中数学公式检测方法、装置、计算机设备及存储介质
CN112949507A (zh) 人脸检测方法、装置、计算机设备及存储介质
KR20200049451A (ko) 콘볼루션 신경망 시스템 및 그것의 동작 방법
CN110796141A (zh) 目标检测方法及相关设备
CN117690128B (zh) 胚胎细胞多核目标检测系统、方法和计算机可读存储介质
CN112906794A (zh) 一种目标检测方法、装置、存储介质及终端
CN102171723B (zh) 红眼检测的方法
CN115035539B (zh) 文档异常检测网络模型构建方法、装置、电子设备及介质
JP7096034B2 (ja) 建築物抽出システム
CN112836625A (zh) 人脸活体检测方法、装置、电子设备
CN116385810A (zh) 一种基于YOLOv7的小目标检测方法及系统
CN112734747A (zh) 一种目标检测方法、装置、电子设备和存储介质
CN113487610A (zh) 疱疹图像识别方法、装置、计算机设备和存储介质
CN113065379B (zh) 融合图像质量的图像检测方法、装置、电子设备
CN112926426A (zh) 基于监控视频的船舶识别方法、系统、设备及存储介质
CN112560584A (zh) 一种人脸检测方法及装置、存储介质、终端
CN111126243A (zh) 一种图像数据检测方法、装置以及计算机可读存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant