KR20230053263A - Method of providing annotation review feedback and a computer program recorded on a recording medium to execute the method - Google Patents

Method of providing annotation review feedback and a computer program recorded on a recording medium to execute the method Download PDF

Info

Publication number
KR20230053263A
KR20230053263A KR1020210136609A KR20210136609A KR20230053263A KR 20230053263 A KR20230053263 A KR 20230053263A KR 1020210136609 A KR1020210136609 A KR 1020210136609A KR 20210136609 A KR20210136609 A KR 20210136609A KR 20230053263 A KR20230053263 A KR 20230053263A
Authority
KR
South Korea
Prior art keywords
annotation
data
learning
bounding box
input
Prior art date
Application number
KR1020210136609A
Other languages
Korean (ko)
Inventor
노성운
오승진
Original Assignee
주식회사 인피닉
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 인피닉 filed Critical 주식회사 인피닉
Priority to KR1020210136609A priority Critical patent/KR20230053263A/en
Publication of KR20230053263A publication Critical patent/KR20230053263A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

Disclosed is a method of providing annotation review feedback efficiently in a process of annotating a plurality of pieces of artificial intelligence (AI) learning data. The method may comprise: a step of receiving, by an annotation device, a command indicating that a worker has a question through a user interface (UI) in an annotation work process for AI learning; a step of generating, by the annotation device, question data corresponding to the input command; a step of searching, by the annotation device, a database of a learning data design device pre-set based on the question data; and a step of converting, by the annotation device, response data searched from the database into a natural language to provide the same to the worker through a chatting unit.

Description

어노테이션 리뷰 피드백 제공 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method of providing annotation review feedback and a computer program recorded on a recording medium to execute the method}Method of providing annotation review feedback and a computer program recorded on a recording medium to execute the method

본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터 설계에 관한 것이다. 보다 상세하게는, 많은 수의 인공지능(AI) 학습용 데이터를 어노테이션하는 과정에서 효율적으로 어노테이션 리뷰 피드백 제공 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to data design for artificial intelligence (AI) learning. More specifically, it relates to a method for efficiently providing annotation review feedback in the process of annotating a large number of artificial intelligence (AI) learning data and a computer program recorded on a recording medium to execute the method.

인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.Artificial intelligence (AI) refers to a technology that artificially implements some or all of human learning abilities, reasoning abilities, and perception abilities using computer programs. In relation to artificial intelligence (AI), machine learning refers to learning to optimize parameters with given data using a model composed of multiple parameters. Such machine learning is classified into supervised learning, unsupervised learning, and reinforcement learning according to the form of learning data.

일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장, 및 데이터의 검증 단계로 진행된다.In general, the design of artificial intelligence (AI) learning data proceeds in the steps of data structure design, data collection, data refinement, data processing, data expansion, and data verification.

각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 메타데이터(meta data)를 입력하고 어노테이션(annotation)을 수행하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.To describe each step in more detail, data structure design is performed through ontology definition, classification system definition, and the like. Data collection is performed by collecting data through direct filming, web crawling, or associations/professional organizations. Data purification is performed by removing redundant data from collected data and de-identifying personal information. Data processing is performed by inputting meta data and performing annotation. Data extension is performed by performing ontology mapping and supplementing or extending the ontology as needed. In addition, data verification is performed by verifying validity according to the set target quality using various verification tools.

일반적으로, 데이터 가공 단계의 어노테이션은 이미지 속에 포함된 객체에 대하여 바운딩 박스(bounding box) 처리하고, 바운딩 박스 처리된 객체의 속성 정보를 입력하여 진행된다. 이와 같은 어노테이션은 데이터 라벨링(data labeling)이라 지칭되기도 한다. 그리고, 어노테이션의 작업 결과물에 해당되는 데이터셋(dataset)은 JSON(Java Script Object Notation) 파일 형태로 산출된다.In general, annotation in the data processing step is performed by processing a bounding box for an object included in an image and inputting property information of the object included in the image. Such annotations are also referred to as data labeling. And, a dataset corresponding to the work result of the annotation is calculated in the form of a JSON (Java Script Object Notation) file.

이러한, 어노테이션 작업은 적게는 몇 천개에서 많게는 수 백만개에 이르는 많은 수의 데이터를 대상으로 이루어지므로, 어노테이션 작업을 수행하는 작업자 또한 많은 수의 인원으로 이루어진다. 그리고, 수많은 어노테이션 작업자들은 각자 자신에게 할당된 많은 수의 어노테이션 작업을 수행하는 과정에서 가지게 된 많은 의문 사항을 질의응답을 통해 해결하고자 한다.Since such annotation work is performed on a large number of data ranging from a few thousand to several million pieces of data, a large number of workers perform the annotation work. In addition, many annotation workers try to solve many questions they have in the process of performing a large number of annotation tasks assigned to them through Q&A.

그러나, 통상의 사고력을 가진 어노테이션 작업자들이 가지게 되는 의문 사항은 서로 동일하거나 유사한 경우가 많으며, 관리자가 수많은 어노테이션 작업자로부터 개별적으로 받은 모든 질의에 상세하게 응답하는 것은 비효율적인 측면이 크다.However, questions that annotation workers with normal thinking skills have are often the same or similar to each other, and it is inefficient for a manager to respond in detail to all inquiries individually received from numerous annotation workers.

또한, 수많은 작업자들이 어노테이션 작업을 수행하는 과정에는 공통적으로 준수해야 하는 데이터 가공 규칙이 정해져 있다. 이러한, 데이터 가공 규칙은 인공지능(AI)의 학습 목표 및 학습 방법론 등에 따라 다양하게 결정될 수 있다. 예를 들어, 데이터 가공 규칙은 객체를 특정하기 위한 바운딩 박스(bounding box)의 설정 순서, 설정 방식 및 사용해야 하는 툴과, 특정된 객체에 할당하는 속성 정보(properties information)의 입력 유형, 입력 규칙 및 입력 가능한 형식 등이 다양하게 조합되어 결정될 수 있다.In addition, data processing rules that must be commonly observed are established in the process of performing annotation work by numerous workers. These data processing rules may be determined in various ways according to the learning goal and learning methodology of artificial intelligence (AI). For example, data processing rules include the order of setting bounding boxes for specifying objects, setting methods and tools to be used, input types of property information assigned to specified objects, input rules, and Formats that can be input may be determined in various combinations.

그러나, 통상의 사고력을 가진 어노테이션 작업자들이 데이터 가공 규칙을 정확하게 따를 것으로 단정할 수 없으며, 수많은 어노테이션 작업자가 동일하거나 또는 유사한 오류를 발생시키는 경우가 흔한 상황이다.However, it cannot be determined that annotation workers with normal thinking ability will accurately follow data processing rules, and it is common for many annotation workers to generate the same or similar errors.

대한민국 공개특허공보 제10-2020-0042629호, ‘인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치’, (2020.04.24. 공개)Korean Patent Laid-open Publication No. 10-2020-0042629, ‘Method and apparatus for generating touch-based annotations and images in mobile devices for artificial intelligence learning’, (published on April 24, 2020)

본 발명의 일 목적은 많은 수의 인공지능(AI) 학습용 데이터를 어노테이션하는 과정에서 효율적으로 어노테이션 리뷰 피드백을 제공하는 것이다.One object of the present invention is to efficiently provide annotation review feedback in the process of annotating a large number of artificial intelligence (AI) learning data.

본 발명의 다른 목적은 효율적으로 질의응답을 제공할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program recorded on a recording medium to execute a method capable of efficiently providing question and answering.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 많은 수의 인공지능(AI) 학습용 데이터를 어노테이션하는 과정에서 효율적으로 어노테이션 리뷰 피드백을 제안한다. 상기 방법은 어노테이션 장치가, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업 과정에서, 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 의문점이 존재함을 알리는 명령을 입력 받는 단계; 상기 어노테이션 장치가, 상기 입력된 명령에 대응하여 질의 데이터를 생성하는 단계; 상기 어노테이션 장치가, 상기 질의 데이터를 기초로 사전에 설정된 학습 데이터 설계 장치의 데이터베이스를 검색하는 단계; 및 상기 어노테이션 장치가, 상기 데이터베이스로부터 검색된 응답 데이터를 자연어로 변환하여 채팅부를 통해 상기 작업자에게 제공하는 단계;를 포함할 수 있다.In order to achieve the technical problem as described above, we propose an annotation review feedback efficiently in the process of annotating a large number of AI learning data. The method includes the steps of receiving a command from an operator through a user interface (UI) in an annotation work process for artificial intelligence (AI) learning by an annotation device, informing that a question mark exists; generating, by the annotation device, query data in response to the input command; Searching, by the annotation device, a database of previously set learning data design devices based on the query data; and converting, by the annotation device, response data retrieved from the database into natural language and providing the result to the worker through a chatting unit.

상기 어노테이션 장치는, 상기 작업로부터 입력된 의문점이 동일 사유에 대한 의문점인 것으로 판단하면, 데이터베이스를 검색하는 단계에서 상기 어노테이션 작업에 대한 기초사용법을 추가적으로 검색할 수 있다.If it is determined that the question mark input from the job is a question mark for the same reason, the annotation device may additionally search for a basic usage method for the annotation job in the database search step.

또한, 상기 데이터베이스를 검색하는 단계는, 상기 채팅부에 누적되어 존재하는 작업자들의 의문점을 검색하고, 상기 작업자에게 제공하는 단계는, 상기 입력받는 의문점과 관련하여, 질문 빈도수와 질문 유형 패턴을 분석하여 응답 데이터를 제공할 수 있다.In addition, the step of searching the database searches for questions of workers accumulated and existing in the chatting unit, and the step of providing the questions to the operator analyzes the frequency of questions and question type patterns in relation to the questions received, You can provide response data.

그리고 상기 데이터베이스를 검색하는 단계는, 어노테이션 작업 대상이 되는 이미지에 대한 유사도를 검색하고, 상기 작업자에게 제공하는 단계는, 상기 이미지에 하이라이트를 표시하여 응답 데이터로 제공할 수 있다.In the searching of the database, a similarity to an image to be annotated is retrieved, and in the providing to the operator, a highlight may be displayed on the image and provided as response data.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 상술한 바와 같은 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어, 상기 프로세서가, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업 과정에서, 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 의문점이 존재함을 알리는 명령을 입력 받는 단계; 상기 프로세서가, 상기 입력된 명령에 대응하여 질의 데이터를 생성하는 단계; 상기 프로세서가, 상기 질의 데이터를 기초로 사전에 설정된 학습 데이터 설계 장치의 데이터베이스를 검색하는 단계; 및 상기 프로세서가, 상기 데이터베이스로부터 검색된 응답 데이터를 자연어로 변환하여 채팅부를 통해 상기 작업자에게 제공하는 단계;를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.In order to achieve the technical problem as described above, the present invention proposes a computer program recorded on a recording medium to execute the method as described above. The computer program may include a memory; transceiver; And combined with a computing device configured to include a processor for processing instructions residing in the memory, the processor, in the process of annotation (annotation) for artificial intelligence (Artificial Intelligence, AI) learning, a user interface ( Receiving a command notifying that a question exists from a worker through a user interface (UI); generating, by the processor, query data in response to the input command; searching, by the processor, a database of previously set learning data design devices based on the query data; and converting, by the processor, the response data retrieved from the database into natural language and providing the result to the worker through a chatting unit; it may be a computer program recorded on a recording medium.

기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.

본 발명의 실시 예들에 따르면, 작업자들이 인공지능(AI) 학습을 위한 다수의 이미지에 대하여 어노테이션 작업을 수행하는 과정에서 가지게 되는 의문 사항에 대하여, 다른 작업자의 질의응답이 누적 저장된 데이터베이스를 통해 자동 응답함으로써, 관리지가 직접 답변해야 하는 응답의 수를 감소시킬 수 있게 된다.According to embodiments of the present invention, with respect to questions that workers have in the process of performing annotation work on a plurality of images for artificial intelligence (AI) learning, automatic response through a database in which other workers' questions and answers are accumulated By doing so, it is possible to reduce the number of responses that the manager has to answer directly.

즉, 본 발명의 실시 예들에 따르면, 작업자들이 가지게 되는 의문에 대한 질의응답(Question and Answer, Q&A)을 자주 묻는 질문들(Frequently Asked Questions, FAQ)과 같이 처리할 수 있게 된다.That is, according to the embodiments of the present invention, Q&A for questions that workers have can be processed like Frequently Asked Questions (FAQ).

특히, 본 발명은 리뷰어의 리뷰 결과 부적합일 경우, Missing point를 지적하는 과정에서 리뷰어의 지적사항 뿐만 아니라 저장소에서 유사 데이터를 선별하여 자연어 처리를 하고 채팅 시스템을 통해 틀린 이슈에 대해서 사용자에게 추가 정보를 제공하여 효율적인 피드백이 가능한 효과가 있다.In particular, the present invention, in the process of pointing out missing points as a result of the reviewer's review, selects similar data from the repository as well as the reviewer's points out, processes it in natural language, and provides additional information to the user about the wrong issue through a chatting system. It has the effect of providing effective feedback.

또한, 본 발명은 작업자가 문의를 할 경우, 저장소에서 유사한 Missing point를 판단하고 찾아서 자동으로 답변을 수행할 수 있으므로 더욱 효율적인 피드백이 가능한 효과가 있다.In addition, when an operator makes an inquiry, the present invention determines and finds a similar missing point in the storage and automatically performs an answer, so there is an effect of enabling more efficient feedback.

본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. In addition, technical terms used in this specification should be interpreted in terms commonly understood by those of ordinary skill in the art to which the present invention belongs, unless specifically defined otherwise in this specification, and are overly inclusive. It should not be interpreted in a positive sense or in an excessively reduced sense. In addition, when the technical terms used in this specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be replaced with technical terms that those skilled in the art can correctly understand. In addition, general terms used in the present invention should be interpreted as defined in advance or according to context, and should not be interpreted in an excessively reduced sense.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, singular expressions used in this specification include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "consisting of" or "having" should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or steps are included. It should be construed that it may not be, or may further include additional components or steps.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Also, terms including ordinal numbers such as first and second used in this specification may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but other components may exist in the middle. On the other hand, when a component is referred to as “directly connected” or “directly connected” to another component, it should be understood that no other component exists in the middle.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are given the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted. In addition, in describing the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description will be omitted. In addition, it should be noted that the accompanying drawings are only for easily understanding the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings. The spirit of the present invention should be construed as extending to all changes, equivalents or substitutes other than the accompanying drawings.

인공지능 학습을 위해 수집한 데이터는 단순히 몇 개에 불과한 수준이 아닌, 실시간으로 촬영된 매우 많은 수로 구성된다. 이와 같이 수집된 데이터를 학습 데이터 수집 장치가 데이터 수집 서버에 수많은 raw data들을 전송하는데 많은 부담이 존재한다. 또한, 일반적으로 수집 장치는 실시간 촬영을 통해 raw data들을 수집하므로, 수집된 raw data 중에는 서로 유사하여 인공지능 학습 효율이 낮은 데이터들이 포함될 수 있어 데이터 관리의 효율성이 부각된다.The data collected for artificial intelligence learning consists of very large numbers taken in real time, not just a few. There is a lot of burden for the learning data collection device to transmit a lot of raw data to the data collection server for the collected data. In addition, since the collection device generally collects raw data through real-time shooting, among the collected raw data, similar data with low artificial intelligence learning efficiency may be included, thereby highlighting the efficiency of data management.

본 발명의 일 실시예에 따른 인공지능 학습 시스템은 하나 이상의 어노테이션 장치 및 인공지능 학습 장치를 포함하여 구성될 수 있다.An artificial intelligence learning system according to an embodiment of the present invention may include one or more annotation devices and an artificial intelligence learning device.

본 발명의 다른 실시예에 따른 인공지능 학습 시스템은 어노테이션 장치 및 인공지능 학습 장치 외에 학습 데이터 설계 장치를 추가적으로 포함하여 구성될 수 있다.An artificial intelligence learning system according to another embodiment of the present invention may be configured to additionally include a learning data design device in addition to the annotation device and the artificial intelligence learning device.

또한, 본 발명의 또 다른 실시예에 따른 인공지능 학습 시스템은 어노테이션 장치, 학습 데이터 설계 장치 및 인공지능 학습 장치가 공개된 네트워크(public network)를 통해 서로 연결될 수도 있다. 이 경우, 어노테이션 장치의 일부는 클라우딩 서비스(clouding service)에 의해 어노테이션을 수행하는 장치가 될 수도 있다.In addition, in the artificial intelligence learning system according to another embodiment of the present invention, the annotation device, the learning data design device, and the artificial intelligence learning device may be connected to each other through a public network. In this case, a part of the annotation device may be a device that performs annotation by a clouding service.

이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the artificial intelligence learning system according to various embodiments are merely functionally distinct elements, two or more components are integrated and implemented in the actual physical environment, or one component is implemented in the actual physical environment. may be implemented separately from each other.

각각의 구성 요소에 대하여 설명하면, 어노테이션 장치는 학습 데이터 설계 장치 또는 인공지능 학습 장치로부터 제공된 이미지에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다.Each component is described, and the annotation device is a device that can be used to annotate an image provided from a learning data design device or an artificial intelligence learning device.

특히, 본 발명에 따른 어노테이션 장치는 어노테이션 작업과 관련하여 바운딩 박스를 설정하고, 객체의 속성 정보를 입력하는 과정에서 작업자에게 다양한 편의성을 제공할 수 있는 특징을 가지고 있다.In particular, the annotation apparatus according to the present invention has a feature of providing various conveniences to the operator in the process of setting a bounding box and inputting object attribute information in relation to annotation work.

이와 같은, 어노테이션 장치는 학습 데이터 설계 장치 또는 인공지능 학습 장치와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.Any device capable of transmitting and receiving data to and from a learning data design device or an artificial intelligence learning device and performing calculations using the transmitted and received data may be used as the annotation device.

예를 들어, 어노테이션 장치는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되지 아니하고, 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수도 있다.For example, the annotation device may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto, and is not limited to, a smart phone or a laptop. ), tablets, phablets, portable multimedia players (PMPs), personal digital assistants (PDAs) or e-book readers. can be any one of them.

다음 구성으로, 학습 데이터 설계 장치는 인공지능(AI) 학습용 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. 이와 같은, 학습 데이터 설계 장치는 기본적으로 인공지능 학습 장치와 구분되는 장치이나, 실제 물리적 환경에서 인공지능 학습 장치에 통합되어 구현될 수도 있다.With the following configuration, the learning data design device is a device that can be used to design and generate artificial intelligence (AI) learning data. Such a learning data design device is basically a device that is distinguished from an artificial intelligence learning device, but may be implemented by being integrated with an artificial intelligence learning device in a real physical environment.

구체적으로, 학습 데이터 설계 장치는 인공지능 학습 장치로부터 인공지능(AI) 학습과 관련된 프로젝트의 속성을 수신할 수 있다. 학습 데이터 설계 장치는 사용자의 제어 및 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 데이터 구조의 설계, 수집된 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행할 수 있다.Specifically, the learning data design device may receive attributes of a project related to artificial intelligence (AI) learning from the artificial intelligence learning device. The learning data design device can design data structures for artificial intelligence (AI) learning, refine collected data, process data, expand data, and verify data based on the user's control and the attributes of the project. there is.

특히, 학습 데이터 설계 장치는 인공지능(AI) 학습을 위한 데이터 가공을 위하여, 어노테이션의 대상이 되는 이미지를 어노테이션 장치에 전송할 수 있다. 학습 데이터 설계 장치는 어노테이션 장치로부터 어노테이션 작업 결과물을 수신할 수 있다. 이 경우, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있다. 이와 다르게, 학습 데이터 설계 장치는 JSON과 다른 형식의 어노테이션 작업 결과물을 수신한 후, 수신된 결과물을 기초로 JSON 파일을 생성할 수도 있다. 그리고, 학습 데이터 설계 장치는 수신 또는 생성된 JSON 파일을 검수(inspection)한 후, 이를 패키징하여 인공지능 학습 장치에 전송할 수 있다.In particular, the learning data design device may transmit an image to be annotated to the annotation device for data processing for artificial intelligence (AI) learning. The learning data design device may receive an annotation work result from the annotation device. In this case, the annotation work result may have a JSON (Java Script Object Notation) file format. Alternatively, the learning data design device may generate a JSON file based on the received result after receiving a result of annotation work in a format different from JSON. In addition, the learning data design device inspects the received or generated JSON file, packages it, and transmits it to the artificial intelligence learning device.

이와 같은, 학습 데이터 설계 장치는 어노테이션 장치 및 인공지능 학습 장치와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 설계 장치는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the learning data design device may be any device capable of transmitting and receiving data to and from the annotation device and the artificial intelligence learning device and performing calculations using the transmitted and received data. For example, the learning data design device may be any one of a desktop, a workstation, or a fixed computing device such as a server, but is not limited thereto.

다음 구성으로, 인공지능 학습 장치는 인공지능(AI) 학습용 데이터를 기초로, 인공지능(AI)의 기계 학습을 수행하는데 사용될 수 있는 장치이다.With the following configuration, the artificial intelligence learning device is a device that can be used to perform machine learning of artificial intelligence (AI) based on data for artificial intelligence (AI) learning.

구체적으로, 인공지능 학습 장치는 어노테이션 장치로부터 직접 또는 학습 데이터 설계 장치로부터 패키징된 JSON 파일을 수신할 수 있다. 그리고, 인공지능 학습 장치는 수신된 JSON 파일을 이용하여 인공지능(AI)의 기계 학습을 수행할 수 있다.Specifically, the artificial intelligence learning device may receive a JSON file packaged directly from the annotation device or from the learning data design device. And, the artificial intelligence learning device may perform artificial intelligence (AI) machine learning using the received JSON file.

이와 같은, 인공지능 학습 장치는 어노테이션 장치 또는 학습 데이터 설계 장치와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.Such an artificial intelligence learning device may be any device capable of transmitting and receiving data to and from an annotation device or learning data design device and performing calculations using the transmitted and received data. For example, the artificial intelligence learning device may be any one of a desktop, a workstation, or a fixed computing device such as a server, but is not limited thereto.

상술한 바와 같은, 하나 이상의 어노테이션 장치, 학습 데이터 설계 장치 및 인공지능 학습 장치는 장치들 사이에 직접 연결된 보안회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, one or more annotation devices, learning data design devices, and artificial intelligence learning devices may transmit and receive data using a network in which one or more of a security line, a common wired communication network, or a mobile communication network directly connected between devices is combined. there is.

예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다. For example, public wired communication networks may include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). It may be, but is not limited thereto. In addition, in the mobile communication network, Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), High Speed Packet Access (HSPA), Long Term Evolution, LTE) and 5th generation mobile telecommunication may be included, but is not limited thereto.

또한, 어노테이션 장치는 통신부, 입출력부, 저장부, 바운딩 박스 설정부, 객체 속성 설정부 및 결과물 생성부를 포함하여 구성될 수 있다.In addition, the annotation device may include a communication unit, an input/output unit, a storage unit, a bounding box setting unit, an object property setting unit, and a result generation unit.

이와 같은, 어노테이션 장치의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the annotation device are merely functionally distinct elements, two or more components may be integrated and implemented in an actual physical environment, or one component may be implemented separately from each other in an actual physical environment. There will be.

각각의 구성 요소에 대하여 설명하면, 통신부는 학습 데이터 설계 장치 및 인공지능 학습 장치와 데이터를 송수신할 수 있다.The communication unit may transmit/receive data with the learning data design device and the artificial intelligence learning device.

구체적으로, 통신부는 학습 데이터 설계 장치 또는 인공지능 학습 장치로부터 하나 이상의 이미지를 수신할 수 있다. Specifically, the communication unit may receive one or more images from the learning data design device or the artificial intelligence learning device.

여기서, 이미지는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지이다. 이와 같은, 이미지는 학습 데이터 설계 장치 또는 인공지능 학습 장치가 설계한 데이터 가공 계획에 따라, 어노테이션 작업의 대상이 되는 이미지를 개별적으로 수신하거나, 또는 복수 개의 이미지를 일괄적으로 수신할 수 있다.Here, the image is an image that is a target of annotation work for artificial intelligence (AI) learning. According to the data processing plan designed by the learning data design device or the artificial intelligence learning device, images to be annotated may be individually received or a plurality of images may be collectively received.

통신부는 어노테이션의 작업 결과물을 학습 데이터 설계 장치 또는 인공지능 학습 장치에 전송할 수 있다.The communication unit may transmit the work result of the annotation to the learning data design device or the artificial intelligence learning device.

여기서, 작업 결과물은 작업자의 제어에 따라 설정된 바운딩 박스의 좌표 및 객체의 속성 정보가 포함될 수 있다. 또한, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Here, the work result may include the coordinates of the bounding box set under the operator's control and property information of the object. In addition, the work result may have a JSON file format, but is not limited thereto.

그리고, 통신부는 학습 데이터 설계 장치 또는 인공지능 학습 장치로부터 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 수신할 수 있다.And, the communication unit may receive project properties, image properties, or worker properties from the learning data design device or the artificial intelligence learning device.

여기서, 프로젝트의 속성에는 인공지능(AI)의 학습과 관련된 프로젝트에 대한 학습 목적, 학습 기간, 학습에 필요한 이미지의 수, 이미지에서 식별하고자 하는 객체의 속성, 바운딩 박스 설정 규칙 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.Here, the properties of the project may include the learning purpose, learning period, number of images required for learning, object properties to be identified in images, bounding box setting rules, etc. for a project related to artificial intelligence (AI) learning. It is not limited to this.

이미지의 속성에는 이미지의 파일명, 이미지의 크기(너비, 높이), 해상도, 비트 수준, 압축 형식, 촬영 장치명, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 값, 촬영 장소 좌표(GPS 위도, 경도), 촬영 시각 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.Image properties include image file name, image size (width, height), resolution, bit level, compression format, shooting device name, exposure time, ISO speed, focal length, aperture value, and shooting location coordinates (GPS latitude, longitude). , shooting time, etc. may be included, but is not limited thereto.

작업자의 속성에는 작업자의 명칭, 식별번호, 할당된 작업량, 작업에 따른 비용, 작업 결과 평가 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.The worker's attributes may include, but are not limited to, the worker's name, identification number, assigned work amount, cost according to the work, work result evaluation, and the like.

또한, 바운딩 박스 설정 규칙은 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성에 따라, 작업자가 이미지 내의 객체에 바운딩 박스를 설정하는 과정에서 지켜야 하는 규칙이다. 이러한, 바운딩 박스 설정 규칙에는 영역의 최소 크기 값, 객체의 외곽선으로부터의 최대 이격 픽셀 수 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.In addition, the bounding box setting rule is a rule that a worker must follow in a process of setting a bounding box for an object in an image according to a project property, an image property, or a worker property. These bounding box setting rules may include, but are not limited to, a minimum size value of an area and a maximum number of pixels separated from an object's outline.

다음 구성으로, 입출력부는 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 신호를 입력 거나, 또는 연산된 결과를 외부로 출력할 수 있다.With the following configuration, the input/output unit may input a signal from an operator through a user interface (UI) or output calculated results to the outside.

여기서, 작업자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 작업자는 사용자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.Here, the worker means a person who performs annotation work. Such an operator may be referred to as a user, performer, labeler, or data labeler, but is not limited thereto.

구체적으로, 입출력부는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부는 바운딩 박스를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. 그리고, 입출력부는 이미지 위에 바운딩 박스를 오버레이(overlay)하여 출력할 수 있다.Specifically, the input/output unit may output an image to be an annotation work. The input/output unit may receive a control signal for setting a bounding box from an operator. In addition, the input/output unit may overlay and output the bounding box on the image.

여기서, 바운딩 박스(bounding box)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 다각형(polygon) 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.Here, the bounding box is an area for specifying an object to be learned by artificial intelligence (AI) among objects included in the image. Such a bounding box may have a rectangle or polygon shape, but is not limited thereto.

입출력부는 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 출력할 수 있다. 그리고, 입출력부는 객체의 속성 정보를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. The input/output unit may output a list of recommendation information that can be used as object attribute information. Also, the input/output unit may receive a control signal for setting object attribute information from an operator.

여기서, 추천 정보(proposed information)의 목록은 객체의 속성 정보에 포함될 가능성이 높은 정보들로 구성되어, 작업자가 어노테이션을 수행하는 과정에서 객체의 속성 정보로 활용할 수 있는 정보들의 목록(list)이다.Here, the proposed information list is a list of information that is composed of information that is likely to be included in object attribute information and can be utilized as object attribute information in the process of performing annotation by a worker.

또한, 객체의 속성 정보는 인공지능(AI) 학습의 대상이 되는 객체의 속성을 지정하기 위한 정보이다. 이와 같은, 객체의 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류 또는 상위 레벨(instance upper)에 관한 정보가 포함될 수 있으며, 이에 한정되는 것은 아니다.In addition, object attribute information is information for specifying the attribute of an object that is an artificial intelligence (AI) learning target. Such object attribute information includes information on the type of annotation, class name (class), classification items (tags), truncated state of the object, major classification, subclassification, or upper level (instance upper). may be, but is not limited thereto.

다음 구성으로, 저장부는 어노테이션 작업에 필요한 데이터를 저장할 수 있다.With the following configuration, the storage unit can store data required for annotation work.

구체적으로, 저장부는 통신부를 통해 수신된 이미지를 저장할 수 있다. 저장부는 통신부를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 저장할 수 있다. Specifically, the storage unit may store an image received through the communication unit. The storage unit may store project properties, image properties, or worker properties received through the communication unit.

저장부는 입출력부를 통해 입력된 제어 신호에 따라 설정된 바운딩 박스의 위치 및 크기를 임시 저장할 수 있다. 저장부는 입출력부를 통해 입력된 객체의 속성을 임시 저장할 수 있다.The storage unit may temporarily store the location and size of the bounding box set according to the control signal input through the input/output unit. The storage unit may temporarily store attributes of objects input through the input/output unit.

다음 구성으로, 바운딩 박스 설정부는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 바운딩 박스를 설정할 수 있다. 특히, 본 발명에 따른 바운딩 박스 설정부는 이미지 속에 포함된 객체의 형상에 따라, 작업자가 일차적으로 설정한 바운딩 박스가 객체의 외곽선에 대응하는 크기를 가지도록, 바운딩 박스의 크기를 자동으로 확대 또는 축소할 수 있는 특징을 가지고 있다. With the following configuration, the bounding box setting unit may set a bounding box for specifying an object to be an artificial intelligence (AI) learning target among objects included in an image. In particular, the bounding box setting unit according to the present invention automatically enlarges or reduces the size of the bounding box according to the shape of the object included in the image so that the bounding box primarily set by the operator has a size corresponding to the outline of the object. It has features that can

우선적으로, 바운딩 박스 설정부는 입출력부를 통해 입력된, 작업자의 제어에 따라 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스로 설정할 수 있다. First of all, the bounding box setting unit may set a partial region in an image, which is an object of annotation work for learning, as a bounding box according to control of an operator input through an input/output unit.

구체적으로, 바운딩 박스 설정부는 입출력부를 통해 작업자로부터 두 개의 좌표를 입력 받고, 입력된 두 좌표를 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정할 수 있다. 이 경우, 두 개의 좌표는 작업자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 작업자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.Specifically, the bounding box setting unit receives two coordinates from the operator through the input and output unit, and sets the bounding box based on a rectangle having the input two coordinates as the coordinates of the upper left vertex and the coordinates of the lower right vertex in the image. can In this case, the two coordinates may be set by the operator inputting one type of input signal twice (eg, mouse click) or by the operator inputting two types of input signals once (eg, mouse drag). It may, but is not limited thereto.

이와 다르게, 바운딩 박스 설정부는 입출력부를 통해 작업자로부터 세 개 이상의 선분(line)을 입력 받고, 입력된 세 개 이상의 선분으로 구성된 다각형을 기초로 바운딩 박스를 설정할 수 있다. 이 경우, 세 개 이상의 선분은 작업자가 다각형 툴을 이용하여 한번에 입력되거나, 작업자가 직선 툴을 이용하여 세 번 이상 입력하여 설정될 수 있으나, 이에 한정되는 것은 아니다.Alternatively, the bounding box setting unit may receive three or more line segments from an operator through an input/output unit, and may set a bounding box based on a polygon composed of the input three or more line segments. In this case, three or more line segments may be input by an operator at one time using a polygon tool or by inputting three or more segments by an operator using a straight line tool, but are not limited thereto.

다음으로, 바운딩 박스 설정부는 작업자의 제어에 의해 설정된 바운딩 박스의 내측 영역에 완전히 포함되거나, 또는 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 객체를 식별할 수 있다.Next, the bounding box setting unit may identify an object that is completely included in the inner region of the bounding box set by the operator's control or spans one or more line segments among a plurality of line segments constituting the bounding box.

구체적으로, 바운딩 박스 설정부는 작업자의 제어 의해 설정된 바운딩 박스 내측 영역에 포함된 객체의 전부 또는 일부를 식별할 수 있다. 이를 위하여, 바운딩 박스 설정부는 바운딩 박스 내측 영역에 대하여 이미지 처리(image processing)를 수행할 수 있다.Specifically, the bounding box setting unit may identify all or some of the objects included in the inner region of the bounding box set under the control of the operator. To this end, the bounding box setting unit may perform image processing on an area inside the bounding box.

예를 들어, 바운딩 박스 설정부는 바운딩 박스 내측 영역을 RGB(Red, Green, Blue)에 따라 세 개의 이미지로 분할할 수 있다. 바운딩 박스 설정부는 세 개의 이미지로 분할된 각 이미지의 엣지를 추출(edge detection)할 수 있다. 보다 상세하게, 바운딩 박스 설정부는 각 이미지의 엣지 추출을 위하여, LoG(Laplacian of Gaussian) 알고리즘 또는 DoG(Difference of Gaussian) 알고리즘 중 어느 하나를 이용할 수 있다. For example, the bounding box setting unit may divide the inner region of the bounding box into three images according to RGB (Red, Green, Blue). The bounding box setting unit may extract an edge of each image divided into three images. More specifically, the bounding box setting unit may use either a Laplacian of Gaussian (LoG) algorithm or a Difference of Gaussian (DoG) algorithm to extract an edge of each image.

LoG 알고리즘을 이용할 경우, 바운딩 박스 설정부는 가우시안 필터(Gaussian filter)를 이용하여 이미지 내에 존재하는 잡음을 제거할 수 있다. 바운딩 박스 설정부는 잡음이 제거된 이미지에 라플라시안 필터(Laplacian)를 적용할 수 있다. 그리고, 바운딩 박스 설정부는 라플라시안 필터가 적용된 이미지에 영교차(zerocrossing)을 검출하여 엣지를 추출할 수 있다.When using the LoG algorithm, the bounding box setting unit may remove noise existing in the image using a Gaussian filter. The bounding box setting unit may apply a Laplacian filter to the noise-removed image. The bounding box setting unit may extract an edge by detecting zerocrossing in the image to which the Laplacian filter is applied.

DoG 알고리즘을 이용할 경우, 바운딩 박스 설정부는 이미지로부터 분산이 서로 다른 가우시안 마스크(Gaussian mask)를 두 개 생성한다. 바운딩 박스 설정부는 생성된 하나의 마스크에서 다른 하나의 마스크를 뺀다. 그리고, 바운딩 박스 설정부는 뺀 마스크를 이미지에 적용하여 엣지를 추출할 수 있다.When using the DoG algorithm, the bounding box setting unit creates two Gaussian masks with different variances from the image. The bounding box setting unit subtracts another mask from one created mask. The bounding box setting unit may extract an edge by applying the subtracted mask to the image.

바운딩 박스 설정부는 각 이미지 내에서 추출된 엣지에 의한 폐쇄 영역(enclosure)을 하나 이상 식별할 수 있다. 이 경우, 바운딩 박스 설정부는 엣지 영역이 폐쇄되었는지 명확히 하기 위하여, 각 이미지에 이진화(binarization)를 먼저 처리할 수 있다. 그리고, 바운딩 박스 설정부는 식별된 폐쇄 영역을 객체로 식별할 수 있다.The bounding box setting unit may identify one or more enclosures by edges extracted from each image. In this case, the bounding box setting unit may first process binarization on each image in order to clarify whether the edge area is closed. And, the bounding box setting unit may identify the identified closed area as an object.

만약, 바운딩 박스 내측 영역에서 식별된 객체가 복수 개인 경우, 바운딩 박스 설정부는 사전에 설정된 우선순위에 따라, 식별된 복수 개의 객체 중에서 하나의 객체만을 선택할 수 있다. 이 경우, 우선순위는 이미지 내에서 차지하고 있는 객체의 크기, 위치 또는 형상에 따라 설정된 기준이 될 수 있다.If there are a plurality of objects identified in the inner region of the bounding box, the bounding box setting unit may select only one object from among the identified plurality of objects according to a preset priority. In this case, the priority may be a criterion set according to the size, position or shape of the object occupying the image.

다음으로, 바운딩 박스 설정부는 바운딩 박스의 내측 영역에 포함된 픽셀과 바운딩 박스의 외측 영역의 픽셀 사이의 연속성을 기준으로, 식별된 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는지 여부를 판단할 수 있다. 여기서, 연속성은 인접한 두 픽셀의 색상, 채도 또는 명도의 차이가 사전에 설정된 범위 이내인지 여부를 기준으로 판단될 수 있다.Next, the bounding box setting unit determines whether the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, based on continuity between pixels included in the inner area of the bounding box and pixels in the outer area of the bounding box. can determine whether Here, continuity may be determined based on whether a difference in color, saturation, or brightness between two adjacent pixels is within a preset range.

바운딩 박스 설정부는 식별된 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 어느 선분에도 걸쳐져 있지 않은 경우, 객체가 바운딩 박스 내측 영역에 완전히 포함된 것으로 판단할 수 있다.The bounding box setting unit may determine that the object is completely included in the inner region of the bounding box when the identified object does not cross any line segment among a plurality of line segments constituting the bounding box.

특징적으로, 본 발명의 일 실시 예에 따르면, 바운딩 박스 설정부는 객체가 바운딩 박스 내측 영역에 완전히 포함된 것으로 판단된 경우, 객체가 바운딩 박스 내측 영역에 밀접하게 피팅(fitting)되도록 바운딩 박스의 크기를 축소할 수 있다.Characteristically, according to an embodiment of the present invention, when it is determined that the object is completely included in the inner region of the bounding box, the bounding box setting unit sets the size of the bounding box so that the object closely fits the inner region of the bounding box. can be scaled down

일 실시예로, 바운딩 박스 설정부는 바운딩 박스를 구성하는 복수 개의 선분 각각에 대하여, 객체의 외곽선에 존재하는 최인접 지점으로부터의 거리가 사전에 설정된 최대 이격 픽셀 수 이내가 될 때까지, 바운딩 박스의 중심을 향하여 선분을 이동시켜 바운딩 박스의 크기를 축소시킬 수 있다.In one embodiment, the bounding box setting unit sets the bounding box until the distance from the nearest point existing on the outline of the object is within the preset maximum number of pixels for each of the plurality of line segments constituting the bounding box. The size of the bounding box can be reduced by moving the segment towards the center.

특징적으로, 본 발명의 일 실시예에 따르면, 바운딩 박스 설정부는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분이 걸쳐 있는 것으로 판단된 경우, 바운딩 박스 내에 객체가 완전히 포함되도록 바운딩 박스의 크기를 확대할 수 있다. 이와 같은, 바운딩 박스의 크기 확대가 수행된 이후, 바운딩 박스 설정부는 객체가 바운딩 박스 내측 영역에 완전히 피팅되도록 바운딩 박스의 크기 축소를 수행할 수 있다.Characteristically, according to one embodiment of the present invention, when the bounding box setting unit determines that the object spans one or more line segments among a plurality of line segments constituting the bounding box, the size of the bounding box is such that the object is completely included in the bounding box. can be enlarged. After the size expansion of the bounding box is performed, the bounding box setting unit may reduce the size of the bounding box so that the object completely fits within the inner region of the bounding box.

일 실시예로, 바운딩 박스 설정부는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 경우, 객체가 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 외부 방향을 향하여 객체가 걸쳐진 선분을 이동시켜 바운딩 박스의 크기를 확대시킬 수 있다.In one embodiment, when the object spans one or more line segments among a plurality of line segments constituting the bounding box, the bounding box setting unit moves the object towards the outside of the bounding box until the object is completely included in the inner area of the bounding box. The size of the bounding box can be enlarged by moving the spanned line segment.

다른 실시예로, 바운딩 박스 설정부는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 경우, 객체가 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 중심을 객체가 걸쳐진 선분의 방향으로 이동시키며 바운딩 박스의 크기를 사방으로 확대시킬 수 있다.In another embodiment, the bounding box setting unit, when the object spans one or more line segments among a plurality of line segments constituting the bounding box, sets the center of the bounding box to the line segment the object spans until the object is completely included in the inner region of the bounding box. By moving in the direction of , the size of the bounding box can be enlarged in all directions.

다른 실시예로, 바운딩 박스 설정부는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 경우, 바운딩 박스를 복수 개의 세부 영역으로 분할한 후, 객체가 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 분할된 세부 영역 중에서 객체가 걸쳐 있는 세부 영역의 크기만을 확대시킬 수 있다. 이 경우, 세부 영역의 크기는 이미지의 해상도 또는 식별하고자 하는 객체의 해상도에 따라 사전에 미리 결정될 수 있다. 또한, 세부 영역의 형상에 따라 확대된 바운딩 박스는 다각형 형상을 가질 수도 있다.In another embodiment, the bounding box setting unit divides the bounding box into a plurality of detailed areas when the object spans one or more line segments among a plurality of line segments constituting the bounding box, and then the object is completely included in the inner area of the bounding box. , it is possible to enlarge only the size of the detailed region over which the object spans among the divided detailed regions. In this case, the size of the detailed region may be determined in advance according to the resolution of the image or the resolution of the object to be identified. Also, the bounding box enlarged according to the shape of the detailed region may have a polygonal shape.

또 다른 실시예로, 바운딩 박스 설정부는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 경우, 객체가 병합된 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 객체가 걸쳐진 선분의 바깥 영역에 추가 영역을 새롭게 설정하고 새롭게 설정된 추가 영역과 바운딩 박스를 병합시키는 과정을 반복 수행할 수 있다.In another embodiment, the bounding box setting unit, when the object spans one or more line segments among a plurality of line segments constituting the bounding box, until the object is completely included in the inner region of the merged bounding box, outside the line segment the object spans A process of newly setting an additional area in the area and merging the newly set additional area and the bounding box may be repeatedly performed.

다음으로, 객체 속성 설정부는 기 작성된 추천 정보의 목록을 필터링할 수 있다.Next, the object property setting unit may filter a pre-created list of recommended information.

구체적으로, 객체 속성 설정부는 기 작성된 추천 정보의 목록에 포함된 정보 중에서, 작업자가 바운딩 박스를 설정하는 과정에서 사용한 작업 툴(tool)에 의해 설정될 수 없는 객체의 유형과 관련된 정보(즉, 객체와 무관한 정보)들을 제거할 수 있다.Specifically, the object property setting unit includes information related to the type of object that cannot be set by the work tool used by the operator in the process of setting the bounding box (ie, object irrelevant information) can be removed.

일 실시예로, 작업자가 바운딩 박스를 설정하는 과정에서 사각형 모양의 영역을 지정할 수 있는 툴을 사용한 경우, 객체 속성 설정부는 기 작성된 추천 정보의 목록에서 생명체에 해당하는 객체의 유형과 관련된 정보들을 제거할 수 있다. As an embodiment, when a worker uses a tool capable of designating a rectangular area in the process of setting a bounding box, the object property setting unit removes information related to the type of object corresponding to a living organism from a list of previously created recommendation information. can do.

다른 실시예로, 작업자가 바운딩 박스를 설정하는 과정에서 객체의 스켈레톤(skeleton) 구조를 지정할 수 있는 툴을 사용한 경우, 객체 속성 설정부는 기 작성된 추천 정보의 목록에서 뼈대를 가지지 않는 객체의 유형과 관련된 정보들을 제거할 수도 있다.In another embodiment, when a worker uses a tool capable of designating a skeleton structure of an object in the process of setting a bounding box, the object property setting unit is related to the type of object that does not have a skeleton from a list of pre-created recommended information. Information can also be removed.

객체 속성 설정부는 추천 정보의 목록에서 객체와 무관한 정보가 제거되고 남은 정보들을 정렬할 수 있다.The object property setting unit may remove information irrelevant to the object from the list of recommendation information and sort remaining information.

일 실시예로, 객체 속성 설정부는 이미지 내에서 바운딩 박스가 차지하고 있는 위치 또는 크기를 기초로, 사전에 설정된 정렬 기준에 따라 추천 정보의 목록에 포함된 정보를 정렬할 수 있다.As an embodiment, the object property setting unit may arrange the information included in the list of recommended information according to a pre-set sorting criterion based on the position or size occupied by the bounding box in the image.

다른 실시예로, 객체 속성 설정부는 객체의 유형별로 사전에 구비된 기초 형상과 바운딩 박스에 포함된 객체의 형상을 대비하여, 두 형상의 유사성을 기초로 추천 정보의 목록에 포함된 정보를 정렬할 수도 있다.In another embodiment, the object property setting unit compares the shape of the object included in the bounding box with the basic shape provided in advance for each type of object, and sorts the information included in the list of recommended information based on the similarity of the two shapes. may be

다음으로, 객체 속성 설정부는 작성 및 필터링된 추천 정보의 목록을 입출력부를 출력할 수 있다. 그리고, 객체 속성 설정부는 입출력부를 통해 작업자로부터 객체의 속성 정보를 설정하기 위한 제어 신호를 입력받을 수 있다.Next, the object property setting unit may output the list of recommended information prepared and filtered to the input/output unit. The object property setting unit may receive a control signal for setting object property information from an operator through an input/output unit.

객체 속성 설정부는 작업자의 제어에 의해 추천 정보의 목록 중에서 하나의 정보가 선택되면, 선택된 정보에 대응하는 객체의 유형에 따라 피드백(feedback)을 제공할 수 있다.When one piece of information is selected from the list of recommended information under the control of an operator, the object property setting unit may provide feedback according to the type of object corresponding to the selected information.

일 실시예로, 객체 속성 설정부는 선택된 정보에 대응하는 객체의 유형에 따라 서로 다르게 설정된 색상 또는 투명도를 반영하여, 바운딩 박스 내부의 영역 또는 객체 내부의 영역과 관련된 사용자 인터페이스(User Interface, UI)를 변경할 수 있다.In one embodiment, the object property setting unit reflects the color or transparency set differently according to the type of object corresponding to the selected information, and sets a user interface (UI) related to the area inside the bounding box or the area inside the object. can be changed

다음 구성으로, 결과물 생성부는 어노테이션의 작업 결과물을 생성하여, 학습 데이터 설계 장치 또는 인공지능 학습 장치에 전송할 수 있다. With the following configuration, the output generation unit may generate annotation work results and transmit them to the learning data design device or the artificial intelligence learning device.

구체적으로, 결과물 생성부는 작업자의 제어에 의해 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되고, 추천 정보 목록을 기초로 작업자의 제어에 의해 객체의 속성 정보가 확정되면, 확정된 바운딩 박스의 위치 및 크기에 따른 좌표 및 확정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성할 수 있다. 이와 같은, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Specifically, the result generation unit determines the location and size of the expanded or reduced bounding box under the control of the operator, and when the property information of the object is determined under the control of the operator based on the list of recommended information, the location of the determined bounding box is determined. And it is possible to create an annotation work result including coordinates according to the size and determined attribute information. Such a work result may have a JSON file format, but is not limited thereto.

그리고, 결과물 생성부는 생성된 어노테이션의 작업 결과물을 통신부를 통해 학습 데이터 설계 장치 또는 인공지능 학습 장치에 전송할 수 있다. In addition, the output generation unit may transmit the generated annotation work result to the learning data design device or the artificial intelligence learning device through the communication unit.

이하, 상술한 바와 같은 어노테이션 장치의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the above-described logical components of the annotation device will be described in more detail.

어노테이션 장치는 프로세서(Processor), 메모리(Memory), 송수신기(Transceiver), 입출력장치(Input/output device), 데이터 버스(Bus) 및 스토리지(Storage)를 포함하여 구성될 수 있다. The annotation device may include a processor, a memory, a transceiver, an input/output device, a data bus, and a storage.

프로세서는 메모리에 상주된 어노테이션 방법이 구현된 소프트웨어에 따른 명령어를 기초로, 어노테이션 장치의 동작 및 기능을 구현할 수 있다. 메모리에는 어노테이션 방법이 구현된 소프트웨어가 상주(loading)될 수 있다. 송수신기는 학습 데이터 설계 장치 및 인공지능 학습 장치와 데이터를 송수신할 수 있다. 입출력장치는 어노테이션 장치의 동작에 필요한 데이터를 입력 받고, 이미지, 바운딩 박스 및 추천 정보의 목록을 출력할 수 있다. 데이터 버스는 프로세서, 메모리, 송수신기, 입출력장치 및 스토리지와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor may implement operations and functions of the annotation device based on instructions according to software in which the annotation method resides in memory. Software in which the annotation method is implemented may be loaded in the memory. The transceiver may transmit and receive data to and from the learning data design device and the artificial intelligence learning device. The input/output device may receive data necessary for the operation of the annotation device and output a list of images, bounding boxes, and recommendation information. The data bus is connected to the processor, memory, transceiver, input/output device, and storage, and may serve as a movement path for transferring data between each component.

스토리지는 어노테이션 방법이 구현된 소프트웨어의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지는 어노테이션 방법이 구현된 소프트웨어(180b)를 저장할 수 있다. 또한, 스토리지는 어노테이션 방법의 수행에 필요한 정보들을 저장할 수 있다. 특히, 스토리지는 어노테이션 작업의 대상이 되는 이미지, 프로젝트의 속성, 이미지의 속성, 작업자의 속성 및 작업자의 작업 로그 등을 저장하는 데이터베이스(185)를 포함할 수 있다.The storage may store an application programming interface (API), a library file, a resource file, and the like required for execution of software in which the annotation method is implemented. The storage may store software 180b in which the annotation method is implemented. Also, the storage may store information necessary for performing the annotation method. In particular, the storage may include a database 185 for storing an image to be annotated, a project attribute, an image attribute, a worker attribute, and a worker's work log.

본 발명의 제1 실시예에 따르면, 메모리에 상주되거나 또는 스토리지에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서가 입출력장치를 통해 입력된 작업자의 제어에 따라 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스로 설정하는 단계, 프로세서가 바운딩 박스의 내측 영역에 완전히 포함되거나 또는 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 객체를 식별하는 단계, 프로세서가 식별된 객체의 외곽선에 대응하는 크기를 가지도록 바운딩 박스의 크기를 확대 또는 축소하는 단계, 및 프로세서가 입출력장치를 통해 입력된 작업자의 제어에 의해 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되면, 확정된 바운딩 박스의 위치 및 크기에 따른 좌표를 포함하여 어노테이션의 작업 결과물을 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to the first embodiment of the present invention, software (180a, 180b) for implementing an annotation method resident in a memory or stored in a storage enables a processor to learn artificial intelligence (AI) under the control of an operator input through an input/output device. Setting a partial region in the image that is a target of annotation work for the bounding box as a bounding box, the processor identifying an object completely included in the inner region of the bounding box or spanning one or more line segments among a plurality of line segments constituting the bounding box. step of expanding or reducing the size of the bounding box so that the processor has a size corresponding to the outline of the identified object, and the position of the bounding box expanded or reduced by the operator's control input through the input/output device by the processor and if the size is confirmed, it may be a computer program recorded on a recording medium to execute a step of generating an annotation work result including coordinates according to the location and size of the determined bounding box.

본 발명의 제2 실시예에 따르면, 메모리에 상주되거나 또는 스토리지에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서가 입출력장치를 통해 입력된 작업자의 제어에 따라 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 일영역을 바운딩 박스로 설정하는 단계, 프로세서가 설정된 바운딩 박스에 대응하는 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 작성하는 단계, 및 프로세서가 작성된 추천 정보의 목록을 기초로 작업자의 제어에 의해 객체의 속정 정보가 확정되면 바운딩 박스의 위치 및 크기에 따른 좌표 및 상기 확정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to the second embodiment of the present invention, the software (180a, 180b) for implementing the annotation method resident in the memory or stored in the storage enables the processor to learn artificial intelligence (AI) according to the operator's control input through the input/output device. Setting a region in the image that is the target of annotation work for the bounding box, creating a list of recommendation information that can be used as attribute information of an object corresponding to the bounding box set by the processor, and When the property information of an object is determined under the control of an operator based on the list of recommended information, records are recorded to execute the step of generating the work result of the annotation including coordinates according to the location and size of the bounding box and the determined property information. It may be a computer program recorded on a medium.

보다 구체적으로, 프로세서는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor may include an Application-Specific Integrated Circuit (ASIC), other chipsets, logic circuits, and/or data processing devices. The memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and/or other storage devices. The transceiver may include a baseband circuit for processing wired/wireless signals. Input/output devices include input devices such as keyboards, mice, and/or joysticks, liquid crystal displays (LCDs), organic LEDs (OLEDs), and/or active organic An image output device such as an active matrix OLED (AMOLED) or the like may include a printing device such as a printer or a plotter.

본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 상주되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다.When the embodiments included in this specification are implemented as software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described functions. A module resides in memory and can be executed by a processor. The memory may be internal or external to the processor and may be coupled with the processor in a variety of well-known means.

각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component may be implemented by various means, eg, hardware, firmware, software, or a combination thereof. In the case of hardware implementation, one embodiment of the present invention includes one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), FPGAs ( Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, etc.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored on a recording medium readable through various computer means. can be recorded. Here, the recording medium may include program commands, data files, data structures, etc. alone or in combination. Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks), floptical It includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, such as a floptical disk, and ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler. These hardware devices may be configured to operate as one or more pieces of software to perform the operations of the present invention, and vice versa.

본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지가 로딩되면, 작업자로부터 이미지 속에 포함된 하나의 객체 특정하기 위한 제어 신호를 입력 받을 수 있다. An annotation device of an artificial intelligence learning system according to an embodiment of the present invention transmits a control signal for specifying one object included in an image from an operator when an image to be an annotation work for AI learning is loaded. can be input.

어노테이션 장치는 자업자로부터 입력된 제어 신호에 따라 이미지 속의 일부 영역을 바운딩 박스로 설정할 수 있다. The annotation device may set a partial region in the image as a bounding box according to a control signal input from a person in charge.

업자로부터 입력된 두 개의 좌표를 좌상단 꼭지점과 우하단 꼭지점으로 가지는 사각형 형상을 바운딩 박스로 설정할 수 있으나, 본 발명에 따라 설정될 수 있는 바운딩 박스는 사각형 외에도, 다각형, 스켈레톤 등 다양할 수 있다. A rectangular shape having two coordinates input from a vendor as an upper left vertex and a lower right vertex can be set as a bounding box, but the bounding box that can be set according to the present invention may be various, such as polygons and skeletons, in addition to rectangles.

어노테이션 장치는 바운딩 박스 내측 영역에 완전히 포함되거나, 또는 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 객체를 식별할 수 있다.The annotation device may identify an object that is completely included in the inner region of the bounding box or spans one or more line segments among a plurality of line segments constituting the bounding box.

그리고, 어노테이션 장치는 식별된 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 것으로 판단된 경우, 바운딩 박스 내에 객체가 포함되도록 바운딩 박스의 크기를 확대할 수 있다.And, when it is determined that the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the annotation device may enlarge the size of the bounding box so that the object is included in the bounding box.

일 실시예로, 어노테이션 장치는 객체가 바운딩 박스 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 외부 방향을 향하여 객체가 걸쳐진 선분을 이동시켜 바운딩 박스의 크기를 확대시킬 수 있다.As an embodiment, the annotation device may enlarge the size of the bounding box by moving a line segment spanning the object toward the outside of the bounding box until the object is completely included in the inner region of the bounding box.

다른 실시예로, 어노테이션 장치는 객체가 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 중심을 객체가 걸쳐진 선분의 방향으로 이동시키며 바운딩 박스의 크기를 사방으로 확대시킬 수 있다.In another embodiment, the annotation device may move the center of the bounding box in the direction of the line segment where the object spans and expand the size of the bounding box in all directions until the object is completely included in the inner region of the bounding box.

다른 실시예로, 어노테이션 장치는 바운딩 박스를 복수 개의 세부 영역으로 분할한 후, 객체가 바운딩 박스 내측 영역에 완전히 포함될 때까지, 분할된 세부 영역 중에서 객체가 걸쳐 있는 세부 영역의 크기만을 확대시킬 수 있다.As another embodiment, after dividing the bounding box into a plurality of detailed regions, the annotation device may enlarge only the size of the detailed region spanning the object among the divided detailed regions until the object is completely included in the inner region of the bounding box. .

또 다른 실시예로, 어노테이션 장치는 객체가 바운딩 박스 내측 영역에 완전히 포함될 때까지, 객체가 걸쳐진 선분의 바깥 영역에 추가 영역을 새롭게 설정하고, 새롭게 설정된 추가 영역과 바운딩 박스를 병합시키는 과정을 반복 수행할 수도 있다.In another embodiment, the annotation device repeatedly sets an additional area outside the line segment where the object spans and merges the newly set additional area with the bounding box until the object is completely included in the inner area of the bounding box. You may.

어노테이션 장치는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 어느 선분에도 걸쳐 있지 않은 경우, 객체가 바운딩 박스 내측 영역에 완전히 포함된 것으로 판단하고, 객체가 바운딩 박스 내측 영역에 밀접하게 피팅되도록 바운딩 박스의 크기를 축소할 수 있다.If the object does not cross any of the plurality of line segments constituting the bounding box, the annotation device determines that the object is completely contained in the inner area of the bounding box, and determines that the object is completely included in the inner area of the bounding box. size can be reduced.

일 실시예로, 어노테이션 장치는 바운딩 박스를 구성하는 복수 개의 선분 각각에 대하여, 객체의 외곽선에 존재하는 최인접 지점으로부터의 거리가 사전에 설정된 최대 이격 픽셀 수 이내가 될 때까지, 바운딩 박스의 중심을 향하여 선을 이동시켜 바운딩 박스의 크기를 축소시킬 수 있다.In one embodiment, the annotator is the center of the bounding box until the distance from the nearest point existing on the outline of the object is within a preset maximum number of pixels for each of a plurality of line segments constituting the bounding box. You can reduce the size of the bounding box by moving the line towards .

상술한 바와 같은 본 발명의 실시예에 따르면, 인공지능(AI) 학습을 위한 다수의 이미지 각각에 대하여 어노테이션을 수행함에 있어, 이미지 속에 포함된 객체의 형상에 따라 바운딩 박스의 크기가 자동으로 확대 또는 축소됨으로써, 작업자가 보다 용이하게 바운딩 박스를 설정할 수 있게 되며, 어노테이션의 작업 결과물은 보다 균일한 품질을 가질 수 있게 된다.According to the embodiment of the present invention as described above, in performing annotation on each of a plurality of images for artificial intelligence (AI) learning, the size of the bounding box is automatically enlarged or enlarged according to the shape of an object included in the image. By being reduced, the operator can more easily set the bounding box, and the work result of the annotation can have a more uniform quality.

본 발명의 일 실시예에 따른 어노테이션 장치는 작업자로부터 입력된 좌표를 기초로 바운딩 박스를 설정할 수 있다.An annotation device according to an embodiment of the present invention may set a bounding box based on coordinates input by an operator.

일 실시예로서, 어노테이션 장치는 작업자로부터 입력된 두 좌표를 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정할 수 있다. 다른 실시예로서, 어노테이션 장치는 작업자로부터 입력된 세 개 이상의 선분으로 구성된 다각형을 기초로 바운딩 박스를 설정할 수도 있다.As an embodiment, the annotation device may set a bounding box based on a rectangle having two coordinates input from an operator as coordinates of an upper left vertex and a coordinate of a lower right vertex in an image. As another embodiment, the annotation device may set a bounding box based on a polygon composed of three or more line segments input from an operator.

어노테이션 장치는 설정된 바운딩 박스 내측 영역에 포함된 객체의 전부 또는 일부를 식별할 수 있다. 이를 위하여, 어노테이션 장치는 바운딩 박스 내측 영역에 대하여, 엣지 추출, 이진화 및 폐쇄 영역 식별 등의 이미지 처리를 수행할 수도 있다.The annotation device may identify all or part of objects included in the area inside the set bounding box. To this end, the annotation device may perform image processing such as edge extraction, binarization, and closed region identification on the inner region of the bounding box.

어노테이션 장치는 바운딩 박스 내측 영역에 포함된 객체가 복수 개인지 판단할 수 있다. 판단 결과, 바운딩 박스 내측 영역에서 식별된 객체가 복수 개인 경우, 어노테이션 장치는 사전에 설정된 우선순위에 따라, 식별된 복수 개의 객체 중에서 하나의 객체만을 선택할 수 있다.The annotation device may determine whether there are a plurality of objects included in the inner region of the bounding box. As a result of the determination, if there are a plurality of objects identified in the inner region of the bounding box, the annotation device may select only one object from among the identified plurality of objects according to a preset priority.

어노테이션 장치는 식별된 객체가 바운딩 박스 내측 영역에 완전히 포함되었는지 판단할 수 있다. 이를 위하여, 어노테이션 장치는 바운딩 박스의 내측 영역에 포함된 픽셀과 바운딩 박스의 외측 영역의 픽셀 사이의 연속성을 기준으로, 식별된 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는지 여부를 판단할 수 있다.The annotation device may determine whether the identified object is completely included in the inner region of the bounding box. To this end, the annotation device determines whether the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, based on continuity between pixels included in the inner area of the bounding box and pixels in the outer area of the bounding box. can judge

판단 결과, 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐진 것으로 판단된 경우, 어노테이션 장치는 바운딩 박스 내에 객체가 완전히 포함되도록 바운딩 박스의 크기를 확대할 수 있다.As a result of the determination, when it is determined that the object spans one or more line segments among a plurality of line segments constituting the bounding box, the annotation device may enlarge the size of the bounding box so that the object is completely included in the bounding box.

일 실시예로, 어노테이션 장치는 객체가 바운딩 박스 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 외부 방향을 향하여 객체가 걸쳐진 선분을 이동시켜 바운딩 박스의 크기를 확대시킬 수 있다.As an embodiment, the annotation device may enlarge the size of the bounding box by moving a line segment spanning the object toward the outside of the bounding box until the object is completely included in the inner region of the bounding box.

다른 실시예로, 어노테이션 장치는 객체가 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 중심을 객체가 걸쳐진 선분의 방향으로 이동시키며 바운딩 박스의 크기를 사방으로 확대시킬 수 있다.In another embodiment, the annotation device may move the center of the bounding box in the direction of the line segment where the object spans and expand the size of the bounding box in all directions until the object is completely included in the inner region of the bounding box.

다른 실시예로, 어노테이션 장치는 바운딩 박스를 복수 개의 세부 영역으로 분할한 후, 객체가 바운딩 박스 내측 영역에 완전히 포함될 때까지, 분할된 세부 영역 중에서 객체가 걸쳐 있는 세부 영역의 크기만을 확대시킬 수 있다.As another embodiment, after dividing the bounding box into a plurality of detailed regions, the annotation device may enlarge only the size of the detailed region spanning the object among the divided detailed regions until the object is completely included in the inner region of the bounding box. .

또 다른 실시예로, 어노테이션 장치는 객체가 바운딩 박스 내측 영역에 완전히 포함될 때까지, 객체가 걸쳐진 선분의 바깥 영역에 추가 영역을 새롭게 설정하고, 새롭게 설정된 추가 영역과 바운딩 박스를 병합시키는 과정을 반복 수행할 수도 있다.In another embodiment, the annotation device repeatedly sets an additional area outside the line segment where the object spans and merges the newly set additional area with the bounding box until the object is completely included in the inner area of the bounding box. You may.

판단 결과, 객체가 바운딩 박스 내측 영역에 완전히 포함된 것으로 판단된 경우, 어노테이션 장치는 객체가 바운딩 박스 내측 영역에 밀접하게 피팅되도록 바운딩 박스의 크기를 축소할 수 있다.As a result of the determination, when it is determined that the object is completely included in the inner region of the bounding box, the annotation device may reduce the size of the bounding box so that the object closely fits the inner region of the bounding box.

일 실시예로, 어노테이션 장치는 바운딩 박스를 구성하는 복수 개의 선분 각각에 대하여, 객체의 외곽선에 존재하는 최인접 지점으로부터의 거리가 사전에 설정된 최대 이격 픽셀 수 이내가 될 때까지, 바운딩 박스의 중심을 향하여 선분을 이동시켜 바운딩 박스의 크기를 축소시킬 수 있다.In one embodiment, the annotator is the center of the bounding box until the distance from the nearest point existing on the outline of the object is within a preset maximum number of pixels for each of a plurality of line segments constituting the bounding box. By moving the line segment toward , the size of the bounding box can be reduced.

이하, 상술한 바와 같은 본 발명의 다양한 실시예에 따른 중심점을 이용한 객체 영역 지정 및 객체 검출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 대하여, 구체적으로 설명하기로 한다. Hereinafter, a method for specifying an object area and detecting an object using a central point according to various embodiments of the present invention as described above and a computer program recorded on a recording medium for executing the method will be described in detail.

스포츠와 관련된 학습에서 사람의 동작을 인식하는데 있어 공의 검출도 중요하며, 스포츠 이미지 내에는 다양한 원형에 가까운 사물이 존재하게 된다.In sports-related learning, ball detection is also important in recognizing human motions, and objects close to various prototypes exist in sports images.

본 발명은 원형 검출 기능을 활성화시키면 원형의 박스가 생성되고, 해당 박스를 공 위치에 끌어서 놓으면 공 보다 커질 때까지 확대되면서 중심점을 보정한다. 여기서, 중심점 보정은 작업자가 수동으로 수정하는 것도 가능하다.In the present invention, when the circular detection function is activated, a circular box is created, and when the box is dragged and dropped on the ball position, it is enlarged until it is larger than the ball, and the center point is corrected. Here, the center point correction can also be manually corrected by the operator.

중심점을 이용한 객체 영역 지정 및 객체 검출 방법과 관련하여, 작업자가 1차 중심점을 생성하면, 어노테이션 장치는 객체를 모두 포함하는 1차 반경을 생성하고, 1차 반경 내의 외각선을 기준으로 2차 중심점 생성하게 되며, 2차 중심점을 기준으로 2차 반경 생성을 생성 한 후 최종 객체를 추출할 수 있다.Regarding object region designation and object detection methods using center points, when an operator creates a first center point, an annotation device creates a first radius including all objects, and a second center point based on an outline within the first radius. After creating the 2nd radius based on the 2nd center point, the final object can be extracted.

작업자는 1차 중심점만 생성하고 객체를 특정할 수 있으며, 작업자가 1차 반경 생성까지 진행하여 작업자에 의도에 따른 1차 반경을 지정할 수도 있다.The operator may create only the first center point and specify the object, and the operator may proceed to the creation of the first radius and designate the first radius according to the operator's intention.

이와 같은 방식을 확장하면 원형에 가까운 사물 뿐만 아니라 다양한 형태의 사물에 대하여 비교적 경계가 명확한 경우 1P 지정으로 객체를 추출할 수 있다.By extending this method, objects can be extracted by designating 1P when the boundaries are relatively clear for objects of various shapes as well as close-to-circular objects.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.As described above, although preferred embodiments of the present invention have been disclosed in the present specification and drawings, it is in the technical field to which the present invention belongs that other modified examples based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein. It is self-evident to those skilled in the art. In addition, it should be noted that technical terms used in the present specification and drawings are used only to describe specific embodiments and are not intended to limit the present invention. In addition, technical terms used in this specification should be interpreted in terms commonly understood by those of ordinary skill in the art to which the present invention belongs, unless specifically defined otherwise in this specification, and are overly inclusive. It should not be interpreted in a positive sense or in an excessively reduced sense. In addition, when the technical terms used in this specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be replaced with technical terms that those skilled in the art can correctly understand. In addition, general terms used in the present invention should be interpreted as defined in advance or according to context, and should not be interpreted in an excessively reduced sense.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, singular expressions used in this specification include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "consisting of" or "having" should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or steps are included. It should be construed that it may not be, or may further include additional components or steps.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Also, terms including ordinal numbers such as first and second used in this specification may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but other components may exist in the middle. On the other hand, when a component is referred to as “directly connected” or “directly connected” to another component, it should be understood that no other component exists in the middle.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are given the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted. In addition, in describing the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description will be omitted. In addition, it should be noted that the accompanying drawings are only for easily understanding the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings. The spirit of the present invention should be construed as extending to all changes, equivalents or substitutes other than the accompanying drawings.

한편, 상술한 바와 같이, 어노테이션 작업은 적게는 몇 천개에서 많게는 수 백만개에 이르는 많은 수의 데이터를 대상으로 이루어지므로, 어노테이션 작업을 수행하는 작업자 또한 많은 수의 인원으로 이루어진다. 그리고, 수많은 어노테이션 작업자들은 각자 자신에게 할당된 많은 수의 어노테이션 작업을 수행하는 과정에서 가지게 된 많은 의문 사항을 질의응답을 통해 해결하고자 한다. 그러나, 통상의 사고력을 가진 어노테이션 작업자들이 가지게 되는 의문 사항은 서로 동일하거나 유사한 경우가 많으며, 관리자가 수많은 어노테이션 작업자로부터 개별적으로 받은 모든 질의에 상세하게 응답하는 것은 비효율적인 측면이 크다.On the other hand, as described above, since the annotation work is performed for a large number of data ranging from a few thousand to several million pieces of data, a large number of workers perform the annotation work. In addition, many annotation workers try to solve many questions they have in the process of performing a large number of annotation tasks assigned to them through Q&A. However, questions that annotation workers with normal thinking skills have are often the same or similar to each other, and it is inefficient for a manager to respond in detail to all inquiries individually received from numerous annotation workers.

또한, 수많은 작업자들이 어노테이션 작업을 수행하는 과정에는 공통적으로 준수해야 하는 데이터 가공 규칙이 정해져 있다. 이러한, 데이터 가공 규칙은 인공지능(AI)의 학습 목표 및 학습 방법론 등에 따라 다양하게 결정될 수 있다. 그러나, 통상의 사고력을 가진 어노테이션 작업자들이 데이터 가공 규칙을 정확하게 따를 것으로 단정할 수 없으며, 수많은 어노테이션 작업자가 동일하거나 또는 유사한 오류를 발생시키는 경우가 흔한 상황이다.In addition, data processing rules that must be commonly observed are established in the process of performing annotation work by numerous workers. These data processing rules may be determined in various ways according to the learning goal and learning methodology of artificial intelligence (AI). However, it cannot be determined that annotation workers with normal thinking ability will accurately follow data processing rules, and it is common for many annotation workers to generate the same or similar errors.

이러한 한계를 극복하기 위하여, 본 발명은 작업자가 어노테이션 작업을 수행하는 과정에서 효율적으로 질의응답을 제공하며, 작업자의 입력을 부분적으로 제어할 수 있는 수단들을 제안하고자 한다.In order to overcome these limitations, the present invention intends to propose means for efficiently providing question and answering and partially controlling the operator's input in the process of performing annotation work by the operator.

본 발명의 일 실시예에 따른 인공지능 학습 시스템은 하나 이상의 어노테이션 장치, 학습 데이터 설계 장치 및 인공지능 학습 장치를 포함하여 구성될 수 있다.An artificial intelligence learning system according to an embodiment of the present invention may include at least one annotation device, a learning data design device, and an artificial intelligence learning device.

또한, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템은 어노테이션 장치, 학습 데이터 설계 장치 및 인공지능 학습 장치가 공개된 네트워크(public network)를 통해 서로 연결될 수도 있다. 이 경우, 어노테이션 장치의 일부는 클라우딩 서비스(clouding service)에 의해 어노테이션을 수행하는 장치가 될 수도 있다.In addition, in the artificial intelligence learning system according to another embodiment of the present invention, the annotation device, the learning data design device, and the artificial intelligence learning device may be connected to each other through a public network. In this case, a part of the annotation device may be a device that performs annotation by a clouding service.

이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the artificial intelligence learning system according to various embodiments are merely functionally distinct elements, two or more components are integrated and implemented in the actual physical environment, or one component is implemented in the actual physical environment. may be implemented separately from each other.

각각의 구성 요소에 대하여 설명하면, 어노테이션 장치는 학습 데이터 설계 장치 또는 인공지능 학습 장치로부터 제공된 이미지에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다.Each component is described, and the annotation device is a device that can be used to annotate an image provided from a learning data design device or an artificial intelligence learning device.

특히, 본 발명에 따른 어노테이션 장치는 작업자(즉, 어노테이션 장치의 사용자)가 어노테이션 작업을 수행하는 과정에서 가지게 되는 의문에 대하여 효율적으로 응답을 제공하고, 작업자가 발생시키기 쉬운 오류와 관련된 입력을 제한할 수 있는 특징을 가지고 있다.In particular, the annotation device according to the present invention can efficiently provide answers to questions that a worker (ie, a user of the annotation device) has in the process of performing an annotation task, and limit inputs related to errors easily caused by the operator. It has features that can be

이와 같은, 어노테이션 장치는 학습 데이터 설계 장치 및 인공지능 학습 장치와 각각 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.Any device capable of transmitting and receiving data to and from the learning data design device and the artificial intelligence learning device, respectively, and performing calculations using the transmitted and received data may be used as the annotation device.

예를 들어, 어노테이션 장치는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되지 아니하고, 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수도 있다.For example, the annotation device may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto, and is not limited to, a smart phone or a laptop. ), tablets, phablets, portable multimedia players (PMPs), personal digital assistants (PDAs) or e-book readers. can be any one of them.

다음 구성으로, 학습 데이터 설계 장치는 인공지능(AI) 학습용 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. 이와 같은, 학습 데이터 설계 장치는 기본적으로 인공지능 학습 장치와 구분되는 장치이나, 실제 물리적 환경에서 인공지능 학습 장치에 통합되어 구현될 수도 있다.With the following configuration, the learning data design device is a device that can be used to design and generate artificial intelligence (AI) learning data. Such a learning data design device is basically a device that is distinguished from an artificial intelligence learning device, but may be implemented by being integrated with an artificial intelligence learning device in a real physical environment.

구체적으로, 학습 데이터 설계 장치는 인공지능 학습 장치로부터 인공지능(AI) 학습과 관련된 프로젝트의 속성을 수신할 수 있다. 학습 데이터 설계 장치는 사용자의 제어 및 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 데이터 구조의 설계, 수집된 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행할 수 있다.Specifically, the learning data design device may receive attributes of a project related to artificial intelligence (AI) learning from the artificial intelligence learning device. The learning data design device can design data structures for artificial intelligence (AI) learning, refine collected data, process data, expand data, and verify data based on the user's control and the attributes of the project. there is.

보다 상세하게, 학습 데이터 설계 장치는 인공지능(AI) 학습을 위한 데이터 가공을 위하여, 어노테이션의 대상이 되는 이미지를 어노테이션 장치에 전송할 수 있다. 학습 데이터 설계 장치는 어노테이션 장치로부터 어노테이션 작업 결과물을 수신할 수 있다. 이 경우, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있다. 이와 다르게, 학습 데이터 설계 장치는 JSON과 다른 형식의 어노테이션 작업 결과물을 수신한 후, 수신된 결과물을 기초로 JSON 파일을 생성할 수도 있다. 그리고, 학습 데이터 설계 장치는 수신 또는 생성된 JSON 파일을 검수(inspection)한 후, 이를 패키징(packaging)하여 인공지능 학습 장치에 전송할 수 있다.In more detail, the learning data design device may transmit an image to be annotated to the annotation device for data processing for artificial intelligence (AI) learning. The learning data design device may receive an annotation work result from the annotation device. In this case, the annotation work result may have a JSON (Java Script Object Notation) file format. Alternatively, the learning data design device may generate a JSON file based on the received result after receiving a result of annotation work in a format different from JSON. In addition, the learning data design device inspects the received or created JSON file, packages it, and transmits it to the artificial intelligence learning device.

특징적으로, 본 발명에 따른 학습 데이터 설계 장치는 어노테이션 작업을 수행하는 복수의 작업자들의 질의응답이 누적 저장된 외부 저장소인 데이터베이스를 포함하여 구성될 수 있다. 여기서, 질의응답은 어노테이션 장치의 사용자(즉, 작업자)가 어노테이션 작업을 수행하는 과정에서 가지게 된 의문 사항에 대하여 질의한 데이터와, 학습 데이터 설계 장치의 사용자(즉, 관리자)가 답변한 응답 데이터로 구성될 수 있다.Characteristically, the learning data design apparatus according to the present invention may include a database, which is an external storage in which questions and answers of a plurality of workers performing annotation work are accumulated and stored. Here, the question and answer is the data that the user of the annotation device (i.e., the operator) has inquired about the questions in the process of performing the annotation work, and the response data that the user (i.e., manager) of the learning data design device has answered. can be configured.

학습 데이터 설계 장치는 어노테이션 장치로부터 질의 데이터가 수신되면, 수신된 질의 데이터의 키워드에 매칭하는 응답 데이터를 데이터베이스로부터 검색할 수 있다. 그리고, 학습 데이터 설계 장치는 검색된 응답 데이터를 어노테이션 장치에 전송할 수 있다.When query data is received from the annotation device, the learning data design device may retrieve response data matching keywords of the received query data from the database. And, the learning data design device may transmit the searched response data to the annotation device.

만약, 어노테이션 장치의 키워드에 매칭하는 응답 데이터가 데이터베이스 내에 존재하지 않는 경우, 학습 데이터 설계 장치는 어노테이션 장치로부터 키워드에 매칭되는 응답 데이터의 생성을 요청하는 메시지를 수신할 수 있다. 이 경우, 학습 데이터 설계 장치는 어노테이션 장치로부터 수신된 질의 데이터를 출력한 후, 사용자로부터 질의 데이터에 대응하는 응답 데이터를 입력 받을 수 있다. 학습 데이터 설계 장치는 사용자로부터 입력된 응답 데이터를 키워드와 매칭하여 데이터베이스에 저장한 후, 해당 응답 데이터를 어노테이션 장치에 전송할 수 있다.If response data matching the keyword of the annotation device does not exist in the database, the learning data design device may receive a message requesting generation of response data matching the keyword from the annotation device. In this case, after outputting the query data received from the annotation device, the learning data design device may receive response data corresponding to the query data from the user. The learning data design device may match response data input from the user with keywords and store them in a database, and then transmit the corresponding response data to the annotation device.

학습 데이터 설계 장치는 동일한 키워드가 포함된 질의 데이터가 사전에 설정된 임계 수보다 많이 수신된 경우, 동일한 키워드와 관련된 가이드 정보를 식별할 수 있다. 그리고, 학습 데이터 설계 장치는 식별된 가이드 정보를 어노테이션 작업을 수행하고 있는 모든 어노테이션 장치에 배포할 수 있다.The learning data design device may identify guide information related to the same keyword when more than a preset threshold number of query data including the same keyword is received. And, the learning data design device may distribute the identified guide information to all annotation devices performing annotation work.

이 경우, 가이드 정보는 어노테이션 작업의 각 과정에서 작업자가 참고할 수 있도록, 인공지능(AI) 학습의 목표 및 학습 방법론에 대응하여 사전에 설정된 정보가 될 수 있다. 이러한 가이드 정보가 분류되어 설정된 어노테이션 작업 과정은 상기 어노테이션 작업의 대상이 되는 이미지의 로딩(loading) 과정, 상기 작업자에 의한 툴(tool)의 선택 과정, 상기 툴을 이용한 좌표의 입력 과정, 상기 좌표에 의한 바운딩 박스(bounding box)의 설정 과정, 상기 바운딩 박스에 의해 특정된 객체(object)의 속성 정보 입력 과정을 포함하여 구분될 수 있다.In this case, the guide information may be previously set information corresponding to the goal and learning methodology of artificial intelligence (AI) learning so that workers can refer to it in each process of annotation work. The annotation work process in which this guide information is classified and set includes a process of loading an image to be an annotation work, a process of selecting a tool by the operator, a process of inputting coordinates using the tool, and a process of inputting coordinates using the tool. It can be distinguished by including a process of setting a bounding box by and a process of inputting attribute information of an object specified by the bounding box.

또한, 학습 데이터 설계 장치는 어노테이션 장치로부터 제어 무시 데이터를 수신할 수 있다. 여기서, 제어 무시 데이터는 어노테이션 장치의 사용자(즉, 작업자)가 입력 제한 패턴을 무시하고 제어를 수행하는 경우, 어노테이션 장치의 사용자에 의해 입력 제한 패턴에 대응하여 입력된 제어 신호가 누적 저장된 데이터이다.Also, the learning data design device may receive control disregard data from the annotation device. Here, the control ignoring data is data in which control signals input by the user of the annotation device in response to the input restriction pattern are accumulated and stored when the user (ie, the operator) of the annotation device ignores the input restriction pattern and performs control.

학습 데이터 설계 장치는 수신된 제어 무시 데이터에 누적 저장된 제어 신호를 기초로, 해당 어노테이션 장치의 사용자(즉, 작업자)의 업무 평가 등급을 결정하거나, 재조정할 수 있다. The learning data design device may determine or readjust a job evaluation grade of a user (ie, a worker) of the corresponding annotation device based on the control signal accumulated and stored in the received control disregard data.

여기서, 작업자의 업무 평가 등급은 작업자가 어노테이션 작업을 수행할 수 있는 능력치를 평가한 등급이다. 이와 같은, 작업자의 업무 평가 등급은 작업자에게 할당할 작업의 종류, 양(load) 또는 작업자에게 지급할 보수(pay)를 결정하는데 활용될 수 있으며, 이에 한정되지 않는다.Here, the job evaluation grade of the worker is a grade in which the worker's ability to perform the annotation work is evaluated. Such a job evaluation grade of the worker may be used to determine the type and amount (load) of work to be assigned to the worker, or pay to be paid to the worker, but is not limited thereto.

이와 같은, 학습 데이터 설계 장치는 어노테이션 장치 및 인공지능 학습 장치와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 설계 장치는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the learning data design device may be any device capable of transmitting and receiving data to and from the annotation device and the artificial intelligence learning device and performing calculations using the transmitted and received data. For example, the learning data design device may be any one of a desktop, a workstation, or a fixed computing device such as a server, but is not limited thereto.

다음 구성으로, 인공지능 학습 장치는 인공지능(AI) 학습용 데이터를 기초로, 인공지능(AI)의 기계 학습을 수행하는데 사용될 수 있는 장치이다.With the following configuration, the artificial intelligence learning device is a device that can be used to perform machine learning of artificial intelligence (AI) based on data for artificial intelligence (AI) learning.

구체적으로, 인공지능 학습 장치는 학습 데이터 설계 장치로부터 패키징된 JSON 파일을 수신할 수 있다. 그리고, 인공지능 학습 장치는 수신된 JSON 파일을 이용하여 인공지능(AI)의 기계 학습을 수행할 수 있다.Specifically, the artificial intelligence learning device may receive a packaged JSON file from the learning data design device. And, the artificial intelligence learning device may perform artificial intelligence (AI) machine learning using the received JSON file.

이와 같은, 인공지능 학습 장치는 학습 데이터 설계 장치와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the artificial intelligence learning device may be any device capable of transmitting and receiving data to and from the learning data design device and performing calculations using the transmitted and received data. For example, the artificial intelligence learning device may be any one of a desktop, a workstation, or a fixed computing device such as a server, but is not limited thereto.

상술한 바와 같은, 하나 이상의 어노테이션 장치, 학습 데이터 설계 장치 및 인공지능 학습 장치는 장치들 사이에 직접 연결된 보안회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, one or more annotation devices, learning data design devices, and artificial intelligence learning devices may transmit and receive data using a network in which one or more of a security line, a common wired communication network, or a mobile communication network directly connected between devices is combined. there is.

예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다. For example, public wired communication networks may include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). It may be, but is not limited thereto. In addition, in the mobile communication network, Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), High Speed Packet Access (HSPA), Long Term Evolution, LTE) and 5th generation mobile telecommunication may be included, but is not limited thereto.

이하, 상술한 바와 같은, 어노테이션 장치의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the annotation device as described above will be described in more detail.

어노테이션 장치는 통신부, 입출력부, 저장부, 어노테이션 작업부, 품질 관리부 및 결과물 생성부를 포함하여 구성될 수 있다.The annotation device may include a communication unit, an input/output unit, a storage unit, an annotation operation unit, a quality management unit, and a result generation unit.

이와 같은, 어노테이션 장치의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the annotation device are merely functionally distinct elements, two or more components may be integrated and implemented in an actual physical environment, or one component may be implemented separately from each other in an actual physical environment. There will be.

각각의 구성 요소에 대하여 설명하면, 통신부는 학습 데이터 설계 장치와 데이터를 송수신할 수 있다.The communication unit may transmit/receive data to and from the learning data design device.

구체적으로, 통신부는 학습 데이터 설계 장치로부터 하나 이상의 이미지를 수신할 수 있다. 여기서, 이미지는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지이다. 이와 같은, 이미지는 학습 데이터 설계 장치 또는 인공지능 학습 장치가 설계한 데이터 가공 계획에 따라, 어노테이션 작업의 대상이 되는 이미지를 개별적으로 수신하거나, 또는 복수 개의 이미지를 일괄적으로 수신할 수 있다.Specifically, the communication unit may receive one or more images from the learning data design device. Here, the image is an image that is a target of annotation work for artificial intelligence (AI) learning. According to the data processing plan designed by the learning data design device or the artificial intelligence learning device, images to be annotated may be individually received or a plurality of images may be collectively received.

통신부는 학습 데이터 설계 장치로부터 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 수신할 수 있다. 여기서, 프로젝트의 속성에는 인공지능(AI)의 학습과 관련된 프로젝트에 대한 학습 목적, 학습 기간, 학습에 필요한 이미지의 수, 이미지에서 식별하고자 하는 객체의 속성, 바운딩 박스 설정 규칙 등이 포함될 수 있으나, 이에 한정되는 것은 아니다. 이미지의 속성에는 이미지의 파일명, 이미지의 크기(너비, 높이), 해상도, 비트 수준, 압축 형식, 촬영 장치명, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 값, 촬영 장소 좌표(GPS 위도, 경도), 촬영 시각 등이 포함될 수 있으나, 이에 한정되는 것은 아니다. 작업자의 속성에는 작업자의 명칭, 식별번호, 할당된 작업량, 작업에 따른 비용, 작업 결과 평가 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.The communication unit may receive project properties, image properties, or worker properties from the learning data design device. Here, the properties of the project may include the learning purpose, learning period, number of images required for learning, object properties to be identified in images, bounding box setting rules, etc. for a project related to artificial intelligence (AI) learning. It is not limited to this. Image properties include image file name, image size (width, height), resolution, bit level, compression format, shooting device name, exposure time, ISO speed, focal length, aperture value, and shooting location coordinates (GPS latitude, longitude). , shooting time, etc. may be included, but is not limited thereto. The worker's attributes may include, but are not limited to, the worker's name, identification number, assigned work amount, cost according to the work, work result evaluation, and the like.

통신부는 품질 관리부에 의해 생성된 질의 데이터를 학습 데이터 설계 장치에 전송할 수 있다. 여기서, 질의 데이터는 사용자(즉, 작업자)가 어노테이션 작업을 수행하는 과정에서 가지게 된 의문 사항에 대하여 질의하기 위해 생성된 데이터이다. The communication unit may transmit the query data generated by the quality management unit to the learning data design device. Here, the query data is data generated to inquire about questions that a user (ie, a worker) has in the process of performing an annotation task.

통신부는 학습 데이터 설계 장치로부터 응답 데이터를 수신할 수 있다. 여기서, 응답 데이터는 사용자(즉, 작업자)가 어노테이션 작업을 수행하는 과정에서 가지게 된 의문 사항을 해소시키기 위해 생성된 데이터이다. The communication unit may receive response data from the learning data design device. Here, the response data is data generated to solve questions that the user (ie, the operator) has in the process of performing the annotation work.

통신부는 품질 관리부의 제어에 따라, 키워드에 매칭되는 응답 데이터의 생성을 요청하는 메시지를 학습 데이터 설계 장치에 전송할 수 있다.The communication unit may transmit a message requesting generation of response data matching the keyword to the learning data design device under the control of the quality management unit.

통신부는 학습 데이터 설계 장치로부터 가이드 정보를 수신할 수 있다. 여기서, 가이드 정보는 어노테이션 작업의 각 과정에서 작업자가 참고할 수 있도록 인공지능(AI) 학습의 목표 및 학습 방법론에 대응하여 사전에 설정된 정보가 될 수 있다. The communication unit may receive guide information from the learning data design device. Here, the guide information may be information set in advance corresponding to the goal and learning methodology of artificial intelligence (AI) learning so that the operator can refer to it in each process of the annotation work.

통신부는 품질 관리부의 제어에 따라, 제어 무시 데이터를 학습 데이터 설계 장치에 전송할 수 있다. 여기서, 제어 무시 데이터는 어노테이션 장치의 사용자(즉, 작업자)가 입력 제한 패턴을 무시하고 제어를 수행하는 경우, 어노테이션 장치의 사용자에 의해 입력 제한 패턴에 대응하여 입력된 제어 신호가 누적 저장된 데이터이다.The communication unit may transmit the control disregard data to the learning data design device under the control of the quality management unit. Here, the control ignoring data is data in which control signals input by the user of the annotation device in response to the input restriction pattern are accumulated and stored when the user (ie, the operator) of the annotation device ignores the input restriction pattern and performs control.

그리고, 통신부는 어노테이션 작업부에 의해 생성된 어노테이션의 작업 결과물을 학습 데이터 설계 장치에 전송할 수 있다. 여기서, 작업 결과물은 작업자의 제어에 따라 설정된 바운딩 박스의 좌표 및 객체의 속성 정보가 포함될 수 있다. 또한, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.And, the communication unit may transmit the work result of the annotation generated by the annotation operation unit to the learning data design device. Here, the work result may include the coordinates of the bounding box set under the operator's control and property information of the object. In addition, the work result may have a JSON file format, but is not limited thereto.

다음 구성으로, 입출력부는 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 신호를 입력 거나, 또는 연산된 결과를 외부로 출력할 수 있다.With the following configuration, the input/output unit may input a signal from an operator through a user interface (UI) or output calculated results to the outside.

여기서, 작업자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 작업자는 사용자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.Here, the worker means a person who performs annotation work. Such an operator may be referred to as a user, performer, labeler, or data labeler, but is not limited thereto.

구체적으로, 입출력부는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부는 바운딩 박스를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. 그리고, 입출력부는 이미지 위에 바운딩 박스를 오버레이(overlay)하여 출력할 수 있다.Specifically, the input/output unit may output an image to be an annotation work. The input/output unit may receive a control signal for setting a bounding box from an operator. In addition, the input/output unit may overlay and output the bounding box on the image.

여기서, 바운딩 박스(bounding box)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 다각형(polygon) 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.Here, the bounding box is an area for specifying an object to be learned by artificial intelligence (AI) among objects included in the image. Such a bounding box may have a rectangle or polygon shape, but is not limited thereto.

입출력부는 객체의 속성 정보를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. 여기서, 또한, 객체의 속성 정보는 인공지능(AI) 학습의 대상이 되는 객체의 속성을 지정하기 위한 정보이다. 이와 같은, 객체의 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류 또는 상위 레벨(instance upper)에 관한 정보가 포함될 수 있으며, 이에 한정되는 것은 아니다.The input/output unit may receive a control signal for setting object attribute information from an operator. Here, also, the property information of the object is information for designating the property of the object to be an artificial intelligence (AI) learning target. Such object attribute information includes information on the type of annotation, class name (class), classification items (tags), truncated state of the object, major classification, subclassification, or upper level (instance upper). may be, but is not limited thereto.

입출력부는 질의 데이터를 기초로 학습 데이터 설계 장치의 데이터베이스로부터 검색된 응답 데이터를 출력할 수 있다. 입출력부는 어노테이션 작업의 각 과정에서 작업자가 참고할 수 있는 가이드 정보를 출력할 수 있다. The input/output unit may output response data retrieved from the database of the learning data design device based on the query data. The input/output unit may output guide information that a worker can refer to in each process of annotation work.

입출력부는 품질 관리부의 제어에 따라, 작업자로부터 제어 신호를 입력 받기 위한 사용자 인터페이스(UI)의 일부를 비활성화시키거나, 또는 사용자 인터페이스(UI)를 통해 작업자로부터 입력된 제어 신호의 일부를 무시할 수 있다.The input/output unit may deactivate a part of the user interface (UI) for receiving a control signal from the operator or ignore part of the control signal input from the operator through the user interface (UI) according to the control of the quality control unit.

다음 구성으로, 저장부는 어노테이션 작업에 필요한 데이터를 저장할 수 있다.With the following configuration, the storage unit can store data required for annotation work.

구체적으로, 저장부는 통신부를 통해 수신된 이미지를 저장할 수 있다. 저장부는 통신부를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 저장할 수 있다. Specifically, the storage unit may store an image received through the communication unit. The storage unit may store project properties, image properties, or worker properties received through the communication unit.

다음 구성으로, 어노테이션 작업부는 인공지능(AI) 학습을 위한 데이터의 어노테이션 작업을 수행할 수 있다. With the following configuration, the annotation work unit can perform annotation work on data for artificial intelligence (AI) learning.

구체적으로, 어노테이션 작업부는 어노테이션 작업의 대상이 되는 이미지를 메모리로 로딩할 수 있다. 어노테이션 작업부는 입출력부를 통해 입력된 작업자의 제어 신호에 따라 툴을 선택할 수 있다. 여기서, 툴(tool)은 이미지 속에 포함되어 있는 하나 이상의 객체를 특정하는 바운딩 박스를 설정하기 위한 도구이다. Specifically, the annotation task unit may load an image to be an annotation task into memory. The annotation work unit may select a tool according to an operator's control signal input through the input/output unit. Here, the tool is a tool for setting a bounding box that specifies one or more objects included in the image.

어노테이션 작업부는 입출력부를 통해 입력된 제어 신호에 따라, 선택된 툴을 통한 좌표를 입력 받을 수 있다. 어노테이션 작업부는 입력된 좌표를 기초로, 이미지 속 객체를 특정하기 위한 바운딩 박스를 설정할 수 있다. 여기서, 바운딩 박스(bounding box)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 다각형(polygon) 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.The annotation work unit may receive coordinates through the selected tool according to a control signal input through the input/output unit. The annotation work unit may set a bounding box for specifying an object in the image based on the input coordinates. Here, the bounding box is an area for specifying an object to be learned by artificial intelligence (AI) among objects included in the image. Such a bounding box may have a rectangle or polygon shape, but is not limited thereto.

예를 들어, 어노테이션 작업부는 입출력부를 통해 작업자로부터 두 개의 좌표를 입력 받고, 입력된 두 좌표를 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정할 수 있다. 이 경우, 두 개의 좌표는 작업자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 작업자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.For example, the annotation work unit receives two coordinates from the operator through the input/output unit, and sets the bounding box based on a rectangle having the input two coordinates as the coordinates of the upper left vertex and the lower right vertex in the image. can In this case, the two coordinates may be set by the operator inputting one type of input signal twice (eg, mouse click) or by the operator inputting two types of input signals once (eg, mouse drag). It may, but is not limited thereto.

그리고, 어노테이션 작업부는 입출력부를 통해 입력된 제어 신호에 따라, 바운딩 박스에 의해 특정된 객체의 속성 정보를 설정할 수 있다. 여기서, 객체의 속성 정보는 인공지능(AI) 학습의 대상이 되는 객체의 속성을 지정하기 위한 정보이다. 이와 같은, 객체의 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류 또는 상위 레벨(instance upper)에 관한 정보가 포함될 수 있으며, 이에 한정되는 것은 아니다.Also, the annotation work unit may set property information of the object specified by the bounding box according to the control signal input through the input/output unit. Here, the property information of the object is information for designating the property of an object to be an artificial intelligence (AI) learning target. Such object attribute information includes information on the type of annotation, class name (class), classification items (tags), truncated state of the object, major classification, subclassification, or upper level (instance upper). may be, but is not limited thereto.

다음 구성으로, 품질 관리부는 어노테이션 작업부를 통해 어노테이션 작업이 이루어지는 과정에서 작업의 품질을 관리할 수 있다.With the following configuration, the quality management unit may manage the quality of work in the process of performing annotation work through the annotation work unit.

특징적으로, 본 발명의 실시예에 따른 품질 관리부는 어노테이션 작업의 품질을 향상시키기 위하여, 작업자가 어노테이션 작업을 수행하는 과정에서 가지게 되는 의문에 대하여 효율적으로 응답을 제공하고, 작업자가 발생시키기 쉬운 오류와 관련된 입력을 제한할 수 있다.Characteristically, in order to improve the quality of annotation work, the quality control unit according to an embodiment of the present invention efficiently provides answers to questions that workers have in the process of performing annotation work, Relevant inputs can be restricted.

우선적으로, 본 발명의 일 실시예에 따른 품질 관리부가 작업자가 어노테이션 작업을 수행하는 과정에서 가지게 되는 의문에 대하여 응답을 제공하는 과정을 설명한다.First of all, a process of providing a response to a question raised by a quality management unit in the process of performing an annotation work by a worker according to an embodiment of the present invention will be described.

구체적으로, 품질 관리부는 어노테이션 작업부의 인공지능(AI) 학습을 위한 어노테이션 작업 과정에서, 입출력부의 사용자 인터페이스(UI)를 통해 작업자로부터 의문점이 존재함을 알리는 명령을 입력 받을 수 있다. Specifically, the quality management unit may receive a command notifying the existence of a question mark from an operator through a user interface (UI) of the input/output unit in the annotation work process for artificial intelligence (AI) learning of the annotation work unit.

예를 들어, 품질 관리부는 사용자 인터페이스(UI)에 포함된 버튼 아이콘(icon) 또는 사전에 설정된 단축 키(shortcut)를 통해 작업자로부터 의문이 존재함을 알리는 명령을 입력 받을 수 있으나, 이에 한정되는 것은 아니다.For example, the quality management unit may receive a command notifying the existence of a question from an operator through a button icon included in the user interface (UI) or a preset shortcut key, but is not limited thereto. no.

품질 관리부는 작업자로부터 입력된 의문점이 존재함을 알리는 명령에 대응하여 질의 데이터를 생성할 수 있다. The quality control unit may generate query data in response to a command notifying that a question mark is input from an operator.

여기서, 질의 데이터는 작업자가 어노테이션 작업을 수행하는 과정에서 가지게 된 의문 사항에 대하여 질의하기 위해 생성된 데이터이다. 이와 같은, 질의 데이터는 키워드(keyword), 컨텐츠(contents) 및 상황 데이터(situation data)를 포함하여 구성될 수 있으며, 이에 한정되는 것은 아니다.Here, the query data is data generated to inquire about questions that the operator has in the process of performing the annotation work. Such query data may include keywords, contents, and situation data, but is not limited thereto.

질의 데이터에 포함되는 키워드는 작업자가 가지게 된 의문 사항을 대표적으로 표출할 수 있는 단어이다. 컨텐츠는 작업자가 가지게 된 의문 사항에 관한 상세 설명이다. 그리고, 상황 데이터는 작업자가 의문 사항을 가지게 된 상황에 대한 데이터이다.The keyword included in the query data is a word that can represent a question that a worker has. The content is a detailed description of the question the worker has. And, the situation data is data about the situation in which the operator has questions.

품질 관리부는 입출력부의 사용자 인터페이스(UI)를 통하여, 작업자로부터 키워드와 컨텐츠를 입력 받을 수 있다. 그러나, 품질 관리부는 작업자로부터 오직 컨텐츠만 입력 받고, 키워드는 자동으로 결정할 수 있다.The quality control unit may receive input of keywords and contents from a worker through a user interface (UI) of the input/output unit. However, the quality management unit may receive only content input from a worker and automatically determine keywords.

보다 상세하게, 품질 관리부는 어노테이션 작업 과정에서 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별할 수 있다.More specifically, the quality control unit may identify the progress state of the work according to the type of control signal input from the operator in the annotation work process.

여기서, 어노테이션 작업 과정은 어노테이션 작업의 대상이 되는 이미지의 로딩 과정, 작업자에 의한 툴의 선택 과정, 툴을 이용한 좌표의 입력 과정, 좌표에 의한 바운딩 박스의 설정 과정, 바운딩 박스에 의해 특정된 객체의 속성 정보 입력 과정을 포함하여 구분될 수 있다. Here, the annotation work process is a process of loading an image to be annotated, a process of selecting a tool by an operator, a process of inputting coordinates using a tool, a process of setting a bounding box by coordinates, and a process of setting an object specified by the bounding box. It can be distinguished by including the attribute information input process.

예를 들어, 품질 관리부는 작업자로부터 입력된 제어 신호의 유형이 이미지를 로딩하기 위한 메뉴 아이콘(icon)을 선택하거나, 저장장치에 저장된 이미지의 위치를 탐색하는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 이미지의 로딩 과정에 해당되는 것으로 판단할 수 있다. For example, if the type of control signal input from the operator corresponds to a command to select a menu icon for loading an image or to search for a location of an image stored in a storage device, the quality control unit proceeds with the annotation work. It may be determined that the state corresponds to an image loading process.

품질 관리부는 작업자로부터 입력된 제어 신호의 유형이 이미지 로딩 이후 툴바(toolbar)를 향하여 입력 커서(cursor)를 이동시키는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 툴의 선택 과정에 해당되는 것으로 판단할 수 있다. If the type of control signal input from the operator corresponds to a command to move the input cursor toward the tool bar after image loading, the quality control unit determines that the progress of the annotation work corresponds to the tool selection process. can do.

품질 관리부는 작업자로부터 입력된 제어 신호의 유형이 툴이 선택된 이후 이미지 내부에서 입력 커서를 이동시키는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 좌표의 입력 과정에 해당되는 것으로 판단할 수 있다.If the type of control signal input from the operator corresponds to a command to move the input cursor within the image after the tool is selected, the quality control unit may determine that the progress state of the annotation work corresponds to the process of inputting coordinates.

품질 관리부는 작업자로부터 입력된 제어 신호의 유형이 선택된 툴을 이용하여 입력할 수 있는 좌표들 중에서 마지막 좌표를 입력하는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 바운딩 박스의 설정 과정에 해당되는 것으로 판단할 수 있다.If the type of control signal input from the operator corresponds to a command to input the last coordinate among the coordinates that can be input using the selected tool, the quality control unit determines that the progress of the annotation work corresponds to the setting process of the bounding box. can judge

그리고, 품질 관리부는 작업자로부터 입력된 제어 신호의 유형이 바운딩 박스가 설정된 이후 속성 입력 창을 향하여 입력 커서를 이동시키는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 객체의 속성 정보 입력 과정에 해당되는 것으로 판단할 수 있다.And, if the type of control signal input from the operator in the quality management unit corresponds to a command to move the input cursor toward the property input window after the bounding box is set, the progress of the annotation work corresponds to the process of inputting object property information can be judged to be

지금까지 상술한 작업 진행 상태를 식별하는 제어 신호의 유형은 하나의 예시에 불과하며, 이와 다른 제어 신호의 유형에 따라 작업 진행 상태를 식별할 수 있음은 본 발명이 속한 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.The type of control signal for identifying the work progress state described above is only an example, and the fact that the work progress state can be identified according to the type of other control signals is a common knowledge in the art to which the present invention belongs. It will be self-evident to those who have it.

어노테이션 작업의 진행 상태를 식별한 이후, 품질 관리부는 식별된 작업의 진행 상태를 기초로 하나의 키워드를 결정할 수 있다. After identifying the progress status of the annotation task, the quality management unit may determine one keyword based on the identified task progress status.

상술한 바와 같이 키워드가 입력 또는 결정되면, 품질 관리부는 상황 데이터를 결정할 수 있다.As described above, when a keyword is input or determined, the quality management unit may determine situation data.

본 발명의 일 실시예에 따르면, 품질 관리부는 어노테이션 작업의 대상이 되는 이미지의 정보, 툴을 이용하여 입력된 좌표 정보, 객체의 속성 정보를 중 하나 이상을 더 포함시켜 상황 데이터를 결정할 수 있다. According to an embodiment of the present invention, the quality control unit may further include at least one of information of an image to be annotated, coordinate information input using a tool, and attribute information of an object to determine situation data.

본 발명의 다른 실시예에 따르면, 품질 관리부는 하나 이상의 이벤트 메시지(event message)를 이벤트(event)의 발생 시각의 선후에 따라 연결(linked list)할 수 있다. 이를 위하여, 어노테이션 장치의 운영체제(operating system)는 이벤트(event)를 감지하고, 발생된 이벤트에 따라 데이터를 처리하거나 동작을 수행하는 이벤트 드리븐 아키텍쳐(event driven architecture) 방식의 운영체제에 해당될 수 있다. 그리고, 이벤트 메시지는 어노테이션 장치의 운영체제에 의해 관리되는 메시지 큐(message queue)로부터 선택적으로 추출된, 작업자의 입출력장치(input/output device) 제어에 의해 발생된 시스템 메시지(system message)에 해당될 수 있다. 그리고, 품질 관리부는 이벤트의 발생 시각의 선후에 따라 연결된 이벤트 메시지를 포함하여 상황 데이터를 결정할 수 있다.According to another embodiment of the present invention, the quality control unit may link one or more event messages according to the occurrence time of the event (linked list). To this end, the operating system of the annotation device may correspond to an event driven architecture type operating system that detects events and processes data or performs operations according to the generated events. In addition, the event message may correspond to a system message generated by controlling an input/output device of a worker, selectively extracted from a message queue managed by an operating system of an annotation device. there is. In addition, the quality control unit may determine situation data including event messages connected according to the occurrence time of the event.

본 발명의 또 다른 실시예에 따르면, 품질 관리부는 하나 이상의 캡쳐 이미지를 캡쳐 시각의 선후에 따라 연결할 수 있다. 여기서, 캡쳐 이미지는 어노테이션 작업 과정의 각 과정마다, 사전에 설정된 캡쳐 주기에 따라 어노테이션 장치의 입출력 장치에 의해 출력되는 화면을 캡쳐한 이미지에 해당될 수 있다. 그리고, 품질 관리부는 캡쳐 시각의 선후에 따라 연결된 캡쳐 이미지를 포함하여 상황 데이터를 결정할 수 있다.According to another embodiment of the present invention, the quality management unit may connect one or more captured images according to the precedence of the capturing time. Here, the captured image may correspond to an image obtained by capturing a screen output by an input/output device of an annotation device according to a previously set capture cycle for each process of the annotation work process. And, the quality control unit may determine situation data including the connected captured images according to the precedence and precedence of the capture time.

그리고, 품질 관리부는 입력된 컨텐츠, 입력 또는 결정된 키워드 및 결정된 상황 데이터를 포함시켜 질의 데이터를 생성할 수 있다. The quality control unit may generate query data by including the input content, the input or determined keyword, and the determined situation data.

다음으로, 품질 관리부는 생성된 질의 데이터를 기초로, 학습 데이터 설계 장치의 데이터베이스를 검색할 수 있다.Next, the quality management unit may search the database of the learning data design device based on the generated query data.

본 발명의 일 실시예에 따르면, 품질 관리부는 학습 데이터 설계 장치의 데이터베이스에 저장된 데이터에 대하여, 제3 작업자들의 질의에 대응하기 위하여 작성된 응답 데이터 중에서 질의 데이터의 키워드가 매칭되는 응답 데이터를 검색할 수 있다. 여기서, 제3 작업자들은 질의 데이터를 전송한 어노테이션 장치의 어노테이션 작업이 연유된 프로젝트와 동일한 프로젝트로부터 어노테이션 작업을 할당 받은 자를 의미한다.According to an embodiment of the present invention, the quality control unit may search for response data matching keywords of the query data among response data prepared to respond to queries of third workers with respect to data stored in the database of the learning data design device. there is. Here, the third workers refer to persons who have been allocated annotation work from the same project as the project in which the annotation work of the annotation device transmitting the query data is derived.

본 발명의 다른 실시예에 따르면, 품질 관리부는 학습 데이터 설계 장치의 데이터베이스에 저장된 데이터에 대하여, 제3 프로젝트를 위한 어노테이션 작업 과정에서 작성된 응답 데이터 중에서 질의 데이터의 키워드가 매칭되는 응답 데이터를 검색할 수 있다. 여기서, 제3 프로젝트는 어노테이션 장치의 어노테이션 작업 결과물을 기초로 인공지능(AI)을 학습시켜 이미지로부터 검출하고자 하는 클래스의 유형과 동일한 유형의 클래스를 이미지로부터 검출하기 위한 프로젝트를 의미한다.According to another embodiment of the present invention, the quality management unit may search for response data matching keywords of the query data among response data created in the annotation process for the third project with respect to data stored in the database of the learning data design device. there is. Here, the third project means a project for detecting a class of the same type as a class to be detected from an image by learning artificial intelligence (AI) based on the annotation work result of the annotation device.

상술한 바와 같은 데이터베이스 검색 결과 데이터베이스로부터 응답 데이터가 검색되면, 품질 관리부는 데이터베이스로부터 검색된 응답 데이터를 입출력부의 사용자 인터페이스(UI)를 통해 출력할 수 있다.When response data is retrieved from the database as a result of the database search as described above, the quality management unit may output the response data retrieved from the database through the user interface (UI) of the input/output unit.

그리고, 데이터베이스로부터 질의 데이터의 키워드에 매칭되는 응답 데이터를 검색하지 못한 경우, 품질 관리부는 학습 데이터 설계 장치에 대하여, 질의 데이터의 키워드에 매칭되는 응답 데이터의 생성을 요청하는 메시지를 전송할 수 있다. In addition, when response data matching the keyword of the query data is not searched from the database, the quality management unit may transmit a message requesting generation of response data matching the keyword of the query data to the learning data design device.

한편, 본 발명의 다른 실시예에 따른 품질 관리부가 작업자가 발생시키기 쉬운 오류와 관련된 입력을 제한하는 과정을 설명한다.Meanwhile, a process of limiting an input related to an error easily caused by a quality control unit according to another embodiment of the present invention will be described.

구체적으로, 품질 관리부는 어노테이션 작업부의 인공지능(AI) 학습을 위한 어노테이션 작업 과정에서, 입출력부의 사용자 인터페이스(UI)를 통해 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별할 수 있다. 품질 관리부의 작업의 진행 상태를 식별하는 과정은 상술한 바와 동일하므로 반복하여 기재하지 않는다.Specifically, the quality control unit identifies the progress of the work according to the type of control signal input from the operator through the user interface (UI) of the input/output unit in the annotation work process for artificial intelligence (AI) learning of the annotation work unit. . The process of identifying the progress of the work of the quality management unit is the same as described above, so it will not be described repeatedly.

품질 관리부는 식별된 작업의 진행 상태를 기초로, 입력 제한 패턴을 결정할 수 있다. 여기서, 입력 제한 패턴은 어노테이션 작업의 결과물에 오류를 포함시킬 가능성이 존재함을 이유로 어노테이션 작업 과정마다 설정되며, 하나 이상의 제어 신호의 조합을 포함하여 구성될 수 있다. The quality control unit may determine an input limiting pattern based on the progress state of the identified task. Here, the input restriction pattern is set for each annotation work process because there is a possibility of including errors in the result of the annotation work, and may include a combination of one or more control signals.

본 발명의 일 실시예에 따르면, 입력 제한 패턴은 작업자가 기 수행한 어노테이션 작업 결과물에 대하여, 스크립트(script)를 이용하여 검증을 수행한 결과를 기초로 설정될 수 있다. 여기서, 스크립트는 기 수행된 어노테이션 작업 결과물을 대상으로, 사전에 설정된 목표 품질의 부합 여부 또는 데이터의 유효성 여부를 검증하기 위하여 구비된 코드가 될 수 있다.According to an embodiment of the present invention, the input restriction pattern may be set based on a result of performing verification using a script on a result of an annotation job previously performed by an operator. Here, the script may be a code provided for verifying the validity of data or whether or not a pre-set target quality is met for a pre-executed annotation work result.

본 발명의 다른 실시예에 따르면, 입력 제한 패턴은 제3 작업자들에 의해 수행된 어노테이션 작업 결과물에 대한 검증을 수행한 결과를 기초로 설정될 수도 있다. 여기서, 제3 작업자들은 질의 데이터를 전송한 어노테이션 장치의 어노테이션 작업이 연유된 프로젝트와 동일한 프로젝트로부터 어노테이션 작업을 할당 받은 자를 의미한다.According to another embodiment of the present invention, the input restriction pattern may be set based on a result of verifying annotation work results performed by third workers. Here, the third workers refer to persons who have been allocated annotation work from the same project as the project in which the annotation work of the annotation device transmitting the query data is derived.

일 예로, 식별된 작업의 진행 상태가 이미지의 로딩 과정에 해당되는 경우, 품질 관리부는 사전에 설정된 인공지능(AI) 학습과 관련된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성에 따라 이미지 속에 포함될 수 없을 것으로 예측되는 객체의 유형을 결정할 수 있다. 품질 관리부는 결정된 유형의 객체만을 위한 툴과 관련된 제어 신호를 입력 제한 패턴에 포함시킬 수 있다.For example, if the progress of the identified work corresponds to the image loading process, the quality control unit may be included in the image according to the attributes of a project related to artificial intelligence (AI) learning set in advance, the attributes of an image, or the attributes of a worker. You can determine the types of objects that are predicted to be absent. The quality management unit may include a control signal related to a tool for only objects of the determined type in the input limiting pattern.

다른 예로, 식별된 작업의 진행 상태가 작업자에 의한 툴 선택 과정에 해당되는 경우, 품질 관리부는 작업자로부터 제어 신호를 입력 받은 입출력 장치의 유형을 식별할 수 있다. 품질 관리부는 식별된 유형의 입출력 장치를 이용하여 제어할 수 없는 툴과 관련된 제어 신호를 입력 제한 패턴에 포함시킬 수 있다.As another example, when the progress state of the identified work corresponds to a process of selecting a tool by a worker, the quality control unit may identify the type of input/output device receiving a control signal from the worker. The quality control unit may include in the input limiting pattern control signals related to tools that cannot be controlled using the identified type of input/output device.

다른 예로, 식별된 작업의 진행 상태가 툴을 이용한 좌표 입력 과정에 해당되는 경우, 품질 관리부는 선택된 툴에 대응하여 사전에 설정된 툴의 사용 방법에 따라, 해당 툴로 좌표를 입력할 수 없는 영역에 관한 제어 신호를 입력 제한 패턴에 포함시킬 수 있다.As another example, when the progress state of the identified work corresponds to a process of inputting coordinates using a tool, the quality control unit relates to an area in which coordinates cannot be input with the corresponding tool according to a method of using a tool preset in correspondence with the selected tool. A control signal can be included in the input limiting pattern.

또 다른 예로, 식별된 작업의 진행 상태가 객체의 속성 정보의 입력 과정에 해당되는 경우, 품질 관리부는 작업자가 바운딩 박스를 설정하기 위하여 선택한 툴의 유형에 따라, 바운딩 박스에 의해 특정된 객체에게 할당될 수 없는 클래스의 유형을 식별할 수 있다. 구체적인 예로, 작업자가 바운딩 박스를 설정하기 위하여 선택한 툴이 스켈레톤 툴에 해당되는 경우, 품질 관리부는 스켈레톤 툴에 의해 특정될 수 없는 비생명체에 해당되는 클래스의 유형을 식별할 수 있다. 그리고, 품질 관리부는 식별된 클래스의 유형과 관련된 제어 신호를 입력 제한 패턴에 포함시킬 수 있다.As another example, when the progress state of the identified work corresponds to the process of inputting attribute information of an object, the quality management unit allocates the object specified by the bounding box according to the type of tool selected by the operator to set the bounding box. Can identify types of classes that cannot be As a specific example, when a tool selected by the operator to set the bounding box corresponds to a skeleton tool, the quality management unit may identify a type of class corresponding to a non-living body that cannot be specified by the skeleton tool. And, the quality management unit may include a control signal related to the type of the identified class in the input limiting pattern.

상술한 바와 같이 입력 제한 패턴이 결정되면, 품질 관리부는 입출력부의 사용자 인터페이스(UI)를 통해 작업자로부터 입력된 제어 신호 중에서 입력 제한 패턴에 대응되는 제어 신호를 제한할 수 있다. As described above, when the input limiting pattern is determined, the quality control unit may limit the control signal corresponding to the input limiting pattern among the control signals input from the operator through the user interface (UI) of the input/output unit.

본 발명의 일 실시예에 따르면, 품질 관리부는 작업자로부터 제어 신호를 입력 받기 위한 입출력부의 사용자 인터페이스(UI) 중에서 입력 제한 패턴에 대응하는 제어 신호를 입력 받을 수 있는 사용자 인터페이스(UI)만을 선택적으로 비활성화시킬 수 있다.According to one embodiment of the present invention, the quality control unit selectively disables only the user interface (UI) capable of receiving the control signal corresponding to the input restriction pattern among the user interfaces (UI) of the input/output unit for receiving the control signal from the operator. can make it

본 발명의 다른 실시예에 따르면, 품질 관리부는 입출력부의 사용자 인터페이스(UI)를 통해 작업자로부터 입력된 제어 신호 중에서 입력 제한 패턴에 대응하는 제어 신호를 무시할 수 있다. 품질 관리부는 입력 제한 패턴에 대응하여 작업자로부터 입력된 제어 신호를 누적 저장하여 제어 무시 데이터를 생성할 수 있다. 그리고, 품질 관리부는 생성된 제어 무시 데이터를 통신부를 통해 학습 데이터 설계 장치에 전송할 수 있다.According to another embodiment of the present invention, the quality control unit may ignore a control signal corresponding to an input restriction pattern among control signals input from an operator through a user interface (UI) of an input/output unit. The quality management unit may generate control disregard data by accumulating and storing control signals input from the operator in response to the input restriction pattern. And, the quality control unit may transmit the generated control disregard data to the learning data design device through the communication unit.

다음 구성으로, 결과물 생성부는 어노테이션의 작업 결과물을 생성하여, 학습 데이터 설계 장치에 전송할 수 있다. With the following configuration, the result generation unit may generate a work result of annotation and transmit it to the learning data design device.

구체적으로, 결과물 생성부는 어노테이션 작업부를 통해 설정된 바운딩 박스의 위치 및 크기에 따른 좌표와, 설정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성할 수 있다. 이와 같은, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Specifically, the result generation unit may generate an annotation work result including coordinates according to the location and size of the bounding box set through the annotation operation unit and set attribute information. Such a work result may have a JSON file format, but is not limited thereto.

그리고, 결과물 생성부는 생성된 어노테이션의 작업 결과물을 통신부를 통해 학습 데이터 설계 장치에 전송할 수 있다. In addition, the output generation unit may transmit the generated annotation work result to the learning data design device through the communication unit.

이하, 상술한 바와 같은 어노테이션 장치의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the above-described logical components of the annotation device will be described in more detail.

어노테이션 장치는 프로세서(Processor), 메모리(Memory), 송수신기(Transceiver), 입출력장치(Input/output device), 데이터 버스(Bus) 및 스토리지(Storage)를 포함하여 구성될 수 있다. The annotation device may include a processor, a memory, a transceiver, an input/output device, a data bus, and a storage.

프로세서는 메모리에 상주된 어노테이션 방법이 구현된 소프트웨어에 따른 명령어를 기초로, 어노테이션 장치의 동작 및 기능을 구현할 수 있다. 메모리에는 어노테이션 방법이 구현된 소프트웨어가 상주(loading)될 수 있다. 송수신기는 학습 데이터 설계 장치 및 인공지능 학습 장치와 데이터를 송수신할 수 있다. 입출력장치는 어노테이션 장치의 동작에 필요한 데이터를 입력 받고, 이미지, 응답 데이터 및 가이드 정보를 출력할 수 있다. 데이터 버스는 프로세서, 메모리, 송수신기, 입출력장치 및 스토리지와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor may implement operations and functions of the annotation device based on instructions according to software in which the annotation method resides in memory. Software in which the annotation method is implemented may be loaded in the memory. The transceiver may transmit and receive data to and from the learning data design device and the artificial intelligence learning device. The input/output device may receive data required for operation of the annotation device and output images, response data, and guide information. The data bus is connected to the processor, memory, transceiver, input/output device, and storage, and may serve as a movement path for transferring data between each component.

스토리지는 어노테이션 방법이 구현된 소프트웨어의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지는 어노테이션 방법이 구현된 소프트웨어를 저장할 수 있다. 또한, 스토리지는 어노테이션 방법의 수행에 필요한 정보들을 저장할 수 있다. 특히, 스토리지는 어노테이션 작업의 대상이 되는 이미지, 프로젝트 속성, 이미지의 속성 및 작업자의 속성 등을 저장하는 데이터베이스를 포함할 수 있다.The storage may store an application programming interface (API), a library file, a resource file, and the like required for execution of software in which the annotation method is implemented. The storage may store software in which the annotation method is implemented. Also, the storage may store information necessary for performing the annotation method. In particular, the storage may include a database for storing an image that is a target of annotation work, a project property, an image property, a worker property, and the like.

본 발명의 제1 실시예에 따르면, 메모리에 상주되거나 또는 스토리지에 저장된 소프트웨어(180a, 180b)는 프로세서가 인공지능(AI) 학습을 위한 어노테이션 작업 과정에서, 상기 입출력장치를 통해 작업자로부터 의문점이 존재함을 알리는 명령을 입력 받는 단계. 프로세서가 입력된 명령에 대응하여 질의 데이터를 생성하는 단계, 프로세서가 질의 데이터를 기초로 사전에 설정된 학습 데이터 설계 장치의 데이터베이스를 검색하는 단계, 및 프로세서가 데이터베이스로부터 검색된 응답 데이터를 상기 입출력장치를 통해 출력하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to the first embodiment of the present invention, the software (180a, 180b) resident in the memory or stored in the storage has a question from the operator through the input/output device during the process of annotation work for artificial intelligence (AI) learning by the processor. A step of receiving a command indicating that The process of generating query data in response to an input command, the process of searching a database of a previously set learning data design device based on the query data, and the process of processing the searched response data from the database through the input/output device. It may be a computer program recorded on a recording medium to execute the outputting step.

본 발명의 제2 실시예에 따르면, 메모리에 상주되거나 또는 스토리지에 저장된 소프트웨어는 프로세서가 인공지능(AI) 학습을 위한 어노테이션 작업 과정에서 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별하는 단계, 프로세서가 식별된 작업의 진행 상태를 기초로 입력 제한 패턴을 결정하는 단계, 및 프로세서가 입출력장치를 통해 작업자로부터 입력된 제어 신호 중에서 입력 제한 패턴에 대응하는 제어 신호를 제한하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수도 있다.According to the second embodiment of the present invention, software residing in memory or stored in storage identifies the progress state of a task according to the type of a control signal input from an operator during an annotation task process for artificial intelligence (AI) learning by a processor. The step of determining an input restriction pattern based on the progress state of the identified task by the processor, and the step of the processor limiting the control signal corresponding to the input restriction pattern among the control signals input from the operator through the input/output device. It may be a computer program recorded on a recording medium to do so.

보다 구체적으로, 프로세서는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor may include an Application-Specific Integrated Circuit (ASIC), other chipsets, logic circuits, and/or data processing devices. The memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and/or other storage devices. The transceiver may include a baseband circuit for processing wired/wireless signals. Input/output devices include input devices such as keyboards, mice, and/or joysticks, liquid crystal displays (LCDs), organic LEDs (OLEDs), and/or active organic An image output device such as an active matrix OLED (AMOLED) or the like may include a printing device such as a printer or a plotter.

본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 상주되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다.When the embodiments included in this specification are implemented as software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described functions. A module resides in memory and can be executed by a processor. The memory may be internal or external to the processor and may be coupled with the processor in a variety of well-known means.

각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component may be implemented by various means, eg, hardware, firmware, software, or a combination thereof. In the case of hardware implementation, one embodiment of the present invention includes one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), FPGAs ( Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, etc.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored on a recording medium readable through various computer means. can be recorded. Here, the recording medium may include program commands, data files, data structures, etc. alone or in combination. Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks), floptical It includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, such as a floptical disk, and ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler. These hardware devices may be configured to operate as one or more pieces of software to perform the operations of the present invention, and vice versa.

이하, 지금까지 상술한 바와 같은 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.Hereinafter, features of the artificial intelligence learning system according to various embodiments of the present invention as described above will be described in detail with reference to the drawings.

본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치는 작업자가 어노테이션 작업이 이루어지는 과정에서 가지게 되는 의문에 대하여 효율적으로 응답을 제공할 수 있다.An annotation device of an artificial intelligence learning system according to an embodiment of the present invention can efficiently provide answers to questions that a worker has in the process of performing an annotation task.

보다 구체적으로, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치는 사용자 인터페이스를 통해 작업자로부터 의문점이 존재함을 알리는 명령을 입력 받을 수 있다.More specifically, the annotation device of the artificial intelligence learning system according to an embodiment of the present invention may receive a command notifying that a doubt exists from an operator through a user interface.

예를 들어, 어노테이션 장치는 사용자 인터페이스에 포함된 버튼 아이콘을 통해 작업자로부터 의문점이 존재함을 알리는 명령을 입력 받을 수 있으나, 이에 한정되는 것은 아니다.For example, the annotation device may receive a command notifying that a question mark exists from an operator through a button icon included in a user interface, but is not limited thereto.

어노테이션 장치는 작업자로부터 입력된 의문점이 존재함을 알리는 명령에 대응하여 질의 데이터를 생성할 수 있다. 이를 위하여, 어노테이션 장치는 팝업 창(popup window)를 출력하고, 출력된 팝업 창을 통해 작업자로부터 키워드와 컨텐츠를 입력 받을 수 있다. 이와 다르게, 어노테이션 장치는 작업자로부터 오직 컨텐츠만을 입력 받고, 키워드는 자동으로 결정할 수 있다.The annotation device may generate query data in response to a command input from an operator notifying that a question mark exists. To this end, the annotation device may output a popup window and receive input of keywords and content from an operator through the outputted popup window. Alternatively, the annotation device may receive only content input from an operator and automatically determine keywords.

보다 상세하게, 어노테이션 장치는 어노테이션 작업 과정에서 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별할 수 있다. 여기서, 어노테이션 작업 과정은 어노테이션 작업의 대상이 되는 이미지의 로딩 과정, 작업자에 의한 툴의 선택 과정, 툴을 이용한 좌표의 입력 과정, 좌표에 의한 바운딩 박스의 설정 과정, 바운딩 박스에 의해 특정된 객체의 속성 정보 입력 과정을 포함하여 구분될 수 있다. 그리고, 어노테이션 장치는 식별된 작업의 진행 상태를 기초로 하나의 키워드를 결정할 수 있다.More specifically, the annotation device may identify the progress state of the work according to the type of the control signal input from the operator during the annotation work process. Here, the annotation work process is a process of loading an image to be annotated, a process of selecting a tool by an operator, a process of inputting coordinates using a tool, a process of setting a bounding box by coordinates, and a process of setting an object specified by the bounding box. It can be distinguished by including the attribute information input process. And, the annotation device may determine one keyword based on the progress state of the identified task.

키워드가 입력 또는 결정되면, 어노테이션 장치는 상황 데이터를 결정할 수 있다.Once keywords are entered or determined, the annotation device can determine contextual data.

본 발명의 일 실시예에 따르면, 어노테이션 장치는 어노테이션 작업의 대상이 되는 이미지의 정보, 툴을 이용하여 입력된 좌표 정보, 객체의 속성 정보를 중 하나 이상을 더 포함시켜 상황 데이터를 결정할 수 있다. According to an embodiment of the present invention, the annotation device may determine context data by further including one or more of information of an image to be annotated, coordinate information input using a tool, and property information of an object.

본 발명의 다른 실시예에 따르면, 어노테이션 장치는 이벤트의 발생 시각의 선후에 따라 연결된 하나 이상의 이벤트 메시지를 포함하여 상황 데이터를 결정할 수 있다. According to another embodiment of the present invention, the annotation device may determine context data including one or more event messages connected according to the occurrence time of the event.

이를 위하여, 어노테이션 장치의 운영체제는 이벤트를 감지하고, 발생된 이벤트에 따라 데이터를 처리하거나 동작을 수행하는 이벤트 드리븐 아키텍쳐 방식의 운영체제에 해당될 수 있다. 그리고, 이벤트 메시지는 어노테이션 장치의 운영체제에 의해 관리되는 메시지 큐로부터 선택적으로 추출된, 작업자의 입출력장치 제어에 의해 발생된 시스템 메시지에 해당될 수 있다.To this end, the operating system of the annotation device may correspond to an operating system of an event-driven architecture that senses an event and processes data or performs an operation according to the generated event. Also, the event message may correspond to a system message selectively extracted from a message queue managed by the operating system of the annotation device and generated by controlling the input/output device of the operator.

본 발명의 또 다른 실시예에 다르면, 어노테이션 장치는 캡쳐 시각의 선후에 따라 연결된 하나 이상의 캡쳐 이미지를 포함하여 상황 데이터를 결정할 수 있다. 여기서, 캡쳐 이미지는 어노테이션 작업 과정의 각 과정마다, 사전에 설정된 캡쳐 주기에 따라 어노테이션 장치의 입출력 장치에 의해 출력되는 화면을 캡쳐한 이미지에 해당될 수 있다.According to another embodiment of the present invention, the annotation device may determine situational data including one or more captured images connected according to the sequence of capture time. Here, the captured image may correspond to an image obtained by capturing a screen output by an input/output device of an annotation device according to a previously set capture cycle for each process of the annotation work process.

그리고, 어노테이션 장치는 입력된 컨텐츠, 입력 또는 결정된 키워드 및 결정된 상황 데이터를 포함시켜 질의 데이터를 생성할 수 있다.In addition, the annotation device may generate query data by including the input content, the input or determined keyword, and the determined situation data.

어노테이션 장치는 생성된 질의 데이터를 기초로, 학습 데이터 설계 장치의 데이터베이스를 검색할 수 있다. 이와 같이, 학습 데이터 설계 장치의 데이터베이스를 검색함에 있어, 어노테이션 장치는 제3 작업자들의 질의에 대응하기 위하여 작성된 응답 데이터 중에서 질의 데이터의 키워드가 매칭되는 응답 데이터를 검색할 수 있다. 또는, 어노테이션 장치는 제3 프로젝트를 위한 어노테이션 작업 과정에서 작성된 응답 데이터 중에서 질의 데이터의 키워드가 매칭되는 응답 데이터를 검색할 수 있다.The annotation device may search the database of the learning data design device based on the generated query data. In this way, when searching the database of the learning data design device, the annotation device may search for response data matching keywords of the query data among response data created to respond to the query of the third workers. Alternatively, the annotation device may search for response data matching keywords of the query data among response data created in the annotation process for the third project.

여기서, 제3 작업자들은 질의 데이터를 전송한 어노테이션 장치의 어노테이션 작업이 연유된 프로젝트와 동일한 프로젝트로부터 어노테이션 작업을 할당 받은 자를 의미한다. 그리고, 제3 프로젝트는 어노테이션 장치의 어노테이션 작업 결과물을 기초로 인공지능(AI)을 학습시켜 이미지로부터 검출하고자 하는 클래스의 유형과 동일한 유형의 클래스를 이미지로부터 검출하기 위한 프로젝트를 의미한다.Here, the third workers refer to persons who have been allocated annotation work from the same project as the project in which the annotation work of the annotation device transmitting the query data is derived. And, the third project refers to a project for detecting a class of the same type as a class to be detected from an image by learning artificial intelligence (AI) based on the annotation work result of the annotation device.

그리고, 어노테이션 장치는 학습 데이터 검색 장치의 데이터베이스로부터 검색된 응답 데이터를 사용자 인터페이스를 통해 출력할 수 있다.Also, the annotation device may output response data retrieved from the database of the learning data search device through a user interface.

따라서, 본 발명의 일 실시예에 따른 인공지능(AI) 학습 시스템은 작업자들이 인공지능(AI) 학습을 위한 다수의 이미지에 대하여 어노테이션 작업을 수행하는 과정에서 가지게 되는 의문 사항에 대하여, 다른 작업자의 질의응답이 누적 저장된 데이터베이스를 통해 자동 응답함으로써, 관리지가 직접 답변해야 하는 응답의 수를 감소시킬 수 있다. Therefore, the artificial intelligence (AI) learning system according to an embodiment of the present invention addresses questions that workers have in the process of performing annotation work on a plurality of images for AI learning, and other workers' By automatically responding through a database in which questions and answers are accumulated, the number of responses that the manager has to answer directly can be reduced.

즉, 본 발명의 일 실시예에 따르면, 작업자들이 가지게 되는 의문에 대한 질의응답(Question and Answer, Q&A)을 자주 묻는 질문들(Frequently Asked Questions, FAQ)과 같이 처리할 수 있게 된다.That is, according to an embodiment of the present invention, Q&A for questions that workers have can be processed like Frequently Asked Questions (FAQ).

또한, 본 발명의 일 실시예에 따른 인공지능(AI) 학습 시스템은 리뷰어의 리뷰 결과 부적합일 경우, Missing point를 지적할 수 있으며, 이 과정에서 리뷰어의 지적사항 뿐만 아니라 저장소에서 유사 데이터를 선별하여 자연어 처리를 하고 채팅 시스템을 통해 틀린 이슈에 대해서 사용자에게 추가 정보를 제공할 수 있다In addition, the artificial intelligence (AI) learning system according to an embodiment of the present invention can point out a missing point if the reviewer's review results are inappropriate, and in this process, it selects similar data from the repository as well as the reviewer's points It can do natural language processing and provide additional information to the user about wrong issues through a chat system.

구체적으로, Reject하는 경우, Reject 사유를 commentary로 전달할 수 있고, commentary를 전달했는데도 재작업 후에도 Reject 사유가 있는 경우, 사용자가 commentary를 이해 못했거나, 추가적인 설명이 필요한 경우인 것으로 볼 수 있기 때문에, 오류가 나와서 피드백을 줬을 때 리뷰어가 오류들을 간단하게 포인트만 잡아내서 반려 처리를 하면, 저장소에서 유사 데이터를 선별하고 자연어 기반의 AI가 개입을 하여 오류 부분에 대한 부가적인 설명을 추가하고 채팅 시스템을 통해 작업자한테 정확한 설명을 제공할 수 있다.Specifically, in case of rejection, the reason for rejection can be delivered as a commentary, and if there is a reason for rejection even after reworking after passing the commentary, it can be regarded as a case where the user did not understand the commentary or additional explanation is needed, so it is an error comes out and gives feedback, the reviewer simply catches the points for errors and rejects them, selects similar data from the storage, and natural language-based AI intervenes to add additional explanations about the errors and chat through the chat system. You can provide an accurate explanation to the operator.

또한, 또한, 본 발명의 일 실시예에 따른 인공지능(AI) 학습 시스템은 작업자가 문의를 할 경우, 저장소에서 유사한 Missing point를 판단하고 찾아서 답변을 수행할 수 있다.In addition, the artificial intelligence (AI) learning system according to an embodiment of the present invention can perform an answer by determining and finding a similar missing point in the storage when an operator makes an inquiry.

구체적으로, 채팅 시스템의 경우, 시간이 어느 정도 지나면 작업자들의 질문이 쌓이게 되고, 쌓인 질문의 빈도수와 질문 유형 패턴을 분석하여 자동으로 작업자에게 답변을 제공할 수 있다.Specifically, in the case of a chatting system, workers' questions accumulate after a certain amount of time, and answers can be automatically provided to workers by analyzing the frequency and question type patterns of the accumulated questions.

저장소에서 제공하는 정보는 작업에 대한 리뷰어의 피드백, 사용자들의 질문, 질문에 대한 답변을 포함한다.Information provided by the repository includes reviewers' feedback on work, questions from users, and answers to questions.

그리고 답변 시 유사 작업의 이미지도 함께 제공할 수 있으며, 저장소에서 유사 데이터를 선별하고 적절한 답변과 commentary를 추출을 하고 자연어 변환을 통해서 채팅 시스템을 통해서 제공이 가능하다.Also, images of similar tasks can be provided when answering, and similar data can be selected from storage, appropriate answers and commentaries can be extracted, and provided through a chat system through natural language conversion.

저장소에서 유사 데이터를 선별하여 제공하는 경우, 텍스트 정보(기존 피드백, 질문, 답변) 뿐만 아니라, 유사데이터에서 확보된 작업 이미지를 함께 제공할 수 있으며, 저장소에서 유사 데이터를 선별함에 있어서, 피드백 또는 질문의 키워드 검색뿐만 아니라 이미지의 유사도를 기초로 데이터를 사용자에게 제공할 데이터를 선별할 수 있다.In the case of selecting and providing similar data from the repository, not only text information (existing feedback, questions, and answers), but also work images obtained from similar data can be provided, and in selecting similar data from the repository, feedback or question Data to be provided to the user can be selected based on the similarity of the image as well as the keyword search of the image.

리뷰어가 피드백을 할 때는, 특정한 오브젝트에서 그 부분을 하이라이트 하는 등 이미지 정보를 함께 제공할 수 있으며, 오류 부분을 시각적(이미지에서)으로 표현하여 텍스트와 함께 제공할 수 있다.When the reviewer gives feedback, image information such as highlighting the part in a specific object can be provided together, and the error part can be visually expressed (in the image) and provided along with text.

지금까지 상술한 바와 같은, 어노테이션 리뷰 피드백 제공 방법은 작업자가 어노테이션 작업을 수행하는 과정에서 병렬적으로 수행될 수 있다.As described above, the annotation review feedback providing method may be performed in parallel while a worker performs an annotation task.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.As described above, although preferred embodiments of the present invention have been disclosed in the present specification and drawings, it is in the technical field to which the present invention belongs that other modified examples based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein. It is self-evident to those skilled in the art. In addition, although specific terms have been used in the present specification and drawings, they are only used in a general sense to easily explain the technical content of the present invention and help understanding of the present invention, but are not intended to limit the scope of the present invention. Accordingly, the foregoing detailed description should not be construed as limiting in all respects and should be considered illustrative. The scope of the present invention should be selected by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (5)

어노테이션 장치가, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업 과정에서, 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 의문점이 존재함을 알리는 명령을 입력 받는 단계;
상기 어노테이션 장치가, 상기 입력된 명령에 대응하여 질의 데이터를 생성하는 단계;
상기 어노테이션 장치가, 상기 질의 데이터를 기초로 사전에 설정된 학습 데이터 설계 장치의 데이터베이스를 검색하는 단계; 및
상기 어노테이션 장치가, 상기 데이터베이스로부터 검색된 응답 데이터를 자연어로 변환하여 채팅부를 통해 상기 작업자에게 제공하는 단계;를 포함하는, 어노테이션 리뷰 피드백 제공 방법.
Annotation device, in the process of annotation (annotation) for artificial intelligence (Artificial Intelligence, AI) learning, through a user interface (User Interface, UI) step of receiving a command notifying the existence of a question mark from the operator;
generating, by the annotation device, query data in response to the input command;
Searching, by the annotation device, a database of previously set learning data design devices based on the query data; and
The method of providing annotation review feedback comprising: converting, by the annotation device, response data retrieved from the database into natural language and providing the result to the operator through a chatting unit.
제1항에 있어서,
상기 어노테이션 장치는,
상기 작업로부터 입력된 의문점이 동일 사유에 대한 의문점인 것으로 판단하면, 데이터베이스를 검색하는 단계에서 상기 어노테이션 작업에 대한 기초사용법을 추가적으로 검색하는 것을 특징으로 하는, 어노테이션 리뷰 피드백 제공 방법.
According to claim 1,
The annotation device,
If it is determined that the question input from the task is a question for the same reason, in the step of searching the database, a basic usage method for the annotation task is additionally searched.
제1항에 있어서,
상기 데이터베이스를 검색하는 단계는,
상기 채팅부에 누적되어 존재하는 작업자들의 의문점을 검색하고,
상기 작업자에게 제공하는 단계는,
상기 입력받는 의문점과 관련하여, 질문 빈도수와 질문 유형 패턴을 분석하여 응답 데이터를 제공하는 것을 특징으로 하는, 어노테이션 리뷰 피드백 제공 방법.
According to claim 1,
The step of searching the database is,
Retrieve questions of workers accumulated in the chatting unit;
The step of providing the worker,
A method for providing feedback for annotation review, characterized in that providing response data by analyzing question frequency and question type patterns in relation to the input questions.
제3항에 있어서,
상기 데이터베이스를 검색하는 단계는,
어노테이션 작업 대상이 되는 이미지에 대한 유사도를 검색하고,
상기 작업자에게 제공하는 단계는,
상기 이미지에 하이라이트를 표시하여 응답 데이터로 제공하는 것을 특징으로 하는, 어노테이션 리뷰 피드백 제공 방법.
According to claim 3,
The step of searching the database is,
Retrieve the similarity of the image to be annotated,
The step of providing the worker,
A method of providing feedback for annotation reviews, characterized in that a highlight is displayed on the image and provided as response data.
메모리(memory);
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업 과정에서, 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 의문점이 존재함을 알리는 명령을 입력 받는 단계;
상기 프로세서가, 상기 입력된 명령에 대응하여 질의 데이터를 생성하는 단계;
상기 프로세서가, 상기 질의 데이터를 기초로 사전에 설정된 학습 데이터 설계 장치의 데이터베이스를 검색하는 단계; 및
상기 프로세서가, 상기 데이터베이스로부터 검색된 응답 데이터를 자연어로 변환하여 채팅부를 통해 상기 작업자에게 제공하는 단계;를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램.
memory;
transceiver; and
In combination with a computing device configured to include a processor for processing instructions resident in the memory,
Receiving, by the processor, a command notifying that a question exists from an operator through a user interface (UI) in an annotation work process for artificial intelligence (AI) learning;
generating, by the processor, query data in response to the input command;
searching, by the processor, a database of previously set learning data design devices based on the query data; and
The processor converts the response data retrieved from the database into natural language and provides it to the worker through a chatting unit; a computer program recorded on a recording medium to execute.
KR1020210136609A 2021-10-14 2021-10-14 Method of providing annotation review feedback and a computer program recorded on a recording medium to execute the method KR20230053263A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210136609A KR20230053263A (en) 2021-10-14 2021-10-14 Method of providing annotation review feedback and a computer program recorded on a recording medium to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210136609A KR20230053263A (en) 2021-10-14 2021-10-14 Method of providing annotation review feedback and a computer program recorded on a recording medium to execute the method

Publications (1)

Publication Number Publication Date
KR20230053263A true KR20230053263A (en) 2023-04-21

Family

ID=86098427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210136609A KR20230053263A (en) 2021-10-14 2021-10-14 Method of providing annotation review feedback and a computer program recorded on a recording medium to execute the method

Country Status (1)

Country Link
KR (1) KR20230053263A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200042629A (en) 2018-10-16 2020-04-24 주식회사 키센스 Method for generating annotation and image based on touch of mobile device to learn artificial intelligence and apparatus therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200042629A (en) 2018-10-16 2020-04-24 주식회사 키센스 Method for generating annotation and image based on touch of mobile device to learn artificial intelligence and apparatus therefor

Similar Documents

Publication Publication Date Title
CN110837403B (en) Robot process automation
WO2020029689A1 (en) Data processing model construction method and device, server and client
KR102310591B1 (en) Method for controlling annotation work, and computer program recorded on record-medium for executing method therefor
US8503769B2 (en) Matching text to images
KR102310585B1 (en) Annotation method of assigning object simply, and computer program recorded on record-medium for executing method thereof
KR102356909B1 (en) Annotation method of assigning object and setting object properties for learning data of artificial intelligence, and computer program recorded on record-medium for executing method thereof
JP6489005B2 (en) Information processing system, information processing method, and program
AU2022305355A1 (en) Ai-augmented auditing platform including techniques for automated document processing
US20110099498A1 (en) Graphical user interface hierarchy generation
KR102433002B1 (en) Annotation method through multiple binding box selection and a computer program recorded on a recording medium to execute the same
KR102310595B1 (en) Annotation method of setting object properties using proposed information, and computer program recorded on record-medium for executing method thereof
KR102343043B1 (en) Annotation method capable of change of working condition simultaneously, and computer program recorded on record-medium for executing method thereof
KR102310592B1 (en) Annotation method capable of guiding change of working regulation, and computer program recorded on record-medium for executing method thereof
US9495275B2 (en) System and computer program product for deriving intelligence from activity logs
KR102343044B1 (en) Method for controlling annotation work and question, and computer program recorded on record-medium for executing method therefor
KR102310597B1 (en) Method for providing of question and answer, and computer program recorded on record-medium for executing method therefor
US9454455B2 (en) Method for deriving intelligence from activity logs
KR102439429B1 (en) Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the annotation method
KR20230053263A (en) Method of providing annotation review feedback and a computer program recorded on a recording medium to execute the method
EP3992923A2 (en) System and method for identifying non-standard user interface object
KR102343045B1 (en) Method for predicting and managing of works, and computer program recorded on record-medium for executing method therefor
KR20230053274A (en) A method of designating an object through an additional or subtraction operation of a detected area and a computer program recorded on a recording medium to execute the same
KR20230053273A (en) The method of designating an object area using a central point and detecting an object, and a computer program recorded on a recording medium to execute the method
KR102343036B1 (en) Annotation method capable of providing working guides, and computer program recorded on record-medium for executing method thereof
KR20230053275A (en) Method of designating an object area and detecting an object, and a computer program recorded on a recording medium to execute the same