KR102610242B1 - 인공지능 ocr 기반 비정형 손글씨 인식 방법, 장치 및 시스템 - Google Patents

인공지능 ocr 기반 비정형 손글씨 인식 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR102610242B1
KR102610242B1 KR1020230123718A KR20230123718A KR102610242B1 KR 102610242 B1 KR102610242 B1 KR 102610242B1 KR 1020230123718 A KR1020230123718 A KR 1020230123718A KR 20230123718 A KR20230123718 A KR 20230123718A KR 102610242 B1 KR102610242 B1 KR 102610242B1
Authority
KR
South Korea
Prior art keywords
character
artificial intelligence
intelligence model
recognized
image
Prior art date
Application number
KR1020230123718A
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 KR1020230123718A priority Critical patent/KR102610242B1/ko
Application granted granted Critical
Publication of KR102610242B1 publication Critical patent/KR102610242B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

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

Abstract

일실시예에 따르면, 장치에 의해 수행되는, 인공지능 OCR 기반 비정형 손글씨 인식 방법에 있어서, 제1 사용자 단말에 제1 사용자의 손글씨가 입력되면, 상기 제1 사용자 단말로부터 상기 제1 사용자의 손글씨를 통해 입력된 글씨 이미지인 제1 이미지를 수신하는 단계; 상기 제1 이미지를 기반으로 상기 제1 사용자의 손글씨가 확인되면, 상기 제1 사용자의 손글씨 상에서 연결된 선을 기준으로, 각각의 요소를 구분하는 단계; 상기 구분된 요소들 중 어느 하나인 제1 요소를 포함하는 구역을 제1 구역으로 설정하는 단계; 상기 제1 이미지 내에서 상기 제1 구역이 있는 부분을 제2 이미지로 추출하는 단계; 상기 제2 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계; 상기 제1 요소가 제1 카테고리의 문자로 식별된 경우, 이미지 분석으로 제1 카테고리의 문자를 인식하도록 학습된 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계; 상기 제1 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 제1 문자로 인식되면, 상기 제1 인공지능 모델로부터 상기 제1 요소가 상기 제1 문자로 인식된 것을 나타내는 제1 출력 신호를 획득하는 단계; 상기 제1 출력 신호를 기초로, 상기 제1 요소를 상기 제1 문자로 인식하는 단계; 상기 구분된 요소들 각각이 문자로 인식되면, 상기 인식된 문자들을 조합하여 제1 키워드를 생성하는 단계; 및 상기 제1 이미지를 상기 제1 키워드로 인식하는 단계를 포함하는, 인공지능 OCR 기반 비정형 손글씨 인식 방법이 제공된다.

Description

인공지능 OCR 기반 비정형 손글씨 인식 방법, 장치 및 시스템 {METHOD, DEVICE AND SYSTEM FOR RECOGNIZING IRREGULAR HANDWRITING BASED ON ARTIFICIAL INTELLIGENCE OPTICAL CHARACTER RECOGNITION}
아래 실시예들은 인공지능 OCR(Optical Character Recognition)을 기반으로, 비정형의 손글씨를 인식하기 위한 기술에 관한 것이다.
최근, 디지털 학습을 위하여 컴퓨터 보급화가 확대되고 있으며, 이에 따라, 학생들의 노트북과 태블릿 사용이 증가하고 있다.
특히, 노트북과 태블릿에 학습을 위한 필기를 많이 하고 있으며, 학생들이 필기한 손글씨를 문자로 인식하는 OCR을 이용한 애플리케이션이 출시되고 있다.
하지만, 어린 학생들의 손글씨에서는 기울기기 일정하지 않거나 흘림 처리가 되어 있어, 문자 인식률이 상대적으로 낮은 문제가 있다.
따라서, 문자 인식률이 개선된 손글씨 인식 방법에 대한 요구가 증대되고 있으며, 이와 관련된 기술의 구현이 요구되고 있다.
한국등록특허 제10-2516560호 한국등록특허 제10-2476578호 한국등록특허 제10-1388196호 한국공개특허 제10-2022-0068671호
일실시예에 따르면, 인공지능 OCR을 기반으로, 비정형의 손글씨를 인식하는 방법, 장치 및 시스템을 제공하는 것을 그 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
일실시예에 따르면, 장치에 의해 수행되는, 인공지능 OCR 기반 비정형 손글씨 인식 방법에 있어서, 제1 사용자 단말에 제1 사용자의 손글씨가 입력되면, 상기 제1 사용자 단말로부터 상기 제1 사용자의 손글씨를 통해 입력된 글씨 이미지인 제1 이미지를 수신하는 단계; 상기 제1 이미지를 기반으로 상기 제1 사용자의 손글씨가 확인되면, 상기 제1 사용자의 손글씨 상에서 연결된 선을 기준으로, 각각의 요소를 구분하는 단계; 상기 구분된 요소들 중 어느 하나인 제1 요소를 포함하는 구역을 제1 구역으로 설정하는 단계; 상기 제1 이미지 내에서 상기 제1 구역이 있는 부분을 제2 이미지로 추출하는 단계; 상기 제2 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계; 상기 제1 요소가 제1 카테고리의 문자로 식별된 경우, 이미지 분석으로 제1 카테고리의 문자를 인식하도록 학습된 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계; 상기 제1 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 제1 문자로 인식되면, 상기 제1 인공지능 모델로부터 상기 제1 요소가 상기 제1 문자로 인식된 것을 나타내는 제1 출력 신호를 획득하는 단계; 상기 제1 출력 신호를 기초로, 상기 제1 요소를 상기 제1 문자로 인식하는 단계; 상기 구분된 요소들 각각이 문자로 인식되면, 상기 인식된 문자들을 조합하여 제1 키워드를 생성하는 단계; 및 상기 제1 이미지를 상기 제1 키워드로 인식하는 단계를 포함하는, 인공지능 OCR 기반 비정형 손글씨 인식 방법이 제공된다.
상기 인공지능 OCR 기반 비정형 손글씨 인식 방법은, 상기 제1 입력 신호를 생성하는 단계와 상기 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계 사이에, 이미지 분석으로 문자의 카테고리를 식별하도록 학습된 제0 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계; 상기 제0 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 상기 제1 카테고리의 문자로 식별되면, 상기 제0 인공지능 모델로부터 상기 제1 요소가 상기 제1 카테고리의 문자로 식별된 것을 나타내는 제0 출력 신호를 획득하는 단계; 및 상기 제0 출력 신호를 기초로, 상기 제1 요소의 문자 인식을 위해 이용될 인공지능 모델을 상기 제1 인공지능 모델로 선정하는 단계를 더 포함할 수 있다.
상기 인공지능 OCR 기반 비정형 손글씨 인식 방법은, 상기 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계 이후, 상기 제1 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 어느 문자로도 인식되지 않으면, 상기 제1 인공지능 모델로부터 상기 제1 요소가 어느 문자로도 인식되지 않는 것을 나타내는 제2 출력 신호를 획득하는 단계; 상기 제2 출력 신호를 기초로, 상기 제1 요소가 상기 제1 카테고리의 문자로 인식되지 않아, 다른 카테고리의 문자로 인식되는지 확인이 필요한 것으로 판단하는 단계; 이미지 분석으로 제2 카테고리의 문자를 인식하도록 학습된 제2 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계; 상기 제2 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 제2 문자로 인식되면, 상기 제2 인공지능 모델로부터 상기 제1 요소가 상기 제2 문자로 인식된 것을 나타내는 제3 출력 신호를 획득하는 단계; 및 상기 제3 출력 신호를 기초로, 상기 제1 요소를 상기 제2 문자로 인식하는 단계를 더 포함할 수 있다.
일실시예에 따르면, 인공지능 OCR을 기반으로, 비정형의 손글씨를 인식함으로써, 손글씨에 대한 문자 인식률을 향상시킬 수 있는 효과가 있다.
한편, 실시예들에 따른 효과들은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 해당 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 일실시예에 따른 인공지능 OCR 기반으로 비정형의 손글씨를 인식하는 과정을 설명하기 위한 순서도이다.
도 3은 일실시예에 따른 사용자의 손글씨를 문자로 인식하는 과정을 나타낸 도면이다.
도 4는 일실시예에 따른 문자 인식을 위해 이용될 인공지능 모델을 선정하는 과정을 설명하기 위한 순서도이다.
도 5는 일실시예에 따른 문자 인식 실패 시 다른 인공지능 모델을 통해 손글씨를 인식하는 과정을 설명하기 위한 순서도이다.
도 6 내지 도 7은 일실시예에 따른 문자 인식 실패 시 글씨 보정을 통해 손글씨를 인식하는 과정을 설명하기 위한 순서도이다.
도 8 내지 도 9는 일실시예에 따른 제1 요소에서 일부 선의 기울기를 보정하는 과정을 설명하기 위한 순서도이다.
도 10은 일실시예에 따른 제1 요소와 제3 문자를 나타낸 도면이다.
도 11은 일실시예에 따른 장치의 구성의 예시도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다.
실시예에서 인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙(Rule) 기반의 스마트 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 판매자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반의 스마트 시스템은 점차 심층 학습(Deep Learning) 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계 학습 및 기계 학습을 활용한 요소기술들로 구성된다. 기계 학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 심층 학습 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
일반적으로 기계 학습 알고리즘을 실생활에 적용하기 위해서는 기계 학습의 기본 방법론의 특성상 Trial and Error 방식으로 학습을 수행하게 된다. 특히, 심층 학습의 경우 수십만 번의 반복 실행을 필요로 한다. 이를 실제 물리적인 외부 환경에서 실행하기는 불가능하여 대신 실제 물리적인 외부 환경을 컴퓨터상에서 가상으로 구현하여 시뮬레이션을 통해 학습을 수행한다.
도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 일실시예에 따른 시스템은 통신망을 통해 서로 통신 가능한 복수의 사용자 단말(100) 및 장치(200)를 포함할 수 있다.
먼저, 통신망은 유선 및 무선 등과 같이 그 통신 양태를 가리지 않고 구성될 수 있으며, 서버와 서버 간의 통신과 서버와 단말 간의 통신이 수행되도록 다양한 형태로 구현될 수 있다.
복수의 사용자 단말(100) 각각은 통신 기능을 갖춘 연산 장치로 구현될 수 있으며, 예를 들면, 휴대전화기, 데스크톱 PC, 랩탑 PC, 태블릿 PC, 스마트폰, POS 단말 등으로 구현될 수 있으나, 이에 제한되지는 않으며, 외부 서버와 연결될 수 있는 다양한 형태의 통신 장치로 구현될 수도 있다.
복수의 사용자 단말(100)은 손글씨 입력을 통해 메모를 수행하고자 하는 사용자들이 사용하는 단말로, 제1 사용자가 사용하는 제1 사용자 단말(110), 제2 사용자가 사용하는 제2 사용자 단말(120) 등을 포함할 수 있다. 여기서, 손글씨 입력은 사용자의 손글씨가 사용자 단말에 입력되는 것으로, 사용자의 손가락, 전자펜 등 다양한 방식을 통해 수행될 수 있다.
복수의 사용자 단말(100) 각각은 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 복수의 사용자 단말(100)은 장치(200)와 유무선으로 통신하도록 구성될 수 있다.
복수의 사용자 단말(100) 각각은 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 운영하는 웹 페이지에 접속되거나, 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 개발·배포한 애플리케이션이 설치될 수 있다. 복수의 사용자 단말(100) 각각은 웹 페이지 또는 애플리케이션을 통해 장치(200)와 연동될 수 있다.
즉, 복수의 사용자 단말(100) 각각은 장치(200)에서 제공하는 웹 페이지, 애플리케이션을 등을 통해 장치(200)에 접속할 수 있다.
이하에서는 설명의 편의상, 제1 사용자 단말(110)의 동작을 위주로 설명하지만, 제2 사용자 단말(120) 등의 다른 사용자 단말에서 제1 사용자 단말(110)의 동작을 대신 수행할 수 있는 것은 물론이다.
장치(200)는 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 보유한 자체 서버일수도 있고, 클라우드 서버일 수도 있고, 분산된 노드(node)들의 p2p(peer-to-peer) 집합일 수도 있다. 장치(200)는 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 장치(200)는 추론 기능을 수행하는 적어도 하나 이상의 인공지능 모델을 구비할 수 있다.
장치(200)는 복수의 사용자 단말(100)과 유무선으로 통신하도록 구성될 수 있으며, 복수의 사용자 단말(100) 각각의 동작을 제어하고, 복수의 사용자 단말(100) 각각의 화면에 어느 정보를 표시할 것인지에 대해 제어할 수 있다.
장치(200)는 OCR(Optical Character Recognition)을 기반으로, 비정형의 손글씨를 인식하는 서버로 구현되어, 사용자의 손글씨를 인식하여 다양한 서비스를 제공할 수 있다.
한편, 설명의 편의를 위해 도 1에서는 복수의 사용자 단말(100) 중 제1 사용자 단말(110) 및 제2 사용자 단말(120)만을 도시하였으나, 단말들의 수는 실시예에 따라 얼마든지 달라질 수 있다. 장치(200)의 처리 용량이 허용하는 한, 단말들의 수는 특별한 제한이 없다.
일실시예에 따르면, 장치(200) 인공지능을 활용하여, 사용자의 손글씨를 문자로 인식함으로써, 손글씨의 문자 인식에 대한 정확도를 개선할 수 있다.
본 발명에서, 인공지능(Artificial Intelligence, AI)은 인간의 학습능력, 추론능력, 지각능력 등을 모방하고, 이를 컴퓨터로 구현하는 기술을 의미하고, 기계 학습, 심볼릭 로직(Symbolic Logic) 등의 개념을 포함할 수 있다. 기계 학습(Machine Learning, ML)은 입력 데이터들의 특징을 스스로 분류 또는 학습하는 알고리즘 기술이다. 인공지능의 기술은 기계 학습의 알고리즘으로써 입력 데이터를 분석하고, 그 분석의 결과를 학습하며, 그 학습의 결과에 기초하여 판단이나 예측을 할 수 있다. 또한, 기계 학습의 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술들 역시 인공지능의 범주로 이해될 수 있다. 예를 들어, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야가 포함될 수 있다.
기계 학습은 데이터를 처리한 경험을 이용해 신경망 모델을 훈련시키는 처리를 의미할 수 있다. 기계 학습을 통해 컴퓨터 소프트웨어는 스스로 데이터 처리 능력을 향상시키는 것을 의미할 수 있다. 신경망 모델은 데이터 사이의 상관 관계를 모델링하여 구축된 것으로서, 그 상관 관계는 복수의 파라미터에 의해 표현될 수 있다. 신경망 모델은 주어진 데이터로부터 특징들을 추출하고 분석하여 데이터 간의 상관 관계를 도출하는데, 이러한 과정을 반복하여 신경망 모델의 파라미터를 최적화해 나가는 것이 기계 학습이라고 할 수 있다. 예를 들어, 신경망 모델은 입출력 쌍으로 주어지는 데이터에 대하여, 입력과 출력 사이의 매핑(상관 관계)을 학습할 수 있다. 또는, 신경망 모델은 입력 데이터만 주어지는 경우에도 주어진 데이터 사이의 규칙성을 도출하여 그 관계를 학습할 수도 있다.
인공지능 학습모델 또는 신경망 모델은 인간의 뇌 구조를 컴퓨터 상에서 구현하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하며 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하여, 서로 간의 연결 관계를 가질 수 있다. 인공지능 학습모델에서 복수의 네트워크 노드들은 서로 다른 깊이의 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 인공지능 학습모델은, 예를 들어, 인공 신경망 모델(Artificial Neural Network), 컨볼루션 신경망 모델(Convolution Neural Network: CNN) 등일 수 있다. 일 실시예로서, 인공지능 학습모델은, 지도학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 등의 방식에 따라 기계 학습될 수 있다. 기계 학습을 수행하기 위한 기계 학습 알고리즘에는, 의사결정트리(Decision Tree), 베이지안 망(Bayesian Network), 서포트 벡터 머신(Support Vector Machine), 인공 신경망(Artificial Neural Network), 에이다부스트(Ada-boost), 퍼셉트론(Perceptron), 유전자 프로그래밍(Genetic Programming), 군집화(Clustering) 등이 사용될 수 있다.
이중, CNN은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. CNN은 하나 또는 여러 개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 다른 딥러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다. CNN은 또한 표준 역전달을 통해 훈련될 수 있다. CNN은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.
컨볼루션 네트워크는 묶인 파라미터들을 가지는 노드들의 집합들을 포함하는 신경 네트워크들이다. 사용 가능한 트레이닝 데이터의 크기 증가와 연산 능력의 가용성이, 구분적 선형 단위 및 드롭아웃 트레이닝과 같은 알고리즘 발전과 결합되어, 많은 컴퓨터 비전 작업들이 크게 개선되었다. 오늘날 많은 작업에 사용할 수 있는 데이터 세트들과 같은 엄청난 양의 데이터 세트에서는 초과 맞춤(outfitting)이 중요하지 않으며, 네트워크의 크기를 늘리면 테스트 정확도가 향상된다. 컴퓨팅 리소스들의 최적 사용은 제한 요소가 된다. 이를 위해, 심층 신경 네트워크들의 분산된, 확장 가능한 구현예가 사용될 수 있다.
도 2는 일실시예에 따른 인공지능 OCR 기반으로 비정형의 손글씨를 인식하는 과정을 설명하기 위한 순서도이고, 도 3은 일실시예에 따른 사용자의 손글씨를 문자로 인식하는 과정을 나타낸 도면이다.
도 2를 참조하면, 먼저, S201 단계에서, 장치(200)는 제1 사용자 단말(110)에 제1 사용자의 손글씨가 입력되면, 제1 사용자 단말(110)로부터 제1 이미지를 수신할 수 있다. 여기서, 제1 이미지는 제1 사용자의 손글씨를 통해 입력된 글씨 이미지로, 미리 정해진 기간마다 생성되거나, 사용자 요청에 의해 생성될 수 있다.
예를 들어, 제1 사용자 단말(110)은 10초에 1번씩 제1 사용자의 손글씨가 새로 입력된 부분을 캡처하여 제1 이미지를 생성할 수 있고, 제1 사용자가 입력 완료 메뉴를 선택하면 메뉴 선택 이전에 손글씨가 입력된 부분을 캡처하여 제1 이미지를 생성할 수 있다.
즉, 제1 사용자 단말(110)은 제1 사용자의 손글씨가 입력되면, 손글씨가 입력된 부분을 캡처하여 제1 이미지를 생성한 후, 생성된 제1 이미지를 장치(200)로 전송할 수 있다.
예를 들어, 도 3의 (a)에 도시된 바와 같이, 제1 사용자의 손글씨 입력을 통해 제1 이미지가 생성되면, 장치(200)는 제1 사용자 단말(110)로부터 제1 이미지를 수신할 수 있다.
S202 단계에서, 장치(200)는 제1 이미지를 기반으로, 제1 사용자의 손글씨가 확인되면, 제1 사용자의 손글씨 상에서 연결된 선을 기준으로, 각각의 요소를 구분할 수 있다.
즉, 장치(200)는 제1 사용자의 손글씨 상에서 연결된 선을 하나의 요소로 구분하여, 연결된 선이 복수인 경우, 복수의 선을 각각 다른 요소로 구분할 수 있다.
예를 들어, 도 3의 (b)에 도시된 바와 같이, 장치(200)는 제1 이미지를 기반으로, 제1 사용자의 손글씨를 확인하고, 제1 사용자의 손글씨 상에서 연결된 선을 기준으로, 제1 요소(301), 제2 요소(302), 제3 요소(303), 제4 요소(304), 제5 요소(305), 제6 요소(306), 제7 요소(307), 제8 요소(308), 제9 요소(309) 및 제10 요소(310)를 각각 구분할 수 있다.
S203 단계에서, 장치(200)는 구분된 요소들 중 어느 하나인 제1 요소를 포함하는 구역을 제1 구역으로 설정할 수 있다.
예를 들어, 도 3의 (c)에 도시된 바와 같이, 장치(200)는 제1 요소(301)를 포함하는 구역을 제1 구역(401)으로 설정하고, 제2 요소(302)를 포함하는 구역을 제2 구역(402)으로 설정하고, 제3 요소(303)를 포함하는 구역을 제3 구역(403)으로 설정하고, 제4 요소(304)를 포함하는 구역을 제4 구역(404)으로 설정하고, 제5 요소(305)를 포함하는 구역을 제5 구역(405)으로 설정하고, 제6 요소(306)를 포함하는 구역을 제6 구역(406)으로 설정하고, 제7 요소(307)를 포함하는 구역을 제7 구역(407)으로 설정하고, 제8 요소(308)를 포함하는 구역을 제8 구역(408)으로 설정하고, 제9 요소(309)를 포함하는 구역을 제9 구역(409)으로 설정하고, 제10 요소(310)를 포함하는 구역을 제10 구역(410)으로 설정할 수 있다.
S204 단계에서, 장치(200)는 제1 이미지 내에서 제1 구역이 있는 부분을 제2 이미지로 추출할 수 있다.
즉, 장치(200)는 제1 이미지 내에서 제1 구역이 있는 부분과 나머지 부분을 분할한 후, 제1 구역이 있는 부분만 제2 이미지로 추출할 수 있다.
S205 단계에서, 장치(200)는 제2 이미지를 인코딩 하여 제1 입력 신호를 생성할 수 있다.
구체적으로, 장치(200)는 제2 이미지의 픽셀을 색 정보로 인코딩 하여 제1 입력 신호를 생성할 수 있다. 색 정보는 RGB 색상 정보, 명도 정보, 채도 정보를 포함할 수 있으나, 이에 국한하지 않는다. 장치(200)는 색 정보를 수치화된 값으로 환산할 수 있으며, 이 값을 포함한 데이터 시트 형태로 이미지를 인코딩할 수 있다.
S206 단계에서, 장치(200)는 제1 요소가 제1 카테고리의 문자로 식별된 경우, 제1 인공지능 모델에 제1 입력 신호를 입력할 수 있다. 여기서, 제1 인공지능 모델은 이미지 분석으로 제1 카테고리의 문자를 인식하도록 학습된 상태일 수 있다.
일실시예에 따르면, 문자의 카테고리는 한글, 알파벳, 숫자 등으로 구분될 수 있으며, 제1 요소가 복수의 카테고리 중 제1 카테고리의 문자로 식별되면, 장치(200)는 제1 요소가 제1 카테고리의 문자로 인식되는지 확인하기 위해, 제1 인공지능 모델에 제1 입력 신호를 입력할 수 있다. 이를 위해, 제1 요소가 제1 카테고리의 문자로 식별되어, 제1 요소의 문자 인식을 위해 이용될 인공지능 모델이 제1 인공지능 모델로 선정될 수 있으며, 이와 관련된 자세한 설명은 도 4를 참조하여 후술하기로 한다.
제1 인공지능 모델은 이미지를 인코딩 하여 생성된 입력 신호를 입력 받은 후, 입력 신호를 통해 이미지 내에서 제1 카테고리의 문자를 인식하여, 이미지 상에 있는 문자의 인식 결과를 나타내는 출력 신호를 출력하는 알고리즘일 수 있다.
일실시예에 따른 제1 인공지능 모델은 컨볼루션 신경망으로 구현되어, 컨볼루션 신경망은 특징 추출 신경망과 분류 신경망으로 구성될 수 있다. 이하에서는, 제1 인공지능 모델에 대해 자세히 설명하기로 한다.
일실시예에 따르면, 장치(200)는 이미지를 인코딩 하여 입력 신호를 생성할 수 있으며, 제1 인공지능 모델은 입력 신호를 입력으로 하고, 문자의 인식 결과를 출력 신호로 출력할 수 있다.
일실시예에 따른 인코딩은 이미지의 픽셀 별 색 정보를 수치화된 데이터 시트 형태로 저장하는 방식으로 이뤄질 수 있는데, 색 정보는 하나의 픽셀이 가지고 있는 RGB 색상, 명도 정보, 채도 정보를 포함할 수 있으나, 이에 국한하지 않는다.
일실시예에 따르면, 제1 인공지능 모델은 컨볼루션 신경망으로 구현되어, 제1 인공지능 모델은 특징 추출 신경망과 분류 신경망으로 구성될 수 있으며, 특징 추출 신경망은 이미지에서 글자와 배경을 분리하는 작업을 수행할 수 있으며, 분류 신경망은 분리된 글자로부터 어느 문자인지 인식하는 작업을 수행할 수 있다. 특징 추출 신경망이 글자와 배경을 구분하는 방법은, 이미지를 인코딩한 입력 신호의 데이터 시트로부터 색 정보의 각 값들의 변화가 한 픽셀을 포함하는 8개의 픽셀 중 6개 이상에서 30% 이상의 변화가 생긴 것으로 감지되는 픽셀들의 묶음을 글자와 배경의 경계로 삼을 수 있으나, 이에 국한하지 않는다.
일실시예에 따르면, 제1 인공지능 모델의 특징 추출 신경망은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다. 컨볼루션 계층은 컨볼루션 연산, 컨볼루션 필터 및 활성함수를 포함하고 있다. 컨볼루션 필터의 계산은 대상 입력의 행렬 크기에 따라 조절되나 일반적으로 9X9 행렬을 사용한다. 활성 함수는 일반적으로 ReLU 함수, 시그모이드 함수, 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 풀링 계층은 입력의 행렬 크기를 줄이는 역할을 하는 계층으로, 특정 영역의 픽셀을 묶어 대표값을 추출하는 방식을 사용한다. 풀링 계층의 연산에는 일반적으로 평균값이나 최대값을 많이 사용하나 이에 한정하지 않는다. 해당 연산은 정방 행렬을 사용하여 진행되는데, 일반적으로 9X9 행렬을 사용한다. 컨볼루션 계층과 풀링 계층은 해당 입력이 차이를 유지한 상태에서 충분히 작아질 때까지 번갈아 반복 진행된다.
일실시예에 따르면, 제1 인공지능 모델의 분류 신경망은 특징 추출 신경망을 통해 배경으로부터 구분된 글자를 그 형태 및 연속성에 따라 제1 카테고리의 문자들 중 어느 문자인지를 인식할 수 있다. 이때, 문자의 인식을 위해 데이터베이스에 저장된 정보들이 활용될 수 있다. 분류 신경망은 글자의 형태를 데이터베이스에 저장된 정보들과 비교 분석하는 과정을 통해, 글자가 어느 문자인지 파악하여 인식할 수 있다. 이를 위해, 제1 인공지능 모델과 연결된 데이터베이스에는 제1 카테고리의 문자 별로 구분되어 있는 데이터 셋이 저장되어 있어, 데이터베이스에 저장된 정보들을 활용하여 글자가 어느 문자인지 인식될 수 있다.
일실시예에 따르면, 분류 신경망은 은닉층과 출력층을 가지고 있다. 장치(200) 내의 제1 인공지능 모델에서는 일반적으로 은닉층이 5개 이상 존재하며, 각 은닉층의 노드는 80개로 지정하나 경우에 따라 그 이상으로 정할 수 있다. 은닉층의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 예를 들면, 제1 인공지능 모델의 출력층 노드는 총 1개로 할 수 있다.
즉, 제1 인공지능 모델은 이미지 상에서 문자를 인식하여, 어느 문자가 인식되었는지 나타내는 문자 인식 결과를 생성하고, 생성된 문자 인식 결과를 출력 신호로 출력할 수 있다.
예를 들어, 제1 이미지 상에서 “ㄱ” 문자가 인식된 경우, 제1 인공지능 모델은 제1 이미지 상에서 “ㄱ” 문자가 인식된 것을 나타내는 문자 인식 결과로 “1”을 생성할 수 있고, 제1 이미지 상에서 “ㄴ” 문자가 인식된 경우, 제1 인공지능 모델은 제1 이미지 상에서 “ㄴ” 문자가 인식된 것을 나타내는 문자 인식 결과로 “2”를 생성할 수 있다.
또한, 제1 이미지 상에서 어느 문자도 인식되지 않은 경우, 제1 인공지능 모델은 제1 이미지 상에서 문자가 인식되지 않는 것을 나타내는 문자 인식 결과로 “0”을 생성할 수 있다.
일실시예에 따르면, 제1 인공지능 모델은 관리자가 제1 인공지능 모델에 따른 문자 인식의 문제점 발견 시 관리자에 의해 입력된 수정 정답에 의해 생성되는 제1 학습 신호를 전달받아 학습할 수 있다. 제1 인공지능 모델에 따른 문자 인식의 문제점은 문자 인식 결과에 문제가 있는 경우를 의미할 수 있다.
일실시예에 따른 제1 학습 신호는 정답과 출력값의 오차를 바탕으로 만들어지며, 경우에 따라 델타를 이용하는 SGD나 배치 방식 혹은 역전파 알고리즘을 따르는 방식을 사용할 수 있다. 제1 학습 신호에 의해 제1 인공지능 모델은 기존의 가중치를 수정해 학습을 수행하며, 경우에 따라 모멘텀을 사용할 수 있다. 오차의 계산에는 비용함수가 사용될 수 있는데, 비용함수로 Cross entropy 함수를 사용할 수 있다.
즉, 제1 인공지능 모델은 제1 학습 신호를 통해 학습 과정을 반복함으로써, 딥러닝을 수행할 수 있으며, 학습 결과를 기반으로, 제1 인공지능 모델과 연결된 데이터베이스의 저장된 정보들도 갱신될 수 있다.
S207 단계에서, 장치(200)는 제1 인공지능 모델에서 제1 입력 신호의 입력을 통해 제1 요소가 제1 문자로 인식되면, 제1 인공지능 모델로부터 제1 출력 신호를 획득할 수 있다. 여기서, 제1 출력 신호는 제1 요소가 제1 문자로 인식된 것을 나타내는 출력 신호로, 예를 들면, 제1 문자를 지시하는 출력값에 대한 정보를 포함할 수 있다.
S208 단계에서, 장치(200)는 제1 출력 신호를 기초로, 제1 요소를 제1 문자로 인식할 수 있다.
예를 들어, 장치(200)는 제1 출력 신호를 기초로, “1”이 확인되면, “1”에 대응하는 문자인 제1 문자를 확인한 후, 제1 요소를 제1 문자로 인식할 수 있다.
일실시예에 따르면, S202 단계에서 복수의 요소가 구분된 경우, 복수의 요소 각각에 대해, S203 단계 내지 S208 단계를 반복 수행하여, 구분될 요소들 각각을 특정 문자로 인식할 수 있다.
예를 들어, 제1 사용자의 손글씨 상에서 연결된 선을 기준으로, 제1 요소, 제2 요소 및 제3 요소로 구분된 경우, S203 단계 내지 S208 단계를 3번 반복 수행하여, 제1 요소, 제2 요소 및 제3 요소 각각에 대해 특정 문자로 인식할 수 있다.
S209 단계에서, 장치(200)는 구분될 요소들 각각이 문자로 인식되면, 인식된 문자들을 조합하여 제1 키워드를 생성할 수 있다.
예를 들어, 도 3의 (d)에 도시된 바와 같이, 장치(200)는 제1 요소(301)를 “ㄴ”으로 인식하고, 제2 요소(302)를 “ㅓ”로 인식하고, 제3 요소(303)를 “ㅁ”로 인식하고, 제4 요소(304)를 “ㅜ”로 인식하고, 제5 요소(305)를 “1”로 인식하고, 제6 요소(306)를 “”으로 인식하고, 제7 요소(307)를 “으로 인식하고, 제8 요소(308)를 “으로 인식하고, 제9 요소(309)를 “으로 인식하고, 제10 요소(310)를 “”로 인식하면, 인식된 문자들을 조합하여 “너무10000X”를 제1 키워드로 생성할 수 있다.
S210 단계에서, 장치(200)는 제1 이미지를 제1 키워드로 인식할 수 있다.
예를 들어, 장치(200)는 도 3의 (a)에 도시된 제1 이미지를 도 3의 (d)에 도시된 제1 키워드로 인식할 수 있다.
도 4는 일실시예에 따른 문자 인식을 위해 이용될 인공지능 모델을 선정하는 과정을 설명하기 위한 순서도이다.
일실시예에 따르면, 도 4에 도시된 각 단계는 S205 단계와 S206 단계 사이에 수행될 수 있다.
도 4를 참조하면, 먼저, S401 단계에서, 장치(200)는 제1 입력 신호가 생성되면, 제0 인공지능 모델에 제1 입력 신호를 입력할 수 있다. 여기서, 제0 인공지능 모델은 이미지 분석으로 문자의 카테고리를 식별하도록 학습된 상태일 수 있다.
제0 인공지능 모델은 이미지를 인코딩 하여 생성된 입력 신호를 입력 받은 후, 입력 신호를 통해 이미지 상에 있는 글자를 특정 카테고리의 문자로 식별하여, 이미지 상에 있는 글자에 대한 문자의 카테고리의 식별 결과를 나타내는 출력 신호를 출력하는 알고리즘일 수 있다. 여기서, 문자의 카테고리는 한글, 알파벳, 숫자 등으로 구분될 수 있으며
일실시예에 따른 제0 인공지능 모델은 컨볼루션 신경망으로 구현되어, 컨볼루션 신경망은 특징 추출 신경망과 분류 신경망으로 구성될 수 있다. 이하에서는, 제0 인공지능 모델에 대해 자세히 설명하기로 한다. 이때, 제1 인공지능 모델에 대한 설명과 중복되는 내용을 생략하기로 한다.
일실시예에 따르면, 장치(200)는 이미지를 인코딩 하여 입력 신호를 생성할 수 있으며, 제0 인공지능 모델은 입력 신호를 입력으로 하고, 문자의 카테고리의 식별 결과를 출력 신호로 출력할 수 있다.
일실시예에 따르면, 제0 인공지능 모델은 컨볼루션 신경망으로 구현되어, 제0 인공지능 모델은 특징 추출 신경망과 분류 신경망으로 구성될 수 있으며, 특징 추출 신경망은 이미지에서 글자와 배경을 분리하는 작업을 수행할 수 있으며, 분류 신경망은 분리된 글자로부터 어느 문자의 카테고리인지 식별하는 작업을 수행할 수 있다.
일실시예에 따르면, 제0 인공지능 모델의 특징 추출 신경망은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다.
일실시예에 따르면, 제0 인공지능 모델의 분류 신경망은 특징 추출 신경망을 통해 배경으로부터 구분된 글자를 그 형태 및 연속성에 따라 문자의 카테고리들 중 어느 카테고리인지를 식별할 수 있다. 이때, 카테고리의 식별을 위해 데이터베이스에 저장된 정보들이 활용될 수 있다. 분류 신경망은 글자의 형태를 데이터베이스에 저장된 정보들과 비교 분석하는 과정을 통해, 글자가 어느 카테고리의 문자인지 파악하여 식별할 수 있다. 이를 위해, 제0 인공지능 모델과 연결된 데이터베이스에는 문자 카테고리 별로 구분되어 있는 데이터 셋이 저장되어 있어, 데이터베이스에 저장된 정보들을 활용하여 글자가 어느 카테고리의 문자인지 식별될 수 있다.
일실시예에 따르면, 분류 신경망은 은닉층과 출력층을 가지고 있다. 장치(200) 내의 제0 인공지능 모델에서는 일반적으로 은닉층이 5개 이상 존재하며, 각 은닉층의 노드는 80개로 지정하나 경우에 따라 그 이상으로 정할 수 있다. 은닉층의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 예를 들면, 제0 인공지능 모델의 출력층 노드는 총 1개로 할 수 있다.
즉, 제0 인공지능 모델은 이미지 상에 있는 글자가 어느 카테고리의 문자인지 식별하여, 어느 카테고리의 문자로 식별되었는지 나타내는 카테고리 식별 결과를 생성하고, 생성된 카테고리 식별 결과를 출력 신호로 출력할 수 있다.
예를 들어, 제1 이미지 상에 있는 글자가 한글로 식별된 경우, 제0 인공지능 모델은 제1 이미지 상에 있는 글자가 한글로 식별된 것을 나타내는 카테고리 식별 결과로 “1”을 생성할 수 있고, 제1 이미지 상에 있는 글자가 알파벳으로 식별된 경우, 제0 인공지능 모델은 제1 이미지 상에 있는 글자가 알파벳으로 식별된 것을 나타내는 카테고리 식별 결과로 “2”를 생성할 수 있다.
일실시예에 따르면, 제0 인공지능 모델은 관리자가 제0 인공지능 모델에 따른 카테고리 식별의 문제점 발견 시 관리자에 의해 입력된 수정 정답에 의해 생성되는 제0 학습 신호를 전달받아 학습할 수 있다. 제0 인공지능 모델에 따른 카테고리 식별의 문제점은 카테고리 식별 결과에 문제가 있는 경우를 의미할 수 있다.
일실시예에 따른 제0 학습 신호는 정답과 출력값의 오차를 바탕으로 만들어지며, 경우에 따라 델타를 이용하는 SGD나 배치 방식 혹은 역전파 알고리즘을 따르는 방식을 사용할 수 있다. 제0 학습 신호에 의해 제0 인공지능 모델은 기존의 가중치를 수정해 학습을 수행하며, 경우에 따라 모멘텀을 사용할 수 있다. 오차의 계산에는 비용함수가 사용될 수 있는데, 비용함수로 Cross entropy 함수를 사용할 수 있다.
즉, 제0 인공지능 모델은 제0 학습 신호를 통해 학습 과정을 반복함으로써, 딥러닝을 수행할 수 있으며, 학습 결과를 기반으로, 제0 인공지능 모델과 연결된 데이터베이스의 저장된 정보들도 갱신될 수 있다.
S402 단계에서, 장치(200)는 제0 인공지능 모델에서 제1 입력 신호의 입력을 통해 제1 요소가 제1 카테고리의 문자로 식별되면, 제0 인공지능 모델로부터 제0 출력 신호를 획득할 수 있다. 여기서, 제0 출력 신호는 제1 요소가 제1 카테고리의 문자로 식별된 것을 나타내는 출력 신호로, 예를 들면, 제1 카테고리를 지시하는 출력값에 대한 정보를 포함할 수 있다.
S403 단계에서, 장치(200)는 제0 출력 신호를 기초로, 제1 요소의 문자 인식을 위해 이용될 인공지능 모델을 제1 인공지능 모델로 선정할 수 있다.
즉, 장치(200)는 제0 출력 신호를 기초로, 제1 요소가 제1 카테고리의 문자로 식별된 것이 확인되면, 각 카테고리의 문자를 인식하도록 학습된 복수의 인공지능 모델 중에서, 제1 카테고리의 문자를 인식하도록 학습된 제1 인공지능 모델을 제1 요소의 문자 인식을 위해 이용될 인공지능 모델로 선정할 수 있다.
도 5는 일실시예에 따른 문자 인식 실패 시 다른 인공지능 모델을 통해 손글씨를 인식하는 과정을 설명하기 위한 순서도이다.
일실시예에 따르면, 도 5에 도시된 각 단계는 S206 단계 이후에 수행될 수 있다.
도 5를 참조하면, 먼저, S501 단계에서, 장치(200)는 제1 인공지능 모델에서 제1 입력 신호의 입력을 통해 제1 요소가 어느 문자로도 인식되지 않으면, 제1 인공지능 모델로부터 제2 출력 신호를 획득할 수 있다. 여기서, 제2 출력 신호는 제1 요소가 어느 문자로도 인식되지 않는 것을 나타내는 출력 신호로, 문자 인식 실패를 지시하는 출력값에 대한 정보를 포함할 수 있다.
S502 단계에서, 장치(200)는 제2 출력 신호를 기초로, 제1 요소가 제1 카테고리의 문자로 인식되지 않아, 다른 카테고리의 문자로 인식되는지 확인이 필요한 것으로 판단할 수 있다.
S503 단계에서, 장치(200)는 제2 인공지능 모델에 제1 입력 신호를 입력할 수 있다. 여기서, 제2 인공지능 모델은 이미지 분석으로 제2 카테고리의 문자를 인식하도록 학습된 상태일 수 있다.
즉, 장치(200)는 제1 인공지능 모델을 통해 제1 요소가 제1 카테고리의 문자로 인식되는지 여부를 확인한 결과, 제1 요소가 제1 카테고리의 문자로 인식되지 않으면, 제1 요소가 제2 카테고리의 문자로 인식되는지 확인하기 위해, 제2 인공지능 모델에 제1 입력 신호를 입력할 수 있다.
제2 인공지능 모델은 이미지를 인코딩 하여 생성된 입력 신호를 입력 받은 후, 입력 신호를 통해 이미지 내에서 제2 카테고리의 문자를 인식하여, 이미지 상에 있는 문자의 인식 결과를 나타내는 출력 신호를 출력하는 알고리즘일 수 있다.
일실시예에 따른 제2 인공지능 모델은 컨볼루션 신경망으로 구현되어, 컨볼루션 신경망은 특징 추출 신경망과 분류 신경망으로 구성될 수 있다. 이하에서는, 제2 인공지능 모델에 대해 자세히 설명하기로 한다. 이때, 제1 인공지능 모델에 대한 설명과 중복되는 내용을 생략하기로 한다.
일실시예에 따르면, 장치(200)는 이미지를 인코딩 하여 입력 신호를 생성할 수 있으며, 제2 인공지능 모델은 입력 신호를 입력으로 하고, 문자의 인식 결과를 출력 신호로 출력할 수 있다.
일실시예에 따르면, 제2 인공지능 모델은 컨볼루션 신경망으로 구현되어, 제2 인공지능 모델은 특징 추출 신경망과 분류 신경망으로 구성될 수 있으며, 특징 추출 신경망은 이미지에서 글자와 배경을 분리하는 작업을 수행할 수 있으며, 분류 신경망은 분리된 글자로부터 어느 문자인지 인식하는 작업을 수행할 수 있다.
일실시예에 따르면, 제2 인공지능 모델의 특징 추출 신경망은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다.
일실시예에 따르면, 제2 인공지능 모델의 분류 신경망은 특징 추출 신경망을 통해 배경으로부터 구분된 글자를 그 형태 및 연속성에 따라 제2 카테고리의 문자들 중 어느 문자인지를 인식할 수 있다. 이때, 문자의 인식을 위해 데이터베이스에 저장된 정보들이 활용될 수 있다. 분류 신경망은 글자의 형태를 데이터베이스에 저장된 정보들과 비교 분석하는 과정을 통해, 글자가 어느 문자인지 파악하여 인식할 수 있다. 이를 위해, 제2 인공지능 모델과 연결된 데이터베이스에는 제2 카테고리의 문자 별로 구분되어 있는 데이터 셋이 저장되어 있어, 데이터베이스에 저장된 정보들을 활용하여 글자가 어느 문자인지 인식될 수 있다.
일실시예에 따르면, 분류 신경망은 은닉층과 출력층을 가지고 있다. 장치(200) 내의 제2 인공지능 모델에서는 일반적으로 은닉층이 5개 이상 존재하며, 각 은닉층의 노드는 80개로 지정하나 경우에 따라 그 이상으로 정할 수 있다. 은닉층의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 예를 들면, 제2 인공지능 모델의 출력층 노드는 총 1개로 할 수 있다.
즉, 제2 인공지능 모델은 이미지 상에서 문자를 인식하여, 어느 문자가 인식되었는지 나타내는 문자 인식 결과를 생성하고, 생성된 문자 인식 결과를 출력 신호로 출력할 수 있다.
예를 들어, 제1 이미지 상에서 “a” 문자가 인식된 경우, 제2 인공지능 모델은 제1 이미지 상에서 “a” 문자가 인식된 것을 나타내는 문자 인식 결과로 “1”을 생성할 수 있고, 제1 이미지 상에서 “b” 문자가 인식된 경우, 제2 인공지능 모델은 제1 이미지 상에서 “b” 문자가 인식된 것을 나타내는 문자 인식 결과로 “2”를 생성할 수 있다.
또한, 제1 이미지 상에서 어느 문자도 인식되지 않은 경우, 제2 인공지능 모델은 제1 이미지 상에서 문자가 인식되지 않는 것을 나타내는 문자 인식 결과로 “0”을 생성할 수 있다.
일실시예에 따르면, 제2 인공지능 모델은 관리자가 제2 인공지능 모델에 따른 문자 인식의 문제점 발견 시 관리자에 의해 입력된 수정 정답에 의해 생성되는 제2 학습 신호를 전달받아 학습할 수 있다. 제2 인공지능 모델에 따른 문자 인식의 문제점은 문자 인식 결과에 문제가 있는 경우를 의미할 수 있다.
일실시예에 따른 제2 학습 신호는 정답과 출력값의 오차를 바탕으로 만들어지며, 경우에 따라 델타를 이용하는 SGD나 배치 방식 혹은 역전파 알고리즘을 따르는 방식을 사용할 수 있다. 제2 학습 신호에 의해 제2 인공지능 모델은 기존의 가중치를 수정해 학습을 수행하며, 경우에 따라 모멘텀을 사용할 수 있다. 오차의 계산에는 비용함수가 사용될 수 있는데, 비용함수로 Cross entropy 함수를 사용할 수 있다.
즉, 제2 인공지능 모델은 제2 학습 신호를 통해 학습 과정을 반복함으로써, 딥러닝을 수행할 수 있으며, 학습 결과를 기반으로, 제2 인공지능 모델과 연결된 데이터베이스의 저장된 정보들도 갱신될 수 있다.
S504 단계에서, 장치(200)는 제2 인공지능 모델에서 제1 입력 신호의 입력을 통해 제1 요소가 제2 문자로 인식되면, 제2 인공지능 모델로부터 제3 출력 신호를 획득할 수 있다. 여기서, 제3 출력 신호는 제1 요소가 제2 문자로 인식된 것을 나타내는 출력 신호로, 예를 들면, 제2 문자를 지시하는 출력값에 대한 정보를 포함할 수 있다.
S505 단계에서, 장치(200)는 제3 출력 신호를 기초로, 제1 요소를 제2 문자로 인식할 수 있다.
도 6 내지 도 7은 일실시예에 따른 문자 인식 실패 시 글씨 보정을 통해 손글씨를 인식하는 과정을 설명하기 위한 순서도이다.
일실시예에 따르면, 도 6 내지 도 7에 도시된 각 단계는 S503 단계 이후에 수행될 수 있다.
도 6 내지 도 7을 참조하면, 먼저, S601 단계에서, 장치(200)는 제2 인공지능 모델에서 제1 입력 신호의 입력을 통해 제1 요소가 어느 문자로도 인식되지 않으면, 제2 인공지능 모델로부터 제4 출력 신호를 획득할 수 있다. 여기서, 제4 출력 신호는 제1 요소가 어느 문자로도 인식되지 않는 것을 나타내는 출력 신호로, 문자 인식 실패를 지시하는 출력값에 대한 정보를 포함할 수 있다.
S602 단계에서, 장치(200)는 제4 출력 신호를 기초로, 제1 요소가 제1 카테고리 뿐만 아니라 제2 카테고리의 문자로도 인식되지 않아, 사용자 필적을 통해 특정 문자로 인식되는지 확인이 필요한 것으로 판단할 수 있다.
S603 단계에서, 장치(200)는 제3 인공지능 모델에 제1 입력 신호를 입력할 수 있다. 여기서, 제3 인공지능 모델은 이미지 분석으로 제1 사용자의 필적을 통해 문자를 인식하도록 학습된 상태일 수 있다.
즉, 장치(200)는 제2 인공지능 모델을 통해 제1 요소가 제2 카테고리의 문자로 인식되는지 여부를 확인한 결과, 제1 요소가 제2 카테고리의 문자로 인식되지 않으면, 제1 요소가 제1 사용자의 필적을 통해 구분된 문자들 중 어느 문자로 인식되는지 확인하기 위해, 제3 인공지능 모델에 제1 입력 신호를 입력할 수 있다.
제3 인공지능 모델은 이미지를 인코딩 하여 생성된 입력 신호를 입력 받은 후, 입력 신호를 통해 이미지 내에서 제1 사용자의 필적을 인식하여, 이미지 상에 있는 필적에 대한 문자의 인식 결과를 나타내는 출력 신호를 출력하는 알고리즘일 수 있다.
일실시예에 따른 제3 인공지능 모델은 컨볼루션 신경망으로 구현되어, 컨볼루션 신경망은 특징 추출 신경망과 분류 신경망으로 구성될 수 있다. 이하에서는, 제3 인공지능 모델에 대해 자세히 설명하기로 한다. 이때, 제1 인공지능 모델에 대한 설명과 중복되는 내용을 생략하기로 한다.
일실시예에 따르면, 장치(200)는 이미지를 인코딩 하여 입력 신호를 생성할 수 있으며, 제3 인공지능 모델은 입력 신호를 입력으로 하고, 문자의 인식 결과를 출력 신호로 출력할 수 있다.
일실시예에 따르면, 제3 인공지능 모델은 컨볼루션 신경망으로 구현되어, 제3 인공지능 모델은 특징 추출 신경망과 분류 신경망으로 구성될 수 있으며, 특징 추출 신경망은 이미지에서 글자와 배경을 분리하는 작업을 수행할 수 있으며, 분류 신경망은 분리된 글자로부터 어느 문자인지 인식하는 작업을 수행할 수 있다.
일실시예에 따르면, 제3 인공지능 모델의 특징 추출 신경망은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다.
일실시예에 따르면, 제3 인공지능 모델의 분류 신경망은 특징 추출 신경망을 통해 배경으로부터 구분된 글자를 그 형태 및 연속성에 따라 제1 사용자의 필적을 통해 구분된 문자들 중 어느 문자인지를 인식할 수 있다. 이때, 문자의 인식을 위해 데이터베이스에 저장된 정보들이 활용될 수 있다. 분류 신경망은 글자의 형태를 데이터베이스에 저장된 정보들과 비교 분석하는 과정을 통해, 글자가 제1 사용자의 필적을 통해 구분된 문자들 중 어느 문자인지 파악하여 인식할 수 있다. 이를 위해, 제3 인공지능 모델과 연결된 데이터베이스에는 제1 사용자의 필적을 통해 분류된 문자들에 대해 각각 대응하는 데이터 셋이 저장되어 있어, 데이터베이스에 저장된 정보들을 활용하여 글자가 어느 문자인지 인식될 수 있다. 즉, 제1 인공지능 모델 또는 제2 인공지능 모델을 통해 제1 사용자의 손글씨가 특정 문자로 인식되면, 이에 대한 인식 결과를 제3 인공지능 모델과 연결된 데이터베이스에 저장할 수 있다.
일실시예에 따르면, 분류 신경망은 은닉층과 출력층을 가지고 있다. 장치(200) 내의 제3 인공지능 모델에서는 일반적으로 은닉층이 5개 이상 존재하며, 각 은닉층의 노드는 80개로 지정하나 경우에 따라 그 이상으로 정할 수 있다. 은닉층의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 예를 들면, 제3 인공지능 모델의 출력층 노드는 총 1개로 할 수 있다.
즉, 제3 인공지능 모델은 이미지 상에서 문자를 인식하여, 어느 문자가 인식되었는지 나타내는 문자 인식 결과를 생성하고, 생성된 문자 인식 결과를 출력 신호로 출력할 수 있다.
일실시예에 따르면, 제3 인공지능 모델은 관리자가 제3 인공지능 모델에 따른 문자 인식의 문제점 발견 시 관리자에 의해 입력된 수정 정답에 의해 생성되는 제3 학습 신호를 전달받아 학습할 수 있다. 제3 인공지능 모델에 따른 문자 인식의 문제점은 문자 인식 결과에 문제가 있는 경우를 의미할 수 있다.
일실시예에 따른 제3 학습 신호는 정답과 출력값의 오차를 바탕으로 만들어지며, 경우에 따라 델타를 이용하는 SGD나 배치 방식 혹은 역전파 알고리즘을 따르는 방식을 사용할 수 있다. 제3 학습 신호에 의해 제3 인공지능 모델은 기존의 가중치를 수정해 학습을 수행하며, 경우에 따라 모멘텀을 사용할 수 있다. 오차의 계산에는 비용함수가 사용될 수 있는데, 비용함수로 Cross entropy 함수를 사용할 수 있다.
즉, 제3 인공지능 모델은 제3 학습 신호를 통해 학습 과정을 반복함으로써, 딥러닝을 수행할 수 있으며, 학습 결과를 기반으로, 제3 인공지능 모델과 연결된 데이터베이스의 저장된 정보들도 갱신될 수 있다.
S604 단계에서, 장치(200)는 제3 인공지능 모델에서 제1 입력 신호의 입력을 통해 제1 요소가 제3 문자로 인식되면, 제3 인공지능 모델로부터 제5 출력 신호를 획득할 수 있다. 여기서, 제5 출력 신호는 제1 요소가 제3 문자로 인식된 것을 나타내는 출력 신호로, 예를 들면, 제3 문자를 지시하는 출력값에 대한 정보를 포함할 수 있다.
S605 단계에서, 장치(200)는 제5 출력 신호를 기초로, 제1 요소가 제3 문자로 인식되면, 제3 문자를 대표하는 글씨 이미지인 제3 이미지를 획득할 수 있다. 이를 위해, 장치(200)의 데이터베이스에는 문자 별로 구분되어 있는 대표 글씨 이미지가 저장되어 있고, 장치(200)는 제1 요소가 제3 문자로 인식된 것이 확인되면, 데이터베이스에 저장된 정보를 조회하여, 제3 문자의 대표 글씨 이미지인 제3 이미지를 획득할 수 있다.
S606 단계에서, 장치(200)는 제3 이미지를 기준으로, 제1 요소의 기울기 및 흘림에 대한 글씨 보정을 수행하여, 제2 이미지를 갱신할 수 있다.
즉, 장치(200)는 제3 이미지 상에 있는 제3 문자와 제1 요소의 기울기를 비교하여, 제3 이미지 상에 있는 제3 문자를 기준으로, 제1 요소에서 일부 선의 기울기를 조정하는 보정을 수행할 수 있고, 제1 요소의 기울기 보정을 통해 제2 이미지를 갱신할 수 있다. 기울기 보정과 관련된 자세한 설명은 도 8 내지 도 9를 참조하여 후술하기로 한다.
또한, 장치(200)는 제3 이미지 상에 있는 제3 문자와 제1 요소의 공백 부분을 비교하여, 제3 이미지 상에 있는 제3 문자를 기준으로, 제1 요소에서 흘림 부분을 채우는 보정을 수행할 수 있고, 제1 요소의 흘림 보정을 통해 제2 이미지를 갱신할 수 있다.
S606 단계 이후, S701 단계에서, 장치(200)는 갱신된 제2 이미지를 인코딩하여 제1-1 입력 신호를 생성할 수 있다.
S702 단계에서, 장치(200)는 제1 인공지능 모델에 제1-1 입력 신호를 입력할 수 있다.
S703 단계에서, 장치(200)는 제1 인공지능 모델에서 제1-1 입력 신호의 입력을 통해 제1 요소가 제4 문자로 인식되면, 제1 인공지능 모델로부터 제6 출력 신호를 획득할 수 있다. 여기서, 제6 출력 신호는 제1 요소가 제4 문자로 인식된 것을 나타내는 출력 신호로, 예를 들면, 제4 문자를 지시하는 출력값에 대한 정보를 포함할 수 있다.
S704 단계에서, 장치(200)는 제6 출력 신호를 기초로, 제1 요소가 제4 문자로 인식되면, 제3 문자와 제4 문자를 비교하여, 일치하는지 여부를 확인할 수 있다.
S705 단계에서, 장치(200)는 제3 문자 및 제4 문자를 비교한 결과, 일치하는 것으로 확인되면, 제1 요소를 제4 문자로 최종 인식할 수 있다.
제3 문자 및 제4 문자를 비교한 결과, 일치하지 않는 것으로 확인되면, 제1 요소에 대한 글씨 재보정이 필요한 것으로 판단하여, S603 단계로 되돌아가, 제3 인공지능 모델에 제1-1 입력 신호를 입력하는 과정부터 다시 수행될 수 있다.
도 8 내지 도 9는 일실시예에 따른 제1 요소에서 일부 선의 기울기를 보정하는 과정을 설명하기 위한 순서도이고, 도 10은 일실시예에 따른 제1 요소와 제3 문자를 나타낸 도면이다.
도 8 내지 도 9를 참조하면, S801 단계에서, 장치(200)는 제1 요소와 제3 문자를 비교한 결과, 제1 선의 기울기에 차이가 있는 것으로 확인할 수 있다.
S802 단계에서, 장치(200)는 제1 요소에 포함되어 있는 제1 선의 기울기를 제1 각도로 확인하고, 제3 문자에 포함되어 있는 제1 선의 기울기를 제2 각도로 확인할 수 있다.
예를 들어, 도 10의 (a)에 도시된 바와 같이, 제1 요소와 제3 문자는 일부 선에 대해 기울기 차이가 있을 수 있으며, 도 10의 (b)에 도시된 바와 같이, 장치(200)는 제1 요소를 제1 선(501)과 제2 선(502)으로 구분하고, 제3 문자를 제1 선(503)과 제2 선(504)으로 구분한 후, 제1 요소와 제3 문자를 비교한 결과, 제1 선(501, 503)의 기울기에 차이가 있는 것으로 확인하고, 제2 선(502, 504)의 기울기에 차이가 없는 것으로 확인할 수 있다.
이후, 장치(200)는 제1 요소에 포함되어 있는 제1 선(501)의 기울기를 제1 각도(601)로 확인하고, 제3 문자에 포함되어 있는 제1 선(503)의 기울기를 제2 각도(602)로 확인할 수 있다. 이때, 장치(200)는 제1 요소에 포함되어 있는 제2 선(502)을 기준선으로 하여, 제1 선(501)과 제2 선(502) 간의 각도를 제1 각도(601)로 설정하고, 제3 문자에 포함되어 있는 제2 선(504)을 기준선으로 하여, 제1 선(503)과 제2 선(504) 간의 각도를 제2 각도(602)로 설정할 수 있다.
S803 단계에서, 장치(200)는 제1 각도 및 제2 각도 간의 차이를 제3 각도로 산출할 수 있다.
구체적으로, 장치(200)는 제1 각도 및 제2 각도를 비교하여, 제1 각도가 제2 각도 보다 큰 것으로 확인되면, 제1 각도에서 제2 각도를 뺀 값으로 제3 각도를 산출하고, 제1 각도가 제2 각도 보다 크지 않은 것으로 확인되면, 제2 각도에서 제1 각도를 뺀 값으로 제3 각도를 산출할 수 있다.
S804 단계에서, 장치(200)는 제3 각도가 기준 범위 내에 포함되는지 여부를 확인할 수 있다. 여기서, 기준 범위는 실시예에 따라 상이하게 설정될 수 있다.
S804 단계에서 제3 각도가 기준 범위 내에 포함되어 있는 것으로 확인되면, S805 단계에서, 장치(200)는 제1 각도 및 제2 각도의 평균값으로 보정 각도를 산출할 수 있다.
S806 단계에서, 장치(200)는 보정 각도가 산출되면, 제1 요소에 포함되어 있는 제1 선의 기울기를 제1 각도에서 보정 각도로 변경할 수 있다.
예를 들어, 제1 각도가 30도이고 제2 각도가 50도이고, 기준 범위가 15도 이상 25도 미만으로 설정되어 있는 경우, 장치(200)는 제2 각도에서 제1 각도를 뺀 값인 20도를 제3 각도로 산출할 수 있고, 제3 각도가 기준 범위 내에 포함되어 있는 것으로 확인되어, 제1 각도 및 제2 각도의 평균값인 40도를 보정 각도로 산출한 후, 제1 요소에 포함되어 있는 제1 선의 기울기를 30도에서 40도로 변경하는 기울기 보정을 수행할 수 있다.
즉, 제1 각도와 제2 각도 간의 차이가 기준 범위 내에 포함되어 있는 경우, 제1 선의 기울기가 제1 각도 및 제2 각도의 평균값으로 변경되도록, 기울기 보정을 수행하여, 제1 요소에 포함되어 있는 제1 선은 제1 요소에 포함되어 있는 제1 선과 제3 문자에 포함되어 있는 제1 선의 중간 지점으로 이동될 수 있다.
한편, S804 단계에서 제3 각도가 기준 범위 내에 포함되어 있지 않고 기준 범위를 벗어나는 것으로 확인되면, S901 단계에서, 장치(200)는 제3 각도를 2로 나눈 값으로 제4 각도를 산출할 수 있다.
S902 단계에서, 장치(200)는 제3 각도가 기준 범위의 최소값 보다 작은지 여부를 확인할 수 있다.
S902 단계에서 제3 각도가 기준 범위의 최소값 보다 작은 것으로 확인되면, S903 단계에서, 장치(200)는 제1 각도 및 제2 각도를 비교하여, 어느 각도가 더 큰지 여부를 확인할 수 있다.
S903 단계에서 제1 각도가 제2 각도 보다 큰 것으로 확인되면, S904 단계에서, 장치(200)는 제2 각도에서 제4 각도를 뺀 값으로 제5 각도를 산출할 수 있다.
S905 단계에서, 장치(200)는 제1 각도 및 제5 각도의 평균값으로 보정 각도를 산출할 수 있다.
S905 단계 이후, S913 단계에서, 장치(200)는 보정 각도가 산출되면, 제1 요소에 포함되어 있는 제1 선의 기울기를 제1 각도에서 보정 각도로 변경할 수 있다.
예를 들어, 제1 각도가 50도이고 제2 각도가 40도이고, 기준 범위가 15도 이상 25도 미만으로 설정되어 있는 경우, 장치(200)는 제1 각도에서 제2 각도를 뺀 값인 10도를 제3 각도로 산출할 수 있고, 제3 각도가 기준 범위를 벗어나 있는 것으로 확인되어, 제3 각도를 2로 나눈 값인 5도를 제4 각도로 산출하고, 제3 각도가 기준 범위의 최소값 보다 작으면서 제1 각도가 제2 각도 보다 큰 것으로 확인되어, 제2 각도에서 제4 각도를 뺀 값인 35도를 제5 각도로 산출하고, 제1 각도 및 제5 각도의 평균값인 42.5도를 보정 각도로 산출한 후, 제1 요소에 포함되어 있는 제1 선의 기울기를 50도에서 42.5도로 변경하는 기울기 보정을 수행할 수 있다.
즉, 제1 각도와 제2 각도 간의 차이가 기준 범위의 최소값 보다 작으면서 제1 각도가 제2 각도 보다 큰 경우, 제1 선의 기울기가 제1 각도 및 제5 각도의 평균값으로 변경되도록, 기울기 보정을 수행하여, 제1 요소에 포함되어 있는 제1 선은 제1 요소에 포함되어 있는 제1 선과 제3 문자에 포함되어 있는 제1 선의 중간 지점 보다 제3 문자에 포함되어 있는 제1 선 쪽으로 치우쳐 이동될 수 있다.
S903 단계에서 제1 각도가 제2 각도 보다 크지 않은 것으로 확인되면, S906 단계에서, 장치(200)는 제2 각도와 제4 각도를 더한 값으로 제6 각도를 산출할 수 있다.
S907 단계에서, 장치(200)는 제1 각도 및 제6 각도의 평균값으로 보정 각도를 산출할 수 있다.
S907 단계 이후, S913 단계에서, 장치(200)는 보정 각도가 산출되면, 제1 요소에 포함되어 있는 제1 선의 기울기를 제1 각도에서 보정 각도로 변경할 수 있다.
예를 들어, 제1 각도가 40도이고 제2 각도가 50도이고, 기준 범위가 15도 이상 25도 미만으로 설정되어 있는 경우, 장치(200)는 제2 각도에서 제1 각도를 뺀 값인 10도를 제3 각도로 산출할 수 있고, 제3 각도가 기준 범위를 벗어나 있는 것으로 확인되어, 제3 각도를 2로 나눈 값인 5도를 제4 각도로 산출하고, 제3 각도가 기준 범위의 최소값 보다 작으면서 제2 각도가 제1 각도 보다 큰 것으로 확인되어, 제2 각도와 제4 각도를 더한 값인 55도를 제6 각도로 산출하고, 제1 각도 및 제6 각도의 평균값인 47.5도를 보정 각도로 산출한 후, 제1 요소에 포함되어 있는 제1 선의 기울기를 40도에서 47.5도로 변경하는 기울기 보정을 수행할 수 있다.
즉, 제1 각도와 제2 각도 간의 차이가 기준 범위의 최소값 보다 작으면서 제2 각도가 제1 각도 보다 큰 경우, 제1 선의 기울기가 제1 각도 및 제6 각도의 평균값으로 변경되도록, 기울기 보정을 수행하여, 제1 요소에 포함되어 있는 제1 선은 제1 요소에 포함되어 있는 제1 선과 제3 문자에 포함되어 있는 제1 선의 중간 지점 보다 제3 문자에 포함되어 있는 제1 선 쪽으로 치우쳐 이동될 수 있다.
S902 단계에서 제3 각도가 기준 범위의 최소값 보다 작지 않은 것으로 확인되면, 제3 각도가 기준 범위를 벗어나 있어 기준 범위의 최대값 보다 큰 것으로 확인될 수 있고, 제3 각도가 기준 범위의 최대값 보다 큰 것으로 확인되면, S908 단계에서, 장치(200)는 제1 각도 및 제2 각도를 비교하여, 어느 각도가 더 큰지 여부를 확인할 수 있다.
S908 단계에서 제1 각도가 제2 각도 보다 큰 것으로 확인되면, S909 단계에서, 장치(200)는 제1 각도와 제4 각도를 더한 값으로 제7 각도를 산출할 수 있다.
S909 단계에서, 장치(200)는 제7 각도 및 제2 각도의 평균값으로 보정 각도를 산출할 수 있다.
S909 단계 이후, S913 단계에서, 장치(200)는 보정 각도가 산출되면, 제1 요소에 포함되어 있는 제1 선의 기울기를 제1 각도에서 보정 각도로 변경할 수 있다.
예를 들어, 제1 각도가 60도이고 제2 각도가 30도이고, 기준 범위가 15도 이상 25도 미만으로 설정되어 있는 경우, 장치(200)는 제1 각도에서 제2 각도를 뺀 값인 30도를 제3 각도로 산출할 수 있고, 제3 각도가 기준 범위를 벗어나 있는 것으로 확인되어, 제3 각도를 2로 나눈 값인 15도를 제4 각도로 산출하고, 제3 각도가 기준 범위의 최대값 보다 크면서 제1 각도가 제2 각도 보다 큰 것으로 확인되어, 제1 각도와 제4 각도를 더한 값인 75도를 제7 각도로 산출하고, 제7 각도 및 제2 각도의 평균값인 52.5도를 보정 각도로 산출한 후, 제1 요소에 포함되어 있는 제1 선의 기울기를 60도에서 52.5도로 변경하는 기울기 보정을 수행할 수 있다.
즉, 제1 각도와 제2 각도 간의 차이가 기준 범위의 최대값 보다 크면서 제1 각도가 제2 각도 보다 큰 경우, 제1 선의 기울기가 제7 각도 및 제2 각도의 평균값으로 변경되도록, 기울기 보정을 수행하여, 제1 요소에 포함되어 있는 제1 선은 제1 요소에 포함되어 있는 제1 선과 제3 문자에 포함되어 있는 제1 선의 중간 지점 보다 제1 요소에 포함되어 있는 제1 선 쪽으로 치우쳐 이동될 수 있다.
S908 단계에서 제1 각도가 제2 각도 보다 크지 않은 것으로 확인되면, S911 단계에서, 장치(200)는 제1 각도에서 제4 각도를 뺀 값으로 제8 각도를 산출할 수 있다.
S912 단계에서, 장치(200)는 제8 각도 및 제2 각도의 평균값으로 보정 각도를 산출할 수 있다.
S912 단계 이후, S913 단계에서, 장치(200)는 보정 각도가 산출되면, 제1 요소에 포함되어 있는 제1 선의 기울기를 제1 각도에서 보정 각도로 변경할 수 있다.
예를 들어, 제1 각도가 30도이고 제2 각도가 60도이고, 기준 범위가 15도 이상 25도 미만으로 설정되어 있는 경우, 장치(200)는 제2 각도에서 제1 각도를 뺀 값인 30도를 제3 각도로 산출할 수 있고, 제3 각도가 기준 범위를 벗어나 있는 것으로 확인되어, 제3 각도를 2로 나눈 값인 15도를 제4 각도로 산출하고, 제3 각도가 기준 범위의 최대값 보다 크면서 제2 각도가 제1 각도 보다 큰 것으로 확인되어, 제1 각도에서 제4 각도를 뺀 값인 15도를 제8 각도로 산출하고, 제8 각도 및 제2 각도의 평균값인 37.5도를 보정 각도로 산출한 후, 제1 요소에 포함되어 있는 제1 선의 기울기를 30도에서 37.5도로 변경하는 기울기 보정을 수행할 수 있다.
즉, 제1 각도와 제2 각도 간의 차이가 기준 범위의 최대값 보다 크면서 제2 각도가 제1 각도 보다 큰 경우, 제1 선의 기울기가 제8 각도 및 제2 각도의 평균값으로 변경되도록, 기울기 보정을 수행하여, 제1 요소에 포함되어 있는 제1 선은 제1 요소에 포함되어 있는 제1 선과 제3 문자에 포함되어 있는 제1 선의 중간 지점 보다 제1 요소에 포함되어 있는 제1 선 쪽으로 치우쳐 이동될 수 있다.
도 11은 일실시예에 따른 장치의 구성의 예시도이다.
일실시예에 따른 장치(200)는 프로세서(210) 및 메모리(220)를 포함한다. 프로세서(210)는 도 1 내지 도 10을 참조하여 전술된 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 10을 참조하여 전술된 적어도 하나의 방법을 수행할 수 있다. 장치(200)를 이용하는 자 또는 단체는 도 1 내지 도 10을 참조하여 전술된 방법들 일부 또는 전부와 관련된 서비스를 제공할 수 있다.
메모리(220)는 전술된 방법들과 관련된 정보를 저장하거나 후술되는 방법들이 구현된 프로그램을 저장할 수 있다. 메모리(220)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(210)는 프로그램을 실행하고, 장치(200)를 제어할 수 있다. 프로세서(210)에 의하여 실행되는 프로그램의 코드는 메모리(220)에 저장될 수 있다. 장치(200)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 유무선 통신을 통해 데이터를 교환할 수 있다.
장치(200)는 인공지능 모델을 학습시키거나, 학습된 인공지능 모델을 이용하는데 사용될 수 있다. 메모리(220)는 학습 중인 또는 학습된 인공지능 모델을 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장된 인공지능 모델의 알고리즘을 학습시키거나 실행시킬 수 있다. 인공지능 모델을 학습시키는 학습 장치와 학습된 인공지능 모델을 이용하는 장치(200)는 동일할 수도 있고 개별적일 수도 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (3)

  1. 장치에 의해 수행되는, 인공지능 OCR 기반 비정형 손글씨 인식 방법에 있어서,
    제1 사용자 단말에 제1 사용자의 손글씨가 입력되면, 상기 제1 사용자 단말로부터 상기 제1 사용자의 손글씨를 통해 입력된 글씨 이미지인 제1 이미지를 수신하는 단계;
    상기 제1 이미지를 기반으로 상기 제1 사용자의 손글씨가 확인되면, 상기 제1 사용자의 손글씨 상에서 연결된 선을 기준으로, 각각의 요소를 구분하는 단계;
    상기 구분된 요소들 중 어느 하나인 제1 요소를 포함하는 구역을 제1 구역으로 설정하는 단계;
    상기 제1 이미지 내에서 상기 제1 구역이 있는 부분을 제2 이미지로 추출하는 단계;
    상기 제2 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계;
    상기 제1 요소가 제1 카테고리의 문자로 식별된 경우, 이미지 분석으로 제1 카테고리의 문자를 인식하도록 학습된 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계;
    상기 제1 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 제1 문자로 인식되면, 상기 제1 인공지능 모델로부터 상기 제1 요소가 상기 제1 문자로 인식된 것을 나타내는 제1 출력 신호를 획득하는 단계;
    상기 제1 출력 신호를 기초로, 상기 제1 요소를 상기 제1 문자로 인식하는 단계;
    상기 구분된 요소들 각각이 문자로 인식되면, 상기 인식된 문자들을 조합하여 제1 키워드를 생성하는 단계; 및
    상기 제1 이미지를 상기 제1 키워드로 인식하는 단계를 포함하고,
    상기 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계 이후,
    상기 제1 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 어느 문자로도 인식되지 않으면, 상기 제1 인공지능 모델로부터 상기 제1 요소가 어느 문자로도 인식되지 않는 것을 나타내는 제2 출력 신호를 획득하는 단계;
    상기 제2 출력 신호를 기초로, 상기 제1 요소가 상기 제1 카테고리의 문자로 인식되지 않아, 다른 카테고리의 문자로 인식되는지 확인이 필요한 것으로 판단하는 단계;
    이미지 분석으로 제2 카테고리의 문자를 인식하도록 학습된 제2 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계;
    상기 제2 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 제2 문자로 인식되면, 상기 제2 인공지능 모델로부터 상기 제1 요소가 상기 제2 문자로 인식된 것을 나타내는 제3 출력 신호를 획득하는 단계; 및
    상기 제3 출력 신호를 기초로, 상기 제1 요소를 상기 제2 문자로 인식하는 단계를 더 포함하고,
    상기 제2 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계 이후,
    상기 제2 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 어느 문자로도 인식되지 않으면, 상기 제2 인공지능 모델로부터 상기 제1 요소가 어느 문자로도 인식되지 않는 것을 나타내는 제4 출력 신호를 획득하는 단계;
    상기 제4 출력 신호를 기초로, 상기 제1 요소가 상기 제2 카테고리의 문자로도 인식되지 않아, 사용자 필적을 통해 특정 문자로 인식되는지 확인이 필요한 것으로 판단하는 단계;
    이미지 분석으로 상기 제1 사용자의 필적을 통해 문자를 인식하도록 학습된 제3 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계;
    상기 제3 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 제3 문자로 인식되면, 상기 제3 인공지능 모델로부터 상기 제1 요소가 상기 제3 문자로 인식된 것을 나타내는 제5 출력 신호를 획득하는 단계;
    상기 제5 출력 신호를 기초로, 상기 제1 요소가 상기 제3 문자로 인식되면, 상기 제3 문자를 대표하는 글씨 이미지인 제3 이미지를 획득하는 단계;
    상기 제3 이미지를 기준으로, 상기 제1 요소의 기울기 및 흘림에 대한 글씨 보정을 수행하여, 상기 제2 이미지를 갱신하는 단계;
    상기 갱신된 제2 이미지를 인코딩하여 제1-1 입력 신호를 생성하는 단계;
    상기 제1 인공지능 모델에 상기 제1-1 입력 신호를 입력하는 단계;
    상기 제1 인공지능 모델에서 상기 제1-1 입력 신호의 입력을 통해 상기 제1 요소가 제4 문자로 인식되면, 상기 제1 인공지능 모델로부터 상기 제1 요소가 상기 제4 문자로 인식된 것을 나타내는 제6 출력 신호를 획득하는 단계;
    상기 제6 출력 신호를 기초로, 상기 제1 요소가 상기 제4 문자로 인식되면, 상기 제3 문자와 상기 제4 문자를 비교하여, 일치하는지 여부를 확인하는 단계; 및
    상기 제3 문자 및 상기 제4 문자를 비교한 결과, 일치하는 것으로 확인되면, 상기 제1 요소를 상기 제4 문자로 최종 인식하는 단계를 더 포함하는,
    인공지능 OCR 기반 비정형 손글씨 인식 방법.
  2. 제1항에 있어서,
    상기 제1 입력 신호를 생성하는 단계와 상기 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계 사이에,
    이미지 분석으로 문자의 카테고리를 식별하도록 학습된 제0 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계;
    상기 제0 인공지능 모델에서 상기 제1 입력 신호의 입력을 통해 상기 제1 요소가 상기 제1 카테고리의 문자로 식별되면, 상기 제0 인공지능 모델로부터 상기 제1 요소가 상기 제1 카테고리의 문자로 식별된 것을 나타내는 제0 출력 신호를 획득하는 단계; 및
    상기 제0 출력 신호를 기초로, 상기 제1 요소의 문자 인식을 위해 이용될 인공지능 모델을 상기 제1 인공지능 모델로 선정하는 단계를 더 포함하는,
    인공지능 OCR 기반 비정형 손글씨 인식 방법.
  3. 삭제
KR1020230123718A 2023-09-18 2023-09-18 인공지능 ocr 기반 비정형 손글씨 인식 방법, 장치 및 시스템 KR102610242B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230123718A KR102610242B1 (ko) 2023-09-18 2023-09-18 인공지능 ocr 기반 비정형 손글씨 인식 방법, 장치 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230123718A KR102610242B1 (ko) 2023-09-18 2023-09-18 인공지능 ocr 기반 비정형 손글씨 인식 방법, 장치 및 시스템

Publications (1)

Publication Number Publication Date
KR102610242B1 true KR102610242B1 (ko) 2023-12-07

Family

ID=89163166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230123718A KR102610242B1 (ko) 2023-09-18 2023-09-18 인공지능 ocr 기반 비정형 손글씨 인식 방법, 장치 및 시스템

Country Status (1)

Country Link
KR (1) KR102610242B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388196B1 (ko) 2012-11-12 2014-04-23 재단법인대구경북과학기술원 모바일 단말기의 카메라 기반 필기 인식 방법 및 그 장치
KR20210017090A (ko) * 2019-08-06 2021-02-17 삼성전자주식회사 필기 입력을 텍스트로 변환하는 방법 및 전자 장치
KR20220068671A (ko) 2020-11-19 2022-05-26 김한길 일기장을 통한 심리상태와 희망사항 파악방법 및 시스템
KR102468713B1 (ko) * 2022-07-07 2022-11-21 주식회사 에이치투케이 학습자의 한글 필기에 대한 인공지능 기반의 획순 인식 장치 및 방법
KR102476578B1 (ko) 2022-01-17 2022-12-13 (주)플레이스터디 딥러닝 손글씨 인식을 통한 주관식 답안 자동 채점 방법 및 그 시스템
KR20230036674A (ko) * 2021-09-08 2023-03-15 정수아 Hog, svm 영상처리기법을 이용한 필기체 문자 인식 방법
KR102516560B1 (ko) 2022-07-12 2023-03-31 망고클라우드 주식회사 수기로 작성된 문서의 관리 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388196B1 (ko) 2012-11-12 2014-04-23 재단법인대구경북과학기술원 모바일 단말기의 카메라 기반 필기 인식 방법 및 그 장치
KR20210017090A (ko) * 2019-08-06 2021-02-17 삼성전자주식회사 필기 입력을 텍스트로 변환하는 방법 및 전자 장치
KR20220068671A (ko) 2020-11-19 2022-05-26 김한길 일기장을 통한 심리상태와 희망사항 파악방법 및 시스템
KR20230036674A (ko) * 2021-09-08 2023-03-15 정수아 Hog, svm 영상처리기법을 이용한 필기체 문자 인식 방법
KR102476578B1 (ko) 2022-01-17 2022-12-13 (주)플레이스터디 딥러닝 손글씨 인식을 통한 주관식 답안 자동 채점 방법 및 그 시스템
KR102468713B1 (ko) * 2022-07-07 2022-11-21 주식회사 에이치투케이 학습자의 한글 필기에 대한 인공지능 기반의 획순 인식 장치 및 방법
KR102516560B1 (ko) 2022-07-12 2023-03-31 망고클라우드 주식회사 수기로 작성된 문서의 관리 시스템

Similar Documents

Publication Publication Date Title
US11657286B2 (en) Structure learning in convolutional neural networks
Kaymak et al. A brief survey and an application of semantic image segmentation for autonomous driving
US11087086B2 (en) Named-entity recognition through sequence of classification using a deep learning neural network
US11651214B2 (en) Multimodal data learning method and device
CN111191791A (zh) 机器学习模型的应用方法、训练方法、装置、设备及介质
KR20190029083A (ko) 신경망 학습 방법 및 이를 적용한 장치
KR102586799B1 (ko) 인공지능 모델을 활용한 웹소설 기반 웹북 생성 자동화 처리 방법, 장치 및 시스템
Jaafra et al. A review of meta-reinforcement learning for deep neural networks architecture search
KR102539679B1 (ko) 사용자의 경로를 이용하여 사용자 맞춤형 장소 추천 방법, 장치 및 시스템
Yan Computational methods for deep learning: theory, algorithms, and implementations
KR102610242B1 (ko) 인공지능 ocr 기반 비정형 손글씨 인식 방법, 장치 및 시스템
Berlin et al. R-STDP based spiking neural network for human action recognition
Vanani et al. Deep learning for opinion mining
Goltsev et al. Modular neural networks with Hebbian learning rule
EP3961515A2 (en) Method for learning model
Sahoo et al. Character recognition using firefly based back propagation neural network
KR102636797B1 (ko) 인공지능 모델을 활용하여 해시태그 기반 노트 주제 및 노트 콘텐츠 분석을 통해 사용자 심리 상태를 분석하고 이에 대한 솔루션 제공 방법, 장치 및 시스템
KR102607063B1 (ko) 인공지능 모델을 활용한 영상 처리 기반 영상 편집자동화 솔루션 제공 방법, 장치 및 시스템
KR102618066B1 (ko) 군인 기반 커뮤니티 애플리케이션에서 자연어 처리 및 이미지 대조를 기반으로 하여 군사 보안을 강화하는 방법, 장치 및 시스템
KR102700884B1 (ko) 인공지능 모델 기반 음원 채널 별 유통 및 마케팅 자동화를 통한 음원 콘텐츠 엑셀러레이팅 플랫폼 서비스 제공 방법, 장치 및 시스템
KR102596930B1 (ko) 인공지능 모델을 활용한 홈페이지 제작 정보 생성 자동화방법, 장치 및 시스템
KR102476815B1 (ko) 인공지능 기반 스톡 이미지 자동 추출 방법, 장치 및 시스템
KR102670871B1 (ko) Ai 기반의 확장 가능한 api 앱 노코드 rpa 업무 자동화 구독서비스 플랫폼 제공 방법, 장치 및 시스템
KR102649899B1 (ko) 인공지능 모델 및 ar을 활용한 차량 수출 정보 및 차량 상태 모델링 정보 생성 방법, 장치 및 시스템
KR102701097B1 (ko) 인공지능을 활용하여 국회 의정 활동을 위한 비서 역할을 수행하는 디지털 비서관 서비스를 제공하는 방법, 장치 및 시스템

Legal Events

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